:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e11;--surface:#171b20;--border:#343b42;--border-input:#76818c;--text:#e6e8ea;--text-muted:#a3abb3;--accent:#e3b56a;--accent-strong:#f3d49b;--on-accent:#14100a;--danger:#ff6b5a;--warning:#f2c14e;--success:#6fcf97;--plate:#0c0e1199;--plate-solid:#0c0e11e6;--veil:#0c0e11b8;--f-display:"Noto Serif KR", "Nanum Myeongjo", "Apple SD Gothic Neo", serif;--f-ui:"IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--f-mono:"IBM Plex Mono", "IBM Plex Sans KR", "Apple SD Gothic Neo", ui-monospace, SFMono-Regular, Menlo, monospace;--t-xs:500 11px/16px var(--f-mono);--t-sm:400 12px/18px var(--f-mono);--t-base:500 14px/20px var(--f-ui);--t-md:600 16px/22px var(--f-ui);--t-lg:600 18px/24px var(--f-ui);--t-xl:900 32px/34px var(--f-display);--t-2xl:900 44px/44px var(--f-display);--t-3xl:900 56px/56px var(--f-display);--t-display:900 clamp(52px, 20vw, 150px)/1 var(--f-display);--track-tight:0;--track-text:0;--track-label:.04em;--track-wide:.1em;--s-1:2px;--s-2:4px;--s-3:8px;--s-4:12px;--s-5:16px;--s-6:24px;--s-7:32px;--s-8:48px;--radius:0;--round:999px;--shadow-hud:0 0 2px #000000e6, 0 1px 6px #000000b3;--fast:.12s;--base:.3s;--slow:.7s;--ease:cubic-bezier(.2, .7, .2, 1);--gutter-l:max(16px, env(safe-area-inset-left,0px));--gutter-r:max(16px, env(safe-area-inset-right,0px));--panel-max:560px;--ctl-sm:36px;--ctl-md:48px;--ctl-lg:56px}@media (prefers-reduced-motion:reduce){:root{--fast:0s;--base:0s;--slow:0s}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:var(--t-sm);margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{min-height:var(--ctl-md);padding:0 var(--s-6);font:var(--t-md);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text);background:var(--plate);border:1px solid var(--border-input);border-radius:var(--radius);cursor:pointer;transition:background var(--fast), border-color var(--fast), color var(--fast);justify-content:center;align-items:center;display:inline-flex}.btn:hover{border-color:var(--text)}.btn:active{background:var(--surface)}.btn:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.btn.primary{min-height:var(--ctl-lg);background:var(--accent);color:var(--on-accent);border-color:var(--accent);font:var(--t-lg);letter-spacing:var(--track-wide)}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.small{min-height:var(--ctl-sm);padding:0 var(--s-5);font:var(--t-base);letter-spacing:var(--track-wide)}.btn.block{justify-content:flex-start;width:100%;display:flex}.tabs{gap:var(--s-6);border-bottom:1px solid var(--border);display:flex}.tab{padding:var(--s-4) 0;font:var(--t-lg);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.seg{border:1px solid var(--border-input);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.seg button{min-height:var(--ctl-sm);border:0;border-left:1px solid var(--border-input);font:var(--t-base);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0}.seg button:first-child{border-left:0}.seg button[aria-pressed=true]{background:var(--text);color:var(--on-accent)}.field{gap:var(--s-3);padding:var(--s-5) 0;border-bottom:1px solid var(--border);display:grid}.field>label,.field>.label{font:var(--t-base);letter-spacing:var(--track-wide);text-transform:uppercase}.field .row{align-items:center;gap:var(--s-5);display:flex}.field output{text-align:right;min-width:5ch;font:var(--t-sm);font-weight:500}input[type=range]{height:var(--ctl-sm);appearance:none;cursor:pointer;background:0 0;flex:1;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--border-input);height:2px}input[type=range]::-moz-range-track{background:var(--border-input);height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:0;border-radius:0;width:10px;height:22px;margin-top:-10px}input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:0;width:10px;height:22px}.toggle{align-items:center;gap:var(--s-4);min-height:var(--ctl-sm);color:var(--text);font:var(--t-sm);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;display:inline-flex}.toggle:before{content:"";border:1px solid var(--border-input);background:linear-gradient(var(--text-muted), var(--text-muted)) 3px 50% / 16px 14px no-repeat;width:44px;height:22px;transition:background-position var(--fast)}.toggle[aria-pressed=true]:before{background:linear-gradient(var(--accent), var(--accent)) 23px 50% / 16px 14px no-repeat;border-color:var(--accent)}kbd{border:1px solid var(--border-input);min-width:22px;font:var(--t-xs);letter-spacing:var(--track-label);text-align:center;color:var(--text);padding:1px 6px;display:inline-block}.keys{margin:0}.keys>div{justify-content:space-between;align-items:center;gap:var(--s-5);padding:var(--s-2) 0;display:flex}.keys dt{font:var(--t-sm);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.keys dd{font:var(--t-sm);margin:0;font-weight:500}.panel{width:min(100%, var(--panel-max));padding:var(--s-6);background:var(--plate-solid);border:1px solid var(--border);border-top:2px solid var(--accent)}.panel .eyebrow{font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.panel h2{margin:var(--s-2) 0 var(--s-4);font:var(--t-3xl);letter-spacing:var(--track-tight);text-transform:uppercase}.panel .note{font:var(--t-sm);color:var(--text-muted)}.panel .sub{margin:var(--s-5) 0 var(--s-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--border);font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.panel .actions{gap:var(--s-3);margin-top:var(--s-5);display:grid}.stats{gap:var(--s-5);margin:var(--s-5) 0;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));display:grid}.stats dt{font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.stats dd{font:var(--t-xl);margin:0}.boot{justify-items:center;gap:var(--s-4);display:grid}.boot .word{font:var(--t-display);letter-spacing:var(--track-label);text-transform:uppercase}.boot .msg{font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.bar{background:var(--border);width:min(250px,60vw);height:2px}.bar>i{background:var(--accent);height:100%;transition:width var(--base) ease;display:block}.hud{text-shadow:var(--shadow-hud);--text-muted:var(--text);position:relative}.hud .plate{background:var(--plate);text-shadow:none}.h-obj{border-left:2px solid var(--accent);padding-left:var(--s-4)}.h-obj .k{font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.h-obj .t{font:var(--t-lg);letter-spacing:var(--track-label);text-transform:uppercase}.pips{gap:var(--s-2);vertical-align:middle;display:inline-flex}.pips i{border:1px solid var(--text);width:9px;height:9px}.pips i.on{background:var(--accent);border-color:var(--accent)}.h-ammo{text-align:right}.h-ammo .n{font:var(--t-3xl)}.h-ammo .n.low{color:var(--danger)}.h-ammo .r{font:var(--t-lg);color:var(--text-muted)}.h-ammo .name{font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.mag{margin:var(--s-2) 0;justify-content:flex-end;gap:2px;display:flex}.mag i{background:var(--text);width:3px;height:12px}.mag i.off{background:var(--border-input)}.h-hp{align-items:center;gap:var(--s-3);display:flex}.h-hp .n{font:var(--t-lg);min-width:3ch}.h-hp .track{background:var(--border-input);width:120px;height:4px}.h-hp .track i{background:var(--text);height:100%;display:block}.h-hp.low .track i{background:var(--danger)}.h-tape{background:var(--plate);height:34px;text-shadow:none;border-bottom:1px solid var(--text);font:var(--t-xs);letter-spacing:var(--track-label);color:var(--text-muted);position:relative;overflow:hidden}.h-tape .tick{padding-bottom:8px;position:absolute;bottom:0;transform:translate(-50%)}.h-tape .tick:after{content:"";background:var(--text-muted);width:1px;height:6px;position:absolute;bottom:0;left:50%}.h-tape .tick.card{color:var(--text);font-weight:500}.h-tape .needle{background:var(--accent);width:2px;height:14px;position:absolute;bottom:0;left:50%}.mark{align-items:center;gap:var(--s-1);font:var(--t-xs);color:var(--text);flex-direction:column;display:inline-flex}.mark:before{content:"";border:2px solid var(--accent);filter:drop-shadow(0 0 2px #000000e6);width:9px;height:9px;transform:rotate(45deg)}.mark b{font-weight:500}.cross{width:36px;height:36px;position:relative}.cross i{background:var(--text);position:absolute;box-shadow:0 0 2px #0009}.cross i:first-child,.cross i:nth-child(2){width:2px;height:9px;margin-left:-1px;left:50%}.cross i:first-child{top:0}.cross i:nth-child(2){bottom:0}.cross i:nth-child(3),.cross i:nth-child(4){width:9px;height:2px;margin-top:-1px;top:50%}.cross i:nth-child(3){left:0}.cross i:nth-child(4){right:0}.cross.hit i{background:var(--danger)}.cross{transition:scale var(--fast)}.cross.aim{scale:.6}.h-hurt{pointer-events:none;opacity:0;box-shadow:inset 0 0 120px 24px var(--danger);position:absolute;inset:0}.h-arc{border:4px solid #0000;border-top-color:var(--danger);border-radius:var(--round);opacity:0;pointer-events:none;width:150px;height:150px;margin:-75px 0 0 -75px;position:absolute;top:50%;left:50%}.h-prompt{gap:var(--s-2);padding:var(--s-3) var(--s-4);font:var(--t-base);letter-spacing:var(--track-wide);text-transform:uppercase;display:inline-grid}.h-prompt .bar{width:100%}.h-radio{text-align:center;max-width:46ch}.h-radio .who{padding:0 var(--s-3);background:var(--plate);text-shadow:none;font:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);display:inline-block}.h-radio .t{font:var(--t-lg);letter-spacing:var(--track-tight);padding:var(--s-2) var(--s-3)}.h-toast{max-width:34ch;padding:var(--s-3) var(--s-4);font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;text-align:center;display:inline-block}.h-warn{padding:var(--s-2) var(--s-4);background:var(--plate);text-shadow:none;font:var(--t-md);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--warning);display:inline-block}.loc-card{border-left:3px solid var(--accent);padding-left:var(--s-4)}.loc-card .t{font:var(--t-xl);letter-spacing:var(--track-label);text-transform:uppercase}.loc-card .s{font:var(--t-xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted)}.t-ring{border:1px solid var(--text);border-radius:var(--round);background:var(--plate);pointer-events:none;width:112px;height:112px;position:absolute;top:0;left:0}.t-nub{border-radius:var(--round);background:var(--text);opacity:.8;width:44px;height:44px;margin:-22px;position:absolute;top:50%;left:50%}.t-btn{border-radius:var(--round);border:1px solid var(--text);background:var(--plate);color:var(--text);font:var(--t-base);letter-spacing:var(--track-label);text-transform:uppercase;touch-action:none}.t-btn.fire{border-color:var(--accent);color:var(--accent)}.t-btn[aria-pressed=true]{background:var(--text);color:var(--on-accent)}html,body{height:100%;overflow:hidden}[hidden]{display:none!important}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#stage{position:fixed;inset:0}html.turned #stage{width:var(--sw);height:var(--sh);transform-origin:0 0;transform:translateX(var(--sh)) rotate(90deg);inset:0 auto auto 0}:root{--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px)}html.turned{--safe-t:env(safe-area-inset-right,0px);--safe-r:env(safe-area-inset-bottom,0px);--safe-b:env(safe-area-inset-left,0px);--safe-l:env(safe-area-inset-top,0px);--gutter-l:max(16px, var(--safe-l));--gutter-r:max(16px, var(--safe-r))}#view{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;word-break:keep-all;position:fixed;inset:0}#ui .screen{pointer-events:auto;padding:var(--s-6) var(--gutter-r) calc(var(--s-6) + var(--safe-b)) var(--gutter-l);background:var(--veil);place-items:center;display:grid;position:absolute;inset:0;overflow:auto}#ui .screen.boot .fail{max-width:46ch;font:var(--t-sm);color:var(--danger);text-align:center}#ui .screen.title{background:linear-gradient(transparent 35%, var(--plate) 100%);place-items:end start}.title-block{gap:var(--s-5);width:min(100%, var(--panel-max));display:grid}.title-eyebrow{font:var(--t-md);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted);text-shadow:var(--shadow-hud);margin:0}.title-word{font:var(--t-display);letter-spacing:var(--track-tight);text-transform:uppercase;text-shadow:var(--shadow-hud);margin:0}.title-premise{font:var(--t-lg);letter-spacing:var(--track-tight);text-shadow:var(--shadow-hud);margin:0}.title-block .actions{gap:var(--s-3);display:grid}.pair{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}#ui .screen.sheet{place-items:start center}.panel-head{justify-content:space-between;align-items:flex-end;gap:var(--s-5);margin-bottom:var(--s-3);display:flex}.panel-head .tabs{flex:1}#ui .hud{position:absolute;inset:0}.hud-top{top:calc(var(--s-4) + var(--safe-t));width:min(520px, calc(100% - var(--gutter-l) - var(--gutter-r)));left:50%;transform:translate(-50%);position:absolute!important}.h-tape .tick,.h-tape .obj{will-change:transform;left:0}.h-tape .obj{top:var(--s-1);font:var(--t-xs);color:var(--accent);position:absolute}.hud-tl{top:calc(var(--s-4) + 34px + var(--s-4) + var(--safe-t));left:var(--gutter-l);position:absolute}.hud-bl{bottom:calc(var(--s-5) + var(--safe-b));left:var(--gutter-l);position:absolute}.hud-br{bottom:calc(var(--s-5) + var(--safe-b));right:var(--gutter-r);position:absolute}.hud-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-mid{gap:var(--s-4);width:max-content;max-width:calc(100% - var(--gutter-l) - var(--gutter-r));justify-items:center;display:grid;position:absolute;top:58%;left:50%;transform:translate(-50%)}.hud-markers{position:absolute;inset:0;overflow:hidden}.hud-story{left:var(--gutter-l);right:var(--gutter-r);bottom:calc(112px + var(--safe-b));gap:var(--s-5);justify-items:center;display:grid;position:absolute}.hud-story .loc-card{justify-self:start}.hud-story>*{opacity:0;transition:opacity var(--base)}.hud-story>.on{opacity:1}.hud.intro>:not(.hud-story){visibility:hidden}.hud-markers .mark{will-change:transform;position:absolute;top:0;left:0}.t-layer{pointer-events:none;--tb:clamp(52px, calc(var(--sh) * .16), 68px);--tf:calc(var(--tb) * 1.32);--ts:calc(var(--tb) * .82);--tr:max(16px, var(--safe-r));--tbot:calc(18px + var(--safe-b));--ttop:calc(8px + var(--safe-t));position:absolute;inset:0}.t-layer .t-btn{pointer-events:auto;width:var(--tb);height:var(--tb);position:absolute}.t-layer .t-fire{width:var(--tf);height:var(--tf);right:calc(var(--tr) + var(--tb) * .55);bottom:calc(var(--tbot) + var(--tb) * .5)}.t-layer .t-jump{right:var(--tr);bottom:calc(var(--tbot) + var(--tb) * .5 + var(--tf) + 10px)}.t-layer .t-swap{width:var(--ts);height:var(--ts);right:calc(var(--tr) + var(--tb) * .55 + var(--tf) + 12px);bottom:calc(var(--tbot) + 12px)}.t-layer .t-pause{right:var(--tr);top:var(--ttop);width:44px;height:44px}.t-ring.idle{left:calc(max(24px, var(--safe-l)) + 72px);bottom:calc(24px + var(--safe-b) + 72px);opacity:.35;top:auto;transform:translate(-50%,50%)}#ui.touch .hud-bl{left:auto;right:calc(50% + 56px);bottom:calc(var(--s-3) + var(--safe-b))}#ui.touch .hud-br{left:calc(50% + 56px);right:auto;bottom:calc(var(--s-3) + var(--safe-b));transform-origin:0 100%;transform:scale(.7)}#ui.touch .hud-story{bottom:calc(96px + var(--safe-b))}#ui.touch .hud-mid{top:30%}#ui.no-hud .hud{display:none!important}#ui.short .screen{padding-top:var(--s-4);padding-bottom:calc(var(--s-4) + var(--safe-b))}#ui.short .title-block{gap:var(--s-3);width:min(100%,720px)}#ui.short .title-word{font-size:clamp(40px, calc(var(--sh) * .24), 96px)}#ui.short .title-premise{font:var(--t-base)}#ui.short .title-block .actions{grid-template-columns:2fr 1fr 1fr;align-items:stretch}#ui.short .title-block .actions .pair{display:contents}#ui.short .panel{padding:var(--s-4)}
