:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e4e7dc;background:#101b19;font-synthesis:none;font-weight:400;--hud-gap: 20px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #e7c98a;outline-offset:4px}.game-screen{position:fixed;left:var(--viewport-left, 0px);top:var(--viewport-top, 0px);width:var(--viewport-width, 100%);height:var(--viewport-height, 100dvh);overflow:hidden;isolation:isolate;background:#34472c}#game{position:absolute;inset:0;overflow:hidden;cursor:default}#game canvas{display:block;image-rendering:pixelated}.hud-panel{position:absolute;z-index:10;border:1px solid #c7b48145;background:linear-gradient(145deg,#142119ed,#101b19df);box-shadow:0 4px 20px #0004;border-radius:3px;backdrop-filter:blur(6px)}.player-hud{top:max(var(--hud-gap),env(safe-area-inset-top));left:max(var(--hud-gap),env(safe-area-inset-left));display:flex;gap:14px;align-items:center;padding:12px 18px 12px 10px;pointer-events:none}.portrait{width:46px;height:46px;image-rendering:pixelated;object-fit:contain}.eyebrow{font-size:8px;letter-spacing:2px;color:#bca473;font-weight:600;margin:0 0 6px}h1{font:23px Georgia,serif;margin:0 0 6px;line-height:1}h1 span{font:8px ui-sans-serif,system-ui;letter-spacing:1.2px;color:#9eae93;margin-left:14px;vertical-align:middle}.connection{display:flex;align-items:center;gap:6px;font-size:7px;letter-spacing:1px;margin:0;color:#9db18e}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b4d091;box-shadow:0 0 8px #b4d09140}.weapon-hud{top:max(var(--hud-gap),env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:4px;padding:6px;pointer-events:none}.weapon-slot{display:flex;align-items:center;gap:7px;padding:4px 10px 4px 6px;border:1px solid transparent;border-radius:2px;font-size:9px;letter-spacing:.6px;color:#8d9a84;opacity:.62;transition:opacity .12s,border-color .12s,background .12s}.weapon-slot img{width:26px;height:26px;image-rendering:pixelated}.weapon-slot[aria-current=true]{opacity:1;color:#eee2bf;border-color:#d5b87980;background:#d5b8791a}.weapon-slot[aria-current=true][data-weapon=flamethrower]{border-color:#ff8a3a99;background:#ff7a2018}.stats-hud{top:max(var(--hud-gap),env(safe-area-inset-top));right:max(var(--hud-gap),env(safe-area-inset-right));display:flex;gap:22px;padding:14px 18px;pointer-events:none}.stat{display:flex;flex-direction:column;gap:6px;min-width:38px;text-align:center}.stat span{font-size:8px;letter-spacing:.5px;color:#9eae93}.stat strong{font:22px Georgia,serif;color:#eee2bf}.accuracy{position:relative;min-width:45px}.accuracy-track{height:2px;background:#46513b;margin-top:1px}.accuracy-track>div{height:100%;background:#bca473;width:0%;transition:width .2s}.radar-card{right:max(var(--hud-gap),env(safe-area-inset-right));bottom:max(var(--hud-gap),env(safe-area-inset-bottom));width:224px;padding:12px;pointer-events:none}.section-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#d0c4a0;margin-bottom:10px}.section-label>span{color:#8b9c80;letter-spacing:0}#minimap{display:block;width:100%;height:auto;image-rendering:pixelated;border:1px solid #a9ae7940}.legend{display:flex;gap:16px;font-size:8px;color:#a2b194;margin-top:9px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:4px;height:4px;border-radius:50%;display:inline-block}.you{background:#f3e2a6}.target{background:#d98c6a}.controls-hud{bottom:max(var(--hud-gap),env(safe-area-inset-bottom));left:max(var(--hud-gap),env(safe-area-inset-left));padding:11px 15px;font-size:9px;color:#a8b59b;max-width:calc(100% - 284px)}.control-hints{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.control-hints>span{white-space:nowrap}.control-hints button{border:0;background:none;color:inherit;padding:0;font-size:inherit}kbd{display:inline-grid;place-items:center;min-width:18px;height:19px;padding:0 5px;border:1px solid #c5b67d45;border-radius:3px;font:9px ui-monospace,monospace;color:#dbd9bc;background:#ffffff06;margin-right:4px}#session-status{display:block;font-size:8px;color:#788e72;margin-top:9px}.overlay{position:absolute;inset:0;z-index:20;background:#07100ab8;backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;overflow:auto}.overlay[hidden]{display:none}.start-card{text-align:center;padding:32px;max-width:480px;width:100%;background:linear-gradient(150deg,#17251ef5,#101b19fa);border:1px solid #c7b48145;box-shadow:0 20px 80px #0006}.crest{display:block;font:44px Georgia,serif;color:#c5a76b;margin:20px 0}.start-card h2{font:32px Georgia,serif;margin:0 0 18px}.start-card p:not(.eyebrow){font-size:13px;color:#aebb9f;line-height:1.9;margin:0}.start-card button{background:#c3a66c;color:#172116;border:1px solid #e3c78b;padding:15px 24px;font-size:13px;font-weight:600;margin:28px auto 24px;min-width:240px}.start-card button:hover{background:#dfc18a}.start-card button:disabled{opacity:.5;cursor:wait}.start-controls{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;font-size:10px;color:#b1bda3}.start-card small{display:block;font-size:8px;letter-spacing:1.5px;color:#71856b;margin-top:26px}@media(max-width:1180px){.weapon-slot span{display:none}.weapon-slot{padding:4px 6px}}@media(max-width:800px){.weapon-hud{top:calc(max(var(--hud-gap),env(safe-area-inset-top)) + 64px);left:max(var(--hud-gap),env(safe-area-inset-left));transform:none;padding:4px}.weapon-slot img{width:20px;height:20px}:root{--hud-gap: 12px}.player-hud{padding:9px 12px 9px 6px;gap:7px}.portrait{width:35px;height:40px}h1{font-size:20px}h1 span{display:none}.eyebrow{font-size:7px;letter-spacing:1px}.stats-hud{gap:12px;padding:10px 12px}.stat{min-width:27px}.stat strong{font-size:18px}.radar-card{width:180px;padding:9px}.section-label{font-size:7px}.controls-hud{padding:9px 11px;max-width:calc(100% - 216px)}.control-hints{gap:9px}#session-status{display:none}}@media(max-width:480px){.player-hud .eyebrow{font-size:6px}.stats-hud{gap:8px;padding:9px}.accuracy{display:none}.stat span{font-size:7px}.stat{min-width:25px}.radar-card{width:154px}.section-label{letter-spacing:0}.controls-hud{max-width:calc(100% - 186px);font-size:8px}.start-card{padding:24px 16px}.start-card h2{font-size:26px}.start-card button{min-width:210px}.start-controls{font-size:8px;gap:10px}}@media(max-height:500px){:root{--hud-gap: 10px}.radar-card{width:150px;padding:8px}.legend{margin-top:6px}.player-hud{padding:7px 10px;gap:8px}.portrait{width:32px;height:36px}.stats-hud{padding:8px 12px}.stat{gap:4px}.stat strong{font-size:18px}.start-card{padding:16px 24px}.crest{font-size:28px;margin:8px 0}.start-card h2{font-size:25px;margin-bottom:10px}.start-card button{margin:15px auto}.start-card small{margin-top:14px}}.level-choice{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0}.level-choice a,.level-switch{color:#e8d69c;font-size:12px;text-underline-offset:4px}#online-start{margin-top:12px;background:#315a70;color:#e4f4ff}body[data-screen=game] .game-screen{touch-action:none}.game-screen,.lobby-screen,.loading-overlay{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.lobby-screen input,.lobby-screen textarea,.game-screen input,.game-screen textarea,.game-screen [contenteditable=true]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}@font-face{font-family:Raw Pixel;src:url(../assets/legacy-ui/RawPixel.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Raw Pixel;src:url(../assets/legacy-ui/RawPixel-Bold.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{font-family:Raw Pixel,system-ui,sans-serif;color:#f0d9a8}[hidden]{display:none!important}button,input,select,summary{font-family:inherit}button,select,input{font-size:15px}.hud-panel,.rune-panel,#match-hud{border:10px solid transparent;border-image:url(../assets/legacy-ui/rune-frame.png) 46 44 46 46 / 10px round stretch;background:#302013 url(../assets/legacy-ui/wood.png) repeat;background-size:90px 90px;color:#f0d9a8;box-shadow:0 5px 18px #0009;border-radius:0}.hud-panel{padding:8px}.eyebrow,.section-label{color:#cfaa66;font-family:inherit}.player-hud h1,.stat strong,.start-card h2{font-family:inherit}.player-hud h1{color:#f0d9a8}.stat strong{font-size:24px}.controls-hud{color:#e2d0ae}.control-hints,.section-label,.connection{font-size:12px}.control-hints button,kbd,.weapon-slot{color:#f0d9a8;background-color:#261a11;border-color:#765231}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #fbbf24;outline-offset:3px}.start-card{max-width:600px;border:24px solid transparent;border-image:url(../assets/legacy-ui/ornate-frame.png) 84 82 86 82 fill / 24px stretch;background:#302013;padding:20px;box-shadow:0 18px 90px #000b}.start-card .crest{font-family:inherit;color:#fbbf24}.start-card h2{color:#f0d9a8;font-size:32px}.start-card>p:not(.eyebrow),.start-card small{color:#c9b695}.start-card>button{border:1px solid #dbad55;color:#301d09;background:linear-gradient(#f3d08a,#c98e35);font-size:18px;box-shadow:inset 0 1px #fff6,0 2px 5px #0006}.start-card>button:hover{background:linear-gradient(#ffe0a2,#e3aa4e)}.level-choice a{color:#f0d9a8;border-color:#8d653e;background:#21170faa}.start-controls{font-size:13px}.nickname-label{display:grid;gap:5px;margin:12px 0;text-align:left}.nickname-label input,#server-debug input,#server-debug select{width:100%;padding:8px;color:#f0d9a8;background:#170f0a;border:1px solid #8d653e}#server-debug{text-align:left;margin:12px 0;padding:10px;color:#d0b88f;border:1px solid #765231;background:#1b120baa}#server-debug summary{cursor:pointer;color:#e0bd7b}#server-debug label{display:block;margin:10px 0 3px}#server-debug small{margin:8px 0 0;font-size:12px}#match-hud{position:fixed;z-index:20;top:88px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:6px 12px;pointer-events:none;max-width:min(430px,94vw)}#match-timer{color:#fbbf24;font-size:27px;font-variant-numeric:tabular-nums}#match-message{color:#e4d4ba;font-size:14px}#scoreboard{position:fixed;z-index:35;top:50%;left:50%;transform:translate(-50%,-50%);width:min(680px,94vw);max-height:80vh;padding:20px;border-width:24px;border-image-width:24px}#scoreboard h2{font-size:32px;color:#f6db99;margin:4px 0}#score-caption{color:#c9b695;margin:5px 0 18px}.score-scroll{overflow:auto;max-height:50vh}#scoreboard table{border-collapse:collapse;width:100%;font-size:17px}#scoreboard th{color:#d6ab59;text-align:left;font-size:14px;font-weight:400}#scoreboard td,#scoreboard th{padding:9px 6px;border-bottom:1px solid #b8945140}#scoreboard tr[data-own=true]{color:#fbbf24;background:#fbbf2412}#scoreboard small{display:block;margin-top:16px;color:#c9b695}@media(max-width:700px){.start-card{padding:10px;border-width:18px;border-image-width:18px}#match-hud{top:80px}#scoreboard{padding:8px;border-width:15px;border-image-width:15px}#scoreboard table{font-size:14px}}#kill-feed{position:fixed;z-index:21;right:var(--hud-gap);top:145px;list-style:none;padding:0;margin:0;max-width:330px;pointer-events:none}#kill-feed li{padding:7px 12px;margin-bottom:5px;color:#f0d9a8;font-size:16px;background:#21150eea;border-left:2px solid #d6ab59;text-shadow:1px 1px #000}.lobby-panel{margin:16px 0;text-align:left;border-top:1px solid #8d653e;padding-top:12px}.lobby-panel summary{cursor:pointer;color:#e0bd7b}.lobby-panel label{display:block;margin-top:12px}.lobby-panel p{font-size:14px!important;line-height:1.4!important;margin:12px 0!important}.lobby-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.lobby-actions button,#room-list button{min-width:0;margin:0;padding:8px 10px;font-size:14px;border-color:#8d653e;background:#332115;color:#f0d9a8}.lobby-actions input{min-width:0;width:160px;background:#170f0a;color:#f0d9a8;border:1px solid #8d653e;padding:8px;font-size:17px}#room-list{list-style:none;padding:0;margin:10px 0;display:grid;gap:6px}#room-list button{width:100%;text-align:left}#room-sharing{position:fixed;z-index:20;left:50%;top:145px;transform:translate(-50%);padding:4px 10px;display:flex;align-items:center;gap:8px;font-size:12px;max-width:90vw}#copy-room{font-size:12px;background:#24180f;color:#f0d9a8;border:1px solid #8d653e;padding:5px}.touch-mode body{overscroll-behavior:none;touch-action:manipulation}.touch-mode .overlay{padding:10px;align-items:start}.touch-mode .start-card{margin:auto;max-width:570px;padding:10px}.touch-mode .start-card>button{margin:10px auto;padding:10px 18px;font-size:16px}.touch-mode .start-card h2{font-size:27px;margin-bottom:10px}.touch-mode .start-card .crest{display:none}.touch-mode .controls-hud{inset:64px auto auto 6px;max-width:150px;padding:4px;font-size:11px;background:#20160ddb}.touch-mode .control-hints,.touch-mode .level-switch{display:none}.touch-mode #session-status{font-size:9px;max-width:140px;line-height:1.2}.touch-mode .controls-hud button{font-size:11px;padding:4px}.touch-mode .radar-card{width:125px;bottom:132px;right:6px;padding:5px}.touch-mode .radar-card .section-label{font-size:9px}.touch-mode .radar-card canvas{max-height:65px}.touch-mode #room-sharing{top:135px;font-size:10px;max-width:70vw}.touch-mode #match-hud{top:86px;font-size:11px;max-width:50vw;gap:5px;padding:4px}.touch-mode #match-timer{font-size:20px}.touch-mode #match-message{font-size:11px}.touch-mode #kill-feed{top:180px;font-size:10px}@media(max-width:600px){.touch-mode .player-hud{max-width:46vw;font-size:10px}.touch-mode .player-hud h1{font-size:17px}.touch-mode .stats-hud{padding:5px;gap:8px}.touch-mode .stats-hud .stat strong{font-size:19px}.touch-mode .stats-hud .stat span{font-size:10px}.touch-mode .stats-hud .accuracy{display:none}.touch-mode .weapon-hud{left:50%;top:60px;transform:translate(-50%)}.touch-mode #room-sharing{top:150px;max-width:60vw;flex-wrap:wrap;justify-content:center}.touch-mode #match-hud{top:101px;max-width:70vw}.touch-mode .control-hints{display:none}.touch-mode #scoreboard{max-height:70vh;overflow:auto}}.controls-hud>button{color:#f0d9a8;background:#24180f;border:1px solid #8d653e;padding:5px 8px;font-family:inherit}.touch-mode .controls-hud{top:104px}.touch-mode #session-status{display:none}@media(max-width:600px){.touch-mode .weapon-hud{left:8px;top:82px;transform:none;padding:4px}.touch-mode .controls-hud{top:82px;left:auto;right:8px;max-width:175px;display:flex;gap:4px;flex-wrap:wrap}.touch-mode #fullscreen{display:none}.touch-mode #leave-online{font-size:0}.touch-mode #leave-online:after{content:"Lobby";font-size:11px}.touch-mode #match-hud{top:145px;max-width:85vw}.touch-mode #room-sharing{top:193px}}html:has(body[data-screen=lobby]),body[data-screen=lobby]{height:100%;overflow:hidden;background:#17120e}body[data-screen=lobby]>.game-screen{visibility:hidden;pointer-events:none}body[data-screen=lobby] #touch-controls{display:none!important}body[data-screen=game] .lobby-screen{display:none}.lobby-screen{height:100dvh;width:100%;overflow:auto;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));color:#efdbb2;background:radial-gradient(ellipse at 82% 14%,#4e352337,transparent 48%),linear-gradient(135deg,#191b1a,#21180f 70%);font-family:Raw Pixel,serif;display:grid;place-items:safe center}.lobby-layout{width:min(100%,1080px);height:min(100%,620px);min-height:340px;display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px 20px}.lobby-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #75542d;padding-bottom:10px}.lobby-header h1{margin:0;line-height:1}.lobby-brand{color:#f6d28a;font-size:28px;text-decoration:none;letter-spacing:3px}.lobby-brand span{display:block;font-size:12px;letter-spacing:4px;color:#bc9b66;margin-top:4px}.lobby-version{font-size:12px;color:#bca781;text-align:right;line-height:1.5}.lobby-box{padding:12px;background:linear-gradient(#34261bdf,#261e17);border:1px solid #725131;box-shadow:inset 0 0 0 3px #1a120c,inset 0 0 0 4px #65472b}.profile-panel{align-self:start;display:grid;gap:10px;min-width:0}.profile-heading,.profile-preview{display:flex;align-items:center;gap:8px}.profile-heading{justify-content:space-between;min-height:44px}.lobby-screen h2{font-size:21px;margin:0}.lobby-screen h3{margin:0}.profile-preview img{width:44px;height:44px;image-rendering:pixelated;object-fit:contain}.profile-preview h3{font-size:17px}.profile-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.lobby-label{display:block;min-width:0;font-size:13px;color:#e5cfa8}.lobby-label input,.lobby-label select{display:block;width:100%;min-width:0;height:44px;margin-top:4px;padding:6px 8px;border:1px solid #755839;background:#17130e;color:#f9e2b2;font:inherit;font-size:16px;border-radius:0}.lobby-screen input:focus,.lobby-screen select:focus{outline:2px solid #e3b85e;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.character-grid{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 21px)/4);grid-template-rows:1fr;gap:7px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 0}.character-grid::-webkit-scrollbar{display:none}.character-option{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:64px;padding:5px 2px;border:1px solid #564332;background:#1e1812;color:#c3b18f;font:inherit;cursor:pointer;scroll-snap-align:start}.character-option img{width:36px;height:36px;image-rendering:pixelated;object-fit:contain}.character-option span{font-size:10px;max-width:100%;overflow-wrap:anywhere;line-height:1.2}.character-option[aria-pressed=true]{color:#ffe4a6;border-color:#e4b660;background:#6f4c22;box-shadow:0 0 0 1px #e4b660}.character-option:hover{border-color:#c8a16c;background:#45321d}.arenas-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.arenas-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.lobby-screen button{font-family:inherit}.refresh-button,.practice-button{background:transparent;color:#bea37b;border:1px solid #6d5236;padding:6px 10px;font-size:13px;min-height:44px}.refresh-button{width:44px;font-size:23px;padding:0}.lobby-status{font-size:12px;color:#b6a78e;margin:4px 0 8px;line-height:1.3}.lobby-status:empty{display:none}.arena-carousel{flex:1;min-height:0;display:flex;flex-direction:column}.arena-viewport{display:flex;flex-direction:column;border:1px solid #755131;background:#2c2119;overflow:hidden;touch-action:pan-y;flex:1;min-height:180px}.arena-track{display:flex;flex:1;min-height:0;transition:transform .34s cubic-bezier(.22,.7,.25,1)}.arena-card{flex:0 0 100%;min-width:0;height:100%;display:grid;grid-template-rows:minmax(60px,1fr) auto;overflow:hidden}.arena-preview{position:relative;min-height:0;background:#1c2923;overflow:hidden}.arena-preview>img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;opacity:.88}.arena-preview:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 35px #0006;pointer-events:none}.arena-type{position:absolute;left:8px;top:8px;background:#17130ee6;border:1px solid #ac8952;padding:4px 6px;font-size:10px;letter-spacing:1px;z-index:1}.arena-seats{position:absolute;right:8px;bottom:8px;z-index:1;background:#15150ee8;border:1px solid #b99b63;padding:4px 8px;font-size:17px}.arena-details{padding:10px;display:grid;grid-template-columns:minmax(0,1fr);gap:5px}.arena-details h3{font-size:23px;color:#f5dba5}.arena-phase{font-size:11px;color:#a9b891}.arena-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:3px}.arena-join{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#d9b36c,#98703a);color:#241b0e;border:1px solid #edce91;min-height:44px;padding:6px 10px;font-size:15px}.arena-join:disabled{opacity:.4;cursor:not-allowed}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;padding:0 8px 4px}.carousel-controls[hidden],.carousel-dots[hidden]{display:none}.carousel-arrow{flex:0 0 44px;min-height:44px;border:1px solid #98713e;background:#2c2119;color:#ffdf9d;font-size:23px;cursor:pointer}.carousel-arrow:hover:not(:disabled){background:#61431f;border-color:#e4b660}.carousel-arrow:disabled{opacity:.35;cursor:default}.carousel-position{text-align:center;color:#bea37b;font-size:12px;line-height:1.3}.carousel-dots{display:flex;justify-content:center;flex-wrap:wrap}.carousel-dots button{width:28px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}.carousel-dots button:after{content:"";width:7px;height:7px;background:#735b3b;border:1px solid #ac8952;transform:rotate(45deg)}.carousel-dots button[aria-pressed=true]:after{background:#ffdf9d;box-shadow:0 0 8px #e4b66066}.arena-carousel:focus-visible,.carousel-arrow:focus-visible,.carousel-dots button:focus-visible,.character-option:focus-visible{outline:2px solid #e4b660;outline-offset:-3px}@media(max-height:480px),(max-width:680px){.profile-panel{gap:6px;padding:10px}.profile-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.lobby-layout{gap:8px 14px}.lobby-header{padding-bottom:6px}}@media(max-width:680px){.lobby-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);min-height:520px}.lobby-screen{padding:8px 12px}.lobby-brand{font-size:23px}.lobby-brand span{font-size:10px;letter-spacing:3px}.lobby-version{font-size:11px;max-width:145px}.character-grid{grid-auto-columns:calc((100% - 28px)/5)}.profile-heading{min-height:36px}.profile-preview img{width:36px;height:36px}.arenas-heading{min-height:32px}.profile-panel{padding:8px;gap:4px}.character-option{min-height:56px}.character-option img{width:30px;height:30px}.refresh-button{min-height:44px;height:44px}.arena-viewport{min-height:140px}.arena-card{grid-template-rows:minmax(40px,1fr) auto}.arena-details{padding:6px 8px;gap:2px}.arena-details h3{font-size:20px}.arena-type{font-size:9px;padding:3px 4px;left:5px;top:5px}}@media(max-width:370px){.character-grid{grid-auto-columns:calc((100% - 21px)/4)}.arena-buttons{gap:4px}.arena-join,.practice-button{font-size:12px;padding-inline:6px}.lobby-version{max-width:120px}}@media(prefers-reduced-motion:reduce){.arena-track{transition:none}}.arena-tabs{display:flex;flex:1;min-width:0;gap:6px}.arena-tabs button{flex:1;min-width:0;min-height:44px;padding:8px 6px;border:2px solid #755131;background:#211a17;color:#bba581;font:700 20px Raw Pixel,monospace}.arena-tabs button[aria-selected=true]{background:#77542c;border-color:#e5bd74;color:#fff0bd;box-shadow:inset 0 -3px #3d281a}.arena-buttons:has(>:only-child),.arena-buttons:has(>[hidden]){grid-template-columns:1fr}:root{--dock-width: 216px;--minimap-height: 72px;--dock-height: calc(var(--minimap-height) + 14px);--health-height: 54px;--health-bottom: max(12px, env(safe-area-inset-bottom));--hud-card-height: 112.8px;--hud-inset: 12px}#hud-dock{position:absolute;top:max(var(--hud-inset),env(safe-area-inset-top));right:max(var(--hud-inset),env(safe-area-inset-right));z-index:38;width:var(--dock-width);display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:var(--minimap-height);gap:6px;padding:6px;border:1px solid #ba9050;border-radius:7px;background:#302013 url(../assets/legacy-ui/wood.png);box-shadow:0 3px 8px #0008}#hud-dock button{color:#f0d9a8;font-family:inherit;cursor:pointer}#hud-dock .radar-card{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;min-width:0;height:var(--minimap-height);padding:0;display:grid;place-items:center;border:0;border-radius:3px;background:#19241f;box-shadow:none;overflow:hidden;pointer-events:auto}.minimap-view{position:relative;display:block;--map-height: var(--minimap-height);width:min(100%,calc(var(--map-height) * var(--map-aspect, 1)));aspect-ratio:var(--map-aspect, 1);max-height:var(--map-height)}#minimap{display:block;width:100%;height:100%;border:0;image-rendering:pixelated}#game-menu{position:static;grid-column:2;grid-row:1;align-self:start}#menu-toggle{display:grid;place-items:center;min-width:44px;height:44px;padding:0;border:1px solid #75532f;border-radius:4px;background:#3b2b1d;font-size:23px}#menu-toggle{width:44px}#menu-toggle:hover,#menu-toggle[aria-expanded=true]{background:#665031}#game-menu-list{position:absolute;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:3px;width:242px;max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--hud-card-height) - max(var(--hud-inset),env(safe-area-inset-top)) - 20px);overflow:auto;padding:8px;border:1px solid #ba9050;border-radius:6px;background:#302013 url(../assets/legacy-ui/wood.png);box-shadow:0 5px 18px #0009}.menu-crown{display:none}#game-menu-list button{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:10px;padding:8px;border:0;border-radius:3px;background:transparent;font-size:14px;text-align:left;white-space:nowrap}#game-menu-list button span{font-size:11px;color:#c4b18e}#game-menu-list button:hover{background:#f5c85a2e}#game-menu-list button:disabled{opacity:.5;cursor:not-allowed}#game-menu-list #leave-online:hover{background:#ef444442}#player-cards{--player-card-width: 96px;position:absolute;z-index:32;top:max(var(--hud-inset),env(safe-area-inset-top));left:max(var(--hud-inset),env(safe-area-inset-left));right:calc(var(--dock-width) + max(var(--hud-inset),env(safe-area-inset-right)) + 12px);display:flex;gap:4px;padding:0;min-width:0;overflow:visible}.player-card,.roster-card{display:grid;width:var(--player-card-width, 140px);flex:0 0 var(--player-card-width, 140px);height:var(--hud-card-height);grid-template-columns:minmax(0,1fr);grid-template-rows:57.2px 16px 18px;align-content:center;align-items:center;gap:1px;padding:5px;border:1px solid #75532f;border-radius:5px;background:#302013 url(../assets/legacy-ui/wood.png);color:#e5d1b0;box-shadow:inset 0 0 0 2px #17100c}.player-card[data-own=true],.roster-card[data-own=true]{border-color:#f6ce73}.player-card[data-connected=false],.roster-card[data-connected=false]{opacity:.55}.player-portrait{display:block;width:51.48px;height:57.2px;max-width:100%;object-fit:contain;justify-self:center;grid-column:1;grid-row:1;image-rendering:pixelated}.player-name{grid-column:1;grid-row:2;justify-self:center;max-width:100%;margin:0;min-width:0;font-size:12px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-score{grid-column:1;grid-row:3;justify-self:center;font:700 15px/18px Raw Pixel,monospace;color:#f6ce73;text-shadow:-1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,-1px 0 0 #000,1px 0 0 #000,-1px 1px 0 #000,0 1px 0 #000,1px 1px 0 #000,2px 2px 0 #0009;font-variant-numeric:tabular-nums}#players-more{flex:0 0 44px;width:44px;height:var(--hud-card-height);border:1px solid #ba9050;border-radius:5px;background:#302013;color:#e5d1b0;font:16px Raw Pixel,sans-serif}#players-more[aria-expanded=true]{background:#665031}#player-overflow{position:absolute;top:calc(max(var(--hud-inset),env(safe-area-inset-top)) + var(--hud-card-height) + 8px);left:max(var(--hud-inset),env(safe-area-inset-left));z-index:39;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow:auto;padding:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px solid #ba9050;border-radius:6px;background:#302013;box-shadow:0 6px 18px #0009}.roster-card{width:100%;height:var(--hud-card-height)}#health-hud{position:absolute;z-index:12;bottom:max(12px,env(safe-area-inset-bottom));top:auto;left:50%;transform:translate(-50%);width:calc(232px + var(--grow, 0px));height:28px;display:flex;gap:10px;align-items:center;padding:0;background:none;border:0;box-shadow:none;pointer-events:none}.health-heart{width:22px;height:22px;flex:none;fill:#dc5549;filter:drop-shadow(0 1px 2px #0006)}#health-value{flex:none;min-width:3ch;font:700 16px/1 Raw Pixel,monospace;color:#f4ead2;text-align:right;text-shadow:-1px -1px 0 #000,0 -1px 0 #000,1px -1px 0 #000,-1px 0 0 #000,1px 0 0 #000,-1px 1px 0 #000,0 1px 0 #000,1px 1px 0 #000,2px 2px 0 #0009;font-variant-numeric:tabular-nums}#health-hud[data-low=true] #health-value{color:#ff8a70}#health-hud[data-extra=true] #health-value{color:#ffe066}.health-track{height:9px;flex:1;background:#171c16cc;border-radius:8px;overflow:hidden;box-shadow:0 1px 5px #0006}#health-fill{height:100%;width:100%;background:#9ac966;border-radius:8px}#health-hud[data-level=warning] #health-fill{background:#f2c94c}#health-hud[data-level=critical] #health-fill{background:#e34b45}#health-fill,.health-track{position:relative}#health-fill,#health-gain,#health-ghost{position:absolute;inset:0 auto 0 0;height:100%;border-radius:8px}#health-gain{width:0;background:#ffe48a;box-shadow:0 0 6px #ffe48a;opacity:.85}#health-ghost{width:0;background:#fff;opacity:0}#health-ghost.hit{animation:healthGhost var(--ghost-dur, .59s) ease forwards}@keyframes healthGhost{0%,29%{opacity:1}to{opacity:0}}#health-hud.damage{animation:healthDamage .7s ease-in-out}#health-hud.damage-big{animation:healthDamageBig .9s ease-in-out}@keyframes healthDamageBig{0%{translate:0 0;scale:1.12;filter:brightness(2.6) drop-shadow(0 0 18px #ff0000)}12%{translate:-9px 4px;scale:1.06;filter:brightness(2.4) drop-shadow(0 0 22px #ff0000)}24%{translate:9px -5px;filter:brightness(2) drop-shadow(0 0 16px #ff0000)}38%{translate:-7px -3px;scale:1;filter:brightness(1.8) drop-shadow(0 0 12px #ff2222)}52%{translate:5px 4px;filter:brightness(1.5) drop-shadow(0 0 8px #ff2222)}70%{translate:-3px 1px;filter:brightness(1.2) drop-shadow(0 0 4px #ff2222)}85%{translate:1px -1px}to{translate:0 0;scale:1;filter:none}}#health-hud.heal{animation:healthHeal .5s cubic-bezier(.3,1.6,.5,1)}#health-hud.heal-big{animation:healthHealBig .9s cubic-bezier(.3,1.6,.5,1)}@keyframes healthHeal{0%{scale:1}30%{scale:1.08;filter:brightness(1.5) drop-shadow(0 0 12px #9cff7a)}to{scale:1;filter:none}}@keyframes healthHealBig{0%{scale:1}20%{scale:1.2;filter:brightness(1.9) drop-shadow(0 0 22px #ffe066)}40%{scale:.96}60%{scale:1.06;filter:brightness(1.4) drop-shadow(0 0 14px #ffe066)}to{scale:1;filter:none}}.health-ring{position:absolute;left:50%;top:50%;width:100%;height:100%;translate:-50% -50%;border:3px solid #ffe066;border-radius:12px;box-shadow:0 0 14px #ffe066;animation:healthRing .8s ease-out forwards}@keyframes healthRing{0%{transform:scale(1);opacity:1}to{transform:scale(1.6,3);opacity:0}}.health-float{position:absolute;translate:-50% -100%;font:700 26px/1 Raw Pixel,monospace;white-space:nowrap;text-shadow:-2px -2px 0 #000,0 -2px 0 #000,2px -2px 0 #000,-2px 0 0 #000,2px 0 0 #000,-2px 2px 0 #000,0 2px 0 #000,2px 2px 0 #000,-3px 0 0 #000,3px 0 0 #000,0 -3px 0 #000,0 3px 0 #000,3px 5px 0 #000a;animation:healthFloat 1.2s cubic-bezier(.2,1.4,.4,1) forwards}.health-float.damage{color:#ff4a3a}.health-float.heal{color:#b6ff7a}.health-float.heal-big{color:#ffe066;font-size:34px;text-shadow:-2px -2px 0 #000,0 -2px 0 #000,2px -2px 0 #000,-2px 0 0 #000,2px 0 0 #000,-2px 2px 0 #000,0 2px 0 #000,2px 2px 0 #000,-3px 0 0 #000,3px 0 0 #000,0 -3px 0 #000,0 3px 0 #000,3px 5px 0 #000a,0 0 12px rgb(255 210 60 / .9),0 0 26px rgb(255 170 30 / .6)}@keyframes healthFloat{0%{transform:translateY(6px) scale(.3);opacity:0}15%{transform:translateY(-14px) scale(1.4);opacity:1}30%{transform:translateY(-20px) scale(1)}75%{transform:translateY(-36px) scale(1);opacity:1}to{transform:translateY(-48px) scale(.9);opacity:0}}@keyframes healthDamage{0%{translate:0 0;filter:brightness(1.8) drop-shadow(0 0 8px #ff2222)}15%{translate:-4px 2px;filter:brightness(2.1) drop-shadow(0 0 12px #ff0000)}30%{translate:4px -2px;filter:brightness(1.7) drop-shadow(0 0 10px #ff0000)}45%{translate:-3px -1px;filter:brightness(1.5) drop-shadow(0 0 8px #ff2222)}65%{translate:2px 2px;filter:brightness(1.3) drop-shadow(0 0 5px #ff2222)}85%{translate:-1px 0;filter:brightness(1.1)}to{translate:0 0;filter:none}}#health-fx{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:3}.health-drop{position:absolute;translate:-50% -50%;image-rendering:pixelated;animation:healthDrop var(--dur, .52s) linear forwards}@keyframes healthDrop{0%{transform:scale(.75);opacity:1;animation-timing-function:cubic-bezier(.2,.9,.4,1)}18%{transform:scale(1.15);opacity:1;animation-timing-function:cubic-bezier(.12,.7,.42,1)}58%{transform:translate(calc(var(--tx) * .66),var(--ty)) scale(1);opacity:1;animation-timing-function:cubic-bezier(.55,0,.85,.42)}to{transform:translate(var(--tx),calc(var(--ty) + var(--fall, 0px))) scale(.7);opacity:0}}.health-sparkle{position:absolute;translate:-50% -50%;image-rendering:pixelated;box-shadow:0 0 6px #fff6c9;animation:healthSparkle .9s ease-out both}.health-sparkle.star{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);scale:2}@keyframes healthSparkle{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),calc(-1 * var(--rise))) scale(.5)}}.health-heart{transform-origin:50% 60%;transition:fill .3s}#health-heart.beat{animation:heartBeat .42s cubic-bezier(.3,1.6,.5,1)}#health-heart.beat-big{animation:heartBeatBig .7s cubic-bezier(.3,1.6,.5,1)}#health-heart.hurt{animation:heartHurt .45s ease-out}#health-hud[data-low=true] #health-heart:not(.beat,.beat-big,.hurt){animation:heartLow var(--beat, .8s) ease-in-out infinite}#health-hud[data-dead=true] #health-heart{fill:#eee0b7;filter:drop-shadow(0 2px 0 #352729)}#health-hud[data-extra=true] #health-heart{fill:#f2c14e;filter:drop-shadow(0 0 4px #ffd75e)}@keyframes heartBeat{0%{transform:scale(1)}35%{transform:scale(1.5);filter:brightness(1.7) drop-shadow(0 0 8px #ff9a8a)}65%{transform:scale(.92)}to{transform:scale(1)}}@keyframes heartBeatBig{0%{transform:scale(1)}25%{transform:scale(1.9) rotate(-8deg);filter:brightness(1.8) drop-shadow(0 0 8px #ffe066)}45%{transform:scale(.85) rotate(4deg)}65%{transform:scale(1.15) rotate(-2deg);filter:brightness(1.3) drop-shadow(0 0 4px #ffe066)}85%{transform:scale(.97)}to{transform:scale(1)}}@keyframes heartHurt{0%{transform:scale(.6) translate(0);filter:brightness(3) drop-shadow(0 0 8px #ff0000)}25%{transform:scale(1.3) translate(-4px) rotate(-10deg)}50%{transform:scale(.9) translate(4px) rotate(8deg);filter:brightness(1.4)}75%{transform:scale(1.03) translate(-1px)}to{transform:scale(1) translate(0);filter:none}}@keyframes heartLow{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){#health-hud.damage,#health-hud.damage-big,#health-hud.heal,#health-hud.heal-big,#health-heart.beat,#health-heart.beat-big,#health-heart.hurt,#health-hud[data-low=true] #health-heart:not(.beat,.beat-big,.hurt){animation:none}}#health-hud[data-extra=true] #health-fill:after{content:"";position:absolute;inset:0 0 0 auto;width:var(--extra, 0%);background:#f2c94c;border-radius:8px;box-shadow:0 0 6px #ffe48a}#low-health{position:absolute;inset:0;z-index:11;pointer-events:none;opacity:var(--low, 0);transition:opacity .4s ease-out}#low-health:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 58%,rgb(150 18 18 / .5) 100%);animation:low-health-beat .9s ease-in-out infinite}@keyframes low-health-beat{0%,to{opacity:.7}20%{opacity:1}}@media(prefers-reduced-motion:reduce){#low-health:before{animation:none}}#kill-feed{display:none!important}.touch-mode #fullscreen,.touch-mode #leave-online{display:flex;font-size:14px}.touch-mode #leave-online:after{content:none}@media(max-width:580px){:root{--hud-inset: 10px}#player-cards{--player-card-width: 84px}#health-hud{width:calc(148px + var(--grow, 0px))}}@media(max-width:350px){#player-cards{--player-card-width: 66px}}#game-help{position:absolute;z-index:40;top:50%;left:50%;transform:translate(-50%,-50%);width:min(540px,94vw);max-height:85dvh;overflow:auto;padding:18px;box-shadow:0 10px 60px #000c}#game-help h2{margin:0 0 16px;color:#f6ce73}#game-help p{font-size:15px;line-height:1.4}#help-close{float:right;background:transparent;color:#f0d9a8;border:1px solid #967443;font-size:22px}.help-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.help-actions button{padding:6px 10px;color:#f0d9a8;background:#24180f;border:1px solid #8d653e}#game-help .stats-hud{position:static;display:flex;justify-content:space-around;gap:12px;margin-top:15px;transform:none;padding:12px}#game-help #session-status{display:block;font-size:12px;color:#c8b595;overflow-wrap:anywhere}#game-help #match-hud{position:static;transform:none;display:flex;max-width:none;border:0;padding:0;background:none;box-shadow:none;gap:12px;margin:12px 0}#game-help .dialog-close,#scoreboard .dialog-close{position:absolute;right:4px;top:4px;z-index:1;display:grid;place-items:center;width:44px;height:44px;padding:4px;border:0;background:transparent;float:none}.dialog-close img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.dialog-close:hover img{filter:brightness(1.2)}#help-title,#score-title{padding-right:38px}.minimap-locator{--locator-color: #fff1a8;--locator-ring: #fff1a855;position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border:1px solid #21170a;border-radius:50%;background:var(--locator-color);box-shadow:0 0 0 2px var(--locator-ring),0 0 7px var(--locator-color);animation:minimap-locator-pulse 1.4s ease-in-out infinite;pointer-events:none}#minimap-player{z-index:2}.minimap-opponent{--locator-color: #65e6ff;--locator-ring: #65e6ff55;z-index:1}@keyframes minimap-locator-pulse{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.35);opacity:1}}@media(prefers-reduced-motion:reduce){.minimap-locator{animation:none}}.ornament-panel:before{content:"";position:absolute;inset:-4px;border:11px solid transparent;border-image:url(../assets/legacy-ui/ornate-frame.png) 84 82 86 82 / 11px stretch;pointer-events:none;z-index:2}#health-hud{width:calc(244px + var(--grow, 0px));height:var(--health-height);bottom:var(--health-bottom);padding:10px 12px;border:1px solid #75532f;border-radius:3px;background:#302013 url(../assets/legacy-ui/wood.png);box-shadow:0 2px 8px #0007}#game-menu-list,#player-overflow{isolation:isolate}#game-help,#scoreboard{border-image-source:url(../assets/legacy-ui/ornate-frame.png)}@media(max-width:580px){#health-hud{width:calc(220px + var(--grow, 0px))}}#game-menu-list:before,#player-overflow:before{display:none}#game-menu-list,#player-overflow{border:10px solid transparent;border-image:url(../assets/legacy-ui/ornate-frame.png) 84 82 86 82 / 10px stretch;padding:6px}#game-help,#scoreboard{border-image:url(../assets/legacy-ui/ornate-frame.png) 84 82 86 82 / 10px stretch}.player-card,.roster-card{position:relative}.connection-signal{position:absolute;top:6px;right:5px;display:flex;align-items:flex-end;gap:2px;width:17px;height:14px;color:#b5b7b8;filter:drop-shadow(0 1px 1px #000)}.connection-signal i{width:4px;height:4px;background:currentColor;opacity:.2}.connection-signal i:nth-child(2){height:8px}.connection-signal i:nth-child(3){height:12px}.connection-signal[data-quality=good]{color:#79db72}.connection-signal[data-quality=fair]{color:#ffd45c}.connection-signal[data-quality=poor]{color:#ff7067}.connection-signal[data-quality=good] i,.connection-signal[data-quality=fair] i:nth-child(-n+2),.connection-signal[data-quality=poor] i:first-child{opacity:1}#scoreboard{z-index:50;max-height:calc(100dvh - 24px);overflow:auto}.score-heading{display:flex;align-items:center;gap:12px}.score-heading #score-title{flex:1;min-width:0}.round-clock{display:flex;align-items:baseline;color:#ffe29a;white-space:nowrap}#round-countdown{font:700 34px/1 Raw Pixel,monospace;min-width:2ch;text-align:right;color:#fff3cc;text-shadow:2px 2px #5a291d}.round-clock span{font-size:16px}#score-leave{flex-shrink:0;min-height:44px;padding:6px 12px;border:1px solid #d8b777;background:#5a2422;color:#fff1d0;cursor:pointer}#scoreboard:not([hidden]){--score-gap: 12px;--score-top: calc( max(var(--hud-inset), env(safe-area-inset-top)) + max(var(--hud-card-height), var(--dock-height)) + var(--score-gap) );--score-bottom: calc( var(--health-bottom) + var(--health-height) + var(--score-gap) );position:absolute;top:var(--score-top);bottom:var(--score-bottom);transform:translate(-50%);display:flex;flex-direction:column;width:min(760px,96vw);height:auto;border-width:10px;border-image-width:10px;max-height:none;padding:10px;overflow:hidden;gap:8px}#scoreboard[data-results=true]>.eyebrow,#scoreboard[data-results=true]>#score-caption,#scoreboard[data-results=true]>small{display:none}#scoreboard[data-results=true] #score-title{padding:0;margin:0;font-size:24px;line-height:1.1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}#scoreboard .score-heading,#scoreboard #round-results{flex-shrink:0}#scoreboard .score-scroll{min-height:0;flex:1 1 auto;max-height:none}#scoreboard th{position:sticky;top:0;background:#24190f}#scoreboard[data-results=true] td,#scoreboard th{padding:7px 6px}#round-results{margin:0;padding-top:8px;border-top:1px solid #b8945140}#area-vote-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#area-vote-options button{display:flex;align-items:center;gap:6px;min-width:0;min-height:48px;padding:5px;background:#201910;color:#f5e6bc;border:2px solid #725a36;cursor:pointer}#area-vote-options img{width:36px;height:36px;object-fit:cover;image-rendering:pixelated}#area-vote-options strong{flex:1;min-width:0;font-size:12px;line-height:1.2;text-align:left;overflow-wrap:anywhere}.area-vote-count{min-width:1.5em;font-size:15px;color:#ffe29a}#area-vote-options button[data-leading=true]{border-color:#bd9750}#area-vote-options button[aria-pressed=true]{border-color:#ffe08a;background:#584020;box-shadow:inset 0 0 0 1px #ffe08a}#area-vote-options button:focus-visible{outline:3px solid #fff3cc;outline-offset:2px}@media(max-width:540px),(max-height:500px){#scoreboard:not([hidden]){padding:6px;gap:6px}#scoreboard[data-results=true] #score-title{font-size:20px}.score-heading{gap:8px}#area-vote-options img{display:none}#scoreboard[data-results=true] td,#scoreboard th{padding:6px 4px}}@media(max-height:480px){#scoreboard:not([hidden]){--score-top: max(var(--score-gap), env(safe-area-inset-top))}}.touch-mode #scoreboard>small{display:none}#scoreboard[data-results=false] .score-heading{padding-right:38px}@media(max-width:600px),(max-height:500px)and (pointer:coarse){:root{--dock-width: 58px;--dock-height: 58px;--health-bottom: max(4px, env(safe-area-inset-bottom));--hud-inset: 8px;--hud-card-height: 60px;--health-height: 26px}#hud-dock{grid-template-columns:44px;grid-template-rows:44px;gap:0}#hud-dock .radar-card{display:none}#game-menu{grid-column:1}#player-cards{--player-card-width: 68px}.player-card,.roster-card{grid-template-rows:27px 11px 13px;gap:1px;padding:3px}.player-portrait{width:24.3px;height:27px}.player-name{font-size:10px;line-height:11px}.player-score{font-size:12px;line-height:13px}.connection-signal{top:4px;right:4px;transform:scale(.7);transform-origin:top right}#players-more{width:32px;font-size:12px}#health-hud{width:min(172px,calc(140px + var(--grow, 0px) * .4));padding:4px 7px;gap:5px}#health-hud:before{inset:-2px;border-image-width:6px}#health-heart{width:16px;height:16px}#health-value{font-size:12px}#health-hud .health-track{height:6px}}@media(max-height:360px)and (pointer:coarse){:root{--hud-card-height: 48px}.player-card,.roster-card{grid-template-rows:18px 10px 12px;padding:2px}.player-portrait{width:16.2px;height:18px}.player-name{line-height:10px}.player-score{line-height:12px}}@media(min-width:601px)and (hover:hover)and (pointer:fine){:root:not(.touch-mode){--desktop-map-width: 166px;--minimap-height: calc(var(--hud-card-height) - 14px)}:root:not(.touch-mode) #hud-dock{inset:0;width:auto;display:block;padding:0;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none}:root:not(.touch-mode) #hud-dock:before{display:none}:root:not(.touch-mode) #game-menu,:root:not(.touch-mode) #hud-dock .radar-card{position:absolute;right:max(var(--hud-inset),env(safe-area-inset-right));padding:6px;border:1px solid #ba9050;border-radius:7px;background:#302013 url(../assets/legacy-ui/wood.png);box-shadow:0 3px 8px #0008;pointer-events:auto}:root:not(.touch-mode) #game-menu{top:max(var(--hud-inset),env(safe-area-inset-top));width:58px;height:58px}:root:not(.touch-mode) #hud-dock .radar-card{top:auto;bottom:max(var(--hud-inset),env(safe-area-inset-bottom));width:var(--desktop-map-width);height:var(--hud-card-height);overflow:visible}:root:not(.touch-mode) #game-menu:before,:root:not(.touch-mode) #hud-dock .radar-card:before{content:"";position:absolute;inset:-4px;border:11px solid transparent;border-image:url(../assets/legacy-ui/ornate-frame.png) 84 82 86 82 / 11px stretch;pointer-events:none;z-index:2}:root:not(.touch-mode) #player-cards{top:auto;bottom:max(var(--hud-inset),env(safe-area-inset-bottom));left:50%;right:auto;transform:translate(-50%);width:calc(100% - 2 * (var(--desktop-map-width) + var(--hud-inset) + 16px));max-width:796px;justify-content:center}:root:not(.touch-mode) #player-overflow{top:auto;bottom:calc(max(var(--hud-inset),env(safe-area-inset-bottom)) + var(--hud-card-height) + 8px);left:50%;transform:translate(-50%);max-height:calc(100% - var(--hud-card-height) - 48px)}:root:not(.touch-mode) #health-hud{top:max(var(--hud-inset),env(safe-area-inset-top));bottom:auto;left:max(var(--hud-inset),env(safe-area-inset-left));transform:none;transform-origin:left top}:root:not(.touch-mode) #scoreboard{--score-top: calc( max(var(--hud-inset), env(safe-area-inset-top)) + var(--health-height) + var(--score-gap) );--score-bottom: calc( max(var(--hud-inset), env(safe-area-inset-bottom)) + var(--hud-card-height) + var(--score-gap) )}}@media(min-width:601px)and (max-height:480px)and (hover:hover)and (pointer:fine){:root:not(.touch-mode) #scoreboard{--score-top: var(--score-gap);--score-bottom: var(--score-gap)}}#touch-controls{--touch-button: clamp(54px, 12vmin, 64px);--touch-stick-size: clamp(96px, 22vmin, 112px);--touch-left: max(12px, env(safe-area-inset-left));--touch-right: max(12px, env(safe-area-inset-right));--touch-bottom: max(12px, env(safe-area-inset-bottom));position:absolute;inset:0;z-index:30;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}#touch-move-zone{position:absolute;left:var(--touch-left);bottom:var(--touch-bottom);width:min(42%,200px);height:clamp(144px,32vmin,184px);pointer-events:auto;touch-action:none}#touch-stick{position:absolute;left:calc(var(--touch-stick-size) / 2);top:calc(100% - var(--touch-stick-size) / 2);transform:translate(-50%,-50%);width:var(--touch-stick-size);height:var(--touch-stick-size);border:2px solid #d4ae6c99;border-radius:50%;background:#20241d99;box-shadow:inset 0 0 0 7px #e4c18d09;pointer-events:none;opacity:.7}#touch-stick.engaged{opacity:1}.stick-axis{position:absolute;left:16%;right:16%;top:50%;height:1px;background:#c4b28c33}.stick-axis.vertical{transform:rotate(90deg)}#touch-stick-knob{position:absolute;left:29%;top:29%;width:42%;height:42%;background:radial-gradient(at 35% 30%,#8b7047,#493c2c);border:2px solid #d4ae6c;border-radius:50%;box-shadow:0 4px 10px #0007}#touch-controls .touch-actions{position:absolute;right:var(--touch-right);bottom:var(--touch-bottom);display:grid;grid-template-columns:repeat(2,var(--touch-button));grid-template-rows:repeat(2,var(--touch-button));gap:10px}#touch-controls .touch-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:var(--touch-button);height:var(--touch-button);min-width:0;min-height:0;padding:0;border:2px solid #bd985fbb;border-radius:50%;background:#30271de8;box-shadow:0 3px 8px #0005;color:#f0d9a8;font-family:inherit;font-size:11px;pointer-events:auto;touch-action:none}#touch-controls .touch-actions button:active,#touch-controls .touch-actions button.pressed{background:#7b552b;border-color:#f8d084}.touch-icon{font-size:23px;line-height:25px}#touch-controls .touch-rocket{grid-column:1;grid-row:2}#touch-controls .touch-grenade{grid-column:2;grid-row:2}#touch-controls .touch-jump{grid-column:2;grid-row:1;border-color:#e7bf7a}body:has(#game-menu-list:not([hidden]),#game-help:not([hidden]),#scoreboard:not([hidden]),#player-overflow:not([hidden])) #touch-controls{visibility:hidden}.touch-weapon-icon{width:24px;height:24px;object-fit:contain;image-rendering:pixelated}body:has(#scoreboard:not([hidden])) #touch-controls{display:none}.touch-mode body:has(#scoreboard:not([hidden])) #game-menu,.touch-mode body:has(#scoreboard:not([hidden])) #players-more{visibility:hidden}@media(max-width:600px),(max-height:500px)and (pointer:coarse){#touch-controls{--touch-button: clamp(44px, 14vmin, 52px);--touch-stick-size: clamp(80px, 24vmin, 96px);--touch-left: max(8px, env(safe-area-inset-left));--touch-right: max(8px, env(safe-area-inset-right));--touch-bottom: max(8px, env(safe-area-inset-bottom))}#touch-move-zone{height:clamp(112px,30vmin,144px)}#touch-controls .touch-actions{gap:7px}#touch-controls .touch-actions button{font-size:9px;gap:1px}#touch-controls .touch-actions img{width:20px;height:20px}.touch-icon{font-size:20px;line-height:22px}}@media(max-width:600px)and (orientation:portrait){#touch-controls{--touch-bottom: max(44px, calc(env(safe-area-inset-bottom) + 36px) )}}.loading-overlay{position:fixed;inset:0;z-index:10000;background:#0b0f19;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.loading-overlay[hidden]{display:none}.loading-chase-box{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:calc(100vw - 32px);text-align:center}.loading-chase-track{display:flex;align-items:center;justify-content:center}.loading-chase-canvas{image-rendering:pixelated;width:220px;height:60px}.loading-text{font-family:Raw Pixel,serif;font-size:1.05rem;letter-spacing:1px;color:#fbbf24;text-shadow:0 0 8px rgba(245,158,11,.4)}#loading-retry{font:inherit;color:#fbbf24;background:#131b2e;border:1px solid #d97706;padding:10px 24px;cursor:pointer}#loading-retry:focus-visible{outline:2px solid #fbbf24;outline-offset:3px}
