:root{--nav-height:56px;--bg-primary:#000;--bg-surface:#0c0c0c;--bg-elevated:#141414;--border:#1a1a1a;--border-light:#252525;--text-primary:#e8e8e8;--text-secondary:#888;--text-muted:#555;--color-altitude:#3b82f6;--color-velocity:#f97316;--color-acceleration:#a855f7;--color-success:#22c55e;--color-failure:#ef4444;--color-catch:#a855f7;--color-partial:#eab308;--color-engine-firing:#f59e0b;--color-engine-off:#333;--color-engine-relight:#ef4444;--section-gap:100vh;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600;line-height:1.2}h1{font-size:3.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.125rem}p{color:var(--text-secondary);line-height:1.7}a{color:var(--color-altitude);text-decoration:none}code,.mono{font-family:var(--font-mono);font-size:.875em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{color:var(--text-primary);background:#3b82f64d}button{font-family:var(--font-mono)}.nav-tab:hover{color:var(--text-secondary)!important}@media (width<=640px){:root{--nav-height:48px}.app-nav{gap:6px;padding:0 8px!important}.app-wordmark{flex:0 auto;max-width:118px;overflow:hidden;letter-spacing:.11em!important;font-size:.72rem!important}.app-nav>div{flex:auto;justify-content:flex-end;min-width:0}.nav-tab{white-space:nowrap;min-width:0;letter-spacing:.06em!important;padding:0 6px!important;font-size:.55rem!important}}@media (width<=380px){.app-wordmark{max-width:96px;letter-spacing:.08em!important;font-size:.66rem!important}.nav-tab{letter-spacing:.045em!important;padding:0 4px!important;font-size:.5rem!important}}.selector-grid>*{grid-column:span 2}.selector-grid>:nth-child(4n+1):nth-last-child(3){grid-column:2/span 2}.mobile-telemetry{background:var(--bg-surface);border-top:1px solid var(--border-light);z-index:100;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=860px){.flight-grid{grid-template-columns:1fr!important}.telemetry-sidebar{display:none!important}.mobile-telemetry{display:block}.flight-grid>div:first-child{padding-bottom:56px}.narrative-events{padding-left:32px!important;padding-right:20px!important}.flight-nav{padding:24px 20px!important}}@media (width<=1000px){.selector-grid{grid-template-columns:repeat(3,1fr)!important}.selector-grid>*{grid-column:span 1!important}}@media (width<=700px){.selector-grid{grid-template-columns:repeat(2,1fr)!important}.selector-grid>*{grid-column:span 1!important}h1{font-size:clamp(1.8rem,6vw,3.5rem)}h2{font-size:clamp(1.2rem,4vw,2rem)}h3{font-size:1.25rem}.bp-legend{display:none!important}}.bp-drawing svg{filter:drop-shadow(0 0 .4px #ffffff8c)}.bp-callout-line{stroke-dasharray:300;stroke-dashoffset:300px;transition:stroke-dashoffset .8s ease-out .3s}.bp-section-visible .bp-callout-line{stroke-dashoffset:0}.bp-callout-clickable{cursor:pointer}.bp-callout-text{transform-box:fill-box;transition:fill .18s,filter .18s,transform .18s;fill:#ffffffb8!important}.bp-callout-text-left{transform-origin:0}.bp-callout-text-right{transform-origin:100%}.bp-callout-clickable:hover .bp-callout-text,.bp-callout-clickable.bp-callout-pair-hover .bp-callout-text{filter:drop-shadow(0 0 3px #ffffffa6)drop-shadow(0 0 6px #ffffff59);transform:scale(1.22);fill:#fff!important}.bp-callout-clickable:hover .bp-callout-line,.bp-callout-clickable.bp-callout-pair-hover .bp-callout-line{opacity:.85!important;stroke:#fff!important}.bp-callout-clickable .bp-callout-underline{transition:opacity .2s}.bp-callout-clickable:hover .bp-callout-underline,.bp-callout-clickable.bp-callout-pair-hover .bp-callout-underline{opacity:.8!important}.bp-callout-clickable .bp-callout-ring{transition:opacity .2s,r .2s}.bp-callout-clickable:hover .bp-callout-ring,.bp-callout-clickable.bp-callout-pair-hover .bp-callout-ring{opacity:.7!important}.bp-hit-zone{cursor:pointer;stroke-width:1px;transition:fill .25s,stroke .25s,stroke-width .25s}.bp-hit-zone:hover{fill:#ffffff14;stroke:#ffffff80;stroke-width:1.5px}.bp-minimap-region{cursor:pointer;transition:fill .2s}.bp-minimap-region:hover{fill:#ffffff29}.bp-minimap-label{transform-box:fill-box;transform-origin:0;transition:fill .18s,filter .18s,transform .18s}.bp-minimap-label:hover{filter:drop-shadow(0 0 3px #ffffffb3)drop-shadow(0 0 6px #ffffff59);transform:scale(1.22);fill:#fff!important}@keyframes bp-label-pulse{0%,to{opacity:1}50%{opacity:.6}}.bp-label-active{animation:2.5s ease-in-out infinite bp-label-pulse}.bp-scanlines:before{content:"";top:var(--nav-height);pointer-events:none;z-index:99;background:repeating-linear-gradient(#0000 0 3px,#ffffff05 3px 4px);position:fixed;bottom:0;left:0;right:0}.bp-scroll-fades:before,.bp-scroll-fades:after{content:"";pointer-events:none;z-index:5;height:60px;display:block;position:sticky;left:0;right:0}.bp-scroll-fades:before{background:linear-gradient(to bottom, var(--bg-primary), transparent);margin-bottom:-60px;top:0}.bp-scroll-fades:after{background:linear-gradient(to top, var(--bg-primary), transparent);margin-top:-60px;bottom:0}@media (width<=768px){.bp-minimap{display:none!important}.bp-content{width:100vw!important;margin-left:0!important}}@media (width<=480px){.selector-grid{grid-template-rows:auto!important;grid-template-columns:1fr!important}.selector-grid>*{grid-column:span 1!important}.narrative-events{padding-left:20px!important;padding-right:16px!important}.flight-nav{flex-wrap:wrap;gap:8px;justify-content:center!important;padding:20px 16px!important}}.three-spike-page{min-height:100vh;padding-top:var(--nav-height);background:radial-gradient(circle at 54% 42%,#7daaff42,#0000 34%),radial-gradient(circle at 76% 78%,#f973161f,#0000 30%),linear-gradient(#121b2a 0%,#0b111c 58%,#070a12 100%);position:relative;overflow:hidden}.three-spike-page.is-capture{min-height:100vh;padding-top:0}body.three-capture-mode nav,.three-spike-page.is-capture .three-spike-hud,.three-spike-page.is-capture .component-panel,.three-spike-page.is-capture .component-panel-backdrop{display:none!important}.three-spike-page.is-capture .three-spike-stage{inset:0}.three-spike-stage{inset:var(--nav-height) 0 0 0;position:absolute}.three-spike-stage canvas{display:block}.three-spike-hud{top:calc(var(--nav-height) + 16px);z-index:4;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#080a10e0,#080a10ad);border:1px solid #9fb4ff2e;border-radius:8px;flex-direction:column;gap:12px;width:min(380px,100vw - 48px);padding:18px;display:flex;position:absolute;bottom:16px;left:24px;box-shadow:0 24px 80px #00000073}.three-spike-kicker{font-family:var(--font-mono);letter-spacing:.18em;color:#9fb4ffc7;text-transform:uppercase;font-size:.62rem;line-height:1.4}.three-spike-hud h1{color:var(--text-primary);margin:-8px 0 0;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.02}.three-spike-hud p{color:#e8e8e8a3;font-size:.84rem;line-height:1.65}.three-spike-readout{background:#ffffff09;border:1px solid #ffffff17;border-radius:6px;gap:4px;padding:12px 14px;display:grid}.three-spike-readout span,.three-spike-shortcuts-heading{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-muted);text-transform:uppercase;font-size:.62rem}.three-spike-readout strong{color:var(--text-primary);font-size:.88rem;font-weight:600}.three-spike-actions{gap:10px;display:flex}.three-spike-actions a{color:#e8e8e8d1;min-height:34px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid #9fb4ff3d;border-radius:4px;justify-content:center;align-items:center;padding:0 12px;font-size:.66rem;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.three-spike-actions a:hover{color:var(--text-primary);background:#ffffff0f;border-color:#e8e8e8b3}.three-spike-camera-presets{gap:10px;display:grid}.three-spike-camera-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.three-spike-camera-grid button{color:#e8e8e8ad;min-height:28px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#ffffff08;border:1px solid #9fb4ff2e;border-radius:4px;padding:5px 7px;font-size:.58rem;line-height:1.15;transition:border-color .18s,background .18s,color .18s,transform .18s}.three-spike-camera-grid button:hover,.three-spike-camera-grid button.is-active{color:var(--text-primary);background:#9fb4ff1a;border-color:#9fb4ff85}.three-spike-camera-grid button.is-active{box-shadow:inset 0 0 0 1px #ffffff14}.three-spike-annotation-mode{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.three-spike-annotation-mode button{color:#ffedd5a8;min-height:32px;font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:#f973160e;border:1px solid #f973162e;border-radius:4px;font-size:.56rem}.three-spike-annotation-mode button:hover,.three-spike-annotation-mode button.is-active{color:#ffedd5eb;background:#f973161c;border-color:#f973166b}.three-spike-annotation-mode button.is-active{box-shadow:inset 0 0 0 1px #ffffff14}.three-spike-shortcuts{flex-direction:column;gap:10px;min-height:0;display:flex}.three-spike-shortcuts-list{gap:6px;min-height:0;padding-right:4px;display:grid;overflow:auto}.three-spike-shortcuts button{border:1px solid #ffffff12;border-left:2px solid var(--component-color,#ffffff59);color:#e8e8e8c7;cursor:pointer;text-align:left;background:#ffffff06;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:transform .18s,background .18s,border-color .18s,color .18s;display:grid}.three-spike-shortcuts button:hover,.three-spike-shortcuts button.is-hovered,.three-spike-shortcuts button.is-active{border-color:#ffffff38;border-left-color:var(--component-color,#fffc);color:var(--text-primary);background:#ffffff12;transform:translate(3px)}.three-spike-shortcuts button.is-active{box-shadow:inset 0 0 0 1px #ffffff14, 0 0 24px color-mix(in srgb, var(--component-color,#fff), transparent 74%)}.three-spike-shortcuts button span{font-family:var(--font-sans);font-size:.78rem;line-height:1.2}.three-spike-shortcuts button em{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.58rem;font-style:normal}@media (width<=900px){.three-spike-page{height:100svh;min-height:100svh;overflow:hidden}.three-spike-stage{inset:var(--nav-height) 0 0 0}.three-spike-page .component-panel-backdrop{top:var(--nav-height)!important;z-index:30!important;position:fixed!important}.three-spike-page .component-panel{top:auto!important;left:max(10px, env(safe-area-inset-left))!important;right:max(10px, env(safe-area-inset-right))!important;bottom:max(10px, env(safe-area-inset-bottom))!important;z-index:40!important;border-radius:12px!important;width:auto!important;max-height:min(70svh,620px)!important;position:fixed!important}}@media (width<=480px){.three-spike-page .component-panel{max-height:76svh!important}}@media (width<=700px){.flight-header{min-height:auto!important;padding:calc(var(--nav-height) + 28px) 20px 28px!important;justify-content:flex-start!important;max-width:none!important}.flight-header-kicker{margin-bottom:10px!important;font-size:.68rem!important}.flight-header-title{max-width:10ch;margin-bottom:14px!important;font-size:clamp(2.05rem,12vw,3.1rem)!important;line-height:.98!important}.flight-header-badges{margin-bottom:16px!important}.flight-header-narrative{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;max-width:none!important;margin-bottom:18px!important;font-size:.98rem!important;line-height:1.5!important}.flight-header-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px!important;padding:14px 0!important;display:grid!important}.flight-header-firsts,.flight-scroll-hint{display:none!important}.event-section{padding:56px 0;align-items:flex-start!important;min-height:auto!important}.mobile-telemetry{padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c0c0ef0;border-top-color:#ffffff1f}.mobile-telemetry-toggle{min-height:58px;gap:8px!important;padding:8px 12px!important}.mobile-telemetry-time{letter-spacing:0!important;font-size:clamp(1.15rem,7vw,1.65rem)!important}.mobile-telemetry-phase{letter-spacing:.02em;text-align:left!important;font-size:.58rem!important}.mobile-telemetry-stats{display:none!important}.mobile-telemetry-chevron{font-size:.68rem!important}.mobile-telemetry-drawer{overscroll-behavior:contain;max-height:min(64svh,520px);overflow-y:auto}.flight-grid>div:first-child{padding-bottom:calc(74px + env(safe-area-inset-bottom))!important}}@media (width<=360px){.flight-header{padding:calc(var(--nav-height) + 22px) 16px 22px!important}.flight-header-title{font-size:clamp(1.85rem,12vw,2.4rem)!important}.flight-header-narrative{-webkit-line-clamp:4}}@media (width<=900px){.three-spike-hud{top:auto;left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));overscroll-behavior:contain;background:linear-gradient(#080a1094,#080a10e6);border-radius:14px;gap:7px;width:auto;max-height:min(24svh,190px);padding:10px 10px 9px;overflow:hidden}.three-spike-kicker{letter-spacing:.11em;white-space:nowrap;text-overflow:ellipsis;font-size:.5rem;overflow:hidden}.three-spike-hud h1,.three-spike-hud p,.three-spike-readout,.three-spike-actions,.three-spike-shortcuts{display:none!important}.three-spike-camera-presets{gap:6px;min-width:0}.three-spike-shortcuts-heading{display:none}.three-spike-annotation-mode,.three-spike-camera-grid{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.three-spike-annotation-mode::-webkit-scrollbar{display:none}.three-spike-camera-grid::-webkit-scrollbar{display:none}.three-spike-annotation-mode button,.three-spike-camera-grid button{touch-action:manipulation;flex:none;min-height:32px}.three-spike-camera-grid button{min-width:78px;padding:6px 8px;font-size:.52rem}.three-spike-annotation-mode button{min-width:82px;padding:0 8px;font-size:.52rem}}@media (width<=480px){.three-spike-hud{max-height:min(22svh,168px)}}.route-loading{min-height:100vh;padding-top:var(--nav-height);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;background:#05070d;place-items:center;font-size:.76rem;display:grid}
