:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-ui:"Bahnschrift", "Segoe UI Semibold", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;--space:8px}html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#000;height:100%;margin:0;overflow:hidden}body{font-family:var(--font-ui);color:var(--text)}#game{background:#000;display:block;position:fixed}#game.hide-cursor{cursor:none}#ui{pointer-events:none;position:fixed}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--hazard);outline-offset:2px}button{font:inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--hazard);padding:var(--space) calc(var(--space) * 2);cursor:pointer;border:0}.zs-debug{top:var(--space);left:var(--space);z-index:100;padding:var(--space) calc(var(--space) * 1.5);background:var(--panel);border-left:3px solid var(--hazard);font:12px/1.5 var(--font-mono);white-space:pre;pointer-events:none;position:fixed}.zs-debug-panel{top:var(--space);right:var(--space);z-index:100;gap:var(--space);padding:calc(var(--space) * 1.5);background:var(--panel);border:1px solid var(--bg-light);border-left:3px solid var(--hazard);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;font-size:13px;display:flex;position:fixed}.zs-debug-panel label{flex-direction:column;gap:4px;display:flex}.zs-error{z-index:1000;background:#05080bf0;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.zs-error-panel{box-sizing:border-box;width:min(720px,92vw);padding:calc(var(--space) * 3);background:var(--panel);border:1px solid var(--blood);border-top:4px solid var(--blood);-webkit-user-select:text;user-select:text}.zs-error-panel h2{margin:0 0 var(--space);color:var(--hazard);letter-spacing:.12em;text-transform:uppercase}.zs-error-panel p{margin:0 0 calc(var(--space) * 2)}.zs-error-panel textarea{box-sizing:border-box;resize:vertical;width:100%;color:var(--text);background:var(--ink);border:1px solid var(--bg-light);font:12px/1.4 var(--font-mono)}.zs-error-actions{gap:var(--space);margin-top:calc(var(--space) * 2);justify-content:flex-end;display:flex}.hud{font-family:var(--font-ui);color:var(--text);text-transform:uppercase;letter-spacing:.08em;font-size:calc(var(--u) * 22 * var(--text-scale,1));pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hud-tl{top:calc(var(--u) * 28);left:calc(var(--u) * 32);width:calc(var(--u) * 360);position:absolute}.hud-tc{top:calc(var(--u) * 24);text-align:center;position:absolute;left:50%;transform:translate(-50%)}.hud-tr{top:calc(var(--u) * 28);right:calc(var(--u) * 32);text-align:right;position:absolute}.hud-bl{bottom:calc(var(--u) * 28);left:calc(var(--u) * 32);gap:calc(var(--u) * 8);display:flex;position:absolute}.hud-br{bottom:calc(var(--u) * 24);right:calc(var(--u) * 36);text-align:right;position:absolute}.bar{height:calc(var(--u) * 26);background:var(--panel);border:1px solid var(--bg-light);position:relative;overflow:hidden}.bar-fill{background:var(--hazard);transform-origin:0;transition:transform .16s ease-out;position:absolute;top:0;bottom:0;left:0;right:0}.bar-fill.low{background:var(--blood)}.bar-text{left:calc(var(--u) * 10);color:var(--ink);mix-blend-mode:normal;text-shadow:0 0 3px #f2c230e6;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.bar-stamina{height:calc(var(--u) * 6);margin-top:calc(var(--u) * 6);border-color:#0000}.bar-stamina .bar-fill{background:var(--cyan);transition:transform 90ms linear}.hud-floor{color:var(--hazard);font-weight:700}.hud-zombies{font-size:calc(var(--u) * 30 * var(--text-scale,1));margin-top:calc(var(--u) * 2);font-weight:700}.hud-hint{color:var(--acid);margin-top:calc(var(--u) * 4);min-height:1em}.hud-coins{font-size:calc(var(--u) * 34 * var(--text-scale,1));color:var(--hazard);font-weight:700}.hud-coins:before{content:"¤ ";opacity:.7}.hud-streak{color:var(--amber);min-height:1em}.hud-notice{padding:calc(var(--u) * 8) calc(var(--u) * 20);background:var(--panel);border-left:3px solid var(--hazard);opacity:0;transition:opacity .2s;position:absolute;bottom:24%;left:50%;transform:translate(-50%)}.hud-notice.show{opacity:1}.slot{width:calc(var(--u) * 84);height:calc(var(--u) * 52);background:var(--panel);border:1px solid var(--bg-light);opacity:.32;place-items:center;display:grid;position:relative}.slot.owned{opacity:.75}.slot.current{opacity:1;border-color:var(--hazard);background:#f2c2301f}.slot canvas{width:calc(var(--u) * 64)!important;height:calc(var(--u) * 30)!important}.slot-key{top:calc(var(--u) * 2);left:calc(var(--u) * 5);font-size:calc(var(--u) * 13);opacity:.8;position:absolute}.ammo-mag{font-size:calc(var(--u) * 84 * var(--text-scale,1));color:var(--hazard);font-weight:700;line-height:1}.ammo-reserve{font-size:calc(var(--u) * 30 * var(--text-scale,1));opacity:.85}.zs-debug-extra{grid-template-columns:1fr 1fr;gap:4px;display:grid}.zs-debug-extra button{padding:4px 6px;font-size:11px}.menu-layer{pointer-events:auto;font-family:var(--font-ui);color:var(--text);text-transform:uppercase;letter-spacing:.08em;font-size:calc(var(--u) * 22 * var(--text-scale,1));justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.menu-layer.dim{background:#05080bb8}.menu-layer.transparent{padding-left:calc(var(--u) * 140);justify-content:flex-start}.menu-layer button{font-size:inherit;min-height:calc(var(--u) * 54);padding:0 calc(var(--u) * 30);transition:background .2s,transform .2s,color .2s}.menu-layer button:hover:not(:disabled){transform:translateX(calc(var(--u) * 4));background:#ffd75a}.menu-layer button:disabled{opacity:.4;cursor:not-allowed}.menu-layer button.quiet{color:var(--text);border:1px solid var(--bg-light);background:0 0}.menu-layer button.quiet:hover:not(:disabled){background:#ffffff14}.menu-layer button.danger{background:var(--blood);color:var(--text)}.menu-layer button.danger:hover:not(:disabled){background:#9a2a33}.menu-layer button.selected{background:var(--hazard);color:var(--ink);outline:2px solid var(--text)}.menu-layer button:not(.primary):not(.quiet):not(.danger):not(.selected){background:var(--panel);color:var(--text);border:1px solid var(--bg-light)}.screen{background:var(--panel);border:1px solid var(--bg-light);border-top:4px solid var(--hazard);padding:calc(var(--u) * 36) calc(var(--u) * 48);max-width:calc(var(--u) * 1500);max-height:calc(var(--u) * 980);overflow:auto}.screen h2{margin:0 0 calc(var(--u) * 24);color:var(--hazard);font-size:calc(var(--u) * 40 * var(--text-scale,1));letter-spacing:.14em}.screen h3{margin:calc(var(--u) * 20) 0 calc(var(--u) * 10);color:var(--hazard)}.screen h4{margin:0 0 calc(var(--u) * 8);color:var(--amber)}.screen p{margin:0 0 calc(var(--u) * 12);text-transform:none;letter-spacing:.02em;line-height:1.5}.screen p.muted{opacity:.6}.notice-warn{color:var(--amber)}.title-screen{width:calc(var(--u) * 760);background:0 0;border:0;padding:0;overflow:visible}.logo{width:100%;height:auto;display:block}.logo text{font-family:var(--font-ui);letter-spacing:.06em;font-weight:900}.logo-a{fill:var(--hazard);font-size:120px}.logo-b{fill:var(--bone);font-size:118px}.logo-flicker{animation:6s step-end infinite flicker}@keyframes flicker{0%,to{opacity:1}91%{opacity:1}92%{opacity:.55}93%{opacity:1}96%{opacity:.7}97%{opacity:1}}.subtitle{letter-spacing:.3em;opacity:.8;margin:calc(var(--u) * 6) 0 calc(var(--u) * 28)!important}.menu-list{gap:calc(var(--u) * 12);flex-direction:column;align-items:flex-start;display:flex}.menu-list button{min-width:calc(var(--u) * 380);text-align:left}.row{gap:calc(var(--u) * 14);margin-top:calc(var(--u) * 20);display:flex}.cards{gap:calc(var(--u) * 20);margin-bottom:calc(var(--u) * 24);grid-template-columns:repeat(4,1fr);display:grid}.card{gap:calc(var(--u) * 8);padding:calc(var(--u) * 20);border:1px solid var(--bg-light);width:calc(var(--u) * 320);background:#16222c99;flex-direction:column;display:flex}.card h3{margin:0}.card .desc{font-size:calc(var(--u) * 18 * var(--text-scale,1));flex:1}.card .best{color:var(--amber)}.difficulty{gap:calc(var(--u) * 12);margin-bottom:calc(var(--u) * 20);align-items:center;display:flex}.difficulty .label{opacity:.8;margin-right:calc(var(--u) * 10)}.table{min-width:calc(var(--u) * 520);flex-direction:column;display:flex}.trow{justify-content:space-between;gap:calc(var(--u) * 40);padding:calc(var(--u) * 7) 0;border-bottom:1px solid #ffffff12;display:flex}.trow .v{color:var(--hazard);font-weight:700}.scores{gap:calc(var(--u) * 20);grid-template-columns:repeat(4,1fr);display:grid}.shop-screen{grid-template-columns:calc(var(--u) * 300) 1fr;gap:calc(var(--u) * 28);width:calc(var(--u) * 1560);display:grid}.shop-head{grid-column:1/-1;justify-content:space-between;align-items:baseline;display:flex}.shop-head h2{margin:0}.shop-coins{font-size:calc(var(--u) * 32);color:var(--hazard);font-weight:700}.weapon-list{gap:calc(var(--u) * 8);flex-direction:column;display:flex}.weapon-list button{align-items:center;gap:calc(var(--u) * 12);text-align:left;display:flex;padding:calc(var(--u) * 6) calc(var(--u) * 14)!important}.weapon-list canvas{flex:none}.weapon-list .wl-name{flex:1}.weapon-list .wl-state{font-size:calc(var(--u) * 14);opacity:.8}.detail{gap:calc(var(--u) * 14);flex-direction:column;display:flex}.preview{width:100%;height:calc(var(--u) * 230);border:1px solid var(--bg-light);background:#0a0f14;display:block}.stat-grid{gap:calc(var(--u) * 6) calc(var(--u) * 18);grid-template-columns:1fr auto auto;display:grid}.stat-grid .k{opacity:.8}.stat-grid .v{text-align:right;font-weight:700}.delta.up{color:var(--acid)}.delta.down{color:#d94a52}.upgrade-row{grid-template-columns:calc(var(--u) * 170) 1fr auto;gap:calc(var(--u) * 12);align-items:center;display:grid}.pips{gap:5px;display:flex}.pip{width:calc(var(--u) * 26);height:calc(var(--u) * 10);background:var(--bg-light)}.pip.on{background:var(--hazard)}.shop-foot{justify-content:space-between;align-items:center;gap:calc(var(--u) * 16);grid-column:1/-1;display:flex}.shop-msg{color:var(--amber);min-height:1.4em}.skin-portrait{width:calc(var(--u) * 220);height:calc(var(--u) * 220);margin:0 auto}.skin-name{text-align:center;font-size:calc(var(--u) * 22);margin:0;font-weight:700}.summary-screen{min-width:calc(var(--u) * 700)}.big-score{font-size:calc(var(--u) * 64);color:var(--hazard);font-weight:900;margin:0 0 calc(var(--u) * 10)!important}.options-screen{width:calc(var(--u) * 1100)}.tabs{gap:calc(var(--u) * 8);margin-bottom:calc(var(--u) * 20);display:flex}.tab-panel{gap:calc(var(--u) * 12);min-height:calc(var(--u) * 480);flex-direction:column;display:flex}.opt{grid-template-columns:calc(var(--u) * 380) 1fr calc(var(--u) * 110);gap:calc(var(--u) * 16);align-items:center;display:grid}.opt label{opacity:.9}.opt input[type=range]{width:100%;accent-color:var(--hazard)}.opt select{font:inherit;padding:calc(var(--u) * 8);background:var(--ink);color:var(--text);border:1px solid var(--bg-light);text-transform:uppercase}.opt .val{text-align:right;color:var(--hazard)}.bind-list{gap:calc(var(--u) * 8) calc(var(--u) * 28);max-height:calc(var(--u) * 400);grid-template-columns:1fr 1fr;display:grid;overflow:auto}.bind{justify-content:space-between;align-items:center;gap:calc(var(--u) * 8);display:flex}.bind button{min-width:calc(var(--u) * 160);min-height:calc(var(--u) * 40)!important}.bind.waiting button{background:var(--hazard)!important;color:var(--ink)!important}.tutorial{left:50%;bottom:calc(var(--u) * 150);gap:calc(var(--u) * 14);padding:calc(var(--u) * 10) calc(var(--u) * 20);background:var(--panel);border-left:3px solid var(--cyan);font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;font-size:calc(var(--u) * 22 * var(--text-scale,1));pointer-events:auto;align-items:center;transition:opacity .25s;display:flex;position:absolute;transform:translate(-50%)}.tutorial[hidden]{display:none}.tutorial button{min-height:calc(var(--u) * 34);font-size:calc(var(--u) * 14);padding:0 calc(var(--u) * 12)}@media (prefers-reduced-motion:reduce){.menu-layer button,.tutorial,.bar-fill{transition-duration:60ms}.logo-flicker{animation:none}}body.high-contrast .hud{--text:#fff}body.high-contrast .bar,body.high-contrast .slot,body.high-contrast .hud-notice{background:#000;border-color:#fff}
