:root{color-scheme:dark;--bg:#0b1119;--surface:#111923;--canvas:#0c141e;--text:#e5edf5;--muted:#91a2b6;--border:#263342;--accent:#5bd4bd;--blue:#74b9ff;--danger:#f48f9b;--font:"Segoe UI",Inter,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font)}button,select,input{font:inherit}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;min-height:34px;padding:5px 11px;font-size:13px}button{cursor:pointer}button:hover,select:hover{border-color:#5f7c96}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-header{display:flex;align-items:center;gap:36px;min-height:66px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:18px;color:var(--text);white-space:nowrap}.brand:hover{text-decoration:none}.brand strong{font-size:23px;letter-spacing:.02em}.brand span{font-size:18px;color:#acc5dd;border-left:1px solid #385068;padding-left:18px}.app-header nav{display:flex;align-self:stretch;gap:21px}.app-header nav button{background:none;border:0;border-radius:0;padding:0 2px;color:var(--muted);position:relative;font-size:14px}.app-header nav button[aria-selected=true]{color:var(--blue)}.app-header nav button[aria-selected=true]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px;white-space:nowrap}.header-actions label{color:var(--muted);font-size:12px}.header-actions select{width:210px}.header-actions a{font-size:13px;margin-left:8px;padding-left:20px;border-left:1px solid var(--border)}main{max-width:1960px;margin:auto;padding:12px 24px 20px}.mission-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}h1{font-size:24px;line-height:1.25;letter-spacing:-.02em;margin:0 0 3px;font-weight:600}.mission-heading p{margin:0;color:var(--muted);font-size:14px}#outcome{color:var(--accent);font-size:12px;text-align:right}#outcome.failed{color:var(--danger)}[hidden]{display:none!important}.replay-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:10px}.viewport{position:relative;min-height:380px;height:clamp(380px,51vh,650px);border:1px solid var(--border);background:var(--canvas);border-radius:3px;overflow:hidden}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.viewport:fullscreen{height:100vh;border:0}.viewport-toolbar{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:16px;z-index:2}.viewport-toolbar select{max-width:180px;background:#101c29}.viewport-toolbar button{padding:6px;min-height:32px}.toggle{display:flex;gap:7px;align-items:center;font-size:12px;color:#c8d8e6;cursor:pointer}.toggle input{accent-color:var(--accent);width:15px;height:15px;margin:0}.viewport-key{position:absolute;top:17px;left:18px;display:flex;gap:15px;color:#afc2d4;font-size:11px;pointer-events:none}.viewport-key span{display:flex;align-items:center;gap:6px}.viewport-key i{display:inline-block;width:7px;height:7px}.actual-key{background:var(--accent);border-radius:50%}.nominal-key{border:1px solid #e5edf5}.goal-key{border:1px solid #f5b567;transform:rotate(45deg)}.frame-note{position:absolute;bottom:14px;left:18px;color:#91a2b6;line-height:1.65;font-size:11px;pointer-events:none}.scene-help{position:absolute;bottom:14px;right:18px;color:#8195aa;font-size:11px;pointer-events:none}.scene-message{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:80px;max-width:650px;margin:auto;color:var(--muted)}.inspector{background:#0e1722;border:1px solid var(--border);border-radius:3px;padding:18px}.inspector h2{font-size:17px;font-weight:600;margin:0 0 15px}.inspector select{width:100%;margin-bottom:13px}.inspector dl{margin:0}.inspector dl div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid #1d2d3c;padding:10px 0}.inspector dt{color:#acc3d9;font-size:12px}.inspector dd{margin:0;font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.inspector-note{color:var(--muted);font-size:12px;line-height:1.7;padding:12px 0}.inspector .record-details div{padding:4px 0;border:0}.record-details dt,.record-details dd{font-size:11px!important}.transport{display:flex;align-items:center;gap:22px;border:1px solid var(--border);border-radius:3px;margin-top:9px;padding:10px 13px;background:#101923}.transport-buttons{display:flex;align-items:center;gap:7px}.transport-buttons button{background:none;border:0;padding:9px;min-width:36px}.transport-buttons .primary{border:1px solid #b8d5dd;min-width:46px}.timeline{flex:1;min-width:80px;padding-top:10px}.timeline input{width:100%;margin:0;accent-color:var(--accent);cursor:pointer;height:8px;display:block}.timeline div{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}.clock{display:flex;align-items:center;gap:15px;font-size:11px;color:var(--muted);white-space:nowrap}.clock output{color:var(--text);font-variant-numeric:tabular-nums;min-width:40px}.transport select{width:76px;min-width:76px}.chart-band{margin-top:9px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);border-radius:3px}.chart{min-width:0;padding:12px 15px 6px}.chart+.chart{border-left:1px solid var(--border)}.chart h3{font-size:12px;font-weight:600;display:flex;justify-content:space-between;margin:0 0 2px}.chart h3 span{color:var(--muted);font-weight:400;font-size:10px}.chart svg{width:100%;display:block;height:156px;cursor:crosshair}.chart svg text{font:10px var(--font);fill:var(--muted)}.chart-empty{height:156px;display:grid;place-content:center;color:var(--muted);font-size:12px}.sample-note{color:var(--muted);font-size:11px;margin:8px 0 0}footer{border-top:1px solid var(--border);min-height:39px;padding:10px 25px;display:flex;justify-content:space-between;gap:20px;color:#a6bfd4;font-size:11px;background:#0f1823}footer span:first-child{color:var(--accent)}.section-title{display:flex;align-items:center;gap:20px;margin-bottom:16px}.section-title>div{flex:1}.section-title h2,.evidence-panel h2{font-size:23px;font-weight:600;margin:10px 0 5px}.section-title p,.evidence-panel p{color:var(--muted);margin:0 0 12px;max-width:1000px}.section-title a{white-space:nowrap}video{display:block;width:100%;max-height:72vh;background:#070b10;border:1px solid var(--border)}.evidence-panel{max-width:1050px;margin:25px auto 70px}.evidence-links{display:flex;flex-wrap:wrap;gap:25px;margin:28px 0}.evidence-panel dl{margin:25px 0 30px;font-size:13px}.evidence-panel dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);padding:12px 0;border-top:1px solid var(--border);gap:20px}.evidence-panel dt{color:var(--muted)}.evidence-panel dd{margin:0;overflow-wrap:anywhere}.evidence-panel li{color:var(--muted);margin:7px 0}.theory-panel iframe{width:100%;height:76vh;border:1px solid var(--border);background:var(--bg)}.theory-panel select{max-width:340px}.prose{max-width:980px;margin:0 auto;padding:25px 35px 75px;font-size:16px;line-height:1.85}.prose h1{font-size:33px;line-height:1.3;margin:14px 0 26px}.prose h2{font-size:24px;line-height:1.4;margin:48px 0 16px}.prose h3{font-size:19px;margin-top:30px}.prose p{color:#c7d4e0}.prose code{font-family:Consolas,monospace;font-size:.86em;background:#162332;padding:2px 5px;border-radius:3px}.prose pre{background:#111d2b;padding:20px;overflow:auto;border:1px solid var(--border);line-height:1.7}.prose pre code{padding:0;background:none}.prose table{border-collapse:collapse;font-size:13px;display:block;overflow:auto;margin:24px 0}.prose th,.prose td{text-align:left;vertical-align:top;border:1px solid var(--border);padding:10px 12px;min-width:100px}.prose th{background:#172534}.prose blockquote{border-left:3px solid var(--accent);margin:20px 0;padding:4px 20px;background:#111c28}.prose .math{overflow-x:auto}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}#error{padding:20px;border:1px solid var(--danger);color:var(--danger);margin-bottom:15px}
@media(min-width:1600px){.viewport{height:56vh}.chart svg{height:180px}.inspector{padding:22px}.inspector dl div{padding:14px 0}}
@media(max-width:1200px){.app-header{gap:20px;padding:0 20px}.brand span{display:none}.app-header nav{gap:15px}.header-actions select{width:185px}.replay-workspace{grid-template-columns:minmax(0,1fr) 230px}.transport{gap:12px}.clock span{display:none}.inspector{padding:15px}.viewport-toolbar{gap:10px}.viewport-key{top:60px}}
@media(max-width:850px){.app-header{flex-wrap:wrap;gap:0 20px;padding:10px 16px}.app-header nav{height:42px;margin-left:auto;gap:20px}.header-actions{width:100%;margin:7px 0 0;gap:10px}.header-actions select{flex:1;width:auto}.header-actions a{padding-left:12px}main{padding:12px}.mission-heading{align-items:flex-start}h1{font-size:21px}.replay-workspace{grid-template-columns:minmax(0,1fr)}.viewport{height:53vh;min-height:330px}.inspector{display:grid;grid-template-columns:150px 1fr;gap:4px 20px}.inspector h2{grid-column:1;margin:0}.inspector select{grid-column:1;margin:0}.inspector>dl:first-of-type{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px}.inspector dl div{padding:4px 0}.inspector .record-details,.inspector-note{display:none}.transport{flex-wrap:wrap;padding:8px;gap:8px}.transport-buttons{gap:2px}.transport-buttons button{min-width:30px;padding:7px}.timeline{min-width:calc(100% - 260px)}.clock{margin-left:auto}.clock span{display:inline}.chart-band{grid-template-columns:minmax(0,1fr)}.chart+.chart{border-left:0;border-top:1px solid var(--border)}.chart svg{height:145px}.section-title{flex-wrap:wrap;gap:10px}.section-title>div{min-width:100%}.theory-panel iframe{height:78vh}footer{padding:10px 12px;flex-wrap:wrap;font-size:10px}.prose{padding:20px 17px;font-size:15px}.prose h1{font-size:27px}.viewport-toolbar{left:10px;right:10px;justify-content:flex-end}.scene-help{display:none}}
@media(max-width:460px){.brand strong{font-size:20px}.app-header nav{gap:14px}.app-header nav button{font-size:12px}.header-actions label{display:none}.header-actions a{font-size:11px}.mission-heading{display:block}#outcome{display:block;text-align:left;margin-top:5px}.viewport-toolbar select{max-width:154px;font-size:11px}.viewport-toolbar{gap:10px}.toggle{font-size:11px}.inspector{display:block}.inspector h2{display:none}.inspector select{margin-bottom:8px}.inspector>dl:first-of-type{display:grid}.clock{margin-left:8px}.transport select{margin-left:auto}.frame-note{font-size:9px}.viewport-key{left:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.replay-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;font-size:12px;color:var(--muted)}.replay-actions span{margin-right:auto}.replay-actions button{font-size:12px}@media(max-width:600px){.replay-actions{flex-wrap:wrap}.replay-actions span{width:100%}}

@media(max-width:600px){
  .viewport-toolbar{flex-wrap:wrap;justify-content:flex-start;row-gap:8px}
  .viewport-toolbar #camera{flex:0 0 100%;max-width:none;width:100%}
  .viewport-key{top:105px}
}

#lifecycle-frame{display:block;width:100%;height:83vh;border:0}#lifecycle-frame[hidden]{display:none}.lifecycle-workspace{padding:0 10px 12px}.life-scenes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.life-scenes .viewport{height:43vh;min-height:280px}.life-scenes h3{font-size:13px;font-weight:500;color:var(--muted)}.life-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.life-metrics dt{font-size:11px;color:var(--muted)}.life-metrics dd{margin:3px 0;font-variant-numeric:tabular-nums}#life-seek{flex:1;min-width:160px}#life-clock{font-size:12px;color:var(--muted)}@media(max-width:800px){.life-scenes{grid-template-columns:1fr}.life-scenes .viewport{height:36vh;min-height:250px}.life-metrics{grid-template-columns:repeat(2,1fr)}.app-header nav{flex-wrap:wrap}}
.mission-view-control{display:flex;align-items:center;gap:14px;margin:5px 0 12px;color:var(--muted);font-size:12px}.mission-view-control select{min-width:190px}.replay-workspace>.viewport{height:clamp(400px,64vh,850px)}.inspector{border:0;background:transparent}.inspector h2{display:none}.inspector dl div{padding:13px 0}.chart-band{border:0;margin-top:20px}.chart svg{height:240px}.chart h3 span,.chart svg text{font-size:11px}.evidence-links{margin:20px 0;gap:24px}.plot-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.plot-gallery img{display:block;width:100%;height:auto}.record-source{max-width:1000px}.record-source dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;margin:12px 0}.record-source dd{margin:0;overflow-wrap:anywhere}details{margin:24px 0;color:var(--muted)}summary{cursor:pointer;color:var(--text);padding:10px 0}.theory-panel .section-title{justify-content:space-between}.theory-panel iframe{border:0;height:68vh}.theory-panel select{max-width:min(75vw,430px)}#theory-diagram{max-width:1100px;margin:5px auto 20px}#theory-diagram svg{display:block;width:100%;height:auto;max-height:220px}#theory-diagram text{fill:var(--muted);font:13px var(--font)}#theory-diagram .solid{fill:#1c2b3a;stroke:#7d91a4;stroke-width:1}#theory-diagram .wing{fill:#183751;stroke:#6b9dc0}#theory-diagram .band{fill:#5bd4bd19;stroke:#5bd4bd99;stroke-width:1.5}#theory-diagram .data{fill:none;stroke:var(--accent);stroke-width:2}#theory-diagram .point{fill:var(--accent)}#theory-diagram .bus{fill:#97c3d3;stroke:#d4e7ef}#theory-diagram .node{fill:#162f3d;stroke:#74b9ff}#theory-diagram .contact{stroke:#f5b567;stroke-width:2}#theory-diagram .goal{fill:none;stroke:#f5b567;stroke-width:2}#theory-diagram .threshold{stroke:#f5b567;stroke-dasharray:4 4}#theory-diagram .surface{stroke:#c9d6df;stroke-width:2}
@media(max-width:850px){.replay-workspace>.viewport{height:56vh;min-height:360px}.chart svg{height:210px}.plot-gallery{grid-template-columns:1fr}.inspector{padding:5px}.inspector dl div{padding:5px 0}#theory-diagram{overflow-x:auto}#theory-diagram svg{min-width:620px}.record-source dl>div{grid-template-columns:1fr;gap:4px}.app-header nav{gap:25px}.header-actions select{max-width:100%;min-width:0}}
.mission-view-control{flex-wrap:wrap;gap:8px 14px}.mission-view-control span{overflow-wrap:anywhere}
@media(max-width:850px){#theory-diagram{overflow:visible}#theory-diagram svg{min-width:0;max-height:none}}
.prose img{display:block;max-width:100%;height:auto;margin:24px 0}
.tube-detail{margin:4px 0 14px;padding:8px 0;border-bottom:1px solid var(--border)}.tube-detail-title{font-size:11px;color:var(--text)}.tube-detail canvas{display:block;width:100%;height:auto}.tube-detail-legend{font-size:10px;color:var(--muted)}@media(max-width:850px){.inspector .tube-detail{grid-column:1;grid-row:4;max-width:220px}.inspector>dl:first-of-type{grid-row:1/5}}
.simulation-controls{display:flex;align-items:center;gap:24px;padding:10px 14px;margin:8px 0 12px;border:1px solid var(--border);border-radius:5px;background:#101923}.simulation-knobs{display:flex;flex:1;gap:25px}.simulation-knobs label{display:grid;grid-template-columns:1fr auto;gap:4px 12px;flex:1;min-width:110px;color:var(--muted);font-size:12px}.simulation-knobs output{color:var(--text);font-variant-numeric:tabular-nums}.simulation-knobs input{grid-column:1/-1;width:100%;accent-color:var(--accent);margin:0}.simulation-actions{display:flex;align-items:center;gap:7px}.connection-badge{color:var(--muted);font-size:11px;white-space:nowrap;margin-right:5px}.connection-badge[data-connected=true]{color:var(--accent)}#mission-phases{display:flex;gap:6px;flex-wrap:wrap}#mission-phases button{font-size:12px;min-height:30px;color:var(--muted);background:transparent}#mission-phases button[aria-current=true]{color:var(--text);border-color:var(--accent);background:#15332f}#mission-model{margin-left:auto;font-size:11px}.deployment-note{position:absolute;left:18px;top:58px;color:#d3bc8b;font-size:11px;line-height:1.6;pointer-events:none}.parent-controlled #life-transport,.parent-controlled .replay-actions{display:none}.parent-controlled .lifecycle-workspace{padding:0 8px}.parent-controlled .section-title{margin-bottom:0}.parent-controlled .section-title h2{font-size:17px}.parent-controlled .life-scenes .viewport{height:42vh}.parent-controlled details{margin-top:12px}#lifecycle-frame{height:clamp(570px,73vh,900px)}#mission-transport .clock output{min-width:65px}#mission-transport .clock span{white-space:nowrap}
@media(max-width:850px){.simulation-controls{flex-wrap:wrap;gap:12px}.simulation-knobs{min-width:100%;gap:18px}.simulation-actions{margin-left:auto}.deployment-note{top:93px;font-size:10px}.parent-controlled .life-scenes{grid-template-columns:1fr 1fr;gap:8px}.parent-controlled .life-scenes .viewport{height:35vh;min-height:230px}#mission-model{display:none}}
@media(max-width:600px){.simulation-knobs{gap:12px}.simulation-knobs label{min-width:0;font-size:11px}.simulation-actions{width:100%}.connection-badge{margin-right:auto}.deployment-note{top:136px;left:12px}.parent-controlled .life-scenes{grid-template-columns:1fr}.parent-controlled .life-scenes .viewport{height:33vh;min-height:210px}#mission-transport .clock span{display:none}}
.replay-workspace{align-items:stretch}.replay-workspace>.viewport{height:100%;min-height:clamp(390px,58vh,720px)}.inspector{padding:6px 12px}.inspector select{margin-bottom:8px}.inspector dl div{padding:6px 0}.inspector-record{margin:5px 0 0;font-size:11px}.inspector-record summary{padding:5px 0}.inspector-record .record-details{display:block}.tube-detail{margin-bottom:8px;padding-bottom:6px}@media(max-width:850px){.replay-workspace>.viewport{height:56vh;min-height:360px}.inspector{padding:5px}.inspector-record{grid-column:1/-1;grid-row:5}.inspector-record .record-details{display:block}.inspector dl div{padding:4px 0}}
.simulation-actions{flex-wrap:wrap}.simulation-actions>a{font-size:11px;white-space:nowrap}
