:root{color-scheme:dark;--bg: #071019;--panel: #101b27;--panel-2: #132234;--line: rgba(196, 213, 230, .14);--text: #eef6fb;--muted: #98aabd;--green: #5ed2b2;--blue: #7fa9f3;--yellow: #f2c96c;--red: #f07b7b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#071019,#0b141d 56%,#101319);color:var(--text);overflow-x:hidden}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;padding:8px 10px;background:var(--green);color:#06110e;font-weight:800;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55}.secondary{background:#233247;color:var(--text);border:1px solid var(--line)}.warning{background:var(--yellow);color:#171006}.login-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{width:min(440px,100%);border:1px solid var(--line);border-radius:8px;background:#101b27;padding:24px;box-shadow:0 24px 60px #00000057}.brand-row{display:flex;align-items:center;gap:9px;color:#9ee4d4;font-weight:850;font-size:.86rem}.login-card h1{margin:16px 0 8px;font-size:2rem;letter-spacing:0}.login-card p{color:var(--muted);line-height:1.55}.login-form{display:grid;gap:12px;margin-top:18px}.login-form label{display:grid;gap:6px;color:#c7d5e2;font-size:.86rem;font-weight:700}.login-form input{border:1px solid var(--line);border-radius:8px;background:#0b141f;color:var(--text);padding:11px 12px}.login-status{min-height:22px;margin-bottom:0;font-size:.84rem}.google-button{width:100%;margin-top:10px;background:#263549;color:var(--text);border:1px solid var(--line)}.app-shell{width:100%;max-width:none;margin:0 auto;padding:8px 12px}.dashboard-header,.app-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:7px}.dashboard-header{align-items:center;padding:8px 0 9px;border-bottom:1px solid rgba(196,213,230,.08)}.eyebrow,.section-title{margin:0 0 5px;color:#94a8bc;font-size:.64rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.dashboard-header h1{margin:0 0 3px;font-size:clamp(1.45rem,2.45vw,2rem);line-height:1.02;letter-spacing:0}.app-header h1{margin:0 0 3px;font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.02;letter-spacing:0}.dashboard-header p,.app-header p{max-width:900px;margin:0;color:var(--muted);line-height:1.25;font-size:.78rem}.experiment-switcher{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:8px 0;padding:4px;border:1px solid rgba(196,213,230,.12);border-radius:8px;background:#040c1575}.experiment-tab{justify-content:flex-start;align-items:flex-start;min-height:42px;padding:7px 8px;flex-direction:column;border:1px solid transparent;background:transparent;color:var(--text);text-align:left;box-shadow:none}.experiment-tab span{color:#94a8bc;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.experiment-tab strong{font-size:.78rem;line-height:1.15}.experiment-tab.active{border-color:#5ed2b2b8;background:linear-gradient(180deg,#233b4ed1,#0f2b2dd1);box-shadow:inset 0 0 0 1px #5ed2b233}.experiment-tab:hover:not(.active){border-color:#c4d5e62e;background:#ffffff09}.experiment-pane{min-height:0}.organism-layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:10px;min-height:0}.organism-controls{padding:11px;min-height:0}.simulation-speed{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;color:#9fb5c9;font-size:.72rem}.simulation-speed>div{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#040d179e}.simulation-speed button{min-width:34px;min-height:27px;padding:3px 6px;border:0;border-radius:4px;background:transparent;color:#aabaca;font:inherit;font-weight:700;cursor:pointer}.simulation-speed button:hover{color:#eef6fb;background:#789ec324}.simulation-speed button.active{color:#06251f;background:#58d6bd}.organism-toggle{display:flex;gap:8px;align-items:center;margin:10px 0;color:var(--text);font-size:.78rem}.organism-toggle input{accent-color:#58d6bd}.organism-note{display:flex;gap:7px;align-items:flex-start;padding:8px;border:1px solid rgba(255,205,94,.25);border-radius:6px;color:#d9c28d;font-size:.68rem;line-height:1.3}.structural-readout{margin-top:9px;padding:8px;border:1px solid rgba(188,145,255,.35);border-radius:6px;background:#24183c33;color:#bfc9d4;font-size:.66rem}.structural-readout .section-title{margin:0 0 6px;color:#dca9ff}.structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}.structure-grid span{display:flex;justify-content:space-between;gap:4px;padding-bottom:2px;border-bottom:1px solid rgba(211,188,255,.1)}.structure-grid b{color:#f4eaff}.mutation-log{display:grid;gap:4px;max-height:126px;overflow:auto;margin-top:7px;color:#acbac8}.mutation-log div{padding-top:4px;border-top:1px solid rgba(211,188,255,.1)}.mutation-log b{color:#70e2bc}.mutation-log small{display:block;margin-top:2px;color:#8495a6;font-size:.6rem}.evolution-button{background:#4c3b76;color:#fbf8ff;border-color:#dca9ffb3}.evolution-button:hover{background:#5d488c}.organism-events{max-height:290px;overflow:auto;margin-top:10px;border-top:1px solid var(--line);color:#9fb0c0;font-size:.67rem;line-height:1.35}.organism-events div{padding:6px 1px;border-bottom:1px solid rgba(196,213,230,.07)}.organism-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;align-content:start}.organism-arena{grid-column:1 / -1;padding:10px}.organism-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;color:#9fb5c9;font-size:.72rem}.organism-head p{margin:0 0 2px}.organism-head>span{color:#ffd568;white-space:nowrap}.organism-arena canvas{display:block;width:100%;height:min(52vw,430px);min-height:265px;border:1px solid #1d3a50;border-radius:6px;background:#07121d}.organism-kpis{grid-column:1 / -1;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.organism-kpi{padding:9px;min-height:60px}.organism-kpi small{display:block;color:#91a9bc;font-size:.57rem;text-transform:uppercase;letter-spacing:.08em}.organism-kpi b{display:block;margin-top:5px;color:#f5f8ff;font-size:.93rem;overflow-wrap:anywhere}.organism-kpi b.teal{color:#68e0c2}.organism-kpi b.gold{color:#ffd568}.organism-kpi b.warn{color:#ff9f78}.organism-ledger{grid-column:span 3;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px;color:#9db0c1;font-size:.7rem;line-height:1.35}.organism-ledger p{margin:0 0 2px}.organism-ledger>span{text-align:right}.organism-gates{grid-column:span 1;display:grid;gap:5px;padding:10px;color:#9db0c1;font-size:.68rem}.organism-gates p{margin:0 0 2px}.organism-gates .pass{color:#68e0c2}.organism-gates .warn{color:#ffd568}.organism-evolution{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;color:#9db0c1;font-size:.7rem}.organism-evolution p{margin:0 0 2px}.evolution-history{display:grid;gap:3px;min-width:440px}.evolution-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:2px 0}.evolution-row b{color:#dca9ff}.evolution-row span{white-space:nowrap}.phase-gate{color:#d9c28d;border:1px solid rgba(255,205,94,.28);border-radius:5px;padding:4px 6px;white-space:nowrap}.colony-layout{display:grid;grid-template-columns:minmax(210px,255px) minmax(0,1fr);gap:10px;min-height:0}.colony-controls{padding:11px;align-self:start}.colony-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-content:start}.colony-arena{grid-column:1 / -1;padding:10px}.colony-arena canvas{display:block;width:100%;height:min(48vw,455px);min-height:280px;border:1px solid #1d3a50;border-radius:6px;background:#07121d}.colony-kpis{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.colony-roster{grid-column:1 / -1;display:grid;gap:6px;padding:10px;color:#a9b9c8;font-size:.72rem}.colony-roster .section-title{margin:0 0 1px}.colony-roster>div:not(.colony-roster-head){display:grid;grid-template-columns:58px 1fr 1fr 78px 78px 74px;gap:8px;padding-top:6px;border-top:1px solid rgba(196,213,230,.08)}.colony-roster b{color:#dca9ff}.colony-roster span{overflow-wrap:anywhere}.colony-state{width:max-content;padding:2px 6px;border:1px solid rgba(104,224,194,.26);border-radius:5px;color:#78e3cb;font-size:.6rem;font-weight:850;text-transform:uppercase}.colony-state.stressed{border-color:#ffd56861;color:#ffd568}.colony-state.dissolving{border-color:#ff7b7b66;color:#ff9292}.colony-roster-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#91a9bc}.colony-roster-head .section-title{margin:0}.colony-roster-head>span{font-size:.66rem;text-align:right}.colony-events{display:grid;gap:5px;max-height:420px;overflow:auto;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);color:#9db0c1;font-size:.68rem;line-height:1.35}.colony-events div{padding-bottom:5px;border-bottom:1px solid rgba(196,213,230,.07)}.trophic-summary{display:grid;gap:5px;margin-top:9px;padding:8px;border:1px solid rgba(220,169,255,.28);border-radius:6px;background:#2e204229;color:#bdcad6;font-size:.68rem}.trophic-summary b{color:#e4d0ff;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em}.trophic-summary span{display:flex;align-items:center;gap:7px}.trophic-summary i{width:9px;height:9px;margin-right:1px;border-radius:50%;box-shadow:0 0 0 1px #ffffff3d}.trophic-summary strong{margin-left:auto;color:#f4f8fc;font-variant-numeric:tabular-nums}.trophic-biomes{grid-column:1 / -1;display:grid;gap:6px;padding:10px;color:#a9b9c8;font-size:.7rem}.trophic-biomes .section-title{margin:0 0 1px}.trophic-biomes>div{display:grid;grid-template-columns:92px minmax(180px,1.25fr) minmax(180px,1.25fr) minmax(240px,1.5fr);gap:8px;padding-top:6px;border-top:1px solid rgba(196,213,230,.08)}.trophic-biomes b{color:#dca9ff}.trophic-biomes span{overflow-wrap:anywhere}.living-types{grid-column:1 / -1;display:grid;gap:6px;padding:10px;color:#a9b9c8;font-size:.7rem}.living-types article{display:grid;grid-template-columns:minmax(205px,.8fr) minmax(430px,2fr);gap:12px;align-items:center;padding-top:8px;border-top:1px solid rgba(196,213,230,.08)}.living-types article b{color:#dca9ff;text-transform:capitalize}.living-types article span{overflow-wrap:anywhere}.living-type-summary{display:grid;gap:3px;color:#a9b9c8}.living-type-summary b{font-size:.78rem}.living-type-summary span{font-size:.66rem}.type-genome{display:grid;gap:5px;padding:7px 8px;border:1px solid rgba(220,169,255,.2);border-radius:5px;background:#1f193333}.type-genome>small{color:#dca9ff;font-size:.59rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.type-genome>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.type-genome span{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:3px;padding:2px 3px;border-bottom:1px solid rgba(196,213,230,.09)}.type-genome i{overflow:hidden;color:#8ea7ba;font-size:.59rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.type-genome b{color:#f0d3ff;font-size:.68rem;font-variant-numeric:tabular-nums}.bio6-layout{display:grid;grid-template-columns:minmax(215px,255px) minmax(0,1fr);gap:10px;min-height:0}.bio6-controls{align-self:start;padding:11px}.bio6-main{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;min-width:0}.bio6-arena{padding:10px}.bio6-arena canvas{display:block;width:100%;height:min(45vw,440px);min-height:300px;border:1px solid #1d3a50;border-radius:6px;background:#071720;cursor:crosshair}.bio6-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.bio6-trophic-key{display:grid;gap:5px;margin-top:9px;padding:8px;border:1px solid rgba(196,213,230,.13);border-radius:6px;color:#b7c8d5;font-size:.68rem}.bio6-trophic-key>b{color:#eff7ff;text-transform:uppercase;letter-spacing:.07em}.bio6-trophic-key span{display:flex;align-items:center;gap:7px}.bio6-trophic-key i{width:9px;height:9px;border-radius:50%}.bio6-trophic-key strong{margin-left:auto;color:#eff7ff;font-variant-numeric:tabular-nums}.bio6-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:9px}.bio6-organism,.bio6-genome{min-width:0;padding:10px}.bio6-vitals{display:flex;flex-wrap:wrap;gap:5px 12px;margin:7px 0;color:#91a9bc;font-size:.65rem}.bio6-vitals b{margin-left:3px;color:#f1f6fa;text-transform:capitalize}.bio6-cell-view{display:flex;flex-wrap:wrap;align-content:center;gap:3px;min-height:58px;padding:7px;border:1px solid rgba(196,213,230,.1);border-radius:5px;background:#081621}.bio6-cell-view i{width:7px;height:7px;border-radius:50%}.bio6-tissues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin-top:8px}.bio6-tissues>div{display:grid;gap:3px}.bio6-tissues span{display:flex;align-items:center;gap:5px;color:#a8bac8;font-size:.62rem;text-transform:capitalize}.bio6-tissues span i{width:7px;height:7px;border-radius:50%}.bio6-tissues span b{margin-left:auto;color:#dce8f0;font-size:.6rem}.bio6-tissues progress{width:100%;height:4px;accent-color:#5dd6bd}.bio6-genome{max-height:360px;overflow:auto}.bio6-genome-head,.bio6-gene-row{display:grid;grid-template-columns:minmax(115px,1.3fr) repeat(4,minmax(50px,.7fr));gap:6px;align-items:center}.bio6-genome-head{position:sticky;top:-10px;z-index:1;margin-top:7px;padding:6px 0;background:var(--panel);color:#8fa8bb;font-size:.57rem;text-transform:uppercase}.bio6-gene-row{padding:4px 0;border-top:1px solid rgba(196,213,230,.07);color:#b7c7d3;font-size:.64rem;font-variant-numeric:tabular-nums}.bio6-gene-row b{overflow:hidden;color:#dca9ff;font-size:.62rem;text-overflow:ellipsis}.bio6-mutations{margin:7px 0 0;color:#a996c3;font-size:.62rem}.bio6-bottom{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:9px}.bio6-foodweb,.bio6-species{min-width:0;padding:10px}.foodweb-flow{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(130px,1fr) auto minmax(100px,.8fr);gap:7px;align-items:center;margin-top:9px}.foodweb-flow span,.detrital-flow span{padding:7px;border:1px solid rgba(196,213,230,.12);border-radius:5px;color:#b8c8d5;font-size:.64rem;text-align:center}.foodweb-flow b{color:#f3f8fb}.foodweb-flow i,.detrital-flow i{color:#86a4b8;font-size:.62rem;font-style:normal;text-align:center}.foodweb-flow .producer-node{border-color:#68d9914d}.foodweb-flow .predator-node{border-color:#ff747d4d}.detrital-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(196,213,230,.08)}.bio6-species{display:grid;align-content:start;gap:3px;max-height:240px;overflow:auto}.bio6-species button{display:grid;grid-template-columns:minmax(125px,1.2fr) repeat(5,minmax(48px,.65fr));gap:6px;min-height:0;padding:5px 2px;border:0;border-top:1px solid rgba(196,213,230,.08);border-radius:0;background:transparent;color:#a9bac7;font-size:.62rem;text-align:left;box-shadow:none}.bio6-species button:hover{background:#ffffff09}.bio6-species button b{color:#dca9ff}.bio6-species button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1050px){.bio6-layout,.bio6-detail-grid,.bio6-bottom{grid-template-columns:1fr}.bio6-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.bio6-genome{max-height:none}}@media(max-width:600px){.bio6-arena canvas{height:310px}.bio6-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bio6-tissues{grid-template-columns:1fr}.bio6-genome-head,.bio6-gene-row{grid-template-columns:minmax(92px,1.2fr) repeat(4,minmax(42px,.65fr))}.foodweb-flow{grid-template-columns:1fr}.bio6-species{max-height:none;overflow:visible}.bio6-species button{grid-template-columns:1fr 1fr;min-height:58px;gap:4px 8px;padding:7px 2px;align-items:start}.bio6-species button b{grid-column:1 / -1}.bio6-species button span{overflow:visible;text-overflow:clip;white-space:normal}.bio6-species button span:last-child{grid-column:auto}}.colony-report{grid-column:1 / -1}.colony-seed-control{display:grid;gap:5px;margin:9px 0 6px;color:#c7d7e6;font-size:.72rem;font-weight:800}.colony-seed-control input{width:100%;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:#0a1420;color:#eff7ff;font:inherit;font-variant-numeric:tabular-nums}.colony-seed-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.colony-seed-presets button{min-height:29px;padding:4px;background:#25364b;color:#c9d9e7;font-size:.66rem;font-variant-numeric:tabular-nums}.colony-seed-presets button.active{background:#58d6bd;color:#06251f}.colony-run-meta{display:grid;grid-template-columns:1fr;gap:4px;margin-top:9px;padding:7px 8px;border:1px solid rgba(127,169,243,.2);border-radius:6px;background:#0e1d2b9e;color:#a9bed1;font-size:.66rem;font-variant-numeric:tabular-nums}.colony-run-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colony-check{margin-top:6px;padding:6px 8px;border:1px solid rgba(196,213,230,.16);border-radius:6px;background:#ffffff06;color:#9db0c1;font-size:.67rem;font-weight:750}.colony-check.pass{border-color:#68e0c25c;color:#7de4cd}.colony-check.fail{border-color:#ff8e8e66;color:#faa}.colony-batch{width:100%;margin-top:7px;font-size:.7rem}.colony-batch-results{display:grid;gap:3px;margin-top:7px;padding:7px 8px;border:1px solid rgba(196,213,230,.12);border-radius:6px;color:#acc1d2;font-size:.61rem;font-variant-numeric:tabular-nums}.lineage-roster{grid-column:1 / -1;display:grid;gap:6px;padding:10px;color:#a9b9c8;font-size:.72rem}.lineage-roster>div{display:flex;justify-content:space-between;gap:10px;color:#8fa6ba}.lineage-roster .section-title{margin:0}.lineage-roster article{display:grid;grid-template-columns:minmax(95px,1fr) 68px 86px 112px 98px;gap:8px;align-items:center;padding-top:6px;border-top:1px solid rgba(196,213,230,.08)}.lineage-roster article b{color:#dca9ff;text-transform:capitalize}.lineage-roster article span{overflow-wrap:anywhere}@media(max-width:900px){.organism-layout{grid-template-columns:1fr}.organism-controls{max-height:none}.organism-events{max-height:130px}.organism-main{grid-template-columns:repeat(2,minmax(0,1fr))}.organism-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.organism-ledger,.organism-gates{grid-column:1 / -1}.organism-evolution{align-items:flex-start;flex-direction:column}.evolution-history{min-width:0;width:100%}.evolution-row{justify-content:flex-start}.colony-layout{grid-template-columns:1fr}.colony-main{grid-template-columns:repeat(2,minmax(0,1fr))}.colony-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.lineage-roster article{grid-template-columns:minmax(90px,1fr) 68px 86px 112px}.lineage-roster article span:last-child{grid-column:2 / -1}.trophic-biomes>div{grid-template-columns:82px 1fr 1fr}.trophic-biomes>div span:last-child{grid-column:2 / -1}.living-types article{grid-template-columns:1fr}.type-genome>div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:540px){.organism-main{grid-template-columns:1fr}.organism-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.organism-arena canvas{height:280px}.organism-head,.organism-ledger{align-items:flex-start;flex-direction:column}.organism-ledger>span{text-align:left}.colony-main{grid-template-columns:1fr}.colony-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.colony-arena canvas{height:290px}.colony-roster>div:not(.colony-roster-head){grid-template-columns:48px 1fr 1fr}.colony-roster>div:not(.colony-roster-head) span:nth-last-child(-n+3){grid-column:2 / -1}.colony-roster-head{align-items:flex-start;flex-direction:column;gap:3px}.colony-roster-head>span{text-align:left}.lineage-roster>div{align-items:flex-start;flex-direction:column;gap:2px}.lineage-roster article{grid-template-columns:1fr 1fr}.lineage-roster article span:last-child{grid-column:auto}.trophic-biomes>div{grid-template-columns:1fr;gap:3px}.trophic-biomes>div span:last-child{grid-column:auto}.type-genome>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.session-pill{display:flex;align-items:center;gap:8px;max-width:420px;padding:6px 7px 6px 10px;border:1px solid var(--line);border-radius:8px;background:#ffffff0a;color:#cbd8e5;font-size:.78rem}.session-pill span{overflow:hidden;text-overflow:ellipsis}.icon-button{width:28px;height:28px;padding:0;background:#263549;color:var(--text)}.sim-layout{display:grid;grid-template-columns:365px minmax(0,1fr);gap:18px}.panel{background:linear-gradient(180deg,#142334f5,#0c1621f5);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 26px #0000002e}.controls{position:sticky;top:8px;height:max-content;max-height:calc(100vh - 16px);overflow:auto;scrollbar-gutter:stable;padding:12px}.control{display:grid;gap:4px;margin-bottom:7px}.label-row{display:flex;justify-content:space-between;gap:12px;font-size:.74rem}.value{flex:0 0 auto;color:#88ead3;font-variant-numeric:tabular-nums;font-weight:850}input[type=range]{width:100%;accent-color:var(--green)}select{width:100%;border:1px solid var(--line);border-radius:8px;background:#0b141f;color:var(--text);padding:10px 12px}.zone-box{padding:10px 11px 1px;margin-bottom:9px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff08}.zone-name{display:inline-flex;align-items:center;gap:7px;font-weight:800}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:7px}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:7px 0}.formula{display:grid;gap:6px;padding:12px;border-radius:8px;background:#0a1420;border:1px solid var(--line);color:#c1d0df;font-size:.82rem}.formula code{color:#f4f9ff}.main{display:grid;gap:17px}.sim-panel{padding:13px}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:0 2px 8px;color:#a9bbcc;font-size:.8rem}.toolbar strong{color:var(--text);font-size:.92rem}.canvas-wrap{position:relative}.world-canvas{display:block;width:100%;height:clamp(320px,52vh,590px);border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#081522}.legend{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:10px;max-width:calc(100% - 24px);padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#040c15bd;color:#cad8e6;font-size:.76rem}.legend span{display:flex;align-items:center;gap:6px}.legend i,.small-legend i{width:11px;height:11px;display:inline-block;border-radius:50%}.event-toast{position:absolute;top:14px;left:50%;transform:translate(-50%);max-width:calc(100% - 30px);padding:9px 14px;border:1px solid rgba(242,201,108,.42);border-radius:8px;background:#091827e6;color:#ffe3a0;font-size:.82rem;font-weight:800;opacity:0;pointer-events:none;transition:opacity .18s ease}.event-toast.show{opacity:1}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.metric{min-height:68px;padding:9px 10px}.metric .k{color:var(--muted);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.metric .v{margin-top:3px;font-size:1.2rem;font-weight:880;font-variant-numeric:tabular-nums}.metric .h{margin-top:2px;color:#8195aa;font-size:.66rem;line-height:1.25}.cells-main>.metrics-grid{grid-area:metrics;position:sticky;top:6px;align-self:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:calc(100vh - 178px);overflow:auto;scrollbar-gutter:stable;min-width:0;padding:7px;border:1px solid rgba(196,213,230,.12);border-radius:8px;background:linear-gradient(180deg,#0f1b28f0,#071019f0);box-shadow:inset 0 1px #ffffff09}.metrics-rail-head{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:3px 3px 7px;border-bottom:1px solid rgba(196,213,230,.09)}.metrics-rail-head .section-title{margin-bottom:2px}.metrics-rail-head span,.metrics-rail-head strong{color:#9eb2c5;font-size:.66rem;font-weight:800;font-variant-numeric:tabular-nums}.cells-main>.metrics-grid .metric{min-height:52px;padding:7px 8px;border-color:#c4d5e61a;background:#ffffff06;box-shadow:none}.cells-main>.metrics-grid .metric .k{font-size:.55rem;line-height:1.12;letter-spacing:.075em}.cells-main>.metrics-grid .metric .v{margin-top:2px;font-size:1rem;line-height:1}.cells-main>.metrics-grid .metric .h{font-size:.58rem;line-height:1.14}.good{color:#75e5ce}.mid{color:#f4ce71}.bad{color:#ff8e8e}.bottom-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:17px}.chart-panel,.table-panel,.log-panel{padding:16px}.bar-chart{height:250px;display:flex;justify-content:space-around;align-items:flex-end;gap:18px;padding:27px 12px 42px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff06}.bar-group{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:7px}.bar{width:min(42px,34%);min-height:2px;border-radius:8px 8px 3px 3px}.bar.agents{background:linear-gradient(180deg,#75dfc7,#319e88)}.bar.resources{background:repeating-linear-gradient(-45deg,#789ee9 0 7px,#5d7fc4 7px 14px)}.bar span{position:absolute;top:-21px;left:50%;transform:translate(-50%);color:#e8f2fc;font-size:.72rem;font-weight:800}.bar-label{position:absolute;bottom:-29px;color:#afc0d1;font-size:.77rem;text-align:center}.small-legend{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:7px;color:var(--muted);font-size:.62rem;line-height:1.1}.agent-key{background:#4ecdb2}.supply-key{background:#6e8ed0}table{width:100%;border-collapse:collapse;font-size:.84rem}th,td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.07);text-align:right;font-variant-numeric:tabular-nums}th:first-child,td:first-child{text-align:left}th{color:#8fa6be;font-size:.68rem;letter-spacing:.065em;text-transform:uppercase}.log-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.spark-wrap{height:165px;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff06}.spark-wrap canvas{width:100%;height:100%;display:block}.events{max-height:165px;overflow:auto;padding:7px 9px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff06}.event-row{padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#c6d4e3;font-size:.68rem}.event-row:last-child{border-bottom:0}.event-row time{margin-right:7px;color:#7f96ad}.cells-layout{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:8px;align-items:start}.cells-controls{position:sticky;top:6px;height:max-content;max-height:calc(100vh - 12px);overflow:auto;scrollbar-gutter:stable;padding:9px;background:linear-gradient(180deg,#12202ff5,#0a141ff5)}.cells-buttons{margin-top:0}.report-button{grid-column:1 / -1;border-color:#7fa9f352;background:linear-gradient(180deg,#2a3b52f2,#1e2c41f2);color:#eaf3ff}.report-button svg{color:#9ec0ff}.toggle-row{min-height:30px;display:flex;align-items:center;gap:8px;margin-bottom:5px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#ffffff08;color:#dce8f3;font-size:.74rem;font-weight:750}.toggle-row input{width:16px;height:16px;accent-color:var(--green)}.cells-disclaimer{margin-top:10px;padding:9px 10px;border:1px solid rgba(242,201,108,.32);border-radius:8px;background:#f2c96c14;color:#f7dfaa;font-size:.72rem;line-height:1.32}.cells-disclaimer strong,.cells-disclaimer span{display:block}.cells-disclaimer strong{margin-bottom:5px;color:#fff6d4}.genome-buttons{margin:10px 0 0}.genome-buttons button{min-height:30px;padding:6px;font-size:.68rem}.genome-buttons .apply-button{grid-column:1 / -1}.genome-panel{border-color:#7fa9f33d;background:linear-gradient(180deg,#142131eb,#0c1823eb);color:#d7e6f5}.genome-panel strong{color:#eaf3ff}.genome-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:8px}.genome-kpi-grid div{min-width:0;padding:6px;border:1px solid rgba(196,213,230,.12);border-radius:7px;background:#ffffff09}.genome-kpi-grid small,.genome-kpi-grid b{display:block}.genome-kpi-grid small{color:#91a5b9;font-size:.53rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.genome-kpi-grid b{margin-top:2px;color:#8cffea;font-size:.86rem;font-variant-numeric:tabular-nums}.patch-panel{display:grid;gap:6px;margin-top:8px;padding:8px;border:1px solid rgba(94,210,178,.24);border-radius:8px;background:#5ed2b20e}.patch-panel-head,.patch-kpis{display:grid;gap:5px}.patch-panel-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;color:#b9d6ee;font-size:.58rem;font-weight:850;letter-spacing:.04em}.patch-panel-head span,.patch-change-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patch-panel-head b{color:#8cffea;text-transform:uppercase}.patch-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.patch-kpis span{min-width:0;padding:5px;border-radius:6px;background:#02091070}.patch-kpis small,.patch-kpis b{display:block}.patch-kpis small{color:#8ea6bb;font-size:.48rem;font-weight:850;text-transform:uppercase}.patch-kpis b{color:#f5f8ff;font-size:.64rem;font-variant-numeric:tabular-nums}.patch-panel em{color:#bdd0e2;font-size:.6rem;font-style:normal}.patch-change-list{display:grid;gap:2px;color:#9fb6ca;font-size:.56rem}.fitness-mini{display:grid;gap:4px;margin-top:7px}.fitness-mini span{color:#a9bdd0;font-size:.63rem;font-weight:800}.fitness-mini i{height:5px;overflow:hidden;border-radius:99px;background:#040c15d1}.fitness-mini b{display:block;height:100%;min-width:2px;border-radius:inherit;background:#ffc85d}.fitness-mini b.good-fill{background:#5ed2b2}.genome-status-line{display:grid;gap:3px;margin-top:8px;color:#abc0d4;font-size:.62rem}.chromosome-list{margin-top:8px;padding:6px 7px;border:1px solid rgba(196,213,230,.12);border-radius:8px;background:#040c1559}.chromosome-list>summary,.chromosome-item>summary{cursor:pointer;color:#eaf3ff;font-size:.68rem;font-weight:850}.chromosome-item{margin-top:6px;padding:6px;border:1px solid rgba(196,213,230,.1);border-radius:7px;background:#ffffff08}.chromosome-item>summary{display:flex;justify-content:space-between;gap:8px}.chromosome-item>summary span,.chromosome-item>summary b{display:inline}.chromosome-item>summary b{color:#8cffea;font-variant-numeric:tabular-nums}.chromosome-item p{margin:6px 0;color:#98aabd;font-size:.62rem;line-height:1.3}.gene-preview{display:grid;gap:3px}.gene-preview span{color:#dce8f3;font-size:.59rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.genome-warnings{display:grid;gap:3px;margin-top:8px;padding-top:7px;border-top:1px solid rgba(242,201,108,.2)}.genome-warnings span{color:#ffe0a1;font-size:.61rem}.cells-main{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,21vw,310px);grid-template-areas:"stage metrics" "diagnostics metrics" "bottom metrics";align-items:start;gap:8px;min-width:0}.diagnostic-panels{grid-area:diagnostics;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.diagnostic-card{min-width:0;padding:8px}.diagnostic-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding-bottom:6px;border-bottom:1px solid rgba(196,213,230,.09)}.diagnostic-head strong{overflow:hidden;color:#eaf3ff;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.diagnostic-head span{color:#8cffea;font-size:.57rem;font-weight:800;white-space:nowrap}.diagnostic-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px;padding-top:6px}.diagnostic-values span,.diagnostic-values small,.diagnostic-values b{display:block;min-width:0}.diagnostic-values small{overflow:hidden;color:#8197ab;font-size:.49rem;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.diagnostic-values b{margin-top:1px;color:#f5f8ff;font-size:.72rem;font-variant-numeric:tabular-nums}.cells-stage{grid-area:stage;min-width:0;padding:9px;background:linear-gradient(180deg,#12202ff5,#09131ef5)}.cells-stage .toolbar{padding:0 2px 7px;border-bottom:1px solid rgba(196,213,230,.08);margin-bottom:8px}.cells-canvas{display:block;width:100%;height:clamp(310px,46vh,480px);border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#071019}.cells-legend{position:absolute;left:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:7px;max-width:calc(100% - 24px);padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#040c15c2;color:#cad8e6;font-size:.68rem}.cells-legend span{display:inline-flex;align-items:center;gap:6px}.cells-legend i{width:11px;height:11px;display:inline-block;border-radius:50%}.cells-bottom{grid-area:bottom;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(145px,.52fr) minmax(145px,.52fr);gap:8px;min-width:0}.cells-panel{min-height:142px;padding:9px;min-width:0}.cells-panel-head{display:flex;justify-content:space-between;gap:9px;align-items:center;margin-bottom:6px}.cells-panel-head .section-title{margin-bottom:0}.cells-panel-head span{display:inline-flex;align-items:center;gap:6px;color:#91a5b9;font-size:.64rem;font-weight:800}.cells-chart-wrap{height:92px;padding:5px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#ffffff06}.cells-chart-wrap canvas{width:100%;height:100%;display:block}.phenotype-list{display:grid;gap:5px}.phenotype-row{display:grid;grid-template-columns:minmax(112px,1fr) 46px;gap:3px 7px;align-items:center;color:#d9e5f0;font-size:.68rem}.phenotype-row span{display:inline-flex;align-items:center;gap:8px;min-width:0}.phenotype-row i{width:11px;height:11px;flex:0 0 auto;border-radius:50%}.phenotype-row strong{text-align:right;color:#f5f8ff;font-variant-numeric:tabular-nums}.phenotype-row div{grid-column:1 / -1;height:4px;overflow:hidden;border-radius:99px;background:#040c15cc}.phenotype-row b{display:block;height:100%;min-width:2px;border-radius:inherit}.cells-events{max-height:104px}@media(max-width:1180px){.sim-layout,.cells-layout{grid-template-columns:1fr}.controls,.cells-controls{position:static;max-height:none}.cells-main{grid-template-columns:1fr;grid-template-areas:"stage" "diagnostics" "metrics" "bottom"}.cells-main>.metrics-grid{position:static;max-height:none;grid-template-columns:repeat(auto-fit,minmax(116px,1fr))}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.cells-bottom{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.diagnostic-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app-shell{padding:8px}.app-header,.dashboard-header,.experiment-switcher,.bottom-grid,.log-grid{grid-template-columns:1fr;display:grid}.experiment-switcher{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.session-pill{width:100%}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.diagnostic-panels{grid-template-columns:1fr}.world-canvas,.cells-canvas{height:clamp(280px,42vh,420px)}}@media(max-width:560px){.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(136px,1fr))}.button-grid{grid-template-columns:1fr}.world-canvas,.cells-canvas{height:330px}}@media(max-height:820px)and (min-width:821px){.app-shell{padding-block:8px}.dashboard-header,.app-header{padding-bottom:7px}.dashboard-header h1{font-size:clamp(1.5rem,2.5vw,2.05rem)}.app-header h1{font-size:clamp(1.2rem,1.9vw,1.65rem)}.dashboard-header p,.app-header p{font-size:.82rem;line-height:1.25}.experiment-tab{min-height:48px;padding:8px 10px}.experiment-tab strong{font-size:.82rem}.controls,.cells-controls{padding:10px}.control{margin-bottom:7px}.button-grid{margin:7px 0}.metric{min-height:58px;padding:8px 9px}.metric .v{font-size:1.08rem}.world-canvas,.cells-canvas{height:clamp(280px,42vh,420px)}.cells-chart-wrap{height:82px}.cells-main>.metrics-grid .metric{min-height:48px}}
