*,*::before,*::after{box-sizing:border-box}html{font-family:Inter,system-ui,sans-serif;background:#f8fafc;color:#0f172a}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}.primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.topbar{height:64px;display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:10}.brand{font-weight:800;letter-spacing:.12em;color:#0f172a;text-decoration:none}.topbar-copy{display:flex;flex-direction:column;line-height:1.2}.topbar-copy span{font-size:12px;color:#64748b}.studio-link{margin-left:auto;color:#1d4ed8;font-weight:700;text-decoration:none}.hero{display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:start;height:calc(100vh - 64px);min-height:680px;background:#0b1120}.viewport-shell{position:relative;height:100%;min-height:680px;background:#111827}.viewport-shell #cesium{position:absolute;inset:0}.viewport-overlay{position:absolute;inset:18px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;gap:18px}.map-controls{position:absolute;left:18px;top:104px;display:grid;gap:8px;z-index:3}.map-controls button{width:42px;height:42px;padding:0;display:grid;place-items:center;background:rgba(15,23,42,.86);color:#f8fafc;border-color:rgba(148,163,184,.45);box-shadow:0 6px 18px rgba(15,23,42,.28);font-family:"JetBrains Mono",monospace}.map-controls button:hover{background:#1d4ed8;border-color:#60a5fa}.disclaimer,.scenario-chip{background:rgba(15,23,42,.82);color:#e2e8f0;border:1px solid rgba(148,163,184,.35);border-radius:8px;padding:10px 12px;max-width:420px}.disclaimer{font-size:13px}.scenario-chip{display:flex;flex-direction:column;min-width:220px}.scenario-chip span{text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:#7dd3fc}.app-error{position:absolute;left:20px;bottom:20px;color:#fecaca}.viewport-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#e2e8f0;padding:40px;background:linear-gradient(135deg,#0f172a,#164e63)}.viewport-fallback span{display:block;max-width:520px;margin-top:8px;color:#cbd5e1}.side-panel{height:100%;background:#fff;border-left:1px solid #e2e8f0;padding:18px;overflow:auto}.panel-section,.onboarding,.whatif,.results,.asset,.mission{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:18px;box-shadow:0 1px 3px rgba(15,23,42,.06);margin-bottom:16px}.panel-section h1{font-size:24px;line-height:1.15;margin:0 0 10px}.panel-section h2,.asset h2{font-size:15px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;color:#475569}.panel-section p,.mission p,.note,.asset p{color:#475569;line-height:1.55}.onboarding{position:relative;background:#eff6ff}.onboarding button{position:absolute;right:8px;top:8px;padding:4px 8px}.onboarding ol{margin:0;padding-left:22px}.onboarding li{margin:8px 0}.onboarding span{display:block;color:#475569;font-size:13px}.timeline-head,.button-row{display:flex;align-items:center;gap:10px;justify-content:space-between}.timeline-head strong{font-family:"JetBrains Mono",monospace}input[type=range]{width:100%;accent-color:#1d4ed8}.ticks{display:flex;justify-content:space-between;color:#64748b;font-size:12px}.frame-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.frame-stats div,.metric,.compare-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px}.frame-stats strong,.metric strong,.compare-grid strong{display:block;font-size:20px}.frame-stats span,.metric span,.metric em,.compare-grid span{display:block;font-size:12px;color:#64748b;font-style:normal}.layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.layer-grid label,.check{display:flex;gap:8px;align-items:center;font-size:13px;color:#334155}.workbench{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;padding:22px;background:#f8fafc}.section-title span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#1d4ed8;font-weight:800}.section-title h2{margin:3px 0 10px;font-size:22px}.controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.controls-grid label{display:flex;flex-direction:column;gap:6px;color:#334155;font-weight:700;font-size:13px}.controls-grid output{font-weight:500;color:#64748b}.controls-grid input,.controls-grid select{border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;background:#fff}.error{min-height:20px;color:#b91c1c}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric em{text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.comparison{margin-top:14px}.compare-head{display:flex;gap:8px;align-items:center;justify-content:center;color:#334155;margin-bottom:10px}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.asset dl,.method-body dl{display:grid;gap:8px}.asset dl div,.method-body dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding-top:8px}.asset dt,.method-body dt{color:#64748b}.asset dd,.method-body dd{margin:0;text-align:right;font-weight:700}.mission ol{margin:0;padding-left:22px}.mission li{padding:6px 0;color:#475569}.mission li.complete span{font-weight:700;color:#047857}.mission li em{float:right;color:#64748b;font-size:12px}.methodology-panel{background:#0f172a;color:#e2e8f0;padding:22px}.method-toggle{width:100%;text-align:left;background:#1e293b;border-color:#334155;color:#fff}.method-body{display:none;grid-template-columns:1fr 1fr;gap:24px;padding:22px 0}.methodology-panel.open .method-body{display:grid}.method-body h2{margin-top:0}.method-body p{color:#cbd5e1;line-height:1.65}.doc-links{display:flex;flex-wrap:wrap;gap:8px}.doc-links a{color:#7dd3fc;border:1px solid #334155;border-radius:8px;padding:8px 10px;text-decoration:none}@media (max-width:1050px){.hero,.workbench{grid-template-columns:1fr}.hero{height:auto;min-height:0}.viewport-shell{height:62vh;min-height:520px}.side-panel{height:auto;border-left:0}.method-body{grid-template-columns:1fr}}@media (max-width:680px){.topbar{height:auto;padding:12px;align-items:flex-start}.topbar-copy{display:none}.studio-link{font-size:12px}.viewport-shell{height:58vh;min-height:460px}.viewport-overlay{inset:10px;flex-direction:column}.map-controls{top:auto;left:10px;bottom:10px;grid-template-columns:repeat(5,38px)}.map-controls button{width:38px;height:38px}.disclaimer,.scenario-chip{max-width:none;width:100%}.workbench{padding:12px}.controls-grid,.metrics,.compare-grid,.frame-stats{grid-template-columns:1fr}.layer-grid{grid-template-columns:1fr}.panel-section,.onboarding,.whatif,.results,.asset,.mission{padding:14px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
 .viewport-shell #flowCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;mix-blend-mode:normal}.viewport-overlay{z-index:4}.event-pulse{background:rgba(8,13,24,.86);color:#f8fafc;border:1px solid rgba(125,211,252,.42);border-radius:8px;padding:12px 14px;max-width:360px;box-shadow:0 12px 32px rgba(8,13,24,.35)}.event-pulse span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#fbbf24}.event-pulse strong{display:block;margin-top:5px;font-size:16px;line-height:1.25}.event-pulse small{display:block;margin-top:6px;color:#fde68a;font-size:11px;line-height:1.35;font-weight:800}.event-pulse em{display:block;margin-top:5px;color:#bae6fd;font-size:12px;line-height:1.35;font-style:normal}.observed-evidence{border:1px solid #bae6fd;background:#f0f9ff;border-radius:8px;padding:14px;margin-bottom:14px}.evidence-head span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#0369a1;font-weight:800}.evidence-head strong{display:block;margin-top:4px;font-size:17px}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.evidence-grid div{background:#fff;border:1px solid #bae6fd;border-radius:8px;padding:9px}.evidence-grid strong{display:block;font-size:20px}.evidence-grid span{display:block;font-size:11px;color:#475569}.observed-evidence p{margin:8px 0;color:#334155;line-height:1.45}.observed-evidence a{display:inline-block;color:#075985;font-weight:800}.observed-evidence em{display:block;margin-top:8px;color:#475569;font-style:normal;font-size:12px}.map-controls{z-index:5}.app-error{z-index:4}@media (max-width:680px){.event-pulse{max-width:none;width:100%}.evidence-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.viewport-shell #flowCanvas{display:none}}
.story-rail{display:grid;gap:8px;margin:0;padding:0;list-style:none}.story-rail li{border:1px solid #e2e8f0;border-left-width:4px;border-radius:8px;padding:10px;background:#f8fafc}.story-rail li.active{border-left-color:#f59e0b;background:#fffbeb}.story-rail li.complete{border-left-color:#0284c7;background:#f0f9ff}.story-rail span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-weight:800}.story-rail strong{display:block;margin-top:2px}.story-rail time{display:block;margin-top:4px;color:#854d0e;font-size:11px;line-height:1.35;font-weight:800}.story-rail p{margin:5px 0;color:#334155;font-size:12px;line-height:1.35}.story-rail em{display:block;color:#64748b;font-style:normal;font-size:11px}
html,body{overflow-x:hidden}.workbench>*,.side-panel>*,.controls-grid>*,.metrics>*,.compare-grid>*{min-width:0;max-width:100%}.whatif,.results,.asset,.mission,.panel-section,.onboarding{width:100%;max-width:100%}.button-row{flex-wrap:wrap}.button-row button{flex:1 1 220px}.controls-grid input,.controls-grid select{min-width:0;max-width:100%}@media (max-width:680px){.hero{display:block}.viewport-shell{height:64vh;min-height:420px}.viewport-overlay{inset:10px 10px 96px}.scenario-chip{display:none}.event-pulse{max-height:176px;overflow:auto}.map-controls{left:10px;right:auto;bottom:38px;justify-content:start;grid-template-columns:repeat(5,38px);padding:4px;border-radius:8px;background:rgba(15,23,42,.62);backdrop-filter:blur(8px)}.button-row button{flex-basis:100%}.side-panel{padding:12px}.observed-evidence{padding:12px}.evidence-grid div,.metric,.frame-stats div,.compare-grid div{min-width:0}.methodology-panel{padding:16px}.method-toggle{white-space:normal}.asset dl div,.method-body dl div{align-items:flex-start}.asset dd,.method-body dd{text-align:left;overflow-wrap:anywhere}}@media (max-width:380px){.brand{font-size:15px;letter-spacing:.1em}.studio-link{font-size:11px}.viewport-shell{height:62vh;min-height:410px}.viewport-overlay{inset:10px 10px 92px}.disclaimer{font-size:12px}.event-pulse{padding:10px 12px;max-height:170px}.event-pulse strong{font-size:15px}.map-controls{bottom:36px;grid-template-columns:repeat(5,36px)}.map-controls button{width:36px;height:36px}.onboarding ol{padding-left:18px}.panel-section h1{font-size:22px}}
