:root{--bg:#050608;--ink:#d9d6d0;--ink-dim:#8d8a85;--blood:#8b0000;--blood-bright:#c0201a;--panel:#08090cd1;--line:#ffffff17;--font-title:"Copperplate Gothic Bold", "Copperplate Gothic", Copperplate, "Trajan Pro", Cinzel, "Book Antiqua", Georgia, serif;--font-ui:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-ui);-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{outline:none;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}.btn{border:1px solid var(--line);width:100%;color:var(--ink);font:600 15px/1 var(--font-title);letter-spacing:.22em;text-transform:uppercase;text-align:left;cursor:pointer;background:#0a0a0c8c;border-left:3px solid #0000;margin:0;padding:12px 18px;transition:background .18s,border-color .18s,color .18s,padding-left .18s;display:block}.btn:hover:not(:disabled),.btn:focus-visible{border-left-color:var(--blood-bright);color:#fff;background:#46000073;outline:none;padding-left:24px}.btn:disabled{color:#55524e;cursor:not-allowed}.btn .tag{float:right;font:500 10px/15px var(--font-ui);letter-spacing:.08em;color:#5d5955}.btn.primary{border-left-color:var(--blood);background:#3c000059}.menu{background:radial-gradient(at 70% 110%,#78000059,#0000 55%),radial-gradient(at 20% -10%,#283c6440,#0000 60%),linear-gradient(#07090e 0%,#050506 70%,#0a0303 100%);align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.fog{pointer-events:none;opacity:.55;background:radial-gradient(30% 18% at 20% 70%,#96a0b421,#0000 70%),radial-gradient(35% 20% at 55% 80%,#8c96aa1f,#0000 70%),radial-gradient(25% 14% at 85% 65%,#a0a5b41a,#0000 70%);animation:38s linear infinite alternate drift;position:absolute;inset:-20% -50%}.fog.f2{opacity:.4;animation-duration:55s;animation-direction:alternate-reverse;transform:scaleY(-1)}@keyframes drift{0%{transform:translate(-8%)}to{transform:translate(8%)}}.vignette{pointer-events:none;background:radial-gradient(#0000 45%,#000000d9 100%);position:absolute;inset:0}.menu-content{z-index:1;width:min(440px,100% - 32px);margin-left:clamp(16px,9vw,140px);position:relative}.logo{width:max-content;max-width:calc(100vw - 32px);font-family:var(--font-title);text-transform:uppercase;margin:0 0 40px;font-weight:700;line-height:.95}.logo .main{letter-spacing:.08em;color:#e4ded6;text-shadow:0 0 18px #aa00008c,0 0 2px #fff6,3px 3px #5a0000e6;font-size:clamp(54px,9vw,104px);animation:7s infinite flicker;display:block}.logo .sub{white-space:nowrap;letter-spacing:.42em;color:var(--blood-bright);margin-top:14px;font-size:clamp(12px,1.8vw,21px);display:block}.logo .sub:before{content:"";vertical-align:middle;background:var(--blood-bright);width:38px;height:1px;margin-right:12px;display:inline-block}@keyframes flicker{0%,92%,to{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.7}97%{opacity:1}}.menu-buttons{gap:8px;display:grid}.menu-footer{z-index:1;letter-spacing:.06em;color:#4f4c49;font-size:11px;position:absolute;bottom:12px;right:16px}.splash{z-index:50;cursor:pointer;background:radial-gradient(at 50% 120%,#6e00004d,#0000 60%),linear-gradient(#040507 0%,#030303 100%);justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:absolute;inset:0;overflow:hidden}.splash.leaving{opacity:0;pointer-events:none}.splash-inner{z-index:1;text-align:center;padding:0 16px;position:relative}.splash-title{font-family:var(--font-title);letter-spacing:.4em;text-transform:uppercase;color:#e4ded659;text-shadow:0 0 14px #aa000073;font-size:clamp(28px,5vw,44px);font-weight:700}.splash-cta{letter-spacing:.32em;text-transform:uppercase;color:#c9c2b8;margin-top:26px;font-size:13px;animation:3.2s ease-in-out infinite splash-breathe}.splash-hint{letter-spacing:.08em;color:#57524d;margin-top:14px;font-size:11px}@keyframes splash-breathe{0%,to{opacity:.35}50%{opacity:1}}.btn.music-toggle{z-index:5;letter-spacing:.06em;color:#8a837b;background:#0a0a0c8c;border-color:#786e6440;width:auto;padding:5px 10px;font-size:11px;position:absolute;top:12px;right:16px}.btn.music-toggle.off{color:#55504b}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#0a00008c,#000000e0);justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.panel{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--blood);width:min(460px,100%);max-height:calc(100vh - 32px);padding:26px 26px 22px;overflow-y:auto;box-shadow:0 20px 60px #0009}.panel h2{font:700 22px/1.1 var(--font-title);letter-spacing:.25em;text-transform:uppercase;color:#e6e0d8;margin:0 0 18px}.panel .hint{color:var(--ink-dim);margin:14px 0 0;font-size:12px;line-height:1.5}.panel .buttons{gap:8px;display:grid}.settings .row{border-bottom:1px solid var(--line);grid-template-columns:1fr 150px 46px;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:grid}.settings .row label{color:#c9c5bf}.settings .row .value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-dim)}.settings input[type=range]{width:100%;accent-color:var(--blood-bright)}.settings select{color:var(--ink);border:1px solid var(--line);font:inherit;background:#121317;grid-column:2/4;padding:5px 6px}.settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--blood-bright);justify-self:start}.settings .buttons{grid-template-columns:1fr 1fr;margin-top:18px}.settings .buttons .btn{text-align:center}.settings .note{color:#6c6965;margin-top:10px;font-size:11px}.hud{font-family:var(--font-ui);position:absolute;inset:0;pointer-events:none!important}.hud .bars{width:min(260px,100% - 44px);position:absolute;bottom:22px;left:22px}.hud .bar{margin-top:8px}.hud .bar .label{letter-spacing:.2em;text-transform:uppercase;color:#e6e1dab8;text-shadow:0 1px 2px #000;justify-content:space-between;margin-bottom:3px;font-size:10px;display:flex}.hud .bar .track{background:#0000008c;border:1px solid #ffffff1f;height:7px}.hud .bar .fill{transform-origin:0;width:100%;height:100%;transition:background .3s}.hud .health .fill{background:linear-gradient(90deg,#6a0000,#b0171a)}.hud .stamina .fill{background:linear-gradient(90deg,#8c8a80,#dcd8cc)}.hud .stamina.exhausted .fill{background:linear-gradient(90deg,#5a0000,#8b1a12);animation:.7s ease-in-out infinite alternate pulse}@keyframes pulse{0%{opacity:.55}to{opacity:1}}.hud .crosshair{background:#ffffff8c;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 3px #000}.hud .prompt{border-left:3px solid var(--blood-bright);letter-spacing:.04em;white-space:nowrap;opacity:0;background:#0009;padding:8px 16px;font-size:15px;transition:opacity .15s;position:absolute;top:62%;left:50%;transform:translate(-50%)}.hud .prompt.visible{opacity:1}.hud .prompt kbd{min-width:22px;font:700 13px/1.2 var(--font-ui);text-align:center;border:1px solid #fff6;border-radius:3px;margin-right:8px;padding:2px 6px;display:inline-block}.hud .toast{color:#e8c9c4;opacity:0;text-align:center;background:#000000a6;width:max-content;max-width:calc(100% - 32px);padding:8px 18px;font-size:14px;transition:opacity .25s;position:absolute;top:30%;left:50%;transform:translate(-50%)}.hud .toast.visible{opacity:1}.hud .captions{pointer-events:none;flex-direction:column;align-items:center;gap:4px;max-width:calc(100% - 32px);display:flex;position:absolute;bottom:160px;left:50%;transform:translate(-50%)}.hud .caption{color:#f1ece2;font:600 15px/1.35 var(--font-ui);letter-spacing:.02em;text-align:center;background:#000000b8;border-radius:3px;padding:3px 12px}.hud .status{text-align:right;letter-spacing:.16em;text-transform:uppercase;color:#e6e1da99;text-shadow:0 1px 2px #000;font-size:11px;position:absolute;bottom:22px;right:22px}.hud .status .on{color:#f2e2b8}.hud .help{border-left:2px solid var(--blood);color:#e6e1dacc;background:#00000080;padding:10px 14px;font-size:12px;line-height:1.7;transition:opacity .6s;position:absolute;top:20px;left:22px}.hud .help.hidden{opacity:0}.hud .help b{color:#fff;min-width:74px;font-weight:600;display:inline-block}.hud .capture{color:var(--ink-dim);white-space:nowrap;background:#0000008c;padding:6px 14px;font-size:12px;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.hud .capture.hidden{display:none}.loading,.fatal{text-align:center;background:#050506;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.loading span{font:600 14px var(--font-title);letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);animation:.9s ease-in-out infinite alternate pulse}.loading-box{flex-direction:column;align-items:center;gap:14px;width:min(420px,100%);display:flex}.loading-track{background:#ffffff14;border-radius:2px;width:100%;height:4px;overflow:hidden}.loading-bar{background:linear-gradient(90deg,#6d0f12,#c4262c);width:0;height:100%;transition:width .25s ease-out;box-shadow:0 0 10px #c4262c99}.loading-stage{min-height:1.2em;font:400 13px var(--font-body,system-ui, sans-serif);color:var(--ink-dim)}.loading-percent{font:600 11px var(--font-title);letter-spacing:.3em;color:var(--ink-dim);opacity:.7}@media (prefers-reduced-motion:reduce){.loading-bar{transition:none}}.fatal .box{max-width:560px;line-height:1.6}.fatal h1{font:700 24px var(--font-title);letter-spacing:.15em;color:var(--blood-bright)}.fatal pre{border:1px solid var(--line);text-align:left;white-space:pre-wrap;color:#a39f99;background:#0d0d10;max-height:160px;padding:10px;font-size:11px;overflow:auto}.fatal .btn{text-align:center;width:auto;margin:18px auto 0}@media (width<=600px){.settings .row{grid-template-columns:1fr 110px 40px}}@media (prefers-reduced-motion:reduce){.fog,.logo .main{animation:none}}.perf-overlay{z-index:5;pointer-events:none;background:#000000b8;border:1px solid #ffffff1f;border-radius:4px;max-width:calc(100% - 32px);padding:8px 10px;position:absolute;top:12px;right:12px}.perf-overlay[hidden]{display:none}.perf-overlay pre{color:#d9e6c8;white-space:pre-wrap;margin:0;font:12px/1.45 ui-monospace,Consolas,monospace}.field{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);gap:6px;margin-bottom:4px;font-size:11px;display:grid}.field input,.join-row input{border:1px solid var(--line);width:100%;color:var(--ink);font:500 15px/1.2 var(--font-ui);letter-spacing:.04em;text-transform:none;background:#0000008c;padding:10px 12px}.field input:focus,.join-row input:focus{outline:1px solid var(--blood-bright)}.join-row{grid-template-columns:1fr auto;gap:8px;display:grid}.join-row input{font:700 18px/1 var(--font-title);letter-spacing:.4em;text-transform:uppercase}.join-row .btn{width:auto}.menu-message,.lobby-message{min-height:1.4em;color:var(--ink-dim);margin:14px 0 0;font-size:13px;line-height:1.4}.menu-message[data-kind=warn],.lobby-message[data-kind=warn]{color:#e0b36a}.menu-message[data-kind=error],.lobby-message[data-kind=error]{color:#ff6b5e}.btn.small{letter-spacing:.14em;padding:8px 12px;font-size:12px}.btn.small:hover:not(:disabled),.btn.small:focus-visible{padding-left:14px}.lobby{justify-content:center;padding:16px}.lobby-panel{z-index:1;width:min(560px,100%);position:relative}.lobby-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.lobby-head h2{margin:0}.room-code{align-items:center;gap:10px;display:flex}.room-code .label,.lobby-pref .label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-size:10px}.room-code strong{font:700 26px/1 var(--font-title);letter-spacing:.3em;color:#f0e6da;-webkit-user-select:all;user-select:all}.room-code .btn{width:auto}.lobby-info{color:var(--ink-dim);flex-wrap:wrap;gap:6px 18px;margin-bottom:12px;font-size:12px;display:flex}.lobby-players{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.lobby-players li{border:1px solid var(--line);background:#00000059;border-left:3px solid #3a3735;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.lobby-players li.ready{border-left-color:#4f8a4a}.lobby-players .name{overflow-wrap:anywhere;font-weight:600}.lobby-players .name em{color:var(--ink-dim);font-weight:400}.lobby-players .tags{flex-wrap:wrap;gap:6px;display:flex}.lobby-players .tag{border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);padding:2px 7px;font-size:10px}.lobby-players .tag.host{color:#e0b36a}.lobby-players .tag.ok{color:#8fd18a}.lobby-players .tag.off{color:#ff6b5e}.lobby-pref{gap:6px;margin-bottom:14px;display:grid}.segmented{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.segmented .btn{text-align:center}.segmented .btn.selected{border-left-color:var(--blood-bright);color:#fff;background:#5a000080}.hud .net{font:600 11px/1.4 var(--font-ui);letter-spacing:.08em;color:#e6e1daa6;text-shadow:0 1px 2px #000;text-align:right;position:absolute;top:40px;right:18px}.hud .net.bad{color:#ff8a70}.hud .role{font:700 12px/1 var(--font-title);letter-spacing:.3em;text-transform:uppercase;color:#e6e1dab3;text-shadow:0 1px 3px #000;position:absolute;top:14px;left:50%;transform:translate(-50%)}.hud .role.killer{color:#ff6b5e}.combat-hud{pointer-events:none;position:absolute;inset:0}.combat-hud [hidden]{display:none!important}.hit-vignette{opacity:0;background:radial-gradient(#78000000 45%,#9600008c 80%,#5a0000e6 100%);position:absolute;inset:0}.combat-top{text-align:center;text-shadow:0 1px 3px #000;position:absolute;top:34px;left:50%;transform:translate(-50%)}.combat-top .timer{font:700 18px/1.2 var(--font-title);letter-spacing:.2em;color:#e6e1dad9}.combat-top .timer.low{color:#ff6b5e}.combat-top .alive{font:600 11px/1.3 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:#e6e1daa6;margin-top:2px}.combat-panel{width:min(260px,100% - 44px);font:600 11px/1.5 var(--font-ui);letter-spacing:.08em;color:#e6e1dacc;text-shadow:0 1px 2px #000;position:absolute;bottom:96px;left:22px}.combat-panel.killer{bottom:22px}.combat-panel .health-state.critical{color:#ff6b5e}.combat-panel .bat.off{color:#e6e1da66}.combat-panel .badge{color:#f6e2a6;background:#c8a02840;border-left:2px solid #e8c45a;margin-top:4px;padding:3px 8px;display:inline-block}.combat-panel .bar{margin-top:8px}.combat-panel .bar .label{letter-spacing:.18em;text-transform:uppercase;margin-bottom:3px;font-size:10px}.combat-panel .bar .track,.finish-box .track{background:#0000008c;border:1px solid #ffffff1f;height:7px}.combat-panel .bar .fill,.finish-box .fill{transform-origin:0;width:100%;height:100%}.combat-panel .obsession .fill{background:linear-gradient(90deg,#3d3d48,#b9b4c8)}.combat-panel .obsession.gaining .fill{background:linear-gradient(90deg,#5d4b8a,#d8cdf5)}.combat-panel .obsession.power .fill{background:linear-gradient(90deg,#6a0000,#ff3b2f);animation:.6s ease-in-out infinite alternate pulse}.combat-panel .attack .fill{background:linear-gradient(90deg,#6a0000,#b0171a)}.combat-center{text-align:center;text-shadow:0 2px 6px #000;max-width:calc(100% - 32px);position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.combat-center .title{font:700 clamp(24px, 6vw, 44px)/1.1 var(--font-title);letter-spacing:.2em;color:#e8c45a}.combat-center.dead .title{color:#c0201a}.combat-center .sub{font:500 14px/1.4 var(--font-ui);color:#e6e1dacc;margin-top:6px}.finish-box{width:min(280px,100% - 32px);font:600 12px/1.4 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;text-align:center;color:#ffb3a8;text-shadow:0 1px 2px #000;position:absolute;top:70%;left:50%;transform:translate(-50%)}.finish-box .label{margin-bottom:4px}.finish-box .fill{background:linear-gradient(90deg,#6a0000,#ff3b2f)}.result{background:radial-gradient(#1e0606eb,#030305f7);justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.result.with-figure{background:0 0;gap:24px}.result-figure{border:1px solid var(--line);flex:none;width:280px;height:min(460px,80vh)}@media (width<=760px){.result-figure{display:none}}.result-panel{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--blood-bright);width:min(520px,100%);padding:28px 26px}.result-panel h1{font:700 clamp(22px, 5vw, 34px)/1.15 var(--font-title);letter-spacing:.14em;color:#e9e3da;margin:0 0 4px}.result-panel h1.killer{color:#ff6b5e}.result-panel .reason{color:var(--ink-dim);margin:0 0 18px;font-size:14px}.result-panel table{border-collapse:collapse;width:100%;font-size:14px}.result-panel th,.result-panel td{border-bottom:1px solid var(--line);text-align:left;padding:7px 6px}.result-panel th{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:10px}.result-panel td.fate-dead{color:#ff6b5e}.result-panel td.fate-alive{color:#9fd59a}.result-panel .meta{color:var(--ink-dim);margin:14px 0 20px;font-size:13px}.result-panel .buttons{justify-content:flex-end;display:flex}.survival-hud{pointer-events:none;position:absolute;inset:0}.survival-hud .inventory{gap:6px;display:flex;position:absolute;bottom:48px;right:16px}.survival-hud .slot{background:var(--panel);border:1px solid var(--line);width:74px;height:64px;color:var(--ink-dim);text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;padding:6px 4px 4px;font-size:10px;display:flex;position:relative}.survival-hud .slot .key{color:var(--ink-dim);font-size:10px;position:absolute;top:2px;left:4px}.survival-hud .slot .icon{color:var(--ink);font-size:20px;line-height:1.2}.survival-hud .slot.equipped{border-color:var(--blood-bright);box-shadow:0 0 0 1px var(--blood-bright) inset;color:var(--ink)}.survival-hud .slot.empty .name{opacity:.5}.survival-hud .hold-box{text-align:center;text-shadow:0 1px 3px #000;width:min(300px,100% - 32px);font-size:13px;position:absolute;top:62%;left:50%;transform:translate(-50%)}.survival-hud .hold-box .track{background:#0000008c;border:1px solid #ffffff26;height:7px;margin-top:4px}.survival-hud .hold-box .fill{transform-origin:0;background:linear-gradient(90deg,#4d6b4a,#b7d8a8);width:100%;height:100%}.survival-hud .fear{background:var(--panel);border-left:3px solid #6f7d8c;padding:3px 8px;font-size:12px;position:absolute;bottom:122px;right:16px}.survival-hud .fear[data-state=scared]{border-left-color:#b9a24a}.survival-hud .fear[data-state=terrified]{border-left-color:#c46a26}.survival-hud .fear[data-state=panic]{border-left-color:var(--blood-bright);animation:.5s ease-in-out infinite alternate pulse}.survival-hud .hidden-badge,.survival-hud .protection{background:var(--panel);border:1px solid var(--line);white-space:nowrap;padding:4px 10px;font-size:13px;position:absolute;top:14%;left:50%;transform:translate(-50%)}.survival-hud .protection{color:#b7d8a8;top:19%}.survival-hud .noise-arrows{width:0;height:0;position:absolute;top:50%;left:50%}.survival-hud .noise-arrow{transform-origin:9px 9px;opacity:0;width:18px;height:18px;position:absolute;top:-9px;left:-9px}.survival-hud .noise-arrow:before{content:"";border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:16px solid rgba(255, 210, 120, var(--strength,1));filter:drop-shadow(0 0 4px #ffa03ccc);position:absolute;top:-84px;left:2px}@media (width<=700px){.survival-hud .inventory{top:64px;bottom:auto}.survival-hud .slot{width:58px;height:54px}.survival-hud .fear{top:124px;bottom:auto}}.objective-hud{pointer-events:none;position:absolute;inset:0}.objective-panel{width:min(300px,100% - 36px);font:600 11px/1.5 var(--font-ui);letter-spacing:.04em;color:#e6e1dad9;text-shadow:0 1px 2px #000;background:#06070a8c;border-left:2px solid #c0201a99;padding:8px 10px;position:absolute;top:62px;right:18px}.objective-panel .obj-title{font:700 10px/1.4 var(--font-title);letter-spacing:.25em;text-transform:uppercase;color:#e6e1da8c}.objective-panel .obj-line.alert{color:#ffb07a}.objective-panel .obj-escapes{color:#c8dcbed9;margin-top:2px}.objective-panel .obj-phase{font:700 11px/1.3 var(--font-title);letter-spacing:.3em;color:#ff6b5e;margin-top:4px;animation:1.4s ease-in-out infinite obj-pulse}@keyframes obj-pulse{0%,to{opacity:1}50%{opacity:.45}}.team-list{font:600 11px/1.6 var(--font-ui);letter-spacing:.05em;color:#e6e1dacc;text-shadow:0 1px 2px #000;margin:0;padding:0;list-style:none;position:absolute;top:64px;left:22px}.team-list li{gap:8px;display:flex}.team-list .state{color:#e6e1da8c}.team-list .team-injured .state{color:#e8b36a}.team-list .team-incapacitated .state{color:#ff7a5e}.team-list .team-dead{opacity:.5;text-decoration:line-through}.team-list .team-escaped .state{color:#9fd38a}.team-list .team-away .state{color:#8d8a85}.obj-banner{text-align:center;max-width:calc(100% - 32px);font:700 clamp(16px, 2.6vw, 24px)/1.25 var(--font-title);letter-spacing:.16em;text-transform:uppercase;color:#efe8dc;text-shadow:0 2px 8px #000,0 0 2px #000;opacity:0;transition:opacity .35s;position:absolute;top:20%;left:50%;transform:translate(-50%)}.obj-banner.visible{opacity:1}.obj-banner[data-kind=danger]{color:#ff6b5e}.obj-banner[data-kind=good]{color:#b5e3a0}.obj-banner .sub{font:600 12px/1.4 var(--font-ui);letter-spacing:.08em;text-transform:none;color:#e6e1dacc;margin-top:4px}.intro-title{text-align:center;opacity:0;background:radial-gradient(#00000026,#0000008c);flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:absolute;inset:0}.intro-title.visible{opacity:1}.intro-title .big,.escaped-overlay .big{font:700 clamp(26px, 6vw, 52px)/1.1 var(--font-title);letter-spacing:.18em;color:#efe8dc;text-shadow:0 3px 12px #000}.intro-title .sub,.escaped-overlay .sub{font:600 13px/1.4 var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:#e6e1dab3;margin-top:8px}.escaped-overlay{text-align:center;max-width:calc(100% - 32px);position:absolute;top:30%;left:50%;transform:translate(-50%)}.escaped-overlay .big{color:#b5e3a0}.result-panel .meta-grid{font:600 12px/1.5 var(--font-ui);color:#e6e1dabf;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px 12px;margin:12px 0 6px;display:grid}.result-panel .objectives{font:500 12px/1.5 var(--font-ui);color:#e6e1dacc;margin:8px 0;padding:0;list-style:none}.result-panel .objectives b{color:#efe8dc}.result-panel td.fate-escaped{color:#9fd38a}.result-panel td.fate-not_escaped{color:#e8b36a}.result-panel td.fate-left{color:#8d8a85}.result-panel .table-wrap{overflow-x:auto}.lobby-mode{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.lobby-map .segmented{flex:100%;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.lobby .map-info{margin:0 0 8px}.lobby-mode .label{font:600 11px/1.4 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}@media (width<=700px){.objective-panel{top:128px}.team-list{top:250px}}.hud .caption.voice{color:#e9dccb;background:#140606c7;font-style:italic;font-weight:500}.ability-hud{pointer-events:none;position:absolute;inset:0}.ability-panel{width:min(280px,100% - 44px);font:600 11px/1.45 var(--font-ui);letter-spacing:.06em;color:#e6e1dad1;text-shadow:0 1px 2px #000;position:absolute;bottom:96px;left:22px}.ability-title{font:700 13px/1.3 var(--font-title);letter-spacing:.16em;text-transform:uppercase;color:#e6d9c4}.ability-row{margin-top:6px}.ability-row .label{letter-spacing:.14em;text-transform:uppercase;font-size:10px}.ability-row .track{background:#0000008c;border:1px solid #ffffff1f;height:6px;margin-top:2px}.ability-row .fill{transform-origin:0;background:linear-gradient(90deg,#3d3d48,#a7a2b5);width:100%;height:100%}.ability-row.ready .label{color:#d8f0a0}.ability-row.active .fill{background:linear-gradient(90deg,#6a0000,#ff3b2f)}.ability-row.active .label{color:#ffb4a8}.ability-row.warn .label{color:#f6c26b}.ability-hint{letter-spacing:.04em;color:#e6e1da8c;margin-top:6px;font-size:10px}.phone-widget{min-width:200px;max-width:calc(100% - 44px);font:600 11px/1.35 var(--font-ui);color:#e6e1dacc;background:#08090cb3;border-left:2px solid #ffffff2e;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:8px 12px;display:grid;position:absolute;top:128px;right:22px}.phone-widget .phone-icon{grid-row:span 2;font-size:20px}.phone-widget .phone-keys{color:#e6e1da8c;font-size:10px}.phone-widget.silent .phone-icon{opacity:.5}.phone-widget.ringing{color:#ffd9d3;border-left-color:#c0201a;animation:.18s linear infinite alternate phone-shake}.phone-widget.call{background:#1e0404c7;border-left-color:#8b0000}@keyframes phone-shake{0%{transform:translate(-1px)rotate(-.6deg)}to{transform:translate(1px)rotate(.6deg)}}@media (prefers-reduced-motion:reduce){.phone-widget.ringing{animation:none}}.lobby-chars .segmented{flex-wrap:wrap}.lobby .char-info{min-height:2.6em}.lobby-players .tag.char{color:#d8cdb5}.train-char{width:100%;color:var(--ink);border:1px solid var(--line);font:500 13px/1.3 var(--font-ui);background:#00000080;padding:8px 10px}.lobby-players .look-preview{border:1px solid var(--line);background:#ffffff08;flex:none;margin-right:8px}.lobby-look{margin-bottom:14px}.look-editor{grid-template-columns:auto 1fr;align-items:start;gap:14px;display:grid}.look-preview-box{border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#78141440,#00000059);justify-items:center;gap:4px;padding:8px 10px;display:grid}.look-caption{letter-spacing:.08em;color:var(--ink-dim);text-transform:uppercase;font-size:11px}.look-controls{gap:6px;display:grid}.look-controls .segmented{grid-template-columns:repeat(2,1fr)}.look-row{grid-template-columns:7.5em auto 1fr auto;align-items:center;gap:6px;display:grid}.look-row[hidden]{display:none}.look-label{color:var(--ink-dim);font-size:12px}.look-value{text-align:center;font-size:13px}.look-panel{max-width:560px}@media (width<=560px){.look-editor{grid-template-columns:1fr}}.survival-hud .slot .icon svg{display:block}.account-bar{border:1px solid var(--line);color:var(--ink-dim);background:#00000059;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;font-size:13px;display:flex}.account-bar .account-status{flex:auto;min-width:0}.account-bar .account-status b{color:#efe8dc}.field input:disabled{opacity:.7;cursor:not-allowed}.account-form{gap:10px;display:grid}.account-form .field small.hint{color:var(--ink-dim);margin-top:4px;font-size:11px;display:block}.account-panel .menu-message{min-height:1.2em;margin:0}.profile-panel{width:min(720px,100%)}.profile-panel h3,.xp-box h3{font:700 14px/1.2 var(--font-title);letter-spacing:.18em;text-transform:uppercase;color:#e6e0d8;margin:18px 0 8px}.xp-tracks{gap:12px;display:grid}.xp-track{gap:4px;font-size:13px;display:grid}.xp-head{color:var(--ink-dim);justify-content:space-between;gap:8px;display:flex}.xp-head b{color:#efe8dc;font-weight:600}.xp-bar{border:1px solid var(--line);background:#ffffff14;height:8px;overflow:hidden}.xp-fill{background:linear-gradient(90deg, var(--blood), var(--blood-bright));height:100%;transition:width .6s}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;display:grid}.stats-grid .stat{border:1px solid var(--line);background:#0000004d;padding:6px 8px;display:grid}.stats-grid .stat-value{color:#efe8dc;font-size:18px}.stats-grid .stat-label{color:var(--ink-dim);font-size:11px}.profile-panel .table-wrap{overflow-x:auto}.profile-panel table{border-collapse:collapse;width:100%;font-size:12px}.profile-panel th,.profile-panel td{border-bottom:1px solid var(--line);text-align:left;padding:4px 6px}.profile-panel th{color:var(--ink-dim);font-weight:600}td.outcome-win{color:#9fd38a}td.outcome-loss{color:#e8836a}td.outcome-none{color:var(--ink-dim)}ul.unlocks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}ul.unlocks li{border:1px solid var(--line);justify-content:space-between;gap:6px;padding:4px 8px;display:flex}ul.unlocks li.locked{color:var(--ink-dim)}ul.unlocks li.unlocked{color:#efe8dc;border-color:#c0201a73}ul.unlocks small{color:var(--ink-dim)}.xp-box{border:1px solid var(--line);background:#0000004d;margin:14px 0;padding:10px 12px}.xp-box h3{margin-top:0}.xp-lines{gap:2px;margin:0 0 8px;padding:0;font-size:13px;list-style:none;display:grid}.xp-lines li{justify-content:space-between;gap:8px;display:flex}.xp-lines b{color:#efe8dc}.xp-box .level-up{color:var(--blood-bright);margin:8px 0 0;font-weight:700}.xp-box .invite{color:#e8b36a;margin:10px 0 0;font-size:13px}.look-row.locked .look-value{color:var(--ink-dim);font-style:italic}.look-lock-note:empty{display:none}.quick-row{grid-template-columns:1fr 1fr}.quick-row .btn{grid-column:1/-1;width:100%}.menu .check{color:var(--ink-dim);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.menu .check input{accent-color:var(--blood-bright)}.rooms-panel{width:min(620px,100%)}.rooms-list{gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.rooms-list li{border:1px solid var(--line);background:#00000059;border-left:3px solid #4f8a4a;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.rooms-list li.in-match{opacity:.75;border-left-color:#3a3735}.rooms-list .room-info{flex-direction:column;gap:2px;min-width:0;display:flex}.rooms-list .room-info span,.rooms-list .room-occ{color:var(--ink-dim);font-size:12px}.rooms-list .tag,.lobby-players .tag.bot,.room-code .tag{border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);padding:2px 7px;font-size:11px}.rooms-list .tag.ok{color:#8fc98a;border-color:#4f8a4a99}.rooms-list .tag.off{color:#c98a8a}.lobby-players .tag.bot{color:#9fb4d8;border-color:#7896d273}.rooms-pager{color:var(--ink-dim);justify-content:center;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.lobby-bots{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lobby-bots .train-char{width:auto}.queue-panel{text-align:center}.queue-time{font:700 44px/1 var(--font-title);letter-spacing:.12em;color:#e6e0d8;margin:10px 0 6px}.queue-info{min-height:2.6em}.spinner{border:2px solid var(--line);border-top-color:var(--blood-bright);border-radius:50%;width:28px;height:28px;margin:8px auto 18px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=560px){.rooms-list li{grid-template-columns:1fr auto}}.hud .mode-panel{flex-direction:column;gap:6px;width:min(300px,100% - 36px);font-size:13px;display:flex;position:absolute;top:70px;right:18px}.hud .mode-hint{color:#d8dce6;background:#0a0c12b8;border:1px solid #b4bed240;border-radius:6px;padding:6px 10px}.hud .mode-hint.infiltrator{color:#ffd2d2;border-color:#c82828b3}.hud .mode-board:empty{display:none}.hud .mode-board{background:#0a0c1299;border-radius:6px;padding:6px 10px}.hud .mode-vote{color:#f0c97a}.voice-hud{z-index:40;pointer-events:none;font-family:var(--font-ui);flex-direction:column;gap:4px;font-size:13px;display:flex;position:absolute;top:120px;left:18px}.voice-hud .voice-self{color:#fff;background:#288c50d9;border-radius:10px;align-self:flex-start;padding:3px 9px}.voice-hud .voice-speaker{color:#bfe8c9;background:#0a0c12b3;border-radius:10px;align-self:flex-start;padding:2px 8px}.voice-hud .voice-panel{pointer-events:auto;color:#e3e6ee;background:#0a0c12e0;border-radius:6px;flex-direction:column;gap:4px;margin-top:8px;padding:8px 10px;display:flex}.voice-hud .voice-title{font-weight:600}.voice-hud .voice-peer{cursor:pointer;align-items:center;gap:6px;display:flex}.settings .settings-sub{margin:14px 0 4px;font-size:15px}.settings .note.warn{color:#f0b46a}@media (width<=640px){.hud .mode-panel{top:auto;bottom:120px}.voice-hud{top:70px}}body.photo-mode #ui{display:none!important}.account-bar .account-title{color:#c9a24a;margin-left:4px;font-style:italic}.account-level{color:var(--ink-dim);align-items:center;gap:6px;margin-left:10px;font-size:12px;display:inline-flex}.account-level b{color:#efe8dc;font-weight:600}.mini-xp{border:1px solid var(--line);background:#ffffff14;width:72px;height:5px;display:inline-block;overflow:hidden}.mini-xp-fill{background:linear-gradient(90deg, var(--blood), var(--blood-bright));height:100%;display:block}.profile-head h2{margin-bottom:0}.profile-head .profile-title{color:#c9a24a;letter-spacing:.04em;margin:2px 0 4px;font-style:italic}.title-row{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px;display:flex}.title-row select{min-width:220px}.xp-lines li.xp-sum{border-top:1px solid var(--line);color:var(--ink-dim);margin-top:4px;padding-top:4px}.lvl-track{gap:8px;margin:6px 0 4px;display:grid}.lvl-legend{color:var(--ink-dim);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.lvl-key{align-items:center;gap:5px;display:inline-flex}.lvl-key i{border:1px solid var(--line);width:10px;height:10px;display:inline-block}.lvl-key.received i{background:#8b00008c}.lvl-key.current i{background:var(--blood-bright);box-shadow:0 0 6px #c0201acc}.lvl-key.next i{border-color:#c9a24a}.lvl-key.future i{background:#ffffff0a}.lvl-strip{scrollbar-width:thin;scroll-snap-type:x proximity;gap:4px;padding:6px 2px 10px;display:flex;overflow-x:auto}.lvl-node{border:1px solid var(--line);height:58px;color:var(--ink-dim);cursor:pointer;font:600 12px var(--font-ui);scroll-snap-align:center;background:#ffffff08;flex-direction:column;flex:0 0 48px;justify-content:center;align-items:center;gap:3px;padding:0;transition:border-color .15s,transform .15s;display:flex}.lvl-node:hover,.lvl-node:focus-visible{border-color:#ffffff59;outline:none}.lvl-node.received{color:#d9c9c0;background:#8b000047;border-color:#8b000099}.lvl-node.current{color:#fff;border-color:var(--blood-bright);background:#c0201a59;box-shadow:0 0 10px #c0201a8c}.lvl-node.next{color:#efe8dc;border-color:#c9a24a}.lvl-node.future{opacity:.7}.lvl-node.future .reward-icon{opacity:.55}.lvl-node.milestone{border-width:2px;flex-basis:56px}.lvl-node.selected{outline-offset:1px;outline:1px solid #ffffff80;transform:translateY(-3px)}.lvl-detail{border:1px solid var(--line);background:#00000059;padding:8px 10px}.lvl-detail-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.lvl-detail-head b{font-family:var(--font-title);letter-spacing:.06em;color:#efe8dc}.lvl-state{color:var(--ink-dim);font-size:12px}.lvl-state.current,.lvl-state.received{color:var(--blood-bright)}.lvl-state.next{color:#c9a24a}.lvl-rewards{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lvl-reward{border:1px solid var(--line);background:#ffffff05;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.lvl-reward.got{border-color:#c0201a73}.lvl-reward.rarity-lendario{background:linear-gradient(90deg,#c9a24a14,#0000);border-color:#c9a24a99}.lvl-reward.rarity-epico{border-color:#9a5fb873}.lvl-reward-title b{color:#efe8dc;font-size:13px}.lvl-reward-title small{color:var(--ink-dim);font-size:11px}.lvl-reward p{color:var(--ink-dim);-webkit-user-select:text;user-select:text;margin:2px 0 0;font-size:12px}.lvl-badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);white-space:nowrap;padding:2px 6px;font-size:10px}.lvl-badge.ok{color:#9fd0a8;border-color:#6f9a7a80}.lvl-badge.soon{color:#e8b36a;border-color:#e8b36a66}.levels-panel{width:min(760px,100%)}.levelup{z-index:60;background:radial-gradient(#3c00008c,#000000d1);justify-content:center;align-items:center;animation:.35s ease-out levelup-fade;display:flex;position:fixed;inset:0}.levelup-card{text-align:center;background:#08090cf0;border:1px solid #c0201a99;width:min(420px,100% - 32px);padding:22px 22px 18px;animation:.5s cubic-bezier(.2,.9,.3,1.2) levelup-rise;box-shadow:0 0 40px #8b000073}.levelup-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.levelup-num{font:700 84px/1 var(--font-title);color:#fff;text-shadow:0 0 18px #c0201ae6,0 0 2px #000;margin:6px 0 0;animation:1.6s ease-in-out .5s 2 levelup-pulse}.levelup-label{font-family:var(--font-title);letter-spacing:.2em;color:var(--blood-bright);margin-bottom:10px}.levelup-sub{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);margin:8px 0 6px;font-size:11px}.levelup-list{text-align:left;gap:4px;margin:0 0 14px;padding:0;list-style:none;display:grid}.levelup-list li{border:1px solid var(--line);grid-template-columns:22px 1fr auto;align-items:center;gap:6px;padding:3px 6px;font-size:13px;animation:.4s ease-out both levelup-item;display:grid}.levelup-list li:nth-child(2){animation-delay:80ms}.levelup-list li:nth-child(3){animation-delay:.16s}.levelup-list li:nth-child(4){animation-delay:.24s}.levelup-list li:nth-child(n+5){animation-delay:.32s}.levelup-list li.more{color:var(--ink-dim);text-align:center;display:block}.levelup-list small{color:var(--ink-dim)}@keyframes levelup-fade{0%{opacity:0}to{opacity:1}}@keyframes levelup-rise{0%{opacity:0;transform:translateY(24px)scale(.92)}to{opacity:1;transform:none}}@keyframes levelup-pulse{0%,to{text-shadow:0 0 18px #c0201ae6,0 0 2px #000}50%{text-shadow:0 0 34px #ff3c28,0 0 2px #000}}@keyframes levelup-item{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.levelup,.levelup-card,.levelup-num,.levelup-list li{animation:none}}.lobby-starter{margin-bottom:14px}.starter-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.starter-head .label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.starter-summary{color:#e0b36a;font-size:12px}.starter-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;max-height:300px;padding-right:4px;display:grid;overflow-y:auto}.starter-card{border:1px solid var(--line);background:#ffffff06;grid-template-columns:40px 1fr;gap:6px;padding:6px;display:grid}.starter-card.selected{background:#e0b36a14;border-color:#e0b36a;order:-1;grid-column:1/-1}.starter-card.locked{opacity:.55}.starter-card.locked .starter-icon{filter:grayscale()}.starter-icon{border:1px solid var(--line);background:#00000059;place-items:center;width:44px;height:44px;display:grid}.starter-icon .none-mark{color:var(--ink-dim);font-size:22px}.starter-body{align-content:start;gap:4px;font-size:12px;display:grid}.starter-body strong{font-size:13px}.starter-body .desc{color:var(--ink-dim);margin:0;line-height:1.35}.starter-card:not(.selected) .rules{display:none}.starter-body .rules{color:var(--ink-dim);margin:0;padding-left:16px;font-size:11px}.starter-meta{flex-wrap:wrap;gap:4px;display:flex}.starter-card .tag{border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);justify-self:start;padding:2px 6px;font-size:10px}.starter-card .tag.ok{color:#8fd18a}.starter-card .tag.off{color:#ff6b5e}.starter-card .tag.warn{color:#e0b36a}.starter-card .btn{justify-self:start}.survival-hud .slot.starter .name{color:#e0d6a8}body:has(.vehicle-hud:not([hidden])) .survival-hud .inventory,body:has(.vehicle-hud:not([hidden])) .hud .status{visibility:hidden}body:has(.vehicle-hud:not([hidden])) .survival-hud .fear{bottom:300px}.vehicle-hud{width:230px;font:600 11px/1.45 var(--font-ui);letter-spacing:.03em;color:#e6e1dae0;text-shadow:0 1px 2px #000;pointer-events:none;background:#06070a99;border-left:2px solid #c0201a99;padding:10px 12px 8px;position:absolute;bottom:22px;right:22px}.vehicle-hud .veh-gauge{background:radial-gradient(circle,#1e2024e6 0 58%,#0e0f12f2 59% 100%);border-radius:50%;width:132px;height:132px;margin:0 auto 4px;position:relative;box-shadow:inset 0 0 0 2px #c8beaa2e}.vehicle-hud .veh-tick{transform-origin:1px 60px;background:#e6e1da8c;width:2px;height:10px;margin-left:-1px;position:absolute;top:6px;left:50%}.vehicle-hud .veh-needle{transform-origin:1.5px 52px;background:#e0452a;border-radius:2px;width:3px;height:52px;margin-left:-1.5px;transition:transform 80ms linear;position:absolute;top:14px;left:50%;box-shadow:0 0 6px #e0452a99}.vehicle-hud .veh-kmh{text-align:center;font:700 22px/1 var(--font-title);color:#f2ebe0;position:absolute;top:74px;left:0;right:0}.vehicle-hud .veh-unit{text-align:center;letter-spacing:.2em;color:#e6e1da80;font-size:9px;position:absolute;top:99px;left:0;right:0}.vehicle-hud .veh-gear{font:700 18px/1 var(--font-title);color:#ffd27a;position:absolute;top:12px;right:14px}.vehicle-hud .veh-warn{color:#ff8a6a;margin:2px 0 4px;font-weight:700}.vehicle-hud .veh-seat{color:#e6e1da73}.vehicle-hud .veh-seat.taken{color:#c8e1beeb}.vehicle-hud .veh-hint{color:#e6e1da99;margin-top:6px;font-size:10px}.skin-test{pointer-events:auto;z-index:5;display:flex;position:fixed;inset:0}.skin-test-side{background:#0c0d10f0;border-right:1px solid #ffffff14;flex-direction:column;gap:10px;width:min(420px,40vw);padding:18px 20px;display:flex;overflow-y:auto}.skin-test.clean .skin-test-side{display:none}.skin-test-view{cursor:grab;touch-action:none;flex:1}.skin-test-view:active{cursor:grabbing}.skin-test-panel{flex-direction:column;gap:6px;display:flex}.skin-test-row{grid-template-columns:130px 1fr;align-items:center;gap:8px;font-size:13px;display:grid}.skin-test-row select{width:100%}.skin-test-info{opacity:.9;font-size:12px;line-height:1.35}.skin-test-item{margin:0 0 6px}.skin-test-saved{color:#b8e08a}.skin-test-actions{gap:8px;margin-top:auto;display:flex}@media (width<=700px){.skin-test{flex-direction:column-reverse}.skin-test-side{width:auto;max-height:50vh}}.quality-hint{z-index:40;color:#e8e2d8;pointer-events:auto;background:#08080ae0;border:1px solid #ffffff2e;align-items:center;gap:10px;max-width:min(92vw,640px);padding:10px 14px;font:13px/1.35 system-ui,sans-serif;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.quality-hint button{color:#fff;cursor:pointer;background:#5a000099;border:1px solid #ffffff40;flex:none;padding:6px 10px}.quality-hint button+button{background:0 0}.perk-loadout{margin-bottom:14px}.perk-loadout .perk-tabs{gap:6px;margin:6px 0 8px;display:flex}.perk-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:300px;padding:2px 4px 4px 0;display:grid;overflow-y:auto}.perk-card{--perk-edge:#c9a96b47;color:var(--ink);border:1px solid var(--perk-edge);background:radial-gradient(circle at 50% 28%,#ffffff0d,#0000 55%),repeating-linear-gradient(115deg,#ffffff03 0 2px,#0000 2px 5px),linear-gradient(#141215 0%,#0b0a0c 100%);border-radius:3px;flex-direction:column;gap:3px;padding:8px 9px 9px;transition:border-color .15s,transform .15s;display:flex;position:relative;box-shadow:inset 0 0 0 1px #0009,inset 0 0 18px #000000b3}.perk-card.perk-killer{--perk-edge:#c0201a52}.perk-card.rarity-incomum{--perk-edge:#96a0af61}.perk-card.rarity-rara{--perk-edge:#c9a96b8c;box-shadow:inset 0 0 0 1px #0009,inset 0 0 18px #000000b3,0 0 10px #c9a96b14}.perk-card:hover{transform:translateY(-1px)}.perk-card.equipped{border-color:var(--blood-bright);box-shadow:inset 0 0 0 1px #0009,inset 0 0 18px #000000b3,0 0 12px #c0201a40}.perk-card.locked{opacity:.55;filter:grayscale(.7)}.perk-head{font:600 10px/1 var(--font-ui);letter-spacing:.12em;color:var(--ink-dim);text-transform:uppercase;justify-content:space-between;display:flex}.perk-art{color:#e4ddd0;background:radial-gradient(circle,#7814142e,#0000 70%);place-items:center;height:64px;margin:2px 0;display:grid}.perk-card.compact .perk-art{height:40px}.perk-name{font:700 13px/1.2 var(--font-title);letter-spacing:.04em;margin:0}.perk-meta,.perk-desc,.perk-status{color:var(--ink-dim);margin:0;font-size:10.5px}.perk-desc{font-style:italic}.perk-effect{margin:0;font-size:11.5px;line-height:1.3}.perk-foot{color:var(--ink-dim);justify-content:space-between;align-items:baseline;margin-top:auto;font-size:10.5px;display:flex}.perk-value{font:700 14px/1 var(--font-ui);color:#e8c98a}.perk-killer .perk-value{color:#e05a4e}.perk-status{color:#d8a070}.perk-card.equipped .perk-status{color:var(--blood-bright);font-weight:600}.perk-equip{margin-top:4px}.perk-hud{color:#e4ddd0;pointer-events:none;background:#08080ab8;border:1px solid #c9a96b47;align-items:center;gap:8px;padding:5px 9px 5px 5px;font-size:12px;display:flex;position:absolute;bottom:190px;left:22px}.perk-hud .perk-hud-value{color:#e8c98a;font-weight:700}@media (prefers-reduced-motion:reduce){.perk-card{transition:none}}.lobby-panel{width:min(640px,100%)}.lobby-players .who{flex:1;gap:2px;min-width:0;display:grid}.player-title{letter-spacing:.06em;color:#c9a24a;overflow-wrap:anywhere;font-size:11px}.result-who{gap:2px;display:grid}.lobby-prep{background:#1e000040;border:1px solid #8b000073;gap:8px;margin-bottom:14px;padding:10px 12px;display:grid}.lobby-prep-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.lobby-prep-head .label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-size:10px}.lobby-prep-head .btn{width:auto}.lobby-prep-summary{grid-template-columns:1fr 1fr;gap:12px;display:grid}.prep-col{gap:4px;font-size:12px;display:grid}.prep-col-title{letter-spacing:.14em;text-transform:uppercase;color:#e0b36a;font-size:10px}.prep-line{grid-template-columns:84px 1fr;gap:6px;display:grid}.prep-line small{color:var(--ink-dim)}.unlock-toast{z-index:6;background:#0e0806f2;border:1px solid #c9a24a8c;border-left:3px solid #c9a24a;align-items:center;gap:10px;max-width:min(420px,100% - 32px);padding:10px 12px;animation:.4s ease-out toast-in;display:flex;position:absolute;bottom:42px;right:16px;box-shadow:0 10px 30px #0009,0 0 14px #c9a24a33}.unlock-toast .btn{width:auto}.unlock-toast-text{flex:1;gap:2px;display:grid}.unlock-toast-text small{letter-spacing:.14em;text-transform:uppercase;color:#c9a24a;font-size:10px}.unlock-toast-text span{color:var(--ink-dim);font-size:11px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}#levelup-pass{margin-top:8px}@media (width<=560px){.lobby-prep-summary{grid-template-columns:1fr}}
