:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17211d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f6f3ea;--panel:#fffdf7;--ink:#17211d;--muted:#657069;--line:#d8d0c0;--green:#235f51;--green-ink:#12352e;--ochre:#d7a84f;--rust:#b86b44;--ice:#b9d7da;--stone:#6f6a5f;--shadow:0 18px 48px #23251f24;background:#e7e2d6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#fffdf7b3,#e7e2d6e0),repeating-linear-gradient(90deg,#235f5109 0 1px,#0000 1px 80px);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #b86b4466}a{color:var(--green)}svg{flex:none}.app-shell{grid-template-rows:auto 1fr;gap:16px;min-height:100vh;padding:18px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-block h1{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(1.55rem,2.4vw,2.65rem);line-height:1}.brand-block p{color:var(--muted);max-width:720px;margin:8px 0 0}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.top-actions a,.command,.secondary-command,.segment,.icon-command{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.top-actions a{white-space:nowrap;padding:0 14px;font-weight:700;box-shadow:0 8px 24px #17211d14}.top-actions svg,.command svg,.secondary-command svg,.segment svg,.icon-command svg,.section-title svg,.link-map svg{width:18px;height:18px}.top-actions a:hover,.command:hover,.secondary-command:hover,.segment:hover,.icon-command:hover{border-color:#235f516b;transform:translateY(-1px)}.lab-grid{grid-template-columns:minmax(260px,320px) minmax(440px,1fr) minmax(250px,300px);align-items:stretch;gap:16px;min-height:0;display:grid}.panel,.stage-panel{min-width:0;box-shadow:var(--shadow);background:#fffdf7eb;border:1px solid #564e3f38;border-radius:8px}.panel{flex-direction:column;gap:16px;padding:16px;display:flex}.stage-panel{background:#edeae0;min-height:620px;position:relative;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{width:100%;height:100%;display:block}.stage-overlay{pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;inset-block-start:14px;inset-inline:14px}.stage-overlay span{min-height:30px;color:var(--green-ink);background:#fffdf7db;border:1px solid #17211d2e;border-radius:8px;align-items:center;padding:0 10px;font-size:.86rem;font-weight:800;display:inline-flex}.section-title{align-items:center;gap:9px;display:flex}.section-title h2{letter-spacing:0;margin:0;font-size:1rem}.toolbar-row{grid-template-columns:1fr 1fr 1fr 42px;gap:8px;display:grid}.command,.secondary-command,.segment{padding:0 10px;font-weight:800}.command.active,.segment.active{background:var(--green);color:#fffdf7;border-color:#235f51c7}.icon-command{padding:0}.control-group,.slider-row{gap:8px;display:grid}.control-label,.slider-row>span{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.86rem;font-weight:800;display:flex}.slider-row b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.88rem}.slider-row input{width:100%;accent-color:var(--green)}.segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.segmented.two{grid-template-columns:repeat(2,minmax(0,1fr))}.segment{text-transform:capitalize;white-space:nowrap;min-width:0}.secondary-command{background:#fbf8ee;width:100%;margin-block-start:auto}.metric{border-block-end:1px solid #6570692e;justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.metric span{color:var(--muted);font-weight:800}.metric b{font-variant-numeric:tabular-nums;font-size:1.2rem}.phase-bar{background:#fffdf7;border:1px solid #17211d26;border-radius:8px;block-size:20px;display:flex;overflow:hidden}.phase-bar span{min-inline-size:2%}.flowing{background:var(--ochre)}.transition{background:var(--rust)}.jammed{background:var(--green)}.phase-legend{color:var(--muted);gap:8px;font-size:.9rem;display:grid}.phase-legend span{align-items:center;gap:8px;display:flex}.phase-legend i{border-radius:4px;block-size:14px;inline-size:14px;display:inline-block}.science-note{border-block:1px solid #6570692e;padding-block:14px}.science-note h2{margin:0 0 8px;font-size:1rem}.science-note p{color:var(--muted);margin:0;line-height:1.45}.link-map{overflow-wrap:anywhere;gap:10px;display:grid}.link-map a{color:var(--green-ink);text-underline-offset:3px;align-items:flex-start;gap:8px;font-size:.9rem;font-weight:800;text-decoration-thickness:1px;display:flex}.build-stamp{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-block-start:auto;font-size:.88rem;display:flex}.build-stamp a{font-weight:800}.fatal{background:var(--paper);place-content:center;min-height:100vh;padding:24px;display:grid}.fatal pre{color:#fffdf7;background:#241f1b;border-radius:8px;max-width:min(720px,100vw - 48px);padding:16px;overflow:auto}@media (width<=1180px){.lab-grid{grid-template-columns:minmax(250px,310px) minmax(420px,1fr)}.readout{grid-column:1/-1;grid-template-columns:repeat(4,minmax(120px,1fr));align-items:start;display:grid}.readout .section-title,.readout .phase-bar,.readout .phase-legend,.readout .science-note,.readout .link-map,.readout .build-stamp{grid-column:1/-1}}@media (width<=820px){.app-shell{padding:12px}.topbar{flex-direction:column;align-items:flex-start}.top-actions{justify-content:stretch;width:100%}.top-actions a{flex:150px}.lab-grid{grid-template-columns:1fr}.stage-panel{min-height:min(76vh,560px)}.controls{order:2}.stage-panel{order:1}.readout{order:3;grid-template-columns:repeat(2,minmax(120px,1fr))}}@media (width<=520px){.segmented{grid-template-columns:1fr}.toolbar-row{grid-template-columns:1fr 1fr}.icon-command{min-height:42px}.stage-overlay{inset-block-start:10px;inset-inline:10px}}
