:root{--bg:#1b1d2b;--panel:#1b1d2be0;--ink:#f4f1ea;--muted:#a9a8b8;--accent:#ff7a59;--accent-2:#4dabf7;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#game{position:fixed;inset:0}#game canvas{width:100%;height:100%;display:block}[hidden]{display:none!important}#menu{z-index:20;background:radial-gradient(at top,#ff7a5940,#0000 60%),#0f101a99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.panel{background:var(--panel);border:1px solid #ffffff14;border-radius:18px;width:min(420px,100%);max-height:100%;padding:22px;overflow:auto;box-shadow:0 20px 60px #00000073}.panel h1{letter-spacing:6px;color:var(--accent);margin:0;font-size:44px;font-style:italic;font-weight:900}.sub{color:var(--muted);margin:0 0 14px;font-size:13px}.panel label,.label{color:var(--muted);margin:12px 0 6px;font-size:13px;display:block}.panel input#name{width:100%;color:var(--ink);-webkit-user-select:text;user-select:text;background:#ffffff0f;border:1px solid #ffffff26;border-radius:10px;margin-top:6px;padding:10px 12px;font-size:17px;display:block}.panel input[type=range]{width:100%;accent-color:var(--accent);margin-top:6px;display:block}#colors{flex-wrap:wrap;gap:8px;display:flex}#colors button{cursor:pointer;border:3px solid #0000;border-radius:50%;width:34px;height:34px;padding:0}#colors button.on{border-color:var(--ink);transform:scale(1.1)}#play{letter-spacing:3px;background:var(--accent);color:#1b1d2b;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:18px;padding:14px;font-size:20px;font-weight:800}#play:disabled{opacity:.5;cursor:wait}#status{min-height:1.2em;color:var(--muted);margin:10px 0 0;font-size:13px}.keys{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.7}.keys b{color:var(--ink);background:#ffffff1a;border-radius:4px;padding:1px 5px;font-weight:600}body.touch .pc-only,body:not(.touch) .touch-only{display:none}#hud{pointer-events:none;z-index:5;position:fixed;inset:0}#crosshair{--gap:6px;width:0;height:0;position:absolute;top:50%;left:50%}#crosshair i{background:#fff;position:absolute;box-shadow:0 0 0 1px #0000008c}#crosshair .t,#crosshair .b{width:2px;height:8px;left:-1px}#crosshair .l,#crosshair .r{width:8px;height:2px;top:-1px}#crosshair .t{bottom:var(--gap)}#crosshair .b{top:var(--gap)}#crosshair .l{right:var(--gap)}#crosshair .r{left:var(--gap)}#crosshair .dot{width:2px;height:2px;top:-1px;left:-1px}#crosshair.melee i:not(.dot){display:none}#crosshair.melee .dot{border-radius:50%;width:6px;height:6px;top:-3px;left:-3px}#sightdot{background:#ff3b3b;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #ff3b3b}#scope{background:radial-gradient(circle,#0000 0 36vh,#000 36.5vh);position:absolute;inset:0}#scope .lens{opacity:.8;background:linear-gradient(#000,#000) 50%/1px 100% no-repeat,linear-gradient(#000,#000) 50%/100% 1px no-repeat;width:72vh;height:72vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#stats{top:max(8px, env(safe-area-inset-top));color:#fff;text-shadow:0 1px 2px #000;text-align:right;white-space:pre;font:12px ui-monospace,monospace;position:absolute;right:12px}#feed{text-shadow:0 1px 2px #000;font-size:13px;position:absolute;top:8px;left:12px}#chat-log{text-shadow:0 1px 2px #000,0 0 4px #000;width:min(440px,70vw);font-size:14px;line-height:1.35;position:absolute;bottom:54px;left:12px}#chat-log .line{animation:10s forwards fade}#chat-log.open .line{opacity:1;animation:none}#chat-log .sys{color:#ffd480;font-style:italic}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}#chat-input{color:#fff;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#0000008c;border:1px solid #ffffff40;border-radius:8px;width:min(440px,80vw);padding:8px 10px;font-size:15px;position:absolute;bottom:14px;left:12px}#scoreboard{background:var(--panel);border-radius:14px;min-width:min(360px,90vw);padding:14px 18px;font-size:15px;position:absolute;top:18%;left:50%;transform:translate(-50%)}#scoreboard h2{letter-spacing:2px;color:var(--muted);margin:0 0 8px;font-size:14px}#scoreboard .row{align-items:center;gap:10px;padding:4px 0;display:flex}#scoreboard .dot{border-radius:50%;width:12px;height:12px}#hint{text-shadow:0 1px 2px #000;background:#00000073;border-radius:10px;padding:8px 14px;font-size:15px;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}#hint:empty{display:none}#touch{z-index:6;position:fixed;inset:0}#stick-zone{width:45%;position:absolute;top:30%;bottom:0;left:0}#look-zone{width:55%;position:absolute;top:0;bottom:0;right:0}#stick-base{opacity:.6;background:#ffffff1f;border:2px solid #ffffff4d;border-radius:50%;width:130px;height:130px;margin:-65px 0 0 -65px;position:absolute;top:auto;bottom:50px;left:110px}#stick-base.active{opacity:1}#stick-knob{background:#ffffff8c;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}#buttons{right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));grid-template-columns:repeat(2,auto);place-items:end center;gap:12px;display:grid;position:absolute}.tbtn{color:#fff;letter-spacing:1px;touch-action:none;background:#14141e73;border:2px solid #fff6;border-radius:50%;width:62px;height:62px;font-size:12px;font-weight:800}.tbtn.big{grid-row:span 2;width:84px;height:84px;font-size:15px}.tbtn.on,.tbtn:active{background:#ff7a59b3}@media (max-height:420px){.tbtn{width:52px;height:52px}.tbtn.big{width:72px;height:72px}#stick-base{bottom:30px;left:90px}}@media (max-height:500px){#menu{padding:8px}.panel{grid-template-columns:1fr 1fr;align-items:start;column-gap:18px;padding:12px 16px;display:grid}.panel h1{letter-spacing:4px;grid-column:1/-1;font-size:26px}.sub{grid-column:1/-1;margin-bottom:4px}.panel label,.label{margin:6px 0 4px}.panel input#name{padding:7px 10px;font-size:15px}#colors button{width:28px;height:28px}#play{grid-column:1/-1;margin-top:8px;padding:10px;font-size:17px}#status,.keys{grid-column:1/-1}}body.touch #chat-log{bottom:auto;top:max(8px, env(safe-area-inset-top));width:min(380px,50vw);font-size:13px}.look-pick{margin-top:4px}.look-pick .from{opacity:.7;margin-left:6px;font-size:11px}.look-row{align-items:center;gap:8px;display:flex}#look-preview{background:radial-gradient(circle at 50% 40%,#ff7a592e,#ffffff08 70%);border-radius:12px;flex:1;height:150px}#look-preview canvas{width:100%;height:100%;display:block}.look-row button{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:50%;font-size:24px;line-height:1}#look-name{text-align:center;min-height:1.2em;margin-top:4px;font-size:14px}@media (max-height:500px){.look-pick{grid-area:3/2/span 3}#look-preview{height:120px}}#admin-box{flex-wrap:wrap;grid-column:1/-1;gap:8px;margin-top:10px;display:flex}#admin-box input{min-width:120px;color:var(--ink);-webkit-user-select:text;user-select:text;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:8px 10px}#admin-box button{color:var(--ink);cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:8px 12px}#admin-status{color:#ffb3a6;width:100%;min-height:0;font-size:12px}#admin-status:empty{display:none}#admin,#editor-panel{z-index:30;background:var(--panel);border:1px solid #ffffff1a;border-radius:14px;width:min(380px,100vw - 24px);padding:12px 14px;font-size:13px;position:fixed;top:12px;bottom:12px;right:12px;overflow:auto;box-shadow:0 12px 40px #0006}#admin .head,#editor-panel .head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:15px;display:flex}#admin .head .x{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:18px}#admin .tabs,#editor-panel .tabs{gap:4px;margin-bottom:10px;display:flex}#admin .tabs button,#editor-panel .tabs button{color:var(--muted);cursor:pointer;background:#ffffff0f;border:0;border-radius:8px;flex:1;padding:7px}#admin .tabs button.on,#editor-panel .tabs button.on{background:var(--accent);color:#1b1d2b;font-weight:700}#admin button,#editor-panel button{color:var(--ink);cursor:pointer;background:#ffffff12;border:1px solid #ffffff2e;border-radius:8px;padding:6px 10px;font-size:12px}#admin button:disabled,#editor-panel button:disabled{opacity:.4;cursor:default}#admin button.primary,#editor-panel button.primary{background:var(--accent);color:#1b1d2b;border-color:#0000;font-weight:700}#admin button.danger,#editor-panel button.danger{color:#ffb3b3;border-color:#ff6b6b99}#admin button.wide,#editor-panel button.wide{width:100%;margin:4px 0;padding:9px}#admin .row{border-bottom:1px solid #ffffff0d;grid-template-columns:1fr 120px 44px;align-items:center;gap:8px;padding:6px 0;display:grid}#admin .row .name small,#admin .maprow .name small{color:var(--muted);font-size:11px;display:block}#admin .row .val{text-align:right;font-variant-numeric:tabular-nums}#admin .col,#editor-panel .col{gap:6px;margin:8px 0;display:grid}#admin input[type=text],#editor-panel input[type=text],#editor-panel input[type=search]{color:var(--ink);-webkit-user-select:text;user-select:text;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;width:100%;padding:7px 9px}#admin .maprow{border-bottom:1px solid #ffffff0d;align-items:center;gap:6px;padding:7px 0;display:flex}#admin .maprow .name{flex:1}#admin .maprow.live .name{color:var(--accent)}#admin .note,#editor-panel .note{color:var(--muted);font-size:12px}#editor-panel{width:min(340px,100vw - 24px)}#editor-panel .brush{background:#ffffff0a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:8px;display:flex}#editor-panel .vec{grid-template-columns:44px repeat(3,1fr);align-items:center;gap:4px;margin:4px 0;display:grid}#editor-panel .num{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}#editor-panel .num input[type=number],#editor-panel select{width:100%;min-width:0;color:var(--ink);background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;padding:4px 5px}#editor-panel .swatches{flex-wrap:wrap;align-items:center;gap:5px;margin:6px 0;display:flex}#editor-panel .swatches button{border:2px solid #0000;border-radius:6px;width:24px;height:24px;padding:0}#editor-panel .swatches button.on{border-color:#fff}#editor-panel .swatches input[type=color]{background:0 0;border:0;width:30px;height:26px;padding:0}#editor-panel .proplist{flex-wrap:wrap;gap:4px;max-height:38vh;margin-top:6px;display:flex;overflow:auto}#editor-panel .proplist .group{width:100%;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:6px;font-size:11px}#editor-panel .proplist button.on{background:var(--accent);color:#1b1d2b}#editor-panel .selected{border:1px solid #fc06;border-radius:8px;margin-top:10px;padding:8px}#editor-panel .selected .title{color:#ffd84d;margin-bottom:4px;font-weight:700}#editor-panel .btns{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}#editor-panel .btns.save{background:var(--panel);padding:10px 0 4px;position:sticky;bottom:-12px}#editor-panel .row2{color:var(--muted);align-items:center;gap:8px;margin:8px 0;display:flex}#editor-panel .flash{color:#ffd84d;min-height:1em;margin-top:6px}#editor-help{z-index:30;color:#fff;background:#14141eb3;border-radius:10px;padding:8px 12px;font-size:12px;line-height:1.5;position:fixed;bottom:12px;left:12px;right:370px}#admin input[type=range]{accent-color:var(--accent);width:100%}#vignette{opacity:0;background:radial-gradient(#0000 45%,#ff28288c 100%);position:absolute;inset:0}#hurt-dir{opacity:0;border-top:6px solid #ff4646e6;border-radius:50%;width:140px;height:140px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#hitmarker{opacity:0;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%}#hitmarker:before,#hitmarker:after{content:"";background:#fff;width:2px;height:100%;margin-left:-1px;position:absolute;top:0;left:50%}#hitmarker:before{transform:rotate(45deg)}#hitmarker:after{transform:rotate(-45deg)}#hitmarker.head:before,#hitmarker.head:after{background:#ffd166}#hitmarker.kill:before,#hitmarker.kill:after{background:#ff5d5d;width:3px}#matchbar{top:max(8px, env(safe-area-inset-top));text-align:center;text-shadow:0 1px 2px #000;background:#14141e80;border-radius:12px;min-width:160px;padding:6px 14px;position:absolute;left:50%;transform:translate(-50%)}#matchbar:empty{display:none}#mode-name{letter-spacing:1px;color:var(--muted);text-transform:uppercase;font-size:11px}#match-timer{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}#match-timer:empty{display:none}#team-scores{justify-content:center;gap:14px;font-size:15px;font-weight:700;display:flex}#hill-state{margin-top:2px;font-size:13px}#killfeed{justify-items:end;gap:4px;font-size:13px;display:grid;position:absolute;top:46px;right:12px}#killfeed div{text-shadow:0 1px 2px #000;background:#14141e8c;border-radius:8px;padding:3px 9px}#killfeed div.mine{outline:1px solid #fff9}#banner{text-shadow:0 2px 6px #000;opacity:0;white-space:nowrap;font-size:28px;font-weight:900;position:absolute;top:24%;left:50%;transform:translate(-50%)}#banner.show{animation:3s forwards banner}@keyframes banner{0%{opacity:0;transform:translate(-50%,10px)}10%,75%{opacity:1;transform:translate(-50%)}to{opacity:0}}#combat-hud{position:absolute;inset:0}#hp{text-shadow:0 2px 4px #000;align-items:center;gap:10px;font-size:30px;font-weight:900;display:flex;position:absolute;bottom:16px;left:16px}#hp-bar{background:#00000073;border-radius:6px;width:160px;height:12px;overflow:hidden}#hp-bar div{background:linear-gradient(90deg,#51cf66,#a9e34b);width:100%;height:100%;transition:width .15s}#hp-bar.low div{background:linear-gradient(90deg,#ff6b6b,#ff922b)}#ammo{text-align:right;text-shadow:0 2px 4px #000;position:absolute;bottom:16px;right:16px}#weapon-name{color:var(--muted);font-size:14px}#ammo-num{font-variant-numeric:tabular-nums;font-size:30px;font-weight:900}#slots{justify-content:flex-end;gap:6px;margin-top:4px;font-size:11px;display:flex}#slots span{color:var(--muted);background:#00000059;border-radius:6px;padding:2px 6px}#slots span.on{background:var(--accent);color:#1b1d2b;font-weight:700}#reload{background:#00000080;border-radius:3px;width:90px;height:5px;margin-left:-45px;position:absolute;top:calc(50% + 28px);left:50%;overflow:hidden}#reload div{background:#fff;width:0;height:100%}#death-screen,#blindfold{text-align:center;text-shadow:0 2px 6px #000;place-content:center;gap:8px;display:grid;position:absolute;inset:0}#death-screen{background:#3c000a59;font-size:26px;font-weight:800}#death-timer{font-size:16px;font-weight:500}#blindfold{z-index:4;background:#0d0c14;font-size:20px}#blindfold .big{color:var(--accent);font-size:72px;font-weight:900}#end-screen{background:var(--panel);z-index:5;border-radius:16px;min-width:min(440px,92vw);padding:16px 18px;position:absolute;top:14%;left:50%;transform:translate(-50%)}#end-title{color:var(--accent);text-align:center;margin-bottom:10px;font-size:24px;font-weight:900}.endrow{grid-template-columns:1fr 40px 40px 60px;gap:6px;padding:4px 0;font-size:14px;display:grid}.endrow.head{color:var(--muted);letter-spacing:1px;font-size:11px}.endrow.mine{font-weight:800}.endrow span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}body.touch #hp{font-size:20px;top:50px;bottom:auto;left:12px}body.touch #hp-bar{width:100px}body.touch #ammo{top:50px;bottom:auto;right:12px}body.touch #killfeed{top:120px}#buttons{grid-template-columns:repeat(2,auto)}#buttons .tbtn.big{grid-row:auto}.tbtn.fire{background:#ff5a5a66;width:92px;height:92px;font-size:16px}#buttons2{bottom:max(10px, env(safe-area-inset-bottom));gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tbtn.small{border-radius:17px;width:auto;height:34px;padding:0 12px;font-size:11px}@media (max-height:420px){.tbtn.fire{width:80px;height:80px}.tbtn.small{height:30px}}#scoreboard .row{grid-template-columns:14px 1fr 34px 34px 48px;display:grid}#scoreboard .row span:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}#scoreboard .row.head{color:var(--muted);font-size:11px}#scoreboard .row.mine{font-weight:800}#admin .tabs.wrap{flex-wrap:wrap}#admin .tabs.wrap button{flex:1 0 30%}#admin .newmode{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;margin:10px 0;display:flex}#admin .mode-editor{border:1px solid #ff7a5980;border-radius:10px;margin-top:10px;padding:10px}#admin .mode-editor .title{color:var(--accent);font-weight:800}#admin .btns{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}#admin select,#admin input[type=number]{color:var(--ink);background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;padding:5px}#editor-panel .title2{color:var(--muted);margin-top:10px;font-weight:700}#admin .title2{margin:12px 0 4px;font-weight:700}#admin .proplist{flex-wrap:wrap;gap:4px;max-height:26vh;margin-top:6px;display:flex;overflow:auto}#admin .btns input[type=number]{color:var(--ink);background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;padding:5px}.tbtn.use{background:#ffd16659;display:none}body.snd .tbtn.use{display:block}#usebar{text-align:center;text-shadow:0 1px 3px #000;font-weight:700;position:absolute;top:calc(50% + 50px);left:50%;transform:translate(-50%)}#usebar>div{background:#00000080;border-radius:4px;width:200px;height:8px;margin-top:4px;overflow:hidden}#usebar>div>div{background:#ffd166;width:0;height:100%}#bomb-state{margin-top:2px;font-size:13px}#match-timer.bomb{color:#ff5d5d}#admin .wpreview{background:radial-gradient(circle at 50% 45%,#ff7a592e,#ffffff08 70%);border-radius:10px;height:130px;margin:6px 0}#admin .wpreview canvas{width:100%;height:100%;display:block}#admin .maprow.off .name{opacity:.5}#admin select{max-width:100%}#adminbar{color:#fff;text-align:center;text-shadow:0 1px 2px #000;background:#1e1432b3;border-radius:10px;max-width:92vw;padding:6px 14px;font-size:13px;position:absolute;top:96px;left:50%;transform:translate(-50%)}#adminbar b{color:#c9a8ff}#adminbar .tools{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}#adminbar .tools span{background:#ffffff1a;border-radius:6px;padding:3px 8px}#adminbar .tools span.on{color:#1b1d2b;background:#7dffb0;font-weight:700}#adminbar .hint2{color:var(--muted);margin-top:4px;font-size:11px}#votebar{pointer-events:auto;background:#1b1d2bd9;border:1px solid #ffd16680;border-radius:12px;width:min(300px,70vw);padding:10px 12px;font-size:13px;position:absolute;top:40%;left:12px}#votebar .q{margin:4px 0 6px;font-weight:800}#votebar .meta{color:var(--muted);font-size:11px}#votebar .btns{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}#votebar button{color:var(--ink);cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:6px 10px}#votebar button.yes{background:#51cf6659}#votebar button.no{background:#ff6b6b59}#vote-box{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}#vote-box select,#vote-box button{color:var(--ink);background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:6px 8px}#bans-line{color:#ffb3b3;margin-top:2px;font-size:12px}#vehbar{text-align:center;text-shadow:0 1px 2px #000;background:#14141e99;border-radius:10px;min-width:220px;padding:6px 14px;font-size:13px;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}#vehbar .name{font-weight:800}#vehbar .bar{background:#00000080;border-radius:3px;height:6px;margin:4px 0;overflow:hidden}#vehbar .bar div{background:linear-gradient(90deg,#ffd166,#51cf66);height:100%}#vehbar .keys{color:var(--muted);font-size:11px}body.touch #vehbar{bottom:52px}#bubbles{pointer-events:none;z-index:4;position:fixed;inset:0;overflow:hidden}.bubble{transform-origin:50% 100%;color:#2a2433;text-align:center;background:#fffdf7;border-radius:14px;width:max-content;max-width:260px;margin-top:-10px;padding:7px 12px;font:600 15px/1.25 system-ui,sans-serif;transition:opacity .35s;position:absolute;top:0;left:0;box-shadow:0 3px 10px #0004}.bubble:after{content:"";border:8px solid #0000;border-top-color:#fffdf7;border-bottom:0;margin-left:-8px;position:absolute;bottom:-8px;left:50%}.bubble.out{opacity:0}body.nohud #hud>:not(#chat-input){visibility:hidden!important}body.freecam #crosshair,body.freecam #combat-hud,body.freecam #sightdot,body.freecam #scope,body.freecam #vehbar{display:none!important}#admin .actor{border-top:1px solid #0002;margin-top:6px;padding-top:6px}#admin .actor input[type=text]{flex:1;min-width:140px}#cutscene{z-index:6;pointer-events:none;position:fixed;inset:0}#cutscene .bar{background:#000;height:0;transition:height .45s;position:absolute;left:0;right:0}#cutscene .bar.top{top:0}#cutscene .bar.bottom{bottom:0}#cutscene.on .bar{height:11vh}#cutscene .fade{opacity:0;background:#000;position:absolute;inset:0}#cutscene .dlg{color:#fff;opacity:0;background:#15121cdd;border-radius:14px;width:min(760px,100% - 32px);padding:12px 18px 14px;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(11vh + 18px);left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 6px 24px #0006}#cutscene .dlg.on{opacity:1;transform:translate(-50%)}#cutscene .who{color:#ffd166;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font:800 14px system-ui,sans-serif}#cutscene .line{min-height:1.35em;font:500 19px/1.35 system-ui,sans-serif}#cutscene .ctitle{text-align:center;color:#fff;opacity:0;text-shadow:0 3px 16px #000a;transition:opacity .5s;position:absolute;top:38%;left:0;right:0}#cutscene .ctitle.on{opacity:1}#cutscene .ctitle .big{letter-spacing:.02em;font:900 clamp(28px,6vw,64px) system-ui,sans-serif}#cutscene .ctitle .sub{opacity:.85;margin-top:6px;font:500 clamp(14px,2.2vw,22px) system-ui,sans-serif}#cutscene .skip{color:#fff8;opacity:0;font:600 12px system-ui,sans-serif;transition:opacity .4s;position:absolute;bottom:3vh;right:16px}#cutscene.on .skip{opacity:1}body.in-cutscene #hud>*,body.in-cutscene #bubbles{visibility:hidden!important}.quest-tracker{color:#fff;background:#15121cb3;border-left:4px solid #ffd166;border-radius:12px;max-width:min(320px,70vw);padding:9px 13px;font:500 14px/1.35 system-ui,sans-serif;position:absolute;top:64px;right:12px}.quest-tracker .qname{color:#ffd166;font-weight:800}.quest-tracker .qstage,.quest-tracker .qparty{opacity:.75;font-size:12px}.quest-layer{position:absolute;inset:0;overflow:hidden}.quest-marker{color:#ffd166;white-space:nowrap;background:#15121ccc;border-radius:10px;padding:3px 8px 3px 22px;font:700 12px system-ui,sans-serif;position:absolute;top:0;left:0}.quest-marker:before{content:"";background:#ffd166;border-radius:2px;width:9px;height:9px;margin-top:-5px;position:absolute;top:50%;left:6px;transform:rotate(45deg)}.quest-marker.edge{opacity:.85}.npc-mark{text-shadow:0 2px #0007,0 0 10px #0005;font:900 30px system-ui,sans-serif;position:absolute;top:0;left:0}.npc-mark.give{color:#ffd166}.npc-mark.ask{color:#8fd3f4}.talk-hint{color:#fff;background:#15121ccc;border-radius:10px;padding:6px 14px;font:700 14px system-ui,sans-serif;position:absolute;top:62%;left:50%;transform:translate(-50%)}.quest-done{text-align:center;color:#fff;background:#15121cd9;border:2px solid #ffd166;border-radius:14px;padding:12px 22px;font:500 15px system-ui,sans-serif;position:absolute;top:22%;left:50%;transform:translate(-50%)}.quest-done .big{color:#ffd166;margin-bottom:3px;font:900 22px system-ui,sans-serif}.quest-done.show{animation:5s forwards qdone}@keyframes qdone{0%{opacity:0;transform:translate(-50%)scale(.9)}8%{opacity:1;transform:translate(-50%)scale(1)}85%{opacity:1}to{opacity:0}}#scope.breath .lens{box-shadow:0 0 0 9999px #000,inset 0 0 40px #0006}#death-by[data-dist]:after{content:attr(data-dist);opacity:.75;margin-top:4px;font-size:.55em;display:block}body.spectating #death-screen{font-size:20px;background:0 0!important;inset:112px 0 auto!important}body.spectating #combat-hud,body.spectating #vignette,body.spectating #crosshair{display:none!important}.quest-log{color:#fff;pointer-events:auto;background:#15121ceb;border:2px solid #ffd166;border-radius:14px;width:min(460px,100vw - 32px);max-height:70vh;padding:14px 16px;font:500 14px/1.35 system-ui,sans-serif;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.quest-log .qlhead{color:#ffd166;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;font:900 18px system-ui,sans-serif;display:flex}.quest-log .qlhint{color:#fff;opacity:.6;white-space:nowrap;font:500 11px system-ui,sans-serif}.quest-log .qlempty,.quest-log .qlfoot{opacity:.7;font-size:12px}.quest-log .qlfoot{margin-top:10px}.quest-log .qlrow{background:#ffffff0d;border-left:4px solid #8a8396;border-radius:10px;margin-bottom:6px;padding:8px 10px}.quest-log .qlrow.active{background:#ffd16618;border-left-color:#ffd166}.quest-log .qlrow.open{border-left-color:#8fd3f4}.quest-log .qlrow.done{opacity:.6;border-left-color:#7bd389}.quest-log .qlrow.locked{opacity:.55}.quest-log .qltop{justify-content:space-between;gap:10px;display:flex}.quest-log .qlname{font-weight:800}.quest-log .qlstate{opacity:.8;white-space:nowrap;font-size:12px}.quest-log .qlsub,.quest-log .qlreward{opacity:.8;font-size:12px}body.in-cutscene .quest-log,body.nohud .quest-log{display:none}#cash{color:#8ce99a;text-shadow:0 2px 4px #000;font:900 22px system-ui,sans-serif;position:absolute;bottom:22px;left:262px}.buy-menu{color:#fff;pointer-events:auto;background:#121a14ee;border:2px solid #8ce99a;border-radius:14px;width:min(440px,100vw - 32px);max-height:76vh;padding:12px 14px;font:500 14px/1.3 system-ui,sans-serif;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.buy-menu .bhead{color:#8ce99a;align-items:baseline;gap:10px;margin-bottom:8px;font:900 18px system-ui,sans-serif;display:flex}.buy-menu .bcash{color:#fff}.buy-menu .bhint{color:#fff;opacity:.6;margin-left:auto;font:500 11px system-ui,sans-serif}.buy-menu .brow{color:#fff;width:100%;font:inherit;text-align:left;cursor:pointer;background:#ffffff0f;border:0;border-radius:9px;align-items:center;gap:10px;margin-bottom:5px;padding:7px 10px;display:flex}.buy-menu .brow:hover{background:#8ce99a33}.buy-menu .brow.poor{opacity:.45}.buy-menu .brow.owned .bprice{color:#8ce99a}.buy-menu .bkey{text-align:center;color:#8ce99a;width:1.4em;font-weight:900}.buy-menu .bname{flex:1;font-weight:700}.buy-menu .bname small{opacity:.6;font-weight:500}.buy-menu .bprice{font-weight:800}.buy-menu .bfoot{opacity:.65;margin-top:6px;font-size:12px}body.in-cutscene .buy-menu,body.nohud .buy-menu{display:none}body.touch #cash{font-size:16px;top:54px;bottom:auto;left:170px}#buildbar{color:#fff;background:#121a14cc;border:1px solid #8ce99a88;border-radius:12px;flex-wrap:wrap;justify-content:center;gap:6px;max-width:calc(100vw - 32px);padding:7px 10px;font:700 13px system-ui,sans-serif;display:flex;position:absolute;bottom:92px;left:50%;transform:translate(-50%)}#buildbar span{background:#ffffff12;border-radius:8px;padding:3px 8px}#buildbar span.on{color:#10200f;background:#8ce99a}#buildbar small{text-align:center;opacity:.75;width:100%;font-weight:500}body.touch #buildbar{font-size:11px;top:86px;bottom:auto}.buy-menu .btabs{gap:6px;margin-bottom:8px;display:flex}.buy-menu .btabs button{color:#fff;cursor:pointer;background:#ffffff12;border:0;border-radius:8px;flex:1;padding:6px;font:700 13px system-ui,sans-serif}.buy-menu .btabs button.on{color:#10200f;background:#8ce99a}#demo-box{border-top:1px solid #fff2;margin-top:10px;padding-top:8px}#demo-box .label{margin-bottom:6px;font-weight:800}#demo-box .label small{opacity:.65;font-weight:500}#demo-box .btns{flex-wrap:wrap;gap:6px;display:flex}#demo-box .file-btn{cursor:pointer;background:#ffffff1a;border-radius:8px;padding:6px 10px;font-weight:700;display:inline-block}#rec-dot{color:#fff;background:#d6336ccc;border-radius:9px;padding:3px 9px;font:800 13px system-ui,sans-serif;position:absolute;top:12px;left:14px}#rec-dot:before{content:"⏺ REC";animation:1s steps(2,end) infinite recblink}@keyframes recblink{50%{opacity:.35}}#replay-bar{color:#fff;pointer-events:auto;background:#15121cd9;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:calc(100vw - 32px);padding:6px 10px;font:700 13px system-ui,sans-serif;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}#replay-bar button{color:#fff;font:inherit;cursor:pointer;background:#ffffff1a;border:0;border-radius:7px;padding:4px 8px}#replay-bar button.on{color:#222;background:#ffd166}#replay-bar small{opacity:.6;font-weight:500}body.nohud #replay-bar,body.nohud #rec-dot{display:none}#streaks{color:#fff;text-shadow:0 1px 3px #000;flex-direction:column;align-items:flex-end;gap:4px;font:800 13px system-ui,sans-serif;display:flex;position:absolute;bottom:112px;right:16px}#streaks .sreward{color:#ffc078;background:#15121cc0;border:1px solid #ff922b88;border-radius:8px;padding:2px 8px}#streaks .sreward.top{color:#fff;background:#ff6b1acc;border-color:#ff922b}body.touch #streaks{font-size:11px;top:120px;bottom:auto;right:12px}.radar-layer{position:absolute;inset:0;overflow:hidden}.radar-mark{transform-origin:50%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#ff3b3b;width:14px;height:14px;position:absolute;top:0;left:0;box-shadow:0 0 6px #ff3b3b}.radar-sweep{pointer-events:none;background:linear-gradient(90deg,#0000 0%,#4dff8833 45%,#4dff8866 50%,#0000 52%) 0 0/200% 100%;position:absolute;inset:0}.radar-sweep.go{animation:1.4s ease-out forwards rsweep}@keyframes rsweep{0%{opacity:1;background-position:100% 0}to{opacity:.2;background-position:-100% 0}}.radar-sweep.rdr{z-index:0;background:0 0;animation:none;overflow:hidden}.rdr>div{pointer-events:none;position:absolute}.rdr-tint{background:repeating-linear-gradient(0deg,#4dff880b 0 1px,#0000 1px 4px);inset:0;box-shadow:inset 0 0 140px #4dff8838}.rdr-rings{background:repeating-radial-gradient(circle at 50% 100%,#0000 0 calc(17vmin - 2px),#4dff8830 calc(17vmin - 2px) 17vmin);inset:0}.rdr.go .rdr-rings{animation:2s ease-out infinite rdr-rings}.rdr-wedge{will-change:transform, opacity;opacity:0;background:conic-gradient(#0000 0deg 318deg,#4dff8805 320deg,#4dff8850 357deg,#c8ffd8e6 359.4deg,#fff 360deg);border-radius:50%;width:64vmax;height:64vmax;margin:-32vmax 0 0 -32vmax;top:100%;left:50%}.rdr.go .rdr-wedge{animation:2s linear infinite rdr-turn}@keyframes rdr-turn{0%{opacity:1;transform:rotate(-100deg)scale(4)}65%{opacity:1;transform:rotate(100deg)scale(4)}65.1%,to{opacity:0;transform:rotate(100deg)scale(4)}}@keyframes rdr-rings{0%{opacity:1}to{opacity:.25}}.rdr-tag{letter-spacing:.18em;color:#7dffab;text-shadow:0 0 6px #4dff88;pointer-events:none;background:#06200fb0;border:1px solid #4dff8866;border-radius:3px;align-items:center;gap:8px;padding:3px 9px;font:700 11px/1 ui-monospace,monospace;display:flex;position:absolute;top:92px;left:50%;transform:translate(-50%)}.rdr-tag span:before{content:"";background:#4dff88;border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1s steps(2,end) infinite rdr-blink;display:inline-block;box-shadow:0 0 6px #4dff88}.rdr-tag i{background:#4dff8830;width:84px;height:4px;display:block}.rdr-tag b{transform-origin:0;background:#4dff88;height:100%;display:block}@keyframes rdr-blink{50%{opacity:.2}}.radar-mark{clip-path:none;width:0;height:0;box-shadow:none;background:0 0}.radar-mark i{box-sizing:border-box;background:#ff3b3b55;border:2px solid #ff3b3b;width:16px;height:16px;position:absolute;top:-8px;left:-8px;transform:rotate(45deg);box-shadow:0 0 8px #ff3b3b}.radar-mark b{color:#ff8a8a;text-shadow:0 0 3px #000,0 0 3px #000;white-space:nowrap;font:700 10px/1 ui-monospace,monospace;position:absolute;top:14px;left:0;transform:translate(-50%)}.radar-mark:after{content:"";box-sizing:border-box;opacity:0;border:2px solid #ffb1b1;border-radius:50%;width:18px;height:18px;position:absolute;top:-9px;left:-9px}.radar-mark.ping:after{animation:.8s ease-out rdr-ping}.radar-mark.ping i{animation:.35s ease-out rdr-pop}.radar-mark.off i{opacity:.75;background:#ff3b3b;width:12px;height:12px;top:-6px;left:-6px}.radar-mark.off b{opacity:.7;top:11px}@keyframes rdr-ping{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(3.4)}}@keyframes rdr-pop{0%{background:#fff;transform:rotate(45deg)scale(2.2)}to{transform:rotate(45deg)scale(1)}}.rp-hud{color:#fff;text-shadow:0 1px 3px #000;pointer-events:none;flex-direction:column;gap:3px;font:800 14px system-ui,sans-serif;display:flex;position:absolute;top:120px;left:16px}.rp-hud .rp-line{background:#15121cb0;border-radius:10px;align-items:center;gap:10px;padding:4px 10px;display:flex}.rp-hud .rp-cash{color:#8ce99a}.rp-hud .rp-armor{color:#a5d8ff}.rp-hud .rp-stars{color:#ffd43b;letter-spacing:1px}.rp-hud .rp-status{background:#c92a2acc;border-radius:10px;padding:4px 10px;font-size:13px}.rp-hud .rp-keys{opacity:.75;font:600 11px system-ui,sans-serif}body.touch .rp-hud{font-size:12px;top:64px;left:10px}.rp-prompt{color:#ffe8a3;pointer-events:none;white-space:nowrap;background:#15121ccc;border-radius:10px;padding:5px 12px;font:700 14px system-ui,sans-serif;position:absolute;top:62%;left:50%;transform:translate(-50%)}.rp-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.rp-alarm{color:#fff;white-space:nowrap;background:#c92a2ae0;border-radius:10px;padding:3px 9px;font:800 12px system-ui,sans-serif;animation:1s steps(2,end) infinite rpblink;position:absolute;top:0;left:0}@keyframes rpblink{50%{background:#1c4f9ce0}}.rp-panel{color:#fff;pointer-events:auto;z-index:30;background:#15121cf2;border:1px solid #fff2;border-radius:16px;width:min(560px,100vw - 32px);max-height:calc(100vh - 40px);padding:14px;font:14px system-ui,sans-serif;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 40px #0008}.rp-panel button{font:inherit;color:inherit;cursor:pointer}.rp-head{align-items:baseline;gap:12px;margin-bottom:4px;font:800 18px system-ui,sans-serif;display:flex}.rp-money{color:#8ce99a}.rp-hint{opacity:.6;margin-left:auto;font:600 11px system-ui,sans-serif}.rp-sub{margin-bottom:8px;font-weight:700}.rp-guns{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.rp-gun{background:#ffffff14;border-radius:8px;padding:2px 8px;font-size:12px}.rp-small{background:#ffffff10;border:1px solid #ffffff30;border-radius:8px;padding:2px 8px;font-size:12px!important}.rp-grid{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.rp-slot{aspect-ratio:1;background:#ffffff10;border:1px solid #fff2;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative}.rp-slot.sel{background:#ffd16630;border-color:#ffd166}.rp-slot.empty{opacity:.45}.rp-slot .rp-icon{font-size:28px}.rp-slot .rp-n{font-size:13px;font-weight:800;position:absolute;bottom:2px;right:5px}.rp-slot .rp-v{color:#8ce99a;font-size:9px;position:absolute;bottom:2px;left:3px}.rp-slot .rp-key{opacity:.5;font-size:10px;position:absolute;top:2px;left:5px}.rp-item{background:#ffffff0c;border-radius:10px;margin-top:10px;padding:8px 10px}.rp-about{opacity:.8;margin:3px 0 6px;font-size:12px}.rp-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.rp-actions button,.rp-big{background:#3b5bdb;border:0;border-radius:8px;padding:6px 10px;font-weight:700!important}.rp-big{background:#2b8a3e;width:100%;margin-top:10px;padding:9px;display:block}.rp-note{opacity:.6;margin-top:8px;font-size:12px}.rp-shop{margin-top:12px}.rp-shophead{margin-bottom:6px;font-weight:800}.rp-shoplist{grid-template-columns:repeat(2,1fr);gap:5px;display:grid}.rp-buy{background:#ffffff10;border:1px solid #ffffff1c;border-radius:8px;justify-content:space-between;padding:5px 8px;display:flex;font-size:13px!important}.rp-buy .rp-price{color:#8ce99a;font-weight:700}.rp-buy.poor .rp-price{color:#ff8787}.rp-buy.no{opacity:.35;cursor:default}.rp-jobgrid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px;display:grid}.rp-job{text-align:left;border:2px solid #0000;border-left:6px solid var(--jc);background:#ffffff0c;border-radius:12px;padding:10px}.rp-job.on{border-color:var(--jc)}.rp-jicon{font-size:28px}.rp-jname{color:var(--jc);font:800 16px system-ui,sans-serif}.rp-jabout{opacity:.85;margin:4px 0;font-size:12px}.rp-jkit{opacity:.6;font-size:11px}@media (max-width:520px){.rp-grid{grid-template-columns:repeat(4,1fr)}.rp-jobgrid,.rp-shoplist{grid-template-columns:1fr}}#link-box{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;margin-top:10px;display:flex}#link-box .label{width:100%;font-weight:700}#link-box .label small,#link-box>small{opacity:.7;font-weight:400}#link-box input{min-width:120px;color:var(--ink);text-transform:uppercase;-webkit-user-select:text;user-select:text;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:8px 10px}#link-box button{color:var(--ink);cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:8px 12px}.rp-hud .rp-store{background:#15121cb0;border-left:5px solid #2f9e44;border-radius:10px;padding:3px 10px;font-size:13px}#heat{color:#ffd43b;text-shadow:0 1px 4px #000;pointer-events:none;background:#15121cb0;border-radius:10px;padding:2px 12px;font:800 20px system-ui,sans-serif;animation:1s ease-in-out infinite alternate heatflash;position:absolute;top:96px;left:50%;transform:translate(-50%)}@keyframes heatflash{0%{box-shadow:0 0 6px #ff3b3b}to{box-shadow:0 0 10px #4dabf7}}.pc-hint{color:#fff;pointer-events:none;background:#15121cd0;border-radius:8px;padding:6px 12px;font:700 14px system-ui,sans-serif;position:absolute;top:62%;left:50%;transform:translate(-50%)}.retroos{z-index:40;background:#0008;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ro-window{background:teal;border:3px solid #404040;border-color:#dfdfdf #404040 #404040 #dfdfdf;width:min(560px,100vw - 32px);font:14px Tahoma,Verdana,system-ui,sans-serif;box-shadow:0 10px 40px #000a}.ro-title{color:#fff;background:linear-gradient(90deg,#1a1a8c,#4a6cd4);justify-content:space-between;align-items:center;padding:4px 6px;font-weight:700;display:flex}.ro-x{cursor:pointer;background:silver;border:2px outset #fff;width:24px;height:22px;padding:0;font-weight:700}.ro-desk{flex-wrap:wrap;align-items:flex-start;gap:22px;min-height:180px;padding:26px 22px;display:flex}.ro-icon{color:#fff;text-align:center;text-shadow:0 1px 2px #000;cursor:pointer;border:1px dotted #0000;flex-direction:column;align-items:center;gap:6px;width:92px;padding:6px;text-decoration:none;display:flex}.ro-icon:hover,.ro-icon:focus{background:#0000a855;border-color:#fff;outline:none}.ro-icon.ro-off{opacity:.7;cursor:default}.ro-ico{font-size:40px;line-height:1}.ro-bar{color:#000;background:silver;border-top:2px solid #fff;align-items:center;gap:10px;padding:3px 6px;font-size:12px;display:flex}.ro-start{border:2px outset #fff;padding:1px 8px;font-weight:800}.ro-note{opacity:.75;flex:1}.ro-clock{border:2px inset #fff;padding:1px 8px}#hidden-line{margin-top:2px;font-size:13px;font-weight:700}#hidden-line:empty{display:none}#mode-hint{text-align:center;text-shadow:0 1px 2px #000;pointer-events:none;background:#00000073;border-radius:10px;max-width:92vw;padding:6px 12px;font-size:13px;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}#mode-hint:empty,body.nohud #mode-hint{display:none}body.usebtn .tbtn.use{display:block}body.infected #hud:after{content:"";pointer-events:none;background:#50c8280d;position:absolute;inset:0;box-shadow:inset 0 0 22vmin #46c8286b}
