@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chakra-petch-latin-500-normal-BR1ody1F.woff2)format("woff2"),url(/assets/chakra-petch-latin-500-normal-CnUQnZ4D.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2)format("woff2"),url(/assets/chakra-petch-latin-600-normal-DQKfcdKo.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(/assets/chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff)format("woff")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff)format("woff")}@layer tokens{:root{--ink-rgb:236 255 249;--deep-rgb:5 47 67;--teal-rgb:95 242 223;--gold-rgb:255 211 106;--coral-rgb:255 143 112;--ink:rgb(var(--ink-rgb));--deep:rgb(var(--deep-rgb));--teal:rgb(var(--teal-rgb));--gold:rgb(var(--gold-rgb));--coral:rgb(var(--coral-rgb));--a-hi:.92;--a-mid:.64;--a-lo:.4;--ink-hi:rgb(var(--ink-rgb) / var(--a-hi));--ink-mid:rgb(var(--ink-rgb) / var(--a-mid));--ink-lo:rgb(var(--ink-rgb) / var(--a-lo));--glass:rgb(var(--deep-rgb) / .72);--panel:rgb(var(--deep-rgb) / .96);--line:rgb(var(--ink-rgb) / .24);--line-soft:rgb(var(--ink-rgb) / .12);--font-display:"Chakra Petch", sans-serif;--font-mono:"DM Mono", monospace;--track:.08em;--t-fast:.16s;--t-slow:.32s;--z-hud:3;--z-marker:5;--z-panel:9;--z-overlay:12;--z-toast:14}.loading,.game-shell{--ui-scale:1;--u:calc(1px * var(--ui-scale));--fs-1:calc(11 * var(--u));--fs-2:calc(13 * var(--u));--fs-3:calc(16 * var(--u));--fs-4:calc(24 * var(--u));--fs-5:calc(40 * var(--u));--gap-1:calc(6 * var(--u));--gap-2:calc(12 * var(--u));--gap-3:calc(24 * var(--u))}}@layer base{*{box-sizing:border-box}html,body,#app{background:#032f42;width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);font-family:var(--font-mono);font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button,kbd,input,output{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--teal);outline-offset:2px}h1,h2,h3,h4,p,dl,dd{margin:0}b,strong{font-weight:inherit}em{font-style:normal}kbd{padding:1px calc(5 * var(--u));border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-1);letter-spacing:.04em;white-space:nowrap;border-radius:2px;display:inline-block}.offscreen{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);text-transform:uppercase;font-weight:600}.game-shell{position:fixed;inset:0}.game-shell canvas{width:100%;height:100%;display:block}.vignette{z-index:2;pointer-events:none;background:radial-gradient(#0000 55%,#02192738 100%);position:absolute;inset:0}.loading{z-index:20;justify-content:center;align-items:center;gap:var(--gap-2);padding:var(--gap-3);background:radial-gradient(circle at 50% 9%,#96ffe73d,#0000 34%),linear-gradient(165deg,#075b6b 0%,#063d53 44%,#031e33 100%);flex-direction:column;transition:opacity .72s,visibility 0s .72s;display:flex;position:fixed;inset:0}.loading--hidden{opacity:0;visibility:hidden;pointer-events:none}.eyebrow{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:.12em;color:var(--ink-mid);font-weight:600}.loading h1{font-family:var(--font-display);letter-spacing:-.04em;text-align:center;font-size:clamp(56px,9vw,120px);font-weight:700;line-height:.85}.loading h1 em{color:var(--coral)}.loading__brief{font-family:var(--font-display);font-size:var(--fs-2);color:var(--ink-mid)}.loading__track{width:min(320px,60vw);height:2px;margin-top:var(--gap-2);background:rgb(var(--ink-rgb) / .18);overflow:hidden}.loading__track span{background:var(--teal);width:38%;height:100%;animation:1.35s cubic-bezier(.45,0,.55,1) infinite loading-scan;display:block}.loading__track--complete span{width:100%;animation:none}.loading__track--error span{background:var(--coral);width:100%;animation:none}.loading__status{font-size:var(--fs-1);letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-mid)}.loading__status--error{color:var(--coral)}.dive-button{gap:var(--gap-2);margin-top:var(--gap-2);padding:calc(11 * var(--u)) calc(16 * var(--u));background:var(--teal);color:var(--deep);font-family:var(--font-display);font-size:var(--fs-2);letter-spacing:var(--track);text-transform:uppercase;cursor:pointer;border:0;align-items:center;font-weight:700;display:flex}.dive-button:hover:not(:disabled){background:#a2fff1}.dive-button:disabled{opacity:.35;cursor:wait}.dive-button kbd{border-color:rgb(var(--deep-rgb) / .35)}.loading__note{font-family:var(--font-display);font-size:var(--fs-1);color:var(--ink-lo)}}@layer hud{.hud{align-items:start;gap:var(--gap-2) var(--gap-3);padding:var(--gap-3);pointer-events:none;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:absolute;inset:0}.hud>*{z-index:var(--z-hud)}.instrument,.depth,.hull,.reserve,.hold{padding:var(--gap-2);border:1px solid var(--line);background:var(--glass);border-radius:2px}.frame-readout{top:calc(4 * var(--u));left:var(--gap-3);font-size:var(--fs-1);font-variant-numeric:tabular-nums;color:var(--ink-mid);position:absolute}.frame-readout[hidden]{display:none}.depth{width:calc(166 * var(--u));flex-direction:column;grid-area:1/1/3/2;align-self:stretch;min-height:0;display:flex}.depth__hero{font-size:var(--fs-5);font-variant-numeric:tabular-nums;align-items:baseline;gap:.15em;font-weight:500;line-height:1;display:flex}.depth__hero small{font-size:var(--fs-2);color:var(--ink-mid)}.depth__slope{margin-top:var(--gap-1);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);font-weight:600}.depth[data-slope=rated] .depth__hero,.depth[data-slope=rated] .depth__slope,.depth[data-slope=rated] .ladder__marker{color:var(--gold)}.depth[data-slope=damage] .depth__hero,.depth[data-slope=damage] .depth__slope,.depth[data-slope=damage] .ladder__marker{color:var(--coral)}.depth__band{font-family:var(--font-display);font-size:var(--fs-2);letter-spacing:var(--track);color:var(--teal);font-weight:600}.ladder{min-height:calc(56 * var(--u));margin:var(--gap-2) 0 var(--gap-2) calc(5 * var(--u));flex:auto;position:relative}.ladder__rail{position:absolute;inset:0}.ladder__band{width:100%;padding-left:var(--gap-1);border-left:2px solid var(--ink-lo);font-size:var(--fs-1);line-height:1.2;position:absolute;left:0;overflow:hidden}.ladder__band+.ladder__band{border-top:1px solid var(--line-soft)}.ladder__band--current{border-left-color:var(--teal)}.ladder__band span{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink-mid);white-space:nowrap;font-weight:600;display:block}.ladder__band--current span{color:var(--ink)}.ladder__band small{font-size:var(--fs-1);color:var(--ink-lo);display:block}.ladder__band[data-label=name] small,.ladder__band[data-label=none] span,.ladder__band[data-label=none] small{display:none}.ladder__rating{border-top:1px dashed var(--gold);position:absolute;left:-3px;right:0}.ladder__rating b{background:var(--glass);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:.04em;color:var(--gold);white-space:nowrap;padding:0 3px;font-weight:600;position:absolute;bottom:1px;right:0}.ladder__marker{left:calc(-9 * var(--u));border:calc(5 * var(--u)) solid transparent;border-left:calc(8 * var(--u)) solid currentColor;width:0;height:0;color:var(--ink);position:absolute;transform:translateY(-50%)}.hull{justify-self:end;column-gap:var(--gap-2);row-gap:calc(3 * var(--u));grid-area:1/3;grid-template-columns:auto auto;align-items:center;display:grid}.hull__value{font-size:var(--fs-4);font-variant-numeric:tabular-nums;grid-row:1/3;font-weight:500;line-height:1}.hull__value small{font-size:var(--fs-1);color:var(--ink-mid);margin-left:.15em}.hull__bar{align-self:end;gap:3px;display:flex}.hull__bar i{width:calc(9 * var(--u));height:calc(12 * var(--u));background:rgb(var(--ink-rgb) / .18)}.hull__bar .hull__segment--on{background:var(--teal)}.hull[data-hull=worn] .hull__segment--on{background:var(--gold)}.hull[data-hull=critical] .hull__segment--on{background:var(--coral)}.hull[data-hull=critical] .hull__value{color:var(--coral)}.hull__label{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);align-self:start;font-weight:600}.hull__label small{font-size:var(--fs-1);color:var(--coral)}.hull[data-hull=worn] .hull__label small{color:var(--gold)}.reserve{width:calc(190 * var(--u));grid-area:3/1;align-self:end}.reserve__line{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);align-items:baseline;gap:.35em;font-weight:600;display:flex}.reserve__line b{font-family:var(--font-mono);font-size:var(--fs-3);color:var(--ink);font-weight:500}.reserve__line em{font-family:var(--font-mono);letter-spacing:0;margin-left:auto}.reserve__bar{height:3px;margin:var(--gap-1) 0;background:rgb(var(--ink-rgb) / .18)}.reserve__bar i{background:var(--teal);height:100%;display:block}.reserve[data-level=boost] .reserve__bar i{background:var(--gold)}.reserve[data-level=low] .reserve__bar i,.reserve[data-level=short] .reserve__bar i{background:var(--coral)}.reserve[data-level=low] .reserve__line b,.reserve[data-level=short] .reserve__line b{color:var(--coral)}.reserve__home{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);grid-template-columns:auto 1fr auto 1fr;align-items:baseline;column-gap:.5em;font-weight:600;display:grid}.reserve__home b{font-family:var(--font-mono);letter-spacing:0;color:var(--ink);font-variant-numeric:tabular-nums}.reserve[data-level=short] .reserve__home b{color:var(--coral)}.reserve__home[hidden],.reserve__strip[hidden]{display:none}.reserve__strip{margin-top:var(--gap-1);padding-top:var(--gap-1);border-top:1px solid var(--line-soft);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);align-items:baseline;gap:.35em;font-weight:600;display:flex}.reserve__strip b{font-family:var(--font-mono);font-size:var(--fs-3);color:var(--ink);font-weight:500}.reserve__strip[data-state=over] b,.reserve__strip[data-state=over] span{color:var(--coral)}.lane{align-items:center;gap:var(--gap-1);text-align:center;flex-direction:column;min-width:0;max-width:100%;display:flex}.lane--top{grid-area:1/2;justify-self:center}.lane--bottom{z-index:var(--z-toast);grid-area:3/2;place-self:end center}.objective{max-width:100%;padding:var(--gap-1) var(--gap-2);border-left:2px solid var(--gold);background:var(--glass)}.objective span{font-family:var(--font-display);font-size:var(--fs-3);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.objective small{font-size:var(--fs-1);color:var(--ink-mid);margin-top:2px;display:block}.objective small[hidden]{display:none}.zone,.log-line{padding:var(--gap-1) var(--gap-2);background:var(--glass);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);opacity:0;transition:opacity var(--t-slow) ease, transform var(--t-slow) ease;font-weight:600;transform:translateY(-4px)}.zone--visible,.log-line--visible{opacity:1;transform:none}.zone span{font-size:var(--fs-2);color:var(--teal);display:block}.zone small{font-size:var(--fs-1);color:var(--ink-mid)}.log-line{color:var(--gold);align-items:baseline;gap:.6em;display:flex}.log-line b{font-size:var(--fs-2);color:var(--ink);letter-spacing:.04em}.toast{min-width:calc(220 * var(--u));max-width:min(100%, calc(440 * var(--u)));padding:var(--gap-1) var(--gap-2);border-left:2px solid var(--teal);background:var(--glass);opacity:0;transition:opacity var(--t-fast) ease, transform var(--t-fast) ease;transform:translateY(6px)}.toast--visible{opacity:1;transform:none}.toast span{font-family:var(--font-display);font-size:var(--fs-2);letter-spacing:.04em;color:var(--teal);font-weight:600;display:block}.toast small{font-size:var(--fs-1);color:var(--ink-hi);margin-top:2px;display:block}.toast[data-tone=gold]{border-color:var(--gold)}.toast[data-tone=gold] span{color:var(--gold)}.toast[data-tone=danger]{border-color:var(--coral)}.toast[data-tone=danger] span{color:var(--coral)}.corner{place-self:end;align-items:flex-end;gap:var(--gap-2);flex-direction:column;grid-area:2/3/4/4;display:flex}.hold{min-width:calc(180 * var(--u))}.hold__line,.hold__ledger{align-items:center;gap:var(--gap-1);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);font-weight:600;display:flex}.hold__slots{gap:3px;display:flex}.hold__slots b{width:calc(8 * var(--u));height:calc(12 * var(--u));background:rgb(var(--ink-rgb) / .18)}.hold__slots .hold__slot--filled{background:var(--gold)}.hold__line>b{font-family:var(--font-mono);font-size:var(--fs-3);letter-spacing:0;color:var(--ink);margin-left:auto;font-weight:500}.hold__line>b small{font-size:var(--fs-1);color:var(--ink-mid)}.hold__manifest{margin:var(--gap-1) 0 0;font-size:var(--fs-1);color:var(--ink-hi);padding:0;list-style:none}.hold__manifest:empty{display:none}.hold__ledger{margin-top:var(--gap-1)}.hold__ledger[hidden]{display:none}.hold__ledger b{font-family:var(--font-mono);font-size:var(--fs-2);letter-spacing:0;color:var(--gold);margin-left:auto;font-weight:500}.hold__ledger em{font-family:var(--font-mono);letter-spacing:0;color:var(--ink-lo)}.hold__ledger em[data-tier=bonus]{color:var(--gold)}.hold__ledger--next b{color:var(--ink-mid)}.corner__buttons{gap:var(--gap-1);display:flex}.hud-button,.dialog__close{gap:var(--gap-1);padding:calc(6 * var(--u)) calc(10 * var(--u));border:1px solid var(--line);background:var(--glass);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);cursor:pointer;pointer-events:auto;transition:border-color var(--t-fast) ease, color var(--t-fast) ease;border-radius:2px;align-items:center;font-weight:600;display:flex}.hud-button:hover,.dialog__close:hover{border-color:var(--teal);color:var(--teal)}.bearing,.reticle{left:var(--marker-x,50%);top:var(--marker-y,50%);z-index:var(--z-marker);opacity:0;transition:opacity var(--t-fast) ease;pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.bearing--visible,.reticle--visible{opacity:1}.bearing{color:var(--teal);flex-direction:column;align-items:center;gap:2px;display:flex}.bearing[data-range=short]{color:var(--coral)}.bearing i{width:calc(16 * var(--u));height:calc(16 * var(--u));clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);background:currentColor;display:block}.bearing span{padding:2px calc(6 * var(--u));background:var(--glass);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);white-space:nowrap;font-weight:600}.reticle{color:var(--gold)}.reticle__bracket{width:calc(56 * var(--u));height:calc(56 * var(--u));border:2px solid;border-radius:3px;display:block;-webkit-mask:linear-gradient(#000,#000) 0 0/30% 30% no-repeat,linear-gradient(#000,#000) 100% 0/30% 30% no-repeat,linear-gradient(#000,#000) 0 100%/30% 30% no-repeat,linear-gradient(#000,#000) 100% 100%/30% 30% no-repeat;mask:linear-gradient(#000,#000) 0 0/30% 30% no-repeat,linear-gradient(#000,#000) 100% 0/30% 30% no-repeat,linear-gradient(#000,#000) 0 100%/30% 30% no-repeat,linear-gradient(#000,#000) 100% 100%/30% 30% no-repeat}.reticle[data-passive=true] .reticle__bracket{opacity:.85;border-style:dashed;-webkit-mask:none;mask:none}.reticle__arrow{width:calc(40 * var(--u));height:calc(40 * var(--u));transform:translate(-50%, -50%) rotate(var(--marker-angle,0deg));display:none;position:absolute;top:50%;left:50%}.reticle__arrow:after{content:"";width:calc(18 * var(--u));height:calc(18 * var(--u));clip-path:polygon(50% 0,100% 100%,50% 72%,0 100%);background:currentColor;position:absolute;top:0;left:50%;transform:translate(-50%)}.reticle[data-offscreen=true] .reticle__bracket{display:none}.reticle[data-offscreen=true] .reticle__arrow{display:block}.reticle small{background:var(--glass);font-size:var(--fs-2);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:3px;padding:1px 5px;font-weight:500;position:absolute;top:100%;left:50%;transform:translate(-50%)}.reticle[data-offscreen=true] small{top:calc(50% + 22 * var(--u))}.sale{z-index:var(--z-overlay);text-align:center;color:var(--gold);opacity:0;transition:opacity var(--t-slow) ease, transform var(--t-slow) ease;pointer-events:none;text-shadow:0 2px 18px rgb(var(--deep-rgb) / .9);position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)scale(.96)}.sale--visible{opacity:1;transform:translate(-50%,-50%)}.sale span{font-family:var(--font-display);font-size:var(--fs-2);letter-spacing:var(--track);font-weight:600;display:block}.sale strong{font-size:var(--fs-5);font-variant-numeric:tabular-nums;font-weight:500;display:block}.sale em{font-family:var(--font-display);font-size:var(--fs-2);display:block}.sale em[hidden]{display:none}}@layer panels{.dialog{z-index:var(--z-panel);padding:var(--gap-3);opacity:0;visibility:hidden;transition:opacity var(--t-slow) ease, visibility 0s var(--t-slow);place-items:center;display:grid;position:absolute;inset:0}.help--open,.settings-panel--open,.shop--open,.finale--open{opacity:1;visibility:visible;transition:opacity var(--t-slow) ease}.dialog__backdrop{background:rgb(var(--deep-rgb) / .7);cursor:default;border:0;position:absolute;inset:0}.dialog__card{width:min(100%, calc(880 * var(--u)));max-height:calc(100vh - 2 * var(--gap-3));border:1px solid var(--line);background:var(--panel);transition:transform var(--t-slow) ease;border-radius:2px;flex-direction:column;display:flex;position:relative;transform:translateY(8px);box-shadow:0 24px 80px #000a1980}.help--open .dialog__card,.settings-panel--open .dialog__card,.shop--open .dialog__card,.finale--open .dialog__card{transform:none}.dialog__header{align-items:flex-start;gap:var(--gap-2);padding:var(--gap-2) var(--gap-3);border-bottom:1px solid var(--line);display:flex}.dialog__header>div{flex:auto;min-width:0}.dialog__header h2{font-family:var(--font-display);font-size:var(--fs-4);letter-spacing:.02em;font-weight:700;line-height:1.05}.dialog__header p{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);margin-top:4px}.dialog__close{flex:none}.dialog__body{min-height:0;padding:var(--gap-2) var(--gap-3);scrollbar-width:thin;scrollbar-color:var(--ink-lo) transparent;scrollbar-gutter:stable;flex:auto;overflow-y:auto}.dialog__body::-webkit-scrollbar{width:8px}.dialog__body::-webkit-scrollbar-thumb{background:var(--ink-lo);border-radius:4px}.dialog__footer{justify-content:flex-end;align-items:center;gap:var(--gap-2);padding:var(--gap-2) var(--gap-3);border-top:1px solid var(--line);display:flex}.dialog__footer p{font-family:var(--font-display);font-size:var(--fs-1);color:var(--ink-mid);margin-right:auto}.panel-button{min-width:calc(160 * var(--u));padding:var(--gap-1) var(--gap-2);border:1px solid var(--line);text-align:left;cursor:pointer;transition:border-color var(--t-fast) ease, background var(--t-fast) ease;background:0 0;border-radius:2px;gap:2px;display:grid}.panel-button span{font-family:var(--font-display);font-size:var(--fs-2);letter-spacing:.04em;font-weight:600}.panel-button small{font-size:var(--fs-1);color:var(--ink-mid)}.panel-button:hover{border-color:var(--teal)}.panel-button--primary{border-color:var(--teal);background:rgb(var(--teal-rgb) / .15)}.keys{border-collapse:collapse;width:100%;font-size:var(--fs-2)}.keys th,.keys td{padding:calc(5 * var(--u)) var(--gap-2);border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle}.keys th:first-child,.keys td:first-child{padding-left:0}.keys thead th{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);font-weight:600}.keys tbody th{font-family:var(--font-display);letter-spacing:.04em;white-space:nowrap;font-weight:600}.keys tbody th small{font-family:var(--font-mono);font-size:var(--fs-1);letter-spacing:0;color:var(--ink-mid);white-space:normal;margin-left:.8em;font-weight:400}.keys td{white-space:nowrap}.settings-panel__body{gap:var(--gap-3);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);display:grid}.settings-group{gap:var(--gap-1);flex-direction:column;min-width:0;display:flex}.settings-group h3{margin-bottom:var(--gap-1);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);font-weight:600}.setting{align-items:center;gap:var(--gap-1) var(--gap-2);padding:calc(7 * var(--u)) var(--gap-2);border:1px solid var(--line-soft);background:rgb(var(--ink-rgb) / .04);text-align:left;border-radius:2px;grid-template-columns:minmax(0,1fr) auto;display:grid}.setting__label strong{font-family:var(--font-display);font-size:var(--fs-2);letter-spacing:.04em;font-weight:600;display:block}.setting__label small{font-size:var(--fs-1);color:var(--ink-mid);display:block}.choice{gap:4px;display:flex}.choice__step{padding:calc(5 * var(--u)) calc(9 * var(--u));border:1px solid var(--line);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);cursor:pointer;transition:background var(--t-fast) ease, color var(--t-fast) ease;background:0 0;border-radius:2px;font-weight:600}.choice__step:hover{border-color:var(--teal)}.choice__step--selected{border-color:var(--teal);background:var(--teal);color:var(--deep)}.setting--volume{cursor:pointer}.setting--volume output{font-size:var(--fs-2);color:var(--teal);font-variant-numeric:tabular-nums}.setting--volume input{width:100%;accent-color:var(--teal);cursor:pointer;grid-column:1/-1;margin:0}.setting--switch{cursor:pointer}.setting--switch i{width:calc(34 * var(--u));height:calc(18 * var(--u));border:1px solid var(--line);border-radius:calc(9 * var(--u));transition:border-color var(--t-fast) ease, background var(--t-fast) ease;position:relative}.setting--switch i:after{content:"";width:calc(12 * var(--u));height:calc(12 * var(--u));background:var(--ink-mid);transition:transform var(--t-fast) ease, background var(--t-fast) ease;border-radius:50%;position:absolute;top:2px;left:2px}.setting--on i{border-color:var(--teal);background:rgb(var(--teal-rgb) / .2)}.setting--on i:after{background:var(--teal);transform:translateX(calc(16 * var(--u)))}.archive{min-height:calc(120 * var(--u));max-height:calc(380 * var(--u));padding-right:var(--gap-1);scrollbar-width:thin;scrollbar-color:var(--ink-lo) transparent;flex:auto;overflow-y:auto}.archive__entry{padding:var(--gap-1) 0;border-bottom:1px solid var(--line-soft)}.archive__entry h4{font-family:var(--font-display);font-size:var(--fs-2);font-weight:600}.archive__entry small{font-size:var(--fs-1);color:var(--ink-mid)}.archive__entry p{font-family:var(--font-display);font-size:var(--fs-1);color:var(--ink-hi);margin-top:4px;line-height:1.5}.archive__entry--redacted span{font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-lo)}.shop__card{width:min(100%, calc(980 * var(--u)))}.shop__credits{text-align:right;flex:none}.shop__credits span{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);font-weight:600;display:block}.shop__credits b{font-size:var(--fs-4);color:var(--gold);font-variant-numeric:tabular-nums;font-weight:500}.shop__grid{grid-template-columns:repeat(auto-fit, minmax(calc(190 * var(--u)), 1fr));gap:var(--gap-2);display:grid}.upgrade-card{gap:var(--gap-1);min-height:calc(150 * var(--u));padding:var(--gap-2);border:1px solid var(--line);background:rgb(var(--ink-rgb) / .04);text-align:left;cursor:pointer;transition:border-color var(--t-fast) ease;border-radius:2px;flex-direction:column;display:flex}.upgrade-card small{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--teal);font-weight:600}.upgrade-card h3{font-family:var(--font-display);font-size:var(--fs-3);letter-spacing:.02em;font-weight:700}.upgrade-card p{font-family:var(--font-display);font-size:var(--fs-1);color:var(--ink-mid);flex:auto;line-height:1.5}.upgrade-card footer{justify-content:space-between;align-items:baseline;gap:var(--gap-1);padding-top:var(--gap-1);border-top:1px solid var(--line-soft);font-size:var(--fs-1);color:var(--ink-hi);display:flex}.upgrade-card footer strong{font-size:var(--fs-2);color:var(--gold);white-space:nowrap;font-weight:500}.upgrade-card--affordable{border-color:rgb(var(--gold-rgb) / .55)}.upgrade-card:hover:not(:disabled){border-color:var(--gold)}.upgrade-card--locked{opacity:.75}.upgrade-card--locked footer strong{color:var(--ink-mid)}.upgrade-card:disabled{opacity:.5;cursor:default}.finale{background:rgb(var(--deep-rgb) / .7)}.finale__card{width:min(100%, calc(720 * var(--u)))}.finale .eyebrow,.finale h2 em{color:var(--gold)}.finale__story{max-width:62ch;font-family:var(--font-display);font-size:var(--fs-2);color:var(--ink-hi);line-height:1.6}.finale__summary{gap:var(--gap-2);margin-top:var(--gap-2);padding-top:var(--gap-2);border-top:1px solid var(--line-soft);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.finale__summary dt{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--ink-mid);font-weight:600}.finale__summary dd{font-size:var(--fs-3);color:var(--teal);font-variant-numeric:tabular-nums;margin-top:2px;font-weight:500}.finale__summary div:last-child dd{color:var(--gold)}.finale__status{margin-top:var(--gap-2);font-family:var(--font-display);font-size:var(--fs-1);color:var(--ink-mid)}.finale--confirm-reset [data-finale-reset]{border-color:var(--coral);background:rgb(var(--coral-rgb) / .15)}.recovery{z-index:var(--z-overlay);padding:var(--gap-3);background:rgb(var(--deep-rgb) / .6);opacity:0;visibility:hidden;transition:opacity var(--t-slow) ease, visibility 0s var(--t-slow);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.recovery--visible{opacity:1;visibility:visible;transition:opacity var(--t-slow) ease}.recovery__card{width:min(100%, calc(560 * var(--u)));padding:var(--gap-3);border:1px solid rgb(var(--coral-rgb) / .5);border-left:3px solid var(--coral);background:var(--panel);border-radius:2px;box-shadow:0 24px 80px #000a1980}.recovery__code{font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);color:var(--coral);font-weight:600}.recovery h2{margin:var(--gap-1) 0 var(--gap-2);font-family:var(--font-display);font-size:var(--fs-5);letter-spacing:-.01em;font-weight:700;line-height:.95}.recovery h2 em{color:var(--coral)}.recovery__detail{font-family:var(--font-display);font-size:var(--fs-2);color:var(--ink-hi);line-height:1.5}.recovery__status{margin-top:var(--gap-2);font-family:var(--font-display);font-size:var(--fs-1);letter-spacing:var(--track);font-weight:600}.recovery__cargo{margin-top:var(--gap-1);font-size:var(--fs-1);color:var(--ink-mid);display:block}.recovery[data-phase=secured] .recovery__card{border-color:rgb(var(--teal-rgb) / .5);border-left-color:var(--teal)}.recovery[data-phase=secured] .recovery__code,.recovery[data-phase=secured] h2 em{color:var(--teal)}@media (max-width:760px){.hud{gap:var(--gap-1) var(--gap-2);padding:var(--gap-2)}.ladder,.hold__manifest{display:none}.reserve{width:calc(150 * var(--u))}.dialog{padding:var(--gap-2)}.settings-panel__body,.finale__summary{grid-template-columns:1fr}.keys tbody th small{display:none}}}@layer motion{@keyframes loading-scan{0%{transform:translate(-110%)}to{transform:translate(365%)}}@keyframes depth-flash{to{opacity:.55}}@keyframes objective-pulse{50%{filter:drop-shadow(0 0 10px rgb(var(--gold-rgb) / .7));transform:scale(1.03)}}@keyframes reticle-lock{0%{opacity:0;transform:scale(1.5)}}@keyframes shake{25%{translate:-5px}75%{translate:5px}}.depth[data-slope=damage] .depth__hero{animation:.9s ease-in-out infinite alternate depth-flash}.objective--pulse{animation:.48s objective-pulse}.reticle--lock .reticle__bracket{animation:reticle-lock var(--t-slow) ease-out}.shake{animation:.32s shake}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] :before,:root[data-reduced-motion=true] :after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}}
