:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#f0f3ee;background:#101e29;font-synthesis:none;--mint: #bbeddf;--orange: #fa805b;--muted: #a3b4bd;--line: #ffffff16;--panel: #12232eef;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px;overflow-x:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .16s,transform .16s,border-color .16s}button:disabled{cursor:default;opacity:.4}button:hover{color:#fff}button:active{transform:scale(.98)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f8d792;outline-offset:4px}button:focus:not(:focus-visible){outline:none}a{color:var(--mint)}button svg{flex-shrink:0}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#app{position:relative;min-height:100svh;pointer-events:none}#app button,#app input,#app a,#app [role=dialog]{pointer-events:auto}.in-menu #app:before{content:"";position:fixed;inset:0;z-index:-0;background:linear-gradient(90deg,rgba(12,25,34,.97),rgba(12,25,34,.86) 25%,rgba(12,25,34,.3) 48%,transparent 70%),linear-gradient(0deg,#0d1c28 0%,#0d1c28df 11%,transparent 53%);pointer-events:none}.topbar{height:108px;max-width:1800px;margin:auto;padding:0 4.7%;display:flex;align-items:center;justify-content:space-between;position:relative;border-bottom:1px solid var(--line);gap:28px}.brand{gap:8px;padding:0;justify-content:flex-start;white-space:nowrap}.brand>img{height:51px;width:51px}.brand>span{font-size:23px;font-weight:850;letter-spacing:-.8px;line-height:1.1;text-align:left}.brand-light{font-weight:350}.brand small{display:block;font-size:9px;letter-spacing:3px;color:#9aafb8;font-weight:500;margin-top:7px}.topbar nav{display:flex;gap:36px;align-self:stretch;align-items:center;margin-right:auto;margin-left:38px}.topbar nav button{height:100%;position:relative;font-size:14px;color:#a7bac2;font-weight:600;padding:0 3px}.topbar nav .nav-active{color:#f1f4ec}.nav-active:after{content:"";height:3px;background:var(--mint);position:absolute;bottom:-1px;left:0;right:0;border-radius:3px}.count{font-size:10px;background:#ffffff10;border:1px solid #ffffff1b;padding:2px 5px;border-radius:4px}.top-actions{display:flex;align-items:center;gap:10px}.winter-label{display:flex;gap:9px;align-items:center;font-size:10px;letter-spacing:1.8px;color:var(--mint);margin-right:24px}.icon-button{width:44px;height:44px;border:1px solid #ffffff20;border-radius:50%;background:#10233265;flex-shrink:0;color:#c0d1d6}.icon-button:hover{background:#ffffff12}.lobby{position:relative;max-width:1640px;margin:0 auto;padding:0 5%}.hero{padding-top:60px;width:49%;min-height:487px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:650;color:#97bcbf;display:flex;gap:8px;align-items:center}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #bbeddf55}.hero h1{font-size:clamp(44px,4.8vw,77px);font-weight:760;line-height:1.055;letter-spacing:-3px;margin:23px 0 20px;color:#f4f2e9}.hero h1>span{color:var(--mint)}.hero-copy{font-size:15px;line-height:1.8;color:#afc2ca;margin:0 0 26px}.mode-picker{display:inline-flex;padding:4px;border:1px solid #ffffff19;border-radius:12px;background:#122733a6;gap:3px}.mode-button{padding:10px 12px;min-height:42px;font-size:12px;color:#a6bbc4;border-radius:8px;gap:7px;white-space:nowrap}.mode-button.active{background:#a8dacc1e;color:var(--mint);box-shadow:inset 0 0 0 1px #bddfc52b}.mode-button:hover{background:#ffffff0c}.mode-description{font-size:11px;color:#8da6b2;margin:12px 0 20px;line-height:1.5}.hero-buttons{display:flex;align-items:center;gap:24px}.primary{background:var(--orange);color:#1e272b;font-weight:750;border-radius:9px;padding:15px 22px;min-height:50px;box-shadow:0 6px 28px #07101924;justify-content:center}.primary:hover{background:#ffa17e;color:#142028}.play-button{min-width:206px;gap:12px}.play-button>svg:last-child{margin-left:22px}.text-button{color:#b6cbd0;font-size:12px;font-weight:600;min-height:44px;padding:7px 1px}.text-button:hover{color:var(--mint)}.device-note{display:flex;align-items:center;gap:7px;font-size:10px;color:#8ca4af;margin:23px 0}.device-note>span{border:1px solid #ffffff25;border-radius:4px;font-size:8px;color:#b5c9ce;padding:3px 5px;letter-spacing:.6px}.device-note>i{height:12px;width:1px;background:#fff2;margin:0 3px}.venue-tag{position:absolute;top:398px;right:5%;display:flex;align-items:center;gap:13px;background:#142530b0;border:1px solid #e1ffff20;padding:15px 15px 15px 18px;border-radius:12px;backdrop-filter:blur(16px);min-width:260px;box-shadow:0 10px 40px #09141c22}.live-dot,.small-dot{width:6px;height:6px;background:#bbefcf;display:inline-block;border-radius:50%}.venue-tag small{font-size:8px;letter-spacing:2px;color:#a8c7ca;display:block}.venue-tag strong{display:block;font-size:17px;letter-spacing:-.3px;font-weight:600;margin:5px 0}.venue-tag div>span{color:#8eafb9;font-size:10px}.venue-tag .icon-button{width:34px;height:34px;margin-left:25px}.arena-strip{margin-top:24px;padding-bottom:25px}.strip-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.strip-heading .eyebrow{font-size:8px;letter-spacing:2px}.strip-heading h2{font-size:22px;font-weight:550;letter-spacing:-.6px;margin:8px 0 0}.arena-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.arena-card{display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden;border-radius:10px;border:1px solid #ffffff20;background:#152936;position:relative;text-align:left}.arena-card.selected{border-color:#bcebd5a8;box-shadow:0 0 0 1px #bcebd51f}.mini-scene{height:105px;position:relative;overflow:hidden;background:linear-gradient(0deg,#10242e,var(--card-sky));isolation:isolate}.mini-aurora{position:absolute;top:10px;left:10%;height:40px;width:90%;transform:rotate(-12deg);background:linear-gradient(0deg,transparent,var(--card-color),transparent);opacity:.17;filter:blur(8px)}.mini-mountain{position:absolute;bottom:18px;left:-5%;width:80%;height:95px;clip-path:polygon(0 100%,14% 62%,21% 76%,46% 5%,60% 53%,76% 17%,100% 100%);background:linear-gradient(155deg,#8ba8b955,#7592a225)}.mini-mountain.m2{left:52%;height:82px;background:linear-gradient(155deg,#bbdce44a,#3c536455)}.mini-table{position:absolute;width:48%;height:61%;left:28%;top:28%;border:5px solid #729797;border-radius:7px;background:var(--card-surface);transform:perspective(190px) rotateX(47deg) rotate(-21deg);box-shadow:0 5px #142b34,0 7px 0 var(--card-color),0 14px #142733,0 22px 15px #0006}.mini-table:before{content:"";position:absolute;top:48%;height:1px;background:var(--card-color);width:100%;opacity:.6}.mini-table:after{content:"";position:absolute;width:23%;height:42%;top:29%;left:38%;border-radius:50%;border:1px solid var(--card-color);opacity:.5}.mini-table i,.mini-table b{position:absolute;width:10%;height:18%;border-radius:50%;background:#fa9878;box-shadow:0 2px #bf533d;left:30%;bottom:6%}.mini-table b{left:60%;top:6%;background:var(--card-color);box-shadow:0 2px #40525a}.mini-table em{position:absolute;width:6%;height:9%;background:#ffc587;top:44%;left:65%;border-radius:50%}.arena-number{position:absolute;left:12px;top:9px;font-size:9px;color:#d1e4e5a1;letter-spacing:1px}.arena-check{position:absolute;right:10px;top:9px;width:20px;height:20px;border-radius:50%;background:var(--mint);color:#28413e;display:grid;place-items:center}.arena-card-label{padding:13px 15px 12px}.arena-card-label strong{font-size:13px;font-weight:600;display:block}.arena-card-label small{display:flex;justify-content:space-between;font-size:9px;color:#8fabb5;margin-top:5px}.arena-card-label small span{color:#a9c9c6}.arena-card:hover .mini-table{filter:brightness(1.2)}.lobby-footer{position:relative;display:flex;align-items:center;gap:19px;max-width:1640px;margin:auto;padding:17px 5% 22px;border-top:1px solid #ffffff0c;color:#76909e;font-size:9px}.lobby-footer a img{width:70px;max-height:25px;object-fit:contain}.footer-controls{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.2px}.small-dot{width:4px;height:4px;opacity:.6}.modal-backdrop{position:fixed;inset:0;background:#04111c9e;backdrop-filter:blur(12px);display:grid;place-items:center;z-index:30;padding:30px;pointer-events:auto}.dialog{background:linear-gradient(150deg,#1a303c,#101e29);border:1px solid #88b2bc33;width:min(650px,100%);border-radius:19px;box-shadow:0 35px 130px #0009;max-height:92svh;display:flex;flex-direction:column;overflow:hidden}.dialog.wide{width:min(1060px,100%)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:29px 32px 22px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:28px;font-weight:600;letter-spacing:-.9px;line-height:1.2;margin:9px 0 0}.dialog-header .eyebrow{font-size:8px;letter-spacing:1.6px}.dialog-header .icon-button{width:38px;height:38px}.dialog-body{padding:24px 32px 30px;overflow:auto;scrollbar-width:thin;scrollbar-color:#8bb8bb50 transparent}.dialog-intro{font-size:13px;color:#a4bdc6;line-height:1.7;margin:0 0 20px}.arena-tabs{display:flex;gap:8px;margin-bottom:20px}.chip{min-height:40px;padding:8px 17px;border:1px solid #ffffff20;border-radius:30px;font-size:12px;color:#abc2cc}.chip.active{background:#badfcd;color:#162b2f;border-color:#badfcd}.arena-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.arena-card.large .mini-scene{height:118px}.setup-summary{display:flex;align-items:center;gap:16px;padding:15px;background:#7ebeb40d;border:1px solid #95cbb321;border-radius:10px;margin-bottom:24px}.table-emblem{color:var(--mint)}.setup-summary strong{font-size:15px;display:block}.setup-summary small{display:block;color:#9ab6c1;font-size:11px;margin-top:6px}.setup-summary .text-button{margin-left:auto}.field-label{display:block;font-size:12px;letter-spacing:.2px;color:#c5d8dc;margin-bottom:12px;font-weight:600}.segmented{display:flex;border-radius:8px;gap:3px;border:1px solid #ffffff16;padding:3px;background:#07162050;margin-bottom:18px}.segmented button{min-height:40px;min-width:42px;border-radius:5px;flex:1;font-size:13px;color:#9cb8c2}.segmented button.active{background:#c5eee021;color:#cef6e8}.segmented.compact{margin:0;display:inline-flex}.segmented.compact button{min-height:34px;padding:6px 13px;font-size:12px;min-width:36px}.names-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:23px}.name-field:only-child{grid-column:span 2}.name-field span{font-size:10px;display:block;color:#8fabb8;margin-bottom:7px}.name-field input{width:100%;min-height:44px;border:1px solid #7995a344;border-radius:7px;background:#0c1c26a0;color:#e5efed;padding:10px 13px}.field-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:19px 0 12px}.field-row .field-label{margin:0}.field-row>span{font-size:10px;color:#6e8f9e}.rival-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rival{padding:12px 5px;border:1px solid #ffffff13;border-radius:8px;flex-direction:column;gap:6px;background:#8aafbc06}.rival.selected{background:#d5ebc910;border-color:#b9e6cd87}.rival strong{font-size:12px}.rival small{font-size:9px;color:#8eabb6}.rival-portrait{display:block;width:min(100%,116px);aspect-ratio:1;overflow:hidden;border-radius:8px;background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--rival-color) 28%,#142b38),#0c1d29 85%);box-shadow:inset 0 0 0 1px #ffffff0a}.rival-portrait img{display:block;width:100%;height:100%;object-fit:contain}.rival.selected .rival-portrait{box-shadow:inset 0 0 0 1px #b9e6cd66}@media(max-width:420px){.rival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.rival-detail{font-size:10px;line-height:1.7;color:#8ba9b5;margin:12px 0 20px}.rival-detail strong{color:#bed3d9;font-weight:500}.setup-bottom{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;display:flex;align-items:center;gap:20px}.setup-bottom>p{font-size:10px;line-height:1.6;color:#85a3b1;max-width:290px}.setup-bottom .primary{margin-left:auto;white-space:nowrap;font-size:13px}.setting{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 0;border-bottom:1px solid var(--line)}.setting:first-child{padding-top:0}.setting strong{display:block;font-size:14px;font-weight:600}.setting small{font-size:11px;color:#8fadb9;display:block;margin-top:7px;line-height:1.5;max-width:280px}.toggle{width:46px;height:27px;padding:3px;border:1px solid #8ca5b02e;border-radius:30px;background:#ffffff0e;flex-shrink:0;justify-content:flex-start}.toggle i{width:19px;height:19px;border-radius:50%;background:#879da6}.toggle.on{background:#bce7d7;justify-content:flex-end}.toggle.on i{background:#1b4c43}.settings-bottom{display:flex;gap:12px;flex-wrap:wrap;padding-top:22px}.secondary{border:1px solid #98bcc53a;border-radius:9px;background:#9bbdc009;font-size:13px;padding:12px 18px;min-height:46px;color:#c3d7db}.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.howto>div>span{font-size:28px;font-weight:300;color:var(--orange)}h3{font-size:16px;font-weight:600}.howto p{font-size:12px;line-height:1.8;color:#9cb6c3}.controls-table{margin:25px 0;border-top:1px solid #ffffff1a}.controls-table>div{display:flex;gap:30px;padding:15px 0;border-bottom:1px solid #ffffff13;font-size:12px;line-height:1.6}.controls-table strong{width:90px;flex-shrink:0;color:var(--mint)}.controls-table span{color:#b0c4ce}.fine-print{font-size:11px;line-height:1.75;color:#87a3b1;margin:20px 0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.stats-grid>div{border:1px solid #adcbd526;padding:24px 20px;border-radius:12px;background:#ffffff03}.stats-grid strong{font-size:32px;font-weight:450;color:var(--mint);display:block}.stats-grid small{font-size:8px;letter-spacing:1px;color:#89aab7;display:block;margin-top:8px}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.badge{display:flex;align-items:center;text-align:center;flex-direction:column;gap:10px;border:1px solid #ffffff13;border-radius:10px;padding:20px 10px;opacity:.45}.badge.earned{opacity:1;background:#d6b85a0b;border-color:#e6c79d4d;color:#eed19e}.badge strong{font-size:12px}.badge small{font-size:9px;color:#9ab5bf;line-height:1.5}.badge>span{font-size:8px;letter-spacing:1px;margin-top:auto}.center-copy{text-align:center;line-height:1.8;color:#afc7ce;font-size:14px}.handoff-icon,.result-emblem{width:104px;height:104px;border-radius:50%;background:#bfeeda0b;border:1px solid #b2d8c929;display:grid;place-items:center;margin:5px auto 20px;color:var(--mint)}.full{width:100%}.cup-info{display:flex;gap:20px;align-items:center;color:var(--mint);padding:16px 0}.cup-info strong{font-size:13px}.cup-info p{font-size:12px;color:#9eb7c1;line-height:1.7}.cup-info svg{flex-shrink:0}.bracket-progress{display:flex;justify-content:center;gap:18px;margin-bottom:28px}.bracket-progress span{font-size:11px;color:#718b9c;border-bottom:2px solid #ffffff15;padding:10px 15px}.bracket-progress .active{color:var(--mint);border-color:#a4d0bf}.bracket-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:24px}.fixture{display:flex;align-items:center;justify-content:space-between;border:1px solid #ffffff20;border-radius:10px;padding:25px 20px;gap:12px;background:#081b2650}.fixture>strong{font-size:14px;font-weight:500}.fixture>strong:last-child{text-align:right}.fixture>span{font-size:12px;color:#7696a8}.fixture .winner{color:var(--mint)}.fixture small{font-size:8px;color:#e5ba8d;margin-left:4px}.fixture.your-fixture{border-color:#a1c6b960}.champion{display:flex;align-items:center;justify-content:center;gap:20px;color:#f1d493;font-size:20px}.result-score{display:flex;align-items:center;justify-content:center;gap:32px;margin:25px auto}.result-score>div{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:120px}.result-score div>span{color:#a4bec9;font-size:12px}.result-score strong{font-size:74px;line-height:1;font-weight:600;letter-spacing:-3px}.result-score>span{font-size:30px;color:#6d8d9c}.result-score>div:first-child strong{color:var(--orange)}.match-stats{display:flex;justify-content:space-around;padding:23px 0;margin-bottom:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:12px}.match-stats span{font-size:9px;color:#8ba8b5;text-align:center}.match-stats b{display:block;font-size:16px;color:#d0e1e1;margin-bottom:6px;font-weight:500}.leaderboard{margin-bottom:24px}.leaderboard>div{display:flex;gap:20px;align-items:center;border-bottom:1px solid #ffffff18;padding:21px 14px}.leaderboard>div:first-child{background:#f4ce960a;border-radius:8px;color:#f0d19b}.leaderboard b{width:28px;font-size:20px}.leaderboard strong{font-size:16px}.leaderboard strong:nth-child(2){flex:1}.leaderboard span{font-size:9px;color:#95b3c0}.leaderboard small{font-size:12px;color:#96b5c0;width:25px;text-align:right}.pause-actions{display:flex;flex-direction:column;gap:12px;margin-top:25px}.credits p{font-size:13px;line-height:1.8;color:#a1bcc8}.credits a{font-size:13px}.game-top{display:flex;align-items:center;gap:16px;padding:20px 3%;height:100px;background:linear-gradient(#07151bde,transparent);position:relative}.match-caption strong{display:block;font-size:14px;font-weight:500}.match-caption span{display:block;font-size:10px;color:#9ab5bf;margin-top:6px}.game-top>.icon-button:last-child{margin-left:auto}.scoreboard{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:23px;padding:14px 25px;background:#0c202ce0;border:1px solid #afcbd328;border-radius:14px;min-width:400px;backdrop-filter:blur(12px)}.score-player{position:relative;min-width:88px;padding-left:14px}.score-player strong{font-size:13px;font-weight:550;max-width:130px;display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.score-player small{font-size:8px;letter-spacing:1.6px;color:#88a6b5;display:block;margin-top:5px}.score-dot{position:absolute;top:4px;left:0;width:5px;height:5px;border-radius:50%;background:var(--mint)}.score-dot.you{background:var(--orange)}.scores{display:flex;gap:16px;align-items:center}.scores b{font-size:36px;font-weight:600;line-height:1;color:var(--mint);font-variant-numeric:tabular-nums}.scores b:first-child{color:var(--orange)}.scores span{color:#6c91a0;font-size:23px}#match-callout{position:absolute;left:50%;top:44svh;transform:translate(-50%,-50%) scale(.8);opacity:0;transition:opacity .2s,transform .2s;font-size:clamp(36px,5vw,76px);letter-spacing:-2px;white-space:nowrap;font-weight:850;color:#f8edd7;text-shadow:0 3px 30px #0b243c;pointer-events:none}#match-callout.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.game-bottom{position:absolute;top:calc(100svh - 112px);left:0;right:0;height:112px;display:flex;align-items:center;padding:20px 3%;gap:20px;background:linear-gradient(transparent,#081823ce)}.arena-info strong{display:block;font-size:12px;color:#aac7ce;font-weight:400;margin-top:9px}.arena-info .eyebrow{font-size:8px}.control-hint{display:flex;align-items:center;gap:10px;font-size:10px;color:#aac1c9;margin-left:auto}.key{padding:7px 9px;border:1px solid #e1ffff26;border-radius:5px;font-size:9px;color:#c4d9df;background:#0a1c24aa}.key:nth-of-type(2){margin-left:12px}.strike-button{border:1px solid #fab29155;color:#ffc3a4;background:#a5523745;width:82px;height:72px;display:flex;flex-direction:column;border-radius:14px;gap:6px;backdrop-filter:blur(8px)}.strike-button span{font-size:8px;letter-spacing:1px}.rally-pill{position:absolute;top:115px;left:50%;transform:translate(-50%);font-size:11px;font-weight:700;color:#ecd5a0;letter-spacing:2px;text-shadow:0 2px 10px #000}.fatal{position:relative;margin:20vh auto;max-width:650px;padding:30px;pointer-events:auto}.fatal p{line-height:1.6}.fatal button{background:var(--orange);padding:15px;border-radius:8px;color:#10222d}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);max-width:90vw;padding:15px 23px;border-radius:10px;background:#d3ecdf;color:#193b3a;font-size:13px;box-shadow:0 8px 50px #0007;opacity:0;transition:.2s;pointer-events:none;z-index:60}#toast.show{opacity:1;transform:translate(-50%)}@media(min-width:1600px){.hero{padding-top:80px;min-height:560px}.arena-strip{margin-top:30px}.mini-scene{height:139px}.venue-tag{top:470px}.arena-card-label{padding:18px}.arena-card-label strong{font-size:15px}.topbar{height:118px}.hero-copy{font-size:17px}.mode-button{font-size:14px;padding:13px 15px}.device-note,.hero .eyebrow{font-size:12px}.lobby-footer{font-size:11px}.footer-controls{font-size:10px}}@media(min-width:1000px)and (max-height:800px){.topbar{height:83px}.hero{padding-top:32px;min-height:415px}.hero h1{font-size:58px;margin:18px 0 15px}.hero-copy{font-size:13px;margin-bottom:20px}.mode-description{margin:9px 0 14px}.device-note{margin-top:17px}.venue-tag{top:310px}.arena-strip{margin-top:10px}.mini-scene{height:85px}.arena-strip{padding-bottom:18px}.lobby-footer{padding-top:12px;padding-bottom:13px}.strip-heading h2{font-size:21px}}@media(max-width:1100px){.winter-label{display:none}.topbar nav{margin-left:15px;gap:25px}.hero{width:55%}.hero h1{font-size:61px}.mode-button{padding:10px 9px}.hero-buttons{gap:18px}.venue-tag{right:4%;min-width:230px}.footer-controls{font-size:7px}.scoreboard{min-width:355px;gap:15px;padding:12px 18px}.score-player{min-width:76px}.match-caption{max-width:160px}.control-hint{font-size:9px}.key{font-size:8px}.game-bottom{gap:15px}}@media(max-width:760px){:root{font-size:15px}.topbar{height:83px;padding:0 6%;gap:10px}.brand>img{width:43px;height:43px}.brand>span{font-size:20px}.brand small{font-size:7px;letter-spacing:2.5px}.topbar nav{display:none}.top-actions{gap:8px}.top-actions .icon-button{width:38px;height:38px}.top-actions .icon-button svg{width:19px}.lobby{padding:0 6%}.hero{padding-top:31px;width:100%;min-height:0}.hero .eyebrow{font-size:9px;letter-spacing:1.8px}.hero h1{font-size:55px;letter-spacing:-2.6px;margin:20px 0 17px}.hero-copy{font-size:13px;line-height:1.8;margin-bottom:22px}.in-menu #app:before{background:linear-gradient(90deg,#0d1c29de,#0c192266),linear-gradient(0deg,#0d1c28 0%,#0d1c28d9 22%,transparent 60%)}.mode-picker{gap:3px;width:auto;max-width:100%}.mode-button{font-size:11px;padding:10px 9px;gap:6px}.mode-button svg{width:17px}.mode-description{font-size:10px;margin:13px 0 17px}.hero-buttons{gap:19px}.play-button{min-width:182px}.primary{padding:14px 18px;font-size:13px}.play-button>svg:last-child{margin-left:6px}.device-note{font-size:9px}.venue-tag{position:relative;top:auto;right:auto;width:100%;min-width:0;margin:30px 0 24px;background:#17303d70;padding:13px 17px;backdrop-filter:blur(5px)}.venue-tag strong{font-size:16px}.venue-tag .icon-button{margin-left:auto}.venue-tag>div{flex:1}.arena-strip{margin-top:0}.strip-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.strip-heading h2{font-size:21px}.strip-heading .text-button{font-size:10px}.arena-preview{grid-template-columns:repeat(2,1fr);gap:12px}.mini-scene{height:98px}.arena-card-label{padding:11px}.arena-card-label strong{font-size:12px}.lobby-footer{margin-top:0;padding:18px 6% 25px;gap:12px;flex-wrap:wrap;font-size:9px}.footer-controls{width:100%;margin:4px 0 0;font-size:8px;gap:6px}.lobby-footer a img{width:63px}.modal-backdrop{padding:14px}.dialog{max-height:94svh;border-radius:14px}.dialog-header{padding:22px 21px 18px}.dialog-header h2{font-size:24px}.dialog-body{padding:20px}.dialog-header .eyebrow{font-size:7px}.arena-grid{grid-template-columns:repeat(2,1fr);gap:11px}.arena-card.large .mini-scene{height:105px}.arena-tabs{gap:5px;flex-wrap:wrap}.chip{font-size:11px;padding:7px 13px}.setup-bottom{flex-direction:column;align-items:stretch;gap:9px}.setup-bottom>p{max-width:none;margin:0 0 10px}.setup-bottom .primary{margin:0}.rival-grid{gap:6px}.rival{padding:11px 4px}.rival small{font-size:8px}.setup-summary{padding:13px;gap:12px}.setup-summary small{font-size:9px}.field-row>span{font-size:8px}.setting{gap:15px}.setting small{font-size:10px}.setting strong{font-size:13px}.setting .segmented.compact button{min-width:26px;padding:6px 8px;font-size:10px}.howto{grid-template-columns:1fr;gap:4px}.howto>div{padding-left:42px;position:relative}.howto>div>span{position:absolute;left:0;top:13px;font-size:22px}.howto h3{font-size:14px;margin:13px 0 5px}.howto p{font-size:11px;margin-top:5px}.controls-table>div{gap:16px;font-size:11px}.controls-table strong{width:66px}.fine-print{font-size:10px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid>div{padding:20px 15px}.stats-grid strong{font-size:28px}.badges{grid-template-columns:repeat(2,1fr)}.bracket-list{grid-template-columns:1fr}.bracket-progress{gap:5px}.bracket-progress span{font-size:9px;padding:10px 7px}.result-score>div{min-width:86px}.result-score{gap:18px}.result-score strong{font-size:60px}.leaderboard>div{gap:11px;padding:17px 7px}.leaderboard span{font-size:7px}.leaderboard strong{font-size:13px}.leaderboard b{font-size:16px;width:15px}.leaderboard small{width:14px}.game-top{padding:14px 4%;height:85px;gap:8px}.match-caption{display:none}.scoreboard{min-width:0;gap:12px;padding:10px 12px;width:calc(100% - 128px);justify-content:center;border-radius:10px}.score-player{min-width:0;padding-left:8px;flex:1}.score-player strong{font-size:10px;max-width:76px}.score-player small{font-size:6px;letter-spacing:.8px}.score-dot{width:4px;height:4px}.scores{gap:7px}.scores b{font-size:28px}.scores span{font-size:16px}.game-top .icon-button{width:38px;height:38px}.score-player.opponent{text-align:right;padding:0 8px 0 0}.opponent .score-dot{left:auto;right:0}.game-bottom{top:calc(100svh - 112px);height:112px;padding:18px 5% calc(18px + env(safe-area-inset-bottom));gap:12px}.arena-info{max-width:210px;flex:1}.arena-info strong{font-size:10px;line-height:1.6;max-width:160px}.arena-info .eyebrow{font-size:7px}.control-hint{display:none}.strike-button{width:72px;height:69px}.sound-game{width:38px;height:38px}.rally-pill{top:94px;font-size:9px}#match-callout{font-size:36px;letter-spacing:-1px;top:44svh}.center-copy{font-size:13px}.champion{font-size:17px}}@media(max-height:520px)and (orientation:landscape){.topbar{height:65px}.hero{padding-top:20px;max-width:52%;min-height:355px}.hero h1{font-size:44px;margin:15px 0 12px}.hero-copy{font-size:11px;line-height:1.6;margin-bottom:15px}.hero .eyebrow{font-size:8px}.mode-button{font-size:10px;padding:7px 8px;min-height:34px}.mode-button svg{width:15px}.mode-description{margin:8px 0 12px;font-size:9px}.device-note{margin:13px 0}.venue-tag{position:absolute;top:230px;right:4%;width:230px;margin:0}.arena-strip{margin-top:12px}.arena-preview{grid-template-columns:repeat(4,1fr)}.game-top{height:70px;padding-top:10px}.game-bottom{top:calc(100svh - 85px);height:85px;padding-bottom:10px}.game-top .scoreboard{padding:9px 16px;max-width:390px}.game-top .scores b{font-size:27px}.game-top .score-player small{font-size:7px}.strike-button{width:66px;height:59px}.rally-pill{top:72px}.arena-info strong{font-size:9px}.dialog{max-height:94svh}.dialog-header{padding:15px 22px}.dialog-header h2{font-size:22px}.dialog-body{padding:18px 22px}.control-hint{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.in-game{overflow:hidden;height:100svh}.in-game #app{height:100svh;overflow:hidden}@media(min-width:1200px)and (min-height:800px){.tv .hero{min-height:535px;padding-top:64px}.tv .arena-strip{margin-top:15px}.tv .mini-scene{height:110px}}@media(min-width:1200px){.tv .dialog{width:min(820px,90vw)}.tv .dialog.wide{width:min(1200px,94vw)}.tv .dialog-body{padding:28px 36px}.tv .dialog button{min-height:48px;font-size:16px}.tv .dialog h2{font-size:32px}.tv .dialog p,.tv .setting small,.tv .setup-summary small,.tv .rival-detail,.tv .field-label{font-size:14px}.tv .dialog .rival{padding:14px}.tv .rival strong{font-size:16px}.tv .rival small{font-size:12px}.tv .dialog .toggle{min-height:28px}.tv .scoreboard{min-width:500px;padding:18px 28px}.tv .scores b{font-size:42px}.tv .score-player strong{font-size:17px}.tv .score-player small{font-size:11px}.tv .game-top .icon-button{width:54px;height:54px}.tv .match-caption strong{font-size:18px}.tv .match-caption span,.tv .arena-info strong,.tv .control-hint{font-size:13px}.tv .key{font-size:12px}.tv .mode-button{font-size:16px;min-height:50px}.tv .mode-description{font-size:13px}.tv .topbar nav button{font-size:18px}.tv .arena-card-label strong{font-size:17px}.tv .arena-card-label small{font-size:12px}.tv .text-button{font-size:14px}.tv .setting strong{font-size:18px}.tv .setup-summary strong{font-size:20px}.tv .name-field span{font-size:14px}.tv .primary{font-size:17px}.tv .fixture strong{font-size:19px}.tv .bracket-progress span{font-size:15px}}.tv button:focus,.tv a:focus{outline:3px solid #f8d792!important;outline-offset:4px}.language-button{font-size:12px;font-weight:750;padding:10px;border:1px solid #ffffff26;border-radius:10px;white-space:nowrap}.language-button span{opacity:.5}.name-edit{width:100%;text-align:left;padding:13px 15px;background:#ffffff08;border:1px solid #ffffff20;border-radius:10px}.name-preview{display:block;font-size:26px;min-height:65px;padding:14px 18px;background:#ffffff09;border:1px solid #ffffff24;border-radius:12px;margin-bottom:15px}.name-preview small{float:right;font-size:12px;color:#a2b1bc;margin-top:8px}.name-keyboard{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.name-keyboard button{padding:10px;min-width:0}.keyboard-actions{display:flex;justify-content:center;gap:12px;margin-top:18px;flex-wrap:wrap}.assist-badge{color:#92ead7;display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}.tv *,.tv *:before,.tv *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.tv .modal-backdrop{background:#040d17f5}.tv .dialog{background:#101e2c}.tv .game-top{background:linear-gradient(#08121bf2,#08121b99,transparent)}.tv .game-bottom{background:linear-gradient(transparent,#08121bcc)}.tv .control-hint{text-align:center;display:block;font-size:15px}@media(max-width:1000px)and (orientation:landscape){.tv .game-bottom{justify-content:flex-end}.tv .arena-info{position:absolute;left:3%;bottom:12px;width:18vw;max-width:170px}.tv .control-hint{position:absolute;left:3%;bottom:58px;width:18vw;max-width:170px;margin:0;text-align:left;font-size:10px;line-height:1.45}.tv .control-hint .assist-badge{font-size:9px;letter-spacing:.5px;margin-bottom:3px}.tv .control-hint .key{padding:2px 3px;font-size:9px;white-space:nowrap}.tv .control-hint .key:nth-of-type(2){margin-left:0}}@media(max-width:600px){.name-keyboard{grid-template-columns:repeat(7,1fr)}.language-button{padding:8px;font-size:10px}.language-button span{display:none}}body:not(.touch) .strike-button{display:none}.touch button,.touch .icon-button,.touch .sound-game,.touch a{min-width:48px;min-height:48px}.touch .control-hint{display:none}.all-games{color:#bbeddf;font-size:12px;font-weight:700;padding:10px 4px;white-space:nowrap}#fps-panel{position:fixed;top:2px;right:8px;z-index:110;background:#08121be6;color:#c8fce1;font:12px monospace;padding:3px 6px;pointer-events:none}@media(max-width:600px){.touch .topbar{height:auto;flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}.touch .topbar .brand{flex:1 0 100%;justify-content:flex-start}.touch .top-actions{width:100%;justify-content:flex-end}.touch .language-button{margin-right:auto}}
