/* VBA 2.50.0 — Run 5: VBA Live Center + universal game pages */

/* Persistent league score rail ------------------------------------------------ */
.league-score-ribbon{position:sticky;top:63px;z-index:45;border-bottom:1px solid var(--line);background:rgba(10,10,11,.95);backdrop-filter:blur(18px);min-height:58px;display:none}
.league-score-ribbon.is-ready{display:block}
.league-score-ribbon .vls-inner{height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;padding-left:0;padding-right:0}
.vls-brand,.vls-all{border:0;background:transparent;color:var(--text);font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.12em;cursor:pointer;white-space:nowrap}
.vls-brand{display:flex;align-items:center;gap:8px;padding:0 16px 0 0;color:var(--orange)}
.vls-brand .live-dot{width:7px;height:7px}
.vls-all{padding:0 0 0 15px;color:var(--muted-2);border-left:1px solid var(--line)}
.vls-all:hover,.vls-brand:hover{color:var(--orange)}
.vls-track{display:flex;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-left:1px solid var(--line);mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%)}
.vls-track::-webkit-scrollbar{display:none}
.vls-game{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);min-width:194px;padding:5px 12px;display:grid;grid-template-rows:auto 1fr 1fr;gap:1px;align-content:center;text-align:left;cursor:pointer;transition:background .15s ease;min-height:58px}
.vls-game:hover{background:var(--hover)}
.vls-game.is-live{background:linear-gradient(90deg,rgba(255,91,30,.10),transparent)}
.vls-game .vls-state{font-family:var(--mono);font-size:7px;line-height:1.1;font-weight:800;letter-spacing:.12em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}
.vls-game.is-live .vls-state{color:var(--green)}
.vls-game.is-final .vls-state{color:var(--orange)}
.vls-row{display:grid;grid-template-columns:minmax(0,1fr) 4ch;align-items:center;gap:10px;min-width:0;min-height:20px}
.vls-teamline{display:flex;align-items:center;gap:7px;min-width:0;font-family:var(--display);font-size:15px;line-height:1;letter-spacing:.06em;white-space:nowrap}
.vls-teamline>span:last-child{overflow:hidden;text-overflow:ellipsis}
.vls-teamline .tlogo{width:18px!important;height:18px!important;flex:0 0 18px}
.vls-score{display:block;font-family:var(--display);font-size:18px;line-height:1;text-align:right;width:4ch;justify-self:end;font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1;font-weight:800}
.vls-score.is-empty{visibility:hidden}
.vls-row.is-winner .vls-score,.vls-row.is-winner .vls-teamline{color:var(--text)}
.vls-row.is-winner .vls-score{font-size:19px}
.vls-row.is-loser{opacity:.62}
body[data-theme="light"] .league-score-ribbon{background:rgba(250,250,247,.96)}
body.owner-mode .league-score-ribbon,body.owner-mode .vba-wire{display:none!important}

/* VBA Wire — Run 12 ---------------------------------------------------------- */
.vba-wire{position:sticky;top:121px;z-index:44;height:29px;display:none;border-bottom:1px solid var(--line);background:rgba(6,6,8,.97);backdrop-filter:blur(16px);overflow:hidden}
.vba-wire.is-ready{display:block}
.vba-wire.no-score-ribbon{top:63px}
.vba-wire-inner{height:28px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;padding-left:0;padding-right:0}
.vba-wire-brand,.vba-wire-status{display:flex;align-items:center;white-space:nowrap;font-family:var(--mono);font-size:8px;font-weight:900;letter-spacing:.13em}
.vba-wire-brand{padding:0 13px 0 0;color:var(--orange)}
.vba-wire-brand span{display:inline-flex;align-items:center;gap:6px}.vba-wire-brand span:before{content:'●';font-size:7px}
.vba-wire-status{padding:0 0 0 13px;border-left:1px solid var(--line);color:var(--muted-2)}
.vba-wire-viewport{min-width:0;overflow:hidden;border-left:1px solid var(--line);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}
.vba-wire-track{display:flex;align-items:stretch;width:max-content;height:28px;animation:vbaWireScroll var(--wire-duration,52s) linear infinite;will-change:transform}
.vba-wire-viewport:hover .vba-wire-track{animation-play-state:paused}
.vba-wire-item{appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted-2);height:28px;display:flex;align-items:center;gap:8px;padding:0 14px;white-space:nowrap;cursor:pointer;font-size:10px;text-align:left}
.vba-wire-item:hover{background:var(--hover);color:var(--text)}
.vba-wire-tag{font-family:var(--mono);font-size:7px;font-weight:900;letter-spacing:.13em;color:var(--orange)}
.vba-wire-item.kind-live .vba-wire-tag{color:var(--green)}
.vba-wire-item.kind-final .vba-wire-tag{color:var(--orange)}
.vba-wire-item.kind-trade .vba-wire-tag{color:#ffd24d}
.vba-wire-copy{font-family:var(--mono);font-size:9px;letter-spacing:.035em}
@keyframes vbaWireScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
body[data-theme="light"] .vba-wire{background:rgba(247,247,244,.97)}

/* Live Center ----------------------------------------------------------------- */
.live-center{padding-top:24px}
.lc-hero{position:relative;overflow:hidden;border:1px solid var(--line-2);border-radius:20px;background:radial-gradient(circle at 80% 5%,rgba(255,91,30,.18),transparent 32%),radial-gradient(circle at 12% 100%,rgba(0,212,255,.11),transparent 38%),var(--surface);padding:28px;margin-bottom:20px}
.lc-hero::after{content:'';position:absolute;right:-50px;bottom:-80px;width:260px;height:260px;background:url('/assets/brand/vba_ball_hero.png') center/contain no-repeat;opacity:.10;filter:saturate(.9)}
.lc-kicker{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--muted-2);text-transform:uppercase;position:relative;z-index:1}
.lc-kicker strong{color:var(--orange)}
.lc-title{font-family:var(--display);font-size:clamp(52px,8vw,96px);line-height:.86;letter-spacing:.02em;margin:12px 0 8px;position:relative;z-index:1}
.lc-title i{font-family:var(--serif);font-weight:400;color:var(--orange)}
.lc-deck{max-width:720px;color:var(--muted-2);line-height:1.6;font-size:14px;position:relative;z-index:1}
.lc-focus{position:relative;z-index:1;margin-top:24px;display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:22px}
.lc-team{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0}
.lc-team.home{grid-template-columns:auto minmax(0,1fr) auto;text-align:right}
.lc-team.home .lc-team-logo{order:3}.lc-team.home .lc-team-copy{order:2}.lc-team.home .lc-score{order:1}
.lc-team-logo .tlogo{width:64px!important;height:64px!important}
.lc-team-copy strong{display:block;font-family:var(--display);font-size:28px;letter-spacing:.05em}.lc-team-copy small{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted)}
.lc-score{font-family:var(--display);font-size:52px;line-height:1;color:var(--text);min-width:3ch;text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}
.lc-vs{text-align:center;font-family:var(--serif);font-style:italic;font-size:28px;color:var(--muted)}
.lc-vs strong{display:block;font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.14em;color:var(--green);margin-top:4px}
.lc-actions{position:relative;z-index:1;display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.lc-action{border:1px solid var(--line-2);background:var(--surface-2);color:var(--text);border-radius:10px;padding:11px 14px;font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.11em;cursor:pointer;text-decoration:none}
.lc-action.primary{background:var(--orange);border-color:var(--orange);color:#090909}.lc-action.live{background:var(--green);border-color:var(--green);color:#03130b}.lc-action:hover{filter:brightness(1.07)}
.lc-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 24px}
.lc-summary{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px}.lc-summary span{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.14em;color:var(--muted)}.lc-summary b{display:block;font-family:var(--display);font-size:28px;letter-spacing:.04em;margin-top:4px}.lc-summary small{display:block;font-size:11px;color:var(--muted-2);margin-top:2px}
.lc-section{padding:30px 0;border-top:1px solid var(--line)}
.lc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.lc-section-head h2{font-family:var(--display);font-size:34px;letter-spacing:.04em}.lc-section-head span{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--muted)}
.lc-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.lc-game{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px;cursor:pointer;transition:transform .15s,border-color .15s}.lc-game:hover{transform:translateY(-2px);border-color:var(--orange)}.lc-game.is-live{border-color:rgba(0,255,136,.35);box-shadow:inset 0 0 0 1px rgba(0,255,136,.05)}
.lc-game-status{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}.lc-game.is-live .lc-game-status{color:var(--green)}.lc-game.is-final .lc-game-status{color:var(--orange)}
.lc-game-team{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:5px 0}.lc-game-team strong{font-family:var(--display);font-size:19px;letter-spacing:.04em}.lc-game-team b{font-family:var(--display);font-size:24px}
.lc-game-meta{border-top:1px solid var(--line);margin-top:10px;padding-top:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--muted)}
.lc-standings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lc-conf{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px}.lc-conf>span{font-family:var(--mono);font-size:8px;letter-spacing:.14em;color:var(--muted)}.lc-conf strong{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:24px;letter-spacing:.04em;margin-top:7px}.lc-conf small{color:var(--muted-2)}

/* Universal Game Center ------------------------------------------------------- */
.game-center-page{padding-top:18px}
.gc-backbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.gc-backbar button{border:0;background:transparent;color:var(--muted-2);font-family:var(--mono);font-size:9px;letter-spacing:.12em;cursor:pointer;padding:7px 0}.gc-backbar button:hover{color:var(--orange)}
.gc-shell{border:1px solid var(--line-2);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--surface);overflow:hidden}
.gc-statusbar{display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;background:var(--bg-2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.gc-statusbar.live{color:var(--green)}.gc-statusbar.final{color:var(--orange)}
.gc-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:26px clamp(15px,4vw,36px)}
.gc-team{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;min-width:0}.gc-team.home{text-align:right;grid-template-columns:auto minmax(0,1fr) auto}.gc-team.home .gc-logo{order:3}.gc-team.home .gc-teamtext{order:2}.gc-team.home .gc-points{order:1}.gc-logo .tlogo{width:82px!important;height:82px!important}.gc-teamtext strong{display:block;font-family:var(--display);font-size:clamp(26px,4vw,42px);letter-spacing:.05em;cursor:pointer}.gc-teamtext span{display:block;font-family:var(--serif);font-style:italic;color:var(--muted-2);font-size:15px}.gc-teamtext small{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted);margin-top:4px}.gc-points{font-family:var(--display);font-size:clamp(62px,8vw,108px);line-height:1;min-width:1.7em;text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}.gc-team.winner .gc-points{color:var(--orange)}
.gc-middle{text-align:center;min-width:92px}.gc-middle .gc-vs{font-family:var(--serif);font-style:italic;font-size:32px;color:var(--muted)}.gc-middle .gc-time{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--muted-2);margin-top:4px;white-space:nowrap}
.gc-actions{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;padding:0 18px 20px}.gc-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface-2);color:var(--text);font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.12em;padding:11px 14px;cursor:pointer;text-decoration:none}.gc-btn.primary{background:var(--orange);color:#090909;border-color:var(--orange)}.gc-btn.live{background:var(--green);color:#03130b;border-color:var(--green)}.gc-btn:hover{filter:brightness(1.07)}
.gc-jumpbar{position:sticky;top:151px;z-index:22;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px;background:rgba(10,10,11,.90);border:1px solid var(--line);border-radius:12px;margin:12px 0 18px;backdrop-filter:blur(14px)}.gc-jumpbar::-webkit-scrollbar{display:none}.gc-jumpbar button{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--muted-2);border-radius:8px;padding:8px 10px;font-family:var(--mono);font-size:8px;font-weight:800;letter-spacing:.1em;cursor:pointer}.gc-jumpbar button:hover{color:var(--orange);border-color:rgba(255,91,30,.4)}
.gc-story{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:12px;margin:18px 0}.gc-panel{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px}.gc-panel-kicker{font-family:var(--mono);font-size:8px;letter-spacing:.16em;color:var(--orange);text-transform:uppercase}.gc-panel h2{font-family:var(--display);font-size:34px;letter-spacing:.03em;line-height:1;margin:7px 0}.gc-panel p{color:var(--muted-2);font-size:13px;line-height:1.65}.gc-story-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.gc-story-meta span{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 8px}
.gc-standings-card{display:grid;gap:10px}.gc-stand-team{border:1px solid var(--line);border-radius:10px;padding:11px;display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.gc-stand-team .tlogo{width:30px!important;height:30px!important}.gc-stand-team strong{font-family:var(--display);font-size:19px;letter-spacing:.04em}.gc-stand-team small{display:block;color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.08em}.gc-stand-rank{font-family:var(--display);font-size:27px;color:var(--orange)}
.gc-leaders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gc-leader{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;cursor:pointer}.gc-leader:hover{border-color:var(--orange)}.gc-leader .pportrait{width:52px!important;height:52px!important}.gc-leader strong{display:block;font-family:var(--display);font-size:19px;letter-spacing:.03em}.gc-leader small{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.08em;color:var(--muted)}.gc-leader b{display:block;margin-top:4px;font-family:var(--mono);font-size:10px;color:var(--muted-2)}
.gc-teamstats{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px}.gc-statrow{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.gc-statrow:last-child{border-bottom:0}.gc-statrow>strong{font-family:var(--display);font-size:21px}.gc-statrow>strong:last-child{text-align:right}.gc-statmid{text-align:center}.gc-statmid span{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--muted)}.gc-statbar{height:4px;background:var(--bg);border-radius:99px;overflow:hidden;margin-top:5px;display:flex}.gc-statbar i{display:block;height:100%}.gc-statbar i.away{background:var(--cyan)}.gc-statbar i.home{background:var(--orange)}
.gc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:26px 0 10px}.gc-section-head h3{font-family:var(--display);font-size:29px;letter-spacing:.05em}.gc-section-head span{font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:var(--muted)}
.game-center-page .quarter-board{margin-top:0}
.game-center-page .gd-cols{margin-top:0}

body[data-theme="light"] .gc-jumpbar{background:rgba(250,250,247,.93)}
body[data-theme="light"] .lc-hero{background:radial-gradient(circle at 80% 5%,rgba(255,91,30,.11),transparent 32%),radial-gradient(circle at 12% 100%,rgba(0,121,168,.08),transparent 38%),#fff}

@media(max-width:900px){
  .league-score-ribbon{top:57px}
  .vba-wire.no-score-ribbon{top:57px}
  .league-score-ribbon .vls-inner{grid-template-columns:minmax(0,1fr) auto;height:56px}.vls-brand{display:none}.vls-all{padding:0 12px}.vls-track{border-left:0}.vls-game{min-width:176px;min-height:56px;padding:4px 10px}.vba-wire{top:113px}.vba-wire-status{font-size:7px}.gc-jumpbar{top:150px}
  .lc-summary-grid{grid-template-columns:1fr 1fr}.lc-focus{grid-template-columns:1fr}.lc-vs{order:-1}.lc-team,.lc-team.home{grid-template-columns:auto 1fr auto;text-align:left}.lc-team.home .lc-team-logo,.lc-team.home .lc-team-copy,.lc-team.home .lc-score{order:initial}.lc-standings{grid-template-columns:1fr}
  .gc-scoreboard{grid-template-columns:1fr;gap:14px}.gc-middle{order:-1}.gc-team,.gc-team.home{grid-template-columns:auto minmax(0,1fr) auto;text-align:left}.gc-team.home .gc-logo,.gc-team.home .gc-teamtext,.gc-team.home .gc-points{order:initial}.gc-logo .tlogo{width:64px!important;height:64px!important}.gc-points{font-size:64px}.gc-story{grid-template-columns:1fr}.gc-leaders{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .live-center{padding-top:12px}.lc-hero{padding:19px 15px;border-radius:14px}.lc-title{font-size:54px}.lc-kicker{align-items:flex-start;flex-direction:column;gap:5px}.lc-team-logo .tlogo{width:52px!important;height:52px!important}.lc-team-copy strong{font-size:23px}.lc-score{font-size:42px}.lc-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.lc-summary{padding:11px}.lc-summary b{font-size:24px}.lc-board{grid-template-columns:1fr}
  .vba-wire-inner{grid-template-columns:auto minmax(0,1fr)}.vba-wire-brand{display:none}.vba-wire-status{order:-1;padding:0 10px 0 0;border-left:0;border-right:1px solid var(--line);max-width:145px;overflow:hidden;text-overflow:ellipsis}.vba-wire-viewport{border-left:0}.vba-wire-track.is-mobile{width:100%;animation:none}.vba-wire-track.is-mobile .vba-wire-item{width:100%;min-width:0;padding:0 10px;border-right:0}.vba-wire-track.is-mobile .vba-wire-copy{overflow:hidden;text-overflow:ellipsis}.game-center-page{padding-top:10px}.gc-shell{border-radius:14px}.gc-scoreboard{padding:20px 13px}.gc-team{gap:9px}.gc-logo .tlogo{width:52px!important;height:52px!important}.gc-teamtext strong{font-size:27px}.gc-teamtext span{font-size:13px}.gc-points{font-size:54px}.gc-actions{padding:0 12px 15px}.gc-btn{flex:1 1 auto}.gc-jumpbar{top:148px;margin-left:-4px;margin-right:-4px}.gc-panel{padding:14px}.gc-panel h2{font-size:29px}.gc-leaders{grid-template-columns:1fr}.gc-statrow{grid-template-columns:52px minmax(0,1fr) 52px}.gc-statrow>strong{font-size:18px}.gc-backbar{margin-bottom:7px}
}
@media(prefers-reduced-motion:reduce){.lc-game,.gc-btn,.vls-game{transition:none}.vba-wire-track{animation:none!important;transform:none!important}.vba-wire-viewport{overflow-x:auto;scrollbar-width:none}}
