:root{--bg:#05070b;--panel:#0d1119;--line:#1d2939;--text:#f6f8fb;--muted:#8d9aab;--orange:#ff5b1e;--cyan:#38d9ff;--green:#4de59a;--bad:#ff5f68}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 20% 10%,#122033 0,#070a10 35%,#040609 75%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,a,select,input{font:inherit}.shell{max-width:1480px;margin:auto;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.brand{display:flex;align-items:center;gap:14px}.mark{width:44px;height:44px;border:1px solid #37465b;background:linear-gradient(145deg,#152437,#080d14);display:grid;place-items:center;font-weight:950;letter-spacing:-.1em}.brand h1{font-size:19px;line-height:1;margin:0;letter-spacing:.1em}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.22em;margin-top:5px}.toplinks{display:flex;gap:8px;align-items:center}.toplinks a,.ghost{color:#cbd5e1;text-decoration:none;border:1px solid #263247;background:#0b111b;padding:10px 13px;border-radius:8px;font-weight:800;font-size:11px;letter-spacing:.08em}.identity{display:flex;gap:8px;align-items:center;color:#dce4ef}.identity small{color:var(--muted)}.hero{min-height:68vh;display:grid;place-items:center}.launch{width:min(860px,100%);padding:46px;border:1px solid #233147;border-radius:22px;background:linear-gradient(160deg,rgba(19,29,44,.94),rgba(7,10,16,.94));box-shadow:0 30px 90px #0009}.eyebrow{color:var(--cyan);font-size:11px;font-weight:900;letter-spacing:.24em}.launch h2{font-size:clamp(42px,7vw,78px);line-height:.9;margin:15px 0 16px;letter-spacing:-.055em}.launch p{font-size:18px;line-height:1.6;color:#aeb9c8;max-width:690px}.primary{border:0;border-radius:10px;padding:15px 20px;background:linear-gradient(135deg,var(--orange),#ff8a31);color:#fff;font-weight:950;letter-spacing:.08em;cursor:pointer}.primary:disabled{opacity:.35;cursor:not-allowed}.featureRow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.feature{border-top:1px solid #273448;padding-top:12px}.feature b{display:block;font-size:12px}.feature small{color:var(--muted);line-height:1.4}.panel{border:1px solid #202b3d;border-radius:18px;background:rgba(8,12,18,.93);overflow:hidden}.panelHead{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #1d2838}.roomCode{font-size:34px;font-weight:950;letter-spacing:.17em}.lobbyGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px}.card{background:#0b1119;border:1px solid #1b2738;border-radius:14px;padding:18px}.card h3{margin:0 0 12px;font-size:14px;letter-spacing:.08em}.joinLink{word-break:break-all;color:#82dfff;font-size:12px}.buttonRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.seat{display:flex;justify-content:space-between;align-items:center;padding:13px;border:1px solid #222e40;border-radius:10px;margin-top:8px;background:#090e15}.seat.connected{border-color:#245e47;background:#0b1814}.seatName{font-weight:850}.seatState{font-size:10px;letter-spacing:.1em;color:var(--muted)}.teamPick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.teamPick label{font-size:10px;color:var(--muted);letter-spacing:.11em}.teamPick select{width:100%;margin-top:7px;background:#080c12;color:white;border:1px solid #27364b;padding:12px;border-radius:8px}.gameWrap{background:#030407;border:1px solid #253247;border-radius:15px;overflow:hidden;box-shadow:0 30px 100px #000}.gameHeader{height:48px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;background:#080d14;border-bottom:1px solid #202c3e}.gameHeader b{letter-spacing:.12em;font-size:11px}.gameCanvasWrap{aspect-ratio:16/9;background:#000}.gameCanvasWrap canvas{width:100%;height:100%;display:block}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#101823;border:1px solid #2d3b50;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;font-weight:850}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.good{border-color:#256947}.toast.bad{border-color:#80323b}.status.good{color:var(--green)}.status.warn{color:#ffc45d}.status.bad{color:var(--bad)}
/* controller */.controllerBody{overflow:hidden;touch-action:none;user-select:none}.controllerShell{height:100dvh;display:grid;grid-template-rows:auto 1fr;background:radial-gradient(circle at 50% 0,#15253a,#06080d 46%)}.controllerTop{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #263348;background:#070b11}.controllerTop .status{font-size:10px;font-weight:950;letter-spacing:.12em}.pairPanel{max-width:480px;margin:auto;padding:28px;width:100%}.pairPanel input{width:100%;font-size:34px;text-transform:uppercase;text-align:center;letter-spacing:.18em;background:#080e17;color:#fff;border:1px solid #2c3d55;padding:16px;border-radius:12px}.controllerGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px;height:100%;min-height:0}.stickZone,.buttonsZone{display:grid;place-items:center;position:relative}.stickPad{width:min(36vw,290px);aspect-ratio:1;border-radius:50%;border:1px solid #3a4b64;background:radial-gradient(circle,#121b29 0 26%,#0b111a 27% 55%,#080c12 56%);position:relative;box-shadow:inset 0 0 45px #0008}.stickKnob{position:absolute;width:35%;height:35%;border-radius:50%;left:32.5%;top:32.5%;background:linear-gradient(145deg,#2b3c52,#111824);border:1px solid #5a718d;box-shadow:0 8px 25px #0008;pointer-events:none}.buttons{width:min(42vw,340px);aspect-ratio:1;position:relative}.actionBtn{position:absolute;width:42%;aspect-ratio:1;border-radius:50%;border:1px solid #405169;color:#fff;background:#111a27;font-weight:950;font-size:clamp(10px,1.8vw,15px);letter-spacing:.05em;touch-action:none}.actionBtn:active{transform:scale(.95);filter:brightness(1.4)}#shootBtn{right:0;top:29%;background:linear-gradient(145deg,#ff6729,#9d2d0c);border-color:#ff8a5c}#passBtn{left:0;top:29%;background:linear-gradient(145deg,#24a9d6,#0a5470);border-color:#55dcff}#turboBtn{left:29%;top:0;background:linear-gradient(145deg,#7259ff,#332180)}#actionBtn{left:29%;bottom:0;background:linear-gradient(145deg,#159c68,#075036)}.playerStrip{position:absolute;top:12px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}.playerStrip b{display:block;font-size:14px}.playerStrip small{color:#8ea0b7}.scoreMini{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);font-size:10px;color:#9cafc8;letter-spacing:.06em;white-space:nowrap}
@media(max-width:760px){.shell{padding:12px}.featureRow{grid-template-columns:1fr}.lobbyGrid{grid-template-columns:1fr}.controllerGrid{gap:6px;padding:8px}.controllerTop{padding:8px 10px}.stickPad{width:min(42vw,270px)}.buttons{width:min(46vw,290px)}}
/* Run 2 · controller telemetry + basketball engine */
.controllerStats{display:block;color:#d7e1ee!important;margin-top:3px;font-weight:850;letter-spacing:.05em}.phoneMeter{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48%;min-width:132px;background:rgba(4,8,14,.92);border:1px solid #33455f;border-radius:10px;padding:8px 10px;pointer-events:none;box-shadow:0 12px 30px #0008}.phoneMeterLabel{font-size:8px;color:#94a6bd;font-weight:900;letter-spacing:.15em;text-align:center;margin-bottom:5px}.phoneMeterTrack{height:9px;border-radius:99px;background:#172131;position:relative;overflow:visible}.phoneMeterTrack span{position:absolute;top:-2px;height:13px;border-radius:4px;background:rgba(77,229,154,.42)}.phoneMeterTrack i{position:absolute;top:-4px;width:3px;height:17px;background:#fff;border-radius:2px;transform:translateX(-50%);box-shadow:0 0 8px #fff}.phoneMeter>b{display:block;height:13px;margin-top:5px;text-align:center;font-size:9px;letter-spacing:.1em}.phoneMeter>b.green{color:#4de59a}.phoneMeter>b.bad{color:#ff666f}
.gameHeader .engineTag{color:#38d9ff;font-size:9px;font-weight:900;letter-spacing:.14em}.gameCanvasWrap{position:relative}.run2Badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #23445b;background:#08131d;color:#87e6ff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.12em}.run2Badge:before{content:'';width:6px;height:6px;border-radius:50%;background:#4de59a;box-shadow:0 0 10px #4de59a}
@media(max-width:760px){.phoneMeter{width:55%;padding:6px 8px}.playerStrip{top:4px}.controllerStats{font-size:9px}.scoreMini{bottom:3px}}

/* Game Hub 0.3 · Competitive + GameVision bridge */
.run3Hero{grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:stretch;place-items:stretch;min-height:0}.run3Hero .launch{width:100%}.launchSide{display:grid;gap:14px}.miniCard{border:1px solid #233147;border-radius:18px;background:linear-gradient(160deg,rgba(15,24,37,.95),rgba(6,10,15,.95));padding:18px;box-shadow:0 22px 60px #0006}.profileSummary{display:grid;gap:4px;margin:10px 0 14px}.profileSummary b{font-size:22px;letter-spacing:-.03em}.profileSummary small,.rankNotice{color:#91a1b6;font-size:11px;line-height:1.55}.recentMatches{display:grid;gap:6px}.historyRow{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;color:#dce5ef;text-decoration:none;border-top:1px solid #1d2a3b;padding:9px 0;font-size:11px}.historyRow .result{width:24px;height:24px;border-radius:6px;display:grid;place-items:center}.historyRow .result.win{background:#123a2b;color:#67ecaa}.historyRow .result.loss{background:#3c171b;color:#ff8991}.historyRow small{color:#74869e;font-size:8px;letter-spacing:.1em}.leaderboard{margin-top:10px;display:grid}.rankRow{display:grid;grid-template-columns:20px 24px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #1d2a3b;font-size:11px}.rankRow i{font-style:normal;color:#6f8199}.rankRow strong{color:#8fe8ff}.emptyMini{color:#71839c;font-size:10px;padding:10px 0}.compact{padding:10px 13px;font-size:10px}.pairingLayout{display:grid;grid-template-columns:224px 1fr;gap:18px;align-items:center;margin-bottom:14px}#pairQr{width:224px;height:224px;background:#fff;border-radius:14px;padding:8px;border:1px solid #3a4a60;box-shadow:0 15px 40px #0007}.modeLabel{display:block;font-size:10px;color:var(--muted);letter-spacing:.11em;margin-bottom:12px}.modeLabel select{width:100%;margin-top:7px;background:#080c12;color:white;border:1px solid #27364b;padding:12px;border-radius:8px}.modeCopy{min-height:48px;border-left:3px solid #2f536a;background:#09131c;padding:10px 12px;color:#90a2b8;font-size:10px;line-height:1.5;margin-bottom:14px}.modeCopy b{color:#dceaf6}.lobbyHelp{color:#8d9aab;line-height:1.55;font-size:12px}.desktopHint{font-size:10px;color:#8291a5}.postgame{margin-top:16px;border:1px solid #243247;border-radius:18px;background:linear-gradient(150deg,#0c131d,#06090e);padding:22px;box-shadow:0 25px 80px #0008}.postgameTop{display:flex;align-items:center;justify-content:space-between}.mediaCount{font-size:9px;color:#7f91a8;letter-spacing:.12em;font-weight:900}.finalBoard{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:12px;margin:20px 0}.finalTeam{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;border:1px solid #243246;background:#08101a;padding:16px 18px;border-radius:14px}.finalTeam small{grid-column:1;color:#74869d;font-size:9px;letter-spacing:.12em}.finalTeam b{font-size:28px;letter-spacing:.04em}.finalTeam strong{grid-row:1/3;grid-column:2;font-size:52px;line-height:1}.finalMark{text-align:center;color:#8294aa;font-size:11px;font-weight:900;letter-spacing:.15em}.postgameGrid{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.potg{display:grid;gap:4px}.potg>b{font-size:25px}.potg>small{color:#9babbf}.postgameActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.postgameActions a{text-decoration:none}.postgameActions .disabled{opacity:.4;pointer-events:none}.ratingChange{margin-top:15px;color:#8ee7ff;font-size:10px;font-weight:900;letter-spacing:.1em}.postgameNote{margin:12px 0 0;color:#6f8197;font-size:10px}.engineTag{color:#8fe8ff;font-size:9px;font-weight:900;letter-spacing:.14em}

/* GameVision bridge replay */
.replayShell{max-width:1540px}.replayHero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:14px 0}.replayHero h2{font-size:clamp(34px,5vw,62px);line-height:.95;margin:8px 0 6px;letter-spacing:-.05em}.replayHero p{color:#8496ac;margin:0}.replayPotg{display:grid;text-align:right}.replayPotg small{font-size:8px;letter-spacing:.15em;color:#7588a1}.replayPotg b{font-size:20px}.replayPotg span{font-size:10px;color:#8de7ff}.replayStage{position:relative;aspect-ratio:16/9;background:#000;border:1px solid #26354a;border-radius:16px;overflow:hidden;box-shadow:0 35px 110px #000}.replayStage canvas{width:100%;height:100%;display:block}.replayBug{position:absolute;right:18px;top:18px;background:rgba(3,7,12,.78);border:1px solid rgba(255,255,255,.18);padding:8px 10px;font-size:8px;letter-spacing:.12em;color:#b8c5d5}.replayBug b{color:#72e5ff}.replaySlate{position:absolute;left:18px;bottom:18px;display:grid;background:rgba(3,7,12,.82);border-left:4px solid #38d9ff;padding:9px 12px;min-width:230px}.replaySlate small{font-size:7px;letter-spacing:.15em;color:#7e91a9}.replaySlate b{font-size:13px}.replayControls{display:grid;grid-template-columns:auto auto auto 1fr auto;gap:8px;align-items:center;padding:12px 0}.replayControls input[type=range]{width:100%;accent-color:#38d9ff}.replayControls span{font-size:10px;color:#90a1b6;min-width:92px;text-align:right}.replayGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.highlightList{display:grid;gap:7px}.highlightRow{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;background:#080e16;color:#e8eef6;border:1px solid #1d2a3b;padding:11px;border-radius:10px;text-align:left;cursor:pointer}.highlightRow.active{border-color:#3b91ac;background:#0a1721}.highlightRow .grade{width:34px;height:28px;border-radius:7px;background:#112333;color:#77e6ff;display:grid;place-items:center;font-weight:950}.highlightRow b{font-size:11px}.highlightRow small{font-size:8px;color:#7789a0}.replayFinal{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;text-align:center;margin:14px 0}.replayFinal>div{display:grid}.replayFinal small{color:#788aa2;font-size:8px;letter-spacing:.1em}.replayFinal b{font-size:18px}.replayFinal strong{font-size:42px}.replayFinal i{font-style:normal;color:#7d8fa6;font-size:9px;letter-spacing:.12em}.bridgeNote{border-top:1px solid #1e2a3b;padding-top:14px;display:grid;gap:5px}.bridgeNote b{font-size:10px;letter-spacing:.12em;color:#80e6ff}.bridgeNote small{color:#8193aa;line-height:1.55}.bridgeNote code{color:#c9d7e8}

@media(max-width:980px){.run3Hero{grid-template-columns:1fr}.launchSide{grid-template-columns:1fr 1fr}.pairingLayout{grid-template-columns:170px 1fr}#pairQr{width:170px;height:170px}.replayGrid{grid-template-columns:1fr}}
@media(max-width:760px){.launchSide{grid-template-columns:1fr}.pairingLayout{grid-template-columns:1fr}#pairQr{width:190px;height:190px;margin:auto}.desktopHint{display:none}.finalBoard{grid-template-columns:1fr 52px 1fr}.finalTeam{padding:12px}.finalTeam b{font-size:18px}.finalTeam strong{font-size:38px}.postgameGrid{grid-template-columns:1fr}.postgameActions{justify-content:flex-start}.replayHero{align-items:flex-start;flex-direction:column}.replayPotg{text-align:left}.replayControls{grid-template-columns:auto auto auto 1fr}.replayControls span{grid-column:1/-1;text-align:left}.highlightRow{grid-template-columns:38px 1fr}.highlightRow small{grid-column:2}.toplinks .identity{display:none}}

/* Game Hub 0.4 · VBA SmartController */
.smartControllerBody{background:#03060a;overscroll-behavior:none}.smartControllerShell{background:radial-gradient(circle at 50% -20%,#17344a 0,#08111c 38%,#03060a 78%);overflow:hidden}.smartTop{height:52px;padding:7px 12px;background:linear-gradient(180deg,#08111b,#050a10);border-bottom:1px solid #1f3346;z-index:40}.smartBrand{display:grid}.smartBrand>b{font-size:10px;letter-spacing:.14em}.smartBrand>small{color:#6f8398;font-size:7px;letter-spacing:.12em;margin-top:2px}.smartScore{font-size:11px;font-weight:950;letter-spacing:.08em;color:#dce9f6;white-space:nowrap;text-align:center}.smartTopRight{display:flex;align-items:center;gap:9px}.smartTopRight .identity{font-size:9px}.smartTopRight .identity small{display:none}.smartIconBtn{width:32px;height:32px;border-radius:8px;border:1px solid #2b3c50;background:#0b1520;color:#dbe7f3;font-weight:900;cursor:pointer}.smartPairPanel{max-width:620px}.smartPairPanel h1{font-size:clamp(34px,6vw,64px);line-height:.92;margin:12px 0}.smartPairPanel p{color:#91a3b8;line-height:1.55}.smartCockpit{height:calc(100dvh - 52px);min-height:0;position:relative}.smartPlayMode{height:100%;display:grid;grid-template-columns:minmax(190px,27vw) minmax(300px,1fr) minmax(210px,29vw);gap:10px;padding:8px 12px 10px}.smartControlWing{position:relative;display:grid;place-items:center;min-width:0;min-height:0}.wingLabel{position:absolute;bottom:1px;font-size:7px;letter-spacing:.18em;color:#536a80;font-weight:900}.smartStick{width:min(31vw,37vh,285px);border:1px solid #395269;background:radial-gradient(circle,#122234 0 25%,#0a1521 26% 53%,#050b12 54%);box-shadow:inset 0 0 55px #000a,0 18px 55px #0009}.smartCenter{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(62px,1fr) auto auto auto;align-content:center;gap:5px;padding:4px 0}.gameStatePill{justify-self:center;padding:3px 8px;border-radius:999px;background:#0b1b25;border:1px solid #244258;color:#7fe6ff;font-size:7px;font-weight:950;letter-spacing:.16em}.gameStatePill.defense{color:#ffad77;border-color:#5b3527}.gameStatePill.freethrow,.gameStatePill.quarterbreak,.gameStatePill.dead{color:#ffd36a;border-color:#5a4a24}.smartPlayerCard{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;min-height:0;background:linear-gradient(135deg,rgba(13,29,43,.94),rgba(6,13,21,.94));border:1px solid #20394e;border-radius:13px;padding:7px 10px;box-shadow:0 14px 42px #0008;overflow:hidden}.smartPortraitWrap{position:relative;width:62px;height:62px;border-radius:13px;overflow:hidden;border:1px solid #37536a;background:radial-gradient(circle at 50% 30%,#26465d,#09121c 72%)}.smartPortraitWrap img{width:100%;height:100%;object-fit:cover;display:block}.smartNumber{position:absolute;right:4px;bottom:3px;background:#03080dcc;border:1px solid #ffffff24;border-radius:5px;padding:2px 4px;font-size:8px;font-weight:950}.smartPlayerInfo{display:grid;min-width:0;gap:2px}.smartPlayerInfo>b{font-size:clamp(12px,2vw,18px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smartPlayerInfo small{font-size:7px;color:#8ca0b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smartPlayerInfo .controllerStats{font-size:8px;color:#dbe7f2!important}.smartStamina{height:12px;margin-top:3px;background:#0a131c;border:1px solid #203247;border-radius:999px;position:relative;overflow:hidden}.smartStamina i{display:block;height:100%;width:0;background:linear-gradient(90deg,#32d786,#93f0c4);transition:width .12s linear}.smartStamina span{position:absolute;inset:0;display:grid;place-items:center;font-size:6px;font-weight:950;letter-spacing:.08em;color:#fff;text-shadow:0 1px 3px #000}.smartMeter{position:relative;left:auto;top:auto;transform:none;width:100%;min-width:0;margin:0;padding:5px 8px;background:#050b12e8}.contextAlert{display:flex;align-items:center;justify-content:space-between;gap:8px;border-left:3px solid #ff8b4b;background:#150d09;border-radius:6px;padding:5px 7px;min-height:34px}.contextAlert>div{display:grid;min-width:0}.contextAlert small{font-size:5px;letter-spacing:.16em;color:#d28a61}.contextAlert b{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contextAlert button{border:1px solid #70432e;background:#28160e;color:#ffc39e;border-radius:5px;padding:5px 7px;font-size:6px;font-weight:950}.smartFiveHeader{display:flex;align-items:center;justify-content:space-between;font-size:6px;color:#647a8f;letter-spacing:.14em;font-weight:900}.smartFiveHeader button{border:0;background:transparent;color:#66dfff;font-size:6px;font-weight:950;letter-spacing:.12em;padding:3px}.smartFiveHeader button.attention{color:#ffd86d;text-shadow:0 0 9px #ffd86d66}.onCourtStrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-height:43px}.smartRosterCard{appearance:none;border:1px solid #203144;background:#07101a;color:#dce8f4;border-radius:8px;padding:4px;display:grid;grid-template-columns:30px minmax(0,1fr) 9px;gap:4px;align-items:center;min-width:0;text-align:left;cursor:pointer}.onCourtStrip .smartRosterCard{grid-template-columns:29px minmax(0,1fr);padding:3px}.onCourtStrip .rosterEnergy{display:none}.smartRosterCard.active{border-color:#75e6ff;box-shadow:inset 0 0 0 1px #75e6ff33,0 0 16px #38d9ff1c}.smartRosterCard.selected{border-color:#ffb166;background:#191109}.rosterPortrait{width:29px;height:29px;border-radius:7px;overflow:hidden;position:relative;background:#122231;display:grid;place-items:center}.rosterPortrait img{width:100%;height:100%;object-fit:cover}.rosterPortrait em{position:absolute;right:1px;bottom:1px;font-style:normal;font-size:5px;background:#02060bd9;border-radius:3px;padding:1px 2px}.rosterText{display:grid;min-width:0}.rosterText b{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rosterText small{font-size:5px;color:#73879b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rosterEnergy{width:7px;height:34px;border-radius:999px;background:#111d28;position:relative;overflow:hidden;align-self:center}.rosterEnergy i{position:absolute;left:0;right:0;bottom:0;background:#42df96}.rosterEnergy small{display:none}.smartButtons{width:min(35vw,39vh,300px)}.smartButtons .actionBtn{font-size:clamp(8px,1.35vw,12px);box-shadow:0 12px 35px #0008}.teamModePanel{height:100%;padding:10px 14px 12px;overflow:auto;background:radial-gradient(circle at 50% 0,#11253a,#04080d 55%)}.teamModeHead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1c2d3f;padding-bottom:8px}.teamModeHead>div:first-child{display:grid}.teamModeHead small{font-size:6px;letter-spacing:.16em;color:#6095b2}.teamModeHead b{font-size:16px;letter-spacing:.04em}.teamModeActions{display:flex;gap:6px}.coachStatus{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:7px 0}.coachStatus>div{border:1px solid #1c3043;background:#07111b;border-radius:8px;padding:6px 8px;display:grid}.coachStatus small{font-size:5px;color:#6b8399;letter-spacing:.13em}.coachStatus b{font-size:8px;color:#dbe8f3}.teamModeGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:10px}.lineupBoard,.strategyBoard{border:1px solid #1b2c3e;background:#060d15;border-radius:11px;padding:9px}.boardTitle{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.boardTitle b{font-size:8px;letter-spacing:.13em}.boardTitle small{font-size:5px;color:#71879b}.benchTitle{margin-top:8px;border-top:1px solid #182837;padding-top:8px}.rosterCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.rosterCards .smartRosterCard{min-height:48px}.strategyBoard{display:grid;align-content:start;gap:7px}.strategySection{display:grid;gap:4px}.strategySection>small{font-size:5px;letter-spacing:.16em;color:#688096}.segmented,.strategyChoices,.controlModeChoices{display:flex;gap:3px;flex-wrap:wrap}.segmented button,.strategyChoices button,.controlModeChoices button{border:1px solid #22364a;background:#08121c;color:#879caf;border-radius:6px;padding:6px 7px;font-size:6px;font-weight:950;letter-spacing:.04em;flex:1;min-width:max-content}.segmented button.active,.strategyChoices button.active,.controlModeChoices button.active{border-color:#4dabc9;color:#dff8ff;background:#0a2330;box-shadow:inset 0 0 14px #38d9ff18}.controlModeChoices button[data-mode="coach"].active{border-color:#d19b45;background:#261c0b;color:#ffe1a2}.smartSettings{position:fixed;inset:0;z-index:90;background:#000b;display:grid;place-items:center;padding:12px}.settingsCard{width:min(520px,94vw);max-height:88vh;overflow:auto;border:1px solid #2c4258;border-radius:16px;background:linear-gradient(155deg,#102031,#050a10);padding:16px;box-shadow:0 30px 90px #000}.settingsHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.settingsHead>div{display:grid}.settingsHead small{font-size:6px;letter-spacing:.15em;color:#6f8ba5}.settingsHead b{font-size:17px}.settingsCard label{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-top:1px solid #1b2b3b;padding:10px 0;color:#d7e4ef;font-size:8px;font-weight:900;letter-spacing:.08em}.settingsCard select{background:#07111b;color:#fff;border:1px solid #273b4e;padding:7px;border-radius:7px}.settingsCard input[type=range]{width:180px;accent-color:#38d9ff}.settingsCard label>span{display:grid}.settingsCard label>span small{font-size:6px;color:#71879a;font-weight:500;letter-spacing:0;margin-top:2px}.toggleLabel input{width:20px;height:20px;accent-color:#38d9ff}.phonePostgame{height:100%;display:grid;place-items:center;align-content:center;text-align:center;padding:20px}.phonePostgame h2{font-size:clamp(26px,6vw,56px);margin:8px}.phonePostgame p{color:#8ca0b5}.rotateOverlay{display:none;position:fixed;inset:0;z-index:120;background:#03070cf2;color:#fff;place-items:center;align-content:center;text-align:center;padding:30px}.rotateOverlay .rotatePhone{font-size:54px;line-height:1;margin-bottom:10px;color:#74e3ff}.rotateOverlay b{font-size:18px;letter-spacing:.1em}.rotateOverlay small{color:#8399ae;margin-top:8px}.leftyControls .smartPlayMode{grid-template-columns:minmax(210px,29vw) minmax(300px,1fr) minmax(190px,27vw)}.leftyControls #stickSide{grid-column:3}.leftyControls #buttonsSide{grid-column:1;grid-row:1}.leftyControls .smartCenter{grid-column:2;grid-row:1}
@media(orientation:portrait){.controllerReady .rotateOverlay{display:grid}}
@media(max-height:430px){.smartTop{height:44px}.smartCockpit{height:calc(100dvh - 44px)}.smartPlayMode{padding:5px 9px;gap:7px}.smartPlayerCard{grid-template-columns:56px 1fr;padding:5px 7px}.smartPortraitWrap{width:50px;height:50px}.smartCenter{gap:3px}.onCourtStrip{min-height:35px}.rosterPortrait{width:25px;height:25px}.onCourtStrip .smartRosterCard{grid-template-columns:25px 1fr}.smartStick{width:min(28vw,34vh,240px)}.smartButtons{width:min(31vw,35vh,260px)}.actionBtn{font-size:8px}.teamModePanel{padding:6px 10px}.coachStatus{margin:4px 0}.rosterCards .smartRosterCard{min-height:40px}.smartRosterCard{grid-template-columns:25px 1fr 7px}.rosterText small:nth-of-type(2){display:none}.strategySection{gap:2px}.segmented button,.strategyChoices button,.controlModeChoices button{padding:4px 5px}}
.coachAutoplay .smartControlWing{opacity:.32;filter:saturate(.4)}.coachAutoplay .gameStatePill{color:#ffe09a;border-color:#6c5223;background:#201707}.coachAutoplay .smartFiveHeader button{color:#ffd36a}
:root{--smart-team:#38d9ff}.smartStateRow{display:flex;justify-content:center;align-items:center;gap:5px}.quickTakeControl{border:1px solid color-mix(in srgb,var(--smart-team) 55%,#ffffff 15%);background:color-mix(in srgb,var(--smart-team) 16%,#08111b 84%);color:#fff;border-radius:999px;padding:3px 7px;font-size:6px;font-weight:950;letter-spacing:.1em}.smartPlayerCard{border-color:color-mix(in srgb,var(--smart-team) 38%,#20394e 62%)}.smartPortraitWrap{box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--smart-team) 62%,transparent)}.smartStamina i{background:linear-gradient(90deg,color-mix(in srgb,var(--smart-team) 65%,#32d786),#93f0c4)}.smartRosterCard.active{border-color:color-mix(in srgb,var(--smart-team) 72%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--smart-team) 28%,transparent),0 0 16px color-mix(in srgb,var(--smart-team) 18%,transparent)}
.coachStatus{grid-template-columns:repeat(4,1fr)}.smartControllerBody[data-game-phase="freeThrow"] .smartMeter{padding:9px 12px;border-color:#527047;box-shadow:0 0 28px #4de59a20}.smartControllerBody[data-game-phase="freeThrow"] .phoneMeterTrack{height:13px}.smartControllerBody[data-game-phase="freeThrow"] .phoneMeterTrack i{height:23px;top:-5px}
@media(max-height:430px){.coachStatus{grid-template-columns:repeat(4,1fr)}}
.timeoutBtn{margin-top:4px;border:1px solid #75452f;background:linear-gradient(135deg,#2a140c,#15100c);color:#ffc09a;border-radius:7px;padding:8px;font-size:7px;font-weight:950;letter-spacing:.1em}.timeoutBtn:disabled{opacity:.32}.phoneTeamLine{color:#8fa4b8;font-size:9px;letter-spacing:.06em;margin-bottom:12px}.phonePostActions{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.phonePostActions a{text-decoration:none}.phonePostActions .disabled{opacity:.35;pointer-events:none}

/* Game Hub 0.5 · VBA SmartController 1.0 — dedicated landscape controller */
:root{--smart-team:#38d9ff;--sc-unit:1;--sc-safe-top:max(6px,env(safe-area-inset-top));--sc-safe-right:max(8px,env(safe-area-inset-right));--sc-safe-bottom:max(6px,env(safe-area-inset-bottom));--sc-safe-left:max(8px,env(safe-area-inset-left))}
.smartControllerBody{width:100vw;height:100dvh;overflow:hidden;background:#02050a;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.smartControllerShell{position:relative;width:100vw;height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% -25%,color-mix(in srgb,var(--smart-team) 18%,#0b1722),#050b12 42%,#010308 88%);isolation:isolate}
.smartControllerShell.size-compact{--sc-unit:.88}.smartControllerShell.size-standard{--sc-unit:1}.smartControllerShell.size-large{--sc-unit:1.12}
.controllerWatermark{position:absolute;left:50%;top:50%;width:min(46vw,46vh);height:min(46vw,46vh);object-fit:contain;transform:translate(-50%,-46%);opacity:.065;filter:grayscale(.18) saturate(1.4) drop-shadow(0 0 34px color-mix(in srgb,var(--smart-team) 30%,transparent));pointer-events:none;z-index:-1}
.smartTop{height:44px;padding:var(--sc-safe-top) var(--sc-safe-right) 4px var(--sc-safe-left);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;background:linear-gradient(180deg,rgba(4,10,17,.96),rgba(3,7,12,.86));border-bottom:1px solid color-mix(in srgb,var(--smart-team) 24%,#203244);box-shadow:0 8px 24px #0008}
.smartBrand{justify-self:start}.smartBrand>b{font-size:9px;letter-spacing:.16em}.smartBrand>small{font-size:6px;letter-spacing:.14em;color:#71869a}
.smartTopCenter{display:flex;align-items:center;gap:7px;justify-self:center;min-width:0}.smartTeamLogo{width:25px;height:25px;object-fit:contain;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--smart-team) 42%,transparent))}.smartScore{font-size:9px;letter-spacing:.09em;max-width:38vw;overflow:hidden;text-overflow:ellipsis}
.smartTopRight{justify-self:end}.smartTopRight .identity{font-size:7px}.smartTopRight .status{font-size:7px}.smartIconBtn{width:29px;height:29px;border-radius:9px;background:linear-gradient(145deg,#0d1a26,#07101a);border-color:#2b4258}
.smartCockpit{height:calc(100dvh - 44px);position:relative;min-height:0}
.smartPlayMode{height:100%;display:grid;grid-template-columns:minmax(185px,28vw) minmax(260px,1fr) minmax(210px,30vw);gap:8px;padding:7px var(--sc-safe-right) var(--sc-safe-bottom) var(--sc-safe-left);align-items:stretch}
.smartControlWing{position:relative;min-width:0;min-height:0;display:grid;place-items:center}.stickWing{grid-template-rows:auto 1fr}.buttonsWing{align-items:center}
.turboTrigger{position:absolute;left:8%;top:2%;width:min(105px,38%);height:39px;border-radius:13px;border:1px solid color-mix(in srgb,var(--smart-team) 45%,#334155);background:linear-gradient(160deg,#162238,#0a101c);color:#fff;box-shadow:inset 0 1px #ffffff18,0 10px 24px #0008;z-index:5;touch-action:none}.turboTrigger span{display:block;font-size:9px;font-weight:950;letter-spacing:.1em}.turboTrigger small{display:block;font-size:5px;color:#8295aa;letter-spacing:.12em}.turboTrigger.pressed,.turboTrigger:active{transform:translateY(2px) scale(.97);filter:brightness(1.35);box-shadow:inset 0 3px 12px #0009,0 4px 10px #0006}
.stickAssembly{display:grid;place-items:center;align-self:center}.smartStick{width:min(calc(30vw * var(--sc-unit)),calc(38vh * var(--sc-unit)),290px);max-width:92%;border:1px solid color-mix(in srgb,var(--smart-team) 32%,#405266);background:radial-gradient(circle,#182739 0 21%,#0b1622 22% 52%,#050a10 53% 73%,#02060b 74%);box-shadow:inset 0 0 48px #000d,inset 0 0 0 8px #ffffff05,0 20px 44px #000a;touch-action:none}
.smartStick:before,.smartStick:after{content:'';position:absolute;left:50%;top:50%;background:#ffffff0e;transform:translate(-50%,-50%);pointer-events:none}.smartStick:before{width:74%;height:1px}.smartStick:after{width:1px;height:74%}.stickKnob{background:radial-gradient(circle at 36% 28%,#47617b,#182434 55%,#090f18 100%);border:1px solid color-mix(in srgb,var(--smart-team) 40%,#5a718d);box-shadow:inset 0 2px #ffffff1a,0 10px 26px #000b,0 0 20px color-mix(in srgb,var(--smart-team) 10%,transparent)}
.wingLabel{bottom:1px;font-size:6px;letter-spacing:.2em;color:#53677a}
.smartCenter{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(58px,1fr) auto auto auto;gap:4px;align-content:center;padding:2px 0}
.smartStateRow{display:flex;justify-content:center;align-items:center;gap:6px}.gameStatePill{padding:3px 9px;border-radius:999px;background:#07131d;border:1px solid color-mix(in srgb,var(--smart-team) 35%,#244258);color:#c9f7ff;font-size:6px;letter-spacing:.16em;box-shadow:0 0 18px color-mix(in srgb,var(--smart-team) 10%,transparent)}
.smartPlayerCard{position:relative;grid-template-columns:68px minmax(0,1fr);min-height:68px;padding:6px 9px;border-radius:16px;background:linear-gradient(140deg,rgba(15,29,42,.90),rgba(4,9,15,.90));border:1px solid color-mix(in srgb,var(--smart-team) 30%,#20394e);box-shadow:inset 0 1px #ffffff0a,0 14px 34px #0008}.smartPortraitWrap{width:58px;height:58px;border-radius:15px;border-color:color-mix(in srgb,var(--smart-team) 38%,#37536a);box-shadow:0 0 18px color-mix(in srgb,var(--smart-team) 12%,transparent)}.portraitPulse{position:absolute;inset:-1px;border-radius:15px;border:1px solid transparent;pointer-events:none}.controllerReady[data-possession="offense"] .smartPortraitWrap .portraitPulse{border-color:color-mix(in srgb,var(--smart-team) 70%,white);animation:scPulse 1.4s ease-out infinite}.smartPlayerInfo>b{font-size:clamp(11px,1.55vw,17px);letter-spacing:-.01em}.smartPlayerInfo small{font-size:6.5px}.smartPlayerInfo .controllerStats{font-size:7.5px!important}.smartStamina{height:11px}.smartStamina.low i{background:linear-gradient(90deg,#ff5f68,#ff9a5d)}
.smartMeter{border-color:color-mix(in srgb,var(--smart-team) 30%,#33455f);box-shadow:0 10px 24px #0007}.smartFiveHeader{font-size:5.5px}.smartFiveHeader button{font-size:5.5px}.onCourtStrip{gap:3px;min-height:38px}.onCourtStrip .smartRosterCard{border-radius:9px;background:#050b12b8;border-color:#1d3041}.onCourtStrip .smartRosterCard.active{border-color:color-mix(in srgb,var(--smart-team) 72%,white);box-shadow:0 0 14px color-mix(in srgb,var(--smart-team) 18%,transparent)}
.smartActionCluster{position:relative;width:min(calc(31vw * var(--sc-unit)),calc(39vh * var(--sc-unit)),294px);aspect-ratio:1;touch-action:none}.smartActionCluster .actionBtn{position:absolute;width:42%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;color:#fff;border:1px solid #3e5268;font-weight:950;letter-spacing:.04em;box-shadow:inset 0 1px #ffffff1f,inset 0 -8px 18px #0005,0 14px 28px #0009;transition:transform .06s ease,filter .06s ease,box-shadow .06s ease;touch-action:none;overflow:hidden}.smartActionCluster .actionBtn span{font-size:clamp(8px,1.2vw,12px);position:relative;z-index:2}.smartActionCluster .actionBtn small{font-size:5px;letter-spacing:.07em;color:#ffffff9b;position:relative;z-index:2}.smartActionCluster .actionBtn.pressed,.smartActionCluster .actionBtn:active{transform:scale(.93);filter:brightness(1.35);box-shadow:inset 0 7px 18px #0008,0 5px 14px #0008}
.smartActionCluster .shootAction{right:0;top:29%;background:radial-gradient(circle at 35% 28%,#ff9a5a,#d84b19 42%,#6f200c 100%);border-color:#ff9f6a}.smartActionCluster .passAction{left:0;top:29%;background:radial-gradient(circle at 35% 28%,#55dfff,#148eb7 43%,#06445c 100%);border-color:#72e8ff}.smartActionCluster .screenAction{left:29%;top:0;background:radial-gradient(circle at 35% 28%,#9e8aff,#644ee5 43%,#2f2477 100%);border-color:#b8a8ff}.smartActionCluster .skillAction{left:29%;bottom:0;background:radial-gradient(circle at 35% 28%,#5ce4ad,#14815a 43%,#07412f 100%);border-color:#73efbb}.smartActionCluster #shootCharge{position:absolute;left:9%;right:9%;bottom:10%;height:4px;border-radius:999px;background:linear-gradient(90deg,#fff,var(--smart-team));transform-origin:left;transform:scaleX(0);box-shadow:0 0 10px #fff8}
.smartControllerBody[data-possession="defense"] .shootAction{background:radial-gradient(circle at 35% 28%,#ff877f,#b92635 45%,#5b111b)}.smartControllerBody[data-possession="defense"] .passAction{background:radial-gradient(circle at 35% 28%,#6bdfff,#177da6 45%,#073950)}.smartControllerBody[data-possession="defense"] .screenAction{background:radial-gradient(circle at 35% 28%,#ffe080,#b98b22 45%,#5a3f08)}.smartControllerBody[data-possession="defense"] .skillAction{background:radial-gradient(circle at 35% 28%,#b48bff,#6e3dca 45%,#32186a)}
.leftyControls .smartPlayMode{grid-template-columns:minmax(210px,30vw) minmax(260px,1fr) minmax(185px,28vw)}.leftyControls #stickSide{grid-column:3}.leftyControls #buttonsSide{grid-column:1;grid-row:1}.leftyControls .smartCenter{grid-column:2;grid-row:1}.leftyControls .turboTrigger{left:auto;right:8%}
.teamModePanel{padding:8px var(--sc-safe-right) var(--sc-safe-bottom) var(--sc-safe-left);background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--smart-team) 12%,#11253a),#03070c 62%)}.coachStatus{grid-template-columns:repeat(4,1fr)}.teamModeGrid{grid-template-columns:minmax(0,1.25fr) minmax(245px,.75fr)}
.smartSettings{padding:var(--sc-safe-top) var(--sc-safe-right) var(--sc-safe-bottom) var(--sc-safe-left)}.settingsCard{width:min(600px,94vw);border-color:color-mix(in srgb,var(--smart-team) 30%,#2c4258)}.settingsCard label{grid-template-columns:minmax(130px,1fr) minmax(120px,auto) auto}.settingsCard input[type=range]{width:min(210px,34vw)}
.controllerLab{position:absolute;left:50%;top:48px;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:4px;background:#02070ddd;border:1px solid #2c4258;border-radius:999px;padding:4px 5px;box-shadow:0 12px 30px #000a}.controllerLab b{font-size:6px;letter-spacing:.13em;color:#7c91a7;padding:0 5px}.controllerLab button{border:1px solid #26394c;border-radius:999px;background:#08111b;color:#8da1b5;padding:5px 7px;font-size:5px;font-weight:950;letter-spacing:.07em}.controllerLab button.active{color:#fff;border-color:var(--smart-team);background:color-mix(in srgb,var(--smart-team) 24%,#07111b)}.controllerLabBody .smartCockpit{height:calc(100dvh - 44px)}
.opponentPick{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin:10px 0}.opponentPick label{font-size:10px;color:var(--muted);letter-spacing:.11em}.opponentPick select{width:100%;margin-top:7px;background:#080c12;color:white;border:1px solid #27364b;padding:12px;border-radius:8px}
@keyframes scPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--smart-team) 45%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (orientation:portrait) and (max-width:900px){.smartControllerBody.controllerReady #rotateOverlay,.controllerLabBody #rotateOverlay{display:grid}.smartControllerBody.controllerReady .smartControllerShell,.controllerLabBody .smartControllerShell{filter:blur(8px);pointer-events:none}}
@media (orientation:landscape) and (max-height:430px){.smartTop{height:38px}.smartCockpit{height:calc(100dvh - 38px)}.smartBrand>small,.smartTopRight .identity{display:none}.smartPlayMode{grid-template-columns:minmax(150px,27vw) minmax(235px,1fr) minmax(180px,29vw);padding-top:4px}.smartPlayerCard{grid-template-columns:56px minmax(0,1fr);min-height:56px;padding:4px 7px}.smartPortraitWrap{width:48px;height:48px}.smartStamina{height:9px}.onCourtStrip{min-height:32px}.rosterPortrait{width:25px;height:25px}.onCourtStrip .smartRosterCard{grid-template-columns:25px minmax(0,1fr)}.smartFiveHeader{margin-top:-1px}.controllerLab{top:41px}}
@media (orientation:landscape) and (max-width:760px){.smartPlayMode{grid-template-columns:minmax(145px,29vw) minmax(205px,1fr) minmax(165px,31vw);gap:4px}.smartTopRight .identity{display:none}.smartTopCenter .smartScore{display:none}.smartActionCluster{width:min(30vw,38vh,220px)}.smartStick{width:min(29vw,36vh,220px)}.smartPlayerInfo>b{font-size:10px}.smartPlayerInfo small{font-size:5.5px}.smartPlayerInfo .controllerStats{font-size:6.5px!important}.onCourtStrip .rosterText small{display:none}.controllerLab b{display:none}.controllerLab button{padding:4px 5px}}

/* VBA27 Controller · persistent Gamer ID + console deck */
[hidden]{display:none!important}
.smartControllerBody{--skin-opacity:.72;--glass:.72;background:#02050a}
.vba27GamerHome{position:fixed;inset:0;z-index:10;overflow:auto;overscroll-behavior:none;background:#03060b;color:#f7fbff;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.gamerAmbient{position:fixed;inset:-20%;pointer-events:none;background:radial-gradient(circle at 14% 12%,rgba(56,217,255,.16),transparent 30%),radial-gradient(circle at 86% 18%,rgba(255,91,30,.14),transparent 28%),radial-gradient(circle at 50% 100%,rgba(65,79,255,.14),transparent 38%);filter:blur(18px)}
.gamerHomeShell{position:relative;z-index:2;min-height:100dvh;width:min(1040px,100%);margin:auto;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));display:grid;grid-template-rows:auto 1fr auto;gap:18px}
.gamerHomeTop{display:flex;align-items:center;justify-content:space-between;gap:14px}.vba27Mark{display:flex;align-items:baseline;gap:3px;font-weight:950;letter-spacing:-.06em}.vba27Mark span{font-size:24px}.vba27Mark b{font-size:30px;color:#ff6d2c}.vba27Mark small{margin-left:8px;font-size:8px;letter-spacing:.22em;color:#7589a0}.gamerConnection{display:flex;align-items:center;gap:7px;border:1px solid #25394d;border-radius:999px;background:#07101ac7;padding:8px 11px;font-size:8px;font-weight:950;letter-spacing:.1em;color:#91a5b9}.gamerConnection i{width:7px;height:7px;border-radius:50%;background:#8796a7;box-shadow:0 0 12px currentColor}.gamerConnection.good{color:#66e7aa;border-color:#255c47}.gamerConnection.good i{background:#66e7aa}.gamerConnection.warn{color:#ffd170;border-color:#655126}.gamerConnection.warn i{background:#ffd170}
.gamerHomeGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-template-areas:'id skin' 'launch skin';gap:14px;align-content:center}.gamerIdentityCard,.gamerSkinPreview,.gamerLaunchCard{position:relative;overflow:hidden;border:1px solid #203248;border-radius:22px;background:linear-gradient(150deg,rgba(15,27,41,.94),rgba(5,9,15,.96));box-shadow:0 24px 70px #0008}.gamerIdentityCard{grid-area:id;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'avatar identity rank' 'stats stats stats';gap:14px;padding:20px}.gamerCardGlow{position:absolute;left:-20%;top:-65%;width:72%;aspect-ratio:1;border-radius:50%;background:#38d9ff18;filter:blur(28px);pointer-events:none}.gamerAvatar{grid-area:avatar;width:62px;height:62px;border-radius:18px;border:1px solid #38516a;background:linear-gradient(145deg,#162b3e,#08111b);display:grid;place-items:center;font-size:28px;box-shadow:inset 0 1px #ffffff15,0 12px 32px #0009}.gamerIdentity{grid-area:identity;min-width:0;align-self:center}.gamerIdentity small,.gamerRank small,.gamerStats small,.previewTop small,.gamerLaunchCopy>small{display:block;font-size:7px;font-weight:950;letter-spacing:.18em;color:#6f8ca8}.gamerIdentity h1{font-size:clamp(22px,4vw,38px);line-height:.95;margin:5px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gamerIdentity p{margin:0;color:#8195aa;font-size:10px;line-height:1.45}.gamerRank{grid-area:rank;align-self:center;text-align:right}.gamerRank b{display:block;margin-top:4px;font-size:15px;letter-spacing:.08em;color:#8cecff}.gamerStats{grid-area:stats;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;border-top:1px solid #1d2d3f;padding-top:12px}.gamerStats>div{border:1px solid #1e3042;background:#07101a99;border-radius:10px;padding:8px 9px}.gamerStats b{display:block;margin-top:3px;font-size:14px}
.gamerSkinPreview{grid-area:skin;min-height:360px;padding:18px;display:grid;grid-template-rows:auto 1fr auto;isolation:isolate}.gamerSkinPreview:before{content:'';position:absolute;inset:0;z-index:-2;opacity:.92}.gamerSkinPreview:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,5,10,.12),rgba(2,5,10,.68))}.previewNoise{position:absolute;inset:0;opacity:.14;pointer-events:none;background-image:radial-gradient(#fff 0.7px,transparent .8px);background-size:7px 7px;mix-blend-mode:soft-light}.previewTop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.previewTop b{font-size:10px;letter-spacing:.12em}.previewController{align-self:center;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:22px 16px;border:1px solid #ffffff20;border-radius:30px;background:linear-gradient(155deg,rgba(11,20,31,.72),rgba(2,6,12,.78));box-shadow:inset 0 1px #ffffff17,0 20px 55px #0009;backdrop-filter:blur(14px)}.previewStick{width:min(100px,24vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#24384c 0 28%,#0a1420 30% 63%,#02070c 65%);border:1px solid #52677c;display:grid;place-items:center}.previewStick i{width:36%;aspect-ratio:1;border-radius:50%;background:#18283a;box-shadow:0 7px 18px #000}.previewCenter{font-size:10px;font-weight:950;letter-spacing:.1em;color:#8298ad;text-align:center}.previewCenter span{display:block;color:#ff6d2c;font-size:18px}.previewButtons{position:relative;width:min(110px,25vw);aspect-ratio:1}.previewButtons i{position:absolute;width:38%;aspect-ratio:1;border-radius:50%;border:1px solid #ffffff42;background:#0a111dcc;display:grid;place-items:center;font-style:normal;font-size:16px;box-shadow:0 7px 14px #0007}.previewButtons i:nth-child(1){left:31%;top:0}.previewButtons i:nth-child(2){right:0;top:31%}.previewButtons i:nth-child(3){left:31%;bottom:0}.previewButtons i:nth-child(4){left:0;top:31%}.previewHint{font-size:7px;letter-spacing:.12em;color:#7f92a5;text-align:center}
.gamerLaunchCard{grid-area:launch;padding:20px}.gamerLaunchCopy h2{font-size:clamp(27px,5vw,45px);line-height:.88;margin:7px 0 10px;letter-spacing:-.05em}.gamerLaunchCopy p{font-size:10px;line-height:1.55;color:#8498ac;margin:0 0 14px}.findGameBtn{width:100%;min-height:66px;border:1px solid #ff9562;border-radius:15px;background:linear-gradient(135deg,#ff5b1e,#ff8f35);color:#fff;box-shadow:0 12px 36px #ff5b1e2e,inset 0 1px #ffffff42;cursor:pointer}.findGameBtn span{display:block;font-size:19px;font-weight:1000;letter-spacing:.08em}.findGameBtn small{display:block;font-size:7px;letter-spacing:.13em;margin-top:3px;color:#fffbdc}.findGameBtn:active{transform:translateY(2px);filter:brightness(1.08)}.findGameBtn.searching{animation:vbaFindPulse 1s ease-in-out infinite}.gamerSigninBtn{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #27455e;border-radius:12px;background:#081522;color:#dff7ff;text-decoration:none;padding:11px 13px}.gamerSigninBtn span{font-size:7px;letter-spacing:.15em;color:#67ddff}.gamerSigninBtn b{font-size:9px;letter-spacing:.08em}.gamerSecondaryActions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.gamerSecondaryActions .ghost{text-align:center;padding:10px 8px}.privateJoinPanel{position:fixed;inset:0;z-index:30;background:#010408df;display:grid;place-items:center;padding:18px;backdrop-filter:blur(12px)}.privateJoinPanel .smartPairPanel{position:relative;margin:0;width:min(520px,100%);border:1px solid #29435a;border-radius:20px;background:linear-gradient(155deg,#102033,#050a10);box-shadow:0 30px 90px #000;padding:24px}.privateJoinPanel .smartPairPanel h2{font-size:28px;margin:7px 0}.privateClose{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:10px;border:1px solid #30455a;background:#08131e;color:white;font-size:20px}.gamerHomeFooter{display:flex;justify-content:space-between;gap:12px;color:#53687d;font-size:6px;font-weight:900;letter-spacing:.14em}

/* fixed safe controller wallpapers; no arbitrary URL/CSS input */
.smartControllerBody[data-skin="arena"] .controllerWallpaper,.gamerSkinPreview[data-skin="arena"]:before{background:radial-gradient(circle at 50% 8%,#1b5670 0,#10243a 24%,#050b13 58%,#020408 100%),linear-gradient(90deg,transparent 49.5%,#ffffff0a 50%,transparent 50.5%)}
.smartControllerBody[data-skin="midnight"] .controllerWallpaper,.gamerSkinPreview[data-skin="midnight"]:before{background:radial-gradient(circle at 22% 20%,#301958 0,transparent 34%),radial-gradient(circle at 82% 72%,#073654 0,transparent 35%),linear-gradient(150deg,#080711,#02040a 65%)}
.smartControllerBody[data-skin="hardwood"] .controllerWallpaper,.gamerSkinPreview[data-skin="hardwood"]:before{background:linear-gradient(90deg,rgba(4,8,12,.5),rgba(4,8,12,.16),rgba(4,8,12,.5)),repeating-linear-gradient(90deg,#7c421d 0 34px,#8f5126 34px 68px,#653315 68px 102px),repeating-linear-gradient(0deg,transparent 0 33px,#2e160a99 34px 35px)}
.smartControllerBody[data-skin="neon"] .controllerWallpaper,.gamerSkinPreview[data-skin="neon"]:before{background:linear-gradient(135deg,transparent 0 46%,#38d9ff18 47% 48%,transparent 49%),linear-gradient(45deg,transparent 0 46%,#ff4fd818 47% 48%,transparent 49%),radial-gradient(circle at 20% 30%,#2631a0,transparent 35%),radial-gradient(circle at 80% 60%,#6f135f,transparent 38%),#050513;background-size:58px 58px,58px 58px,auto,auto,auto}
.smartControllerBody[data-skin="carbon"] .controllerWallpaper,.gamerSkinPreview[data-skin="carbon"]:before{background:linear-gradient(45deg,#111820 25%,transparent 25%) 0 0/22px 22px,linear-gradient(-45deg,#111820 25%,transparent 25%) 0 11px/22px 22px,linear-gradient(45deg,transparent 75%,#18232d 75%) 11px -11px/22px 22px,linear-gradient(-45deg,transparent 75%,#18232d 75%) -11px 0/22px 22px,#05090d}

.controllerWallpaper{position:absolute;inset:0;z-index:-3;opacity:var(--skin-opacity,.72);transition:opacity .2s ease;background-size:cover!important}.controllerWallpaper:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 10%,transparent 0 20%,rgba(1,4,8,.58) 75%),linear-gradient(180deg,rgba(2,6,11,.05),rgba(2,6,11,.5))}.controllerGlass{position:absolute;inset:0;z-index:-2;background:rgba(2,7,12,var(--glass,.72));backdrop-filter:blur(3px);pointer-events:none}.smartControllerShell{isolation:isolate;background:transparent!important}.smartTop,.smartCockpit,.smartSettings,.controllerLab{position:relative;z-index:2}.smartTop{background:linear-gradient(180deg,rgba(4,10,17,.78),rgba(3,7,12,.6))!important;backdrop-filter:blur(14px)}.smartPlayerCard,.smartActionCluster .actionBtn,.smartStick,.teamModePanel,.settingsCard{backdrop-filter:blur(8px)}
.linkQuality{font-size:6px;font-weight:950;letter-spacing:.1em;color:#6f859a;border:1px solid #24394b;border-radius:999px;padding:4px 6px;white-space:nowrap}.linkQuality.good{color:#74edb2;border-color:#296047}.linkQuality.warn{color:#ffd170;border-color:#675126}.linkQuality.bad{color:#ff8a92;border-color:#6b2d34}.controllerOptimize{width:100%;margin:8px 0 4px;box-shadow:0 8px 24px #ff5b1e25}.coachTrigger{position:absolute;right:8%;top:2%;width:min(105px,38%);height:39px;border-radius:13px;border:1px solid color-mix(in srgb,var(--smart-team) 45%,#334155);background:linear-gradient(160deg,#162238,#0a101c);color:#fff;box-shadow:inset 0 1px #ffffff18,0 10px 24px #0008;z-index:5;touch-action:none}.coachTrigger span{display:block;font-size:9px;font-weight:950;letter-spacing:.1em}.coachTrigger small{display:block;font-size:5px;color:#8295aa;letter-spacing:.12em}.coachTrigger:active{transform:translateY(2px) scale(.97);filter:brightness(1.3)}
.smartActionCluster .psSymbol{position:absolute!important;z-index:1!important;left:50%;top:7%;transform:translateX(-50%);font-style:normal!important;font-size:clamp(13px,2vw,21px)!important;line-height:1;color:#ffffff42!important;text-shadow:0 0 10px #ffffff18;pointer-events:none}.smartActionCluster .actionBtn span{margin-top:7px}.screenAction .psSymbol{color:#bfb3ff!important}.shootAction .psSymbol{color:#ffb28e!important}.skillAction .psSymbol{color:#81efc2!important}.passAction .psSymbol{color:#8beaff!important}
.leftyControls .coachTrigger{right:auto;left:8%}

@keyframes vbaFindPulse{0%,100%{box-shadow:0 12px 36px #ff5b1e2e}50%{box-shadow:0 12px 54px #ff5b1e72}}
@media(max-width:760px){.gamerHomeShell{padding:14px}.gamerHomeGrid{grid-template-columns:1fr;grid-template-areas:'id' 'skin' 'launch';align-content:start}.gamerSkinPreview{min-height:260px}.gamerIdentityCard{grid-template-columns:auto 1fr;grid-template-areas:'avatar identity' 'rank identity' 'stats stats'}.gamerRank{text-align:left}.gamerStats{gap:4px}.gamerStats>div{padding:7px}.gamerHomeFooter{flex-wrap:wrap}.gamerConnection span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:430px){.gamerHomeTop{align-items:flex-start}.vba27Mark small{display:none}.gamerIdentityCard{padding:15px}.gamerAvatar{width:52px;height:52px}.gamerStats b{font-size:12px}.previewController{padding:18px 10px}.gamerSecondaryActions{grid-template-columns:1fr}.gamerHomeFooter span:nth-child(2){display:none}}
@media(orientation:portrait) and (max-width:900px){.smartControllerBody.controllerReady #rotateOverlay{display:grid}.smartControllerBody.gamerHomeMode #rotateOverlay{display:none!important}}
.previewTop>div{display:grid;gap:3px}.previewTop button{border:1px solid #345168;background:#07131f;color:#cfefff;border-radius:999px;padding:7px 9px;font-size:6px;font-weight:950;letter-spacing:.1em;cursor:pointer}.previewTop button:active{transform:scale(.96);filter:brightness(1.25)}

/* VBA27 Run 7 · Visual Command Deck + Controller OS */
.smartBrandLine{display:flex;align-items:center;gap:6px}.nerddiBrand{width:48px;max-height:14px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 8px rgba(98,225,255,.18));opacity:.86}.osTrayBtn{font-size:16px;line-height:1}
.smartPortraitWrap.portraitMissing:before{content:'VBA';position:absolute;inset:0;display:grid;place-items:center;font-weight:1000;font-size:15px;letter-spacing:.08em;color:color-mix(in srgb,var(--smart-team) 72%,#fff);background:radial-gradient(circle at 50% 24%,color-mix(in srgb,var(--smart-team) 22%,#17283a),#07111b 68%)}
.rosterPortrait{overflow:hidden}.rosterPortrait img{width:100%;height:100%;object-fit:cover;display:block}.rosterPortrait .portraitFallback{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:15px;background:#09131d}.rosterPortrait .portraitFallback[hidden]{display:none}.rosterPortrait em{z-index:3}

/* Settings now uses an explicit app-owned open state instead of browser hidden behavior. */
.smartSettings{position:fixed!important;inset:0!important;z-index:150!important;display:grid!important;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility .16s ease;background:rgba(0,0,0,.72)!important;backdrop-filter:blur(10px)}
.smartSettings.is-open{opacity:1;visibility:visible;pointer-events:auto}.smartSettings .settingsCard{transform:translateY(16px) scale(.985);transition:transform .18s ease;width:min(560px,95vw);border-color:color-mix(in srgb,var(--smart-team) 35%,#31475d);background:linear-gradient(155deg,rgba(15,31,46,.98),rgba(3,7,12,.99));box-shadow:0 32px 110px #000,0 0 44px color-mix(in srgb,var(--smart-team) 10%,transparent)}.smartSettings.is-open .settingsCard{transform:none}.controllerOptimize{margin-top:7px;position:relative;overflow:hidden}.controllerOptimize:after{content:'';position:absolute;inset:-60% -20%;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.18),transparent 65%);transform:translateX(-120%);animation:optimizeSheen 4s ease-in-out infinite}@keyframes optimizeSheen{0%,72%{transform:translateX(-120%)}90%,100%{transform:translateX(120%)}}

/* Slide-down mini computer. */
.controllerOsTray{position:absolute;z-index:120;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:44px;max-height:calc(100dvh - 52px);overflow:auto;border:1px solid color-mix(in srgb,var(--smart-team) 30%,#26394b);border-top:0;border-radius:0 0 18px 18px;background:linear-gradient(180deg,rgba(5,13,22,.985),rgba(2,6,11,.975));box-shadow:0 28px 70px rgba(0,0,0,.82),0 0 34px color-mix(in srgb,var(--smart-team) 9%,transparent);backdrop-filter:blur(18px);transform:translateY(calc(-100% - 12px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s,visibility .18s}
.controllerOsTray.is-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.osTrayHead{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid #1c3042;background:rgba(4,10,17,.93);backdrop-filter:blur(14px)}.osTrayHead>div{display:grid}.osTrayHead small,.osModuleHead small{font-size:5px;letter-spacing:.17em;color:#6e879e}.osTrayHead b{font-size:12px;letter-spacing:.08em}.osTrayGrid{display:grid;grid-template-columns:1.25fr 1fr .58fr;gap:8px;padding:9px}.osModule{min-width:0;border:1px solid #1b2d3d;border-radius:12px;background:linear-gradient(145deg,rgba(10,21,32,.86),rgba(4,9,15,.86));padding:9px;box-shadow:inset 0 1px rgba(255,255,255,.025)}.osModuleHead{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin-bottom:6px}.osModuleHead b{font-size:7px;letter-spacing:.12em;color:#dce9f4}.lineupSnapshot{display:grid;grid-template-columns:1fr 1fr;gap:7px}.osFive{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.osFive>small{grid-column:1/-1;font-size:5px;letter-spacing:.14em;color:#74dfff}.osFive.opponent>small{color:#ff9b73}.osFive .smartRosterCard{grid-template-columns:1fr;gap:2px;padding:4px;min-height:55px;text-align:center}.osFive .rosterPortrait{width:31px;height:31px;margin:auto}.osFive .rosterText b{font-size:5.5px}.osFive .rosterText small{display:none}.osFive .rosterEnergy{width:100%;height:3px}.osFive .rosterEnergy i{left:0;top:0;bottom:0;width:100%;transform-origin:left center}.replayFeed{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;-webkit-overflow-scrolling:touch}.playFeedCard{flex:0 0 min(185px,74%);scroll-snap-align:start;display:grid;gap:2px;text-align:left;border:1px solid #203447;background:linear-gradient(140deg,#091725,#050b12);color:#fff;border-radius:9px;padding:8px;min-height:63px}.playFeedCard.latest{border-color:color-mix(in srgb,var(--smart-team) 56%,#3b5267);box-shadow:inset 3px 0 color-mix(in srgb,var(--smart-team) 80%,#fff)}.playFeedCard span{font-size:5px;letter-spacing:.13em;color:#7893aa}.playFeedCard b{font-size:7px;line-height:1.25}.playFeedCard small{font-size:5px;color:#70869a}.osEmpty{font-size:6px;color:#6e8296;padding:9px}.linkModule{align-content:start}.connectionHealthDetail{font-size:8px;line-height:1.35;font-weight:950;letter-spacing:.07em;color:#9deaff;padding:11px 8px;border:1px solid #1e3a4d;background:#07141e;border-radius:9px;margin-bottom:7px}.linkModule .primary{width:100%}

/* New Run 7 skins. */
.smartControllerBody[data-skin="nerddi"] .controllerWallpaper,.gamerSkinPreview[data-skin="nerddi"]:before{background-image:linear-gradient(135deg,rgba(1,5,10,.12),rgba(1,5,10,.78)),radial-gradient(circle at 72% 24%,rgba(40,220,255,.30),transparent 30%),radial-gradient(circle at 20% 72%,rgba(153,69,255,.28),transparent 34%),linear-gradient(90deg,transparent 48%,rgba(96,229,255,.12) 49%,transparent 50%),url('../images/nerddi_logo.webp');background-size:auto,auto,auto,46px 46px,min(62vw,760px) auto!important;background-repeat:no-repeat,no-repeat,no-repeat,repeat,no-repeat;background-position:center,center,center,center,center}
.smartControllerBody[data-skin="championship"] .controllerWallpaper,.gamerSkinPreview[data-skin="championship"]:before{background:radial-gradient(circle at 50% 25%,rgba(255,219,110,.38),transparent 24%),linear-gradient(135deg,transparent 0 47%,rgba(255,221,122,.08) 48% 50%,transparent 51%),radial-gradient(circle at 18% 18%,#6e4a12,transparent 31%),radial-gradient(circle at 82% 72%,#3f2808,transparent 34%),linear-gradient(150deg,#1a1205,#050403 65%);background-size:auto,58px 58px,auto,auto,auto!important}
.smartControllerBody[data-skin="broadcast"] .controllerWallpaper,.gamerSkinPreview[data-skin="broadcast"]:before{background:linear-gradient(90deg,rgba(0,210,255,.14) 0 1px,transparent 1px 100%)/52px 100%,linear-gradient(rgba(0,210,255,.08) 0 1px,transparent 1px 100%)/100% 36px,radial-gradient(circle at 50% -20%,#124665,#07111c 40%,#020508 78%);background-size:52px 100%,100% 36px,cover!important}
.smartControllerBody[data-skin="homecourt"] .controllerWallpaper,.gamerSkinPreview[data-skin="homecourt"]:before{background:radial-gradient(circle at 50% 50%,transparent 0 14%,rgba(255,255,255,.10) 14.3% 14.8%,transparent 15%),linear-gradient(90deg,transparent 49.6%,rgba(255,255,255,.16) 49.7% 50.3%,transparent 50.4%),linear-gradient(0deg,rgba(1,4,8,.48),rgba(1,4,8,.2)),repeating-linear-gradient(90deg,#9a5b29 0 38px,#a96832 38px 76px,#8d4d21 76px 114px);background-size:360px 360px,100% 100%,100% 100%,auto!important}
.smartControllerBody[data-skin="championship"]{--smart-team:#e2b84f}.smartControllerBody[data-skin="nerddi"]{--smart-team:#42e4ff}.smartControllerBody[data-skin="broadcast"]{--smart-team:#4fe0ff}

@media(max-height:470px){.nerddiBrand{width:39px;max-height:11px}.controllerOsTray{top:44px}.osTrayGrid{grid-template-columns:1.35fr 1fr .52fr;padding:6px;gap:5px}.osModule{padding:6px}.osFive .smartRosterCard{min-height:45px}.osFive .rosterPortrait{width:25px;height:25px}.playFeedCard{min-height:52px}.connectionHealthDetail{padding:7px 6px;font-size:6px}}
@media(max-width:760px) and (orientation:portrait){.controllerOsTray{position:fixed;top:54px}.osTrayGrid{grid-template-columns:1fr}.lineupSnapshot{grid-template-columns:1fr}.osFive .smartRosterCard{min-height:62px}}
.opponentTitle b{color:#ff9a72}.opponentCards .smartRosterCard{border-color:#3d2924;background:linear-gradient(145deg,#130c0a,#071018)}.opponentCards .smartRosterCard.active{border-color:#d77d5c;box-shadow:inset 0 0 0 1px #ff9a7228}
.nerddiPowered{display:inline-flex;align-items:center;gap:6px}.nerddiPowered img{width:48px;max-height:12px;object-fit:contain;opacity:.78}
.quickOptimize{appearance:none;-webkit-appearance:none;cursor:pointer;padding:4px 7px;border:1px solid #24384a;border-radius:999px;background:#07111b;color:inherit;font:inherit}.quickOptimize.good{border-color:#245d4b;background:#071711}.quickOptimize.warn{border-color:#6b5226;background:#191205}.quickOptimize.bad{border-color:#6c3030;background:#190808}.quickOptimize:active{transform:scale(.96)}
.skinDeck{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 0 12px;border-top:1px solid #1b2b3b}.skinDeck button{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:7px;text-align:left;border:1px solid #24384a;border-radius:9px;background:#07111b;color:#d9e6f1;padding:6px;min-width:0}.skinDeck button i{width:34px;height:24px;border-radius:5px;border:1px solid #ffffff18;background:#122334}.skinDeck button b{font-size:6px;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis}.skinDeck button.active{border-color:color-mix(in srgb,var(--smart-team) 72%,#fff);box-shadow:0 0 16px color-mix(in srgb,var(--smart-team) 13%,transparent)}.skinDeck button[data-skin="arena"] i{background:radial-gradient(circle,#1b5670,#07111b)}.skinDeck button[data-skin="midnight"] i{background:linear-gradient(135deg,#351a62,#06324d)}.skinDeck button[data-skin="hardwood"] i{background:repeating-linear-gradient(90deg,#7c421d 0 8px,#9a5a2b 8px 16px)}.skinDeck button[data-skin="neon"] i{background:linear-gradient(135deg,#2433a8,#74115e)}.skinDeck button[data-skin="carbon"] i{background:repeating-linear-gradient(45deg,#111820 0 5px,#1c2934 5px 10px)}.skinDeck button[data-skin="nerddi"] i{background:radial-gradient(circle at 70% 20%,#2ddfff,#26186a 48%,#050b12)}.skinDeck button[data-skin="championship"] i{background:radial-gradient(circle,#f6d36c,#5c3d0a 70%)}.skinDeck button[data-skin="broadcast"] i{background:linear-gradient(90deg,#0c5678 1px,#07111b 1px);background-size:7px 100%}.skinDeck button[data-skin="homecourt"] i{background:repeating-linear-gradient(90deg,#9b5b29 0 8px,#b06c34 8px 16px)}
@media(max-height:470px){.skinDeck{grid-template-columns:repeat(5,1fr)}.skinDeck button{grid-template-columns:1fr;padding:4px}.skinDeck button i{width:100%;height:18px}.skinDeck button b{text-align:center;font-size:5px}}

/* ============================================================
   RUN 8 · VBA27 MATCH CONSOLE
   Premium opponent / CPU difficulty / matchup presentation.
   Transport and gameplay controls are intentionally untouched.
   ============================================================ */
.matchConsoleCard{position:relative;overflow:hidden;background:linear-gradient(155deg,rgba(12,22,34,.98),rgba(4,8,13,.99));border-color:#26384d;box-shadow:0 28px 90px #0008,inset 0 1px rgba(255,255,255,.035)}
.matchConsoleCard:before{content:'';position:absolute;inset:-20% -10% auto 42%;height:260px;background:radial-gradient(circle,rgba(56,202,255,.13),transparent 68%);pointer-events:none}.matchConsoleHead{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.matchConsoleHead h3{margin:3px 0 0;font-size:24px;letter-spacing:-.025em}.matchReadyState{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;border:1px solid #3a2f22;background:#150f08;color:#d7a66a;font-size:8px;font-weight:950;letter-spacing:.1em;white-space:nowrap}.matchReadyState i{width:7px;height:7px;border-radius:50%;background:#b66d2b;box-shadow:0 0 0 4px #b66d2b1c}.matchReadyState.ready{border-color:#245e4a;background:#071812;color:#81efb2}.matchReadyState.ready i{background:#55efa0;box-shadow:0 0 0 4px #55efa024,0 0 14px #55efa06b}.matchTypeControl select{background:linear-gradient(180deg,#0b1520,#071019);border-color:#2b425a;font-weight:850;letter-spacing:.04em}.nativeSelectBridge{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.matchSection{position:relative;margin-top:16px;padding-top:14px;border-top:1px solid #1c2c3d}.matchSectionTitle{display:flex;align-items:center;gap:10px;margin-bottom:10px}.matchSectionTitle>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#091b29;border:1px solid #29475d;color:#65dfff;font-size:9px;font-weight:950;box-shadow:inset 0 1px #ffffff08}.matchSectionTitle>div{display:grid;gap:1px}.matchSectionTitle small{font-size:7px;letter-spacing:.16em;color:#6f839a}.matchSectionTitle b{font-size:11px;letter-spacing:.08em;color:#e4edf6}
.opponentChoiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.opponentChoice{appearance:none;position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:11px;text-align:left;border:1px solid #263a50;border-radius:16px;background:linear-gradient(145deg,#0a1520,#050a10);color:#e8f1f8;padding:12px;cursor:pointer;min-height:91px;overflow:hidden;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.opponentChoice:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(74,217,255,.05),transparent 72%);transform:translateX(-110%);transition:transform .36s ease}.opponentChoice:hover:not(:disabled):before{transform:translateX(110%)}.opponentChoice:hover:not(:disabled){transform:translateY(-1px);border-color:#3f5e78}.opponentChoice.active{border-color:#4bdcff;background:linear-gradient(145deg,#0b2432,#061018);box-shadow:0 0 0 1px #4bdcff22,0 13px 34px #0005,0 0 24px #35cfff12}.opponentChoice:disabled{opacity:.35;cursor:not-allowed}.choiceIcon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;font-size:14px;font-weight:1000;letter-spacing:.04em;border:1px solid #2b5168;background:radial-gradient(circle at 35% 25%,#1e607c,#07141e 70%);box-shadow:inset 0 1px #ffffff10,0 8px 18px #0007}.localIcon{background:radial-gradient(circle at 35% 25%,#5942a0,#130f25 72%);border-color:#594a83}.opponentChoice div{display:grid;gap:2px}.opponentChoice small{font-size:7px;letter-spacing:.15em;color:#6d8da3}.opponentChoice b{font-size:15px;letter-spacing:-.01em}.opponentChoice p{margin:0;color:#8293a6;font-size:9px;line-height:1.35}.opponentChoice em{font-style:normal;align-self:start;padding:5px 7px;border-radius:999px;background:#0d2432;border:1px solid #28526a;color:#70e4ff;font-size:7px;font-weight:950;letter-spacing:.12em}
.difficultyChoiceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.difficultyChoice{appearance:none;display:grid;grid-template-rows:auto auto 1fr auto;gap:5px;text-align:left;border:1px solid #29394b;border-radius:14px;background:linear-gradient(150deg,#0a121d,#05090f);color:#e6eef7;padding:12px;min-height:128px;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.difficultyChoice:hover{transform:translateY(-1px);border-color:#466078}.difficultyChoice>small{font-size:7px;letter-spacing:.16em;color:#657a91}.difficultyChoice>b{font-size:17px;letter-spacing:.03em}.difficultyChoice>p{margin:0;font-size:8px;line-height:1.45;color:#7f90a3}.difficultyChoice.active{border-color:#55dcff;box-shadow:inset 3px 0 #55dcff,0 12px 28px #0005;background:linear-gradient(150deg,#0b202d,#060c13)}.difficultyChoice[data-difficulty="rookie"].active{border-color:#7feaa8;box-shadow:inset 3px 0 #7feaa8,0 12px 28px #0005}.difficultyChoice[data-difficulty="elite"].active{border-color:#ff956d;box-shadow:inset 3px 0 #ff956d,0 12px 28px #0005}.difficultyMeter{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:4px}.difficultyMeter i{height:5px;border-radius:99px;background:#182737;border:1px solid #25384b}.difficultyChoice[data-difficulty="rookie"] .difficultyMeter i:nth-child(1),.difficultyChoice[data-difficulty="pro"] .difficultyMeter i:nth-child(-n+2),.difficultyChoice[data-difficulty="elite"] .difficultyMeter i{background:linear-gradient(90deg,#37cfff,#6ee9ff);border-color:#61dfff}.difficultyChoice[data-difficulty="rookie"] .difficultyMeter i:nth-child(1){background:#72e5a2;border-color:#8bf0b5}.difficultyChoice[data-difficulty="elite"] .difficultyMeter i{background:#ff8b66;border-color:#ffa284}
.matchupStage{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:10px;align-items:stretch}.teamConsoleCard{--team-color:#35bdf2;position:relative;isolation:isolate;display:grid;justify-items:center;align-content:start;gap:6px;min-height:222px;padding:14px 12px 12px;border:1px solid color-mix(in srgb,var(--team-color) 42%,#294054);border-radius:17px;background:linear-gradient(160deg,color-mix(in srgb,var(--team-color) 13%,#0a1420),#050a10 62%);overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.035),0 14px 30px #0005}.teamGlow{position:absolute;z-index:-1;width:190px;height:190px;border-radius:50%;top:-85px;background:radial-gradient(circle,color-mix(in srgb,var(--team-color) 28%,transparent),transparent 68%);filter:blur(4px)}.teamConsoleCard>small{font-size:7px;letter-spacing:.14em;color:#8496aa}.teamLogoShell{position:relative;display:grid;place-items:center;width:82px;height:82px;border-radius:22px;border:1px solid color-mix(in srgb,var(--team-color) 48%,#32485c);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--team-color) 22%,#11202c),#071019 72%);box-shadow:0 12px 30px #0008,0 0 25px color-mix(in srgb,var(--team-color) 12%,transparent)}.teamLogoShell img{max-width:70px;max-height:70px;object-fit:contain;filter:drop-shadow(0 7px 8px #0008)}.teamLogoShell span{font-size:19px;font-weight:1000;color:#dbeaf5}.teamConsoleCard>b{font-size:14px;text-align:center;line-height:1.15;max-width:100%;min-height:32px;display:grid;place-items:center}.teamConsoleCard>span{font-size:8px;font-weight:950;letter-spacing:.16em;color:color-mix(in srgb,var(--team-color) 72%,#fff)}.teamConsoleCard select{width:100%;margin-top:auto;border:1px solid #2c4054;border-radius:9px;background:#070d14;color:#eef5fb;padding:9px 27px 9px 9px;font-size:9px;font-weight:800;outline:none}.teamConsoleCard select:focus{border-color:color-mix(in srgb,var(--team-color) 68%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color) 13%,transparent)}.versusCore{align-self:center;display:grid;justify-items:center;gap:4px}.versusCore small{font-size:6px;letter-spacing:.16em;color:#657d91}.versusCore b{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #335069;background:radial-gradient(circle,#18364a,#07111a 72%);color:#dcebf7;font-size:18px;box-shadow:0 0 25px #38cbff18}.versusCore span{font-size:6px;font-weight:950;letter-spacing:.1em;text-align:center;color:#6edfff}
.matchConsoleHelp{margin:12px 0 10px;padding:10px 12px;border-left:3px solid #2c5873;background:#08131d;border-radius:0 9px 9px 0}.matchStartButton{display:grid!important;justify-items:center;gap:3px;width:100%;min-height:60px;border-radius:13px!important;letter-spacing:.05em!important;box-shadow:0 12px 28px #0006,0 0 24px #39cfff16}.matchStartButton span{font-size:13px;font-weight:1000}.matchStartButton small{font-size:6px;letter-spacing:.15em;color:#b9f2ff}.matchStartButton:disabled small{color:#607283}.matchStartButton:not(:disabled){animation:matchArmed 2.2s ease-in-out infinite}@keyframes matchArmed{0%,100%{box-shadow:0 12px 28px #0006,0 0 18px #39cfff12}50%{box-shadow:0 12px 28px #0006,0 0 34px #39cfff2b}}
@media(max-width:900px){.matchConsoleHead{align-items:stretch;flex-direction:column}.matchReadyState{align-self:flex-start}.opponentChoiceGrid,.difficultyChoiceGrid{grid-template-columns:1fr}.opponentChoice{grid-template-columns:52px minmax(0,1fr) auto}.matchupStage{grid-template-columns:1fr}.versusCore{grid-template-columns:1fr auto 1fr;align-items:center}.versusCore b{width:44px;height:44px}.teamConsoleCard{min-height:190px}.difficultyChoice{min-height:98px}}
.playFeedDetail{margin-top:7px;padding:9px 10px;border:1px solid #28475d;border-radius:10px;background:linear-gradient(135deg,#0b1d2a,#050b11);box-shadow:inset 3px 0 #4bdcff;display:grid;gap:3px}.playFeedDetail[hidden]{display:none}.playFeedDetail small{font-size:5px;letter-spacing:.16em;color:#6fe1ff}.playFeedDetail b{font-size:8px;line-height:1.25;color:#edf7ff}.playFeedDetail span{font-size:5px;letter-spacing:.08em;color:#7f95a9}

/* ============================================================
   RUN 9 BROADCAST CONTROLLER
   In-game broadcast HUD, live court board, quick dock and takeovers.
   Connection / transport styling remains inherited from Run 7/8.
   ============================================================ */
.broadcastHud{position:absolute;z-index:18;top:3px;left:50%;transform:translateX(-50%);width:min(370px,44vw);height:36px;display:grid;grid-template-columns:1fr 88px 1fr;gap:5px;align-items:stretch;pointer-events:none;filter:drop-shadow(0 7px 12px #0008)}
.broadcastTeam{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;min-width:0;padding:4px 7px;border:1px solid #294154;background:linear-gradient(135deg,rgba(6,16,25,.94),rgba(3,8,13,.94));clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%)}.broadcastHome{clip-path:polygon(6% 0,100% 0,100% 100%,6% 100%,0 50%);padding-left:11px}.broadcastTeam small{font-size:4.5px;letter-spacing:.14em;color:#67849c}.broadcastTeam b{font-size:8px;letter-spacing:.09em;overflow:hidden;text-overflow:ellipsis}.broadcastTeam strong{font-size:18px;line-height:1;font-weight:1000;color:#f3f8fc}.broadcastCenter{display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;border:1px solid color-mix(in srgb,var(--smart-team) 55%,#3e5262);border-radius:6px;background:linear-gradient(180deg,#102536,#050d14);padding:2px 5px;box-shadow:inset 0 1px #ffffff0b}.broadcastCenter small{font-size:5px;font-weight:950;letter-spacing:.1em;color:#7ee9ff}.broadcastCenter b{font-size:12px;letter-spacing:.04em}.broadcastCenter span{font-size:4.5px;letter-spacing:.08em;color:#9fb3c3}.broadcastCenter em{font-style:normal;font-size:7px;font-weight:1000;color:#ffb37e}.broadcastHud[data-state="offense"] .broadcastPossession{color:#8dffbd}.smartTopCenter{visibility:hidden}
.broadcastPlayerHero{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--smart-team) 46%,#34495c)!important;background:linear-gradient(105deg,color-mix(in srgb,var(--smart-team) 10%,rgba(8,17,26,.76)),rgba(3,8,13,.72))!important;box-shadow:inset 3px 0 color-mix(in srgb,var(--smart-team) 70%,#fff),0 12px 24px #0004}.broadcastPlayerHero:after{content:'LIVE';position:absolute;right:7px;top:6px;padding:2px 5px;border:1px solid #ffffff15;border-radius:99px;background:#06111bbb;color:#79e8ff;font-size:4px;font-weight:1000;letter-spacing:.14em}.broadcastPlayerHero .smartPortraitWrap{box-shadow:0 0 0 1px color-mix(in srgb,var(--smart-team) 55%,#fff),0 0 24px color-mix(in srgb,var(--smart-team) 16%,transparent)}
.quickDock{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:4px}.quickDock button{appearance:none;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;border:1px solid #20394b;border-radius:7px;background:linear-gradient(180deg,rgba(11,27,40,.83),rgba(5,12,19,.83));color:#a9bdcc;padding:4px 5px;font-size:5px;font-weight:950;letter-spacing:.08em;backdrop-filter:blur(7px)}.quickDock button i{font-style:normal;color:#79e6ff;font-size:8px}.quickDock button:active{transform:translateY(1px);border-color:color-mix(in srgb,var(--smart-team) 70%,#fff);color:#fff}
.broadcastLineupBoard{min-width:0}.courtBoard{position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(50px,1fr));grid-template-areas:"dot pf c dot2" "sg mid mid2 sf" "base pg pg base2";gap:4px;min-height:190px;padding:10px 12px;border:1px solid #2b4a5d;border-radius:15px;background:linear-gradient(180deg,rgba(9,47,60,.73),rgba(4,23,31,.86)),repeating-linear-gradient(0deg,transparent 0 31px,#84eaff0c 31px 32px),repeating-linear-gradient(90deg,transparent 0 48px,#84eaff09 48px 49px);box-shadow:inset 0 0 0 1px #ffffff05,inset 0 0 40px #0005;overflow:hidden}.courtBoard:before{content:'';position:absolute;left:50%;top:-22%;width:46%;aspect-ratio:1;border:1px solid #74e6ff2c;border-radius:50%;transform:translateX(-50%)}.courtBoard:after{content:'';position:absolute;left:50%;bottom:-7px;width:44%;height:51%;border:1px solid #74e6ff26;border-bottom:0;transform:translateX(-50%);border-radius:60px 60px 0 0}.courtSlot{position:relative;z-index:2;appearance:none;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 5px;min-width:0;align-self:center;border:1px solid #315166;border-radius:10px;background:linear-gradient(145deg,rgba(13,32,45,.96),rgba(4,10,16,.96));color:#e9f3fa;padding:4px 5px;text-align:left;box-shadow:0 8px 15px #0006;transition:transform .12s,border-color .12s,box-shadow .12s}.courtSlot.slot-pg{grid-area:pg}.courtSlot.slot-sg{grid-area:sg}.courtSlot.slot-sf{grid-area:sf}.courtSlot.slot-pf{grid-area:pf}.courtSlot.slot-c{grid-area:c}.courtSlot:hover:not(.opponent),.courtSlot.selected{transform:translateY(-2px);border-color:#66e8ff;box-shadow:0 10px 18px #0008,0 0 18px #44dfff22}.courtSlot.active{box-shadow:0 0 0 1px #73ffbd,0 0 22px #62ffb321}.courtSlot.selected{background:linear-gradient(145deg,#12394a,#07131d)}.courtPos{position:absolute;right:4px;top:3px;font-size:5px;font-weight:1000;color:#6de6ff}.courtPortrait{grid-row:1/3;position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid #43677d;background:#0a1a25}.courtPortrait img{width:100%;height:100%;object-fit:cover}.courtPortrait .portraitFallback{font-size:14px}.courtPortrait em{position:absolute;bottom:-1px;right:-1px;font-style:normal;font-size:5px;font-weight:1000;background:#040a10;padding:1px 3px;border-radius:4px}.courtName{font-size:7px;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.courtMeta{font-size:4.5px;color:#7892a5;white-space:nowrap}.opponentCourtBoard{min-height:150px;background:linear-gradient(180deg,rgba(64,21,17,.56),rgba(22,8,8,.82)),repeating-linear-gradient(0deg,transparent 0 31px,#ff98750a 31px 32px)}.courtSlot.opponent{border-color:#593b39;pointer-events:none}.courtBoardBench{padding:6px;border:1px solid #203646;border-radius:11px;background:#06101988}.subSwapPreview{display:grid;gap:2px;margin:7px 0;padding:7px 9px;border-left:3px solid #2f7b9d;border-radius:0 8px 8px 0;background:#071723;color:#8fa8ba}.subSwapPreview small{font-size:5px;letter-spacing:.14em}.subSwapPreview b{font-size:7px;color:#cfe2ef}.subSwapPreview.queued{border-left-color:#62e8a5;background:#071b15}.subSwapPreview.queued b{color:#91f5bb}
.takeoverOverlay{position:absolute;z-index:145;left:50%;top:50%;width:min(420px,72vw);min-height:96px;transform:translate(-50%,-50%) scale(.88);display:grid;grid-template-columns:78px 1fr;align-items:center;gap:13px;padding:13px 17px;border:1px solid #4ddfff60;border-radius:18px;background:linear-gradient(125deg,rgba(5,19,29,.96),rgba(3,7,12,.95));box-shadow:0 28px 80px #000c,0 0 44px #35dfff28;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}.takeoverOverlay.is-open{animation:takeoverIn 1.05s cubic-bezier(.2,.8,.2,1)}.takeoverPulse{position:absolute;inset:-80%;background:conic-gradient(from 180deg,transparent,#55e5ff18,transparent 32%);animation:takeoverSpin 1.1s linear}.takeoverIcon{position:relative;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;border:2px solid #62e7ff;background:radial-gradient(circle,#1b6d8d,#06141e 70%);font-size:27px;font-weight:1000;color:#fff;box-shadow:0 0 30px #4cdfff4a}.takeoverCopy{position:relative;display:grid;gap:2px}.takeoverCopy small{font-size:6px;letter-spacing:.17em;color:#71e5ff}.takeoverCopy b{font-size:18px;line-height:1.05;letter-spacing:.02em}.takeoverCopy span{font-size:7px;color:#93a9ba}.takeoverOverlay[data-type="dunkMade"]{border-color:#ff9c5e75;box-shadow:0 28px 80px #000c,0 0 44px #ff8e4b30}.takeoverOverlay[data-type="dunkMade"] .takeoverIcon{border-color:#ff9e60;background:radial-gradient(circle,#9e4618,#261007 72%)}.takeoverOverlay[data-type="steal"],.takeoverOverlay[data-type="block"]{border-color:#84ffb56b}.takeoverOverlay[data-type="steal"] .takeoverIcon,.takeoverOverlay[data-type="block"] .takeoverIcon{border-color:#75efa5;background:radial-gradient(circle,#1c7642,#071a10 72%)}@keyframes takeoverIn{0%{opacity:0;visibility:visible;transform:translate(-50%,-50%) scale(.82)}12%,80%{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;visibility:visible;transform:translate(-50%,-50%) scale(1.04)}}@keyframes takeoverSpin{to{transform:rotate(360deg)}}
.playFeedCard{position:relative;grid-template-columns:23px 1fr;grid-template-rows:auto auto auto;padding-left:7px}.playFeedCard .feedIcon{grid-row:1/4;display:grid;place-items:center;width:22px;height:22px;align-self:center;border-radius:7px;background:#0d2d3d;border:1px solid #2f6278;color:#7be7ff;font-style:normal;font-size:8px;font-weight:1000}.playFeedCard>span,.playFeedCard>b,.playFeedCard>small{grid-column:2}.playFeedCard.major{border-color:#3c7088;background:linear-gradient(140deg,#0c2433,#050b12)}.feedPortrait{position:absolute;right:6px;top:6px;width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid #4e7086;opacity:.72}
@media(orientation:landscape) and (max-height:430px){.broadcastHud{height:32px;width:min(330px,43vw)}.broadcastTeam strong{font-size:15px}.broadcastCenter b{font-size:10px}.quickDock button{padding:3px}.courtBoard{min-height:154px;grid-template-rows:repeat(3,minmax(40px,1fr));padding:6px}.courtSlot{grid-template-columns:28px 1fr;padding:3px}.courtPortrait{width:28px;height:28px}.courtName{font-size:6px}.courtMeta{font-size:4px}.takeoverOverlay{min-height:78px;grid-template-columns:57px 1fr;padding:9px 12px}.takeoverIcon{width:50px;height:50px;font-size:20px}.takeoverCopy b{font-size:14px}}
@media(orientation:landscape) and (max-width:760px){.broadcastHud{width:39vw;grid-template-columns:1fr 68px 1fr}.broadcastTeam small{display:none}.broadcastTeam{padding:3px 5px;grid-template-columns:1fr auto}.broadcastHome{padding-left:8px}.broadcastTeam b{font-size:6px}.broadcastTeam strong{font-size:14px}.quickDock button span{display:none}.quickDock button i{font-size:9px}.courtSlot{grid-template-columns:27px 1fr}.courtPortrait{width:27px;height:27px}.courtName{font-size:5.5px}.courtMeta{font-size:3.8px}.courtBoard{min-height:145px}}

/* RUN 10 · UNIVERSAL GAMEPAD + VBA27 GAMESCREEN */
.gamepadDock{grid-column:1/-1;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(9,18,28,.98),rgba(4,9,15,.99));border-color:#26394c}.gamepadDock:before{content:'';position:absolute;inset:-70% 45% auto -8%;height:260px;background:radial-gradient(circle,rgba(56,217,255,.12),transparent 68%);pointer-events:none}.gamepadDock.connected{border-color:#2a7055;box-shadow:inset 0 0 0 1px #4de59a1a}.gamepadDockHead{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.gamepadDockHead h3{font-size:20px;margin:3px 0 0}.gamepadSignal{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #3b3340;border-radius:999px;background:#100c12;color:#b8a8b4;font-size:8px;font-weight:950;letter-spacing:.08em}.gamepadSignal i{width:8px;height:8px;border-radius:50%;background:#8b5360}.gamepadDock.connected .gamepadSignal{border-color:#28654e;background:#071711;color:#86eeb6}.gamepadDock.connected .gamepadSignal i{background:#56eaa0;box-shadow:0 0 15px #56eaa088}.inputSourceGrid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px}.inputSourceCard{appearance:none;position:relative;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;min-height:82px;padding:12px;border:1px solid #293a4c;border-radius:13px;background:linear-gradient(150deg,#0c1722,#071019);color:#dbe7f2;text-align:left;cursor:pointer;transition:.15s}.inputSourceCard:hover{transform:translateY(-1px);border-color:#405b72}.inputSourceCard.active{border-color:#5bdef5;box-shadow:inset 0 0 0 1px #5bdef51d,0 0 28px #38d9ff12;background:linear-gradient(150deg,#102533,#071019)}.inputSourceIcon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #345067;border-radius:12px;background:#07131d;font-size:22px}.inputSourceCard small{display:block;font-size:7px;letter-spacing:.12em;color:#6f91a9}.inputSourceCard b{display:block;margin-top:2px;font-size:13px;letter-spacing:.03em}.inputSourceCard p{margin:3px 0 0;color:#778da0;font-size:9px}.inputSourceCard em{font-style:normal;font-size:7px;font-weight:950;letter-spacing:.1em;color:#7fdcf2;padding:5px 7px;border:1px solid #29495c;border-radius:999px;white-space:nowrap}.gamepadDock.connected [data-input-source="gamepad"] em{color:#7ff0b1;border-color:#276348}.gamepadHint{position:relative;display:flex;gap:10px;align-items:flex-start;margin-top:9px;padding:8px 10px;border-left:3px solid #35c8ee;background:#07121b;border-radius:0 8px 8px 0}.gamepadHint b{font-size:7px;white-space:nowrap;color:#78e8ff}.gamepadHint span{font-size:8px;line-height:1.45;color:#7891a6}.pauseBadge{border-color:#8a6228!important;color:#ffd477!important;background:#201606!important}
.gameScreen{position:relative;min-width:0;min-height:84px;border-radius:17px;padding:3px;background:linear-gradient(145deg,#283d4e,#0b1721 58%,#314554);box-shadow:0 16px 36px #0009,0 0 0 1px #ffffff0a}.gameScreenBezel{position:relative;height:100%;min-height:82px;border:1px solid #071018;border-radius:14px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--smart-team) 10%,#0a1b26),#03080d 62%);overflow:hidden;box-shadow:inset 0 0 20px #000c}.gameScreenTop{height:22px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:3px 5px;border-bottom:1px solid #1c3343;background:#050c12d9}.companionModeBadge{font-size:4.5px;font-weight:1000;letter-spacing:.13em;color:#72e3ff;white-space:nowrap}.companionModeBadge.active{color:#83f3b6;text-shadow:0 0 10px #5cff9a44}.gameScreenTabs{display:flex;gap:2px;min-width:0}.gameScreenTabs button{appearance:none;border:1px solid transparent;border-radius:5px;background:transparent;color:#607b90;padding:3px 4px;font-size:4.5px;font-weight:1000;letter-spacing:.08em}.gameScreenTabs button.active{border-color:#2c5269;background:#0c2230;color:#8feaff}.gameScreenPane{position:relative;min-height:64px;height:calc(100% - 22px);padding:4px 6px}.gameScreenPane[hidden]{display:none}.gameScreenPane .smartPlayerCard{height:100%;min-height:60px;border-radius:10px;box-shadow:none}.gameScreenTitle{display:grid;gap:1px;margin-bottom:5px}.gameScreenTitle small{font-size:4.5px;letter-spacing:.15em;color:#6ee6ff}.gameScreenTitle b{font-size:8px;letter-spacing:.04em}.gameScreenStatGrid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.gameScreenStatGrid>div{min-width:0;padding:5px 6px;border:1px solid #20384a;border-radius:7px;background:#06111a}.gameScreenStatGrid small{display:block;font-size:4px;letter-spacing:.12em;color:#647f93}.gameScreenStatGrid b{display:block;margin-top:2px;font-size:6px;color:#dbe9f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.replayPane{padding:0!important;background:#020507}.replayPane canvas{display:block;width:100%;height:100%;min-height:64px;object-fit:cover}.gameScreenReplayBug{position:absolute;left:6px;right:6px;bottom:5px;display:grid;gap:1px;padding:4px 5px;border-left:2px solid #68e4ff;background:#03080ddb;pointer-events:none}.gameScreenReplayBug small{font-size:3.8px;letter-spacing:.13em;color:#6ce7ff}.gameScreenReplayBug b{font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gameScreenReplayBug span{font-size:4px;color:#8099aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gameScreenCornerButton{position:absolute;right:5px;top:5px;border:1px solid #2a4658;border-radius:5px;background:#06131dcc;color:#a8dff0;padding:3px 5px;font-size:4px;font-weight:950}.gameScreenFive{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin-bottom:4px}.gameScreenFive button{appearance:none;min-width:0;border:1px solid #243c4d;border-radius:6px;background:#06121b;color:#d8e6f0;padding:4px 3px;text-align:center}.gameScreenFive button span{display:block;font-size:4px;color:#64dff8;font-weight:950}.gameScreenFive button b{display:block;font-size:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gameScreenFive button small{display:block;font-size:3.7px;color:#728b9d}.gameScreenPane .primary.compact{padding:5px 7px;font-size:5px}.pausePane{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:6px}.pausePane .pauseMark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #73572b;border-radius:50%;background:#201608;color:#ffd16a;font-size:15px;font-weight:1000}.pausePane>div:nth-child(2){display:grid;gap:1px}.pausePane small{font-size:4px;letter-spacing:.14em;color:#d4a95c}.pausePane b{font-size:8px}.pausePane span{font-size:4px;color:#798d9e;line-height:1.3}.pauseActions{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3px}.pauseActions button{padding:4px 5px!important;font-size:4.5px!important}.companionMode .smartControlWing{opacity:.34;filter:saturate(.5);transition:opacity .2s}.companionMode .smartCenter{filter:none}.companionMode .wingLabel:after{content:' · GAMEPAD ACTIVE';color:#71eeb0}.gamePaused .gameStatePill{color:#ffd575;border-color:#725826;background:#211806}
@media(max-width:760px){.inputSourceGrid{grid-template-columns:1fr}.gamepadDockHead{align-items:flex-start}.gamepadSignal{max-width:48%;white-space:nowrap;overflow:hidden}.gamepadHint{display:grid}}
@media(orientation:landscape) and (max-height:430px){.gameScreen{min-height:70px}.gameScreenBezel{min-height:68px}.gameScreenTop{height:18px}.gameScreenPane{height:calc(100% - 18px);min-height:50px;padding:3px 5px}.gameScreenPane .smartPlayerCard{min-height:48px}.gameScreenTabs button{padding:2px 3px;font-size:4px}.gameScreenStatGrid>div{padding:3px 4px}.gameScreenFive{gap:2px}.gameScreenFive button{padding:2px}.replayPane canvas{min-height:50px}.pausePane{grid-template-columns:28px 1fr}.pausePane .pauseMark{width:26px;height:26px;font-size:11px}}

/* Run 11 · Shooting Feel */
.smartActionCluster .shootAction{--shot-progress:0deg;isolation:isolate}
.smartActionCluster .shotTimingRing{position:absolute;inset:3px;border-radius:50%;z-index:0;pointer-events:none;background:conic-gradient(from -90deg,#56e8ff 0deg,#73f5b8 var(--shot-progress),transparent var(--shot-progress),transparent 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));opacity:.28;transition:opacity .08s linear;filter:drop-shadow(0 0 7px #7fffd477)}
.smartActionCluster .shootAction.pressed .shotTimingRing{opacity:1}
.smartActionCluster .shotTimingRing[data-stage="release"]{background:conic-gradient(from -90deg,#50e8ff 0deg,#56ff9b var(--shot-progress),transparent var(--shot-progress),transparent 360deg);filter:drop-shadow(0 0 10px #56ff9bcc)}
.smartActionCluster .shotTimingRing[data-stage="late"]{background:conic-gradient(from -90deg,#ffbd5d 0deg,#ff715d var(--shot-progress),transparent var(--shot-progress),transparent 360deg);filter:drop-shadow(0 0 8px #ff715d88)}
.smartActionCluster #shotTimingCue{min-height:7px;transition:color .08s ease,text-shadow .08s ease}
.smartActionCluster .shootAction.pressed #shotTimingCue{color:#dff8ff}
.smartActionCluster #shotTimingCue[data-grade="GREEN"]{color:#67ffac;text-shadow:0 0 9px #67ffac88}
.smartActionCluster #shotTimingCue[data-grade*="EARLY"],.smartActionCluster #shotTimingCue[data-grade*="LATE"]{color:#ffd06b}
.smartActionCluster #shotTimingCue[data-grade="PUMP FAKE"]{color:#7fe7ff}
.smartActionCluster #shootCharge{display:none!important}
.phoneMeterTrack{overflow:hidden;background:linear-gradient(90deg,#142030,#1b2637)}
.phoneMeterTrack:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,214,255,.08),rgba(84,255,158,.09) 62%,rgba(255,179,84,.08));pointer-events:none}
.phoneMeter>b:not(:empty){font-weight:950}
.phoneMeter>b.green{color:#62ffa8;text-shadow:0 0 9px #62ffa866}
.phoneMeter>b.warn{color:#ffd06b;text-shadow:0 0 8px #ffd06b44}

/* Run 12 · VBA GameLink diagnostics */
.gameLinkDiagnostics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;padding:8px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(2,7,13,.58)}
.gameLinkDiagnostics>div{min-width:0;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.045)}
.gameLinkDiagnostics small{display:block;color:#7f91a6;font-size:9px;letter-spacing:.12em}.gameLinkDiagnostics b{display:block;margin-top:2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gameLinkDiagnostics[data-quality="degraded"]{border-color:rgba(255,196,77,.42)}.gameLinkDiagnostics[data-quality="poor"]{border-color:rgba(255,88,88,.5)}
@media(max-height:420px){.gameLinkDiagnostics{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:5px;margin:6px 0}.gameLinkDiagnostics>div{padding:5px}.gameLinkDiagnostics small{font-size:8px}.gameLinkDiagnostics b{font-size:9px}}

/* Run 14 · GameLink stability/recovery */
.hostGameControls{display:flex;align-items:center;gap:6px;margin-left:auto}.hostGameControls .ghost{padding:7px 9px;font-size:8px}.controllerRecoveryPanel{position:absolute;inset:0;z-index:25;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 40%,rgba(18,39,54,.9),rgba(2,5,9,.96) 66%);backdrop-filter:blur(7px)}.controllerRecoveryPanel[hidden]{display:none}.controllerRecoveryPanel small{font-size:9px;letter-spacing:.2em;color:#66ddff;font-weight:950}.controllerRecoveryPanel h3{margin:10px 0 6px;font-size:clamp(22px,3vw,40px);letter-spacing:.04em}.controllerRecoveryPanel p{max-width:560px;margin:0;color:#93a7b8;line-height:1.5}.recoverySignal{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid #466579;background:#07131d;margin-bottom:12px}.recoverySignal i{width:12px;height:12px;border-radius:50%;background:#ffb24f;box-shadow:0 0 0 8px #ffb24f18,0 0 26px #ffb24f88;animation:recoveryPulse 1.1s ease-in-out infinite}.controllerRecoveryPanel.restored .recoverySignal i{background:#4de59a;box-shadow:0 0 0 8px #4de59a18,0 0 26px #4de59a88;animation:none}.recoveryActions{display:flex;gap:8px;margin-top:18px}.recoveryActions button{min-width:150px}.recoveryActions button:disabled{opacity:.35;cursor:not-allowed}@keyframes recoveryPulse{50%{opacity:.38;transform:scale(.72)}}
.stickWing .stickAssembly{transform:translateY(16px)}
@media(orientation:landscape) and (max-height:430px){.stickWing .stickAssembly{transform:translateY(18px)}.turboTrigger{top:0}.hostGameControls .ghost{padding:5px 7px;font-size:7px}}
@media(orientation:landscape) and (max-height:370px){.stickWing .stickAssembly{transform:translateY(21px)}}


/* Run 15 · Controller ergonomics + court visual foundation */
.stickWing{padding-top:48px}
.stickWing .stickAssembly{transform:translateY(30px)}
@media(orientation:landscape) and (max-height:430px){.stickWing{padding-top:50px}.stickWing .stickAssembly{transform:translateY(36px)}}
@media(orientation:landscape) and (max-height:370px){.stickWing{padding-top:52px}.stickWing .stickAssembly{transform:translateY(42px)}}
.gameCanvasWrap{background:radial-gradient(circle at 50% 35%,#15202b 0,#070b10 62%,#020406 100%)}
.gameCanvasWrap canvas{filter:saturate(1.06) contrast(1.025)}
