@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--ink: #e8edf4;--dim: #8b95a5;--line: rgba(232, 237, 244, .14);--panel: rgba(9, 13, 19, .72);--accent: #7fe3ff;--warn: #ff6b5a;--sans: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:#05070b;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}canvas{display:block;touch-action:none}.app{position:relative;height:100%}.layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.layer>*{pointer-events:auto}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.title{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(24px,4vh,44px) clamp(24px,4vw,56px);background:linear-gradient(105deg,#04070bdb,#04070b9e 30%,#04070b2e 52%,#04070b00 66%);animation:fade .6s ease}.title-brand{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#e8edf4b8}.title-hero{align-self:center;max-width:640px;display:flex;flex-direction:column;gap:18px}.title h1{font-size:clamp(48px,7vw,104px);line-height:.92;margin:0;letter-spacing:-.04em;font-weight:700}.title h1 em{font-style:normal;color:var(--accent)}.title p.lede{color:#c2ccd6;max-width:44ch;line-height:1.55;margin:0;font-size:17px}.cards{display:flex;gap:12px;align-items:end}.card{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;min-width:250px;border:1px solid rgba(232,237,244,.14);background:#070b119e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px;padding:14px 18px 14px 16px;cursor:pointer;text-align:left;color:inherit;font:inherit;transition:border-color .2s,transform .2s,background .2s}.card:hover,.card.active{border-color:#7fe3ff8c;background:#0a141cc7;transform:translateY(-2px)}.card svg{width:34px;height:96px;fill:#dfe5ea;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45));transition:fill .2s}.card:hover svg,.card.active svg{fill:var(--accent)}.card-text{display:flex;flex-direction:column;gap:5px}.card-name{font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1}.card-meta{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.04em;white-space:nowrap}.card-go{font-size:20px;color:var(--accent);opacity:0;transform:translate(-4px);transition:opacity .2s,transform .2s}.card:hover .card-go,.card.active .card-go{opacity:1;transform:none}.title-site{position:absolute;right:clamp(24px,4vw,56px);bottom:clamp(24px,4vh,44px);text-align:right;font-size:13px;color:var(--ink);text-shadow:0 2px 20px rgba(0,0,0,.8);line-height:1.6;pointer-events:none}.title-site span{display:block;font-family:var(--mono);font-size:11px;color:#e8edf4b3;letter-spacing:.06em}@media (max-width: 760px){.title{background:linear-gradient(180deg,#04070bdb,#04070b99)}.title h1{font-size:52px}.title p.lede{font-size:15px}.cards{flex-direction:column;align-items:stretch}.card{min-width:0}.title-site{display:none}}.hud-tl{position:absolute;top:22px;left:24px}.hud-bl{position:absolute;bottom:22px;left:24px;max-width:44ch}.hud-hint{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#e8edf49e;text-shadow:0 1px 12px rgba(0,0,0,.9);white-space:nowrap;pointer-events:none}.vehicle-name{font-size:20px;font-weight:500;letter-spacing:-.01em;margin-top:4px}.progress{display:flex;gap:3px;margin-top:12px}.progress i{width:22px;height:3px;border-radius:2px;background:#e8edf42e;transition:background .35s,box-shadow .35s}.progress i.on{background:var(--accent);box-shadow:0 0 10px #7fe3ff99}.progress i.next{background:#7fe3ff73;animation:pulse 1.6s ease-in-out infinite}.callout{border-left:2px solid var(--accent);padding:2px 0 2px 14px;animation:slide .35s ease}.callout.bad{border-color:var(--warn)}.callout h3{margin:2px 0 5px;font-size:17px;font-weight:500;letter-spacing:-.01em}.callout p{margin:0;color:var(--dim);font-size:13px;line-height:1.55}.btn{font:inherit;font-size:13px;font-weight:500;letter-spacing:.02em;color:#05070b;background:var(--accent);border:0;border-radius:8px;padding:12px 22px;cursor:pointer;transition:filter .18s,transform .18s}.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{border-color:#e8edf466}.btn-row{display:flex;gap:10px;align-items:center}.telemetry{position:absolute;bottom:22px;right:24px;display:grid;gap:11px;text-align:right;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 20px;min-width:190px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.telemetry .row{display:flex;justify-content:space-between;align-items:baseline;gap:22px}.telemetry .row span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--dim);text-transform:uppercase}.telemetry .row b{font-family:var(--mono);font-weight:500;font-size:16px;font-variant-numeric:tabular-nums}.clock{position:absolute;top:26px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:40px;font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums;text-shadow:0 2px 30px rgba(0,0,0,.8)}.clock.hot{color:#ffd07f}.event{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--mono);font-size:clamp(18px,3vw,30px);letter-spacing:.3em;text-transform:uppercase;text-shadow:0 2px 40px rgba(0,0,0,.9);animation:event 2.6s ease forwards;white-space:nowrap}.blackout{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none}.mission-map{position:absolute;left:24px;bottom:22px;padding:12px 14px 10px;background:#091015c7;border:1px solid rgba(216,229,230,.15);border-radius:3px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mission-map svg{display:block;overflow:visible}.map-path{fill:none;stroke:#9fd4ff8c;stroke-width:1.2;stroke-dasharray:3 3}.map-body{fill:#1f5f9e}.map-body.moon{fill:#9a9893}.map-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;fill:#e8edf4b3;text-anchor:middle}.map-tick{fill:#e8edf473}.map-tick.on{fill:var(--accent)}.map-craft{fill:#fff;stroke:var(--accent);stroke-width:1.5;filter:drop-shadow(0 0 6px rgba(127,227,255,.9))}.map-phase{display:flex;flex-direction:column;gap:2px;margin-top:8px}.map-phase b{font-size:13px;font-weight:500}@media (max-width: 760px){.mission-map{display:none}}.endcard{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000;animation:fade 1.2s ease}.endcard-inner{text-align:center}.endcard h2{font-size:clamp(30px,5vw,52px);margin:10px 0 12px;letter-spacing:-.03em}.endcard p{color:var(--dim);margin:0 0 28px;font-size:14px}.hint{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:14px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes event{0%{opacity:0;letter-spacing:.6em}14%{opacity:1;letter-spacing:.3em}72%{opacity:1}to{opacity:0;letter-spacing:.24em}}.hud-tl,.hud-bl{padding:16px 18px;background:linear-gradient(125deg,#091015e0,#091015a6);border:1px solid rgba(216,229,230,.15);border-radius:3px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 30px #00000018}.hud-bl{max-width:460px}.hud-bl .btn-row{flex-wrap:wrap;gap:8px}.hud-bl .btn{padding:11px 16px}.hud-tl .eyebrow,.hud-bl .eyebrow,.callout p,.hint{color:#a9b7bf}.btn{border-radius:3px}.btn:disabled{opacity:.35;cursor:default;transform:none}.btn:focus-visible,.card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.telemetry{border-radius:3px;border-top-color:#7fe3ff55;background:#091015d6}.clock{font-size:clamp(25px,3vw,40px)}@media (max-width: 760px){.hud-tl{top:12px;left:12px;padding:10px 12px}.hud-hint{display:none}.hud-bl{bottom:12px;left:12px;max-width:calc(100vw - 24px);padding:12px}.callout p{font-size:12px}.telemetry{bottom:12px;right:12px;padding:12px;min-width:160px}.clock{top:100px}.event{font-size:14px;letter-spacing:.15em}}@media (prefers-reduced-motion: reduce){.card,.btn{transition:none}.progress i.next,.event,.title,.callout,.endcard{animation:none}}@media (max-width: 760px){.hud-tl .progress i{width:14px}.endcard .btn-row{flex-wrap:wrap;padding:0 20px}}.mission-instruments .clock{white-space:nowrap}.mission-instruments{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mission-instruments .event{top:23%;font-size:clamp(12px,1.3vw,18px)}.mission-intertitle{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;background:transparent}.mission-intertitle span{font-family:var(--mono);color:#a9b7bf;font-size:10px;letter-spacing:.28em}.mission-intertitle h2{font-size:clamp(26px,4vw,46px);font-weight:300;letter-spacing:.12em;margin:20px 0}.title-brand{display:flex;justify-content:space-between}.title-brand>span{color:#e8d5a3;font-size:10px;text-shadow:0 1px 14px rgba(0,0,0,.9)}.title-hero{max-width:620px;gap:16px}.title h1{font-size:clamp(48px,6vw,86px)}.difficulty-picker{margin-top:12px;max-width:590px;pointer-events:auto}.difficulty-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.difficulty-option{color:#a6b2bc;background:#09121cbd;border:1px solid #ffffff22;padding:13px;text-align:left;cursor:pointer;font-family:inherit;display:grid;gap:7px}.difficulty-option strong{font-size:17px;color:var(--ink);font-weight:500}.difficulty-option>span:last-child{line-height:1.45;font-size:11px}.difficulty-option.selected{border-color:#a5cbb5;background:#192b29d9;box-shadow:inset 0 2px #a5cbb5}.difficulty-option.selected .eyebrow{color:#b3d6c0}.difficulty-detail{color:#b4c0ca;font:10px/1.5 var(--mono);margin:10px 0 0;min-height:30px}.card{min-width:235px;border-radius:3px}.card-best{color:#b5c5bd;font:8px/1.5 var(--mono);letter-spacing:.07em;margin-top:7px}.title-site{bottom:190px}button,select,input{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #b7e5cd;outline-offset:3px}button:disabled{cursor:default;opacity:.4}.build-header{position:absolute;top:20px;left:24px;right:24px;display:flex;align-items:center;gap:35px;padding:16px 20px;background:#091019ee;border:1px solid #e3eeee24}.build-header h2{font-weight:500;margin:5px 0 0;font-size:23px}.build-header>.text-button{margin-left:auto}.build-score{display:grid;gap:5px;border-left:1px solid #ffffff24;padding-left:30px}.build-score b{font:22px var(--mono);color:#d9ba80}.build-score small{font-size:10px}.build-score span{font:8px var(--mono);letter-spacing:.11em;color:#a9b8c4}.engineering-console,.hardware-inventory{position:absolute;top:123px;bottom:44px;background:#0a121cee;border:1px solid #d7e4df2b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.engineering-console{left:24px;width:320px;padding:20px;overflow-y:auto;scrollbar-width:thin}.console-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.console-topline b{font:12px var(--mono);color:#bbd1c3}.integration-track{display:flex;gap:3px;margin-bottom:25px}.integration-track i{flex:1;height:3px;background:#364450}.integration-track .done{background:#b8dac4;box-shadow:0 0 8px #b8dac433}.engineering-console h3{margin:10px 0;font-weight:500;font-size:22px;letter-spacing:-.03em}.part-description,.empty-workbench p{color:#a7b5c0;font-size:12px;line-height:1.65}.spec-plate{border:1px solid #e0e7e326;border-left:2px solid #d2b779;padding:10px;color:#c8c3b2;font:9px/1.6 var(--mono);margin:16px 0}.alignment{margin-top:8px}.alignment-instrument{display:flex;align-items:center;gap:10px}.alignment-instrument svg{width:130px;flex-shrink:0;stroke:#667684;fill:none;stroke-width:1}.alignment-instrument svg .dial-needle{stroke:#daba7e;stroke-width:2}.alignment-instrument svg .dial-target{stroke:#a7dac0;stroke-width:2}.alignment-instrument svg text{stroke:none;fill:#e9eded;font:14px var(--mono)}.alignment-instrument>div{display:grid;gap:8px}.alignment-instrument strong{font:14px var(--mono)}.alignment-instrument small{color:#d4b57a;font:8px var(--mono)}.aligned .alignment-instrument small{color:#a7dac0}.rotation-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:8px 0 10px}.rotation-controls button{border:1px solid #dce3e632;background:#ffffff08;color:#dde5e6;font:12px var(--mono);padding:10px 0;cursor:pointer}.rotation-controls button:hover{background:#d3e5df18}.tool-hint{display:block;font:9px/1.6 var(--mono);color:#a4b0bc}.mate-button{width:100%;margin-top:18px;background:#bfd5c8;display:flex;justify-content:space-between}.engineering-feedback{font-size:12px;line-height:1.5;padding:12px;margin-top:16px;border:1px solid #bfdec636;border-left:2px solid #acd6b9;background:#a5d5bc0a;color:#c0dccb;animation:fade .2s ease}.engineering-feedback.bad{color:#e9ae9e;border-color:#d8856640;border-left-color:#d88566;background:#dc715c0b}.engineering-feedback.info{color:#c2ccd5;border-color:#9dbdd440}.console-actions{display:flex;gap:15px;border-top:1px solid #ffffff17;padding-top:15px;margin-top:18px}.text-button{color:#bac6cd;border:0;background:transparent;padding:4px 0;font:10px var(--mono);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.simulation-note{color:#83939f;font-size:9px;line-height:1.5;margin:18px 0 0}.hardware-inventory{right:24px;width:274px;display:flex;flex-direction:column}.inventory-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 14px;border-bottom:1px solid #ffffff1b}.inventory-heading>span:last-child{font:9px var(--mono);color:#96a7b3}.inventory-parts{padding:8px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;scrollbar-width:thin}.hardware-card{display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:70px;padding:8px;border:1px solid #ccdce521;background:#101d28b3;color:#c1ccd5;text-align:left;cursor:pointer}.hardware-card:hover{border-color:#a9bfb97a;background:#1d2b35}.hardware-card.selected{border-color:#b9cdb8;background:#263530}.hardware-icon{width:34px;height:48px;flex-shrink:0;color:#b7c6d2}.hardware-card>span{display:grid;gap:7px}.hardware-card b{font-size:11px;font-weight:500}.hardware-card small{color:#8e9fab;font:8px var(--mono);text-transform:uppercase}.hardware-card em{margin-left:auto;font-style:normal;color:#b9d5c6}.empty-workbench{padding:15px 0}.workbench-cross{font-size:52px;font-weight:300;color:#b7cbbb}.empty-workbench small{color:#cebc91;font:10px/1.8 var(--mono)}.engineering-view-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#c2cdd6;text-shadow:0 1px 10px #000;font:9px var(--mono);pointer-events:none;white-space:nowrap}.bolt-drawing{width:100%;aspect-ratio:220/180;position:relative}.bolt-drawing svg{width:100%;height:100%;fill:none;stroke:#50616c}.bolt-drawing svg path{stroke:#5d6f763d;stroke-dasharray:3 4}.bolt-drawing svg path.completed{stroke:#bbd7c5;stroke-dasharray:none}.bolt{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;background:#202c36;border:1px solid #91a3ac;color:#dbe5e8;border-radius:50%;font:12px var(--mono);cursor:pointer}.bolt.secured{background:#b8d3c2;color:#102820;border-color:#b8d3c2;opacity:1}.joint-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:20px var(--mono);text-align:center}.joint-center small{display:block;color:#8faaa1;font-size:7px;margin-top:5px;letter-spacing:.12em}.sequence{text-align:center;font:11px/1.8 var(--mono);color:#8296a3}.sequence .done{color:#9eb9a7}.sequence .current{color:#f0ce84}.instrument-label{display:flex;align-items:center;justify-content:space-between;margin:20px 0 14px;color:#a3b3bf;font:10px var(--mono)}.instrument-label b{color:#e0e9e7;font-size:32px;font-weight:500}.instrument-label b small{font-size:12px}.load-gauge{height:28px;background:repeating-linear-gradient(90deg,#ffffff09 0,#ffffff09 calc(10% - 1px),#050a1050 calc(10% - 1px),#050a1050 10%);position:relative;border:1px solid #e0e9e32b}.load-gauge .acceptance{position:absolute;top:0;bottom:0;background:#8ddb9e55;border-left:1px solid #b9e8bb;border-right:1px solid #b9e8bb}.gauge-fill{position:absolute;inset:0 auto 0 0;background:#cbd9db17}.load-gauge>span{position:absolute;width:2px;top:-5px;bottom:-5px;background:#f1ddae;box-shadow:0 0 12px #f1ddae44}.scale-labels{display:flex;justify-content:space-between;margin-top:10px;color:#a1bba9;font:8px var(--mono)}.torque-button{margin:22px 0 8px;width:100%;background:#c4d6c8;touch-action:none;-webkit-user-select:none;user-select:none}.torque-button.holding{background:#eed6a0}.build-rating{margin:18px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.build-rating strong{font:18px var(--mono)}.build-rating>span{color:#a8b8c3;font:10px var(--mono)}.rating-stars{color:#e6c27c;letter-spacing:.12em;font:20px var(--mono)}.endcard .build-rating{justify-content:center;margin-bottom:25px}.checkout-wrap{position:absolute;top:0;right:0;bottom:0;left:0;background:#02070c77;display:grid;place-items:center;padding:20px;overflow-y:auto}.checkout-panel{max-width:630px;width:100%;background:#0a131eef;border:1px solid #d3e4da36;padding:32px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.checkout-panel h2{font-size:clamp(25px,4vw,38px);font-weight:500;letter-spacing:-.035em;margin:12px 0 24px}.checkout-steps{display:flex;border-block:1px solid #ffffff1a;padding:15px 0;gap:15px;margin-bottom:28px}.checkout-steps>div{color:#7c8d9b;font:9px/1.6 var(--mono);flex:1}.checkout-steps span{display:block;margin-bottom:5px;font-size:15px}.checkout-steps .go{color:#b6d4bd}.checkout-steps .active{color:#edd4a0}.checkout-instrument h3{font-size:23px;font-weight:500;margin:10px 0}.checkout-instrument p{color:#a8b8c4;font-size:12px;line-height:1.6}.wiring-panel{margin:25px 0;display:grid;gap:12px}.wiring-panel label{display:flex;justify-content:space-between;align-items:center;gap:10px}.wiring-panel label>span{font:10px var(--mono)}.wiring-panel i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d1b580;margin-right:10px}.wiring-panel label:nth-child(2) i{background:#9fcde0}.wiring-panel label:nth-child(3) i{background:#c8d9c2}.wiring-panel select{color:#d1dfdf;background:#162430;border:1px solid #adbfb544;border-radius:0;padding:11px 8px;font:10px var(--mono);width:190px}.checkout-run{display:flex;justify-content:space-between;width:100%;background:#bfd5c8;margin-top:28px}.checkout-instrument input[type=range]{width:100%;margin:22px 0 10px;accent-color:#bddbc7}.heading-display{display:flex;justify-content:space-around;margin:25px 0}.heading-display span{color:#aebac6;font:9px var(--mono)}.heading-display strong{font-size:40px;font-weight:500;display:block;margin-top:8px}.heading-display .matched{color:#b8ddc3}@media (max-width: 1100px) and (min-width: 761px){.engineering-console{width:280px;left:14px;padding:15px}.hardware-inventory{width:230px;right:14px}.build-header{left:14px;right:14px}.card{min-width:210px}.title-site{display:none}}@media (max-height: 800px) and (min-width: 761px){.title h1{font-size:60px}.title-hero{gap:12px}.difficulty-picker{margin-top:0}.title{padding-top:25px;padding-bottom:25px}.difficulty-option{padding:10px}.card svg{height:70px}}@media (max-width: 760px){.title{overflow-y:auto;padding:20px;gap:26px}.title-hero{gap:14px;align-self:start}.title h1{font-size:54px}.title-brand{font-size:9px}.title-brand>span{font-size:8px}.difficulty-picker{margin-top:5px}.difficulty-option{padding:10px 8px}.difficulty-option strong{font-size:15px}.difficulty-option>span:last-child{font-size:10px}.difficulty-options{gap:5px}.cards{gap:8px}.card{padding:10px 14px;grid-template-columns:26px 1fr auto}.card svg{width:26px;height:52px}.card-name{font-size:18px}.card-meta{font-size:9px}.card-best{margin-top:2px}.build-header{top:10px;left:10px;right:10px;padding:12px;gap:10px}.build-header h2{font-size:17px}.build-header .eyebrow{font-size:7px}.build-score{padding-left:10px}.build-score b{font-size:16px}.build-score span{display:none}.build-header>.text-button{font-size:8px}.hardware-inventory{top:auto;bottom:8px;left:8px;right:8px;width:auto;height:108px}.inventory-heading{padding:9px 11px}.inventory-heading .eyebrow{font-size:8px}.inventory-parts{flex-direction:row;padding:5px;overflow-x:auto;overflow-y:hidden}.hardware-card{min-height:60px;width:182px;padding:5px}.hardware-icon{width:26px;height:42px}.hardware-card b{font-size:10px}.engineering-console{top:auto;bottom:124px;left:8px;right:8px;width:auto;max-height:38vh;padding:14px}.integration-track{margin-bottom:14px}.engineering-console h3{font-size:19px}.part-description{display:none}.spec-plate{margin:10px 0}.alignment-instrument svg{width:95px}.rotation-controls button{padding:10px}.engineering-console .simulation-note{font-size:8px}.engineering-view-hint{bottom:auto;top:91px;font-size:8px}.empty-workbench{padding:0}.workbench-cross{display:none}.console-actions{margin-top:12px;padding-top:12px}.bolt-drawing{max-width:230px;margin:auto}.checkout-panel{padding:22px 18px}.checkout-wrap{padding:12px}.wiring-panel label{flex-wrap:wrap}.wiring-panel select{width:170px}.checkout-steps{gap:8px}}@media (prefers-reduced-motion: reduce){.engineering-feedback{animation:none}}@media (max-width: 760px){.engineering-console .spec-plate{display:none}.engineering-console .alignment-instrument svg{width:78px}.engineering-console .alignment>.tool-hint{display:none}.engineering-console .mate-button{margin-top:10px;padding-block:12px}.engineering-console .alignment{margin-top:0}}.commit-board{margin-top:12px;padding:10px 12px;border-left:2px solid #5ad6a0;background:#060a1099;font-family:var(--mono)}.commit-board.waive{border-left-color:#f2a33c}.commit-board.foul{border-left-color:#e2604c}.commit-board .readiness-head b{font-size:10px;letter-spacing:.14em;opacity:.8}.commit-line{display:grid;grid-template-columns:52px 1fr auto;grid-template-areas:"status name value" "status name limit";gap:0 10px;margin:8px 0 0;font-size:11px;align-items:baseline}.commit-line i{grid-area:status;font-style:normal;font-size:9px;letter-spacing:.16em;padding:2px 0;text-align:center;border:1px solid currentColor}.commit-line.go i{color:#5ad6a0}.commit-line.watch i{color:#f2a33c}.commit-line.nogo i{color:#ff5c4a;background:#ff5c4a1f}.commit-line span{grid-area:name}.commit-line b{grid-area:value;font-weight:500;text-align:right}.commit-line small{grid-area:limit;font-size:9px;opacity:.5;text-align:right;letter-spacing:.08em;text-transform:uppercase}.commit-note{margin:8px 0 0;font-size:11px;line-height:1.45;color:var(--dim)}.commit-note.bad{color:#ff8a7a}.commit-note.warn{color:#f2c98a}.btn.warn{border-color:#f2a33c;color:#f2a33c}.deck-training.alert,.deck-hint.alert{color:#ff5c4a;border-color:#ff5c4a99;opacity:1}.readiness-review{margin:16px 0 4px;padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-left:2px solid #f2a33c;background:#080c128c;text-align:left}.readiness-review.nominal{border-left-color:#5ad6a0}.readiness-review.bad{border-left-color:#e2604c}.readiness-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.readiness-head b{font-size:12px;letter-spacing:.16em}.readiness-bar{height:3px;margin:10px 0 8px;background:#ffffff1a}.readiness-bar i{display:block;height:100%;background:#f2a33c}.readiness-review.nominal .readiness-bar i{background:#5ad6a0}.readiness-review.bad .readiness-bar i{background:#e2604c}.readiness-line{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.readiness-weak{margin:8px 0 0;font-size:12px;opacity:.75}.readiness-risk{margin:10px 0 0;font-size:12px;line-height:1.5;opacity:.8}.readiness-risk span{display:inline-block;margin-right:8px;padding:1px 6px;border:1px solid currentColor;font-size:10px;letter-spacing:.14em;vertical-align:1px}.readiness-risk b{display:block;margin:4px 0 2px}.readiness-risk.caution{color:#e2a04c;opacity:1}.mute-button{position:absolute;right:18px;bottom:16px;z-index:40;display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(255,255,255,.16);background:#060a1080;color:#eaf0f6;font:inherit;font-size:11px;letter-spacing:.16em;cursor:pointer;pointer-events:auto;opacity:.45;transition:opacity .2s ease,border-color .2s ease}.mute-button:hover{opacity:1;border-color:#ffffff59}.mute-button.off{color:#9aa6b2}.mute-button span{opacity:.8}.flight-deck{position:absolute;left:50%;bottom:22px;transform:translate(-50%);z-index:30;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"head head head" "throttle stick structure";gap:10px 22px;width:min(760px,calc(100vw - 48px));padding:12px 18px 14px;border:1px solid rgba(255,255,255,.12);border-radius:3px;background:#060a10b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .3s ease;font-family:var(--mono)}.flight-deck.live{border-color:#f2a33cb3}.flight-deck.lost{border-color:#ff5c4ad9}.flight-deck.landing .deck-head .eyebrow{color:#7fe3ff}.flight-deck.landing.live{border-color:#7fe3ff8c}.throttle-tape .deadband{position:absolute;left:0;bottom:0;width:100%;background:repeating-linear-gradient(135deg,rgba(255,92,74,.18) 0 3px,transparent 3px 7px)}.throttle-tape .deadband.top{bottom:auto;top:0}.deck-note.alert{color:#ff5c4a;opacity:1;animation:blink .9s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.deck-head{grid-area:head;display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}.deck-head .eyebrow{color:#f2a33c}.deck-training{font-style:normal;margin-left:10px;padding:1px 6px;border:1px solid rgba(127,227,255,.5);color:#7fe3ff;font-size:9px;letter-spacing:.18em}.flight-deck.lost .deck-head .eyebrow{color:#ff5c4a}.deck-hint{font-size:10.5px;opacity:.7;text-align:right}.deck-readout{display:flex;flex-direction:column;gap:2px}.deck-readout b{font-size:22px;font-weight:500;letter-spacing:.02em;line-height:1;font-variant-numeric:tabular-nums}.deck-readout b small{font-size:12px;opacity:.6;margin-left:2px}.deck-readout>small{font-size:9.5px;letter-spacing:.12em;opacity:.6}.deck-readout b.warn{color:#f2a33c}.deck-readout b.over{color:#ff5c4a}.deck-note{font-size:9.5px;letter-spacing:.1em;opacity:.55;text-transform:uppercase}.deck-throttle{grid-area:throttle;display:flex;gap:12px;align-items:flex-end}.throttle-tape{position:relative;width:30px;height:104px;background:#ffffff12;overflow:hidden;cursor:ns-resize;touch-action:none}.throttle-tape .actual{position:absolute;left:0;bottom:0;width:100%;background:#ffffff47}.throttle-tape .actual.on{background:#5ad6a080}.throttle-tape .commanded{position:absolute;left:-3px;width:36px;height:2px;background:#f2a33c}.throttle-tape .bucket{position:absolute;left:0;width:100%;height:1px;background:#fff3}.deck-stick{grid-area:stick;display:flex;flex-direction:column;gap:8px;min-width:0}.aoa-tape{position:relative;height:34px;background:#ffffff12;overflow:hidden;cursor:ew-resize;touch-action:none}.aoa-tape .band{position:absolute;top:0;bottom:0;background:#5ad6a02e;border-left:1px solid rgba(90,214,160,.5);border-right:1px solid rgba(90,214,160,.5)}.aoa-tape .centre{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ffffff59}.aoa-tape .stick{position:absolute;top:24px;width:8px;height:8px;margin-left:-4px;background:#ffffff73;transform:rotate(45deg)}.aoa-tape .needle{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 8px #fffc}.aoa-tape .needle.over{background:#ff5c4a;box-shadow:0 0 10px #ff5c4ae6}.aoa-tape .scale{position:absolute;top:4px;font-size:9px;opacity:.5}.aoa-tape .scale.l{left:6px}.aoa-tape .scale.r{right:6px}.deck-structure{grid-area:structure;display:flex;flex-direction:column;gap:6px;width:170px}.deck-structure .deck-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load-bar{position:relative;height:8px;background:#ffffff14;overflow:hidden}.load-bar .fill{position:absolute;left:0;top:0;bottom:0;background:#ffffff80;transition:width .1s linear}.load-bar .fill.warn{background:#f2a33c}.load-bar .fill.over{background:#ff5c4a}.load-bar .limit{position:absolute;left:calc(100% / 1.4);top:0;bottom:0;width:2px;background:#ff5c4a}.load-bar.margin .fill{background:#7fe3ffb3;transition:width .25s ease}.gate-toast{position:absolute;left:50%;bottom:236px;transform:translate(-50%);z-index:31;padding:8px 16px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(90,214,160,.6);background:#060a10d9;animation:toast 3s ease forwards}.gate-toast.bad{border-color:#ff5c4ab3}@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)}12%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0}}.flight-report{margin:14px auto 0;max-width:520px;text-align:left;font-family:var(--mono)}.gate-line{display:grid;grid-template-columns:1fr auto 56px;gap:12px;margin:0;padding:6px 0;border-top:1px solid rgba(255,255,255,.08);font-size:11.5px}.gate-line span{opacity:.75}.gate-line b{font-weight:500;letter-spacing:.08em}.gate-line em{font-style:normal;text-align:right;opacity:.8}.gate-line.good b{color:#5ad6a0}.gate-line.bad b,.endcard.lost h2{color:#ff5c4a}@media (max-width: 760px){.flight-deck{grid-template-columns:auto 1fr;grid-template-areas:"head head" "throttle stick" "structure structure";gap:8px 14px;padding:10px 12px;bottom:12px}.deck-hint{display:none}.deck-structure{min-width:0}.gate-toast{bottom:300px}}.readiness-panel{max-height:calc(100dvh - 140px);overflow-y:auto;scrollbar-width:thin;max-width:580px}.recovery-button{grid-column:1 / -1;border-color:#f2a33c;background:#332015;color:#ffd7a0}@media (max-width: 760px){.readiness-panel{max-height:calc(100dvh - 155px);width:calc(100vw - 24px)}.commit-line{grid-template-columns:46px 1fr;grid-template-areas:"status name" "status value" "status limit";row-gap:4px}.commit-line b,.commit-line small{text-align:left}}.launch-lighting{display:flex;gap:8px;align-items:center;pointer-events:auto}.launch-lighting button,.camera-controls button{border:1px solid #b2c8ce45;background:#0c1721d9;color:#acbbc6;font:10px var(--mono);padding:9px 12px;cursor:pointer}.launch-lighting button[aria-pressed=true],.camera-controls button[aria-pressed=true]{border-color:#c7ddce;color:#dcefe2;background:#283e35e6}.camera-controls{position:absolute;top:22px;right:24px;display:flex;gap:5px;pointer-events:auto}@media (max-width:760px){.camera-controls{top:118px;right:12px}.camera-controls button{font-size:9px;padding:8px}.launch-lighting .eyebrow{font-size:8px}}.cards{max-width:calc(100vw - 64px);overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}@media (max-width:760px){.cards{max-width:none;overflow:visible}}.journal-open,.photo-open{font:10px var(--mono);color:#c4d8d3;background:#0b1820df;border:1px solid #b3cfc43a;padding:10px 14px;cursor:pointer;pointer-events:auto}.journal-open{align-self:flex-start}.photo-open{position:absolute;right:24px;top:65px}.journal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#02070eed;padding:24px;pointer-events:auto;overflow-y:auto}.journal-wrap section{max-width:850px;width:100%;background:#0d1b25;border:1px solid #a8c0b833;padding:25px;max-height:95dvh;overflow:auto}.journal-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.journal-head h2{font-weight:400;font-size:28px}.journal-wrap p{color:#a7b7c3;font-size:13px;line-height:1.7}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.badge-grid article{padding:18px;border:1px solid #a1b4bb25;opacity:.55}.badge-grid .earned{opacity:1;border-color:#d5ba7655;background:#d5ba7608}.badge-grid article>span{font-size:26px;color:#dfc58b}.badge-grid h3{font-size:17px;font-weight:400}.badge-grid small{font:8px var(--mono);color:#b9d1bf}.earned-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0}.earned-badges span{font:11px var(--mono);color:#efd08b;border:1px solid #efd08b44;padding:9px}.photo-toolbar,.replay-controls{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:#07121cec;border:1px solid #bad3ca40;padding:14px;display:flex;align-items:center;gap:12px;pointer-events:auto;max-width:calc(100vw - 24px)}.photo-toolbar span,.replay-controls span{font:10px var(--mono);color:#bdcecf}.photo-toolbar .btn{white-space:nowrap}.replay-controls{width:900px}.replay-controls input{flex:1;min-width:60px;accent-color:#bddac5}.replay-controls button{font:10px var(--mono);border:1px solid #c0d6d33a;color:#cee0dc;background:#233b35;padding:10px;cursor:pointer;white-space:nowrap}@media (max-width:760px){.badge-grid{grid-template-columns:1fr}.journal-wrap{padding:12px}.journal-head h2{font-size:21px}.photo-open{top:158px;right:12px}.photo-toolbar,.replay-controls{flex-wrap:wrap;bottom:12px}.photo-toolbar span{width:100%}.replay-controls .eyebrow{display:none}.photo-toolbar .btn{font-size:11px;padding:10px}.replay-controls input{min-width:80px}}
