.simulation-gsea{min-width:0}.simulation-gsea-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;display:grid}.simulation-gsea-tabs button{text-align:left;overflow-wrap:anywhere;min-width:0;font-size:var(--fs-sm);padding:10px 12px;font-weight:700}.simulation-gsea-tabs button small{color:var(--muted);margin-bottom:3px;font-weight:500;display:block}.simulation-gsea-tabs button[aria-pressed=true]{color:#fff;background:var(--green);border-color:var(--green)}.simulation-gsea-tabs button[aria-pressed=true] small{color:#cfe2d8}.simulation-gsea-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.simulation-gsea-summary>div{background:var(--surface);border-radius:8px;padding:12px}.simulation-gsea-summary span{color:var(--muted);font-size:var(--fs-xs);margin-bottom:2px;display:block}.simulation-gsea-summary strong{font-variant-numeric:tabular-nums;font-size:19px;line-height:1.3}.simulation-gsea-method{border:1px solid var(--line);background:var(--paper);font-size:var(--fs-md);border-radius:8px;margin:12px 0 4px;padding:0 16px}.simulation-gsea-method summary{min-height:44px;color:var(--green);cursor:pointer;align-items:center;font-weight:600;display:flex}.simulation-gsea-method p{max-width:var(--measure);margin:0 0 12px;line-height:1.85}.simulation-gsea-legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:8px 0 0;display:flex}.simulation-gsea-legend span{align-items:center;gap:7px;display:inline-flex}.simulation-gsea-legend i{background:#5a7165;width:4px;height:16px;display:inline-block}.simulation-gsea-legend .gsea-legend-core{background:#b76b35}.simulation-gsea-chart{touch-action:pan-y;width:100%;margin:12px 0 0;display:block}.simulation-gsea-chart text{fill:var(--ink);font-size:11px}.simulation-gsea-ends{color:var(--muted);font-size:var(--fs-xs);justify-content:space-between;gap:8px;display:flex}.simulation-gsea-gene-heading{margin:28px 0 12px}.simulation-gsea-gene-heading h4{margin:0 0 4px;font-size:18px}.simulation-gsea-controls{flex-wrap:wrap;align-items:end;gap:12px 24px;display:flex}.simulation-gsea-controls label{font-size:var(--fs-sm);align-items:center;gap:8px;display:inline-flex}.simulation-gsea-controls input[type=search]{width:190px;min-height:40px;padding:6px 10px}.simulation-gsea-controls input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.simulation-gsea-result-count{font-size:var(--fs-sm);color:var(--muted);margin:10px 0 6px}.simulation-gsea-gene-list{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:320px;padding:3px;display:grid;overflow:auto}.simulation-gsea-gene-list button{text-align:left;min-width:0;font-size:var(--fs-sm);flex-wrap:wrap;align-items:baseline;gap:3px 7px;padding:8px 10px;display:flex}.simulation-gsea-gene-list button strong{overflow-wrap:anywhere}.simulation-gsea-gene-list button span{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.simulation-gsea-gene-list button em{width:100%;font-style:normal;font-size:var(--fs-xs);color:var(--orange-text)}.simulation-gsea-gene-list button[aria-pressed=true]{border-color:var(--green);background:var(--green-tint)}.simulation-gsea-selected{background:var(--green-tint);font-size:var(--fs-sm);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:12px;padding:12px 16px;display:flex}.simulation-gsea-selected strong{color:var(--green);font-size:18px}@media (width<=760px){.simulation-gsea-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-gsea-summary>div:last-child{grid-column:span 2}.simulation-gsea-gene-list{grid-template-columns:repeat(2,minmax(0,1fr))}.simulation-gsea-ends span:nth-child(2){display:none}}@media (width<=500px){.simulation-gsea-tabs{grid-template-columns:1fr}.simulation-gsea-tabs button small{margin:0 8px 0 0;display:inline}.simulation-gsea-gene-list{grid-template-columns:1fr}.simulation-gsea-summary strong{font-size:16px}}.analysis-simulation{margin-top:0}.simulation-toolbar,.simulation-terminal-bar,.simulation-terminal-actions,.simulation-output-heading,.simulation-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.simulation-toolbar{justify-content:flex-end}.simulation-target-note{color:var(--muted);font-size:var(--fs-xs);margin:4px 0 12px}.lesson-body .simulation-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 20px;padding:0;list-style:none;display:grid}.lesson-body .simulation-steps li{margin:0}.simulation-steps button{text-align:left;width:100%;height:100%;font-size:var(--fs-md);flex-direction:column;align-items:flex-start;gap:4px;padding:12px;line-height:1.45;display:flex}.simulation-steps button span{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.simulation-steps button:disabled{opacity:1;color:#8b968d;background:0 0;border-style:dashed}.simulation-steps button:disabled span{color:#a0aaa2}.simulation-steps button[aria-current=step]{background:var(--green);color:#fff;border-color:var(--green)}.simulation-steps button[aria-current=step] span{color:#cfe2d8}.simulation-workspace{border:1px solid var(--line);background:var(--paper);border-radius:12px;scroll-margin-top:16px;overflow:hidden}.simulation-step-heading{padding:24px 28px 0}.simulation-step-heading>span{color:var(--green);font-size:var(--fs-xs);letter-spacing:.08em;font-weight:700}.simulation-step-heading h2{color:var(--ink);margin:6px 0 10px;font-size:24px;line-height:1.5}.simulation-step-heading h2:last-child{margin-bottom:20px}.simulation-step-heading h2:focus{outline:none}.simulation-step-heading h2:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:2px}.simulation-step-heading p{max-width:var(--measure);margin-bottom:20px}.simulation-terminal{color:#edf4ed;background:#182c26;border-radius:8px;margin:0 28px;overflow:hidden}.simulation-terminal-bar{font-size:var(--fs-xs);color:#bed3c8;letter-spacing:.06em;background:#223c32;padding:8px 16px;font-weight:700}.simulation-terminal pre{white-space:pre;line-height:1.8;font-size:var(--fs-sm);margin:0;padding:18px 16px;overflow-x:auto}.simulation-terminal pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.simulation-terminal pre:focus-visible{outline-offset:-3px}.simulation-terminal-actions{font-size:var(--fs-sm);color:#bed3c8;border-top:1px solid #395146;justify-content:flex-end;padding:10px 16px}.simulation-terminal-check{color:#dcebcf;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:30px;font-weight:700;display:inline-flex}.simulation-terminal-actions button.primary{color:#173d30;background:#dcebcf;border-color:#dcebcf}.simulation-terminal-actions button.primary:hover:not(:disabled){color:#173d30;background:#c6ddb4;border-color:#c6ddb4}.simulation-terminal :focus-visible{outline-color:#f0c38f}.simulation-script{border-top:1px solid #395146}.simulation-script summary{min-height:44px;font-size:var(--fs-sm);color:#bed3c8;cursor:pointer;align-items:center;padding:0 16px;display:flex}.simulation-script summary:hover{color:#edf4ed}.simulation-script pre{max-height:420px;font-size:var(--fs-xs);background:#13241f;border-top:1px solid #395146;line-height:1.7}.simulation-output{margin:28px}.simulation-output-heading{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:10px}.simulation-output-heading h3{color:var(--ink);margin:0;font-size:18px}.simulation-output-heading>span{font-size:var(--fs-xs);color:var(--green);font-weight:700}.simulation-output>p{max-width:var(--measure)}.simulation-output .table-scroll{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 20px}.simulation-output .count-table{max-height:440px}.simulation-output table{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;width:100%}.simulation-output caption{background:var(--paper);padding:10px 12px}.simulation-output th,.simulation-output td{white-space:nowrap;padding:8px 12px}.simulation-output td{text-align:right}.simulation-output th:first-child{text-align:left}.simulation-output tbody th button{min-height:36px;font-size:var(--fs-sm);padding:4px 12px}.simulation-selected{background:var(--green-tint)}.simulation-selected th{box-shadow:inset 3px 0 var(--green)}.simulation-selected button{color:var(--green);border-color:var(--green)}.condition-tag{background:var(--green-tint);color:var(--green);border-radius:999px;padding:2px 10px;font-weight:600;display:inline-block}.condition-tag.treat{color:var(--orange-text);background:var(--orange-tint)}.simulation-downloads{font-size:var(--fs-md);flex-wrap:wrap;gap:8px 20px;margin-top:16px;display:flex}.simulation-downloads a{align-items:center;min-height:32px;display:inline-flex}.simulation-downloads button{font-size:var(--fs-sm);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.simulation-downloads button svg{flex:none;width:1em;height:1em}.simulation-pages{font-size:var(--fs-sm);justify-content:center;align-items:center;gap:14px;margin:4px 0 20px;display:flex}.simulation-pages button{min-width:72px;font-size:var(--fs-sm);padding:6px 10px}.simulation-thresholds{background:var(--surface);font-size:var(--fs-md);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:16px;padding:12px 16px;display:flex}.simulation-thresholds label{align-items:center;gap:8px;min-height:44px;display:flex}.simulation-thresholds select{min-height:40px;padding:4px 28px 4px 10px}.simulation-plot-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin-bottom:6px;display:flex}.simulation-plot-toolbar button{font-size:var(--fs-sm);white-space:nowrap;padding:5px 12px}.simulation-plot-legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.simulation-plot-legend span{align-items:center;gap:6px;display:inline-flex}.simulation-key{border-radius:50%;width:9px;height:9px;display:inline-block}.simulation-key-decrease{background:#2c6b89}.simulation-key-increase{background:#a86130}.simulation-key-other{opacity:.55;background:#65776c}.simulation-volcano{cursor:crosshair;width:100%;margin:8px 0 0;display:block}.simulation-volcano text{fill:var(--ink);font-size:12px}.simulation-volcano.compact-chart text{font-size:13px}.simulation-dot{pointer-events:none}.simulation-dot-other{fill:#65776c;opacity:.28}.simulation-dot-decrease{fill:#2c6b89;opacity:.8}.simulation-dot-increase{fill:#a86130;opacity:.8}.simulation-selected-point{fill:none;stroke:var(--ink);stroke-width:2.5px;pointer-events:none}.simulation-volcano+.caption{margin-bottom:20px!important}.simulation-gene{background:var(--surface);border-radius:8px;margin-top:20px;padding:18px 20px}.simulation-gene h3{color:var(--ink);margin:0 0 4px;font-size:17px}.simulation-gene p{font-size:var(--fs-sm);color:var(--muted);margin:0 0 12px}.simulation-bars>div{font-size:var(--fs-sm);grid-template-columns:minmax(0,144px) minmax(0,1fr) 52px;align-items:center;gap:12px;margin:8px 0;display:grid}.simulation-bars strong{text-align:right;font-variant-numeric:tabular-nums}.simulation-bar-track{background:#e1e7dc;border-radius:2px;height:14px;overflow:hidden}.simulation-bar-track i{height:100%;display:block}.simulation-footer{border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted);background:#f8f8f2;justify-content:flex-end;margin-top:28px;padding:16px 28px}.simulation-toolbar{justify-content:space-between;position:relative}.simulation-about{align-items:center;gap:6px;display:flex}.simulation-method summary{border:1px solid var(--line-strong);background:var(--paper);width:24px;height:24px;color:var(--muted);font-size:var(--fs-xs);cursor:pointer;border-radius:50%;place-items:center;font-weight:700;line-height:1;display:grid}.simulation-method summary:before{content:none}.simulation-method summary:hover,.simulation-method[open] summary{border-color:var(--green);color:var(--green)}.simulation-method-panel{z-index:10;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);max-width:40rem;max-height:min(70vh,32rem);color:var(--text);font-size:var(--fs-md);padding:4px 20px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #213a2f24}.simulation-method-panel p{line-height:1.85}@media (width<=760px){.lesson-body .simulation-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.simulation-steps button{font-size:var(--fs-sm);flex-direction:row;align-items:baseline;gap:8px;padding:10px 12px}.simulation-step-heading{padding:20px 16px 0}.simulation-step-heading h2{font-size:21px}.simulation-terminal{margin:0 16px}.simulation-terminal pre{font-size:var(--fs-xs);padding:14px}.simulation-output{margin:24px 16px}.simulation-thresholds{gap:0 16px;padding:8px 12px}.simulation-gene{padding:14px}.simulation-footer{padding:14px 16px}.simulation-footer button{width:100%}.simulation-bars>div{grid-template-columns:minmax(0,118px) minmax(0,1fr) 44px;gap:8px}.simulation-method-panel{padding:2px 16px}}
