@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-latin.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-latin.woff2)format("woff2")}:root{--bg:#030302;--ink:#030302;--glass:#020203d6;--amber:#f2dc4b;--amber-hi:#fff6b4;--lav:#a3a2ff;--lav-dim:#a3a2ff73;--amber-dim:#f2dc4b73;--amber-line:#f2dc4b52;--amber-faint:#f2dc4b1f;--red:#ff3a36;--red-dim:#ff3a3666;--green:#7dff9c;--text:#f5efc6;--muted:#9a9160;--graphite:#4f4a2c;--line-soft:#f2dc4b33;--display:"Archivo", "Eurostile", "Arial Black", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--glow:0 0 1px #fffad773, 0 0 6px #f2dc4b80, 0 0 18px #f2dc4b33;--glow-strong:0 0 1px #fffce6e6, 0 0 7px #f2dc4bbf, 0 0 22px #f2dc4b59;--glow-red:0 0 1px #ffd2c880, 0 0 6px #ff3a3699, 0 0 18px #ff3a3640;--glow-lav:0 0 6px #a3a2ff80, 0 0 16px #a3a2ff33;--glow-soft:0 0 5px #f2dc4b47, 0 0 14px #f2dc4b1a;--line-glow:0 0 8px #f2dc4b24, inset 0 0 8px #f2dc4b0f;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-shadow:var(--glow-soft);margin:0;font-size:13px;overflow:hidden}::selection{background:var(--amber);color:var(--ink)}#app{position:fixed;inset:0}canvas.gl{touch-action:none;display:block;position:absolute;inset:0}.ui-layer{pointer-events:none;position:absolute;inset:0}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:11px}.panel{pointer-events:auto;background:linear-gradient(var(--amber), var(--amber)) left top / 12px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) left top / 2px 12px no-repeat, linear-gradient(var(--amber), var(--amber)) right top / 12px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) right top / 2px 12px no-repeat, linear-gradient(var(--amber), var(--amber)) left bottom / 12px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) left bottom / 2px 12px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 12px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 2px 12px no-repeat, var(--glass);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:0;box-shadow:0 0 14px #f2dc4b1a,inset 0 0 24px #f2dc4b0d,0 0 30px #0009}.panel-title{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);text-shadow:var(--glow);border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px 7px;font-size:11px;font-weight:700;font-stretch:125%;display:flex}.panel-title:before{content:"";border:1.5px solid var(--amber);width:7px;height:7px;box-shadow:var(--glow);border-radius:50%;flex-shrink:0}.panel-title:not(.row):after{content:"";opacity:.45;background:repeating-linear-gradient(90deg, var(--amber) 0 2px, transparent 2px 6px);flex:1;height:5px;margin-left:6px;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.panel-title.row{justify-content:space-between}.panel-title.row>span:first-child{flex:1}.sub{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:12px 0 5px;font-size:10px}.sub:before{content:"// ";color:var(--lav)}.hint{color:var(--muted);text-shadow:none;padding:6px 12px 10px;font-size:11px;line-height:1.5}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn{font:inherit;color:var(--amber);border:1px solid var(--amber-dim);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;text-shadow:var(--glow);background:0 0;border-radius:0;padding:7px 12px;font-size:11px;transition:border-color .12s linear,background .12s linear,color .12s linear,box-shadow .12s linear;position:relative}.btn:hover:not(:disabled){border-color:var(--amber);color:var(--amber-hi);text-shadow:var(--glow-strong);box-shadow:0 0 10px #f2dc4b59,inset 0 0 10px #f2dc4b24}.btn:active:not(:disabled){border-color:var(--amber-hi);box-shadow:0 0 16px #f2dc4b80,inset 0 0 14px #f2dc4b38}.btn:focus-visible{outline:1px dashed var(--amber-hi);outline-offset:3px}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.primary{border:1.5px solid var(--amber);color:var(--amber-hi);text-shadow:var(--glow-strong);font-weight:500;box-shadow:0 0 10px #f2dc4b4d,inset 0 0 10px #f2dc4b1f}.btn.primary:hover:not(:disabled){border-color:var(--amber-hi);box-shadow:0 0 18px #fff6b480,inset 0 0 14px #f2dc4b33}.btn.danger{border-color:var(--red-dim);color:var(--red);text-shadow:var(--glow-red)}.btn.danger:hover:not(:disabled){border-color:var(--red);color:#ffc9c2;text-shadow:var(--glow-red);box-shadow:0 0 10px #ff3a3666,inset 0 0 10px #ff3a3626}.btn.ghost{background:0 0;border-style:dashed}.btn.tiny{padding:3px 7px;font-size:10.5px}.btn.wide{text-align:left;justify-content:space-between;gap:10px;width:100%;margin-bottom:6px;display:flex}.btn.wide b{font-weight:500}.btn.wide .muted{text-transform:none;letter-spacing:.02em}.btn.on{border-color:var(--amber);color:var(--amber-hi);text-shadow:var(--glow-strong);box-shadow:inset 2px 0 0 var(--amber), 0 0 8px #f2dc4b40}kbd{font:inherit;color:var(--amber-hi);border:1px solid var(--amber-dim);white-space:nowrap;text-shadow:var(--glow);background:0 0;border-radius:2px;padding:0 5px;font-size:11px}.loading,.fatal{background:radial-gradient(ellipse at 50% 50%, #f2dc4b14, transparent 60%), var(--bg);z-index:50;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .6s;display:flex;position:fixed;inset:0}.loading.done{opacity:0;pointer-events:none}.load-logo{font-family:var(--display);letter-spacing:.08em;color:#0000;-webkit-text-stroke:2px var(--amber);text-shadow:none;filter:drop-shadow(0 0 8px #f2dc4bb3);font-size:96px;font-weight:800;font-stretch:125%;line-height:.85}.load-logo.small{letter-spacing:.2em;color:var(--red);-webkit-text-stroke:0;filter:drop-shadow(0 0 6px #ff3a36cc);font-size:20px}.load-tag{font-family:var(--mono);color:var(--amber);letter-spacing:.3em;text-transform:uppercase;font-size:12px}.loading .load-tag,.fatal .load-tag{color:var(--muted);font-size:11px}.load-bar{border:1px solid var(--amber-dim);background:0 0;width:min(380px,70vw);height:10px;padding:2px}.load-fill{background:repeating-linear-gradient(90deg, var(--amber) 0 8px, transparent 8px 11px);filter:drop-shadow(0 0 6px #f2dc4bcc);width:0;height:100%;transition:width .35s var(--ease-out)}.load-text{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.load-text:after{content:"█";color:var(--amber);margin-left:4px;animation:.9s steps(2,jump-none) infinite blink}.fatal .modal{text-align:center;border-color:var(--red-dim);max-width:460px;padding:22px}.fatal p{color:var(--text);line-height:1.6}.rollout{background:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:12px;animation:.2s linear pop-in;display:flex;position:absolute;inset:0}.rollout .fig{letter-spacing:.3em;text-transform:uppercase;color:var(--red);text-shadow:var(--glow-red);font-size:12px;animation:.8s steps(2,jump-none) 4 blink}.rollout .display{font-size:clamp(56px,9vw,110px);animation:.6s steps(6,end) both power-on}.perf-overlay{text-align:right;z-index:60;color:var(--green);white-space:pre;pointer-events:none;background:#000000b3;padding:4px 8px;font:11px/1.4 ui-monospace,monospace;position:fixed;bottom:4px;right:8px}.toasts{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;top:96px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--amber-dim);border-left:4px solid var(--amber);letter-spacing:.08em;text-transform:uppercase;color:var(--amber-hi);background:#020203f0;max-width:80vw;padding:7px 14px;font-size:11.5px;transition:opacity .5s,transform .5s;animation:.3s steps(4,end) toast-in;box-shadow:0 0 18px #f2dc4b33}.toast:before{content:"> ";color:var(--amber)}.toast.good{border-left-color:var(--green)}.toast.bad{border-color:var(--red-dim);border-left-color:var(--red);color:#ffb3a8;text-shadow:var(--glow-red)}.toast.bad:before{content:"!! ";color:var(--red)}.toast.out{opacity:0;transform:translateY(-6px)}.builder-ui>*{position:absolute}.topbar{align-items:center;gap:8px;height:54px;padding:0 14px;display:flex;top:12px;left:12px;right:12px}.logo{font-family:var(--display);letter-spacing:.1em;color:#0000;-webkit-text-stroke:1px var(--amber);filter:drop-shadow(0 0 5px #f2dc4bb3);text-shadow:none;align-items:baseline;gap:14px;margin-right:10px;font-size:22px;font-weight:800;font-stretch:125%;display:flex}.logo span{font-family:var(--mono);letter-spacing:.24em;color:var(--muted);-webkit-text-stroke:0;text-transform:uppercase;font-size:10px;font-weight:400}.craft-name{font:inherit;color:var(--amber-hi);border:1px solid var(--amber-line);letter-spacing:.1em;text-transform:uppercase;width:min(280px,34vw);text-shadow:var(--glow);caret-color:var(--amber);background:0 0;border-radius:0;padding:7px 10px}.craft-name::placeholder{color:var(--graphite)}.craft-name:focus{border-color:var(--amber);outline:none;box-shadow:0 0 12px #f2dc4b40}.spacer{flex:1}.btn.launch{letter-spacing:.2em;padding:8px 18px;overflow:hidden}.btn.launch:disabled{opacity:1;color:var(--red);border-color:var(--red);text-shadow:var(--glow-red);background:0 0;animation:1.1s ease-in-out infinite alarm}.btn.launch.ready:not(:disabled):after{content:"";width:40%;animation:sheen 3.4s var(--ease-in-out) 1s infinite;pointer-events:none;background:linear-gradient(100deg,#0000,#fff6b429,#0000);position:absolute;top:0;bottom:0;left:-60%}.side{flex-direction:column;width:300px;display:flex;top:78px;bottom:12px;overflow:hidden}.side.left{left:12px}.side.right{width:330px;padding-bottom:12px;right:12px;overflow-y:auto}.side.right,.palette,.modal,.menu-instrument,.menu-list{scrollbar-color:var(--amber-dim) transparent;scrollbar-width:thin}.tabs{flex-wrap:wrap;gap:4px;padding:0 10px 8px;display:flex}.build-tools{gap:4px;padding:0 10px 8px}.selection .attach-info{color:var(--amber-hi)}.selection .attach-info:before{content:"◯ ";color:var(--lav)}.tab{font:inherit;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-soft);cursor:pointer;background:0 0;border-radius:0;padding:4px 8px;font-size:10.5px;transition:color .12s,border-color .12s,background .12s}.tab:hover{color:var(--amber);border-color:var(--amber-dim)}.tab.on{color:var(--amber-hi);border-color:var(--amber);text-shadow:var(--glow-strong);box-shadow:inset 0 -2px 0 var(--amber), 0 0 8px #f2dc4b40}.palette{flex-direction:column;flex:1;gap:6px;padding:0 10px;display:flex;overflow-y:auto}.part-card{font:inherit;color:var(--text);text-align:left;border:1px solid var(--line-soft);cursor:grab;transition:border-color .12s linear, background .12s linear, transform .2s var(--ease-out);background:0 0;border-radius:0;grid-template-rows:auto auto auto;grid-template-columns:30px 1fr;gap:2px 8px;padding:8px 10px;animation:.32s steps(4,end) both power-on;display:grid;position:relative;overflow:hidden}.part-card:before{content:"";background:var(--amber);width:3px;box-shadow:var(--glow-strong);transition:transform .18s var(--ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.part-card:hover{border-color:var(--amber);box-shadow:var(--line-glow);transform:translate(4px)}.part-card:hover .name{text-shadow:var(--glow-strong)}.part-card:hover:before{transform:scaleY(1)}.part-card:active{transform:translate(4px)scale(.98)}.part-card .icon{color:var(--amber);text-shadow:var(--glow);transition:transform .2s var(--ease-out), text-shadow .2s;grid-row:1/4;justify-content:center;align-items:center;font-size:20px;display:flex}.part-card:hover .icon{text-shadow:var(--glow-strong);transform:scale(1.18)}.part-card .name{letter-spacing:.1em;text-transform:uppercase;color:var(--amber-hi);font-weight:500}.part-card .meta,.selection .meta{color:var(--lav);text-shadow:0 0 5px #a3a2ff59;font-size:10.5px}.part-card .blurb{color:var(--muted);text-shadow:none;font-size:10.5px}.part-card:nth-child(2){animation-delay:30ms}.part-card:nth-child(3){animation-delay:60ms}.part-card:nth-child(4){animation-delay:90ms}.part-card:nth-child(5){animation-delay:.12s}.part-card:nth-child(6){animation-delay:.15s}.part-card:nth-child(7){animation-delay:.18s}.part-card:nth-child(n+8){animation-delay:.21s}.stats{grid-template-columns:1fr 1fr;gap:6px;padding:0 12px;display:grid}.stat{border:1px solid var(--line-soft);border-left:2px solid var(--amber-dim);transition:border-color .3s var(--ease-out);background:0 0;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;text-shadow:none;font-size:9.5px}.stat b{color:var(--amber-hi);font-variant-numeric:tabular-nums;text-shadow:var(--glow-strong);font-size:15px;font-weight:500}.stat.good b,.readout b.good{color:var(--green);text-shadow:0 0 6px #7dff9c99}.stat.warn b,.readout b.warn{color:var(--amber)}.stat.bad b,.readout b.bad{color:var(--red);text-shadow:var(--glow-red)}.stat.bad{border-left-color:var(--red)}.stat.up,.stat.down{animation:.7s steps(5,end) stat-flash}.stat.up b:after,.stat.down b:after{margin-left:5px;font-size:10px;animation:1.4s linear forwards fade-late}.stat.up b:after{content:"▲";color:var(--amber)}.stat.down b:after{content:"▼";color:var(--muted)}.warnings{flex-direction:column;gap:4px;padding:8px 12px 0;display:flex}.warn-line{color:#ffb3a8;text-shadow:var(--glow-red);border-left:2px solid var(--red);padding:5px 8px;font-size:11px;box-shadow:-4px 0 10px -4px #ff3a36b3}.dv-meter{border:1px solid var(--line-soft);background:0 0;margin:10px 12px 0;padding:8px 8px 16px}.dv-head{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:9.5px;display:flex}.dv-head b{color:var(--amber-hi);letter-spacing:.04em;text-shadow:var(--glow);font-size:12px;font-weight:500}.dv-track{border:1px solid var(--amber-dim);height:10px;padding:1px;position:relative}.dv-fill{background:repeating-linear-gradient(90deg, var(--amber) 0 5px, transparent 5px 7px);filter:drop-shadow(0 0 4px #f2dc4bcc);width:0;height:100%;transition:width .6s steps(12,end)}.dv-tick{background:var(--amber-hi);width:2px;box-shadow:var(--glow-strong);position:absolute;top:-5px;bottom:-5px}.dv-tick em{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:9px;font-style:normal;position:absolute;top:16px;left:50%;transform:translate(-50%)}.dv-meter.ready .dv-head b,.dv-meter.ready .dv-tick em{color:var(--green);text-shadow:0 0 6px #7dff9c99}.dv-meter.ready .dv-fill{animation:1.6s ease-in-out infinite burn}.stages{flex-direction:column;gap:8px;padding:0 12px;display:flex}.stage-card{border:1px solid var(--line-soft);background:0 0}.stage-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:8px;padding:5px 8px;font-size:10.5px;display:flex}.stage-head b{color:var(--amber-hi);letter-spacing:.14em;text-transform:uppercase;font-weight:500}.stage-part{cursor:pointer;grid-template-columns:20px 1fr auto auto;align-items:center;gap:4px;padding:4px 8px;transition:background .12s;display:grid;position:relative}.stage-part:before{content:"";background:var(--amber);width:2px;box-shadow:var(--glow-strong);transition:transform .15s var(--ease-out);position:absolute;top:2px;bottom:2px;left:0;transform:scaleY(0)}.stage-part:hover,.stage-part.sel{color:var(--amber-hi);text-shadow:var(--glow)}.stage-part:hover:before,.stage-part.sel:before{transform:scaleY(1)}.stage-part .icon{color:var(--amber)}.selection{flex-direction:column;gap:6px;width:min(420px,100vw - 680px);min-width:300px;padding:12px 14px;display:flex;bottom:12px;left:324px}.selection.pop{animation:.36s steps(6,end) sel-in}.sel-title{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--amber-hi);text-shadow:var(--glow);gap:8px;font-size:14px;font-weight:700;font-stretch:125%;display:flex}.selection .blurb{color:var(--muted);text-shadow:none;font-size:11px}.selection .hint{padding:0}.empty-state{pointer-events:auto;text-align:center;background:linear-gradient(var(--amber), var(--amber)) left top / 16px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) left top / 2px 16px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 16px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 2px 16px no-repeat, #020203cc;border:1px dashed var(--amber-line);max-width:460px;padding:22px;animation:.5s steps(5,end) .15s both power-on;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-state .big{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);text-shadow:var(--glow);margin-bottom:10px;font-size:16px;font-weight:700;font-stretch:125%}.empty-state p{color:var(--muted);text-shadow:none;line-height:1.6}.empty-state .row{justify-content:center}.modal-back{pointer-events:auto;z-index:30;background:#030302b8;justify-content:center;align-items:center;animation:.18s linear pop-in;display:flex;position:absolute;inset:0}.modal{width:min(460px,92vw);max-height:80vh;padding:0 14px 14px;animation:.36s steps(5,end) power-on;overflow-y:auto}.modal.menu{width:min(360px,92vw);padding-top:2px;box-shadow:inset 0 0 40px #f2dc4b0f,0 0 60px #f2dc4b1f}.modal.lost{border-color:var(--red-dim)}.modal.lost .panel-title{color:var(--red);text-shadow:var(--glow-red)}.modal.lost .panel-title:before{background:var(--red);box-shadow:var(--glow-red);animation-duration:.5s}.modal.lost p{line-height:1.5}.load-row{align-items:flex-start;gap:6px;display:flex}.load-row .btn.wide{flex:1}.part-preview{z-index:6;pointer-events:none;width:260px;transition:opacity .14s linear;animation:.3s steps(6,end) both pp-in}.part-preview.out{opacity:0}.pp-stage{border-bottom:1px solid var(--line-soft);background:radial-gradient(60% 40% at 50% 78%,#f2dc4b29,#0000 70%),repeating-linear-gradient(0deg,#0000 0 23px,#f2dc4b14 23px 24px),repeating-linear-gradient(90deg,#0000 0 23px,#f2dc4b14 23px 24px);height:232px;position:relative;overflow:hidden}.pp-stage:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(var(--amber), var(--amber)) left top / 14px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) left top / 1px 14px no-repeat, linear-gradient(var(--amber), var(--amber)) right top / 14px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) right top / 1px 14px no-repeat, linear-gradient(var(--amber), var(--amber)) left bottom / 14px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) left bottom / 1px 14px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 14px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 1px 14px no-repeat, linear-gradient(var(--amber-dim), var(--amber-dim)) center top / 1px 8px no-repeat, linear-gradient(var(--amber-dim), var(--amber-dim)) center bottom / 1px 8px no-repeat, linear-gradient(var(--amber-dim), var(--amber-dim)) left center / 8px 1px no-repeat, linear-gradient(var(--amber-dim), var(--amber-dim)) right center / 8px 1px no-repeat;position:absolute;inset:14px}.pp-stage:after{content:"";z-index:1;background:linear-gradient(#0000,#f2dc4b29,#0000);height:36px;animation:2.4s linear infinite pp-scan;position:absolute;top:-40px;left:0;right:0}.pp-canvas{width:232px;height:232px;margin:0 auto;display:block}.pp-info{flex-direction:column;gap:5px;padding:10px 12px 12px;display:flex}.pp-fig{letter-spacing:.24em;text-transform:uppercase;color:var(--red);text-shadow:var(--glow-red);font-size:10px}.pp-name{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--amber-hi);text-shadow:var(--glow);margin-bottom:4px;font-size:18px;font-weight:800;font-stretch:125%;line-height:1.05}.pp-row{grid-template-columns:1fr auto;gap:3px 8px;font-size:11px;display:grid}.pp-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;text-shadow:none;font-size:9.5px}.pp-row b{color:var(--amber-hi);font-variant-numeric:tabular-nums;font-weight:500}.pp-bar{background:repeating-linear-gradient(90deg,#f2dc4b24 0 4px,#0000 4px 6px);grid-column:1/-1;height:5px;position:relative}.pp-bar:after{content:"";width:calc(var(--f) * 100%);background:repeating-linear-gradient(90deg, var(--amber) 0 4px, transparent 4px 6px);filter:drop-shadow(0 0 3px #f2dc4be6);transform-origin:0;animation:.5s steps(10,end) 80ms both bar-grow;position:absolute;inset:0}.part-preview.swap .pp-info>*{animation:.3s steps(4,end) both power-on}.part-preview.swap .pp-info>:nth-child(2){animation-delay:40ms}.part-preview.swap .pp-info>:nth-child(3){animation-delay:80ms}.part-preview.swap .pp-info>:nth-child(4){animation-delay:.12s}.part-preview.swap .pp-info>:nth-child(5){animation-delay:.16s}.part-preview.swap .pp-info>:nth-child(n+6){animation-delay:.2s}.part-tag{z-index:7;pointer-events:none;border:1px solid var(--amber-dim);border-left:3px solid var(--amber);white-space:nowrap;background:#020203e6;flex-direction:column;gap:1px;padding:5px 9px 6px;animation:.16s steps(3,end) tag-in;display:flex}.part-tag b{letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-size:11px;font-weight:500}.part-tag.hover b{color:var(--amber-hi)}.part-tag span{color:var(--muted);text-shadow:none;font-size:10px}.part-tag.bad{border-color:var(--red-dim);border-left-color:var(--red)}.part-tag.bad b{color:var(--red);text-shadow:var(--glow-red)}.flight-ui>*{position:absolute}.hud-top{gap:2px;padding:6px 10px;display:flex;top:10px;left:50%;transform:translate(-50%)}.hud-top.panel{border:none;border-bottom:1px solid var(--amber-line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.readout{border-right:1px solid var(--line-soft);flex-direction:column;min-width:96px;padding:4px 12px;display:flex}.readout:last-child{border-right:none}.readout span{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-shadow:none;font-size:9.5px}.readout b{color:var(--amber-hi);font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:var(--glow);font-size:14px;font-weight:500}.readout.big b{font-family:var(--display);letter-spacing:.02em;color:var(--amber);text-shadow:0 0 6px #f2dc4b99, 0 0 calc(var(--kick,0) * 20px) rgba(255, 58, 54, calc(var(--kick,0) * .9));font-size:26px;font-weight:800;font-stretch:125%;transition:text-shadow .12s linear}.readout b.hot{color:var(--red);text-shadow:var(--glow-red)}.hud-left{width:240px;padding-bottom:10px;top:10px;left:10px}.hud-stages{flex-direction:column;gap:4px;padding:0 10px;display:flex}.hud-stages .let-go{pointer-events:auto;align-items:center;margin:4px 0 2px}.hud-stages.flash{animation:.42s steps(5,end) stage-flash}.hud-stage{border:1px solid var(--line-soft);color:var(--muted);grid-template-columns:24px 1fr;gap:6px;padding:4px 6px;font-size:11px;display:grid}.hud-stage b{color:var(--muted)}.hud-stage.next{border-color:var(--amber);color:var(--amber-hi);text-shadow:var(--glow);box-shadow:var(--line-glow);animation:1.2s steps(2,jump-none) infinite next-breathe}.hud-stage.next b{color:var(--amber)}.fuel-row{color:var(--muted);grid-template-columns:44px 1fr;align-items:center;gap:6px;font-size:10.5px;display:grid}.bar{border:1px solid var(--amber-line);background:0 0;height:8px;padding:1px}.bar-fill{background:repeating-linear-gradient(90deg, var(--amber) 0 4px, transparent 4px 6px);height:100%;transition:width .12s linear}.bar.burning .bar-fill{background:repeating-linear-gradient(90deg, var(--amber-hi) 0 4px, transparent 4px 6px);filter:drop-shadow(0 0 4px #f2dc4be6);animation:.28s steps(2,end) infinite burn}.bar.low .bar-fill{background:repeating-linear-gradient(90deg, var(--red) 0 4px, transparent 4px 6px);filter:drop-shadow(0 0 4px #ff3a36e6)}.hud-right{width:240px;padding-bottom:8px;top:10px;right:10px}.hud-right .readout{border-right:none;flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 12px}.hud-right .readout b{text-align:right;white-space:normal;font-size:12.5px}.hud-bottom{flex-direction:column;align-items:center;gap:6px;display:flex;bottom:10px;left:50%;transform:translate(-50%)}.ball-wrap{align-items:stretch;gap:12px;padding:10px 12px;display:flex}.ball-col{flex-direction:column;align-items:center;gap:4px;display:flex}.ball-mode,.hdg{letter-spacing:.2em;color:var(--amber);font-size:10px}.hdg{color:var(--muted);letter-spacing:.08em}.navball{width:170px;height:170px;box-shadow:0 0 0 1px var(--amber), 0 0 0 6px var(--ink), 0 0 0 7px var(--amber-dim), 0 0 24px #f2dc4b59;border-radius:50%;position:relative;overflow:hidden}.navball:after{content:"";pointer-events:none;background:linear-gradient(var(--amber-dim), var(--amber-dim)) center / 1px 100% no-repeat, linear-gradient(var(--amber-dim), var(--amber-dim)) center / 100% 1px no-repeat, repeating-radial-gradient(circle, transparent 0 27px, #f2dc4b2e 27px 28px);mix-blend-mode:screen;border-radius:50%;position:absolute;inset:0}.navball canvas{filter:brightness(1.08)drop-shadow(0 0 3px #f2dc4b59);display:block;position:absolute;inset:0}.gauge{border:1px solid var(--amber-dim);background:repeating-linear-gradient(0deg,#0000 0 9px,#f2dc4b33 9px 10px);flex-direction:column;justify-content:flex-end;width:18px;padding:1px;display:flex;position:relative}.gauge .fill{background:repeating-linear-gradient(to top, var(--amber) 0 4px, transparent 4px 6px);width:100%;transition:height 60ms linear}.gauge.live .fill{filter:drop-shadow(0 0 5px #f2dc4bf2)}.gauge.g .fill{background:repeating-linear-gradient(to top, var(--amber-hi) 0 4px, transparent 4px 6px)}.gauge.g .fill.hot{background:repeating-linear-gradient(to top, var(--red) 0 4px, transparent 4px 6px);filter:drop-shadow(0 0 5px #ff3a36f2)}.gauge span{letter-spacing:.1em;color:var(--muted);font-size:9px;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.gauge-read{letter-spacing:.06em;color:var(--amber-hi);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.sas-row{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.sas-row .btn{background:#020203e0}.crew{gap:10px;width:330px;padding:8px;display:flex;bottom:10px;left:10px}.crew-portrait{border:1px solid var(--amber-dim);flex-shrink:0;width:112px;height:112px;position:relative;overflow:hidden}.crew-portrait:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000002e 0 1px,#0000 1px 3px);position:absolute;inset:0;box-shadow:inset 0 0 18px #f2dc4b59}.crew-portrait canvas{width:100%;height:100%;display:block}.crew-info{flex-direction:column;gap:4px;min-width:0;display:flex}.crew-info b{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-hi);font-size:13px;font-weight:700;font-stretch:125%}.crew-info .quote{color:var(--text);font-size:12px;line-height:1.4}.crew-info .quote:before{content:"> ";color:var(--amber)}.help{width:250px;padding-bottom:4px;bottom:10px;right:10px}.key-row{justify-content:space-between;gap:8px;padding:2px 12px;font-size:11px;display:flex}.map-badge{letter-spacing:.14em;text-transform:uppercase;color:var(--amber);border:1px solid var(--amber-dim);white-space:nowrap;background:#020203cc;padding:4px 10px;font-size:10.5px;top:84px;left:50%;transform:translate(-50%)}.map-labels{pointer-events:none;inset:0;overflow:hidden}.map-label{white-space:nowrap;border-left:2px solid var(--muted);color:var(--text);text-transform:uppercase;letter-spacing:.08em;background:#020203bf;margin:-10px 0 0 10px;padding:2px 6px;font-size:11px;position:absolute;top:0;left:0}.map-label:before{content:"";border:1px solid;width:7px;height:7px;position:absolute;top:6px;left:-14px;transform:rotate(45deg)}.map-label.ap{border-left-color:var(--amber);color:var(--amber)}.map-label.pe{border-left-color:var(--amber-hi);color:var(--amber-hi)}.map-label.vessel{color:var(--green);border-left-color:var(--green)}.map-label.vessel.dead,.map-label.impact{color:var(--red);border-left-color:var(--red);text-shadow:var(--glow-red)}.map-label.encounter{color:var(--amber-hi);border-left-color:var(--amber-hi)}.map-label.body{color:var(--muted);letter-spacing:.34em;background:0 0;border:none}.map-label.body:before,.touch-pad,.mobile-only{display:none}.main-menu{pointer-events:auto;background:radial-gradient(ellipse at 30% 50%, #f2dc4b12, transparent 60%), repeating-linear-gradient(0deg, transparent 0 47px, #f2dc4b0b 47px 48px), repeating-linear-gradient(90deg, transparent 0 47px, #f2dc4b0b 47px 48px), var(--bg);grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:center;gap:48px;padding:8vh 7vw 7vh;display:grid;position:absolute;inset:0;overflow:auto}.menu-mast{isolation:isolate;animation:.8s steps(8,end) both flicker-in;position:relative}.menu-mast .fig,.instrument-kicker{letter-spacing:.28em;text-transform:uppercase;color:var(--red);text-shadow:var(--glow-red);margin-bottom:14px;font-size:11px}.menu-mast .fig:before,.instrument-kicker:before{content:"■ ";animation:1.2s steps(2,jump-none) infinite blink}.display{font-family:var(--display);letter-spacing:.08em;color:#0000;-webkit-text-stroke:2px var(--amber);text-shadow:none;filter:drop-shadow(0 0 10px #f2dc4b99);font-size:clamp(64px,10vw,128px);font-weight:800;font-stretch:125%;line-height:.85}.epithet{font-family:var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--amber-hi);margin-top:20px;font-size:clamp(13px,1.4vw,17px)}.epithet:after{content:"█";color:var(--amber);margin-left:6px;animation:.9s steps(2,jump-none) infinite blink}.spark-rule{background:var(--amber-line);width:min(380px,78%);height:1px;margin:22px 0 14px;position:relative;overflow:hidden}.spark-rule i{background:linear-gradient(90deg, transparent, var(--amber-hi));width:60px;height:1px;box-shadow:0 0 8px var(--amber);animation:2.6s linear infinite spark;position:absolute;top:0;left:0}.footnote{max-width:38ch;color:var(--muted);letter-spacing:.02em;text-shadow:none;font-size:12px;line-height:1.6}.blueprint{z-index:-1;aspect-ratio:340/480;pointer-events:none;opacity:.85;filter:drop-shadow(0 0 3px #f2dc4b73)drop-shadow(0 0 12px #f2dc4b1f);fill:none;height:min(80vh,600px,40vw);stroke:var(--amber);stroke-width:1px;stroke-linejoin:round;stroke-linecap:round;position:absolute;top:50%;right:-48px;overflow:visible;transform:translateY(-50%)}.blueprint text{font-family:var(--mono);stroke:none;fill:var(--amber)}.bp-sheet rect{stroke:var(--amber-line);stroke-width:.75px}.bp-sheet .bp-inner{stroke:var(--amber-faint)}.bp-zone{text-anchor:middle;font-size:7px;fill:var(--graphite)!important}.bp-title{letter-spacing:.12em;text-anchor:end;font-size:6.5px;fill:var(--muted)!important}.bp-center{stroke:var(--lav-dim);stroke-width:.75px;stroke-dasharray:14 3 2 3}.bp-draw{stroke-dasharray:1}.bp-part .bp-solid{fill:#f2dc4b12}.bp-part .bp-hatch{fill:url(#bp-hatch)}.bp-hatch-line{stroke:var(--amber-dim);stroke-width:1px}.bp-hidden{stroke:var(--amber-dim);stroke-width:.75px;stroke-dasharray:2 2}.bp-label{stroke:var(--amber-dim);stroke-width:.75px}.bp-dot{fill:var(--amber-hi);stroke:none}.blueprint .bp-name{letter-spacing:.08em;fill:var(--amber-hi);font-size:8px}.blueprint .bp-spec{letter-spacing:.06em;fill:var(--muted);font-size:6.5px}.bp-dims{stroke:var(--lav-dim);stroke-width:.75px}.bp-arrow{fill:var(--lav);stroke:none}.blueprint .bp-dim-text{letter-spacing:.1em;text-anchor:middle;fill:var(--lav);font-size:7px}.bp-dims text:last-child{text-anchor:start}.bp-stamp{transform-box:fill-box;transform-origin:50%;stroke:var(--red);stroke-width:1.5px;filter:drop-shadow(0 0 4px #ff3a3699);transform:rotate(-8deg)}.blueprint .bp-stamp text{letter-spacing:.18em;text-anchor:middle;fill:var(--red);font-size:9px;font-weight:500}.bp-scan{fill:var(--amber-hi);stroke:none;opacity:.18;filter:drop-shadow(0 0 4px var(--amber))}.menu-instrument{background:linear-gradient(var(--amber), var(--amber)) left top / 14px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) left top / 2px 14px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 14px 2px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 2px 14px no-repeat, #020203bf;border:1px solid var(--line-soft);justify-self:stretch;width:100%;max-height:min(78vh,680px);padding:16px 18px 18px;animation:.6s steps(6,end) .1s both power-on;overflow:auto}.menu-card{text-align:left;width:min(460px,92vw);max-height:min(86vh,720px);padding:18px 18px 16px;overflow:auto}.menu-card .load-logo{text-align:center}.menu-card .load-tag{text-align:center;margin-bottom:8px}.menu-blurb{color:var(--muted);text-shadow:none;margin:8px 0 12px;line-height:1.6}.menu-actions{flex-direction:column;gap:8px;display:flex}.menu-screen{animation:.35s steps(5,end) power-on}.menu-card .btn.wide{flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-bottom:0}.menu-instrument .btn.wide{padding:11px 12px;font-size:12px}.menu-instrument .craft-name,.menu-field{width:100%;padding:10px 12px;font-size:16px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.menu-list{flex-direction:column;gap:6px;max-height:46vh;margin-bottom:10px;display:flex;overflow:auto}.plate-row{font:inherit;text-align:left;width:100%;color:var(--amber-hi);border:none;border-bottom:1px solid var(--line-soft);cursor:pointer;text-transform:uppercase;letter-spacing:.12em;transition:color .1s linear, padding .18s var(--ease-out), box-shadow .15s;background:0 0;grid-template-columns:42px 1fr auto;align-items:baseline;gap:8px;padding:13px 8px;display:grid}.plate-row .idx{color:var(--red);letter-spacing:.14em;text-shadow:var(--glow-red);font-size:11px}.plate-row .act{flex-direction:column;gap:3px;font-size:13px;display:flex}.plate-row .act .muted{letter-spacing:.06em;text-transform:none;font-size:10.5px}.plate-row .go{color:var(--graphite);transition:transform .18s var(--ease-out), color .1s}.plate-row:hover,.plate-row:focus-visible{color:var(--amber-hi);text-shadow:var(--glow-strong);border-bottom-color:var(--amber);box-shadow:0 1px 0 var(--amber), 0 6px 14px -8px #f2dc4bb3;outline:none;padding-left:14px}.plate-row:hover .go,.plate-row:focus-visible .go{color:var(--amber);text-shadow:var(--glow);transform:translate(4px)}.plate-row.primary .act{font-family:var(--display);letter-spacing:.1em;font-size:15px;font-weight:700;font-stretch:125%}.setting-list{flex-direction:column;gap:6px;display:flex}.setting-option{border:1px solid var(--line-soft);cursor:pointer;background:0 0;align-items:flex-start;gap:10px;padding:8px 10px;transition:border-color .12s,background .12s;display:flex}.setting-option:hover{border-color:var(--amber-dim);box-shadow:var(--line-glow)}.setting-option.on{border-color:var(--amber);box-shadow:inset 3px 0 0 var(--amber)}.setting-option span{flex-direction:column;gap:2px;display:flex}.setting-option b{letter-spacing:.14em;text-transform:uppercase;font-weight:500}.setting-option input{accent-color:var(--amber);margin-top:3px}.plate-frame{z-index:70;pointer-events:none;opacity:.6;background:linear-gradient(var(--amber), var(--amber)) left top / 22px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) left top / 1px 22px no-repeat, linear-gradient(var(--amber), var(--amber)) right top / 22px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) right top / 1px 22px no-repeat, linear-gradient(var(--amber), var(--amber)) left bottom / 22px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) left bottom / 1px 22px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 22px 1px no-repeat, linear-gradient(var(--amber), var(--amber)) right bottom / 1px 22px no-repeat;transition:inset .45s var(--ease-out), opacity .35s;position:fixed;inset:16px}body.cutting .plate-frame{opacity:1;inset:6px}.grain{z-index:60;pointer-events:none;background:radial-gradient(#0000 65%,#0006 100%),repeating-linear-gradient(0deg,#00000012 0 1px,#0000 1px 4px);position:fixed;inset:0;overflow:hidden}.grain:after{content:"";background:linear-gradient(#0000,#f2dc4b04,#0000);height:18vh;animation:7s linear infinite roll;position:absolute;top:-20vh;left:0;right:0}.cut-flash{z-index:80;background:var(--ink);opacity:0;pointer-events:auto;position:fixed;inset:0;transform:scaleY(.004)}.cut-flash:after{content:"";background:var(--amber-hi);height:2px;box-shadow:0 0 24px 6px var(--amber);opacity:0;margin-top:-1px;transition:opacity .1s linear;position:absolute;top:50%;left:8%;right:8%}.cut-flash.on{opacity:1;transition:transform .16s var(--ease-in-out), opacity 80ms linear;transform:scaleY(1)}.cut-flash.on:after{opacity:1}.cut-flash.off{opacity:0;pointer-events:none;transition:transform .4s var(--ease-out), opacity .3s linear 80ms;transform:scaleY(.004)}.builder-ui>.topbar{animation:.45s steps(5,end) both power-on}.builder-ui>.side.left{animation:.5s steps(5,end) 60ms both power-on}.builder-ui>.side.right{animation:.5s steps(5,end) .12s both power-on}.flight-ui>.hud-top,.flight-ui>.map-badge{animation:.45s steps(5,end) both power-on}.flight-ui>.hud-left,.flight-ui>.crew{animation:.5s steps(5,end) 60ms both power-on}.flight-ui>.hud-right,.flight-ui>.help{animation:.5s steps(5,end) .1s both power-on}.flight-ui>.hud-bottom{animation:.5s steps(5,end) 80ms both power-on}@keyframes power-on{0%{opacity:0;clip-path:inset(49% -30px);filter:brightness(3)}40%{opacity:1;clip-path:inset(45% -30px)}to{opacity:1;clip-path:inset(-30px);filter:none}}@keyframes flicker-in{0%{opacity:0}20%{opacity:.8;filter:brightness(2.5)}30%{opacity:.1}55%{opacity:1}65%{opacity:.4}to{opacity:1;filter:none}}@keyframes blink{50%{opacity:0}}@keyframes alarm{50%{box-shadow:0 0 14px #ff3a368c,inset 0 0 12px #ff3a3633}}@keyframes roll{to{top:110vh}}@keyframes toast-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes spark{0%{left:-60px}to{left:100%}}@keyframes burn{50%{filter:brightness(1.6)drop-shadow(0 0 6px #f2dc4be6)}}@keyframes next-breathe{0%,to{box-shadow:inset 3px 0 0 var(--amber)}50%{box-shadow:inset 3px 0 #0000}}@keyframes stage-flash{0%{transform:translate(-8px)}35%{filter:brightness(1.8)}to{filter:none;transform:none}}@keyframes pop-in{0%{opacity:0}to{opacity:1}}@keyframes pp-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes pp-scan{to{top:100%}}@keyframes bar-grow{0%{transform:scaleX(0)}}@keyframes tag-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes stat-flash{0%{border-color:var(--amber-hi);box-shadow:0 0 14px #f2dc4b80,inset 0 0 12px #f2dc4b33}to{box-shadow:none}}@keyframes fade-late{0%,70%{opacity:1}to{opacity:0}}@keyframes sheen{0%{left:-60%}45%,to{left:130%}}@keyframes sel-in{0%{opacity:0;clip-path:inset(0 0 100%)}to{opacity:1;clip-path:inset(0)}}.fold>summary{cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;padding:7px 12px;font-size:10px;list-style:none;transition:color .12s;display:flex}.fold>summary::-webkit-details-marker{display:none}.fold>summary:before{content:"";border-right:1.5px solid var(--lav);border-bottom:1.5px solid var(--lav);width:5px;height:5px;transition:transform .15s var(--ease-out);transform:rotate(-45deg)}.fold[open]>summary:before{transform:rotate(45deg)translate(-1px,-1px)}.fold>summary:hover{color:var(--amber)}.fold>summary:focus-visible{outline:1px dashed var(--amber-hi);outline-offset:-2px}.fold[open]>.fold-body{animation:.3s steps(4,end) power-on}.fold .fold>summary{padding-top:8px}.selection .fold>summary{padding:2px 0}.help{width:auto;min-width:200px;max-width:260px}.help>.fold>summary{font-family:var(--display);color:var(--amber);text-shadow:var(--glow);padding:10px 12px;font-size:11px;font-weight:700;font-stretch:125%}.help>.fold[open]>summary{border-bottom:1px solid var(--line-soft);margin-bottom:6px}.orbit-panel{width:300px;max-height:calc(100vh - 20px);padding-bottom:12px;animation:.4s steps(5,end) both power-on;top:10px;right:10px;overflow-y:auto}.op-scope{border:1px solid var(--line-soft);background:radial-gradient(circle,#a3a2ff0f,#0000 65%),#010102;margin:0 12px;position:relative}.op-plot{filter:drop-shadow(0 0 1.5px #f2dc4bb3)drop-shadow(0 0 6px #f2dc4b40);width:100%;height:auto;display:block;overflow:visible}.op-scale{letter-spacing:.12em;color:var(--muted);font-size:9px;position:absolute;bottom:4px;left:6px}.op-rim{fill:none;stroke:var(--amber);stroke-width:.8px;opacity:.8}.op-rim.faint{opacity:.3}.op-tick{stroke:var(--amber);stroke-width:.5px;opacity:.5}.op-tick.long{stroke-width:.9px;opacity:.9}.op-range{fill:none;stroke:var(--amber);stroke-width:.35px;opacity:.2}.op-cross{stroke:var(--amber);stroke-width:.3px;opacity:.18}.op-body{fill:#0a0a06;stroke:var(--amber);stroke-width:1px}.op-hatch{stroke:var(--amber);stroke-width:.35px;opacity:.35}.op-atmo{fill:none;stroke:var(--red);stroke-width:.6px;stroke-dasharray:2 2;opacity:.7}.op-moon-orbit{fill:none;stroke:var(--muted);stroke-width:.4px;stroke-dasharray:1 3}.op-moon{fill:#0a0a06;stroke:var(--amber-hi);stroke-width:.8px}.op-soi{fill:none;stroke:var(--lav);stroke-width:.5px;stroke-dasharray:2 2;opacity:.8}.op-orbit{fill:none;stroke:var(--amber);stroke-width:1.3px;filter:drop-shadow(0 0 2px #f2dc4bcc)}.op-ray{stroke:var(--lav);stroke-width:.6px;opacity:.75}.op-ray.vessel{stroke-dasharray:2 1.5}.op-node{fill:#010102;stroke:var(--amber);stroke-width:1.2px}.op-node.pe{stroke:var(--amber-hi)}.op-label{fill:var(--amber-hi);font:500 6px var(--mono);letter-spacing:.1em}.op-heading{stroke:var(--amber-hi);stroke-width:.8px}.op-arrowhead{fill:var(--amber-hi)}.op-vessel-ring{fill:none;stroke:var(--red);stroke-width:1.2px;filter:drop-shadow(0 0 2px var(--red))}.op-vessel{fill:#fff}.op-status{letter-spacing:.14em;text-transform:uppercase;border-left:2px solid var(--amber);color:var(--amber-hi);text-shadow:var(--glow);margin:8px 12px 4px;padding:5px 8px;font-size:10.5px}.op-status.good{border-left-color:var(--green);color:var(--green);text-shadow:0 0 6px #7dff9c80,0 0 16px #7dff9c33}.op-status.warn{border-left-color:var(--amber)}.op-status.bad{border-left-color:var(--red);color:var(--red);text-shadow:var(--glow-red)}.op-status.lav{border-left-color:var(--lav);color:var(--lav);text-shadow:var(--glow-lav)}.op-grid{grid-template-columns:1fr 1fr;gap:4px;padding:4px 12px 0;display:grid}.op-cell{border-left:1px solid var(--line-soft);flex-direction:column;gap:1px;padding:4px 6px;display:flex}.op-cell span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-shadow:none;font-size:9px}.op-cell b{color:var(--amber-hi);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:500}.op-cell b.good{color:var(--green)}.op-cell b.warn{color:var(--amber)}.op-cell b.bad{color:var(--red);text-shadow:var(--glow-red)}.orbit-panel .sub{margin:12px 12px 6px}.op-timeline{flex-direction:column;gap:8px;padding:0 12px 0 30px;display:flex;position:relative}.op-timeline:before{content:"";background:var(--lav-dim);width:1px;position:absolute;top:6px;bottom:6px;left:18px}.op-step{grid-template-columns:1fr auto;column-gap:8px;font-size:11px;display:grid;position:relative}.op-step i{border:1.5px solid var(--amber);background:#010102;border-radius:50%;width:9px;height:9px;position:absolute;top:3px;left:-16px}.op-step.encounter i,.op-step.escape i{border-color:var(--lav)}.op-step.impact i{border-color:var(--red);box-shadow:var(--glow-red)}.op-step-body{color:var(--amber-hi);letter-spacing:.1em;text-transform:uppercase}.op-step-body em{color:var(--muted);letter-spacing:.02em;text-transform:none;font-style:normal}.op-step-what{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;grid-column:1;font-size:10px}.op-step b{color:var(--amber);font-variant-numeric:tabular-nums;grid-area:1/2/3;align-self:center;font-weight:500}.op-step.impact b{color:var(--red)}.op-step.encounter b{color:var(--lav)}.flight-ui .map-label{letter-spacing:.12em;background:#020203b3;border-bottom:1px solid;border-left:none;margin:-22px 0 0 10px;padding:1px 5px;font-size:10px}.flight-ui .map-label:before{background:#020203cc;border:1.5px solid;border-radius:50%;width:9px;height:9px;top:14px;left:-16px;transform:none}.flight-ui .map-label.pe.next{color:var(--lav)}.flight-ui .map-label.vessel{color:var(--amber-hi)}.flight-ui .map-label.vessel:before{border-color:var(--red);box-shadow:var(--glow-red), inset 0 0 0 2px #020203cc, inset 0 0 0 4px #fff}.flight-ui .map-label.body{background:0 0;border-bottom:none}.map-badge{align-items:center;gap:2px;display:flex}.map-badge b{color:var(--amber-hi);letter-spacing:.2em;text-shadow:var(--glow-strong);margin-right:10px;font-weight:500}.map-badge span{color:var(--muted)}.map-badge kbd{padding:0 4px;font-size:10px}.flight-ui.map-mode>.help{display:none}@media (max-width:1100px){.selection{width:min(420px,92vw);bottom:12px;left:50%;transform:translate(-50%)}.side.left{width:250px}.side.right{width:280px}.help{display:none}}@media (max-width:820px){body{font-size:12px}.logo span,.craft-name{display:none}.mobile-only{display:inline-block}.side.left{width:auto;height:200px;inset:auto 8px 8px}.side.left .palette{flex-direction:row;padding-bottom:8px;overflow:auto hidden}.side.left .part-card{min-width:200px}.side.left .hint{display:none}.side.right{z-index:5;width:auto;display:none;inset:72px 8px 216px}.side.right.open{display:flex}.selection{min-width:0;bottom:216px}.topbar{top:8px;left:8px;right:8px}.hud-top{flex-wrap:wrap;justify-content:center;width:calc(100vw - 12px);top:6px}.readout{min-width:0;padding:2px 8px}.hud-left,.hud-right{width:180px;font-size:11px;top:auto;bottom:300px}.crew{width:auto;top:110px;bottom:auto}.crew-portrait{width:70px;height:70px}.crew-info .muted{display:none}.hud-bottom{bottom:90px}.toasts{top:190px}.orbit-panel{width:230px;top:110px}.op-grid{grid-template-columns:1fr}.main-menu{grid-template-columns:1fr;align-items:start;gap:28px;padding:72px 22px 32px}.display{font-size:56px}.blueprint{opacity:.4;height:300px;right:-4%}}@media (pointer:coarse){.touch-pad{pointer-events:auto;grid-template-columns:repeat(4,52px);gap:6px;display:grid;position:absolute;bottom:10px;right:10px}.touch-pad .btn{height:44px;padding:0;font-size:12px}.help{display:none}}@media (hover:none){.part-preview,.part-tag{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
