:root{--bg:#070b14;--panel:#080c16d6;--line:#8cbeff29;--text:#eaf2ff;--dim:#8794ad;--accent:#25e6ff;--accent2:#ff2fa8;--good:#5dffb0;--bad:#ff4d6d;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;margin:0;overflow:hidden}[hidden]{display:none!important}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{pointer-events:none;font-variant-numeric:tabular-nums;position:fixed;inset:0}#crosshair{width:22px;height:22px;margin:-11px;position:absolute;top:50%;left:50%}#crosshair:before,#crosshair:after{content:"";opacity:.85;background:#fff;position:absolute;box-shadow:0 0 2px #000}#crosshair:before{clip-path:polygon(0 0,100% 0,100% 32%,0 32%,0 68%,100% 68%,100% 100%,0 100%);width:2px;height:22px;top:0;left:10px}#crosshair:after{clip-path:polygon(0 0,32% 0,32% 100%,0 100%,0 0,68% 0,100% 0,100% 100%,68% 100%,68% 0);width:22px;height:2px;top:10px;left:0}#crosshair i{background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:9px;left:9px;box-shadow:0 0 2px #000}#crosshair.on-target:before,#crosshair.on-target:after,#crosshair.on-target i{background:var(--bad)}#hitmarker{opacity:0;width:30px;height:30px;margin:-15px;position:absolute;top:50%;left:50%;transform:rotate(45deg)scale(1)}#hitmarker:before,#hitmarker:after{content:"";background:#fff;position:absolute}#hitmarker:before{clip-path:polygon(0 0,100% 0,100% 30%,0 30%,0 70%,100% 70%,100% 100%,0 100%);width:2px;height:30px;top:0;left:14px}#hitmarker:after{clip-path:polygon(0 0,30% 0,30% 100%,0 100%,0 0,70% 0,100% 0,100% 100%,70% 100%,70% 0);width:30px;height:2px;top:14px;left:0}#hitmarker.show{animation:.22s ease-out hit}#hitmarker.kill:before,#hitmarker.kill:after{background:var(--bad)}@keyframes hit{0%{opacity:1;transform:rotate(45deg)scale(1.35)}to{opacity:0;transform:rotate(45deg)scale(1)}}#hurt{opacity:0;transition:opacity .5s;position:absolute;inset:0;box-shadow:inset 0 0 120px 30px #ff2828bf}#hurt.show{opacity:1;transition:none}#hurt-dir{opacity:0;width:0;height:0;transition:opacity .8s;position:absolute;top:50%;left:50%}#hurt-dir.show{opacity:1;transition:none}#hurt-dir i{border-top:5px solid var(--bad);border-radius:50%;width:80px;height:14px;position:absolute;top:-150px;left:-40px}#top{top:calc(8px + env(safe-area-inset-top));text-align:center;text-shadow:0 1px 3px #000;position:absolute;left:50%;transform:translate(-50%)}#timer{letter-spacing:1px;font-size:20px;font-weight:700}#rank{color:var(--dim);font-size:12px}#feed{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));text-align:right;text-shadow:0 1px 2px #000;font-size:13px;position:absolute}#feed div{margin-bottom:3px;animation:5s forwards feed}#feed .me{color:var(--accent);font-weight:600}@keyframes feed{0%,80%{opacity:1}to{opacity:0}}#vitals{left:50%;bottom:calc(14px + env(safe-area-inset-bottom));text-shadow:0 1px 3px #000;align-items:flex-end;gap:22px;display:flex;position:absolute;transform:translate(-50%)}#health b{font-size:34px;font-weight:800}#health span{color:var(--dim);margin-left:4px;font-size:12px}#health.low b{color:var(--bad)}#weapon{min-width:96px;padding-bottom:6px;font-size:14px;font-weight:600}#cooldown{background:#ffffff26;border-radius:2px;height:4px;margin-top:4px;overflow:hidden}#cooldown i{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block}#netstats{left:calc(8px + env(safe-area-inset-left));top:calc(8px + env(safe-area-inset-top));color:var(--dim);text-shadow:0 1px 2px #000;white-space:pre;font:11px ui-monospace,Menlo,monospace;position:absolute}#banner{text-align:center;letter-spacing:1px;text-shadow:0 2px 8px #000;font-size:26px;font-weight:800;position:absolute;top:28%;left:0;right:0}#banner small{color:var(--dim);letter-spacing:0;margin-top:6px;font-size:14px;font-weight:500;display:block}#hint{text-align:center;color:var(--dim);text-shadow:0 1px 3px #000;font-size:14px;position:absolute;bottom:22%;left:0;right:0}#scores{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:min(420px,90vw);padding:12px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#scores table{border-collapse:collapse;width:100%;font-size:14px}#scores th{text-align:left;color:var(--dim);text-transform:uppercase;padding:2px 6px;font-size:11px;font-weight:500}#scores td{border-top:1px solid var(--line);padding:4px 6px}#scores td.n,#scores th.n{text-align:right}#scores tr.me td{color:var(--accent);font-weight:600}#scores .bot{color:var(--dim);margin-left:6px;font-size:11px}#touch{position:fixed;inset:0}#touchzone{position:absolute;inset:0}#stick{pointer-events:none;background:#ffffff0d;border:2px solid #ffffff40;border-radius:50%;width:112px;height:112px;margin:-56px;display:none;position:absolute}#knob{background:#ffffff59;border-radius:50%;width:50px;height:50px;position:absolute;top:31px;left:31px}.tbtn{color:#fff;touch-action:none;background:#ffffff14;border:2px solid #ffffff4d;border-radius:50%;font-size:12px;font-weight:700;position:absolute}.tbtn:active{background:#ffffff40}#btn-jump{right:calc(22px + env(safe-area-inset-right));bottom:calc(26px + env(safe-area-inset-bottom));width:78px;height:78px}#btn-fire{right:calc(112px + env(safe-area-inset-right));bottom:calc(70px + env(safe-area-inset-bottom));border-color:var(--accent);width:84px;height:84px}#btn-weapon{right:calc(26px + env(safe-area-inset-right));bottom:calc(122px + env(safe-area-inset-bottom));width:70px;height:70px;font-size:11px}#btn-scores{right:calc(14px + env(safe-area-inset-right));top:calc(64px + env(safe-area-inset-top));width:40px;height:40px;font-size:16px}#menu{touch-action:pan-y;background:linear-gradient(90deg, #070b14f7 0%, #070b14cc 34%, #070b1414 72%), url(/art/hero.avif) right center / cover no-repeat, var(--bg);justify-content:flex-start;align-items:center;padding:16px clamp(16px,6vw,96px);display:flex;position:fixed;inset:0;overflow-y:auto}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;width:min(440px,100%);margin:auto 0;padding:22px;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff0d}#pause .panel{margin:auto}@media (max-width:760px){#menu{background:linear-gradient(180deg, #070b141a 0, #070b148c 24vh, var(--bg) 42vh), url(/art/hero-m.avif) top center / 100% auto no-repeat, var(--bg);align-items:flex-start;padding:0 12px 16px}#menu .panel{margin:20vh auto 0}}h1{letter-spacing:2px;white-space:nowrap;text-shadow:0 0 22px #25e6ff59;margin:0;font-size:clamp(34px,9vw,46px);font-style:italic;font-weight:900;line-height:1}h1 b{color:var(--accent)}h1 .o{vertical-align:-.04em;border:.13em solid var(--text);border-radius:50%;width:.74em;height:.74em;margin:0 .04em 0 .02em;display:inline-block;position:relative;transform:skew(-10deg)}h1 .o:before,h1 .o:after{content:"";background:var(--accent2);border-radius:2px;position:absolute;top:50%;left:50%}h1 .o:before{clip-path:polygon(0 0,100% 0,100% 30%,0 30%,0 70%,100% 70%,100% 100%,0 100%);width:.1em;height:1.1em;margin:-.55em 0 0 -.05em}h1 .o:after{clip-path:polygon(0 0,30% 0,30% 100%,0 100%,0 0,70% 0,100% 0,100% 100%,70% 100%,70% 0);width:1.1em;height:.1em;margin:-.05em 0 0 -.55em}#tagline{color:var(--dim);letter-spacing:.3px;margin:8px 0 16px;font-size:14px}#menu-msg{color:var(--bad);margin:0 0 12px}input,select,button{font:inherit;color:var(--text)}#name,#code{border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#ffffff0f;border-radius:8px;width:100%;padding:12px}button{border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:8px;padding:10px 12px}button:hover{background:#ffffff24}button.primary{letter-spacing:2px;color:#04121a;border-color:var(--accent);background:linear-gradient(180deg, #6ff2ff, var(--accent));width:100%;margin-top:10px;padding:14px;font-size:18px;font-weight:800;box-shadow:0 0 24px #25e6ff59}button.primary:hover{filter:brightness(1.1);background:linear-gradient(180deg, #6ff2ff, var(--accent))}.row{gap:8px;margin-top:10px;display:flex}.row button{flex:1;font-size:13px}.sub{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:14px;font-size:14px;display:grid}.sub label{color:var(--dim);justify-content:space-between;align-items:center;gap:10px;display:flex}.sub label.check{color:var(--text);justify-content:flex-start}.sub select,.sub input[type=range]{width:55%}.sub select{border:1px solid var(--line);background:#0f1626;border-radius:6px;padding:7px}#code{text-transform:uppercase;width:55%}#rooms{gap:6px;max-height:180px;display:grid;overflow-y:auto}#rooms .room{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}#rooms .room small{color:var(--dim)}.keys{color:var(--dim);margin:16px 0 0;font-size:12px;line-height:1.6}#hint.big{color:var(--text);font-size:20px;font-weight:700;top:58%;bottom:auto}#toast{text-align:center;text-shadow:0 1px 3px #000;font-size:15px;font-weight:600;position:absolute;top:64%;left:0;right:0}#frag{text-align:center;opacity:0;text-shadow:0 2px 10px #000;position:absolute;top:60%;left:0;right:0}#frag b{letter-spacing:1px;font-size:30px;font-weight:900;display:block}#frag b em{color:var(--accent);font-style:normal}#frag span{letter-spacing:3px;color:var(--accent2);margin-top:2px;font-size:16px;font-weight:800;display:block}#frag.show{animation:1.6s cubic-bezier(.2,.9,.3,1) forwards frag}@keyframes frag{0%{opacity:0;transform:scale(1.7)}12%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)translateY(-8px)}}#killflash{opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 90px 10px #ffbe5a8c}#killflash.show{animation:.45s ease-out killflash}@keyframes killflash{0%{opacity:1}to{opacity:0}}#btn-tune{left:calc(8px + env(safe-area-inset-left));top:calc(70px + env(safe-area-inset-top));border-color:var(--accent);color:var(--accent);background:#00000059;padding:6px 10px;font-size:12px;position:fixed}#tuning{touch-action:pan-y;background:var(--panel);border-right:1px solid var(--line);width:min(360px,92vw);padding:14px 14px calc(14px + env(safe-area-inset-bottom));position:fixed;top:0;bottom:0;left:0;overflow-y:auto}#tuning h3{color:var(--accent);margin:0 0 2px}#tuning p{color:var(--dim);margin:0 0 10px;font-size:12px}#tuning-rows{gap:9px;display:grid}#tuning-rows label{color:var(--dim);grid-template-columns:1fr auto;gap:2px 8px;font-size:12px;display:grid}#tuning-rows label b{color:var(--text);font-variant-numeric:tabular-nums}#tuning-rows label.changed b{color:var(--accent)}#tuning-rows input{grid-column:1/-1;width:100%}#pause{touch-action:pan-y;background:#080a0fb8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}#pause h2{letter-spacing:2px;margin:0 0 4px;font-size:26px}#pause .primary{margin-top:0}#pause-settings .sub{border-top:none;padding-top:0}button.danger{width:100%;color:var(--bad);border-color:#ff5d5d73;margin-top:14px}#btn-menu{right:calc(14px + env(safe-area-inset-right));top:calc(64px + env(safe-area-inset-top));width:40px;height:40px;font-size:16px}#btn-scores{right:calc(62px + env(safe-area-inset-right))}details summary{cursor:pointer;color:var(--dim);font-size:13px}.checks{grid-template-columns:1fr 1fr;gap:8px;display:grid}.team0{color:#6db3ff}.team1{color:#ff9a52}#scores tr.teamhead td{letter-spacing:1px;border-top:none;padding-top:10px;font-weight:800}#browse{margin-top:14px}.browse-head{text-transform:uppercase;letter-spacing:1px;color:var(--dim);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.browse-head button{padding:2px 8px;font-size:14px}#rooms{max-height:190px;font-size:14px}#rooms .room b{font-weight:600}#rooms .room small{margin-top:1px;font-size:12px;display:block}#rooms .room .count{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0 10px 0 auto}#rooms .room .count.live{color:var(--good)}#browse .row{margin-top:8px}#browse #code{flex:2;width:auto;padding:10px}#browse #join-code{flex:1}.masthead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}#account-chip{text-align:right;white-space:nowrap;padding:8px 12px;line-height:1.25}#account-chip small{color:var(--dim);font-size:11px;display:block}#guest-note{color:var(--dim);margin-top:6px;font-size:12px;display:block}.plays{margin-top:10px}.plays .primary{margin-top:0}button.primary.alt{color:var(--text);border-color:var(--accent2);letter-spacing:1px;background:#ff2fa81a;font-size:15px;box-shadow:0 0 18px #ff2fa838}button.primary.alt:hover{filter:none;background:#ff2fa838}#signin-topaz{border-color:var(--accent);box-shadow:none;background:#25e6ff1a}#play-ranked.needs-signin{border-color:var(--line);color:var(--dim);box-shadow:none;background:#ffffff0d}.sub small{color:var(--dim);font-size:12px}.sub .lead{color:var(--text);margin:0}#signin-wallets{gap:6px;display:grid}#signin-wallets button{text-align:left;align-items:center;gap:10px;display:flex}#signin-wallets img{border-radius:5px;width:22px;height:22px}#signin-msg{min-height:1.2em;color:var(--accent);margin:0}#signin-msg.bad{color:var(--bad)}.profile-top{align-items:center;gap:14px;display:flex}.profile-top>div{flex:1;gap:6px;min-width:0;display:grid}#skin-preview{border:1px solid var(--line);background:#ffffff0a;border-radius:10px;flex:none}label.stack{gap:4px;display:grid!important}label.stack .row{margin:0}#profile-name{border:1px solid var(--line);-webkit-user-select:text;user-select:text;background:#ffffff0f;border-radius:8px;flex:1;min-width:0;padding:9px}.bar{background:#ffffff1f;border-radius:3px;height:5px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}#profile-rank{color:var(--dim);margin:0;font-size:13px}#profile-rank b{color:var(--text)}#profile-stats{text-align:center;grid-template-columns:repeat(6,1fr);gap:6px;display:grid}#profile-stats div{background:#ffffff0d;border-radius:8px;padding:7px 2px}#profile-stats b{font-size:15px;display:block}#profile-stats span{color:var(--dim);text-transform:uppercase;font-size:10px}.sub h3{text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin:4px 0 0;font-size:12px}.swatches{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.swatch{aspect-ratio:1;border:2px solid #0000;border-radius:7px;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--bg);border-color:#fff}.swatch.locked{opacity:.22;cursor:default}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:999px;padding:6px 10px;font-size:12px}.chip.on{border-color:var(--accent);color:var(--accent)}.chip.locked{opacity:.45;cursor:default}#achievements{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ach{border:1px solid var(--line);opacity:.7;border-radius:8px;gap:4px;padding:8px;display:grid}.ach.got{opacity:1;border-color:#25e6ff66}.ach>div:first-child{justify-content:space-between;gap:6px;font-size:13px;display:flex}.ach .stars{color:var(--accent);letter-spacing:1px}#board-rows table{border-collapse:collapse;width:100%;font-size:13px}#board-rows th{text-align:left;color:var(--dim);padding:2px 4px;font-size:11px;font-weight:500}#board-rows td{border-top:1px solid var(--line);padding:5px 4px}#board-rows .n{text-align:right}#board-rows tr.me td{color:var(--accent)}@media (max-width:420px){#profile-stats{grid-template-columns:repeat(3,1fr)}#achievements{grid-template-columns:1fr}}#perf{left:calc(8px + env(safe-area-inset-left));top:calc(8px + env(safe-area-inset-top));position:absolute}#perf pre{color:var(--dim);text-shadow:0 1px 2px #000;margin:0;font:11px ui-monospace,Menlo,monospace}#perf canvas{background:#00000059;border-radius:4px;margin-top:4px;display:block}#news{pointer-events:none;z-index:5;justify-items:center;gap:6px;display:grid;position:fixed;top:16%;left:0;right:0}#news div{border:1px solid var(--accent);color:var(--accent);background:#12161fe6;border-radius:999px;padding:8px 16px;font-weight:700;animation:4s forwards news}@keyframes news{0%{opacity:0;transform:translateY(8px)}8%,85%{opacity:1;transform:none}to{opacity:0}}#scores .lv{color:var(--dim);margin-left:6px;font-size:11px}#scores .ok{color:var(--good);margin-left:4px}.sub{grid-template-columns:minmax(0,1fr)}#dmg{width:0;height:0;position:absolute;top:50%;left:50%}#dmg span{color:#fff;text-shadow:0 1px 4px #000;white-space:nowrap;font-size:20px;font-weight:800;animation:.7s ease-out forwards dmg;position:absolute;top:-34px;left:26px}#dmg span.head{color:var(--accent2);font-size:24px}#dmg span.kill{color:var(--accent)}@keyframes dmg{0%{opacity:1;transform:translateY(0)scale(1.25)}to{opacity:0;transform:translateY(-34px)scale(1)}}#lowhp{opacity:0;transition:opacity .3s;position:absolute;inset:0;box-shadow:inset 0 0 140px 20px #ff1e468c}#lowhp.on{opacity:1;animation:.9s ease-in-out infinite lowhp}@keyframes lowhp{50%{opacity:.45}}#ammo{float:right;font-variant-numeric:tabular-nums;color:var(--dim)}#ammo.low{color:var(--bad)}#ammo.reloading{color:var(--accent);letter-spacing:1px;font-size:11px}#weapon{min-width:132px}#health.over b{color:var(--accent)}#speed{text-align:center;color:var(--dim);text-shadow:0 1px 2px #000;font:600 12px ui-monospace,Menlo,monospace;position:absolute;top:calc(50% + 44px);left:0;right:0}#announce{text-align:center;letter-spacing:2px;color:var(--accent);text-shadow:0 0 18px #25e6ff80,0 2px 6px #000;opacity:0;font-size:22px;font-style:italic;font-weight:900;position:absolute;top:19%;left:0;right:0}#announce.show{animation:2.2s ease-out forwards announce}@keyframes announce{0%{opacity:0;transform:scale(1.5)}10%,75%{opacity:1;transform:scale(1)}to{opacity:0}}#summary{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:12px;min-width:min(440px,92vw);padding:12px 16px;position:absolute;top:56%;left:50%;transform:translate(-50%)}#summary h3{text-transform:uppercase;letter-spacing:2px;color:var(--dim);margin:0 0 8px;font-size:12px}#summary .stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}#summary .stats b{font-size:22px;display:block}#summary .stats span{text-transform:uppercase;color:var(--dim);font-size:10px}#summary .awards{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}#summary .awards span{border:1px solid var(--accent2);color:var(--accent2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}#howto{z-index:6;background:#04060ccc;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#howto .panel{margin:auto}#howto h2{letter-spacing:2px;margin:0 0 12px}#howto-body{gap:9px;margin-bottom:14px;font-size:14px;display:grid}#howto-body div{align-items:baseline;gap:12px;display:flex}#howto-body kbd{border:1px solid var(--line);min-width:92px;color:var(--accent);text-align:center;background:#ffffff12;border-radius:6px;flex:none;padding:3px 8px;font:600 12px ui-monospace,Menlo,monospace}#btn-reload{right:calc(112px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:66px;height:66px;font-size:10px}#btn-melee{right:calc(104px + env(safe-area-inset-right));bottom:calc(146px + env(safe-area-inset-bottom));width:60px;height:60px;font-size:10px}#btn-fire{right:calc(112px + env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));width:78px;height:78px}#touch:has(#btn-fire:not([hidden])) #btn-melee{right:calc(196px + env(safe-area-inset-right));bottom:calc(60px + env(safe-area-inset-bottom))}#crosshair.dot:before,#crosshair.dot:after{display:none}#crosshair.dot i{width:6px;height:6px;top:8px;left:8px}#crosshair.circle:before,#crosshair.circle:after{display:none}#crosshair.circle{border:2px solid #ffffffd9;border-radius:50%;width:20px;height:20px;margin:-10px;box-shadow:0 0 2px #000}#crosshair.circle i{top:6px;left:6px}#crosshair.circle.on-target{border-color:var(--bad)}.tier.t0{color:#9aa7bd}.tier.t1{color:#5dffb0}.tier.t2{color:#25e6ff}.tier.t3{color:#b388ff}.tier.t4{color:#ff2fa8}#history{gap:4px;max-height:190px;display:grid;overflow-y:auto}#history div{background:#ffffff0a;border-radius:7px;grid-template-columns:54px 1fr auto auto;align-items:baseline;gap:8px;padding:6px 8px;font-size:12px;display:grid}#history div.won b{color:var(--good)}#history span{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#history .up{color:var(--good);font-weight:700}#history .down{color:var(--bad);font-weight:700}.sub:not([hidden]){z-index:20;border:1px solid var(--line);touch-action:pan-y;background:#0a0f1c;border-radius:16px;width:min(520px,100vw - 24px);max-height:calc(100dvh - 24px);margin:0;padding:0 20px 20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #03050ac7,0 30px 80px #000000b3}.sub.wide:not([hidden]){width:min(980px,100vw - 24px)}.sub>.bar{z-index:1;border-bottom:1px solid var(--line);background:#0a0f1c;justify-content:space-between;align-items:center;margin:0 -20px 4px;padding:14px 20px 10px;display:flex;position:sticky;top:0}.sub>.bar h2{letter-spacing:2px;text-transform:uppercase;margin:0;font-size:18px}.sub>.bar button{border-radius:50%;width:34px;height:34px;padding:0;font-size:16px}#pause-settings{width:100%;margin-top:10px}#open-locker.needs-signin{color:var(--dim)}.locker{grid-template-columns:300px 1fr;gap:18px;display:grid}.locker-side{align-self:start;justify-items:center;gap:6px;display:grid;position:sticky;top:64px}#locker-preview{border:1px solid var(--line);cursor:grab;touch-action:none;background:radial-gradient(at 50% 80%,#25e6ff24,#0000 65%);border-radius:12px;width:100%;height:400px}#locker-compute{color:var(--accent);font-size:16px}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{flex:1;font-weight:700}.tabs button.on{border-color:var(--accent);color:var(--accent);background:#25e6ff1a}#locker-msg{min-height:1.3em;color:var(--good);margin:8px 0 0;font-size:13px}#locker-msg.bad{color:var(--accent)}#locker-options{gap:14px;display:grid}#locker-options h4{text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin:0 0 6px;font-size:12px}#locker-options h4 small{margin-left:6px;font-weight:400}.opts{flex-wrap:wrap;gap:6px;display:flex}.opt{text-align:left;border-left-width:3px;border-radius:9px;padding:8px 12px;font-size:13px}.opt small{color:var(--dim);font-size:10px;display:block}.opt.on{outline:2px solid var(--accent);outline-offset:1px}.opt.locked{opacity:.55}.opt.swatch{border:2px solid #0000;width:38px;height:38px;padding:0}.opt.swatch.on{box-shadow:0 0 0 2px var(--accent);border-color:#fff;outline:none}.opt.swatch.locked{opacity:.25}.r1{border-left-color:#5dffb0}.r2{border-left-color:#25e6ff}.r3{border-left-color:#b388ff}.r4{border-left-color:#ff2fa8}.dim{color:var(--dim);margin:0;font-size:13px}.shop{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.shop .card{border:1px solid var(--line);border-left-width:3px;border-radius:10px;gap:6px;padding:12px;display:grid}.shop .card i{border-radius:6px;width:100%;height:26px}.shop .card small{color:var(--dim);font-size:11px}.shop .buy{border-color:var(--accent);color:var(--accent);font-weight:700}.shop .buy:disabled{border-color:var(--line);color:var(--dim)}@media (max-width:760px){.locker{grid-template-columns:1fr}.locker-side{position:static}#locker-preview{height:230px}}#scores .ttl{color:var(--dim);font-size:10px;font-weight:400;display:block}#menu.live{background:linear-gradient(90deg,#070b14f2 0%,#070b14b8 34%,#070b141f 72%)}@media (max-width:760px){#menu.live{background:linear-gradient(#070b1433 0,#070b14b3 24vh,#070b14f0 44vh)}}#live-chip{z-index:3;right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));border:1px solid var(--line);letter-spacing:1.5px;background:#0a0e18c7;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:800;display:flex;position:fixed}#live-chip i{background:var(--bad);border-radius:50%;width:8px;height:8px;animation:1.6s infinite live}#live-chip span{letter-spacing:0;color:var(--dim);font-weight:500}@keyframes live{50%{opacity:.25}}@media (max-width:760px){#live-chip{top:calc(10px + env(safe-area-inset-top));bottom:auto}}#hud.watch #crosshair,#hud.watch #vitals,#hud.watch #hint,#hud.watch #speed,#hud.watch #lowhp,#hud.watch #perf,#hud.watch #frag,#hud.watch #summary{display:none}#watchbar{z-index:4;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0e18d1;border-radius:14px;width:min(560px,100% - 20px);padding:10px 12px;position:fixed;transform:translate(-50%)}#watch-who{text-align:center;color:var(--dim);letter-spacing:1px;font-size:13px}#watch-who b{color:var(--text,#fff);letter-spacing:0;margin:0 6px;font-size:16px}#watchbar .row{align-items:center;margin-top:8px}#watchbar .row button{padding:8px 6px}#watch-prev,#watch-next,#replay-play{flex:0 0 44px!important}#replay-controls input[type=range]{flex:1;min-width:60px}#replay-controls select{flex:none;width:auto;padding:6px}#replay-time{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}#replay-share{flex:none!important}.room .watch{border:1px solid var(--line);color:var(--dim);background:0 0}#history button{padding:3px 9px;font-size:11px}#pause-watchlink{width:100%;margin-top:10px}#watchbar .row button,#watchbar .row select{margin-top:0}#replay-controls select{color:inherit;border:1px solid var(--line);background:#ffffff0f;border-radius:8px}#replay-controls select option{color:#000}#duel-stakes{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.stake{text-align:center;gap:2px;padding:12px 4px;display:grid}.stake b{font-size:15px}.stake small{font-size:11px}.stake.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.stake:disabled{opacity:.45}#duel-recent div,.places span{justify-content:space-between;gap:10px;padding:5px 0;font-size:13px;display:flex}.sub p.bad:empty{display:none}.sub p.bad{color:var(--bad);margin:0}.up{color:var(--good,#5fe39a)}.down{color:var(--bad)}#tourney-me{border:1px solid var(--accent);border-radius:10px;margin:0;padding:10px 12px}#open-tourney.alert{border-color:var(--accent);color:var(--accent);animation:1.2s infinite live}.entered{flex-wrap:wrap;gap:6px;display:flex}.entered span{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:13px}.bracket{gap:14px;padding-bottom:4px;display:flex;overflow-x:auto}.round{flex-direction:column;flex:1 0 180px;gap:8px;display:flex}.round .ms{flex-direction:column;flex:1;justify-content:space-around;gap:10px;display:flex}.round h3{margin:0 0 2px}.tm{border:1px solid var(--line);background:#ffffff05;border-radius:10px;gap:3px;padding:6px 8px;display:grid}.tm.live{border-color:var(--bad)}.tm.ready{border-color:var(--accent)}.tm>div{grid-template-columns:16px minmax(0,1fr) auto;align-items:baseline;gap:6px;font-size:13px;display:grid}.tm>div i{color:var(--dim);font-size:10px;font-style:normal}.tm>div span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tm>div.win span,.tm>div.win b{color:var(--accent);font-weight:700}.tm>div.out{opacity:.5}.tm button{justify-self:start;padding:3px 8px;font-size:11px}.tm small{font-size:11px}.places{gap:2px;margin-bottom:10px;display:grid}.places span{justify-content:flex-start}.places i{width:32px;color:var(--dim);font-size:12px;font-style:normal}.places b{margin-left:auto}.places .p1{color:var(--accent);font-weight:700}@media (max-width:520px){#duel-stakes{grid-template-columns:repeat(2,minmax(0,1fr))}}img.badge{vertical-align:middle;filter:drop-shadow(0 2px 4px #00000080);margin-right:6px}#account-chip{text-align:right;align-items:center;gap:4px;display:flex}#account-chip span{display:grid}#profile-rank{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.row:has(#open-locker){flex-wrap:wrap}.row:has(#open-locker) button{flex:28%}#menu{flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;display:flex;overflow-x:hidden}.topbar{padding:calc(14px + env(safe-area-inset-top)) clamp(16px, 5vw, 64px) 14px;background:linear-gradient(#05080fe0,#05080f00);align-items:center;gap:clamp(12px,3vw,40px);display:flex}.topbar h1{font-size:clamp(24px,3.2vw,34px)}.mainnav{gap:4px;margin-right:auto;display:flex}.mainnav button{color:var(--dim);letter-spacing:1.5px;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;transition:color .15s,background .15s,border-color .15s;display:flex}.mainnav button:hover{color:var(--text);border-color:var(--line);background:#25e6ff14}#account-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0e18b3;border-radius:999px;margin-left:auto;padding:7px 16px 7px 12px}.home{width:min(600px,100%);padding:8px clamp(16px, 5vw, 64px) calc(48px + env(safe-area-inset-bottom));flex-direction:column;flex:1;justify-content:center;display:flex}#tagline{color:var(--text);letter-spacing:.5px;text-shadow:0 2px 24px #000c;text-wrap:balance;margin:0 0 22px;font-size:clamp(26px,4.4vw,44px);font-style:italic;font-weight:900;line-height:1.05}#menu-msg{border:1px solid var(--bad);background:#280810b3;border-radius:10px;margin:0 0 14px;padding:10px 14px}#play.primary{letter-spacing:6px;border-radius:14px;width:min(420px,100%);margin:0;padding:22px 20px;font-size:clamp(24px,3vw,30px);transition:transform .12s;animation:2.6s ease-in-out infinite beckon;box-shadow:inset 0 0 0 1px #ffffff40,0 10px 40px #25e6ff73}#play.primary:hover{transform:translateY(-2px)scale(1.01)}#play.primary:active{transform:translateY(1px)}@keyframes beckon{50%{box-shadow:inset 0 0 0 1px #ffffff40,0 10px 60px #25e6ffbf}}#play-sub{color:var(--text);text-shadow:0 1px 8px #000;align-items:center;gap:8px;margin:12px 2px 0;font-size:14px;display:flex}#play-sub i{background:var(--good,#5fe39a);width:8px;height:8px;box-shadow:0 0 10px var(--good,#5fe39a);border-radius:50%}.guest{color:var(--dim);text-shadow:0 1px 8px #000;flex-wrap:wrap;align-items:baseline;gap:8px;margin:10px 2px 0;font-size:13px;display:flex}.guest #name{border:none;border-bottom:1px solid var(--line);width:150px;color:var(--text);background:0 0;border-radius:0;padding:4px 2px;font-weight:700}.guest #name:focus{border-bottom-color:var(--accent);outline:none}.guest #guest-note{margin:0;display:inline}.modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px;display:grid}.mode{text-align:left;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090d18b8;border-radius:14px;justify-items:start;gap:4px;padding:14px 14px 13px;transition:transform .12s,border-color .12s,background .12s;display:grid}.mode:hover{border-color:var(--accent);background:#0c1424db;transform:translateY(-3px)}.mode svg{width:26px;height:26px;color:var(--accent);margin-bottom:4px}#play-ranked.mode svg{color:var(--accent2)}.mode b{letter-spacing:.5px;font-size:15px}.mode small{color:var(--dim);font-size:12px;line-height:1.3}.mode.alert{border-color:var(--accent);animation:1.2s infinite live}#games #rooms{max-height:min(46vh,380px)}#games .row{margin-top:0}#games #code{flex:2;width:auto;padding:10px}#games #refresh{flex:0 0 44px}.sub .keys{margin:0}.sub:not([hidden]){animation:.14s ease-out pop}@keyframes pop{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}}.sub>.bar h2:before{content:"";background:var(--accent2);border-radius:2px;width:8px;height:8px;margin-right:10px;display:inline-block;transform:rotate(45deg)translateY(-2px)}@media (max-width:760px){#menu,#menu.live{background:linear-gradient(#070b1480 0,#070b1459 30vh,#070b14e6 70vh)}#menu:not(.live){background:linear-gradient(180deg, #070b1433 0, #070b1499 30vh, var(--bg) 60vh), url(/art/hero-m.avif) top center / 100% auto no-repeat, var(--bg)}.topbar{padding-bottom:8px}.mainnav{z-index:2;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#060911f0;justify-content:space-around;margin:0;position:fixed;bottom:0;left:0;right:0}.mainnav button{letter-spacing:1px;border-radius:10px;flex-direction:column;flex:1;gap:3px;padding:6px 2px;font-size:10px}.home{width:100%;padding-bottom:calc(86px + env(safe-area-inset-bottom));justify-content:flex-end}#play.primary{width:100%}.modes{grid-template-columns:1fr;gap:8px;margin-top:20px}.mode{grid-template-columns:30px 1fr;align-items:center;column-gap:12px;padding:11px 14px}.mode svg{grid-row:span 2;margin:0}#live-chip{top:auto;bottom:calc(74px + env(safe-area-inset-bottom));right:10px}}@media (max-height:520px) and (orientation:landscape){.home{justify-content:flex-start;width:min(720px,100%);padding-bottom:70px}#tagline{margin-bottom:10px;font-size:22px}#play.primary{padding:14px;font-size:22px}.modes{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.mode{grid-template-columns:1fr;padding:9px 12px}.mode svg{display:none}}.sub>.bar{border-radius:16px 16px 0 0;height:auto;min-height:56px;padding:12px 20px;overflow:visible}.sub>.bar button{flex:0 0 34px}#play-ranked.mode.needs-signin{color:var(--text);background:#090d18b8}.mainnav button.needs-signin{opacity:1}#account-chip{flex-shrink:0}@media (max-width:1000px) and (min-width:761px){.topbar{gap:10px}.mainnav button{letter-spacing:.5px;padding:8px 9px;font-size:12px}}@media (max-width:760px){#menu,#menu.live{background:linear-gradient(#070b1473 0,#070b1426 22vh,#070b148c 46vh,#070b14eb 72vh)}#live-chip{top:calc(70px + env(safe-area-inset-top));bottom:auto;right:12px}}#c-presets{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}#c-presets button{text-align:left;gap:2px;padding:10px;display:grid}#c-presets button small{font-size:11px}#c-presets button.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.sub label[hidden]{display:none}
