.eye-lab,.genetics{padding:34px 0 58px}.lab-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.lab-heading .eyebrow{margin:0 0 8px;font-size:.75rem}.lab-heading h2{font-size:2.4rem;letter-spacing:-.04em}.lab-heading>p{margin:0;max-width:370px;color:var(--muted);font-size:.9rem}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.viewer-column{min-width:0;position:sticky;top:18px}.viewport{height:570px;position:relative;background:#0b141b;border:1px solid #ffffff1b;border-radius:8px;overflow:hidden}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.viewport-label{pointer-events:none;position:absolute;top:22px;left:24px;color:#b2c9c8;font-size:.75rem;letter-spacing:.12em}.viewport-help{position:absolute;bottom:18px;left:24px;margin:0;color:#9cacae;font-size:.8rem;pointer-events:none}.viewport-error{position:absolute;top:40%;left:8%;width:84%;padding:18px;background:#152731;color:#e8eeee;z-index:3}.view-actions{position:absolute;right:16px;top:16px;display:flex;gap:6px}.view-actions button,.small-button{padding:6px 10px;border-radius:5px;border:1px solid #ffffff24;background:#182731;color:#dfe8e6;cursor:pointer;font-size:.8rem}.view-actions button:hover,.small-button:hover{border-color:#a6c481}.view-actions button[aria-pressed=true]{color:var(--lime);border-color:var(--lime)}.viewer-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#b0c1c1;padding:12px 1px;font-size:.8rem}.generator-note{border-left:2px solid #7c9f87;padding-left:14px;color:#afc4c2;font-size:.9rem;margin:10px 0 0;line-height:1.55}.generator-note strong{font-weight:500;color:#ecf2e9}.controls{background:#1b2e35;border:1px solid #ffffff1b;border-radius:8px;padding:20px}.controls fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.controls legend{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--lime);margin-bottom:15px}.control{display:block;margin:0 0 15px;font-size:.875rem;color:#d5e1df}.control>span{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.control output{color:#a8bfbc;font-variant-numeric:tabular-nums}.control input[type=range]{width:100%;accent-color:var(--lime);height:20px;cursor:pointer;margin:0}.control input[type=number],.control select,.gene-search input,.gene-search select{font:inherit;width:100%;padding:9px 10px;color:#ecf3ef;background:#10232a;border:1px solid #647c7c;border-radius:4px;min-width:0}.control input:focus-visible,.control select:focus-visible,.gene-search input:focus-visible,.gene-search select:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.control small,.field-note{display:block;color:#adc0bd;line-height:1.5;font-size:.8rem;margin-top:7px}.control small a,.field-note a,.study-evidence a{color:var(--lime);text-decoration:underline}.controls .button{width:100%;margin:0 0 9px}.button{display:inline-block;border:1px solid #c8ee8855;border-radius:5px;background:var(--lime);color:#14231d;padding:11px 16px;font:600 .875rem/1.3 Arial,sans-serif;cursor:pointer;text-align:center}.button:hover{background:#def9b0}.button.secondary{background:transparent;color:#e4efea;border-color:#68807c}.button.secondary:hover{background:#ffffff09}.button:disabled{cursor:wait;opacity:.45}.inline-controls{display:flex;gap:8px}.inline-controls>.control{flex:1;min-width:0}.controls details{border-top:1px solid #ffffff20;padding-top:16px;margin:16px 0}.controls summary{cursor:pointer;color:#e2eae7;font-size:.9rem;margin-bottom:16px}.checkbox{display:flex;align-items:center;gap:8px;color:#c5d4d1;font-size:.8rem;margin:6px 0 14px}.checkbox input{accent-color:var(--lime)}.study-evidence{padding:12px;background:#0d2329;font-size:.8rem;line-height:1.55;margin:12px 0;border-radius:5px}.study-evidence strong{font-weight:500;color:var(--lime)}.study-evidence p{margin:7px 0}.export-area{border-top:1px solid #ffffff25;padding-top:19px;margin-top:18px}.status{font-size:.85rem;color:#c8ddcb;min-height:2.7em;margin:10px 0 0;overflow-wrap:anywhere}.status.error{color:#ffbfaa}.lab-limits{margin-top:35px;max-width:930px;color:#b4c6c3;font-size:.9rem;line-height:1.7}.lab-limits summary{cursor:pointer;color:#e2eae7}.lab-limits p{margin:12px 0}.source-link{text-decoration:underline;color:var(--lime)}.gene-search{display:grid;grid-template-columns:1fr 220px;gap:16px;margin:28px 0 18px}.gene-search label{font-size:.85rem;color:var(--muted)}.gene-search input,.gene-search select{margin-top:6px}.gene-count{font-size:.8rem;color:#a4beb8;margin:0 0 22px}.gene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gene-card{padding:24px;background:#1b2e35;border:1px solid #ffffff20;border-radius:7px;min-width:0}.gene-card h3{font-size:1.65rem;letter-spacing:0;margin:3px 0 6px}.gene-card .gene-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;color:#c7e79b}.gene-card .species{font-size:.875rem;font-style:italic;color:#aec4c1;margin:0 0 18px}.gene-card p{font-size:.95rem;color:#c5d5d1;line-height:1.65}.gene-card dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#a6c188;margin-top:18px}.gene-card dd{margin:6px 0;color:#c8d8d4;font-size:.875rem;line-height:1.6}.gene-card a,.source-list a{color:#c7e89b;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.gene-card ul{list-style:none;padding:0;margin:14px 0 0;font-size:.8rem}.gene-card li+li{margin-top:7px}.genetics-intro{max-width:850px;color:#b9ccc8;font-size:1rem}.source-list{padding-top:30px;margin-top:35px;border-top:1px solid #ffffff25}.source-list h3{font-size:1.5rem;letter-spacing:-.02em}.source-list ol{padding-left:22px;color:#aac2bd}.source-list li{margin:9px 0;font-size:.9rem}.no-results{padding:30px;color:var(--muted)}.hidden-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.link-button{border:0;background:none;color:var(--lime);font:inherit;text-decoration:underline;cursor:pointer;padding:0}.panel-nav-link{display:inline-block;color:var(--lime);border-bottom:1px solid #91b565;margin:15px 0}.tabs{gap:27px}.topology-note{font-size:.8rem;color:#b6c9c3;margin:0 0 20px}.library-download{margin:14px 0 0}.busy-shade{position:absolute;inset:auto 18px 55px;background:#152d35e8;padding:10px 14px;border:1px solid #567169;color:#d4edcb;border-radius:5px;font-size:.85rem}.busy-shade[hidden]{display:none}
@media(min-width:1550px){.viewport{height:660px}.workspace{grid-template-columns:minmax(0,1fr) 325px}}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:14px}.viewport{height:520px}.controls{padding:16px}.tabs{gap:20px}.lab-heading>p{max-width:280px}}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.viewer-column{position:static}.viewport{height:480px}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.controls>details,.controls>.export-area{grid-column:1/-1;margin:0}.controls fieldset{margin:0}.controls .status{grid-column:1/-1}.lab-heading{align-items:start}.lab-heading>p{display:none}.tabs{gap:20px;overflow-x:auto;flex-wrap:nowrap}.tabs button{flex-shrink:0}.gene-grid{grid-template-columns:1fr}.gene-search{grid-template-columns:1fr 160px}}
@media(max-width:480px){.viewport{height:360px}.viewport-label{left:15px;top:20px;font-size:.7rem}.view-actions{top:auto;bottom:13px;right:12px}.viewport-help{bottom:52px;left:15px}.controls{grid-template-columns:1fr;gap:25px}.controls>details,.controls>.export-area{grid-column:1}.gene-search{grid-template-columns:1fr}.lab-heading h2{font-size:2rem}.gene-card{padding:20px}.eye-lab,.genetics{padding-top:26px}.tabs{margin-left:5%;margin-right:5%}}
.prompt-form{margin:0 0 25px}.prompt-form>label{display:block;font-size:.95rem;color:#d2e3df;margin-bottom:8px}.prompt-entry{display:flex;gap:12px;align-items:stretch}.prompt-entry textarea{resize:vertical;min-height:76px;max-height:210px;background:#1b2e35;color:#edf4ee;border:1px solid #67817e;border-radius:6px;padding:13px 15px;font:1rem/1.5 Arial,sans-serif;flex:1;min-width:0}.prompt-entry textarea:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.prompt-entry .button{min-width:140px}.prompt-form>p{color:#a7bfba;font-size:.8rem;margin:9px 0}.concept-rationale{border-top:1px solid #ffffff24;padding-top:18px;margin-top:25px;font-size:.875rem;color:#b7ccc5;max-height:420px;overflow:auto}.concept-rationale h3{font-size:1.3rem;letter-spacing:-.025em;margin:0 0 15px;color:#eaf0e6}.concept-rationale .rationale-title{color:#c8ee88}.concept-rationale p{margin:8px 0;line-height:1.65}.concept-rationale a{color:var(--lime);text-decoration:underline}.rationale-gene{margin:18px 0;padding:0 0 0 12px;border-left:2px solid #566d60}.rationale-gene strong{color:#e1edda;font-weight:500}.rationale-edit{color:#e2cea7}.concept-rationale li{margin:7px 0}.viewer-column{position:static}@media(max-width:480px){.prompt-entry{flex-direction:column}.prompt-entry .button{min-height:46px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
