:root{--display:"Titan One", "Trebuchet MS", sans-serif;--body:"Fredoka", "Trebuchet MS", sans-serif;--line:3px solid var(--ink);--pop:4px 4px 0 var(--ink);--hud-ink:rgb(var(--shade))}*{box-sizing:border-box}html,body{background:var(--bg,#2b1838);height:100%;font-family:var(--body);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;font-weight:600;overflow:hidden}.hidden{display:none!important}#game canvas{display:block}h1,h2,h3{font-family:var(--display);letter-spacing:.5px;margin:0;font-weight:400}small{font-weight:500}.card{background:var(--paper);border:var(--line);box-shadow:6px 6px 0 var(--ink);border-radius:18px}.btn{font:400 18px var(--display);letter-spacing:.5px;color:var(--ink);background:var(--paper);border:var(--line);cursor:pointer;box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:9px 16px;transition:transform 60ms,box-shadow 60ms}.btn:hover:not(:disabled){box-shadow:0 5px 0 var(--ink);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.btn:disabled{opacity:.45;cursor:default}.btn.big{padding:12px 26px;font-size:24px}.btn.small{box-shadow:0 3px 0 var(--ink);padding:6px 12px;font-size:15px}.btn.tiny{box-shadow:0 2px 0 var(--ink);border-width:2px;border-radius:8px;padding:3px 9px;font-size:13px}.btn.yellow{background:var(--highlight);color:var(--on-accent)}.btn.ghost{background:var(--surface)}.btn.red{background:var(--team-b);color:var(--on-accent)}.btn.blue{background:var(--team-a);color:var(--on-accent)}input{font:600 16px var(--body);color:var(--ink);background:var(--surface);border:var(--line);border-radius:10px;width:100%;padding:9px 12px}input:focus{box-shadow:0 0 0 3px var(--highlight);outline:none}kbd{font:600 13px var(--body);background:var(--surface);border:2px solid var(--ink);border-bottom-width:4px;border-radius:6px;padding:0 6px}.hint{color:var(--muted);font-size:14px;font-weight:500}.pill{background:var(--paper);border:var(--line);font:400 20px var(--display);border-radius:999px;align-items:center;gap:6px;padding:2px 12px 2px 6px;display:inline-flex}.coin{border:2.5px solid var(--hud-ink);vertical-align:-3px;background:#ffd23f;border-radius:50%;width:18px;height:18px;display:inline-block;box-shadow:inset -3px -3px #e6a800}.seg{border:var(--line);box-shadow:0 3px 0 var(--ink);border-radius:12px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg button{font:400 16px var(--display);color:var(--ink);background:var(--surface);border:0;border-right:var(--line);cursor:pointer;padding:8px 14px}.seg button:last-child{border-right:0}.seg button.on{background:var(--highlight);color:var(--on-accent)}.seg button:disabled{cursor:default}.seg button:disabled:not(.on){color:var(--muted);opacity:.6}.field{margin-bottom:14px}.field>label{font:400 16px var(--display);margin-bottom:6px;display:block}.field>label small{font:500 12px var(--body);color:var(--muted);margin-left:6px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:600 14px var(--body);color:var(--ink);background:var(--surface);border:2.5px solid var(--ink);cursor:pointer;border-radius:999px;padding:5px 12px}.chip.on{background:var(--highlight);color:var(--on-accent);box-shadow:0 3px 0 var(--ink);transform:translateY(-2px)}.swatch{border:2.5px solid var(--ink);background:var(--c);cursor:pointer;border-radius:10px;width:34px;height:34px}.swatch.on{box-shadow:0 0 0 3px var(--paper), 0 0 0 6px var(--ink)}.range{align-items:center;gap:12px;display:flex}.range input{accent-color:var(--primary);background:0 0;border:0;height:24px;padding:0}.range output{font:400 16px var(--display);text-align:right;min-width:52px}.themes{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.themecard{text-align:left;border:var(--line);background:var(--t-paper);color:var(--t-ink);cursor:pointer;font-family:var(--body);border-radius:12px;padding:0 0 8px;overflow:hidden}.themecard .sw{border-bottom:var(--line);height:30px;display:flex}.themecard .sw i{background:var(--c);flex:1}.themecard b{font:400 14px var(--display);padding:6px 8px 0;display:block}.themecard small{font:500 11px var(--body);opacity:.8;padding:0 8px;display:block}.themecard.on{box-shadow:0 0 0 3px var(--highlight), 0 0 0 6px var(--ink)}.nowplaying{color:var(--muted);align-items:center;gap:10px;margin-top:8px;font-size:14px;display:flex}.nowplaying b{color:var(--ink);flex:1;font-weight:600}.pair{flex-wrap:wrap;gap:10px;display:flex}.screen{z-index:20;padding:max(24px, env(safe-area-inset-top)) 32px 24px;position:fixed;inset:0;overflow-y:auto}#shade{z-index:5;pointer-events:none;background:linear-gradient(90deg, rgba(var(--shade), .78) 0%, rgba(var(--shade), .35) 45%, rgba(var(--shade), .1) 100%);position:fixed;inset:0}#title{justify-content:space-between;align-items:center;gap:40px;padding-left:clamp(24px,7vw,110px);padding-right:clamp(24px,7vw,110px);display:flex}.title-main{width:100%;max-width:440px}.logo{transform-origin:0 100%;margin-bottom:22px;font-size:clamp(64px,10vw,118px);line-height:.86;transform:rotate(-4deg)}.logo span{color:var(--primary);-webkit-text-stroke:4px var(--hud-ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--hud-ink);display:block}.logo .l2{color:var(--highlight);margin-left:.55em}.kicker{color:#fff;text-shadow:0 2px 0 var(--hud-ink);margin:0 0 22px;font-size:17px}.menu{flex-direction:column;gap:14px;display:flex}.slab{text-align:left;border:var(--line);cursor:pointer;width:100%;color:var(--ink);box-shadow:0 6px 0 var(--ink);font-family:var(--body);border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 18px;transition:transform 60ms,box-shadow 60ms;display:flex}button.slab:hover:not(:disabled){box-shadow:-4px 7px 0 var(--ink);transform:translate(4px,-1px)}button.slab:active:not(:disabled){box-shadow:0 2px 0 var(--ink);transform:translateY(4px)}.slab:disabled{opacity:.6}.slab.yellow{background:var(--highlight);color:var(--on-accent)}.slab.pink{background:var(--primary);color:var(--on-accent)}.slab.mint{background:var(--secondary);color:var(--on-accent);cursor:default;flex-direction:row;align-items:center;gap:12px}.slab.mint.invited{box-shadow:0 6px 0 var(--ink), 0 0 0 5px var(--paper)}.slab-title{font:400 28px var(--display);letter-spacing:.5px}.slab-sub{opacity:.85;font-size:14px}#code{text-transform:uppercase;letter-spacing:5px;font:400 22px var(--display);text-align:center;flex:1;min-width:0;padding:6px}.go{font:400 22px var(--display);background:var(--ink);color:var(--paper);cursor:pointer;border:0;border-radius:10px;padding:8px 18px}.go:disabled{opacity:.5}.menu-row{gap:10px;display:flex}.menu-row .btn{flex:1}#menuStatus.working{flex-wrap:wrap;align-items:center;gap:10px;display:flex}#menuStatus .spin{border:3px solid #ffffff59;border-top-color:var(--highlight);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}#menuStatus small{opacity:.7}@keyframes spin{to{transform:rotate(360deg)}}#netpill{z-index:35;font:600 12px var(--body);color:#fff;background:rgba(var(--shade), .75);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;display:flex;position:fixed;top:12px;left:12px}#netpill i{background:var(--c,#5fd86a);width:9px;height:9px;box-shadow:0 0 6px var(--c,#5fd86a);border-radius:50%}#netpill.bad i{animation:.8s ease-in-out infinite throb}body.touch.in-match #netpill{top:auto;bottom:10px;left:10px}#menuStatus{color:#fff;min-height:22px;text-shadow:0 2px 0 var(--hud-ink);margin-top:16px}.player-card{flex-shrink:0;width:300px;padding:14px;transform:rotate(2deg)}.preview{aspect-ratio:3/4;background:repeating-linear-gradient(45deg, var(--field) 0 14px, var(--paper) 14px 28px);border:var(--line);border-radius:12px;width:100%;overflow:hidden}.preview-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.nameplate{margin-top:12px;display:block}.nameplate span{font:400 15px var(--display);margin-bottom:4px;display:block}.nameplate input{font:400 22px var(--display);letter-spacing:.5px}.foot{color:#fff9;font-size:13px;position:fixed;bottom:12px;left:clamp(24px,7vw,110px)}#customize{background:rgba(var(--shade), .35);justify-content:center;align-items:center;display:flex}.custom-wrap{align-items:flex-start;gap:24px;width:100%;max-width:900px;display:flex}.custom-preview{text-align:center;flex-shrink:0;width:320px;padding:14px}.custom-preview .hint{margin:8px 0 0}.custom-panel{flex:1;padding:22px 24px}.custom-panel h2{margin-bottom:14px;font-size:34px}.modal{z-index:40;background:rgba(var(--shade), .55);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{width:100%;max-width:520px;max-height:92vh;padding:22px 24px;overflow-y:auto}.modal-card h2{margin-bottom:14px;font-size:32px}#lobby{flex-direction:column;gap:18px;display:flex}.lobby-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.roomtag{align-items:center;gap:14px;padding:10px 16px;display:flex}.roomtag small{font:400 15px var(--display);color:var(--muted)}.roomtag b{font:400 32px var(--display);letter-spacing:4px;color:var(--primary)}.lobby-actions{flex-wrap:wrap;gap:8px;display:flex}.lobby-body{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.teams{flex-wrap:wrap;flex:2;gap:18px;min-width:300px;display:flex}.team{flex-direction:column;flex:1;min-width:260px;padding:0 0 14px;display:flex;overflow:hidden}.team-head{border-bottom:var(--line);background:var(--highlight);color:var(--on-accent);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.team.red .team-head{background:var(--team-b)}.team.blue .team-head{background:var(--team-a)}.team-head h2{font-size:28px}.team-head span{font:400 20px var(--display)}.team ul{flex-direction:column;gap:8px;margin:0;padding:10px 12px 4px;list-style:none;display:flex}.prow{border:2.5px solid var(--ink);background:var(--surface);border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:6px 10px;display:flex}.prow.me{background:var(--me-row)}.prow b{font:400 19px var(--display);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.prow em{font:700 11px var(--body);background:var(--ink);color:var(--paper);border-radius:6px;padding:2px 6px;font-style:normal}.prow em.host{background:var(--primary);color:var(--on-accent)}.prow em.bot{background:var(--muted);color:var(--paper)}.prow.open{color:var(--muted);background:0 0;border-style:dashed;justify-content:space-between}.prow .x{font:600 12px var(--body);color:var(--muted);cursor:pointer;background:0 0;border:0;text-decoration:underline}.chipdot{background:var(--c);border:2px solid var(--ink);border-radius:5px;flex-shrink:0;width:16px;height:16px}.team>.btn{margin:6px 12px 0}.setup{flex:1;min-width:300px;padding:18px 20px}.setup h2{margin-bottom:12px;font-size:28px}.maps{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mapcard{text-align:left;border:var(--line);background:var(--surface);cursor:pointer;color:var(--ink);font-family:var(--body);border-radius:12px;padding:0 0 8px;overflow:hidden}.mapcard .sw{background:linear-gradient(135deg, var(--a) 0 55%, var(--b) 55%);border-bottom:var(--line);height:46px;margin-bottom:6px;display:block}.mapcard b{font:400 15px var(--display);padding:0 8px;display:block}.mapcard small{color:var(--muted);padding:0 8px;font-size:11px;line-height:1.25;display:block}.mapcard.on{box-shadow:0 0 0 3px var(--highlight), 0 0 0 6px var(--ink)}.mapcard:disabled{cursor:default}.teamnames{align-items:center;gap:8px;display:flex}.teamnames .tn{min-width:0;font:400 17px var(--display);flex:1;padding:6px 10px}.teamnames .tn.blue{border-color:var(--team-a);box-shadow:inset 6px 0 0 var(--team-a)}.teamnames .tn.red{border-color:var(--team-b);box-shadow:inset 6px 0 0 var(--team-b)}.teamnames .tn:disabled{opacity:.8}.modes{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.modecard{text-align:left;border:2.5px solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;font-family:var(--body);border-radius:10px;flex-direction:column;gap:1px;min-height:52px;padding:6px 8px;display:flex}.modecard b{font:400 14px var(--display);line-height:1.1}.modecard small{font:500 11px var(--body);color:var(--muted);line-height:1.2}.modecard.on{background:var(--highlight);color:var(--on-accent);box-shadow:0 3px 0 var(--ink);transform:translateY(-2px)}.modecard.on small{color:var(--on-accent);opacity:.8}.modecard:disabled{cursor:default}.modecard:disabled:not(.on){opacity:.6}.subseg{font:400 14px var(--display);align-items:center;gap:8px;margin-top:8px;display:flex}@media (width<=560px){.modes{grid-template-columns:repeat(2,1fr)}}.setup-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.setup-actions .big{flex:1}.waiting{font:400 20px var(--display);color:var(--muted);margin:18px 0 0}#hud{pointer-events:none;z-index:10;font-family:var(--display);position:fixed;inset:0}#hud .overlay,#hud .overlay *,#touch,#touch *{pointer-events:auto}.overlay{z-index:30;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#crosshair{width:8px;height:8px;box-shadow:0 0 0 2px var(--hud-ink);background:#fff;border-radius:50%;margin:-4px;position:absolute;top:50%;left:50%}#hitmarker{opacity:0;background:linear-gradient(45deg,#0000 44%,#fff 44% 56%,#0000 56%),linear-gradient(-45deg,#0000 44%,#fff 44% 56%,#0000 56%);width:28px;height:28px;margin:-14px;position:absolute;top:50%;left:50%;-webkit-mask:radial-gradient(circle,#0000 5px,#000 6px);mask:radial-gradient(circle,#0000 5px,#000 6px)}#hitmarker.show{animation:.25s ease-out pop}#hitmarker.head{filter:sepia()saturate(8)hue-rotate(-30deg)}#hitmarker.heal{filter:sepia()saturate(6)hue-rotate(70deg)}@keyframes pop{0%{opacity:1;transform:scale(1.3)}to{opacity:0;transform:scale(1)}}#vignette,#healglow{opacity:0;position:absolute;inset:0}#vignette{box-shadow:inset 0 0 160px 40px #ff285abf}#healglow{box-shadow:inset 0 0 160px 30px #6effa099}#vignette.show,#healglow.show{animation:.5s ease-out fade}@keyframes fade{0%{opacity:1}to{opacity:0}}#scope{background:radial-gradient(circle,#0000 0 32vh,#1e0a1eeb 32.5vh);display:none;position:absolute;inset:0}#scope:before,#scope:after{content:"";background:#ff2a3ad9;position:absolute;top:50%;left:50%}#scope:before{width:2px;height:64vh;transform:translate(-50%,-50%)}#scope:after{width:64vh;height:2px;transform:translate(-50%,-50%)}#scope.show{display:block}#score{background:var(--paper);border:var(--line);box-shadow:0 4px 0 var(--ink);white-space:nowrap;border-radius:14px;align-items:center;gap:14px;padding:4px 18px;font-size:22px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}#score:empty{display:none}#score small{font:500 12px var(--body);color:var(--muted)}.red{color:var(--team-b)}.blue{color:var(--team-a)}#objbar{white-space:nowrap;align-items:center;gap:8px;display:flex;position:absolute;top:58px;left:50%;transform:translate(-50%)}#objbar:empty{display:none}#objbar .ob{font:600 13px var(--body);background:var(--paper);border:2.5px solid var(--ink);border-radius:10px;padding:2px 9px}#objbar .ob.blue{border-color:var(--team-a)}#objbar .ob.red{border-color:var(--team-b)}#objbar .ob.carried,#objbar .ob.dropped{background:var(--highlight);color:var(--on-accent)}#objbar .ob.hint{background:var(--secondary);color:var(--on-accent);animation:1s ease-in-out infinite throb}#objbar .ob.q{align-items:center;gap:6px;display:flex}#objbar .ob.q b{font:400 13px var(--display)}#objbar .ob.q i{border:2px solid var(--ink);background:linear-gradient(90deg, var(--good) var(--f), transparent var(--f)), var(--surface);border-radius:5px;width:110px;height:10px}#objbar .ob.q.red i{background:linear-gradient(90deg, var(--team-b) var(--f), transparent var(--f)), var(--surface)}#objbar .ob.q.blue i{background:linear-gradient(90deg, var(--team-a) var(--f), transparent var(--f)), var(--surface)}#objbar .ob.q em{color:var(--danger);font-style:normal}#objbar .ob.prey{background:var(--highlight);color:var(--on-accent);align-items:center;gap:6px;display:flex}#objbar .ob.prey i,#rulescard .preybig i{background:var(--c);border:2px solid var(--ink);border-radius:50%;width:14px;height:14px}#rulescard{background:rgba(var(--shade), .35);cursor:pointer;z-index:32}#rulescard .card{max-width:520px;font-family:var(--body);padding:20px 24px}#rulescard h2{color:var(--primary);margin-bottom:8px;font-size:34px}#rulescard ul{flex-direction:column;gap:6px;margin:8px 0;padding-left:20px;font-size:16px;display:flex}#rulescard .preybig{background:var(--highlight);color:var(--on-accent);border:var(--line);border-radius:12px;align-items:center;gap:8px;padding:6px 12px;font-size:18px;display:flex}#rulescard .preybig i{width:20px;height:20px}#rulescard .preybig img{background:var(--surface);border:2.5px solid var(--ink);border-radius:12px;width:84px;height:84px}#rulescard .preybig span{flex-direction:column;font-size:16px;display:flex}#rulescard .preybig b{font:400 26px var(--display)}#rulescard .notprey{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}#rulescard .notprey small{width:100%;color:var(--danger);font-weight:600}#rulescard figure{text-align:center;width:62px;margin:0}#rulescard figure img{border:2px solid var(--ink);background:var(--surface);opacity:.85;border-radius:10px;width:52px;height:52px}#rulescard figcaption{color:var(--muted);font-size:10px;line-height:1.1}#rulescard .goal{font:400 18px var(--display);margin:6px 0}#rulescard small{color:var(--muted)}.toast.bad{background:var(--danger);color:#fff}.rules{color:var(--muted);flex-direction:column;gap:2px;margin:4px 0 0;padding-left:18px;font-size:12.5px;display:flex}#hideblind{z-index:31;color:#fff;background:#120b13;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}#hideblind b{font:400 40px var(--display);color:var(--highlight)}#hideblind>span{font:400 72px var(--display)}#hideblind small{opacity:.7;font-size:14px}#propsel{background:rgba(var(--shade), .5);z-index:33}#propsel .card{width:100%;max-width:640px;font-family:var(--body);max-height:94vh;padding:16px 20px;overflow-y:auto}#propsel h2{color:var(--primary);font-size:30px}#propsel p{margin:4px 0 10px;font-size:14px}.propgrid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.propgrid button{background:var(--surface);border:2.5px solid var(--ink);cursor:pointer;font:600 12px var(--body);color:var(--ink);border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px;display:flex}.propgrid button.on{background:var(--highlight);box-shadow:0 3px 0 var(--ink);transform:translateY(-2px)}.propgrid img{width:72px;height:72px}#propsel .row{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}#propbar{pointer-events:auto;align-items:center;gap:8px;max-width:calc(100vw - 32px);display:flex;position:absolute;bottom:16px;right:16px}#propbar .strip{scrollbar-width:none;gap:5px;padding-top:6px;display:flex;overflow-x:auto}#propbar .strip::-webkit-scrollbar{display:none}#propbar .side{flex-direction:column;align-items:center;display:flex}#propbar .side small{font:600 10px var(--body);color:#fff;text-shadow:0 1px 0 var(--hud-ink)}#propbar .strip button{flex-shrink:0}#propsel .row.top{justify-content:flex-end;margin:-4px 0 8px}#propbar button{background:color-mix(in srgb, var(--paper) 85%, transparent);border:2.5px solid var(--ink);cursor:pointer;border-radius:12px;width:58px;height:58px;padding:0;position:relative}#propbar button img{width:100%;height:100%}#propbar button.on{background:var(--highlight);box-shadow:0 4px 0 var(--ink);transform:translateY(-4px)}#propbar button:disabled{opacity:.4}#propbar kbd{padding:0 3px;font-size:10px;position:absolute;top:2px;left:3px}#propbar .changes{font:400 13px var(--display);color:#fff;-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;text-align:center;max-width:90px}#propbar .whistle{width:auto;font:400 15px var(--display);background:var(--secondary);color:var(--on-accent);padding:0 12px}#propbar .whistle kbd{margin-right:4px;position:static}body.is-prop #br,body.is-prop #crosshair,body.is-prop #bl .keyhint{display:none}#shieldglow{opacity:0;transition:opacity .3s;position:absolute;inset:0;box-shadow:inset 0 0 90px 18px #78dcff8c}#shieldglow.on{opacity:1;animation:1.2s ease-in-out infinite shieldpulse}@keyframes shieldpulse{50%{box-shadow:inset 0 0 120px 26px #96ebffb3}}#shieldchip{font:400 18px var(--display);color:#fff;border:3px solid var(--hud-ink);-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;background:#3fb8e8;border-radius:12px;padding:3px 12px;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}#shieldchip.fury{background:#ff2a5a}#hitmarker.shield{filter:sepia()saturate(6)hue-rotate(160deg)}#killfeed{flex-direction:column;align-items:flex-end;gap:5px;display:flex;position:absolute;top:12px;right:12px}.feed{background:var(--paper);border:2.5px solid var(--ink);font:600 14px var(--body);border-radius:10px;align-items:center;gap:6px;padding:3px 10px;animation:.2s ease-out slidein;display:flex}.feed b{font:400 16px var(--display);-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill}.feed .sys{color:var(--muted)}.wtag{font:700 10px var(--body);color:#fff;background:var(--c,var(--ink));border:2px solid var(--ink);letter-spacing:.5px;border-radius:6px;padding:1px 5px}.wtag.head{background:var(--highlight);color:var(--on-accent)}@keyframes slidein{0%{opacity:0;transform:translate(30px)}}#toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:28%;left:50%;transform:translate(-50%)}.toast{color:var(--on-accent);background:var(--highlight);border:var(--line);box-shadow:0 4px 0 var(--ink);white-space:nowrap;border-radius:12px;padding:4px 14px;font-size:18px;animation:2.2s ease-out forwards toast}.toast.big{background:var(--secondary);font-size:24px}@keyframes toast{0%{opacity:0;transform:scale(.6)}10%{opacity:1;transform:scale(1.1)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-20px)}}#bl{flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;bottom:16px;left:16px}.hpbox{background:var(--hud-ink);border:var(--line);width:260px;height:36px;box-shadow:0 4px 0 var(--ink);border-radius:12px;position:relative;overflow:hidden}#hpfill{background:var(--secondary);width:100%;transition:width .15s;position:absolute;inset:0;box-shadow:inset 0 -6px #00000026}#hpfill.low{background:var(--danger)}#hptext{color:#fff;-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;margin-left:12px;font-size:24px;line-height:30px;position:relative}.keyhint{font:600 13px var(--body);color:#fff;text-shadow:0 1px 0 var(--hud-ink), 0 0 4px #00000080}#br{text-align:right;color:#fff;position:absolute;bottom:16px;right:16px}#slots{justify-content:flex-end;gap:6px;margin-bottom:8px;display:flex}.slot{background:color-mix(in srgb, var(--paper) 78%, transparent);border:2.5px solid var(--ink);min-width:62px;height:46px;color:var(--ink);text-align:center;border-radius:12px;padding:14px 8px 0;font-size:13px;position:relative}.slot b{font:700 11px var(--body);position:absolute;top:2px;left:6px}.slot:after{content:"";background:var(--c);border-radius:2px;height:4px;position:absolute;bottom:4px;left:6px;right:6px}.slot.active{background:var(--paper);box-shadow:0 4px 0 var(--ink);transform:translateY(-4px)}#weaponname{-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;font-size:20px}#ammo .mag{-webkit-text-stroke:4px var(--hud-ink);paint-order:stroke fill;font-size:44px}#ammo .mag.small{font-size:26px}#ammo .mag.empty{color:var(--danger)}#ammo .res{-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;margin-left:6px;font-size:20px}#items{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}#items:empty{display:none}#items .it{font:400 13px var(--display);color:#fff;background:var(--c);border:2.5px solid var(--hud-ink);-webkit-text-stroke:2.5px var(--hud-ink);paint-order:stroke fill;border-radius:9px;padding:2px 8px}#items .it kbd{-webkit-text-stroke:0;color:var(--ink);margin-right:4px;padding:0 4px;font-size:11px}#items .it.nuke{animation:.9s ease-in-out infinite throb}@keyframes throb{50%{transform:scale(1.08);box-shadow:0 0 12px #a6ff2e}}#smokeview{opacity:0;background:radial-gradient(circle,#6e3f28e0,#4a2817fa);position:absolute;inset:0}#waterview{opacity:0;background:radial-gradient(circle, color-mix(in srgb, var(--c,#3a7aa8) 55%, transparent), color-mix(in srgb, var(--c,#3a7aa8) 90%, black 10%));transition:opacity .15s;position:absolute;inset:0}#waterview.on{opacity:.85}#dizzyview{opacity:0;pointer-events:none;background:radial-gradient(circle,#0000 45%,#b38bff59 75%,#ffd23f59);transition:opacity .3s;position:absolute;inset:0}#dizzyview.on{opacity:1;animation:2.4s ease-in-out infinite dizzy}@keyframes dizzy{0%,to{filter:hue-rotate();transform:scale(1)}50%{filter:hue-rotate(90deg);transform:scale(1.04)rotate(1deg)}}#sourview{opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0;box-shadow:inset 0 0 110px 25px #8dc63f8c}#sourview.on{opacity:1}#burnview{opacity:0;transition:opacity .2s;position:absolute;inset:0;box-shadow:inset 0 -60px 120px 20px #ff781e99}#burnview.on{opacity:1;animation:.5s ease-in-out infinite alternate burn}@keyframes burn{to{box-shadow:inset 0 -80px 150px 30px #ffaa3cbf}}#frostview{opacity:0;background:radial-gradient(circle,#0000 55%,#dcf5ff59);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 140px 50px #beebffd9}#frostview b{font:400 64px var(--display);color:#e6f8ff;-webkit-text-stroke:6px #2a6a98;paint-order:stroke fill;display:none}#frostview.frozen{background:#c8f0ff59}#frostview.frozen b{display:block}#flashout{opacity:0;background:radial-gradient(circle,#fff 0 55%,#fff4f6 100%);position:absolute;inset:0}#nukeflash{opacity:0;background:radial-gradient(circle,#fffffff2 0,#a6ff2ed9 35%,#ffe14fb3 70%,#a6ff2e66 100%);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}#nukeflash b{font:400 clamp(36px, 7vw, 84px) var(--display);color:#a6ff2e;-webkit-text-stroke:6px #1e1420;paint-order:stroke fill;transform:rotate(-3deg)}#nukeflash span{font:400 22px var(--display);color:#fff;-webkit-text-stroke:4px #1e1420;paint-order:stroke fill}#nukeflash.show{animation:2.6s ease-out forwards nuke}@keyframes nuke{0%{opacity:0}4%{opacity:1}55%{opacity:.9}to{opacity:0}}#ctrlprompt{font:400 20px var(--display);color:#fff;border:3px solid var(--hud-ink);-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;pointer-events:auto;background:#6e3cc8d9;border-radius:14px;padding:6px 14px;animation:1s ease-in-out infinite throb;position:absolute;top:58%;left:50%;transform:translate(-50%)}#ctrlprompt kbd{-webkit-text-stroke:0;color:var(--ink);margin-right:6px;font-size:16px}#ctrlprompt b{color:#e4d4ff;font-weight:400}#ctrlbar{font:400 20px var(--display);color:#fff;border:3px solid var(--hud-ink);-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;background:#b38bff;border-radius:12px;padding:4px 14px;position:absolute;top:64px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #b38bffcc}#controlled{flex-direction:column;justify-content:center;align-items:center;gap:6px;animation:1.4s ease-in-out infinite hypno;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 160px 60px #965affbf}#controlled b{font:400 clamp(32px, 5vw, 56px) var(--display);color:#e4d4ff;-webkit-text-stroke:5px var(--hud-ink);paint-order:stroke fill}#controlled span{font:400 20px var(--display);color:#fff;-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill}@keyframes hypno{50%{box-shadow:inset 0 0 220px 90px #965affe6}}.abil-note{margin:0 0 4px}.chips.props{gap:4px;margin-top:6px}.chips.props .chip{padding:2px 8px;font-size:12px}#bombs{color:#ffb3e0;-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;font-size:16px}#spectate{font:400 18px var(--display);color:#fff;background:rgba(var(--shade), .6);border-radius:12px;flex-direction:column;align-items:center;padding:6px 16px;display:flex;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}#spectate b{color:var(--highlight);font-weight:400}#spectate small{font:600 11px var(--body);opacity:.8}#death.watching{top:10%}#death.watching h2{font-size:28px}body.touch #spectate{padding:3px 10px;font-size:13px;bottom:70px}#death{text-align:center;color:#fff;position:absolute;top:34%;left:50%;transform:translate(-50%)}#death h2{-webkit-text-stroke:5px var(--hud-ink);paint-order:stroke fill;font-size:46px}#death p{-webkit-text-stroke:3px var(--hud-ink);paint-order:stroke fill;margin:6px 0;font-size:22px}#banner{text-align:center;color:var(--on-accent);background:var(--highlight);border:var(--line);box-shadow:6px 6px 0 var(--ink);border-radius:18px;padding:14px 36px;position:absolute;top:16%;left:50%;transform:translate(-50%)rotate(-2deg)}#banner h1{font-size:50px}#banner p{font:600 15px var(--body);margin:2px 0 0}#scoreboard{justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.sb{flex-wrap:wrap;gap:20px;width:100%;max-width:780px;padding:18px 20px;display:flex}.sbcol{flex:1;min-width:240px}.sbcol h3{margin-bottom:6px;font-size:26px}.sbcol.red h3{color:var(--team-b)}.sbcol.blue h3{color:var(--team-a)}.sb table{border-collapse:collapse;width:100%;font-family:var(--body)}.sb th{color:var(--muted);text-align:right;font-size:12px}.sb th:first-child,.sb td:first-child{text-align:left}.sb td{text-align:right;border-top:2px solid var(--paper-2);padding:5px 6px;font-size:15px}.sb tr.me td{background:var(--me-row)}.sb small{color:var(--muted);font-size:10px}.sb td.ping.good{color:var(--good)}.sb td.ping.meh{color:#d98a00}.sb td.ping.bad{color:var(--danger)}.dot{border:2px solid var(--ink);vertical-align:-1px;border-radius:4px;width:11px;height:11px;margin-right:6px;display:inline-block}.shop-card{width:100%;max-width:560px;max-height:92vh;font-family:var(--body);padding:18px 20px;overflow-y:auto}.shop-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.shop-head h2{color:var(--primary);-webkit-text-stroke:1px var(--ink);font-size:34px}#shopTabs{margin-bottom:12px}#shopitems{flex-direction:column;gap:8px;display:flex}.item{background:var(--surface);border:2.5px solid var(--ink);border-radius:14px;align-items:center;gap:12px;padding:8px 10px;display:flex}.tile{border:2.5px solid var(--ink);background:var(--c);color:#fff;width:58px;height:44px;font:400 11px var(--display);letter-spacing:.5px;-webkit-text-stroke:2px var(--hud-ink);paint-order:stroke fill;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.item .info{flex-direction:column;flex:1;display:flex}.item b{font:400 18px var(--display)}.item small{color:var(--muted)}.pips{gap:4px;margin-top:4px;display:flex}.pips i{border:2px solid var(--ink);background:var(--surface);border-radius:3px;width:20px;height:7px}.pips i.on{background:var(--primary)}.item .btn{justify-content:center;align-items:center;gap:6px;min-width:96px;display:inline-flex}#pause{background:rgba(var(--shade), .45);cursor:pointer}.pause-card{text-align:center;cursor:default;width:100%;max-width:640px;font-family:var(--body);padding:22px 24px}#pause h2{color:var(--primary);-webkit-text-stroke:1px var(--ink);margin-bottom:12px;font-size:40px}#resumeBtn{margin-bottom:14px}.invite{background:var(--field);border:2.5px solid var(--ink);text-align:left;border-radius:14px;margin-bottom:14px;padding:10px 12px}.invite b{color:var(--primary);letter-spacing:2px;font-family:var(--display);font-size:18px;font-weight:400}.invite .row{gap:8px;margin-top:8px;display:flex}.invite input{padding:6px 10px;font-size:13px}.controls{flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-bottom:16px;font-size:14px;display:flex}.pause-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}#fatal{background:rgba(var(--shade), .6);z-index:50}#fatal .card{text-align:center;max-width:440px;padding:24px}#fatal h2{margin-bottom:16px;font-size:28px}.touch-only{margin-top:10px;display:none}body.touch .touch-only{display:inline-block}#touch{z-index:12;touch-action:none;position:fixed;inset:0}#touchMove{width:42%;position:absolute;top:0;bottom:0;left:0}#touchLook{width:58%;position:absolute;top:0;bottom:0;right:0}#stickBase{background:rgba(var(--shade), .25);opacity:0;pointer-events:none;border:3px solid #fffc;border-radius:50%;width:120px;height:120px;position:absolute;top:0;left:0}#stickBase.on{opacity:1}#stickKnob{background:var(--paper);border:var(--line);border-radius:50%;width:50px;height:50px;position:absolute;top:35px;left:35px}.tbtn{border:var(--line);background:color-mix(in srgb, var(--paper) 85%, transparent);width:62px;height:62px;font:400 14px var(--display);color:var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:50%;position:absolute}.tbtn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.tbtn.fire{width:96px;height:96px;right:max(24px, env(safe-area-inset-right));background:var(--primary);color:var(--on-accent);font-size:20px;bottom:36px}#tJump{background:var(--secondary);color:var(--on-accent);bottom:28px;right:140px}#tReload{bottom:150px;right:40px}#tSwap{bottom:112px;right:118px}#tBomb{bottom:96px;right:200px}#tSmoke{color:#fff;background:#8a5538;bottom:140px;right:274px}#tFlash{color:var(--on-accent);background:#ff7a8f;bottom:176px;right:206px}#tNuke{color:#1e1420;background:#a6ff2e;bottom:228px;right:40px}.tbtn.item{font-size:12px}#tShift{color:var(--on-accent);background:#5fd3ff;bottom:112px;right:342px}#tZoom{background:var(--highlight);color:var(--on-accent);bottom:20px;right:196px}.ttop{top:max(10px, env(safe-area-inset-top));gap:6px;margin-top:46px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ttop button{font:400 13px var(--display);background:color-mix(in srgb, var(--paper) 85%, transparent);border:2.5px solid var(--ink);color:var(--ink);border-radius:10px;padding:5px 10px}body.touch #bl .keyhint,body.touch #br #weaponname{display:none}body.touch #br{top:64px;bottom:auto;right:12px}body.touch #killfeed{top:120px}body.touch #br #slots{display:none}body.touch .hpbox{width:200px}body.touch #bl{flex-direction:row;align-items:center;bottom:10px;left:50%;transform:translate(-50%)}@media (width<=820px){#title{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:20px;padding:24px 16px}.title-main{max-width:none}.player-card{align-items:center;gap:12px;width:100%;max-width:360px;display:flex;transform:none}.player-card .preview{flex-shrink:0;width:110px}.player-card .nameplate{flex:1;margin:0}.foot{display:none}#shade{background:rgba(var(--shade), .55)}.custom-wrap{flex-direction:column;align-items:stretch}.custom-preview{align-self:center;width:100%;max-width:260px}.screen{padding:16px}.maps{grid-template-columns:1fr}.mapcard{grid-template-columns:70px 1fr;align-items:center;padding:0;display:grid}.mapcard .sw{border-bottom:0;border-right:var(--line);grid-row:span 2;height:100%;min-height:48px;margin:0}.mapcard b{padding-top:6px}.mapcard small{padding-bottom:6px}}@media (height<=520px){#title{align-items:center;padding-top:12px;padding-bottom:12px}.logo{margin-bottom:8px;font-size:50px}.kicker,.foot,.slab-sub{display:none}.menu{gap:9px}.slab{box-shadow:0 4px 0 var(--ink);padding:7px 14px}.slab-title{font-size:21px}#code,.go{padding:4px 10px;font-size:18px}#menuStatus{margin-top:8px}.player-card{width:200px;padding:10px}.player-card .preview{aspect-ratio:1}.nameplate{margin-top:8px}.nameplate input{padding:5px 10px;font-size:17px}.screen{padding:12px 16px}#lobby{gap:12px}.roomtag{padding:6px 12px}.roomtag b{font-size:24px}.team-head{padding:6px 12px}.team-head h2{font-size:22px}.prow{min-height:36px;padding:4px 8px}.prow b{font-size:16px}.maps{grid-template-columns:1fr}.mapcard{grid-template-columns:56px 1fr;align-items:center;padding:0;display:grid}.mapcard .sw{border-bottom:0;border-right:var(--line);grid-row:span 2;height:100%;min-height:40px;margin:0}.mapcard b{padding-top:4px}.mapcard small{padding-bottom:4px}.custom-wrap{align-items:stretch}.custom-preview{width:220px}.custom-preview .preview{aspect-ratio:1}.custom-panel{padding:14px 16px}.custom-panel h2{margin-bottom:8px;font-size:26px}.field{margin-bottom:9px}}#rotate{z-index:60;background:var(--bg);color:#fff;text-align:center;font:400 28px var(--display);justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}@media (orientation:portrait){body.touch.in-match #rotate{display:flex}}#reconnect{z-index:45;background:rgba(var(--shade), .6);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;inset:0}#reconnect.hidden{display:none}#reconnect b{font:400 40px var(--display);-webkit-text-stroke:5px var(--hud-ink);paint-order:stroke fill}#reconnect span{font:400 20px var(--display);animation:1s ease-in-out infinite throb}body.touch #score{top:max(4px, env(safe-area-inset-top));box-shadow:0 2px 0 var(--ink);border-width:2px;border-radius:10px;gap:8px;padding:2px 10px;font-size:13px}body.touch #score small{font-size:9px}body.touch #objbar{top:calc(max(4px, env(safe-area-inset-top)) + 26px);gap:4px}body.touch #objbar .ob{border-width:2px;padding:1px 6px;font-size:10px}body.touch #objbar .ob.q i{width:60px;height:7px}body.touch #killfeed{top:40px;right:max(6px, env(safe-area-inset-right));gap:3px}body.touch .feed{border-width:2px;border-radius:8px;padding:1px 6px;font-size:10px}body.touch .feed b{-webkit-text-stroke:2px var(--hud-ink);font-size:11px}body.touch .feed .wtag{padding:0 3px;font-size:8px}body.touch .feed:nth-child(n+4){display:none}body.touch #toasts{gap:4px;top:22%}body.touch .toast{box-shadow:0 2px 0 var(--ink);border-width:2px;padding:2px 10px;font-size:13px}body.touch .toast.big{font-size:15px}body.touch #bl{bottom:max(6px, env(safe-area-inset-bottom));gap:6px}body.touch .hpbox{width:130px;height:22px;box-shadow:0 2px 0 var(--ink);border-width:2px;border-radius:8px}body.touch #hptext{-webkit-text-stroke:2px var(--hud-ink);margin-left:8px;font-size:15px;line-height:18px}body.touch .pill{border-width:2px;padding:0 8px 0 4px;font-size:13px}body.touch .coin{border-width:2px;width:12px;height:12px}body.touch #br{top:40px;right:max(10px, env(safe-area-inset-right))}body.touch #ammo .mag{-webkit-text-stroke:3px var(--hud-ink);font-size:24px}body.touch #ammo .mag.small{font-size:14px}body.touch #ammo .res{-webkit-text-stroke:2px var(--hud-ink);font-size:12px}body.touch #bombs{-webkit-text-stroke:2px var(--hud-ink);font-size:10px}body.touch #items .it{-webkit-text-stroke:2px var(--hud-ink);border-width:2px;padding:1px 5px;font-size:9px}body.touch #items .it kbd{display:none}body.touch #shieldchip{border-width:2px;padding:1px 8px;font-size:12px;top:30%;bottom:auto}body.touch #ctrlbar{font-size:13px;top:46px}body.touch #ctrlprompt{font-size:14px;top:62%}body.touch #death h2{-webkit-text-stroke:3px var(--hud-ink);font-size:26px}body.touch #death p{-webkit-text-stroke:2px var(--hud-ink);font-size:13px}body.touch #death .keyhint{display:none}body.touch #banner{padding:6px 18px;top:12%}body.touch #banner h1{font-size:26px}body.touch #crosshair{width:6px;height:6px;margin:-3px}body.touch #netpill{padding:1px 6px;font-size:9px}body.touch #propbar{gap:4px;max-width:70vw;inset:50px auto auto 50%;transform:translate(-50%)}body.touch #propbar .side small{display:none}body.touch #propbar button{border-width:2px;width:40px;height:40px}body.touch #propbar .changes{max-width:70px;font-size:10px}body.touch #propbar .whistle{padding:0 8px;font-size:12px}body.touch #propbar kbd{display:none}body.touch #hideblind b{font-size:24px}body.touch #hideblind>span{font-size:44px}body.touch .tbtn{width:48px;height:48px;box-shadow:0 2px 0 var(--ink);background:color-mix(in srgb, var(--paper) 55%, transparent);border-width:2px;font-size:11px}body.touch .tbtn.fire{width:72px;height:72px;right:max(16px, env(safe-area-inset-right));background:color-mix(in srgb, var(--primary) 80%, transparent);font-size:15px;bottom:22px}body.touch #tJump{background:color-mix(in srgb, var(--secondary) 70%, transparent);bottom:16px;right:100px}body.touch #tReload{bottom:108px;right:26px}body.touch #tSwap{bottom:80px;right:86px}body.touch #tBomb{bottom:66px;right:148px}body.touch #tZoom{bottom:10px;right:154px}body.touch #tSmoke{bottom:100px;right:206px}body.touch #tFlash{bottom:124px;right:150px}body.touch #tNuke{bottom:166px;right:26px}body.touch #tShift{bottom:44px;right:210px}body.touch .tbtn.item{font-size:9px}body.touch #stickBase{width:100px;height:100px}body.touch #stickKnob{width:42px;height:42px;top:28px;left:28px}body.touch .ttop{top:max(4px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));gap:4px;margin-top:0;transform:none}body.touch .ttop button{background:color-mix(in srgb, var(--paper) 60%, transparent);border-width:2px;border-radius:8px;padding:2px 7px;font-size:10px}body.touch .ttop .shopbtn{background:color-mix(in srgb, var(--highlight) 75%, transparent)}body.fullscreen #tFull{display:none}#a2hsGuide{z-index:80;background:rgba(var(--shade), .6);justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}#a2hsGuide .card{max-width:440px;font:500 14px var(--body);padding:14px 18px}#a2hsGuide h2{color:var(--primary);margin-bottom:6px;font-size:22px}#a2hsGuide ol{flex-direction:column;gap:5px;margin:6px 0 10px;padding-left:20px;display:flex}#a2hsGuide b{font-weight:700}#fsBanner{z-index:36;background:rgba(var(--shade), .8);color:#fff;font:400 15px var(--display);pointer-events:none;border-radius:12px;padding:8px 16px;position:fixed;top:40%;left:50%;transform:translate(-50%)}body.touch.in-match #netpill{bottom:auto;top:max(4px, env(safe-area-inset-top));left:auto;right:max(6px, env(safe-area-inset-right))}body.touch .shop-card{max-height:94vh;padding:10px 12px}body.touch .shop-head{margin-bottom:4px}body.touch .shop-head h2{font-size:22px}body.touch #shopTabs{margin-bottom:6px}body.touch #shopTabs button{padding:4px 8px;font-size:12px}body.touch #shopitems{gap:5px}body.touch .item{border-width:2px;gap:8px;padding:4px 6px}body.touch .tile{border-width:2px;width:42px;height:32px;font-size:9px}body.touch .item b{font-size:14px}body.touch .item small{font-size:10px}body.touch .item .btn{min-width:70px;padding:3px 8px;font-size:12px}body.touch .shop-card>.hint{display:none}body.touch .shop-swipe{display:block}.shop-swipe{color:var(--muted);text-align:center;margin:6px 0 0;font-size:11px;display:none}body.touch .sb{gap:10px;max-height:92vh;padding:8px 10px;overflow-y:auto}body.touch .sbcol h3{font-size:16px}body.touch .sb td{padding:2px 4px;font-size:11px}body.touch #rulescard .card{max-height:92vh;padding:10px 14px;overflow-y:auto}body.touch #rulescard h2{font-size:22px}body.touch #rulescard ul{gap:3px;margin:4px 0;font-size:12px}body.touch #rulescard .preybig img{width:52px;height:52px}body.touch #rulescard .preybig b{font-size:18px}body.touch #rulescard figure img{width:36px;height:36px}body.touch #propsel .card{padding:10px 12px}body.touch #propsel h2{font-size:20px}body.touch #propsel p{font-size:11px}body.touch .propgrid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:5px}body.touch .propgrid img{width:46px;height:46px}body.touch .pause-card{padding:12px 14px}body.touch #pause h2{margin-bottom:6px;font-size:24px}#a2hs{left:50%;bottom:max(12px, env(safe-area-inset-bottom));z-index:70;background:var(--paper);width:min(560px,100% - 24px);color:var(--ink);border:var(--line);box-shadow:0 4px 0 var(--ink);font:500 13px var(--body);border-radius:14px;align-items:center;gap:10px;padding:8px 12px;display:flex;position:fixed;transform:translate(-50%)}#a2hs b{font:400 15px var(--display);white-space:nowrap}#a2hs i{font-style:normal;font-weight:700}#a2hs button{font:400 13px var(--display);background:var(--highlight);color:var(--on-accent);border:2px solid var(--ink);border-radius:8px;padding:4px 10px}body.in-match #a2hs{display:none}#swipehint{z-index:34;background:rgba(var(--shade), .85);color:#fff;font:600 12px var(--body);text-align:center;pointer-events:auto;border-radius:12px;padding:8px 14px;position:absolute;top:42%;left:50%;transform:translate(-50%)}#swipehint b{color:var(--highlight);font-weight:600}body.touch #br{top:calc(max(4px, env(safe-area-inset-top)) + 24px);right:auto;left:max(10px, env(safe-area-inset-left));text-align:left}body.touch #items{justify-content:flex-start}@media (height<=520px){body.touch #fatal .card{zoom:.62}}body.touch .tbtn,body.touch .ttop button{opacity:var(--touch-a,.45);transition:opacity .1s}body.touch .tbtn:active,body.touch .tbtn.held{opacity:1}body.touch #stickBase{opacity:0;background:#ffffff14;border-width:2px}body.touch #stickBase.on{opacity:calc(var(--touch-a,.45) + .1)}body.touch #stickKnob{background:#ffffff8c;border:2px solid #2b183880}body.touch .tbtn{box-shadow:none}#tSour{color:#1e1420;background:#8dc63f;bottom:176px;right:270px}body.touch #tSour{bottom:150px;right:206px}body.touch #tFull{padding:0 7px;font-size:13px}@media (height<=520px){body.touch #title{padding:max(8px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));flex-direction:row;justify-content:center;align-items:center;gap:22px}body.touch .title-main{flex:1;max-width:380px}body.touch .logo{margin-bottom:8px;font-size:44px}body.touch .logo span{-webkit-text-stroke:3px var(--hud-ink);text-shadow:0 4px 0 var(--hud-ink)}body.touch .kicker,body.touch .slab-sub,body.touch .foot{display:none}body.touch .menu{gap:8px}body.touch .slab{box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:8px 14px}body.touch .slab-title{font-size:20px}body.touch .slab.mint{gap:8px}body.touch #code{letter-spacing:4px;padding:5px;font-size:17px}body.touch .go{padding:6px 14px;font-size:17px}body.touch .menu-row .btn{padding:7px 10px;font-size:15px}body.touch #menuStatus{min-height:0;margin-top:6px;font-size:13px}body.touch .player-card{flex-shrink:0;width:190px;padding:8px;display:block;transform:rotate(1.5deg)}body.touch .player-card .preview{aspect-ratio:1;width:100%}body.touch .nameplate{margin-top:6px}body.touch .nameplate span{font-size:12px}body.touch .nameplate input{padding:5px 8px;font-size:16px}body.touch #lobby{height:100%;padding:max(6px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left));flex-direction:column;gap:8px;display:flex;overflow:hidden}body.touch .lobby-top{flex-wrap:nowrap;gap:8px}body.touch .roomtag{box-shadow:3px 3px 0 var(--ink);border-radius:12px;gap:8px;padding:4px 10px}body.touch .roomtag small{font-size:12px}body.touch .roomtag b{letter-spacing:2px;font-size:20px}body.touch .roomtag .btn{padding:3px 8px;font-size:12px}body.touch .lobby-actions{flex-wrap:nowrap;gap:6px}body.touch .lobby-actions .btn{box-shadow:0 3px 0 var(--ink);padding:5px 10px;font-size:13px}body.touch .lobby-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:stretch;gap:10px;min-height:0;display:grid}body.touch .teams{flex-flow:column;gap:8px;min-width:0;padding-bottom:6px;display:flex;overflow-y:auto}body.touch .team{min-width:0;box-shadow:3px 3px 0 var(--ink);border-radius:12px;flex:none;padding-bottom:6px}body.touch .team-head{padding:4px 10px}body.touch .team-head h2{font-size:17px}body.touch .team-head span{font-size:14px}body.touch .team ul{gap:5px;padding:6px 8px 2px}body.touch .prow{border-width:2px;border-radius:9px;gap:6px;min-height:32px;padding:3px 8px}body.touch .prow b{font-size:15px}body.touch .prow em{padding:1px 5px;font-size:9px}body.touch .prow .x{font-size:11px}body.touch .prow.open{font-size:13px}body.touch .team>.btn{margin:6px 8px 0;padding:5px 10px;font-size:14px}body.touch .setup{min-width:0;box-shadow:3px 3px 0 var(--ink);border-radius:12px;flex-direction:column;padding:10px 12px 0;display:flex;overflow-y:auto}body.touch .setup h2{margin-bottom:6px;font-size:18px}body.touch .setup .field{margin-bottom:10px}body.touch .setup .field>label{margin-bottom:4px;font-size:14px}body.touch .maps{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;padding:4px 2px 6px;display:flex;overflow-x:auto}body.touch .maps::-webkit-scrollbar{display:none}body.touch .mapcard{scroll-snap-align:start;text-align:left;border-width:2.5px;flex-direction:column;flex:0 0 128px;justify-content:flex-start;padding:0 0 6px;display:flex}body.touch .mapcard .sw{border-right:0;border-bottom:var(--line);flex-shrink:0;grid-row:auto;width:100%;height:30px;min-height:0;margin:0 0 4px}body.touch .mapcard b{padding:0 6px;font-size:13px}body.touch .mapcard small{padding:0 6px;font-size:10px}body.touch .modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}body.touch .modecard{border-width:2px;min-height:0;padding:5px 7px}body.touch .modecard b{font-size:13px}body.touch .modecard small{font-size:10px}body.touch .rules{font-size:11px}body.touch .setup .seg button{padding:5px 11px;font-size:14px}body.touch .teamnames .tn{padding:4px 8px;font-size:14px}body.touch .setup-actions{background:var(--paper);border-top:2px solid var(--paper-2);flex-wrap:nowrap;gap:8px;margin:auto -12px 0;padding:8px 12px 10px;position:sticky;bottom:0}body.touch .setup-actions .btn{padding:7px 12px;font-size:15px}body.touch .setup-actions .big{font-size:18px}body.touch .waiting{margin:8px 0 10px;font-size:15px}body.touch #customize{padding:max(8px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 8px max(14px, env(safe-area-inset-left));align-items:stretch;overflow:hidden}body.touch .custom-wrap{flex-direction:row;align-items:stretch;gap:12px;max-width:none;height:100%}body.touch .custom-preview{width:34%;max-width:230px;box-shadow:4px 4px 0 var(--ink);border-radius:14px;flex-direction:column;align-self:stretch;padding:8px;display:flex}body.touch .custom-preview .preview{aspect-ratio:auto;flex:1;min-height:0}body.touch .custom-preview .hint{margin:4px 0 0;font-size:11px}body.touch .custom-panel{min-width:0;box-shadow:4px 4px 0 var(--ink);border-radius:14px;flex-direction:column;flex:1;padding:10px 14px 0;display:flex;overflow-y:auto}body.touch .custom-panel h2{margin-bottom:6px;font-size:22px}body.touch .custom-panel .field{margin-bottom:9px}body.touch .custom-panel .field>label{margin-bottom:4px;font-size:14px}body.touch .custom-panel .field>label small{font-size:11px}body.touch .chips{gap:5px}body.touch .chip{border-width:2px;padding:4px 10px;font-size:13px}body.touch .swatch{border-width:2px;border-radius:8px;width:30px;height:30px}body.touch #customizeDone{width:calc(100% + 28px);box-shadow:none;border-width:3px 0 0;border-radius:0 0 12px 12px;margin:auto -14px 0;padding:8px;font-size:18px;position:sticky;bottom:0}body.touch .modal{padding:max(6px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left))}body.touch .modal-card{border-radius:14px;flex-direction:column;max-width:820px;max-height:calc(100vh - 12px);padding:10px 16px 0;display:flex}body.touch .modal-card h2{margin-bottom:6px;font-size:22px}body.touch #settingsBody{grid-template-columns:1fr 1fr;gap:0 18px;min-height:0;padding-bottom:4px;display:grid;overflow-y:auto}body.touch #settingsBody .field{min-width:0;margin-bottom:10px}body.touch #settingsBody .field:has(.themes){grid-column:1/-1}body.touch #settingsBody .field>label{margin-bottom:4px;font-size:14px}body.touch #settingsBody .field>label small{font-size:11px}body.touch #settingsBody .seg button{padding:5px 9px;font-size:13px}body.touch #settingsBody .range output{min-width:40px;font-size:13px}body.touch .themes{gap:6px}body.touch .themecard b{font-size:13px}body.touch .themecard .sw{height:20px}body.touch .nowplaying{font-size:12px}body.touch #settingsDone{box-shadow:none;border-width:3px 0 0;border-radius:0 0 12px 12px;margin:4px -16px 0;padding:8px;font-size:18px}body.touch .setup{padding:10px 14px 0}body.touch .setup h2{margin-bottom:4px}body.touch .maps{align-items:flex-start;margin:0 -14px;padding:4px 14px 8px;scroll-padding:0 14px}body.touch .mapcard{height:auto;min-height:0;padding-bottom:6px}body.touch .mapcard.on{box-shadow:0 0 0 3px var(--highlight), 0 0 0 5px var(--ink)}body.touch .setup-actions{margin:auto -14px 0;padding:8px 14px 10px}body.touch .modes{padding:2px 0}body.touch .subseg{font-size:13px}}.prow .face{border:2.5px solid var(--c);background:color-mix(in srgb, var(--c) 18%, var(--surface));border-radius:10px;flex-shrink:0;width:40px;height:40px;margin:-4px 0;overflow:hidden}.prow .face img{width:100%;height:100%;display:block;transform:scale(1.35)translateY(8%)}body.touch .prow .face{border-width:2px;border-radius:8px;width:30px;height:30px}@media (height<=520px){body.touch .mapcard small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}#podium{z-index:2;align-items:flex-end;gap:12px;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%)}#podium figure{background:color-mix(in srgb, var(--c) 22%, var(--paper));border:3px solid var(--ink);width:132px;box-shadow:0 5px 0 var(--ink);text-align:center;animation:rise .5s var(--d) both cubic-bezier(.2, 1.4, .5, 1);border-radius:16px;margin:0;padding:6px 6px 8px;position:relative}#podium figure.mvp{border-color:var(--c);width:158px;box-shadow:0 5px 0 var(--ink), 0 0 26px color-mix(in srgb, var(--c) 70%, transparent)}#podium figure.me figcaption b{text-decoration:underline}#podium img{aspect-ratio:1;width:100%;display:block}#podium figcaption b{font:400 17px var(--display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}#podium figcaption small{font:600 12px var(--body);color:var(--muted)}#podium .crown{background:var(--highlight);color:var(--on-accent);border:2.5px solid var(--ink);font:400 14px var(--display);border-radius:8px;padding:0 8px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translateY(40px)scale(.8)}}body.touch #podium{gap:6px;top:30%}body.touch #podium figure{border-width:2px;width:92px;padding:4px 4px 5px}body.touch #podium figure.mvp{width:108px}body.touch #podium figcaption b{font-size:12px}body.touch #podium figcaption small{font-size:10px}.menu-links{justify-content:center;align-items:center;gap:8px;margin-top:2px;display:flex}.menu-links button{color:#fff;font:600 14px var(--body);text-underline-offset:3px;cursor:pointer;text-shadow:0 1px 0 var(--hud-ink);background:0 0;border:0;padding:4px;text-decoration:underline}.menu-links span{color:#ffffffb3}.screen.page{background:rgba(var(--shade), .55);justify-content:center;align-items:flex-start;padding:24px 16px 40px;display:flex}.page-card{width:100%;max-width:860px;font-family:var(--body);padding:28px 32px;position:relative}.page-card.narrow{max-width:560px}.page-back{position:absolute;top:16px;right:16px}.page-card .eyebrow{font:400 13px var(--display);letter-spacing:1px;text-transform:uppercase;color:var(--primary);margin:0 0 6px}.small-logo{margin-bottom:10px;font-size:72px;transform:rotate(-3deg)}.page-card .lead{max-width:460px;color:var(--muted);margin:0 0 18px;font-size:18px}.page-card h2{color:var(--ink);margin:22px 0 6px;font-size:32px}.page-card .sub{color:var(--muted);margin:0 0 14px}.facts{background:var(--surface);border:var(--line);box-shadow:0 5px 0 var(--ink);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:14px 18px;display:grid}.facts small{font:600 11px var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--muted);display:block}.facts b{font:400 18px var(--display);color:var(--primary)}.promises{grid-template-columns:1fr 1fr;gap:14px;display:grid}.promises article{background:var(--surface);border:2.5px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:16px;padding:14px 18px}.promises h3{align-items:center;gap:8px;font-size:21px;display:flex}.promises h3:before{content:"";border:3px solid var(--ink);background:var(--highlight);border-radius:50%;flex-shrink:0;width:18px;height:18px}.promises p{color:var(--muted);margin:6px 0;font-weight:600}.promises ul{flex-direction:column;gap:4px;margin:0;padding-left:20px;font-weight:500;display:flex}.talk{background:var(--surface);border:2.5px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:16px;margin-top:16px;padding:14px 18px}.talk h3{margin-bottom:6px;font-size:21px}.talk small{font:600 11px var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:8px 0 6px;display:block}.words{flex-wrap:wrap;gap:8px;display:flex}.words span{font:400 16px var(--display);border:2.5px solid var(--ink);background:var(--highlight);color:var(--on-accent);border-radius:999px;padding:3px 14px}.words.no span{color:var(--muted);border-color:var(--muted);background:0 0;text-decoration:line-through}.built{margin:22px 0 4px;font-size:22px}#contactForm{flex-direction:column;gap:12px;display:flex}#contactForm label{font:400 16px var(--display);flex-direction:column;gap:4px;display:flex}#contactForm label small{font:500 12px var(--body);color:var(--muted)}#contactForm textarea{font:500 16px var(--body);color:var(--ink);background:var(--surface);border:var(--line);resize:vertical;-webkit-user-select:text;user-select:text;border-radius:10px;min-height:110px;padding:9px 12px}#contactForm input{-webkit-user-select:text;user-select:text}#contactForm textarea:focus{box-shadow:0 0 0 3px var(--highlight);outline:none}#contactForm .hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}#contactForm .row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}#contactStatus{font-weight:600}#contactStatus.good{color:var(--good)}#contactStatus.bad{color:var(--danger)}@media (width<=700px){.promises{grid-template-columns:1fr}.small-logo{font-size:54px}}@media (height<=520px){.screen.page{padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 16px max(12px, env(safe-area-inset-left))}.page-card{padding:14px 18px}.page-back{top:10px;right:10px}.small-logo{font-size:42px}.page-card .lead{margin-bottom:10px;font-size:14px}.page-card h2{margin-top:14px;font-size:22px}.facts{grid-template-columns:repeat(5,1fr);gap:8px;padding:10px 12px}.facts b{font-size:14px}.promises article,.talk{padding:10px 12px}.promises h3,.talk h3{font-size:16px}.promises p,.promises ul,.words span{font-size:13px}#contactForm{gap:8px}#contactForm label{font-size:14px}#contactForm textarea{min-height:70px}.menu-links button{padding:0 4px;font-size:12px}.menu-links{margin-top:0}.modal{padding:max(6px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));align-items:stretch}.modal-card{border-radius:14px;flex-direction:column;max-width:820px;height:auto;max-height:100%;padding:10px 16px 0;display:flex;overflow:hidden}.modal-card h2{flex-shrink:0;margin-bottom:6px;font-size:20px}#settingsBody{flex:1;grid-template-columns:1fr 1fr;gap:0 18px;min-height:0;padding-bottom:6px;display:grid;overflow-y:auto}#settingsBody .field{min-width:0;margin-bottom:9px}#settingsBody .field:has(.themes){grid-column:1/-1}#settingsBody .field>label{margin-bottom:4px;font-size:14px}#settingsBody .seg{flex-wrap:wrap}#settingsBody .seg button{padding:5px 9px;font-size:13px}#settingsDone{width:calc(100% + 32px);box-shadow:none;border-width:3px 0 0;border-radius:0 0 12px 12px;flex-shrink:0;margin:0 -16px;padding:8px;font-size:18px}}
