@font-face{font-family:'Barlow Condensed';font-weight:800;font-style:italic;font-display:swap;src:url('assets/fonts/barlow-condensed-latin-800-italic.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-style:normal;font-display:swap;src:url('assets/fonts/barlow-condensed-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-weight:400;font-style:normal;font-display:swap;src:url('assets/fonts/dm-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-weight:700;font-style:normal;font-display:swap;src:url('assets/fonts/dm-sans-latin-700-normal.woff2') format('woff2')}
:root{color-scheme:dark;--gold:#edba78;--muted:#8290a0;--border:#ffffff12;--panel:#111822}*{box-sizing:border-box}body{margin:0;background:#080b12;color:#f3f2ee;font-family:'DM Sans',Arial,sans-serif;background-image:radial-gradient(ellipse at 80% 0,#22344740,transparent 45%)}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.topbar{height:78px;max-width:1440px;padding:0 44px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{text-decoration:none;color:#faf7ef;font-size:22px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:8px}.brand-icon{color:var(--gold);font-size:28px}.brand small{font-size:8px;letter-spacing:2px;font-weight:600;border-left:1px solid #ffffff30;padding-left:13px;margin-left:6px;color:#b6aa95}.edition{font-size:9px;letter-spacing:2px;color:#788b9e}#sound{border:1px solid #ffffff20;color:#9eafbc;background:transparent;font-size:9px;padding:9px 12px;letter-spacing:1px;border-radius:3px}main{max-width:1440px;padding:0 44px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;padding:35px 0 28px}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:700;color:var(--gold);margin:0 0 12px}h1{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:800;font-size:68px;letter-spacing:-1.5px;line-height:1;margin:0;text-transform:uppercase;font-style:italic}h1 em{color:var(--gold);font-style:inherit}.subtitle{color:var(--muted);font-size:12px;margin:12px 0 0}.live-tag{display:flex;align-items:center;gap:8px;color:#8c9dab;font-size:9px;letter-spacing:1px}.live-tag>span,.live-dot{width:5px;height:5px;border-radius:50%;background:#b8d792;box-shadow:0 0 12px #a2e09355}.match-shell{border:1px solid #ffffff1b;border-radius:8px;overflow:hidden;box-shadow:0 22px 75px #0006}.scoreboard{height:96px;background:linear-gradient(100deg,#1e1831,#111b26 48%,#112c26);display:grid;grid-template-columns:1fr 190px 1fr;padding:15px 28px;align-items:center}.team-score{display:flex;align-items:center;gap:16px}.team-score.away{justify-content:flex-end;text-align:right}.team-badge{width:49px;height:49px;background:#552988;color:#f5cf61;border:1px solid #ffffff30;display:flex;align-items:center;justify-content:center;font:italic 800 18px 'Barlow Condensed',sans-serif;border-radius:50%;letter-spacing:-1px}.team-score small,.clock small{display:block;font-size:8px;letter-spacing:1.4px;color:#c8c5cc;margin-bottom:5px}.team-score strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:21px;letter-spacing:.7px}.team-score>b{font:700 43px 'Barlow Condensed',Impact,sans-serif;margin-left:auto;min-width:40px;text-align:center}.team-score.away>b{margin-left:0;margin-right:auto}.clock{text-align:center;border-left:1px solid #ffffff13;border-right:1px solid #ffffff13}.clock>strong{display:block;font:600 33px 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;line-height:1.1}.clock>span{font-size:7px;color:#bdab8b;letter-spacing:1px}.viewport{position:relative;background:#0c101a;aspect-ratio:1.95;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.broadcast{position:absolute;top:20px;left:23px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:1px;text-shadow:0 1px 5px #000}.broadcast>span:last-child{font-size:7px;background:#f5efdc;color:#121a22;padding:3px 5px;margin-left:6px}.shot-clock{position:absolute;right:22px;top:17px;background:#060b16a0;border:1px solid #ffffff14;border-radius:4px;padding:7px 10px;color:#b8bfc9;font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:12px}.shot-clock b{font-size:20px;color:#f2b47e;font-variant-numeric:tabular-nums}.player-label{position:absolute;bottom:17px;left:22px;background:#080f1cc9;border-left:2px solid var(--gold);font-size:9px;letter-spacing:1px;padding:10px 12px}.game-message{position:absolute;top:62px;left:50%;transform:translateX(-50%);font-size:15px;text-shadow:0 2px 7px #000;color:#ffe5b5;font-weight:700;text-align:center;pointer-events:none;width:80%}.charge-wrap{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:220px;text-align:center}.charge-wrap span{font-size:8px;font-weight:700;letter-spacing:1px;color:#fff1cf;text-shadow:0 1px 3px #000}.charge-track{height:10px;margin-top:8px;background:#101826d9;border:1px solid #ffffff44;position:relative;border-radius:3px;overflow:hidden}.sweet-zone{position:absolute;left:59%;width:16%;height:100%;background:#e9b969}.charge-track i{position:absolute;left:0;top:0;height:100%;width:0;background:#8bd4f5;border-right:2px solid #fff}.overlay{position:absolute;inset:0;display:flex;align-items:center;padding-left:7%;background:linear-gradient(90deg,#07101de8,#0a142c40 70%,#060b1620);backdrop-filter:blur(1px)}[hidden]{display:none!important}.overlay-card{max-width:500px}.overlay h2{font:italic 800 clamp(30px,4.3vw,66px)/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.5px;margin:18px 0;color:#fff4e1}.overlay-card>p:not(.eyebrow){font-size:12px;color:#b5c2d1;line-height:1.8}.primary{display:flex;justify-content:space-between;gap:70px;border:1px solid #f5d09e;background:#e9b77c;color:#15181b;padding:15px 22px;border-radius:3px;font-size:12px;font-weight:700;margin:22px 0 15px;box-shadow:0 4px 30px #c98d4720}.primary:hover{background:#f9d19e}.overlay-card>small{color:#8798ab;font-size:9px}.match-footer{display:flex;align-items:center;gap:17px;padding:14px 20px;background:#101822;font-size:8px;letter-spacing:1px}#arena-name{color:#d6ab77;white-space:nowrap}#status{margin-left:auto;color:#94a6b8;letter-spacing:0;font-size:10px}.match-footer button{color:#bcc8d2;border:0;background:transparent;font-size:8px;letter-spacing:1px;padding:3px}.control-strip{display:flex;justify-content:space-between;gap:10px;padding:20px 6px;border-bottom:1px solid var(--border)}.control-strip>div{display:flex;align-items:center;gap:4px}kbd{display:inline-flex;align-items:center;justify-content:center;background:#131d29;border:1px solid #34414e;border-bottom-width:2px;min-width:22px;height:23px;border-radius:4px;font:9px 'DM Sans',sans-serif;color:#d2dce4;padding:0 6px}.control-strip span{font-size:8px;letter-spacing:.6px;color:#73869a;margin-left:4px}.setup{padding:32px 0}.setup-title{position:relative}.setup-title .eyebrow{font-size:8px;margin-bottom:7px}.setup-title h2{font-size:22px;letter-spacing:-.6px;margin:0}.setup-title>span{position:absolute;right:0;bottom:3px;font-size:10px;color:#78889a}.team-picker{display:flex;align-items:center;gap:24px;margin:24px 0}.team-picker label{flex:1;color:#9faabb;font-size:8px;letter-spacing:1px}.team-picker select{display:block;width:100%;margin-top:9px;padding:13px 14px;background:#121b28;color:#e9e8df;border:1px solid #ffffff20;border-radius:5px;font-size:13px;font-weight:600}.versus{color:#c49a6e;font-style:italic;font-size:12px;font-weight:800;padding-top:15px}.arenas{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.arena{background:#111a26;border:1px solid #ffffff17;border-radius:6px;padding:4px;text-align:left;color:inherit;transition:border-color .2s,transform .2s;overflow:hidden}.arena:hover{transform:translateY(-3px);border-color:#9c825f}.arena.active{border-color:#c59c6e;background:#1a2028}.arena-art{height:105px;display:block;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#b0905b66,transparent 70%),repeating-linear-gradient(8deg,#ffffff08 0 1px,transparent 1px 10px),linear-gradient(#0e192a 40%,#314359 41%,#151d2d 65%,#916f45 66%)}.arena-art:after{content:'';position:absolute;width:70%;height:34px;border:1px solid #eee4c780;border-radius:50%;left:15%;bottom:-12px}.arena-art i{display:block;width:50%;height:3px;background:#d8efff;box-shadow:0 0 30px 5px #96d3ff55;position:absolute;top:15px;left:25%}.arena-art b{position:absolute;left:12px;top:10px;font:italic 30px Impact,sans-serif;color:#ffffff33}.arena-sunset{background:radial-gradient(circle at 70% 30%,#ffe2a3 0 12px,transparent 13px),linear-gradient(#6e819a,#dda37d 65%,#777d69 66%)}.arena-sunset i{background:#233e4d;box-shadow:none;top:40px;width:130%;left:-15%;height:40px;clip-path:polygon(0 100%,0 70%,10% 70%,15% 0,17% 70%,40% 70%,45% 0,47% 70%,80% 70%,85% 0,87% 70%,100% 70%,100% 100%)}.arena-rooftop{background:linear-gradient(#101d3a,#51356c 65%,#202f46 66%)}.arena-rooftop i{background:#f07dd0;box-shadow:0 0 20px #dc67d6;top:66px;width:100%;left:0;height:2px}.arena-info{padding:14px 10px;display:block}.arena-info small{color:#ba9974;font-size:7px;letter-spacing:1.8px}.arena-info strong{display:block;margin:7px 0;font-size:15px}.arena-info strong i{float:right;font-style:normal;color:#e1b47f}.arena-info>span{font-size:10px;color:#7f91a4}footer{border-top:1px solid var(--border);padding:22px 0 28px;display:flex;justify-content:space-between;color:#63758b;font-size:8px;letter-spacing:1px}footer span:last-child{letter-spacing:0}.touch-controls{display:none}.webgl-error{position:absolute;inset:0;background:#101725;z-index:10;display:grid;place-items:center;padding:30px;color:#ffce9e;text-align:center}
@media(max-width:900px){.control-strip{flex-wrap:wrap;justify-content:center;gap:14px}.heading .live-tag{display:none}.setup-title>span{position:static;display:block;margin-top:8px}.team-score{gap:10px}.team-score strong{font-size:18px}.scoreboard{grid-template-columns:1fr 130px 1fr;padding:12px 16px}.team-badge{width:38px;height:38px;font-size:14px}.team-score>b{font-size:34px}.touch-controls{display:flex;justify-content:space-between;gap:15px;padding:16px 0}.dpad{display:grid;grid-template-columns:repeat(3,42px);gap:4px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.touch-controls button{touch-action:none;user-select:none;background:#162434;color:#bad4e8;border:1px solid #38526b;border-radius:5px;min-height:40px;font-size:10px;font-weight:700}.touch-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-width:250px;flex:1}.touch-actions #touch-shoot{grid-column:1/4;background:#d6aa77;color:#121b27}.touch-controls button:active{filter:brightness(1.4)}}
@media(max-width:600px){.topbar{padding:0 16px;height:62px}.brand{font-size:19px}.brand small{display:none}.edition{display:none}main{padding:0 12px}.heading{padding:25px 4px}h1{font-size:47px}.subtitle{font-size:10px}.eyebrow{font-size:8px}.scoreboard{height:78px;padding:9px;grid-template-columns:1fr 83px 1fr}.team-badge{display:none}.team-score{gap:5px}.team-score strong{font-size:15px}.team-score small{font-size:6px;letter-spacing:.5px}.team-score>b{font-size:32px;min-width:25px}.clock>strong{font-size:27px}.clock small{font-size:6px;letter-spacing:.3px}.clock>span{font-size:5px}.viewport{aspect-ratio:1.2}.broadcast{left:10px;top:10px;font-size:8px}.shot-clock{top:8px;right:9px;font-size:6px;padding:4px 6px;gap:7px}.shot-clock b{font-size:16px}.overlay{padding-left:7%}.overlay h2{font-size:40px}.overlay-card>p:not(.eyebrow){font-size:10px}.overlay-card>small{font-size:7px}.primary{margin:15px 0 10px;padding:12px 16px;gap:40px}.overlay .eyebrow{font-size:7px}.match-footer{padding:11px 9px;gap:8px;flex-wrap:wrap}#status{order:4;width:100%;font-size:9px;margin-top:3px}.match-footer button:first-of-type{margin-left:auto}.control-strip{display:none}.player-label{bottom:10px;left:9px;font-size:7px;padding:8px}.charge-wrap{width:140px;bottom:47px;left:65%}.charge-wrap span{font-size:6px}.game-message{top:44px;font-size:11px}.setup{padding:20px 0}.setup-title h2{font-size:20px}.setup-title>span{font-size:9px}.team-picker{gap:10px;margin:20px 0}.team-picker select{font-size:10px;padding:11px 7px}.versus{font-size:9px}.arenas{gap:7px}.arena-art{height:75px}.arena-info{padding:11px 5px}.arena-info strong{font-size:12px}.arena-info small{font-size:6px;letter-spacing:1px}.arena-info>span{font-size:8px;line-height:1.5;display:block}.arena-info i{display:none}footer{gap:18px;font-size:7px;line-height:1.8}footer span:last-child{max-width:55%}.touch-actions{max-width:195px}}
@media(prefers-reduced-motion:reduce){.arena{transition:none}.arena:hover{transform:none}}
.career-bar{display:flex;align-items:center;gap:35px;padding:17px 23px;margin:0 0 15px;background:linear-gradient(105deg,#1d2331,#111821);border:1px solid #ffffff13;border-radius:6px}.career-bar>div:first-child{min-width:190px}.career-bar span{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:1px}.career-bar strong{float:right;font-size:10px;color:#e5e5df}.career-track{height:4px;background:#ffffff10;margin:9px 0 6px;overflow:hidden;border-radius:3px}.career-track i{display:block;height:100%;background:var(--gold);width:0;transition:width .5s}.career-bar small{font-size:7px;letter-spacing:1px;color:#8d9daf;display:block}.career-bar b{display:block;font:700 28px 'Barlow Condensed',sans-serif;margin-bottom:3px}.career-bar>p{margin-left:auto;max-width:180px;color:#7c8c9f;font-size:9px;line-height:1.6}.challenge-strip{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 20px;background:#111a23;border:1px solid #ffffff10;border-radius:0 0 5px 5px;font-size:10px;color:#9baebe}.challenge-strip>span:first-child{font-size:8px;letter-spacing:1px;color:var(--gold)}.challenge-strip small{display:block;margin-top:4px;font-size:7px;color:#8e9caa}.challenge-strip .complete{color:#94e2b9}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:23px}.mode-picker label{font-size:8px;letter-spacing:1px;color:#c6ab86}.mode-picker select{display:block;width:100%;margin-top:9px;background:#192335;border:1px solid #dcb17740;color:#f2ddbf;border-radius:5px;padding:13px;font-size:13px}.cup-panel{margin-top:20px;padding:20px;background:linear-gradient(130deg,#2c2630,#171e2a);border:1px solid #c39b6040;border-radius:6px}.cup-panel>div{display:flex;align-items:center;justify-content:space-between;gap:20px}.cup-panel article{flex:1}.cup-panel article small{display:block;color:#c8ab84;font-size:8px;letter-spacing:1px;margin-bottom:9px}.cup-panel strong{font-size:13px}.cup-panel>p:last-child{font-size:10px;line-height:1.7;color:#a599a5;margin:20px 0 0}.cup-panel>div>span{color:#caae8a}.rewards{margin-top:30px;padding-top:25px;border-top:1px solid var(--border)}.rewards h2{font-size:20px;margin:0}.rewards>div>p:last-child{font-size:11px;color:#8c9bab}.reward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.reward-grid button{padding:20px;background:#121c29;border:1px solid #ffffff19;border-radius:6px;color:#d4dee8}.reward-grid button.equipped{border-color:#dfb17d;background:#211f25}.reward-grid i{display:block;border:3px solid var(--ring);box-shadow:0 0 22px color-mix(in srgb,var(--ring) 25%,transparent);width:48px;height:18px;border-radius:50%;margin:0 auto 17px}.reward-grid strong{display:block;font-size:12px;margin-bottom:8px}.reward-grid small{font-size:8px;letter-spacing:1px;color:#cdb088}.reward-grid button:disabled{opacity:.55}@media(max-width:600px){.career-bar{padding:13px;gap:18px}.career-bar>div:first-child{min-width:130px}.career-bar>p{display:none}.career-bar b{font-size:25px}.career-bar small{font-size:6px}.challenge-strip{padding:13px 10px;display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:9px}.mode-picker{gap:10px}.mode-picker select{font-size:10px;padding:11px 7px}.cup-panel{padding:15px}.cup-panel>div{gap:8px;flex-wrap:wrap}.cup-panel strong{font-size:10px}.cup-panel article small{font-size:6px}.cup-panel>p:last-child{font-size:9px}.reward-grid{grid-template-columns:repeat(2,1fr);gap:10px}.rewards>div>p:last-child{font-size:10px}}
#cup-other{font-size:10px;line-height:1.7;color:#c5b9ad;margin:18px 0 0}
.action-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 19px;background:linear-gradient(110deg,#1a2637,#111a26);border:1px solid #d8b27e22;border-top:0;gap:22px}.action-buttons{display:flex;gap:12px;flex:1}.action-buttons button{display:grid;grid-template-columns:25px 1fr;column-gap:9px;align-items:center;text-align:left;padding:10px 15px;background:#212e41;border:1px solid #506278;border-radius:5px;color:#fff2de;min-width:140px;touch-action:manipulation}.action-buttons button:disabled{opacity:.4}.action-buttons kbd{grid-row:1/3;border-color:#ceb184;color:#f4d8ac}.action-buttons strong{font-size:11px;letter-spacing:.7px}.action-buttons small{font-size:7px;color:#a6c9d4;letter-spacing:.8px;margin-top:4px}.action-buttons button:not(:disabled):hover{background:#334559;border-color:#efd09a}.action-buttons button:not(:disabled):active{transform:translateY(2px)}.stamina{width:195px;flex-shrink:0}.stamina>span{font-size:8px;letter-spacing:1px;color:#91a9c0;display:block}.stamina b{float:right;color:#d0e6d0}.stamina>div{height:5px;background:#ffffff10;border-radius:4px;margin:7px 0}.stamina i{display:block;height:100%;background:linear-gradient(90deg,#6db7b7,#d9cf85);width:100%;border-radius:4px}.stamina small{font-size:6px;letter-spacing:.5px;color:#728da3}.action-highlight{position:absolute;top:32%;left:50%;transform:translateX(-50%) rotate(-3deg);text-align:center;pointer-events:none;z-index:2;width:85%;text-shadow:0 3px 15px #000b}.action-highlight strong{display:block;font:italic 800 clamp(30px,4.2vw,65px)/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;color:#ffe0a1;-webkit-text-stroke:.5px #aa6226}.action-highlight span{display:inline-block;margin-top:8px;padding:6px 10px;background:#0c1628c9;color:#d7edff;font-size:10px;letter-spacing:1px}.touch-actions .touch-sprint{grid-column:1/4;background:#283d53;color:#c2e0f2}@media(max-width:900px){.action-bar{flex-wrap:wrap;gap:13px}.action-buttons{justify-content:space-between}.action-buttons button{min-width:0;flex:1}.stamina{width:100%;display:flex;align-items:center;gap:15px}.stamina>span{min-width:100px}.stamina>div{flex:1}.stamina small{display:none}}@media(max-width:600px){.action-bar{padding:10px;gap:8px}.action-buttons{gap:5px}.action-buttons button{padding:9px 6px;grid-template-columns:18px 1fr;column-gap:5px}.action-buttons strong{font-size:8px;letter-spacing:0}.action-buttons kbd{min-width:18px;height:21px;padding:0 3px;font-size:8px}.action-buttons small{font-size:5px;letter-spacing:.3px}.stamina>span{font-size:7px}.action-highlight{top:30%}.action-highlight strong{font-size:35px}.action-highlight span{font-size:7px}.touch-actions button{min-height:35px}}

.topbar a.edition{display:inline-block;text-decoration:none;color:#d4c4aa}.topbar a.edition:focus-visible{outline:2px solid #ffd28a;outline-offset:4px}@media(max-width:600px){.topbar a.edition{font-size:8px;letter-spacing:.5px;margin-left:auto;margin-right:12px}}

/* ===== Hoop City 2: bigger court, touch pad, tabs, shop and builder ===== */
.hidden-controls{display:none}
.topbar{height:64px}
.career-bar{margin:16px 0 14px;gap:28px}
.career-bar .cash{color:#8ff0b0}
.viewport{aspect-ratio:16/9;max-height:calc(100svh - 215px);min-height:300px;width:100%}
.scoreboard.solo .team-score.away{visibility:hidden}
.match-footer{flex-wrap:wrap}
#pad-note{color:#8ff0b0}
.quick-modes{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0}
.quick-modes button,.seg button{background:#16202e;border:1px solid #ffffff22;color:#cfd8e2;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;touch-action:manipulation}
.quick-modes button[aria-pressed=true],.seg button[aria-pressed=true]{background:#e9b77c;border-color:#f5d09e;color:#15181b}
.overlay .primary{margin-top:16px}
.setup-link{display:inline-block;margin-left:16px;color:#e9c18c;font-size:11px;text-decoration:none;border-bottom:1px dashed #e9c18c80}
.action-highlight[data-type=fire] strong{color:#ffc04d;-webkit-text-stroke:1px #c2300c;text-shadow:0 0 30px #ff5a1a}
.rotate-hint{display:none;font-size:12px;color:#c9b391;text-align:center;margin:10px 0 0}
/* touch pad on the court */
.pad-ui{position:absolute;inset:0;pointer-events:none;display:none;z-index:2}
.pad-ui.on{display:block}
.stick-zone{position:absolute;left:0;bottom:0;width:46%;height:72%;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}
.stick{position:absolute;left:96px;top:calc(100% - 96px);width:124px;height:124px;margin:-62px 0 0 -62px;border-radius:50%;border:2px solid #ffffff38;background:radial-gradient(circle,#ffffff10,#0a122066);transition:opacity .2s;opacity:.75}
.stick.live{opacity:1;transition:none}
.stick i{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d9e2ec);box-shadow:0 4px 14px #0007}
.stick-hint{position:absolute;left:30px;bottom:12px;font-size:9px;letter-spacing:1px;color:#ffffff70;pointer-events:none}
.pad-btns{position:absolute;right:14px;bottom:14px;display:grid;grid-template-areas:"d c" "b a";gap:10px;align-items:end;justify-items:end;pointer-events:auto}
.tb{width:66px;height:66px;border-radius:50%;border:2px solid #ffffff55;background:#0f1a2acc;color:#fff;font:800 12px 'DM Sans',sans-serif;letter-spacing:.5px;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 6px 18px #0008}
.tb.down{transform:scale(.93);filter:brightness(1.5)}
#tb-a{grid-area:a;width:96px;height:96px;background:radial-gradient(circle at 35% 30%,#ffd9a3,#e39a4c);color:#1a1209;border-color:#ffe2b8;font-size:15px}
#tb-b{grid-area:b;background:#1d4f8fcc}
#tb-c{grid-area:c;background:#6b2a8acc}
#tb-d{grid-area:d;background:#1f6b4bcc;font-size:10px}
.pad-ui.idle{display:none!important}
.overlay{z-index:5}
@media(pointer:coarse){.player-label{display:none}}
/* big screen */
body.big-open{overflow:hidden}
.match-shell.big{position:fixed;inset:0;z-index:100;border-radius:0;display:flex;flex-direction:column;background:#05080e;border:0}
.match-shell.big .viewport{flex:1;max-height:none;min-height:0;aspect-ratio:auto}
.match-shell.big .scoreboard{height:64px;padding:8px 18px}
.match-shell.big .team-badge{width:38px;height:38px;font-size:14px}
.match-shell.big .team-score>b{font-size:34px}
.match-shell.big .match-footer{padding:8px 14px}
.match-shell.big #status{display:none}
/* tabs and setup */
.tabs{display:flex;gap:6px;margin:26px 0 0;border-bottom:1px solid var(--border);overflow-x:auto}
.tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#8ea0b3;padding:12px 16px;font-size:14px;font-weight:700;white-space:nowrap}
.tabs button[aria-selected=true]{color:#fff;border-color:var(--gold)}
.tabs b{color:#8ff0b0;font-size:12px;margin-left:4px}
.label{font-size:9px;letter-spacing:1.6px;color:#c6ab86;margin:26px 0 10px;font-weight:700}
.seg-row{display:grid;grid-template-columns:1.2fr 1.4fr 1fr;gap:24px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.hint{display:block;margin-top:8px;color:#8b9cb0;font-size:11px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.team-grid button{display:flex;align-items:center;gap:10px;text-align:left;background:#121b28;border:1px solid #ffffff17;border-radius:8px;padding:9px 10px;color:#e8e6df;touch-action:manipulation}
.team-grid button.on{border-color:#e9b77c;background:#231f22;box-shadow:0 0 0 1px #e9b77c inset}
.team-grid button:disabled{opacity:.3}
.team-grid .team-badge{width:38px;height:38px;font-size:14px;flex-shrink:0}
.team-grid .team-badge.plus{background:#1b2636;color:#e9b77c;border:1px dashed #e9b77c;font-size:22px}
.team-grid strong{display:block;font-size:13px}
.team-grid small{color:#7f91a4;font-size:10px}
.arenas{grid-template-columns:repeat(5,1fr);gap:12px}
.arena.locked .arena-art{filter:grayscale(.6) brightness(.7)}
.arena-art em{position:absolute;right:8px;bottom:8px;font-style:normal;font-size:11px;font-weight:800;background:#000a;padding:4px 7px;border-radius:4px;color:#ffe2b0}
.arena-1{background:radial-gradient(circle at 70% 30%,#ffe2a3 0 12px,transparent 13px),linear-gradient(#6e819a,#dda37d 55%,#3f86ad 56%,#3f86ad 66%,#d8c6a0 67%)}
.arena-1 i{display:none}
.arena-2{background:linear-gradient(#101d3a,#51356c 65%,#202f46 66%)}
.arena-2 i{background:#f07dd0;box-shadow:0 0 20px #dc67d6;top:66px;width:100%;left:0;height:2px}
.arena-3{background:repeating-linear-gradient(45deg,#ffffff14 0 2px,transparent 2px 12px),repeating-linear-gradient(-45deg,#ffffff14 0 2px,transparent 2px 12px),linear-gradient(#0b0f18 0,#2a1c22 50%,#3a3f47 66%)}
.arena-3 i{background:#ffdca0;box-shadow:0 0 30px 8px #ffdca066;width:10px;height:10px;border-radius:50%;left:18%;top:14px}
.arena-4{background:linear-gradient(#07051a,#1d0f3d 62%,#120c26 63%);}
.arena-4 i{background:#5ff3ff;box-shadow:0 0 18px #5ff3ff,0 0 40px #ff5fd2;top:68px;width:70%;left:15%;height:2px}
.arena-4:after{border-color:#ff5fd2}
.cup-panel .bracket{display:flex;align-items:center;justify-content:space-between;gap:14px}
.cup-panel article{padding:10px;border-radius:6px;border:1px solid transparent}
.cup-panel article.now{border-color:#e9b77c;background:#e9b77c14}
.cup-panel .bracket>span{color:#caae8a}
#challenge-list{display:flex;flex:1;justify-content:space-around;gap:15px;flex-wrap:wrap}
.challenge-strip .complete{color:#94e2b9;font-weight:700}
/* shop */
.train-list{display:grid;gap:8px}
.train{display:grid;grid-template-columns:1fr auto 190px;align-items:center;gap:18px;background:#121b28;border:1px solid #ffffff14;border-radius:8px;padding:12px 14px}
.train strong{display:block;font-size:14px}
.train small{color:#8b9cb0;font-size:11px}
.pips{display:flex;gap:5px}
.pips i{width:22px;height:8px;border-radius:3px;background:#ffffff14}
.pips i.on{background:linear-gradient(90deg,#6ee7a8,#e9d27c)}
.train button,.ball-grid button{background:#1f6b4b;border:1px solid #5bd39a66;color:#eafff3;border-radius:6px;padding:10px;font-size:11px;font-weight:800;letter-spacing:.5px}
.train button:disabled{background:#1a222e;border-color:#ffffff14;color:#7d8b9a}
.ball-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.ball-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;background:#121b28;border-color:#ffffff17;padding:14px 10px;color:#e8e6df}
.ball-grid button.on{border-color:#e9b77c;background:#231f22}
.ball-grid strong{font-size:13px}
.ball-grid small{font-size:10px;color:#cdb088;letter-spacing:.5px}
.ball-art{width:54px;height:54px;border-radius:50%;display:block;position:relative;box-shadow:inset -6px -8px 14px #0006,0 6px 14px #0006}
.ball-art:before{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(90deg,transparent 48%,#0007 48% 52%,transparent 52%),linear-gradient(transparent 48%,#0007 48% 52%,transparent 52%)}
.ball-art.arena-art{border-radius:10px;width:100%;height:54px}
.ball-art.arena-art:before,.ball-art.arena-art:after{display:none}
.ball-classic{background:#cf6828}.ball-gold{background:linear-gradient(#fff0a8,#e3b13e,#a8771f)}.ball-ice{background:linear-gradient(135deg,#e9fbff,#7cc9ec)}
.ball-galaxy{background:radial-gradient(circle at 30% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 2px),linear-gradient(90deg,#160b38,#47227e,#0d1a45)}
.ball-rainbow{background:linear-gradient(90deg,#ff4d4d,#ff9f1a,#ffe14d,#4dd97a,#4db8ff,#9b6bff)}.ball-lava{background:radial-gradient(circle at 40% 40%,#ff9a3c,#c2300c 45%,#2a0900)}
/* team builder */
.builder-grid{display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:start}
.builder-form label.label{display:block}
.builder-form input{width:100%;max-width:340px;padding:13px 14px;background:#121b28;border:1px solid #ffffff30;border-radius:6px;color:#fff;font-size:18px;font-weight:700}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.swatches button{width:38px;height:38px;border-radius:50%;background:var(--c);border:2px solid #ffffff30;touch-action:manipulation}
.swatches button.on{border-color:#fff;box-shadow:0 0 0 3px #e9b77c}
.builder-preview{display:flex;flex-direction:column;align-items:center;gap:20px;padding:26px;background:#101823;border:1px solid #ffffff14;border-radius:10px}
.jersey{width:190px;height:220px;border:10px solid;border-top-width:6px;border-radius:30px 30px 18px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:polygon(0 18%,22% 0,36% 0,50% 12%,64% 0,78% 0,100% 18%,100% 100%,0 100%)}
.jersey span{font:italic 800 22px 'Barlow Condensed',sans-serif;letter-spacing:1px}
.jersey b{font:800 86px/1 'Barlow Condensed',sans-serif}
.team-badge.big{width:74px;height:74px;font-size:26px}
.totals{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:26px}
.totals div{background:#121b28;border:1px solid #ffffff14;border-radius:8px;padding:12px}
.totals b{display:block;font:700 26px 'Barlow Condensed',sans-serif}
.totals small{color:#8b9cb0;font-size:10px}
@media(pointer:coarse){.action-buttons,.control-strip{display:none}.stamina{width:100%}}
@media(max-width:900px){.seg-row{grid-template-columns:1fr}.arenas{grid-template-columns:repeat(2,1fr)}.builder-grid{grid-template-columns:1fr}.train{grid-template-columns:1fr auto}.train button{grid-column:1/-1}}
@media(max-width:600px){.viewport{aspect-ratio:.92;max-height:calc(100svh - 150px)}.rotate-hint{display:block}.career-bar{gap:12px;flex-wrap:wrap}.career-bar>div:first-child{min-width:100%}
  .tb{width:56px;height:56px;font-size:10px}#tb-a{width:80px;height:80px;font-size:13px}.stick{left:78px;top:calc(100% - 78px);width:104px;height:104px;margin:-52px 0 0 -52px}.stick i{width:46px;height:46px;margin:-23px}
  .overlay{padding:0 6%}.quick-modes button{padding:7px 10px;font-size:11px}.setup-link{display:block;margin:6px 0 0}.team-grid{grid-template-columns:repeat(2,1fr)}.challenge-strip{display:block}#challenge-list{justify-content:flex-start;margin-top:8px}}
@media(max-height:500px) and (orientation:landscape){.match-shell.big .scoreboard{height:48px;padding:4px 12px}.match-shell.big .team-score small,.match-shell.big .clock small,.match-shell.big .clock>span{display:none}.match-shell.big .clock>strong{font-size:26px}.match-shell.big .match-footer{display:none}.rotate-hint{display:none}}
