:root{--bg:#0b0a0d;--ink:#f2eee3;--dim:#a8a396;--accent:#e8c547;--danger:#d8372f;--panel:#0e0d11e0;--line:#f2eee329;--display:Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Black", sans-serif;--body:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--body);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#app{position:fixed;inset:0}#view{touch-action:none;background:#000;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}.screen{padding:clamp(14px,3vw,40px);display:none;position:absolute;inset:0;overflow-y:auto}.screen.on{display:flex}.screen.center{background:radial-gradient(#0b0a0db8,#0b0a0df5);justify-content:center;align-items:center}.screen.title{background:linear-gradient(90deg,#08070af5 0%,#08070ad1 38%,#08070a33 75%,#08070a0d 100%),repeating-linear-gradient(0deg,#00000024 0 1px,#0000 1px 3px);align-items:stretch}.screen.end.dead{background:radial-gradient(#4605058c,#080000f2)}.screen.end.won{background:radial-gradient(#3c2e0680,#080703f2)}.title-col{flex-direction:column;gap:16px;width:min(640px,100%);margin:auto 0;padding-bottom:38px;display:flex}.logo{text-transform:uppercase;line-height:.9;font-family:var(--display);letter-spacing:.02em;transform-origin:0 100%;flex-direction:column;display:flex;position:relative;transform:rotate(-2deg)}.logo-small{letter-spacing:.4em;color:var(--dim);font-size:clamp(20px,3vw,30px)}.logo-big{color:var(--ink);text-shadow:4px 4px 0 var(--danger), 8px 8px 0 #00000080;font-size:clamp(54px,9.5vw,112px)}.logo-q{color:var(--accent);text-shadow:0 0 28px #e8c5478c;font-size:clamp(80px,13vw,160px);animation:2.6s ease-in-out infinite pulse;position:absolute;top:-.35em;right:-.1em;transform:rotate(10deg)}@keyframes pulse{50%{opacity:.72;text-shadow:0 0 10px #e8c5474d}}.slogan{color:var(--accent);margin:0;font-size:clamp(15px,2vw,19px);font-style:italic}.cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.card{text-align:left;color:inherit;font:inherit;background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:14px;gap:12px;padding:14px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.card:hover{border-color:#f2eee366;transform:translateY(-2px)}.card.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 30px #e8c54729}.card .num{font-family:var(--display);color:var(--accent);font-size:44px;line-height:1}.card h3{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0 0 4px;font-size:24px}.card p{margin:0 0 6px;font-size:13.5px;line-height:1.4}.card .tag{color:var(--accent);font-style:italic}.card .blurb{color:#d6d1c4}.card .stalker{color:var(--dim);font-size:12.5px}.card .best{color:var(--accent);font-size:12.5px}.diff{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.label{text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-size:13px}.chips{gap:6px;display:flex}.chip{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:999px;padding:7px 14px;font-size:14px}.chip.sel{background:var(--accent);color:#1a1505;border-color:var(--accent);font-weight:700}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:10px;padding:11px 20px;font-size:16px;font-weight:600;transition:background .15s,transform .1s}.btn:hover{background:#ffffff29}.btn:active{transform:scale(.98)}.btn.primary{color:#1a1505;background:var(--accent);border-color:var(--accent)}.btn.primary:hover{background:#f3d45f}.btn.big{font-size:20px;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;padding:14px 34px}.btn:focus-visible,.card:focus-visible,.chip:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #fff}.small{font-size:12.5px}.dim{color:var(--dim)}.controls{margin:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;width:min(560px,100%);max-height:100%;padding:24px;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0009}.panel.narrow{width:min(460px,100%)}.panel h2{font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:34px}.panel h3{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:8px 0 0;font-size:15px}.panel p{margin:0;line-height:1.5}.bullets{margin:0;padding-left:20px;line-height:1.55}.stats{font-family:var(--display);letter-spacing:.04em;color:var(--accent);font-size:22px}.best{color:var(--accent)}.modal-back{z-index:50;background:#000000a8;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.field{grid-template-columns:1fr minmax(120px,1.4fr) 56px;align-items:center;gap:10px;font-size:15px;display:grid}.field select{grid-column:2/4}.field output{text-align:right;color:var(--dim);font-variant-numeric:tabular-nums}select,input[type=range]{width:100%;font:inherit;color:var(--ink);accent-color:var(--accent)}select{border:1px solid var(--line);background:#1a181e;border-radius:8px;padding:7px}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:15px;line-height:1.4;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);margin-top:1px}.spinner{border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:38px;height:38px;margin-right:16px;animation:.9s linear infinite spin}#loading{flex-direction:row}@keyframes spin{to{transform:rotate(360deg)}}#hud{font-family:var(--body);display:none;position:absolute;inset:0;pointer-events:none!important}#hud.on{display:block}#hud>*{pointer-events:none}#hud>.touch-btn{pointer-events:auto}.fear{opacity:0;background:radial-gradient(#0000 45%,#78000080 100%);transition:opacity .2s;position:absolute;inset:0}.hud-tl{flex-direction:column;gap:8px;display:flex;position:absolute;top:clamp(12px,2.4vw,24px);left:clamp(12px,2.4vw,28px)}.slots{gap:5px;display:flex}.slot{background:#00000059;border:2px solid #f2eee380;border-radius:5px;width:20px;height:20px;transition:background .2s,transform .2s,box-shadow .2s;transform:rotate(45deg)scale(.8)}.slot.on{background:var(--accent);border-color:var(--accent);transform:rotate(45deg)scale(1);box-shadow:0 0 10px #e8c54799}.objective{text-shadow:0 1px 4px #000,0 0 10px #000;font-size:15px;font-weight:600}.objective.alert{color:#ff8a7a;animation:.8s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.55}}.hud-tr{position:absolute;top:clamp(12px,2.4vw,24px);right:clamp(12px,2.4vw,28px)}.timer{font-family:var(--display);letter-spacing:.06em;text-shadow:0 1px 4px #000;opacity:.85;font-size:22px}.toast{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;text-align:center;opacity:0;background:#0000008c;border-radius:8px;padding:8px 18px;font-size:clamp(18px,2.6vw,26px);transition:opacity .35s,transform .35s;position:absolute;top:14%;left:50%;transform:translate(-50%,-8px)}.toast.on{opacity:1;transform:translate(-50%)}.caption{text-align:center;opacity:0;background:#000000b3;border-radius:6px;max-width:min(80vw,640px);padding:6px 14px;font-size:16px;transition:opacity .25s;position:absolute;bottom:17%;left:50%;transform:translate(-50%)}.caption.on{opacity:1}.hud-bl{flex-direction:column;gap:7px;width:min(220px,40vw);display:flex;position:absolute;bottom:clamp(12px,2.4vw,24px);left:clamp(12px,2.4vw,28px)}.bar{align-items:center;gap:8px;display:flex}.bar-label{text-transform:uppercase;letter-spacing:.1em;width:58px;color:var(--dim);font-size:11px}.bar-track{background:#0000008c;border:1px solid #f2eee340;border-radius:4px;flex:1;height:7px;overflow:hidden}.bar-fill{background:var(--ink);width:100%;height:100%;transition:width .12s linear}.bar.battery .bar-fill{background:var(--accent)}.bar.warn .bar-fill{background:var(--danger)}.touch-btn{width:62px;height:62px;color:var(--ink);font-family:var(--display);background:#00000073;border:2px solid #f2eee380;border-radius:50%;font-size:22px;position:absolute}.touch-btn.light{bottom:70px;right:22px}.touch-btn.pause{width:44px;height:44px;font-size:15px;top:52px;right:22px}@media (max-width:640px){.title-col{gap:10px;padding-bottom:54px}.card .blurb{display:none}.logo-q{right:0}}@media (prefers-reduced-motion:reduce){.logo-q,.objective.alert,.spinner{animation:none}}.text-input{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#1a181e;border-radius:10px;padding:12px 14px;font-size:17px}.text-input.code{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-family:var(--display);font-size:22px}.or{text-align:center;color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:13px}.error{color:#ff9a92;min-height:1.2em;margin:0;font-size:14px}.lobby-panel{width:min(620px,100%)}.room-code{color:var(--accent);letter-spacing:.25em;-webkit-user-select:text;user-select:text}.small-btn{padding:7px 14px;font-size:14px}.players{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.players li{border:1px solid var(--line);background:#ffffff0f;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-weight:600;display:flex}.dot{border-radius:50%;flex:none;width:14px;height:14px}.tagline{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-left:auto;font-size:11px;font-weight:600}.lobby-controls{flex-direction:column;gap:12px;display:flex}.cards.small{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.cards.small .card{padding:10px}.cards.small .card h3{font-size:19px}.labels{position:absolute;inset:0;overflow:hidden}.tag3d{text-shadow:0 1px 2px #000;white-space:nowrap;background:#0009;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:700;position:absolute;top:0;left:0}.ammo{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-shadow:0 1px 3px #000;margin-top:2px;font-size:12px}.ammo.empty{color:var(--danger)}.touch-btn.jump{bottom:150px;right:22px}.touch-btn.fire{width:72px;height:72px;bottom:70px;right:100px}.field.file{grid-template-columns:1fr;gap:6px}.field.file input{font-size:13px}.pix-qr{background:#fff;border-radius:8px;max-width:100%;margin:8px auto;padding:8px;display:block}.pix-code{color:#eee;background:#161616;border:1px solid #333;border-radius:6px;width:100%;padding:6px;font:12px ui-monospace,monospace}
