/* BBL extends the shared basketball court, workspace and notes layout. */
.bbl-team-arenas{margin:12px 0}
.bbl-team-arenas>h3{font-size:.9rem;margin:0 0 7px}
.bbl-arena-profile{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:6px 0;background:var(--paper)}
.bbl-arena-profile>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;font-size:.82rem;background:color-mix(in srgb,var(--blue) 7%,var(--paper))}
.bbl-arena-profile>summary>b::before{content:'▸';margin-right:7px}
.bbl-arena-profile[open]>summary>b::before{content:'▾'}
.bbl-arena-profile>summary small{color:var(--muted);white-space:nowrap}
.bbl-arena-information a{color:var(--blue);text-underline-offset:2px}
.bbl-arena-information{padding:12px;min-width:0;text-align:left}
.bbl-arena-information>header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:9px 0}
.bbl-arena-information h3{margin:0;font-size:1rem}
.bbl-arena-information>header>span{color:var(--muted);font-size:.76rem}
.bbl-arena-information p{font-size:.78rem;line-height:1.4;margin:8px 0}
.bbl-arena-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.bbl-arena-gallery figure{margin:0;min-width:0}
.bbl-arena-gallery img{width:100%;height:160px;object-fit:cover;border-radius:6px;display:block;background:var(--line)}
.bbl-arena-gallery figcaption{font-size:.6rem;color:var(--muted);line-height:1.3;padding-top:4px}
.bbl-arena-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:12px 0}
.bbl-arena-facts>div{background:color-mix(in srgb,var(--blue) 5%,var(--paper));border-radius:6px;padding:8px;min-width:0}
.bbl-arena-facts dt{font-size:.62rem;font-weight:700;color:var(--muted)}
.bbl-arena-facts dd{font-size:.76rem;font-weight:700;margin:4px 0 0;overflow-wrap:anywhere}
.bbl-arena-links{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:10px;font-size:.68rem}
.bbl-arena-names{font-size:.73rem;border-top:1px solid var(--line);padding-top:7px}
.bbl-arena-names summary{cursor:pointer;font-weight:700;margin-bottom:5px}
@media(max-width:600px){.bbl-arena-facts{grid-template-columns:1fr}.bbl-arena-gallery img{height:140px}}
.bbl-kader-shared{margin:14px 0;min-width:0}
.bbl-kader-shared .bbl-hover-comparison,.bbl-kader-shared .bbl-hover-more{overflow-x:auto}
.bbl-kader-game{font-size:.72rem;color:var(--muted);margin:0 0 6px}
@media(min-width:1100px){.teams-layout{grid-template-columns:220px minmax(300px,1fr) 450px}}
@media(min-width:1001px) and (max-width:1099px){.teams-layout{grid-template-columns:180px minmax(280px,1fr) 390px}}
.basketball-brand-mark { background:#102a43; padding:8px; }
.basketball-brand-mark img { object-fit:contain; }
.overview-groups { display:block; }.bbl-table{overflow:auto}.bbl-table td:nth-child(2){white-space:normal;min-width:220px}.bbl-table .inline-team-flag{vertical-align:middle;margin-right:8px;object-fit:contain}
.bbl-season-comparison {margin:16px 0;padding:12px;border:1px solid var(--line,#d5e1e4);border-radius:12px}.bbl-season-comparison table{width:100%;border-collapse:collapse}.bbl-season-comparison td,.bbl-season-comparison th{padding:7px 4px;text-align:right}.bbl-season-comparison td:first-child,.bbl-season-comparison th:first-child{text-align:left}
.bbl-timeline{margin-top:14px}#bblTimeline{max-height:440px;overflow:auto}.bbl-action{display:grid;grid-template-columns:120px 1fr 1fr 60px;gap:12px;padding:10px 6px;border-bottom:1px solid var(--line,#d5e1e4)}.bbl-action time{font-size:.85em;color:var(--muted,#63757d)}
@media(max-width:700px){.bbl-action{grid-template-columns:90px 1fr 50px}.bbl-action span{grid-column:2}.bbl-action b{grid-column:3;grid-row:1}}

#standings.overview-groups{display:block!important;grid-template-columns:none!important}.bbl-table table{min-width:640px}.bbl-table td:nth-child(2){width:60%}.bbl-player-career{margin:12px 0;font-size:.8rem;line-height:1.5}.basketball-brand-mark img{width:100%;height:100%}

html[data-theme="dark"]{--ink:#eaf1fa;--muted:#a4b5c8;--line:#344960;--paper:#172b40;--bg:#0c1a29;--blue:#b8d9fa;--blue-2:#98bce1;--orange-deep:#ffa36e;--green:#78d6aa}
html[data-theme="dark"] body{background:var(--bg)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .player-card,html[data-theme="dark"] .coach,html[data-theme="dark"] .team-directory-item,html[data-theme="dark"] .fixture-card,html[data-theme="dark"] .lineup-column,html[data-theme="dark"] .team-inspector,html[data-theme="dark"] .official-row,html[data-theme="dark"] .match-hover-card,html[data-theme="dark"] .inspector-details>div,html[data-theme="dark"] .fixture-filters label{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .player-card.selected,html[data-theme="dark"] .team-directory-item.active,html[data-theme="dark"] .official-row.selected{background:#234560}
html[data-theme="dark"] .basketball-topbar{border-bottom-color:var(--line)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#102438;color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .bbl-table th,html[data-theme="dark"] .bbl-table td{border-color:var(--line)}

[hidden]{display:none!important}
html[data-theme="dark"] .view-tabs{background:#142a40}
html[data-theme="dark"] .view-tabs button:not(.active){color:#eaf1fa}
html[data-theme="dark"] .menu-button{background:#142a40!important;color:#eaf1fa}
html[data-theme="dark"] .lineup-player.selected{background:#244b68;color:#eaf1fa}
@media(min-width:851px) and (max-width:1400px){.court-player{max-width:86px!important}.court-player .lineup-avatar,.court-player .compact-avatar{max-width:35px;max-height:42px}.court-player .court-name{font-size:.62rem}}

.bbl-source-notice{padding:10px 14px;margin:0 0 14px;border:1px solid #dab56c;border-radius:9px;background:#fff6e4;color:#704d13;font-size:.78rem;font-weight:650}html[data-theme="dark"] .bbl-source-notice{background:#3b3020;color:#ffe0a1}

.bbl-name-history{margin:12px 0;padding:12px;border:1px solid var(--border,#ccd9d9);border-radius:10px;background:var(--panel,#fff);color:var(--text,#18272b)}.bbl-name-history summary{cursor:pointer;font-weight:750}.bbl-name-history table{width:100%;margin-top:12px;border-collapse:collapse}.bbl-name-history th,.bbl-name-history td{text-align:left;padding:8px;border-bottom:1px solid #879b9b44}.bbl-name-history td:first-child{white-space:nowrap}[data-theme=dark] .bbl-name-history{background:#183238;color:#e9f4f5}.bbl-season-comparison td{vertical-align:top}

html[data-theme="dark"] .match-hover-card{background:var(--paper)!important;color:var(--ink)}
html[data-theme="dark"] .match-context-grid>div,html[data-theme="dark"] .team-history-tile{background:#213b50;color:var(--ink)}
html[data-theme="dark"] .match-context-summary .match-player-live{background:#203f37;color:var(--ink)}

/* Matchcenter fills the viewport; only the benches and event rail scroll. */
body.bbl-match-view{height:calc(100vh / var(--bbl-layout-zoom,1));height:calc(100dvh / var(--bbl-layout-zoom,1));overflow:hidden}
.bbl-match-view .basketball-app{height:100%;display:flex;flex-direction:column;min-height:0}
.bbl-match-view .basketball-topbar{flex:0 0 auto}
.bbl-match-view .basketball-workspace{flex:1 1 auto;min-height:0;width:100%;max-width:none;margin:0;padding:8px}
.bbl-match-view #match.active{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px}
.bbl-match-view .matchcenter{display:flex;flex-direction:column;min-height:0;margin:0}
.bbl-match-view .live-score-header{flex:0 0 auto;padding:8px 18px}
.bbl-match-view .score-side{min-height:0}
.bbl-match-view .bbl-header-team{display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:0;max-width:none;flex:1 1 0}
.bbl-match-view .score-side.home .bbl-header-team{align-items:flex-end}
.bbl-match-view .score-side.away .bbl-header-team{align-items:flex-start}
.bbl-match-view .bbl-header-team .match-team-button{width:100%;max-width:100%;white-space:nowrap;overflow:hidden;overflow-wrap:normal;text-overflow:clip;text-align:inherit}
.bbl-header-team-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;max-width:320px;box-sizing:border-box;font-variant-numeric:tabular-nums}
.bbl-header-team-stats>span:not(.bbl-header-stats-pending){display:flex;align-items:baseline;justify-content:space-between;gap:4px;min-width:0;padding:4px 6px;border:1px solid #d7e6f344;border-radius:6px;background:#ffffff13;line-height:1.05}
.bbl-header-team-stats b{color:#bed4e8;font-size:.65rem;letter-spacing:.03em}
.bbl-header-team-stats strong{color:#fff;font-size:.8rem;font-weight:850}
.bbl-header-stats-pending{grid-column:1/-1;color:#c2d4e4;font-size:.65rem;font-weight:650}
@media(max-width:1050px){.bbl-match-view .bbl-header-team{gap:5px}.bbl-header-team-stats>span:not(.bbl-header-stats-pending){padding:2px 4px}}
@media(max-width:760px){.bbl-header-team-stats{display:none}}
.bbl-match-view .matchcenter-layout{flex:1 1 auto;height:auto;min-height:0;grid-template-columns:minmax(180px,.65fr) minmax(0,2fr) minmax(180px,.65fr);overflow:hidden}
.bbl-match-view .lineup-column{display:flex;flex-direction:column;min-height:0;overflow:hidden;grid-column:auto;grid-row:auto}
.bbl-match-view .lineup-heading{flex:0 0 auto}
.bbl-match-view .lineup-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;display:flex;flex-direction:column}
.bbl-match-view .lineup-player,.bbl-match-view .bench-coaches{flex:0 0 auto}
.bbl-match-view .court-wrap{display:flex;flex-direction:column;grid-row:auto;min-width:0;min-height:0;padding:8px}
.bbl-match-view .court-label,.bbl-match-view .court-note{flex:0 0 auto}
.bbl-match-view .basketball-court{flex:1 1 auto;min-height:0;width:100%}
.bbl-match-view .bbl-timeline{min-width:0;margin:0;padding:6px 10px}
.bbl-timeline .panel-head{margin:0 0 4px;align-items:center}
.bbl-timeline .panel-head h2{font-size:.8rem}
.bbl-timeline #timelineMeta{font-size:.68rem}
#bblTimeline{display:flex;gap:6px;max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;padding-bottom:4px;scrollbar-width:thin}
#bblTimeline>.muted{margin:4px 0;font-size:.75rem}
.bbl-action{flex:0 0 auto;display:grid;grid-template-columns:22px minmax(100px,1fr) auto;grid-template-rows:repeat(3,max-content);grid-auto-rows:max-content;align-items:center;align-content:start;column-gap:6px;row-gap:2px;padding:4px 8px;line-height:1.15;max-width:300px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:.68rem}
.bbl-action .bbl-event-icon{grid-column:1;grid-row:1 / 3;font-size:1rem;text-align:center;color:var(--orange-deep)}
.bbl-action time{grid-column:2;grid-row:1;font-size:.62rem}
.bbl-action strong{grid-column:2;grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bbl-action>span:not(.bbl-event-icon){grid-column:2;grid-row:3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.63rem;color:var(--muted)}
.bbl-action>b{grid-column:3;grid-row:1 / 4;align-self:center;padding-left:6px}
.bbl-action.is-score{border-color:var(--green)}
.bbl-action.is-miss .bbl-event-icon{opacity:.5}
@media(max-width:1100px){.bbl-match-view .matchcenter-layout{grid-template-columns:minmax(150px,.65fr) minmax(0,1.8fr) minmax(150px,.65fr)}}
@media(max-width:760px){
 .bbl-match-view .basketball-workspace{padding:4px}
 .bbl-match-view .matchcenter-layout{grid-template-columns:minmax(80px,.65fr) minmax(0,1.4fr) minmax(80px,.65fr)}
 .bbl-match-view .live-score-header{padding:6px;grid-template-columns:1fr 120px 1fr}
 .bbl-match-view .lineup-column{padding:4px}
 .bbl-match-view .lineup-player{grid-template-columns:20px minmax(0,1fr);gap:2px;padding:3px 1px}
 .bbl-match-view .lineup-player>.lineup-avatar,.bbl-match-view .lineup-player>.compact-avatar{display:none}
 .bbl-match-view .lineup-player b{font-size:.58rem}
 .bbl-match-view .court-note{font-size:.55rem;margin:4px 0 0}
 .bbl-match-view .court-label{font-size:.55rem}
 .bbl-match-view .court-wrap{padding:4px}
}
@media(max-height:720px){
 .bbl-match-view .live-score-header{padding-top:4px;padding-bottom:4px}
 .bbl-match-view .official-score a{display:none}
 .bbl-match-view .court-note{display:none}
 .bbl-match-view .court-player .lineup-avatar,.bbl-match-view .court-player .compact-avatar{max-height:30px;max-width:28px}
}
.bbl-match-view .quarter-scores b{font-size:.54rem;margin:0}
@media(max-width:760px){
 .bbl-match-view .court-player{width:32px;max-width:32px!important;padding:3px 1px;border-radius:4px}
 .bbl-match-view .court-player .lineup-avatar,.bbl-match-view .court-player .lineup-avatar-fallback{width:18px;height:22px;max-width:18px;max-height:22px}
 .bbl-match-view .court-player .court-first-name{display:none}
 .bbl-match-view .court-player .court-name{margin-top:2px}
 .bbl-match-view .court-player .court-name b{font-size:.47rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .bbl-match-view .court-player .court-jersey{font-size:.45rem;padding:1px 2px;margin-top:2px}
 .bbl-match-view .lineup-player>.lineup-avatar-fallback{display:none}
 
}

/* League overview: standings and matchdays share the available workspace. */
#overview.active{display:block!important}
.bbl-league-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;height:max(500px,calc(100dvh - 140px));margin-bottom:14px}
.bbl-league-layout>.panel{min-width:0;min-height:0;display:flex;flex-direction:column;margin:0}
.bbl-league-layout .panel-head{flex:none;align-items:center;flex-wrap:wrap}
.bbl-league-layout #standings{min-height:0;overflow:auto;flex:1}
.bbl-league-layout .bbl-table{overflow:visible}
.bbl-league-layout .bbl-table table{width:100%;min-width:560px}
.bbl-league-layout .bbl-table th{position:sticky;top:0;z-index:1;background:var(--paper)}
.bbl-league-layout .bbl-table td:nth-child(2){min-width:160px;width:45%}
.bbl-matchdays{display:flex;gap:6px;overflow-x:auto;flex:none;padding:2px 0 9px;margin-bottom:4px}
.bbl-matchdays button{flex:none;min-width:35px;height:35px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-weight:800;cursor:pointer}
.bbl-matchdays button.active{background:var(--blue,#164673);color:#fff;border-color:var(--blue,#164673)}
html[data-theme=dark] .bbl-matchdays button.active{color:#102438}
.bbl-league-layout #schedule{display:block;overflow:auto;min-height:0;flex:1;padding:0 2px 8px;scroll-snap-type:none}
.bbl-fixture-date h3{display:flex;justify-content:space-between;gap:8px;margin:9px 0 7px;padding-bottom:5px;border-bottom:1px solid var(--line);font-size:.85rem}
.bbl-fixture-date h3 small{white-space:nowrap;color:var(--muted)}
.bbl-fixture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bbl-league-layout .fixture-card{min-width:0;min-height:116px}
.bbl-league-layout .fixture-card-main{min-height:116px;padding:9px 30px 9px 9px;gap:4px}
.bbl-league-layout .fixture-card-teams b{white-space:normal;overflow-wrap:anywhere;font-size:.76rem}
.bbl-league-layout .fixture-card-main>small{font-size:.66rem}
@media(max-width:1100px){.bbl-league-layout{grid-template-columns:minmax(0,1fr);height:auto}.bbl-league-layout #standings{max-height:650px}.bbl-league-layout #schedule{max-height:650px}}
@media(max-width:480px){.bbl-fixture-grid{grid-template-columns:1fr}}

.bbl-table-form{display:inline-flex;gap:3px;white-space:nowrap;vertical-align:middle}
.bbl-table-form i{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;font-size:.68rem;font-style:normal;font-weight:850;color:#fff}
.bbl-table-form .win{background:#168452}.bbl-table-form .loss{background:#b94747}.bbl-table-form .empty{background:#e6eded;color:#607075}
html[data-theme=dark] .bbl-table-form .empty{background:#304658;color:#b6c7d7}
.bbl-league-layout .bbl-table table{min-width:690px}
.bbl-league-layout .bbl-table td:nth-child(2){width:auto}

.bbl-league-layout #bblFixtureCoverage{flex:none;margin:0 0 12px;font-size:.75rem;line-height:1.45}

.bbl-starter-badge { display:inline-flex;align-items:center;margin-left:5px;padding:1px 4px;border-radius:4px;background:#ffe2a3;color:#543600;font:800 9px/1.3 system-ui;vertical-align:middle; }
.lineup-player.on-court { box-shadow:inset 3px 0 #168d70; }

/* Player facts stay beside the portrait at the top of the match hover. */
.bbl-player-hover-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px;align-items:start;text-align:left;margin-bottom:7px}
.match-player-summary .bbl-player-hover-identity .lineup-avatar,.match-player-summary .bbl-player-hover-identity .lineup-avatar-fallback{margin:0 auto 4px}
.bbl-player-hover-identity{text-align:center}
.bbl-player-hover-identity h2{margin:0 0 4px;font-size:.9rem;line-height:1.15;overflow-wrap:anywhere}
.bbl-player-hover-identity p{margin:0;font-size:.62rem;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.bbl-player-hover-facts{display:grid;gap:3px;margin:0;min-width:0;text-align:right}
.bbl-player-hover-facts div{min-width:0}
.bbl-player-hover-facts dt{font-size:.58rem;line-height:1.1;color:var(--muted);font-weight:700}
.bbl-player-hover-facts dd{margin:1px 0 0;font-size:.72rem;line-height:1.15;font-weight:750;color:var(--ink);overflow-wrap:anywhere}

.bbl-action>span.bbl-event-team{grid-column:3;grid-row:1;justify-self:end;overflow:visible}
.bbl-event-logo{display:block;width:18px;height:18px;object-fit:contain}
.bbl-action>span.bbl-substitution-players{display:flex;flex-wrap:nowrap;gap:9px;grid-column:2 / 4;white-space:nowrap;min-width:0}
.bbl-substitution-players>span{display:flex;align-items:center;gap:3px;white-space:nowrap;min-width:0}.bbl-substitution-name{overflow:hidden;text-overflow:ellipsis}.bbl-substitution-players i{flex:none}
.bbl-substitution-players i{font-style:normal;font-weight:900;font-size:.85rem;line-height:1}
.bbl-substitution-out i{color:#d94b4b}.bbl-substitution-in i{color:#168d58}
.bbl-action.is-substitution{min-width:180px}
.bbl-action.is-substitution>b:empty{display:none}
.bbl-substitution-players .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.bbl-action>b{grid-row:2 / 4}
.bbl-action>span:empty,.bbl-action>b:empty{display:none}
.bbl-action time,.bbl-action strong,.bbl-action>span,.bbl-action>b{margin:0;line-height:1.15}
.bbl-substitution-players>span{line-height:1.15}

.bbl-court-pending{display:inline-block;margin-left:4px;font-size:12px;line-height:1;vertical-align:middle;cursor:help}
.court-note[hidden]{display:none!important}

/* Court player cards: portrait framed by two matching identity badges. */
.bbl-match-view .court-player{width:112px;padding:5px 4px 4px;border:1px solid #ffffff24;border-radius:13px;box-shadow:0 4px 12px #14273b24}
.bbl-court-player-top{display:grid;grid-template-columns:23px minmax(0,1fr) 23px;gap:2px;align-items:start;width:100%}
.court-player .bbl-court-player-top .court-jersey,.court-player .bbl-court-position{display:inline-flex;align-items:center;justify-content:center;min-height:17px;box-sizing:border-box;margin:2px 0 0;padding:2px 3px;border:1px solid #ffffff26;border-radius:6px;font-size:.59rem;line-height:1;font-weight:800;white-space:nowrap;background:#00000024;color:#fff}
.court-player .bbl-court-player-top .court-jersey{grid-column:1;grid-row:1;justify-self:start}
.bbl-court-player-top .lineup-avatar,.bbl-court-player-top .lineup-avatar-fallback{grid-column:2;grid-row:1;border:1px solid #ffffff1f;box-shadow:none;border-radius:8px}
.bbl-court-player-facts{grid-column:3;grid-row:1;justify-self:end;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.court-player .bbl-court-fouls{display:inline-flex;align-items:center;justify-content:center;min-width:20px;box-sizing:border-box;margin:0;padding:3px 2px;border-radius:5px;background:#ffffffeb;color:#142e47;font-size:.57rem;line-height:1;font-weight:850;white-space:nowrap;font-variant-numeric:tabular-nums}
.court-player .bbl-court-fouls.warning{background:#ffe3a0;color:#704600}
.court-player .bbl-court-fouls.limit{background:#ffced1;color:#8b1826}
.bbl-match-view .court-player .court-name{margin-top:3px}
.bbl-match-view .court-player .court-first-name{color:#ffffffcc;font-size:.57rem;line-height:1.2;font-weight:600}
.bbl-match-view .court-player .court-name b{line-height:1.15;text-shadow:none}
 .court-player .bbl-court-height{margin-top:3px;padding:2px 6px;border-radius:10px;background:#0000001c;color:#ffffffe6;font-size:.58rem;line-height:1;font-weight:650;letter-spacing:.02em}
@media(min-width:761px) and (max-width:1400px){.bbl-match-view .court-player{width:96px;max-width:96px!important;padding:6px 4px}.bbl-court-player-top{grid-template-columns:20px minmax(0,1fr) 20px}.court-player .bbl-court-player-top .court-jersey,.court-player .bbl-court-position{font-size:.5rem;padding:3px 2px;min-height:17px}.bbl-match-view .court-player .court-name b{font-size:.68rem}}
@media(max-width:760px){.bbl-match-view .court-player{width:60px;max-width:60px!important;padding:4px 2px;border-radius:7px}.bbl-court-player-top{grid-template-columns:15px minmax(0,1fr) 15px}.bbl-match-view .court-player .bbl-court-player-top .court-jersey,.court-player .bbl-court-position{font-size:.42rem;margin:0;min-height:13px;padding:2px 1px;border-radius:3px}.bbl-match-view .court-player .court-name{margin-top:3px}.court-player .bbl-court-height{font-size:.45rem;padding:2px 3px;margin-top:3px}}
@media(min-width:761px) and (max-width:1400px){.court-player .bbl-court-fouls{min-width:18px;font-size:.5rem}}
@media(max-width:760px){.bbl-court-player-facts{gap:2px}.court-player .bbl-court-fouls{min-width:14px;padding:2px 1px;border-radius:3px;font-size:.42rem}}

/* Individual game records, shared renderer with commentator preview. */
.bbl-player-stations{margin:10px 0;border:1px solid var(--line,#d8e2ed);border-radius:9px;padding:7px 9px;text-align:left;font-size:.76rem}
.bbl-player-stations summary{cursor:pointer;line-height:1.2;font-weight:750}
.bbl-player-stations>summary{font-size:.85rem}
.bbl-player-stations>summary small{float:right;color:var(--muted,#64748b);font-size:.72rem}
.bbl-career-station{padding:6px 0;border-top:1px solid var(--line,#d8e2ed);margin-top:5px}
.bbl-career-station>summary{display:flex;align-items:baseline;gap:5px;list-style:none}
.bbl-career-station>summary::before{content:'▸';font-size:.7rem;flex:0 0 auto}
.bbl-career-station[open]>summary::before{content:'▾'}
.bbl-career-station>summary span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 7px;min-width:0;flex:1}
.bbl-career-station>summary b{font-weight:750}
.bbl-career-station>summary small{font-size:.65rem;color:var(--muted,#64748b);font-weight:600}
.bbl-station-competition{margin-top:6px}
.bbl-station-competition header{display:flex;justify-content:space-between;gap:5px;font-size:.65rem;line-height:1.2;margin-bottom:4px}
.bbl-station-competition header span{color:var(--muted,#64748b)}
.bbl-station-competition dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));gap:3px;margin:0}
.bbl-station-competition dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:4px;padding:4px 5px;background:var(--paper-soft,#edf2f7);border-radius:4px;min-width:0}
.bbl-station-competition dt{font-size:.58rem;color:var(--muted,#64748b);font-weight:650}
.bbl-station-competition dd{margin:0;font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums}
.bbl-station-shooting{display:flex;flex-wrap:wrap;gap:4px 9px;font-size:.62rem;margin-top:4px;font-variant-numeric:tabular-nums}
.bbl-station-shooting b{font-weight:750}
.bbl-station-seasons{margin-top:6px;font-size:.65rem;overflow-x:auto}
.bbl-station-seasons summary{margin-bottom:3px}
.bbl-station-seasons table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.62rem}
.bbl-station-seasons th,.bbl-station-seasons td{padding:3px 2px;text-align:right;border-bottom:1px solid var(--line,#d8e2ed);white-space:nowrap}
.bbl-station-seasons th:first-child,.bbl-station-seasons td:first-child,.bbl-station-seasons th:nth-child(2),.bbl-station-seasons td:nth-child(2){text-align:left}
.bbl-station-unpublished{font-size:.65rem;color:var(--muted,#64748b);margin:5px 0 0}
html[data-theme="dark"] .bbl-station-competition dl>div{background:#203e54}
.bbl-record-badges{display:flex;flex-wrap:wrap;gap:1.5px;margin-top:1.5px;padding-right:1px}
.bbl-record-badge{display:inline-flex;gap:2px;align-items:center;border:1px solid #e4b75e;background:#fff3d7;color:#805509;border-radius:5px;padding:1px 2px;font-size:.55rem;line-height:1.2;font-style:normal;font-weight:650;white-space:nowrap}
.bbl-record-badge.tied{background:#e3f5ed;border-color:#71b59b;color:#146747}.bbl-record-badge.exceeded{background:#137b56;border-color:#137b56;color:white}
.bbl-best-games{margin:8px 0 0;padding:7px;border:1px solid #dbe4ee;border-radius:10px;background:#f8fafc;color:#152c43}
.bbl-best-games h3{margin:0 0 3px;font-size:.85rem}.bbl-best-games>small,.bbl-record-coverage{font-size:.6rem;color:#63758a;line-height:1.35}
.bbl-best-games summary{cursor:pointer;padding:3px 0;font-size:.68rem;font-weight:750}.bbl-record-scope{border-top:1px solid #e2e8ef}
.bbl-record-tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.bbl-record-tables h4{margin:0 0 2px;font-size:.64rem;color:#a64211}.bbl-record-tables table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.62rem}.bbl-record-tables td{padding:2px 1px;border-top:1px solid #e2e8ef;vertical-align:top}.bbl-record-tables td:first-child{width:22px;color:#132f4d}.bbl-record-tables td small{display:block;color:#66798d;font-size:.55rem;margin-top:0}.bbl-record-tables p,.bbl-record-loading{font-size:.62rem;color:#64748b}.bbl-record-coverage{margin:8px 0 0}
@media(max-width:600px){.bbl-record-tables{grid-template-columns:1fr}}

.bbl-record-badge b{display:inline;font-size:inherit;line-height:inherit;color:inherit;overflow:visible}

.lineup-name>.bbl-record-badges{grid-column:1/-1}

.bbl-record-tables td>span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* The overview and matchcenter use the same league table renderer. */
.bbl-table table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.bbl-table th,.bbl-table td{padding:6px 5px;border-bottom:1px solid var(--line,#dce6ee);text-align:right;white-space:nowrap;font-size:.69rem}
.bbl-table th{color:var(--muted);font-size:.62rem;font-weight:800;background:var(--paper);position:sticky;top:0;z-index:1}
.bbl-table th:nth-child(2),.bbl-table td:nth-child(2){text-align:left;width:30%}
.bbl-standing-club{display:flex;align-items:center;gap:6px;min-width:0}.bbl-standing-club b{max-width:210px;overflow:hidden;text-overflow:ellipsis;font-size:inherit;font-weight:700}.bbl-standing-club .inline-team-flag{flex:none;width:20px;height:20px;object-fit:contain;margin:0}
.bbl-standing-score{display:inline-block;padding:3px 5px;border-radius:5px;background:color-mix(in srgb,var(--muted) 10%,transparent);font-size:.68rem;font-weight:850;line-height:1.15}.bbl-standing-score.live{background:#16885b;color:#fff}
.bbl-live-table-context .bbl-standing-score.complete-win{background:#dcf2e5;color:#116043;border:1px solid #b3dfc5}
.bbl-live-table-context .bbl-standing-score.complete-draw{background:#fff;color:#17293c;border:1px solid #d4dde5}
.bbl-live-table-context .bbl-standing-score.complete-loss{background:#f9e1e2;color:#a12f38;border:1px solid #efbfc3}
.bbl-standing-score.live.live-leading{background:#16885b;color:#fff}
.bbl-standing-score.live.live-trailing{background:#c54751;color:#fff}
.bbl-standing-score.live.live-tied{background:#858d97;color:#fff}
.bbl-table tr.bbl-standing-live.live-leading{background:color-mix(in srgb,#16885b 14%,var(--paper,#fff))}
.bbl-table tr.bbl-standing-live.live-trailing{background:color-mix(in srgb,#c54751 13%,var(--paper,#fff))}
.bbl-table tr.bbl-standing-live.live-tied{background:color-mix(in srgb,#858d97 14%,var(--paper,#fff))}
.bbl-rank-cell{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;min-width:35px}
.bbl-rank-movement{font-size:.53rem;font-weight:850;line-height:1}.bbl-rank-movement.up{color:#16885b}.bbl-rank-movement.down{color:#c54751}.bbl-rank-movement.even{color:var(--muted)}
.bbl-standing-phase{display:block;margin-top:2px;color:#147950;font-size:.5rem;font-weight:750;line-height:1.2}
.bbl-table tr.bbl-standing-live{background:color-mix(in srgb,#1b9969 11%,var(--paper,#fff))}.bbl-table tr.bbl-standing-current td:first-child{box-shadow:inset 3px 0 #f26522}
html[data-theme=dark] .bbl-standing-phase{color:#88e4b7}
.match-hover-card:has(.bbl-live-table-layout){width:min(1000px,94%);text-align:left}
.bbl-live-table-layout{display:block!important;height:100%;min-height:0}
.bbl-live-table-layout>.bbl-live-table-context{height:100%;min-height:0;overflow:auto;text-align:left;padding:0 1px}
.bbl-live-table-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 34px 9px 2px}.bbl-live-table-heading h2{margin:0;font-size:1rem}.bbl-live-table-heading>small{color:var(--muted);font-size:.64rem;white-space:nowrap}
.bbl-live-table-context .bbl-table{border:1px solid var(--line);border-radius:8px;overflow:visible;background:var(--paper)}
.bbl-live-table-context .bbl-table table{min-width:620px}.bbl-live-table-context .bbl-table td:nth-child(2){width:30%}.bbl-live-table-context .bbl-standing-club b{max-width:180px}
.bbl-live-table-context .bbl-table th{background:var(--paper);top:-1px}
.bbl-live-table-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.bbl-live-table-games .live-table-game{grid-template-columns:1fr auto;gap:4px;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:7px;text-align:left}
.bbl-live-table-games .live-table-game>span{grid-column:1;grid-row:1}.bbl-live-table-games .live-table-game>strong{grid-column:1/-1;grid-row:2;justify-content:space-between;font-size:.7rem}.bbl-live-table-games .live-table-game>em{grid-column:2;grid-row:1}.bbl-live-table-games .live-table-game.current{border-color:#f26522}
.bbl-table-notes{margin-top:8px}.bbl-table-notes>summary{cursor:pointer;color:var(--muted);font-size:.66rem;font-weight:750;padding:5px 0}
@media(max-width:760px){.match-hover-card:has(.bbl-live-table-layout){width:calc(100% - 18px)}.bbl-live-table-games{grid-template-columns:1fr}}
/* Compact club rows in the league-table hover. */
.bbl-live-table-context .bbl-table td{padding:2px 5px;line-height:1.15}
.bbl-live-table-context .bbl-standing-club .inline-team-flag{width:18px;height:18px}
.bbl-live-table-context .bbl-table-form{gap:3px}
.bbl-live-table-context .bbl-table-form i{width:18px;height:18px;font-size:.62rem}
.bbl-live-table-context .bbl-standing-score{padding:2px 4px}
.bbl-live-table-context .bbl-standing-phase{display:inline;margin:0 0 0 4px;white-space:nowrap}
/* Fit the table hover to its contents, within the viewport at any app text scale. */
.match-hover-card.is-visible:has(.bbl-live-table-layout){position:fixed;left:calc(50vw / var(--bbl-layout-zoom,1));right:auto;top:calc(84px / var(--bbl-layout-zoom,1));bottom:auto;width:min(calc(1000px / var(--bbl-layout-zoom,1)),calc((100vw - 32px) / var(--bbl-layout-zoom,1)));height:auto;max-height:calc((100dvh - 100px) / var(--bbl-layout-zoom,1));padding-right:42px;transform:translateX(-50%);z-index:90}
.match-hover-card.is-visible:has(.bbl-live-table-layout) .match-player-detail,
.match-hover-card.is-visible .bbl-live-table-layout,
.match-hover-card.is-visible .bbl-live-table-context{height:auto}
.match-hover-card.is-visible .bbl-live-table-context{max-height:calc((100dvh - 100px) / var(--bbl-layout-zoom,1) - 26px)}
@media(max-width:760px){.match-hover-card.is-visible:has(.bbl-live-table-layout){top:calc(120px / var(--bbl-layout-zoom,1));width:calc((100vw - 18px) / var(--bbl-layout-zoom,1));max-height:calc((100dvh - 132px) / var(--bbl-layout-zoom,1))}.match-hover-card.is-visible .bbl-live-table-context{max-height:calc((100dvh - 132px) / var(--bbl-layout-zoom,1) - 26px)}}

/* Match player reading order: identity, one comparison, optional detail. */
.match-player-layout.bbl-readable-player{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:12px}
.bbl-readable-player .match-player-summary{text-align:left;min-width:0}
.bbl-hover-game-status{display:flex;justify-content:space-between;gap:6px;margin:7px 0;color:var(--muted);font-size:.67rem;line-height:1.2}
.bbl-hover-game-status strong{font-weight:650}
.bbl-hover-game-status span{color:var(--orange-deep);font-weight:800}
.bbl-hover-stat-caption{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin:8px 0 3px;font-size:.74rem}
.bbl-hover-stat-caption small{font-size:.61rem;color:var(--muted);font-weight:600}
.bbl-hover-more{margin-top:8px;border-top:1px solid var(--line);padding-top:7px;font-size:.72rem}
.bbl-hover-more>summary{cursor:pointer;font-weight:750;line-height:1.25}
.bbl-hover-records .bbl-best-games{border:0;background:transparent;color:var(--ink);padding:0;margin:6px 0 0}
.bbl-hover-records .bbl-best-games>h3{display:none}
.bbl-readable-player .bbl-player-stations{padding:7px 0 0;margin:8px 0 0;border:0;border-top:1px solid var(--line);border-radius:0}
.bbl-readable-player .bbl-player-stations>summary{font-size:.72rem}
.bbl-readable-player .bbl-career-station{padding:5px 0}
.bbl-readable-player .bbl-career-station>summary b{font-size:.69rem}
.bbl-readable-player .bbl-station-competition dl>div{background:transparent;border-radius:0;border-bottom:1px solid var(--line);padding:4px 2px}
.bbl-readable-player .bbl-station-competition dd{font-size:.71rem}
.bbl-readable-player .bbl-station-competition dt{font-size:.59rem}
.bbl-readable-player .bbl-station-shooting{line-height:1.35}
.bbl-readable-player .match-player-notes-column{padding-left:10px}
@media(max-width:760px){.match-player-layout.bbl-readable-player{grid-template-columns:1fr}.bbl-readable-player .match-player-notes-column{padding:8px 0 0;border-left:0;border-top:1px solid var(--line)}}
@media(min-width:761px){
 .match-hover-card.is-visible:has(.bbl-readable-player){position:fixed;top:var(--bbl-player-hover-top,90px);bottom:auto;left:calc(50vw / var(--bbl-layout-zoom,1));right:auto;width:min(680px,calc((100vw - 32px) / var(--bbl-layout-zoom,1)));height:min(30rem,var(--bbl-player-hover-height,70dvh));max-height:var(--bbl-player-hover-height,70dvh);transform:translateX(-50%);z-index:90}
}

/* Clear section levels: tinted chapter, indented club/competition, nested season. */
.match-player-layout.bbl-readable-player{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
.bbl-readable-player .bbl-player-hover-head{padding:9px 10px;background:linear-gradient(110deg,color-mix(in srgb,var(--blue,#102946) 7%,var(--paper)),var(--paper));border:1px solid var(--line);border-radius:9px;margin-bottom:6px}
.bbl-readable-player .bbl-hover-comparison{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:8px;background:var(--paper)}
.bbl-readable-player .bbl-hover-stat-caption{margin:0;padding:7px 9px;background:color-mix(in srgb,var(--blue,#102946) 9%,var(--paper));border-bottom:1px solid var(--line)}
.bbl-hover-stat-caption b{border-left:3px solid var(--orange,#f26522);padding-left:7px}
.bbl-stat-best{font-weight:750;color:var(--orange-deep);background:color-mix(in srgb,#e7aa36 8%,var(--paper))!important}
.bbl-stat-best.reached{color:var(--ink);box-shadow:inset 0 -2px #e7aa36;background:color-mix(in srgb,#e7aa36 20%,var(--paper))!important}
.bbl-readable-player .bbl-hover-more,.bbl-readable-player .bbl-player-stations{border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0;margin:8px 0 0;background:var(--paper)}
.bbl-readable-player .bbl-hover-more>summary,.bbl-readable-player .bbl-player-stations>summary{padding:7px 9px;background:color-mix(in srgb,var(--blue,#102946) 7%,var(--paper));font-size:.74rem;border-left:3px solid var(--orange,#f26522)}
.bbl-readable-player .bbl-hover-more[open]>summary,.bbl-readable-player .bbl-player-stations[open]>summary{border-bottom:1px solid var(--line)}
.bbl-readable-player .bbl-hover-more>.match-profile-link{margin:7px 10px}
.bbl-readable-player .bbl-player-stations>.bbl-career-station{margin:0 9px 0 18px;padding:7px 0 7px 9px;border-top:0;border-left:2px solid var(--line);border-bottom:1px solid var(--line)}
.bbl-readable-player .bbl-player-stations>.bbl-career-station:last-child{border-bottom:0;margin-bottom:7px}
.bbl-readable-player .bbl-career-station>summary b{font-size:.7rem}
.bbl-readable-player .bbl-career-station>summary small{font-size:.61rem}
.bbl-readable-player .bbl-station-competition,.bbl-readable-player .bbl-station-seasons,.bbl-readable-player .bbl-station-unpublished{margin-left:12px}
.bbl-readable-player .bbl-station-competition header{padding-left:6px;border-left:2px solid var(--orange,#f26522)}
.bbl-readable-player .bbl-hover-records .bbl-best-games{margin:0;padding:5px 10px 8px 18px}
.bbl-readable-player .bbl-best-games>details{margin:4px 0;padding:3px 0 3px 8px;border-left:2px solid var(--line)}
.bbl-readable-player .bbl-best-games>details>summary{font-size:.7rem;color:var(--ink);font-weight:750;padding:4px 0}
.bbl-readable-player .bbl-best-games .bbl-record-scope{margin:3px 0 3px 10px;padding:3px 0 3px 9px;border-left:1px solid var(--line)}
.bbl-readable-player .bbl-record-scope>summary{font-size:.65rem;font-weight:650;color:var(--muted)}
.bbl-readable-player .bbl-record-tables{padding:4px 0 4px 6px}
@media(min-width:761px){.match-hover-card.is-visible:has(.bbl-readable-player){width:min(880px,calc((100vw - 32px) / var(--bbl-layout-zoom,1)));height:min(33rem,var(--bbl-player-hover-height,70dvh))}}

/* Domestic-style club workspace. The rail stays fixed while each chapter uses the full club area. */
#teams .teams-layout{grid-template-columns:230px minmax(0,1fr);height:calc(100dvh - 145px);min-height:420px;align-items:stretch}
#teams .team-directory{height:100%;overflow:auto;min-height:0}
#teams #teamContent{display:flex;flex-direction:column;gap:12px;min-height:0}
#teams #teamContent[hidden],#teams .bbl-club-chapter[hidden]{display:none!important}
.bbl-club-banner{--club-primary:#255b88;--club-accent:#739ec4;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(280px,.85fr);grid-template-rows:1fr auto;gap:8px 20px;align-items:center;flex:none;min-height:154px;padding:16px 22px;color:white;border-radius:14px;overflow:hidden;isolation:isolate;background:linear-gradient(125deg,color-mix(in srgb,var(--club-primary) 62%,#132b43),color-mix(in srgb,var(--club-primary) 82%,#172b40));box-shadow:0 3px 12px #15283e18}
.bbl-club-banner:before,.bbl-club-banner:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
.bbl-club-banner:before{background:linear-gradient(145deg,transparent 45%,#ffffff14 45% 68%,transparent 68%),linear-gradient(32deg,#00000012 35%,transparent 35% 74%,#ffffff10 74%)}
.bbl-club-banner:after{background:linear-gradient(122deg,transparent 54%,color-mix(in srgb,var(--club-accent) 23%,transparent) 54% 73%,transparent 73%)}
.bbl-club-title{grid-row:1/3;min-width:0}
.bbl-club-title h2{margin:0 0 5px;font-size:1.55rem;line-height:1.15;overflow-wrap:anywhere}
.bbl-club-title p{margin:0;font-size:.85rem;font-weight:750;color:#ffffffcf}
.bbl-club-logo{grid-row:1/3;background:#fff;border:1px solid #d6dfe8;border-radius:24px;height:124px;width:130px;padding:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000014}
.bbl-club-logo img{width:100%;height:100%;object-fit:contain}
.bbl-club-source{align-self:start;justify-self:end;background:#10273fc9;color:white;font-size:.75rem;font-weight:750;padding:9px 12px;border:1px solid #ffffff45;border-radius:8px;text-decoration:none}
.bbl-club-banner nav{display:flex;align-items:stretch;gap:4px;padding:4px;background:#10273fc9;border:1px solid #ffffff3d;border-radius:9px;min-width:0}
.bbl-club-banner nav button{flex:1;min-width:0;background:transparent;color:#e3eaf1;border:0;border-radius:7px;font-size:.94rem;font-weight:850;padding:9px 12px;cursor:pointer}
.bbl-club-banner nav button.active{background:#fff;color:#18333a}
.bbl-club-banner nav button:focus-visible{outline:2px solid white;outline-offset:2px}
.bbl-club-chapter{min-height:0;overflow:auto}
#teams .bbl-squad-workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:12px;flex:1;overflow:hidden}
#teams .bbl-squad-workspace>.roster-panel{overflow:auto;min-height:0;margin:0}
#teams .bbl-squad-workspace .panel-hint{display:none}
#teams .bbl-squad-workspace .player-card{grid-template-columns:24px 38px minmax(0,1fr);gap:6px;min-height:60px;padding:6px}
#teams .bbl-squad-workspace .player-photo,#teams .bbl-squad-workspace .player-photo-fallback{width:36px;height:43px}
#teams .bbl-squad-workspace .player-info b{font-size:.82rem;white-space:normal}
#teams .bbl-squad-workspace .player-info small{font-size:.65rem}
#teams .bbl-squad-workspace .player-info small:last-child{display:none}
#teams .bbl-squad-workspace .player-meta{grid-column:3;display:flex;gap:6px;justify-content:start;margin-top:-3px}
#teams .bbl-squad-workspace .player-chip{font-size:.6rem;padding:1px 4px}
#teams .team-inspector{display:grid;grid-template-columns:minmax(0,1fr) var(--bbl-notes-width);align-content:start;position:static;min-height:0;max-height:none;overflow:auto}
.bbl-directory-person{min-width:0}
#teams .bbl-directory-notes{border-left:1px solid var(--line);padding:12px;margin:0;min-width:0}
#teams .inspector-hero{display:grid;grid-template-columns:85px minmax(0,1fr);column-gap:14px;align-items:center;text-align:left;padding:12px;background:color-mix(in srgb,var(--blue) 8%,var(--paper));color:var(--ink)}
#teams .inspector-hero img,#teams .inspector-hero .player-photo-fallback{grid-row:1/3;width:85px;height:102px;margin:0}
#teams .inspector-hero h2{font-size:1.1rem;margin:0;align-self:end}
#teams .inspector-hero p{font-size:.8rem;color:var(--muted);align-self:start;margin-top:4px}
#teams .inspector-details{gap:5px;background:transparent;padding:10px}
#teams .inspector-details>div{background:color-mix(in srgb,var(--blue) 5%,var(--paper));border-radius:6px;padding:8px}
#teams .bbl-kader-shared{padding:0 10px}
#teams .bbl-season-comparison,#teams .bbl-profile-seasons,#teams .bbl-player-career{margin:10px}
#teams .team-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
#teams .team-summary .team-identity{display:none}
#bblClubTeam,#bblClubCity{flex:1}
#bblClubStaff{margin-bottom:12px}
#bblClubStaff .coaches{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.bbl-team-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.bbl-team-fact-grid article{padding:14px}
.bbl-team-fact-grid h3{font-size:.85rem;margin:0 0 8px}
.bbl-team-fact-grid p{font-size:.8rem;margin:0;line-height:1.5}
.bbl-club-history{grid-column:1/-1}
.bbl-contact{white-space:pre-line}
#bblClubTeamNotes{margin-top:14px}
.bbl-city-card{padding:16px;overflow:hidden}
.bbl-city-card figure{margin:0 0 14px}
.bbl-city-card figure img{width:100%;max-height:320px;object-fit:cover;border-radius:9px}
.bbl-city-card figcaption{font-size:.62rem;color:var(--muted);margin-top:5px}
.bbl-city-card h2{font-size:1.3rem;margin:8px 0}
.bbl-city-card p{font-size:.83rem;line-height:1.5;white-space:pre-line}
.bbl-city-card a,.bbl-team-fact-grid a{color:var(--blue)}
.bbl-city-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.bbl-city-highlights section{padding:12px;border:1px solid var(--line);border-radius:8px}
.bbl-city-highlights h3{font-size:.9rem;margin:0}
@media(max-width:1400px){#teams .teams-layout{grid-template-columns:195px minmax(0,1fr)}#teams .bbl-squad-workspace{grid-template-columns:240px minmax(0,1fr)}#teams .team-inspector{grid-template-columns:minmax(0,1fr) var(--bbl-notes-width)}.bbl-club-banner{grid-template-columns:minmax(0,1fr) 110px 280px;gap:8px 12px;padding:14px}.bbl-club-logo{height:112px;width:110px}.bbl-club-title h2{font-size:1.35rem}}
@media(max-width:1150px){#teams .team-inspector{grid-template-columns:minmax(0,1fr)}#teams .bbl-directory-notes{border-left:0;border-top:1px solid var(--line)}.bbl-club-banner{grid-template-columns:minmax(0,1fr) 100px 240px}.bbl-club-logo{width:100px;height:105px}}
@media(max-width:850px){#teams .teams-layout{grid-template-columns:165px minmax(0,1fr);height:auto;min-height:0}#teams #teamContent{overflow:visible}.bbl-club-banner{grid-template-columns:minmax(0,1fr) 85px;min-height:170px}.bbl-club-title{grid-row:1}.bbl-club-logo{grid-row:1;width:85px;height:85px;padding:9px;border-radius:17px}.bbl-club-source{display:none}.bbl-club-banner nav{grid-column:1/-1}#teams .bbl-squad-workspace{grid-template-columns:1fr;overflow:visible}#teams .team-directory{max-height:calc(100dvh - 140px);position:sticky;top:12px}#teams .bbl-squad-workspace>.roster-panel{max-height:350px}#teams .team-inspector{overflow:visible}.bbl-team-fact-grid,.bbl-city-highlights{grid-template-columns:1fr}.bbl-club-history{grid-column:auto}#teams .team-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){#teams .teams-layout{grid-template-columns:1fr}#teams .team-directory{max-height:210px;position:static}}

.bbl-kader-view .basketball-workspace{max-width:none}
#teams .team-directory-item{grid-template-columns:30px minmax(0,1fr);gap:8px}
#teams .team-directory-item small{display:none}
#teams .team-directory-item strong{overflow-wrap:anywhere}
#teams #roster{grid-template-columns:1fr}
#teams .player-card,#teams .player-info{text-align:left}
#teams .player-info small{display:block}
#teams .team-directory-list{min-height:0;max-height:none;overflow:visible}

/* Let directory rows grow to their wrapped text; the rail owns scrolling. */
#teams .team-directory-list{height:auto;grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start}
#teams .team-directory-item{height:auto;min-height:44px;align-self:start;line-height:1.3;padding:9px 8px}
#teams .team-directory-item strong{display:block;min-width:0;height:auto;white-space:normal;line-height:1.3}
.bbl-club-honours{padding:14px;margin:0 0 12px}
.bbl-club-honours h3{margin:0 0 10px;font-size:.95rem}
.bbl-club-honours ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 10px}
.bbl-club-honours li{padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:7px;background:color-mix(in srgb,var(--blue) 4%,var(--paper));font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.bbl-club-honours a{color:var(--blue);font-size:.72rem}
@media(max-width:850px){.bbl-club-honours ul{grid-template-columns:1fr}}

/* Team and player notes use one responsive column width. */
#teams{--bbl-notes-width:270px}
#bblClubTeam{display:grid;grid-template-columns:minmax(0,1fr) var(--bbl-notes-width);grid-template-rows:minmax(0,1fr);gap:12px;overflow:hidden;align-items:start}
#bblClubTeamInfo{min-width:0;min-height:0;overflow:auto;height:100%}
#teams #bblClubTeamNotes{margin:0;padding:12px;min-height:0;max-height:100%;overflow:auto}
@media(max-width:1400px){#teams{--bbl-notes-width:235px}}
@media(max-width:1150px){#bblClubTeam{grid-template-columns:minmax(0,1fr);grid-template-rows:none;overflow:auto}#bblClubTeamInfo{height:auto;overflow:visible}}

/* Two lines per metric: current value, then average and season/BBL best. */
.bbl-hover-comparison{container-type:inline-size}
.bbl-stat-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px;align-items:start}
@container(min-width:580px){.bbl-stat-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.bbl-stat-tile{min-width:0;border:1px solid var(--line);border-radius:5px;background:var(--paper);overflow:hidden;line-height:1.15;font-variant-numeric:tabular-nums;text-align:left}
.bbl-stat-tile>header{display:flex;align-items:baseline;justify-content:space-between;gap:4px;padding:4px 7px 1px;border-left:2px solid var(--orange,#f26522)}
.bbl-stat-tile>header>b{font-size:.69rem}.bbl-stat-today,.bbl-shot-today strong{font-size:.94rem;font-weight:850;color:var(--ink)}
.bbl-tile-reference,.bbl-shot-values{display:flex;justify-content:space-between;align-items:baseline;gap:5px;padding:2px 7px 4px;font-size:.58rem;color:var(--muted)}
.bbl-tile-season,.bbl-tile-bests{display:inline-flex;gap:3px;align-items:baseline;white-space:nowrap}.bbl-tile-season b,.bbl-shot-values b{color:var(--ink)}
.bbl-tile-bests small{font-size:inherit}.bbl-tile-bests i{font-style:normal;color:var(--muted)}.bbl-tile-bests .bbl-stat-best{font-size:.62rem;padding:0 2px;border-radius:2px;background:transparent!important}
.bbl-tile-bests .bbl-stat-best.reached{background:color-mix(in srgb,#e7aa36 20%,var(--paper))!important}
.bbl-shot-today{display:inline-flex;align-items:baseline;gap:6px}.bbl-shot-today>b{font-size:.64rem;color:var(--muted)}
.bbl-hover-comparison>.match-profile-link{margin:3px 7px 5px;font-size:.61rem}
.bbl-rebound-tile{grid-column:auto;min-width:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--paper)}
.bbl-rebound-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.bbl-rebound-parts>.bbl-stat-tile{border:0;border-radius:0}
.bbl-rebound-parts>.bbl-stat-tile+.bbl-stat-tile{border-left:1px solid var(--line)}
.bbl-rebound-parts>.bbl-stat-tile>header{border-left:0}
.bbl-rebound-parts .bbl-tile-reference{padding-left:5px;padding-right:5px;gap:3px;font-size:.55rem}
@media(max-width:760px){.match-player-layout.bbl-readable-player{grid-template-columns:1fr}}

.bbl-stat-discipline-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;align-self:stretch;min-height:0}
/* One points line above four connected shooting columns. */
.bbl-scoring-box{margin:6px 6px 0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--paper)}
.bbl-scoring-box>[data-stat-key="points"]{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border:0;border-radius:0;background:color-mix(in srgb,var(--blue,#102946) 5%,var(--paper));padding:3px 7px;border-left:2px solid var(--orange,#f26522)}
.bbl-scoring-box>[data-stat-key="points"]>header{border:0;padding:0;gap:10px}
.bbl-scoring-box>[data-stat-key="points"]>.bbl-tile-reference{flex:1;padding:0;justify-content:flex-end;gap:18px}
.bbl-stat-shot-row{grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:0;border-top:1px solid var(--line)}
.bbl-stat-shot-row>.bbl-stat-tile{border:0;border-radius:0}
.bbl-stat-shot-row>.bbl-stat-tile+.bbl-stat-tile{border-left:1px solid var(--line)}
.bbl-stat-shot-row .bbl-stat-tile>header{display:block;padding:4px 5px 1px;border-left:0}
.bbl-stat-shot-row .bbl-stat-tile>header>b{display:block;font-size:.62rem;margin-bottom:2px}
.bbl-stat-shot-row .bbl-shot-today{display:flex;justify-content:space-between;gap:3px}
.bbl-stat-shot-row .bbl-shot-values{display:flex;flex-wrap:wrap;padding-left:5px;padding-right:5px;gap:2px 5px;font-size:.54rem}
.bbl-stat-shot-row .bbl-shot-values>span:last-child{margin-left:auto}
@container(max-width:460px){.bbl-stat-shot-row .bbl-shot-today>b{font-size:.55rem}}

.bbl-player-time-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px 7px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--blue,#102946) 5%,var(--paper));font-variant-numeric:tabular-nums}
.bbl-player-time-summary>span{display:flex;align-items:baseline;justify-content:space-between;gap:4px;min-width:0}
.bbl-player-time-summary small{font-size:.57rem;color:var(--muted)}.bbl-player-time-summary b{font-size:.7rem;color:var(--ink);white-space:nowrap}
@container(max-width:540px){.bbl-player-time-summary>span{flex-direction:column;gap:2px}}

.bbl-rebound-tile>[data-stat-key="rebounds"]{display:flex;align-items:baseline;justify-content:space-between;gap:5px;border:0;border-radius:0;padding:3px 5px;border-left:2px solid var(--orange,#f26522);background:color-mix(in srgb,var(--blue,#102946) 5%,var(--paper))}
.bbl-rebound-tile>[data-stat-key="rebounds"]>header{border:0;padding:0;gap:5px}
.bbl-rebound-tile>[data-stat-key="rebounds"]>.bbl-tile-reference{padding:0;gap:6px;font-size:.55rem}
.bbl-rebound-tile>[data-stat-key="rebounds"] .bbl-stat-best{font-size:.57rem}
@container(max-width:460px){.bbl-rebound-tile>[data-stat-key="rebounds"]>header>b{font-size:.61rem}.bbl-rebound-tile>[data-stat-key="rebounds"] .bbl-tile-bests small{display:none}.bbl-rebound-parts .bbl-tile-reference{gap:2px;font-size:.5rem}.bbl-rebound-parts .bbl-tile-bests{gap:1px}.bbl-rebound-parts .bbl-tile-bests .bbl-stat-best{font-size:.54rem}}

.bbl-stat-discipline-row>.bbl-stat-tile{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:4px 7px;border-left:2px solid var(--orange,#f26522)}
.bbl-stat-discipline-row>.bbl-stat-tile>header{padding:0;border-left:0;gap:8px}
.bbl-stat-discipline-row .bbl-tile-reference{padding:0}

.bbl-stat-support-row{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:5px}
.bbl-rebounds-discipline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:0 6px 6px;align-items:stretch}
.bbl-stat-support-row .bbl-tile-reference{padding-left:5px;padding-right:5px;gap:3px}

.bbl-stat-discipline-row>.bbl-stat-tile{align-items:center}

/* Current figures occupy the right edge consistently across single-line boxes. */
.bbl-scoring-box>[data-stat-key="points"],.bbl-rebound-tile>[data-stat-key="rebounds"],.bbl-stat-discipline-row>.bbl-stat-tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;column-gap:8px}
.bbl-scoring-box>[data-stat-key="points"]>header,.bbl-rebound-tile>[data-stat-key="rebounds"]>header,.bbl-stat-discipline-row>.bbl-stat-tile>header{display:contents}
.bbl-scoring-box>[data-stat-key="points"]>header>b,.bbl-rebound-tile>[data-stat-key="rebounds"]>header>b,.bbl-stat-discipline-row>.bbl-stat-tile>header>b{grid-column:1;grid-row:1}
.bbl-scoring-box>[data-stat-key="points"] .bbl-stat-today,.bbl-rebound-tile>[data-stat-key="rebounds"] .bbl-stat-today,.bbl-stat-discipline-row .bbl-stat-today{grid-column:3;grid-row:1;text-align:right}
.bbl-scoring-box>[data-stat-key="points"]>.bbl-tile-reference,.bbl-rebound-tile>[data-stat-key="rebounds"]>.bbl-tile-reference,.bbl-stat-discipline-row .bbl-tile-reference{grid-column:2;grid-row:1;justify-self:end}
.bbl-stat-discipline-row>.bbl-stat-tile{align-items:center}

.bbl-hover-comparison .is-above-average{background:color-mix(in srgb,#36a876 22%,var(--paper))!important}
.bbl-hover-comparison .is-personal-best{background:color-mix(in srgb,#f4c455 38%,var(--paper))!important}

.bbl-player-time-summary>span.is-above-average{border-radius:3px;padding:1px 3px}
.bbl-scoring-box:has(>[data-stat-key="points"].is-above-average){background:color-mix(in srgb,#36a876 22%,var(--paper))!important}
.bbl-scoring-box:has(>[data-stat-key="points"].is-personal-best){background:color-mix(in srgb,#f4c455 38%,var(--paper))!important}
.bbl-scoring-box .bbl-shot-tile:not(.is-above-average):not(.is-personal-best),.bbl-rebound-parts>.bbl-stat-tile:not(.is-above-average):not(.is-personal-best){background:transparent}

.bbl-hover-comparison [data-stat-key="personalFouls"].is-above-average,.bbl-hover-comparison [data-stat-key="turnovers"].is-above-average{background:color-mix(in srgb,#d45858 22%,var(--paper))!important}

.bbl-court-slot-label{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);display:block;padding:2px 7px;border-radius:4px;background:#102e4e;color:#fff;font-size:.62rem;line-height:1.15;font-weight:800;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px #0002}
.court-player.away .bbl-court-slot-label{background:#e9550c}
@media(max-width:760px){.bbl-court-slot-label{font-size:.5rem;padding:2px 4px}}

/* Both halves show offense toward their basket. */
.bbl-court-direction{position:absolute;top:35%;width:27%;height:30%;background:#fff;opacity:.2;clip-path:polygon(0 29%,65% 29%,65% 0,100% 50%,65% 100%,65% 71%,0 71%);pointer-events:none;z-index:0}
.bbl-court-direction.home{left:18%;transform:scaleX(-1)}
.bbl-court-direction.away{right:18%}

.bbl-court-footer{display:flex;flex:0 0 auto;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px 10px;margin-top:5px;color:#fff;text-align:center}.bbl-court-footer #courtNote{margin:0;padding:0}.bbl-court-footer #bblGameSource{font-size:.62rem;line-height:1.2;font-weight:650;}
