:root{--edge: 14px;--chat-w: 22.5vw;--chat-h: 54vh;--controls-w: 9vw;--score-w: 20vw;--score-h: 32px;--radius: 11px;--pad: 9px;--home: #5fe08a;--home-dark: #2faa5c;--away: #f23fb0;--away-dark: #bf1f86;--local: #2fc6ec;--panel: rgba(22, 30, 24, .78);--panel-border: rgba(255, 255, 255, .08);--accent: #ffe14a;--ink: #1d2330;--team-chat: #45d6e8;--font: "Nunito", "Segoe UI Rounded", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#cfe7f7;font-family:var(--font);color:#fff;user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0}#app canvas{display:block;width:100%;height:100%;outline:none}#ui{position:fixed;inset:0;pointer-events:none;overflow:hidden;--ui-scale: 1}#ui>.hud-game>*:not(.plates):not(.ball-arrow):not(.touch-controls),#ui>.screen>.menu-card{zoom:var(--ui-scale)}.ball-arrow{position:absolute;left:0;top:0;width:0;height:0;margin:-14px 0 0 -14px;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:26px solid var(--accent);filter:drop-shadow(0 2px 2px rgba(0,0,0,.45));transform-origin:0 50%;pointer-events:none;z-index:3}body.hc .chat,body.hc .controls,body.hc .scoreboard,body.hc .menu-card{background:#080a0ef0!important;border-color:#ffffff80!important}body.hc .seg button{outline:1px solid rgba(255,255,255,.45)}body.hc .seg button.on{outline:2px solid #fff}body.hc .key{outline:1px solid #fff}body.reduce-motion .screen,body.reduce-motion .banner,body.reduce-motion .wipe,body.reduce-motion .brand-logo,body.reduce-motion .brand-logo:before,body.reduce-motion .brand-logo:after{animation:none!important;transition:none!important}.hidden{display:none!important}.faded{opacity:0!important;pointer-events:none!important}.fps{position:absolute;left:8px;top:6px;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.85}.scoreboard{position:absolute;top:calc(var(--edge) + .6vh);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;transition:opacity .3s}.sb-main{display:flex;align-items:stretch;width:var(--score-w);height:var(--score-h);background:#fff;border-radius:999px;box-shadow:0 3px 10px #0000002e,0 0 0 3px #ffffff59;overflow:hidden;transform-origin:50% 0}.scoreboard.themed .sb-main,.scoreboard.themed .sb-sets,.scoreboard.themed .sb-touches{background:var(--sb-bg);color:var(--sb-fg);box-shadow:0 3px 10px #00000040,0 0 0 3px var(--sb-accent)}.scoreboard.themed .sb-score{color:var(--sb-fg)}.scoreboard.themed .sb-score i{color:var(--sb-accent)}.sb-main.pop{animation:sbPop .5s cubic-bezier(.2,1.6,.4,1)}@keyframes sbPop{0%{transform:scale(1)}35%{transform:scale(1.14)}to{transform:scale(1)}}.sb-team{flex:0 0 26%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(11px,1vw,15px);color:#fff;letter-spacing:.02em;text-shadow:0 1px 0 rgba(0,0,0,.15)}.sb-team.home{background:var(--home);border-radius:999px 0 0 999px}.sb-team.away{background:var(--away);border-radius:0 999px 999px 0}.sb-team.serving:after{content:"";width:6px;height:6px;margin-left:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #00000014}.sb-score{flex:1;display:flex;align-items:center;justify-content:center;gap:.6em;font-weight:900;font-size:clamp(16px,1.7vw,26px);color:var(--ink)}.sb-score b{display:inline-block;min-width:1.1em;text-align:center}.sb-score b.bump{animation:numBump .55s cubic-bezier(.2,1.8,.4,1)}@keyframes numBump{0%{transform:scale(1)}40%{transform:scale(1.6);color:var(--home-dark)}to{transform:scale(1)}}.sb-score i{font-style:normal;opacity:.8}.sb-sets{display:flex;align-items:center;gap:5px;padding:2px 12px;background:#fff;border-radius:999px;color:var(--ink);font-size:clamp(9px,.75vw,12px);font-weight:800;box-shadow:0 2px 6px #00000024}.dot{width:7px;height:7px;border-radius:50%;border:1.5px solid #9aa3b2;display:inline-block}.dot.home{background:var(--home);border-color:var(--home-dark)}.dot.away{background:var(--away);border-color:var(--away-dark)}.sb-touches{display:flex;gap:4px;padding:3px 8px;background:#fff;border-radius:999px;box-shadow:0 2px 6px #00000024}.sb-touches .dot{width:6px;height:6px}.plus-one{position:absolute;top:100%;font-weight:900;font-size:20px;text-shadow:0 2px 0 rgba(0,0,0,.2);animation:plusOne 1.1s ease-out forwards;pointer-events:none}@keyframes plusOne{0%{transform:translateY(-4px) scale(.6);opacity:0}20%{transform:translateY(8px) scale(1.2);opacity:1}to{transform:translateY(34px) scale(1);opacity:0}}.chat{position:absolute;left:var(--edge);bottom:var(--edge);width:var(--chat-w);height:var(--chat-h);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:0 8px 24px #00000040;padding:var(--pad);pointer-events:auto;transition:opacity .25s,transform .25s;backdrop-filter:blur(3px)}.chat.collapsed{height:auto}.chat.collapsed .chat-log,.chat.collapsed .chat-hint{display:none}.chat-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.chip{font-family:var(--font);font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;border:0;background:#ffffff1f;color:#fff;cursor:pointer;transition:background .15s,transform .1s}.chip:hover{background:#ffffff38}.chip:active{transform:scale(.95)}.chip.active{background:var(--accent);color:var(--ink)}.chat-head .spacer{flex:1}.chat-log{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:3px;padding-right:4px;font-size:clamp(11px,.95vw,14px);line-height:1.45;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent;mask-image:linear-gradient(to bottom,transparent 0,#000 18px)}.chat-log::-webkit-scrollbar{width:5px}.chat-log::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:4px}.msg{display:flex;gap:6px;align-items:flex-start;animation:msgIn .25s ease-out;word-break:break-word}@keyframes msgIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.msg img{width:20px;height:20px;flex:0 0 20px;margin-top:0;border-radius:50%}.msg .who{font-weight:800}.msg .who.home{color:var(--home)}.msg .who.away{color:var(--away)}.msg .who.sys{color:var(--accent)}.msg .tag{color:var(--team-chat);font-weight:700}.msg.system{opacity:.8;font-style:italic}.chat-hint{font-size:10px;opacity:.55;margin:5px 0 4px;min-height:13px}.chat-input-wrap{position:relative}.chat-input{width:100%;font-family:var(--font);font-size:12px;font-weight:600;color:#fff;background:#ffffff1a;border:2px solid transparent;border-radius:999px;padding:6px 48px 6px 12px;outline:none;transition:border-color .15s,background .15s}.chat-input::placeholder{color:#ffffff80}.chat-input:focus{border-color:var(--accent);background:#ffffff24}.chat-count{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10px;opacity:.6}.controls{position:absolute;right:var(--edge);bottom:var(--edge);min-width:var(--controls-w);display:flex;flex-direction:column;gap:clamp(4px,.8vh,8px);align-items:flex-end;transition:opacity .25s}.ctl{display:flex;align-items:center;gap:8px;font-size:clamp(11px,.9vw,14px);font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.55);transition:opacity .2s,transform .15s}.ctl.off{opacity:.35}.ctl.press .key{transform:scale(.92);background:color-mix(in srgb,var(--accent) 78%,#1d2330);color:var(--ink);box-shadow:0 0 0 1px #ffe14a8c,0 2px #00000059}.key{min-width:clamp(20px,1.8vw,26px);height:clamp(20px,1.8vw,26px);padding:0 4px;border-radius:6px;background:#161e18c7;color:#fff;border:1px solid rgba(255,255,255,.14);font-size:clamp(9px,.75vw,11px);font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px #00000059;transition:transform .1s,background .1s,box-shadow .1s,color .1s}.key svg{width:62%;height:72%}.status{position:absolute;left:50%;bottom:calc(var(--edge) + 4px);transform:translate(-50%);font-size:clamp(12px,1.2vw,17px);font-weight:800;color:#284628bf;text-shadow:0 1px 0 rgba(255,255,255,.35);white-space:nowrap;transition:opacity .3s}.hint{position:absolute;left:50%;top:22%;transform:translate(-50%);padding:8px 16px;border-radius:999px;background:#161e18b8;font-size:clamp(12px,1.1vw,16px);font-weight:800;white-space:nowrap;transition:opacity .3s,transform .3s}.hint.faded{transform:translate(-50%,-8px)}.power-meter{position:absolute;left:50%;bottom:46px;transform:translate(-50%);width:min(300px,40vw);--pm: #ffd23a;pointer-events:none;font-weight:800;color:#fff;text-shadow:0 2px 0 rgba(20,24,34,.45)}.power-meter .pm-bar{height:12px;border-radius:999px;background:#14182273;border:2px solid rgba(255,255,255,.75);overflow:hidden}.power-meter .pm-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--pm) 60%,#fff),var(--pm));transition:width .25s ease-out}.power-meter .pm-row{display:flex;justify-content:center;gap:8px;align-items:center;margin-top:4px;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.power-meter kbd{background:var(--pm);color:#141822;border-radius:6px;padding:0 6px;font-size:12px;text-shadow:none}.power-meter.full .pm-bar{box-shadow:0 0 14px var(--pm);animation:pmPulse .8s ease-in-out infinite alternate}.power-meter.armed .pm-bar{box-shadow:0 0 22px var(--pm),0 0 4px #fff;border-color:#fff}.power-meter.armed .pm-name{color:var(--pm)}@keyframes pmPulse{0%{transform:scale(1)}to{transform:scale(1.04)}}.stamina-meter{position:absolute;left:calc(50% + min(150px,20vw) + 28px);bottom:46px;transform:none;width:min(140px,18vw);--sm: #5fe08a;pointer-events:none;font-weight:800;color:#fff;text-shadow:0 2px 0 rgba(20,24,34,.45)}.stamina-meter .sm-bar{height:8px;border-radius:999px;background:#14182273;border:2px solid rgba(255,255,255,.55);overflow:hidden}.stamina-meter .sm-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--sm) 55%,#fff),var(--sm));transition:width .2s ease-out}.stamina-meter .sm-row{display:flex;justify-content:center;gap:6px;align-items:center;margin-top:3px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.stamina-meter kbd{background:var(--sm);color:#141822;border-radius:5px;padding:0 5px;font-size:11px;text-shadow:none}.stamina-meter kbd.dim{opacity:.45}.stamina-meter.ready .sm-bar{box-shadow:0 0 10px color-mix(in srgb,var(--sm) 70%,transparent)}.tab-scoreboard{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:40;background:#060a1247;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);font-family:var(--font)}.tab-scoreboard .ts-panel{--ts-orange: #e8893a;--ts-orange-glow: #ff9a45;--ts-blue: #4e8df5;--ts-blue-glow: #6aa6ff;--ts-banner: #7ec8ff;width:min(920px,94vw);display:flex;flex-direction:column;gap:14px;padding:0 0 10px;border-radius:6px;background:#0c10188c;border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 64px #0000008c,inset 0 1px #ffffff0f;overflow:hidden}.tab-scoreboard .ts-banner{position:relative;align-self:stretch;margin:10px 18px 0;height:28px;display:flex;align-items:center;justify-content:flex-start;padding-left:22px;color:#0a2740;font-weight:900;font-size:13px;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(90deg,var(--ts-banner) 0%,var(--ts-banner) 42%,rgba(10,14,22,.92) 58%,rgba(10,14,22,.55) 100%);clip-path:polygon(0 0,96% 0,100% 100%,0 100%);box-shadow:0 0 18px #7ec8ff8c,0 0 4px #7ec8ffe6,8px 6px #00000073;text-shadow:0 1px 0 rgba(255,255,255,.25)}.tab-scoreboard .ts-banner-label{position:relative;z-index:1}.tab-scoreboard .ts-team{padding:0 14px}.tab-scoreboard .ts-team-head{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(280px,1.4fr);align-items:end;gap:12px;padding:4px 8px 6px}.tab-scoreboard .ts-team-title{display:flex;align-items:baseline;gap:12px;font-weight:800;letter-spacing:.04em;font-style:italic;text-transform:uppercase;text-shadow:0 0 18px currentColor,0 2px 4px rgba(0,0,0,.65)}.tab-scoreboard .ts-team-score{font-size:34px;line-height:1;font-weight:900}.tab-scoreboard .ts-team-name{font-size:22px;font-weight:800;opacity:.98}.tab-scoreboard .ts-home .ts-team-title{color:var(--ts-orange-glow);filter:drop-shadow(0 0 10px rgba(232,137,58,.65))}.tab-scoreboard .ts-away .ts-team-title{color:var(--ts-blue-glow);filter:drop-shadow(0 0 10px rgba(78,141,245,.7))}.tab-scoreboard .ts-cols{display:grid;grid-template-columns:72px repeat(4,52px);gap:0;justify-content:end;color:#dce4f0b8;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.7)}.tab-scoreboard .ts-cols span{text-align:center}.tab-scoreboard .ts-rows{display:flex;flex-direction:column;gap:3px}.tab-scoreboard .ts-row{position:relative;display:grid;grid-template-columns:22px 36px minmax(120px,1.2fr) minmax(280px,1.4fr);align-items:center;gap:10px;min-height:44px;padding:5px 10px 5px 12px;border-radius:3px;color:#fff;border:1px solid transparent;box-shadow:inset 0 1px #ffffff0d}.tab-scoreboard .ts-home .ts-row{background:linear-gradient(90deg,#28160cb8,#5a30168c 55%,#1e120c80)}.tab-scoreboard .ts-home .ts-row.lead{background:linear-gradient(90deg,#46200ae0,#c864238c 45%,#32180ab3);border-color:#ffa04659;box-shadow:inset 0 0 0 1px #ff963c33,0 0 18px #e8893a2e}.tab-scoreboard .ts-away .ts-row{background:linear-gradient(90deg,#0c1830b8,#1c3c6e8c 55%,#0a122480)}.tab-scoreboard .ts-away .ts-row.lead{background:linear-gradient(90deg,#0a2450e0,#3c78dc80 45%,#0c1c3cb8);border-color:#78b4ff59;box-shadow:inset 0 0 0 1px #78b4ff38,0 0 18px #4e8df533}.tab-scoreboard .ts-row.local{outline:none}.tab-scoreboard .ts-you{position:absolute;left:-28px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);background:linear-gradient(180deg,#6aa6ff,#3a6fd0);color:#061018;font-size:9px;font-weight:900;letter-spacing:.14em;padding:6px 3px;border-radius:2px 0 0 2px;box-shadow:0 0 10px #4e8df58c}.tab-scoreboard .ts-rank{width:18px;height:18px;color:#5b9dff;filter:drop-shadow(0 0 4px rgba(90,160,255,.7));display:grid;place-items:center}.tab-scoreboard .ts-rank svg{width:16px;height:16px}.tab-scoreboard .ts-av{width:36px;height:36px;border-radius:3px;object-fit:cover;background:#00000059;box-shadow:0 0 0 1px #ffffff1f,0 2px 6px #0006}.tab-scoreboard .ts-info{min-width:0;display:flex;flex-direction:column;gap:1px}.tab-scoreboard .ts-name{font-size:14px;font-weight:800;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.75)}.tab-scoreboard .ts-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#b4d2bebf;text-shadow:0 1px 2px rgba(0,0,0,.6)}.tab-scoreboard .ts-stats{display:grid;grid-template-columns:72px repeat(4,52px);justify-content:end;align-items:center;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.7)}.tab-scoreboard .ts-stat{text-align:center;font-size:14px;font-weight:700;color:#f5f8ffeb}.tab-scoreboard .ts-score{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:18px;font-weight:900;color:#f4f0d8;text-shadow:0 0 10px rgba(255,230,160,.35),0 1px 3px rgba(0,0,0,.7)}.tab-scoreboard .ts-mvp{width:16px;height:16px;color:#f0c14a;filter:drop-shadow(0 0 6px rgba(240,193,74,.85));display:grid;place-items:center;flex:0 0 auto}.tab-scoreboard .ts-mvp svg{width:15px;height:15px}@media (max-width: 720px){.tab-scoreboard .ts-panel{width:min(100vw - 12px,920px)}.tab-scoreboard .ts-team-head,.tab-scoreboard .ts-row{grid-template-columns:18px 28px minmax(80px,1fr) minmax(200px,1.2fr)}.tab-scoreboard .ts-cols,.tab-scoreboard .ts-stats{grid-template-columns:56px repeat(4,40px)}.tab-scoreboard .ts-you{left:-4px;font-size:8px;padding:4px 2px}.tab-scoreboard .ts-team-score{font-size:26px}.tab-scoreboard .ts-team-name{font-size:16px}}.charge-bar{position:absolute;left:50%;bottom:108px;transform:translate(-50%);pointer-events:none;width:44px;height:44px}.charge-bar .cb-ring{width:100%;height:100%;border-radius:50%;background:conic-gradient(#ffe14a calc(var(--c, 0) * 1turn),#ffffff2e 0);mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}.charge-bar .cb-ring i{display:none}.charge-bar.full .cb-ring{filter:drop-shadow(0 0 6px #ffe14a)}.banner{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);font-size:clamp(38px,5.2vw,82px);font-weight:900;letter-spacing:.03em;color:#fff;-webkit-text-stroke:3px rgba(20,24,34,.8);paint-order:stroke fill;text-shadow:0 5px 0 rgba(20,24,34,.35);white-space:nowrap;opacity:0}.banner.show{animation:bannerPop 1.3s cubic-bezier(.2,1.4,.4,1) forwards}.banner .sub{display:block;text-align:center;font-size:.32em;-webkit-text-stroke:1.5px rgba(20,24,34,.8);margin-top:4px}@keyframes bannerPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}25%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-56%) scale(.96)}}.speedlines{position:absolute;inset:-10%;background:repeating-conic-gradient(from 0deg at 50% 50%,#fff0 0deg 3deg,#ffffff80 3.4deg 3.8deg,#fff0 4.2deg 9deg);mask-image:radial-gradient(circle at 50% 50%,transparent 32%,#000 75%);-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 32%,#000 75%);opacity:0}.speedlines.show{animation:speed .35s ease-out}@keyframes speed{0%{opacity:.8;transform:scale(1.08) rotate(0)}to{opacity:0;transform:scale(1) rotate(2deg)}}.hud-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.hud-flash.show{animation:flash .22s ease-out}@keyframes flash{0%{opacity:.45}to{opacity:0}}.fade{position:absolute;inset:0;background:#eaf6ff;opacity:0;transition:opacity .3s}.fade.on{opacity:1}.letterbox:before,.letterbox:after{content:"";position:absolute;left:0;right:0;height:7vh;background:#0e1216;transition:transform .4s ease}.letterbox:before{top:0;transform:translateY(-100%)}.letterbox:after{bottom:0;transform:translateY(100%)}.letterbox.on:before,.letterbox.on:after{transform:translateY(0)}.letterbox{position:absolute;inset:0}.replay-tag{position:absolute;left:50%;bottom:calc(7vh + 34px);transform:translate(-50%);text-align:center;transition:opacity .3s}.replay-tag .t{font-size:clamp(16px,1.6vw,24px);font-weight:900;display:flex;align-items:center;gap:8px;justify-content:center;text-shadow:0 2px 4px rgba(0,0,0,.5)}.replay-tag .t:before{content:"";width:11px;height:11px;border-radius:50%;background:#ff4a4a;animation:blink 1s infinite}@keyframes blink{50%{opacity:.3}}.replay-tag .s{font-size:11px;font-weight:700;opacity:.8;text-shadow:0 1px 2px rgba(0,0,0,.6)}.replay-bar{width:180px;height:3px;margin:6px auto 0;border-radius:3px;background:#ffffff4d;overflow:hidden}.replay-bar i{display:block;height:100%;width:0;background:#fff}.wipe{position:absolute;inset:-50% -60%;background:repeating-linear-gradient(115deg,#ffd23a 0 70px,#2b5fd9 70px 140px,#fff 140px 160px);transform:translate(-120%)}.wipe.run{animation:wipe .9s cubic-bezier(.7,0,.3,1) forwards}@keyframes wipe{0%{transform:translate(-120%)}45%{transform:translate(0)}55%{transform:translate(0)}to{transform:translate(120%)}}.plates{position:absolute;inset:0;z-index:1}.scoreboard,.chat,.controls,.touch-controls{z-index:2}.plate{position:absolute;left:0;top:0;white-space:nowrap;font-weight:800;font-size:13px;color:#fff;text-shadow:-1px -1px 0 rgba(20,24,34,.75),1px -1px 0 rgba(20,24,34,.75),-1px 1px 0 rgba(20,24,34,.75),1px 1px 0 rgba(20,24,34,.75);will-change:transform;display:flex;align-items:center;gap:4px}.plate.local{color:var(--home)}.plate.styled{color:var(--np-fg);background:var(--np-bg);border:2px solid var(--np-border);padding:1px 8px;border-radius:999px;text-shadow:none}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(ellipse at center,#14283c0d,#14283c59);animation:screenIn .35s ease-out;z-index:50}@keyframes screenIn{0%{opacity:0}to{opacity:1}}.screen.main-screen{justify-content:flex-start;padding-left:7vw;background:linear-gradient(90deg,#14283c66,#14283c14 45%,#14283c00)}.menu-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 38px 26px;border-radius:22px;background:#161e18b8;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000004d;backdrop-filter:blur(6px);min-width:320px;max-width:min(560px,92vw);max-height:92vh;overflow-x:hidden;overflow-y:auto}.brand-logo{position:relative;display:flex;justify-content:center;align-items:center;width:min(340px,78vw);margin:0 auto 2px;isolation:isolate;animation:brandFloat 4.8s ease-in-out infinite}.brand-logo:before{content:"";position:absolute;inset:18% 6% 22%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at 32% 50%,rgba(95,224,138,.42),transparent 58%),radial-gradient(ellipse at 72% 50%,rgba(242,63,176,.36),transparent 58%);filter:blur(14px);opacity:.85;animation:brandGlow 3.4s ease-in-out infinite;pointer-events:none}.brand-logo-img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 6px 0 rgba(20,24,34,.28));-webkit-user-drag:none}.brand-logo:after{content:"";position:absolute;inset:8% -8%;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.08) 46%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.08) 54%,transparent 64%);mix-blend-mode:soft-light;transform:translate(-120%);animation:brandShine 5.6s ease-in-out infinite}@keyframes brandFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes brandGlow{0%,to{opacity:.72;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes brandShine{0%,55%{transform:translate(-120%)}75%,to{transform:translate(120%)}}.logo{font-size:clamp(44px,5.5vw,78px);font-weight:900;letter-spacing:.02em;line-height:.95;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 rgba(20,24,34,.35);display:flex;gap:.05em}.logo .v{color:var(--home)}.logo .r{color:var(--away)}.tagline{font-size:13px;font-weight:700;opacity:.75;margin-top:-4px;margin-bottom:8px}.btn{font-family:var(--font);width:240px;padding:12px 20px;border:0;border-radius:999px;font-size:17px;font-weight:900;letter-spacing:.06em;color:var(--ink);background:#fff;cursor:pointer;box-shadow:0 4px #00000040;transition:transform .12s,box-shadow .12s,background .15s}.btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 6px #00000040}.btn:active{transform:translateY(2px) scale(.98);box-shadow:0 2px #00000040}.btn.primary{background:var(--home)}.btn.pink{background:var(--away);color:#fff}.btn.ghost{background:#ffffff26;color:#fff}.menu-foot{margin-top:10px;font-size:11px;opacity:.65;text-align:center;line-height:1.6}.menu-title{font-size:28px;font-weight:900;margin-bottom:4px}.result-score{display:flex;gap:14px;align-items:center;font-size:44px;font-weight:900}.pill{min-width:80px;text-align:center;padding:4px 18px;border-radius:999px;color:#fff;-webkit-text-stroke:2px rgba(20,24,34,.5);paint-order:stroke fill}.pill.home{background:var(--home)}.pill.away{background:var(--away)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin:6px 0 4px}.stat{background:#ffffff14;border-radius:12px;padding:8px;text-align:center}.stat b{display:block;font-size:22px}.stat span{font-size:11px;opacity:.7}.settings{width:min(460px,92vw)}.settings.tabbed{width:min(720px,94vw);max-width:min(720px,94vw);height:min(640px,90vh);align-items:stretch}.settings.tabbed .menu-title{text-align:center}.set-tabs{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.set-tabs button{font-family:var(--font);font-size:11px;font-weight:900;letter-spacing:.08em;padding:6px 11px;border:0;border-radius:8px;color:#fff;background:#ffffff14;cursor:pointer}.set-tabs button.on{background:var(--home);color:var(--ink)}.set-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 6px 4px 2px}.settings.tabbed .set-row{grid-template-columns:200px 1fr 52px}.set-info{font-size:11px;opacity:.65;line-height:1.5}.set-notice{min-height:16px;font-size:12px;font-weight:700;text-align:center;opacity:.85}.set-notice.warn{color:var(--accent)}.set-actions{display:flex;gap:10px;justify-content:center}.set-actions .btn{width:150px}.bind-row{grid-template-columns:200px 1fr!important}.bind-slots{display:flex;gap:6px}.bind{font-family:var(--font);min-width:96px;padding:5px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff12;color:#fff;font-weight:800;font-size:12px;cursor:pointer}.bind:hover{background:#ffffff29}.bind.listening{background:var(--accent);color:var(--ink)}.set-row{display:grid;grid-template-columns:150px 1fr 44px;align-items:center;gap:10px;width:100%;font-size:13px;font-weight:700}.set-row output{text-align:right;font-variant-numeric:tabular-nums;opacity:.85}.set-row input[type=range]{width:100%;accent-color:var(--home);cursor:pointer}.seg{display:flex;gap:4px;flex-wrap:wrap}.seg button{font-family:var(--font);font-weight:800;font-size:12px;padding:4px 10px;border-radius:999px;border:0;color:#fff;background:#ffffff1f;cursor:pointer}.seg button.on{background:var(--accent);color:var(--ink)}.set-group{width:100%;font-size:11px;font-weight:900;letter-spacing:.1em;opacity:.55;margin-top:6px;text-transform:uppercase}.practice-panel{position:absolute;left:50%;top:calc(var(--edge) + .6vh);transform:translate(-50%);display:flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;background:#161e18b8;font-size:12px;font-weight:800}.practice-panel .kv{padding:2px 10px;border-radius:999px;background:#ffffff1a}.practice-panel .kv b{color:var(--accent)}.practice-help{position:absolute;left:calc(var(--edge) + env(safe-area-inset-left,0px));top:calc(var(--edge) + 48px + env(safe-area-inset-top,0px));bottom:auto;width:min(var(--chat-w),280px);max-width:min(42vw,300px);padding:10px 12px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--panel-border);font-size:clamp(11px,.95vw,13px);line-height:1.55;pointer-events:auto;z-index:5;box-shadow:0 8px 20px #00000047;transition:width .15s ease,padding .15s ease,background .15s ease}.practice-help.ph-collapsed{width:auto;max-width:none;padding:0;background:transparent;border-color:transparent;box-shadow:none}.practice-help .ph-toggle{appearance:none;position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#12161c9e;color:#fff;font-family:var(--font);font-weight:900;font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 3px 10px #00000038;z-index:1}.practice-help.ph-open .ph-toggle{left:auto;right:8px;top:8px;width:28px;height:28px;font-size:15px}.practice-help .ph-body{display:none;padding-right:28px}.practice-help.ph-open .ph-body{display:block}.practice-help h4{margin:0 0 6px;font-size:13px;color:var(--accent)}.practice-help .ph-note{opacity:.7;margin-top:4px}.practice-help kbd{display:inline-block;min-width:20px;padding:0 5px;margin-right:4px;border-radius:5px;background:#fff;color:var(--ink);font-family:var(--font);font-weight:900;font-size:11px;text-align:center}.touch-controls{position:absolute;inset:0;pointer-events:none;z-index:6;touch-action:none;-webkit-user-select:none;user-select:none;font-family:var(--font);color:#fff;--tc-glass: rgba(18, 22, 28, .52);--tc-glass-press: rgba(18, 22, 28, .72);--tc-safe-l: env(safe-area-inset-left, 0px);--tc-safe-r: env(safe-area-inset-right, 0px);--tc-safe-b: env(safe-area-inset-bottom, 0px);--tc-safe-t: env(safe-area-inset-top, 0px);--tc-stick: clamp(112px, 28vmin, 168px);--tc-btn: clamp(58px, 13.5vmin, 74px);--tc-hit: clamp(66px, 15.5vmin, 84px);--tc-mini: clamp(34px, 8vmin, 42px);--tc-gap: 14px;--tc-vgap: 12px;--tc-cluster-w: calc(var(--tc-btn) * 2 + var(--tc-gap))}.touch-controls .tc-btn,.touch-controls .tc-pill,.touch-controls .tc-stick{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent}.touch-controls .tc-btn,.touch-controls .tc-pill{appearance:none;border:1px solid rgba(255,255,255,.14);background:var(--tc-glass);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px #00000038;font-family:inherit;font-weight:800;letter-spacing:.02em;text-transform:lowercase;cursor:pointer;transition:transform .08s ease,background .08s ease,box-shadow .08s ease}.touch-controls .tc-btn.pressed,.touch-controls .tc-pill.pressed,.touch-controls .tc-stick.active{background:var(--tc-glass-press);transform:scale(.96);box-shadow:0 2px 8px #00000047}.tc-top-left{position:absolute;left:calc(var(--tc-safe-l) + 10px);top:calc(var(--tc-safe-t) + 10px);display:flex;flex-direction:row;align-items:center;gap:8px}.tc-pause,.tc-board{width:clamp(36px,8.5vmin,46px);height:clamp(36px,8.5vmin,46px);border-radius:50%;display:grid;place-items:center;padding:0;flex:0 0 auto}.tc-pause svg,.tc-board svg{width:46%;height:46%}.tc-left{position:absolute;left:calc(var(--tc-safe-l) + clamp(8px,2vw,18px));bottom:calc(var(--tc-safe-b) + clamp(8px,2.2vh,18px));display:flex;flex-direction:column;align-items:center;gap:8px}.tc-stick{position:relative;width:var(--tc-stick);height:var(--tc-stick);border-radius:50%;background:var(--tc-glass);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 16px #0000003d;overflow:hidden}.tc-stick-arrows{position:absolute;inset:0;pointer-events:none}.tc-stick-arrows i{position:absolute;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:10px solid rgba(255,255,255,.92)}.tc-stick-arrows .n{top:14%;left:50%;transform:translate(-50%)}.tc-stick-arrows .s{bottom:14%;left:50%;transform:translate(-50%) rotate(180deg)}.tc-stick-arrows .e{right:14%;top:50%;transform:translateY(-50%) rotate(90deg)}.tc-stick-arrows .w{left:14%;top:50%;transform:translateY(-50%) rotate(-90deg)}.tc-stick-knob{position:absolute;left:50%;top:50%;width:28%;height:28%;margin:-14% 0 0 -14%;border-radius:50%;background:#d2d8e0e0;box-shadow:inset 0 1px 2px #ffffff73,0 2px 6px #0000004d;pointer-events:none;will-change:transform}.tc-pill{display:inline-flex;align-items:center;gap:6px;height:clamp(30px,7vmin,38px);padding:0 12px 0 10px;border-radius:999px;font-size:clamp(11px,2.6vmin,13px)}.tc-pill svg{width:1.15em;height:1.15em;flex:0 0 auto}.tc-right{position:absolute;right:calc(var(--tc-safe-r) + clamp(10px,2.2vw,20px));bottom:calc(var(--tc-safe-b) + clamp(10px,2.4vh,20px));width:var(--tc-cluster-w);display:flex;flex-direction:column;align-items:stretch;gap:8px;box-sizing:border-box}.tc-secondary{display:flex;flex-direction:column;align-items:stretch;gap:5px;width:100%}.tc-sec-row{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:5px;width:100%}.tc-actions{position:relative;width:100%;height:calc(var(--tc-hit) + var(--tc-vgap) + var(--tc-btn))}.tc-actions .tc-btn{position:absolute;width:var(--tc-btn);height:var(--tc-btn);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0}.tc-actions .tc-hit{width:var(--tc-hit);height:var(--tc-hit);left:50%;top:0;transform:translate(-50%);z-index:2}.tc-actions .tc-hit.pressed{transform:translate(-50%) scale(.96)}.tc-actions .tc-move{left:0;bottom:0;z-index:1}.tc-actions .tc-jump{right:0;bottom:0;z-index:1}.tc-btn .tc-ico{display:grid;place-items:center;line-height:0}.tc-actions .tc-btn .tc-ico svg{width:clamp(22px,5.4vmin,30px);height:clamp(22px,5.4vmin,30px)}.tc-hit .tc-ico svg{width:clamp(28px,6.6vmin,36px);height:clamp(28px,6.6vmin,36px)}.tc-actions .tc-btn .tc-lab{font-size:clamp(10px,2.3vmin,12px);line-height:1;font-weight:800}.tc-mini{flex:0 0 var(--tc-mini);width:var(--tc-mini);height:var(--tc-mini);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;box-shadow:0 2px 8px #0003}.tc-mini .tc-ico svg{width:clamp(13px,3.1vmin,16px);height:clamp(13px,3.1vmin,16px)}.tc-mini .tc-lab{font-size:clamp(7px,1.7vmin,9px);line-height:1;font-weight:800}.hud-game.touch-ui .fps{left:auto;right:calc(env(safe-area-inset-right,0px) + 10px);top:calc(env(safe-area-inset-top,0px) + 8px)}.hud-game.touch-ui .chat:not(.chat-open){opacity:0;pointer-events:none;transform:translateY(12px)}.hud-game.touch-ui .chat.chat-open{left:50%;right:auto;bottom:calc(env(safe-area-inset-bottom,0px) + clamp(150px,42vh,260px));transform:translate(-50%);width:min(420px,72vw);height:min(38vh,260px);z-index:8}.hud-game.touch-ui .power-meter,.hud-game.touch-ui .stamina-meter{bottom:calc(env(safe-area-inset-bottom,0px) + clamp(12px,2.2vh,18px));width:min(200px,28vw)}.hud-game.touch-ui .status{bottom:calc(env(safe-area-inset-bottom,0px) + clamp(52px,11vh,68px))}.hud-game.touch-ui .practice-help{left:calc(10px + env(safe-area-inset-left,0px));top:calc(58px + env(safe-area-inset-top,0px));right:auto;transform:none;max-width:min(240px,34vw);max-height:min(42vh,280px);overflow:auto;font-size:11px;z-index:7}.hud-game.touch-ui .practice-help.ph-collapsed{max-width:none;max-height:none;overflow:visible}.touch-controls.tc-practice .tc-chat{display:none}@media (orientation: portrait){.touch-controls{--tc-btn: clamp(54px, 12.5vmin, 68px);--tc-hit: clamp(62px, 14.5vmin, 78px);--tc-mini: clamp(32px, 7.5vmin, 40px);--tc-gap: 12px;--tc-vgap: 10px}.hud-game.touch-ui .power-meter,.hud-game.touch-ui .stamina-meter{width:min(180px,36vw)}}@media (max-width: 1100px){.btn{width:210px;font-size:15px}}@media (max-height: 740px){.menu-card{padding:20px 28px 18px;gap:9px}.chat-log{font-size:11px}}@media (max-width: 720px){.screen.main-screen{justify-content:center;align-items:flex-start;padding:calc(72px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));background:linear-gradient(180deg,#0c16208c,#0c162047 55%,#0c16201f);overflow-y:auto;-webkit-overflow-scrolling:touch}.menu-card{width:100%;min-width:0;max-width:100%;padding:20px 16px 18px;gap:10px;box-sizing:border-box}.btn{width:100%;min-height:48px;font-size:16px;padding:12px 16px}.btn.big{min-height:52px;font-size:18px}.set-tabs button{min-height:40px;padding:8px 14px;font-size:12px}.settings.tabbed{width:100%;max-width:100%;height:min(640px,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));padding:16px 12px}.settings.tabbed .set-row,.bind-row{grid-template-columns:1fr!important;gap:6px}.set-actions{flex-wrap:wrap}.set-actions .btn{width:auto;flex:1 1 140px;min-height:44px}}@media (max-width: 420px){.brand-logo{width:min(260px,82vw)}.menu-title{font-size:22px}}@media (max-height: 480px) and (orientation: landscape){.screen.main-screen{padding:calc(52px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px))}.menu-card{padding:12px 14px;gap:6px;max-height:calc(100dvh - 60px)}.brand-logo{width:min(180px,36vw)}.btn{min-height:40px;padding:8px 14px;font-size:14px}}@media (pointer: coarse){.btn{min-height:44px}.set-tabs button{min-height:40px}}.shell-layer{position:absolute;inset:0;pointer-events:none;z-index:40}.shell-layer>.screen>.menu-card,.shell-layer>.screen>.page{zoom:var(--ui-scale)}.online-screen{z-index:41}.btn[disabled]{opacity:.6;cursor:default;transform:none!important}.btn.big{font-size:20px;padding:14px 20px}.btn.half{width:116px;font-size:14px;padding:10px 8px;box-sizing:border-box}.btn .btn-sub{display:block;font-size:10px;font-weight:800;letter-spacing:.04em;opacity:.75;margin-top:1px;text-transform:none}.link-btn{font-family:var(--font);background:none;border:0;color:#ffffffb3;font-weight:800;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:#fff}img.avatar{border-radius:10px;background:#ffffff1f;flex:none}.auth-card{width:min(420px,92vw)}.auth-card .brand-logo{width:min(280px,72vw)}.auth-form{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center}.auth-form label{display:flex;flex-direction:column;gap:4px;width:100%;font-size:12px;font-weight:800}.auth-form label>span{opacity:.75;letter-spacing:.04em}.auth-form input,.vr-input{font-family:var(--font);font-size:15px;font-weight:700;padding:10px 14px;border-radius:12px;border:2px solid rgba(255,255,255,.14);background:#00000047;color:#fff;outline:none;transition:border-color .15s}.auth-form input:focus,.vr-input:focus{border-color:var(--home)}.auth-form input.invalid{border-color:#ff6b6b}.field-hint{min-height:0;font-size:11px;color:#ff9b9b;font-weight:700}.field-hint:empty{display:none}.form-error{min-height:16px;font-size:12px;font-weight:800;color:#ff8f8f;text-align:center}.form-notice{font-size:12px;font-weight:700;padding:8px 12px;border-radius:10px;background:#ffcf4a29;color:#ffe08a;text-align:center}.auth-sep{display:flex;align-items:center;gap:10px;width:100%;font-size:11px;opacity:.55}.auth-sep:before,.auth-sep:after{content:"";flex:1;height:1px;background:#ffffff4d}.topbar{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));left:calc(14px + env(safe-area-inset-left,0px));right:calc(14px + env(safe-area-inset-right,0px));display:flex;align-items:center;gap:10px;pointer-events:none;z-index:45;zoom:var(--ui-scale)}.topbar>*{pointer-events:auto}.tb-spacer{flex:1;pointer-events:none;min-width:8px}.tb-right{display:flex;align-items:center;gap:8px;flex:none;pointer-events:auto}.topbar button{font-family:var(--font);color:#fff;border:1px solid rgba(255,255,255,.12);background:var(--panel);backdrop-filter:blur(6px);border-radius:14px;cursor:pointer}.tb-who{display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;min-height:44px;max-width:min(220px,42vw)}.tb-who:hover,.tb-vp:hover,.tb-icon:hover{border-color:#fff6}.tb-name{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.tb-name b{font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-level{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:900;opacity:.85}.xpbar{display:inline-block;width:70px;height:6px;border-radius:3px;background:#ffffff26;overflow:hidden}.xpbar>i{display:block;height:100%;background:var(--accent);border-radius:3px}.tb-vp{display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:16px;min-height:44px}.vp-coin{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:10px;font-weight:900;color:var(--ink);background:radial-gradient(circle at 35% 30%,#fff6b0,#ffd23a 55%,#e0a800);box-shadow:inset 0 -2px #0003}.tb-icon{width:44px;height:44px;font-size:20px;flex:none}.topbar .rank-badge{background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:5px 12px 5px 6px;backdrop-filter:blur(6px);min-height:44px;box-sizing:border-box}.rank-badge{display:flex;align-items:center;gap:8px}.rank-text{display:flex;flex-direction:column;line-height:1.1}.rank-text b{font-size:14px;letter-spacing:.02em}.rank-text span{font-size:10px;opacity:.7;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.rank-emblem{--rc: #fff;--rs: 34px;width:var(--rs);height:var(--rs);border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 50% 50%,transparent 58%,rgba(0,0,0,.18) 59%,transparent 62%),conic-gradient(from 20deg,var(--rc) 0 33%,color-mix(in srgb,var(--rc) 70%,#fff) 0 66%,color-mix(in srgb,var(--rc) 80%,#000) 0);box-shadow:0 0 0 2px #00000059,0 0 12px color-mix(in srgb,var(--rc) 45%,transparent)}.rank-emblem.unranked{background:#ffffff1f;box-shadow:0 0 0 2px #ffffff40 inset}.rank-pips{display:flex;gap:2px}.rank-pips i{width:calc(var(--rs) * .17);height:calc(var(--rs) * .17);border-radius:50%;background:#00000059}.rank-pips i.on{background:#fff;box-shadow:0 0 0 1px #00000059}.rank-crown{font-size:calc(var(--rs) * .5);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.rank-q{font-size:calc(var(--rs) * .3);font-weight:900;color:#fff}.hub-screen{padding-top:64px;box-sizing:border-box}.hub-card{gap:10px;width:min(360px,100%)}.hub-card .brand-logo{width:min(300px,74vw)}.hub-card>.btn{width:100%;max-width:260px}.hub-row{display:flex;gap:8px;width:100%;max-width:260px;justify-content:center}.hub-row .btn.half{flex:1 1 0;width:auto;min-width:0}.hub-status{font-size:13px;font-weight:800;opacity:.8;margin:-4px 0 4px;text-align:center}.play-menu{display:flex;flex-direction:column;gap:8px;align-items:stretch;width:100%;max-width:260px;padding:10px;border-radius:18px;background:#0003;animation:screenIn .2s ease-out;box-sizing:border-box}.play-menu .btn{width:100%;font-size:15px}.hub-pending{font-family:var(--font);font-weight:800;font-size:12px;color:var(--ink);background:var(--accent);border:0;border-radius:999px;padding:10px 14px;min-height:40px;cursor:pointer;max-width:100%}.toast-host{position:absolute;top:70px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center;z-index:200;pointer-events:none}.toast{font-weight:800;font-size:13px;padding:9px 16px;border-radius:999px;background:#161e18e6;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #0000004d;animation:screenIn .25s ease-out;transition:opacity .35s,transform .35s}.toast.ok{border-color:var(--home)}.toast.warn{border-color:var(--accent)}.toast.error{border-color:#ff6b6b;color:#ffd0d0}.toast.out{opacity:0;transform:translateY(-8px)}.page-screen{padding:70px 20px 20px;box-sizing:border-box;background:#0c141c73}.page{width:min(920px,96vw);max-height:100%;display:flex;flex-direction:column;border-radius:22px;background:#161e18db;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000059;backdrop-filter:blur(8px);overflow:hidden}.page-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 2px,transparent 2px 14px)}.page-title{font-size:24px;font-weight:900;flex:1}.page-extra{display:flex;gap:8px;align-items:center}.page-back{font-family:var(--font);width:40px;height:40px;border-radius:12px;border:0;font-size:20px;font-weight:900;color:#fff;background:#ffffff1f;cursor:pointer}.page-back:hover{background:#ffffff38}.page-body{padding:16px 18px 20px;overflow:auto;display:flex;flex-direction:column;gap:12px}.page-actions{display:flex;gap:10px;justify-content:center;margin-top:6px}.page-loading{display:flex;gap:10px;align-items:center;justify-content:center;padding:40px;font-weight:800;opacity:.8}.spinner{width:18px;height:18px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:var(--home);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section-label{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;opacity:.55}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 10px;text-align:center}.empty-state b{font-size:18px}.empty-state span{font-size:13px;opacity:.7;max-width:380px}.empty-ball{width:56px;height:56px;border-radius:50%;margin-bottom:6px;background:conic-gradient(from 30deg,#fff 0 33%,#ffe14a 0 66%,#4fc3f7 0);box-shadow:inset -6px -6px #00000026,0 8px #0003;animation:bounceBall 1.4s ease-in-out infinite}@keyframes bounceBall{50%{transform:translateY(-10px)}}.muted{opacity:.6}.profile-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.profile-id{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}.profile-name{font-size:28px;font-weight:900}.profile-level{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.xpbar.wide{width:160px;height:8px}.profile-since{font-size:12px;opacity:.65;font-weight:700}.profile-rank{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:16px;background:#00000038;min-width:220px}.profile-rank .rank-text b{font-size:18px}.rr-bar{position:relative;height:14px;border-radius:7px;background:#ffffff1f;overflow:hidden}.rr-bar>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--home),var(--accent));border-radius:7px}.rr-bar>span{position:relative;display:block;text-align:center;font-size:10px;font-weight:900;line-height:14px;text-shadow:0 1px 1px rgba(0,0,0,.6)}.rank-note,.rank-wl{font-size:12px;font-weight:700;opacity:.75}.profile-stats{grid-template-columns:repeat(5,1fr)}.history-list{display:flex;flex-direction:column;gap:6px}.history-row{display:grid;grid-template-columns:58px 40px 1fr auto auto;align-items:center;gap:12px;padding:8px 12px;border-radius:14px;background:#ffffff0f;border-left:4px solid rgba(255,255,255,.2)}.history-row.win{border-left-color:var(--home)}.history-row.loss{border-left-color:var(--away)}.hr-result{font-weight:900;font-size:13px;letter-spacing:.06em}.history-row.win .hr-result{color:var(--home)}.history-row.loss .hr-result{color:var(--away)}.hr-main{display:flex;flex-direction:column}.hr-main b{font-size:16px}.hr-main small{font-size:11px;opacity:.7}.hr-main span{font-size:11px;opacity:.65;font-weight:700}.hr-stats{font-size:12px;font-weight:800;opacity:.85;display:flex;gap:8px;align-items:center}.mvp{font-style:normal;font-size:10px;font-weight:900;color:var(--ink);background:var(--accent);padding:2px 6px;border-radius:6px}.hr-reward{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;font-weight:900;min-width:80px}.hr-reward .vp{color:#ffe08a}.rr.up{color:var(--home)}.rr.down{color:#ff8fc8}.btn.small{width:auto;font-size:12px;padding:7px 12px;box-shadow:0 3px #00000040}.btn.loading{opacity:.75}.btn.disabled-look{filter:grayscale(.7);opacity:.65}.vp-chip{display:inline-flex;align-items:center;gap:6px;font-weight:900}.vp-chip .vp-coin{width:20px;height:20px;font-size:8px}.page-extra .vp-chip{padding:6px 12px 6px 6px;border-radius:999px;background:#00000040;font-size:15px}.modal-backdrop{position:absolute;inset:0;z-index:50;display:grid;place-items:center;background:#080c128c;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}}.modal{width:min(440px,92vw);border-radius:22px;padding:18px 20px;background:#18201af7;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px #00000073;animation:popIn .22s cubic-bezier(.2,1.5,.4,1)}@keyframes popIn{0%{transform:scale(.9);opacity:0}}.modal-title{font-size:22px;font-weight:900;margin-bottom:12px}.modal-body{font-size:14px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.modal-actions .btn{width:auto;font-size:14px;padding:10px 18px}.buy-summary{display:flex;gap:14px;align-items:center}.buy-summary b{font-size:20px}.buy-summary .cprev{width:96px;height:96px;flex:none}.buy-line{margin-top:6px;font-weight:800;display:flex;align-items:center;gap:6px}.buy-line.short{color:#ff8fc8}.buy-summary.unlocked .cprev{animation:unlockGlow 1.2s ease-out}@keyframes unlockGlow{0%{box-shadow:0 0 #ffe14ae6}to{box-shadow:0 0 0 22px #ffe14a00}}.cprev{position:relative;width:100%;aspect-ratio:1.4;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:#00000040}.cprev-character{background:radial-gradient(circle at 50% 60%,rgba(255,255,255,.22),transparent 60%),linear-gradient(160deg,#78aaff47,#14182880)}.cprev-character .avatar{position:relative;z-index:1;width:64%;height:auto;max-height:92%;border-radius:18px;background:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35));transition:transform .25s ease}.cprev-character:hover .avatar,.card:hover .cprev-character .avatar{transform:translateY(-3px) scale(1.04)}.cprev-character:before{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;z-index:2;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-18deg);animation:cprevShine 4.5s ease-in-out infinite;pointer-events:none}@keyframes cprevShine{0%,70%{left:-60%}to{left:130%}}.cprev-character.glow{background:radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--glow) 55%,transparent),transparent 62%),linear-gradient(160deg,color-mix(in srgb,var(--glow) 30%,#1b1f33),#141726)}.cprev-character.glow:after{content:"";position:absolute;inset:-40%;z-index:0;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--glow) 35%,transparent) 0 10deg,transparent 10deg 30deg);animation:cprevRays 14s linear infinite;opacity:.7;mask-image:radial-gradient(circle,#000 25%,transparent 62%)}@keyframes cprevRays{to{transform:rotate(360deg)}}.cprev-character.glow .avatar{filter:drop-shadow(0 0 10px var(--glow)) drop-shadow(0 6px 10px rgba(0,0,0,.35))}.court-lines{position:absolute;inset:18% 14%;border:3px solid;border-radius:3px}.court-lines:after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:3px solid;border-color:inherit}.cprev-weather .sun{position:absolute;left:62%;width:22%;aspect-ratio:1;border-radius:50%}.cprev-ball_trail{background:linear-gradient(180deg,#2a3a50,#1b2533)}.cprev-ball_trail .trail{position:absolute;left:8%;right:30%;top:50%;transform:translateY(-50%) rotate(-12deg);border-radius:999px}.cprev-ball_trail .ball{position:absolute;right:20%;top:38%;width:18%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 30deg,#fff 0 33%,#ffe14a 0 66%,#4fc3f7 0)}.plate-sample{font-weight:900;font-size:15px;padding:3px 12px;border-radius:999px;border:2px solid}.sb-sample{display:flex;align-items:center;gap:8px;border-radius:999px;padding:3px;font-weight:900;font-size:15px}.sb-sample b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px}.sb-sample b.home{background:var(--home)}.sb-sample b.away{background:var(--away)}.sb-sample i{font-style:normal}.cprev-finisher{background:radial-gradient(circle,#ffffff1f,#0000004d)}.cprev-finisher .glyph{font-size:38px;line-height:1;text-shadow:0 0 16px currentColor}.cprev-finisher .dots{position:absolute;bottom:10%;display:flex;gap:4px}.cprev-finisher .dots i{width:8px;height:8px;border-radius:50%}.cos-tabs{display:flex;flex-wrap:wrap;gap:6px;-webkit-overflow-scrolling:touch}.cos-tab{font-family:var(--font);font-weight:900;font-size:13px;padding:8px 14px;border-radius:999px;border:0;color:#fff;background:#ffffff1a;cursor:pointer;min-height:40px;flex:0 0 auto}.cos-tab.on{background:var(--home);color:var(--ink)}.cos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cos-card{font-family:var(--font);color:#fff;text-align:left;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:18px;border:2px solid color-mix(in srgb,var(--rarity) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--rarity) 16%,rgba(0,0,0,.2)),#00000040);cursor:pointer;transition:transform .12s,border-color .12s}button.cos-card:hover{transform:translateY(-2px);border-color:var(--rarity)}.cos-card.pricey .cos-price{opacity:.55}.cos-card.locked .cprev{filter:grayscale(.6) brightness(.7)}.cos-card.equipped{border-color:var(--home);box-shadow:0 0 0 2px var(--home) inset}.cos-name{font-weight:900;font-size:15px}.cos-rarity{font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--rarity)}.cos-price,.cos-actions{margin-top:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px}.cos-owned{font-size:11px;font-weight:900;color:var(--home)}.inventory-screen .cos-card{cursor:default}.inv-layout{display:grid;grid-template-columns:220px 1fr;gap:14px}.slot-list{display:flex;flex-direction:column;gap:6px}.slot{font-family:var(--font);display:flex;gap:10px;align-items:center;padding:6px;border-radius:14px;border:2px solid transparent;color:#fff;background:#ffffff0f;cursor:pointer;text-align:left}.slot.on{border-color:var(--home);background:#5fe08a1f}.slot .cprev{width:54px;flex:none;aspect-ratio:1.2;border-radius:10px}.slot .cprev .glyph{font-size:22px}.slot .cprev .plate-sample,.slot .cprev .sb-sample{font-size:9px;padding:1px 5px;gap:3px}.slot .cprev .sb-sample b{width:12px;height:12px;font-size:7px}.slot-text{display:flex;flex-direction:column}.slot-text small{font-size:10px;font-weight:900;opacity:.6;text-transform:uppercase;letter-spacing:.08em}.slot-text b{font-size:14px}.inv-main{display:flex;flex-direction:column;gap:8px}@media (max-width: 720px){.inv-layout{grid-template-columns:1fr}}.locker-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,.9fr);gap:16px;min-height:460px}.locker-edit,.lk-rows{display:flex;flex-direction:column;gap:12px}.lk-row{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center}.lk-label{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.lk-options{display:flex;flex-wrap:wrap;gap:6px}.lk-chip{font-family:var(--font);font-weight:900;font-size:13px;padding:7px 12px;border-radius:999px;border:2px solid transparent;color:#fff;background:#ffffff1a;cursor:pointer;display:inline-flex;gap:5px;align-items:center}.lk-chip.on{border-color:var(--home);background:#5fe08a2e}.lk-chip.locked{opacity:.55}.size-picker{justify-content:center}.lk-lock{font-style:normal;font-size:10px}.lk-swatch{width:30px;height:30px;border-radius:50%;border:3px solid rgba(255,255,255,.2);background:var(--sw);cursor:pointer;position:relative;padding:0}.lk-swatch.on{border-color:#fff;box-shadow:0 0 0 3px var(--home)}.lk-swatch.locked:after{content:"🔒";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;background:#00000073;border-radius:50%}.lk-swatch.team:before{content:"T";position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:900;color:#fff}.lk-number{width:72px;font-family:var(--font);font-weight:900;font-size:16px;padding:6px 10px;border-radius:10px;border:2px solid rgba(255,255,255,.15);background:#00000040;color:#fff}.lk-actions{margin-top:auto;display:flex;gap:8px;justify-content:flex-end}.char-preview{position:relative;border-radius:22px;background:radial-gradient(ellipse at 50% 70%,#5fe08a47,#00000040 70%);min-height:420px;cursor:grab;overflow:hidden;touch-action:none}.char-preview canvas{position:absolute;inset:0;width:100%;height:100%}@media (max-width: 820px){.locker-layout{grid-template-columns:1fr}.char-preview{min-height:300px;order:-1}}.room-banner{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:14px;background:#5fe08a1f;border:2px solid rgba(95,224,138,.35);font-size:13px}.room-banner.warn{background:#ffb4461f;border-color:#ffb44666}.room-banner b{font-size:14px;letter-spacing:.04em}.room-banner span{opacity:.8;font-weight:700}.room-panel{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:#00000038;border:2px solid rgba(255,255,255,.08)}.room-panel.center{align-items:center;text-align:center}.room-panel h3{margin:0;font-size:16px;font-weight:900}.room-panel h4{margin:0 0 6px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.room-field{display:flex;flex-direction:column;gap:4px;flex:1;font-size:12px;font-weight:800}.room-field>span{opacity:.7}.room-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.room-row.between{justify-content:space-between}.room-check{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:800;cursor:pointer}.room-list{display:flex;flex-direction:column;gap:8px}.room-row-card{font-family:var(--font);display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:2px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;cursor:pointer;text-align:left}.room-row-card:hover{border-color:var(--home);background:#5fe08a1a}.room-row-main{display:flex;flex-direction:column;gap:2px}.room-row-main b{font-size:15px}.room-row-main span{font-size:12px;opacity:.7;font-weight:700}.room-code-chip,.room-code-big{font-weight:900;letter-spacing:.14em;font-variant-numeric:tabular-nums}.room-code-chip{padding:4px 8px;border-radius:8px;background:#00000059;font-size:13px}.room-code-big{font-size:32px}.room-muted{font-size:12px;font-weight:700;opacity:.65}.room-teams{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-team{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;background:#0003;border:2px solid rgba(255,255,255,.08);min-height:120px}.room-member{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;background:#ffffff0f;font-size:13px}.room-member.host{border:1px solid rgba(95,224,138,.45)}.room-member b{flex:1}.room-member span{opacity:.65;font-size:11px;font-weight:800;text-transform:uppercase}.rule-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:14px}.btn.small{font-size:12px;padding:6px 10px}.char-pick{display:flex;flex-wrap:wrap;gap:6px}.char-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;-webkit-overflow-scrolling:touch}.char-face{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:6px;width:72px;padding:6px;border-radius:14px;border:2px solid transparent;background:transparent;color:#fff;cursor:pointer;font-family:var(--font)}.char-face img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2);background:#ffffff14}.char-face-name{font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;opacity:.75;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-face.on{border-color:var(--home);background:#5fe08a1f}.char-face.on img{border-color:var(--home);box-shadow:0 0 0 2px color-mix(in srgb,var(--home) 45%,transparent)}.char-face.locked{opacity:.35;cursor:default}.char-chip{font-family:var(--font);font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;border:2px solid rgba(255,255,255,.14);background:#ffffff0f;color:#fff;cursor:pointer}.char-chip.on{border-color:var(--home);background:#5fe08a2e}.char-chip.locked{opacity:.35;cursor:default}.result-score{display:flex;gap:16px;align-items:center;justify-content:center;font-size:48px;font-weight:900;letter-spacing:.04em}.result-score span{opacity:.45;font-size:28px}.result-stats{text-align:center;font-weight:700;font-size:14px;opacity:.85;display:flex;flex-direction:column;gap:4px}.result-xp{color:var(--home);font-weight:900;margin-top:4px}.vp-breakdown{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;background:#00000038;border:2px solid rgba(255,255,255,.08)}.vp-breakdown.none{text-align:center;gap:4px}.vp-total{display:flex;justify-content:space-between;align-items:baseline;font-size:18px;font-weight:900;margin-bottom:4px}.vp-total b{color:var(--home);font-size:28px}.vp-row{display:flex;justify-content:space-between;font-size:13px;font-weight:700}.vp-note{font-size:11px;font-weight:800;opacity:.65}.rank-progress{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;background:#00000038;border:2px solid rgba(255,255,255,.08)}.rank-progress-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.rank-progress-labels{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;opacity:.75}.rank-progress-labels b{opacity:1;color:#fff;font-size:15px}.rank-event{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--home)}.rank-progress.event-rank_up .rank-event{color:#7dffb3}.rank-progress.event-rank_down .rank-event{color:#ff7d9a}.rank-progress.event-demotion_warning .rank-event{color:#ffcf4a}.rr-wrap{display:flex;flex-direction:column;gap:4px}.rr-bar{height:10px;border-radius:999px;background:#ffffff1f;overflow:hidden}.rr-fill{height:100%;border-radius:inherit;width:0;transition:width .7s cubic-bezier(.22,1,.36,1)}.rr-meta{display:flex;justify-content:space-between;font-size:12px;font-weight:800}.rr-meta .up{color:#7dffb3}.rr-meta .down{color:#ff7d9a}.placement-complete{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:8px 4px 4px}.place-title{font-size:13px;font-weight:900;letter-spacing:.18em;color:var(--pc, var(--home))}.place-rank{display:flex;flex-direction:column;gap:2px}.place-rank b{font-size:22px}.place-rank span,.place-wl{font-size:12px;font-weight:800;opacity:.7}.place-list{width:100%;display:flex;flex-direction:column;gap:4px;margin:4px 0 8px}.place-row{display:grid;grid-template-columns:1fr 28px 28px;gap:8px;align-items:center;padding:8px 12px;border-radius:10px;background:#ffffff0f;font-size:12px;font-weight:800}.place-row.w b{color:#7dffb3}.place-row.l b{color:#ff7d9a}.place-row .grade{opacity:.75;text-align:right}.queue-pulse{display:flex;justify-content:center;padding:12px 0 4px}.queue-wait{text-align:center;display:flex;flex-direction:column;gap:2px}.queue-wait b{font-size:40px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.queue-wait span{font-size:11px;font-weight:900;letter-spacing:.14em;opacity:.55}.found-timer{text-align:center}.found-timer b{font-size:48px;font-weight:900;color:var(--home)}.found-timer span{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;opacity:.6}.found-list{display:flex;flex-direction:column;gap:4px;margin:8px 0}.found-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;background:#ffffff0f;font-size:13px;font-weight:800}.found-row.vote-accepted b{color:#7dffb3}.found-row.vote-declined b,.found-row.vote-timeout b{color:#ff7d9a}.lobby-cd{text-align:center;font-weight:900;letter-spacing:.08em;color:var(--home)}.lobby-seats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.lobby-seat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;background:#00000038;border:2px solid transparent;font-size:12px;font-weight:800}.lobby-seat.me{border-color:#ffffff59}.lobby-seat.ready{border-color:#7dffb3}.lobby-seat i{font-style:normal;font-size:10px;letter-spacing:.1em;opacity:.65}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}.char-tile{padding:10px 8px;border-radius:12px;border:2px solid rgba(255,255,255,.1);background:#ffffff0f;color:inherit;font-weight:900;cursor:pointer}.char-tile.on{border-color:var(--home);background:#ffffff1f}.char-tile.locked{opacity:.35;cursor:not-allowed}.net-status{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:80;padding:8px 16px;border-radius:999px;background:#000000bf;font-weight:900;font-size:12px;letter-spacing:.1em;pointer-events:none}.net-status.warn{color:#ffcf4a}.net-status.hidden{display:none}@media (max-width: 560px){.room-teams,.lobby-seats{grid-template-columns:1fr}}@media (max-width: 720px){.topbar{top:calc(8px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));gap:6px;align-items:center;justify-content:space-between}.tb-spacer{display:none}.tb-who{flex:0 1 auto;min-width:0;max-width:min(46vw,160px);padding:4px 10px 4px 4px;gap:8px}.tb-name b{font-size:13px}.tb-level{font-size:10px}.xpbar{width:48px}.tb-right{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:62%}.topbar .rank-badge{padding:4px 8px 4px 4px;gap:6px;min-height:40px}.topbar .rank-badge .rank-text b{font-size:11px}.topbar .rank-badge .rank-text span{display:none}.tb-vp{padding:6px 10px 6px 6px;font-size:13px;min-height:40px;gap:6px}.tb-vp .vp-coin{width:22px;height:22px;font-size:8px}.tb-icon{width:40px;height:40px;font-size:18px}.hub-screen{padding-top:calc(64px + env(safe-area-inset-top,0px))}.hub-card{width:100%;max-width:100%}.hub-card>.btn,.hub-row,.play-menu{max-width:100%}.hub-row .btn.half{min-height:44px;font-size:13px;padding:10px 8px}.play-menu .btn{min-height:48px}.play-menu .btn .btn-sub{font-size:11px;white-space:normal;line-height:1.25}.toast-host{top:calc(78px + env(safe-area-inset-top,0px));left:12px;right:12px;transform:none;width:auto}.page-screen{padding:calc(64px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px));align-items:stretch;justify-content:flex-start}.page{width:100%;max-width:100%;max-height:none;flex:1 1 auto;min-height:0;border-radius:18px}.page-head{flex-wrap:wrap;gap:8px;padding:10px 12px}.page-title{font-size:20px;min-width:0}.page-back{width:44px;height:44px;flex:none}.page-extra{flex:1 1 100%;justify-content:flex-end;flex-wrap:wrap}.page-extra .btn.small{min-height:40px;padding:8px 12px}.page-body{padding:12px;flex:1 1 auto;min-height:0}.page-actions{flex-wrap:wrap}.page-actions .btn{width:auto;flex:1 1 140px;min-height:48px}.cos-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding-bottom:6px;margin:0 -4px;padding-left:4px;padding-right:4px;scrollbar-width:thin}.cos-tabs::-webkit-scrollbar{height:4px}.cos-tabs::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:999px}.cos-tab{min-height:44px;padding:10px 16px;font-size:13px}.cos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cos-card{min-height:44px;padding:8px;border-radius:14px}.cos-name{font-size:14px}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-name{font-size:22px}.profile-rank{min-width:0;width:100%}.history-row{grid-template-columns:52px 1fr auto;gap:8px;padding:10px}.history-row .avatar,.hr-stats{display:none}.hr-reward{min-width:64px;font-size:11px}.modal{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow-y:auto}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1 1 120px;min-height:44px}.buy-summary{flex-wrap:wrap}.locker-layout{min-height:0}.lk-row{grid-template-columns:1fr;gap:6px}.lk-actions{flex-wrap:wrap}.lk-actions .btn{flex:1 1 120px;min-height:44px;width:auto}.lk-chip{min-height:40px;padding:8px 12px}.lk-swatch{width:36px;height:36px}.char-preview{min-height:240px}.room-row-card{min-height:48px}.room-code-big{font-size:26px;letter-spacing:.1em}.result-score{font-size:36px;gap:10px}.result-score span{font-size:22px}.rank-progress{flex-wrap:wrap;gap:10px}.queue-wait b{font-size:32px}.found-timer b{font-size:36px}.char-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.char-tile{min-height:44px}.net-status{top:calc(8px + env(safe-area-inset-top,0px));left:50%;max-width:calc(100vw - 24px);text-align:center}.auth-card{width:min(420px,100%)}.auth-form input,.vr-input{min-height:44px;font-size:16px}.slot{min-height:48px}.btn.small{min-height:40px;padding:8px 12px}}@media (max-width: 420px){.tb-right{max-width:58%}.topbar .rank-badge .rank-text{display:none}.tb-vp b{font-size:12px}.cos-grid{grid-template-columns:1fr}.page-title{font-size:18px}.hub-row{flex-direction:column}.hub-row .btn.half{width:100%}}@media (max-width: 720px) and (orientation: landscape){.topbar{align-items:center}.tb-spacer{display:block;flex:1}.tb-right{max-width:none;flex-wrap:nowrap}.hub-screen,.page-screen{padding-top:calc(52px + env(safe-area-inset-top,0px))}.page-extra{flex:0 1 auto}.cos-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.hub-row{flex-direction:row}}html.touch-mobile .cos-tab,html.touch-mobile .page-back,html.touch-mobile .tb-icon,html.touch-mobile .slot,html.touch-mobile .char-chip,html.touch-mobile .lk-chip,html.touch-mobile .cos-card{min-height:44px}
