/* All new presentation values use the seven-step scale and shared palette. */
html { font-size: var(--fs-base); }
body { color: var(--c-text); background: var(--c-bg); font-family: var(--font-body); }
h1 { font-size: var(--fs-2xl); } h2 { font-size: var(--fs-xl); } h3 { font-size: var(--fs-lg); }
p { font-size: var(--fs-base); } small, .note, .stat-label { font-size: var(--fs-xs); color: var(--c-text-2); }
.wordmark { font-size: var(--fs-lg); font-weight: 700; }
.stat-value { font-size: var(--fs-3xl); font-weight: 600; }
.club-name { font-size: var(--fs-lg); font-weight: 600; }
.card-title { font-weight: 600; }
.num { font-variant-numeric: tabular-nums; font-feature-settings: 'tnum'; text-align: right !important; }
.left-rail, .page-header, .page-content, table { font-family: var(--font-body); }
.page-subnav-button::before, .form-subnav-button::before, .dashboard-division-tab::before { display: none; }
.vlhs-dashboard-section-head { grid-template-columns: minmax(0, 1fr) auto; }
.vlhs-dashboard-section-head > span { display: none; }
h1,h2,h3,h4,.card-title,.section-title,.stat-label { text-transform: none !important; letter-spacing: normal; }
section, article, .records-card, .division-card, table, button, input, select { border-radius: var(--radius); box-shadow: none !important; }
section, article { border-color: var(--c-border); }
a { color: var(--c-accent); }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
th, td { border-left: none !important; border-right: none !important; border-bottom: var(--border-hair); font-size: var(--fs-sm); }
th { position: sticky; top: 0; z-index: 2; color: var(--c-text-2); background: var(--c-surface-2); font-size: var(--fs-xs); }
td { color: var(--c-text); background: var(--c-surface); }
td.team, th.team-heading, td.club-cell { text-align: left; }
.table-scroll { overflow: auto; }
.table-scroll table th:nth-child(2), .table-scroll table td:nth-child(2) { position: sticky; left: 0; z-index: 1; background: var(--c-surface); }
.table-scroll table th:nth-child(2) { z-index: 3; }
.positive,.rank-movement-up { color: var(--c-pos) !important; }
.negative,.rank-movement-down { color: var(--c-neg) !important; }
.division-pl { --division-colour: var(--c-div-pl); }
.division-vl1 { --division-colour: var(--c-div-v1); }
.division-vl2 { --division-colour: var(--c-div-v2); }
.division-vl3 { --division-colour: var(--c-div-v3); }
.division-chip { display:inline-block; padding:var(--sp-1) var(--sp-2); border:var(--border-hair); border-radius:var(--radius); color:var(--division-colour); }
.division-card, .premiership-column, tr.finals-position, tr.relegation-position { background: var(--c-surface) !important; }
.qualification-badge { font-size:var(--fs-xs); padding:var(--sp-1); border:var(--border-hair); border-radius:var(--radius); }
.semantic-xpts { width:100%; table-layout:fixed; }
.semantic-xpts th:first-child { width:35%; }
.semantic-xpts td, .semantic-xpts th { padding:var(--sp-2); }
.xpts-bar { display:block; height:var(--sp-2); background:var(--c-text-2); width:var(--bar-width); }
.xpts-bar.actual { background:var(--c-pos); }
.semantic-xpts td span { display:block; }
.standings-cards { display:none; }
.standings-card { padding:var(--sp-3); border:var(--border-hair); margin-bottom:var(--sp-3); }
.standings-card dl { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--sp-2); margin:calc(var(--sp-1) - var(--sp-1)); }
.standings-card dt, .standings-card dd { margin:calc(var(--sp-1) - var(--sp-1)); font-size:var(--fs-sm); }
.standings-card dd { text-align:right; }
.standings-card-head { display:flex; align-items:center; gap:var(--sp-3); }
.standings-card-head .club-name { margin:0; font-size:var(--fs-base); line-height:1.5; }
.standings-card-rank { display:grid; place-items:center; flex:0 0 var(--sp-8); height:var(--sp-8); background:var(--c-surface-2); border-radius:var(--radius); color:var(--c-text-2); font-size:var(--fs-sm); }
.standings-card .standings-card-glance { display:flex; flex-wrap:wrap; gap:var(--sp-6); padding:var(--sp-3) 0; }
.standings-card-glance dt { color:var(--c-text-2); font-size:var(--fs-xs); }
.standings-card-glance dd { text-align:left !important; font-weight:600; }
.standings-card summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; color:var(--c-text-2); font-size:var(--fs-sm); cursor:pointer; list-style:none; border-top:var(--border-hair); }
.standings-card summary::-webkit-details-marker { display:none; }
.standings-card summary::after { content:'+'; font-size:var(--fs-lg); color:var(--c-accent); }
.standings-card details[open] summary::after { content:'\2212'; }
.standings-card details[open] summary { color:var(--c-text); margin-bottom:var(--sp-2); }
.standings-card details dl { row-gap:var(--sp-3); padding-bottom:var(--sp-2); }
.standings-card details dt { color:var(--c-text-2); }
.page-subnav-button, .form-subnav-button, .dashboard-division-tab { text-transform:none; letter-spacing:normal; font-size:var(--fs-sm); font-weight:600; line-height:1.4; padding:var(--sp-2) var(--sp-3); }
.page-subnav, .form-subnav, .dashboard-division-tabs, .left-rail nav { scrollbar-width:thin; scrollbar-color:var(--c-text-3) transparent; }
@media (max-width:767px) {
 #standings-extended1 .table-scroll, #standings-extended2 .table-scroll { display:none; }
 .standings-cards { display:block; }
 .table-scroll table th:nth-child(2), .table-scroll table td:nth-child(2) { position:static; }
 .qualification-badge { font-size:var(--fs-xs); overflow-wrap:anywhere; }
 .page-header h1 { font-size:var(--fs-xl); }
 .page-content { padding:var(--sp-2); }
 #graph, .page-subnav-button[data-tab='graph'] { display:block !important; }
 #graph:not(.active) { display:none !important; }
 .normal-standings-table { table-layout:auto; }
 .mobile-compact th,.mobile-compact td { font-size:var(--fs-xs); padding:var(--sp-1); }
 .expectation-card { display:block !important; }
 .nav-button[href='team_strength.html'] { display:block !important; }
 .strength-intro,.strength-grid { display:block !important; }
 .visual-diverging-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
 .form-guide-row { grid-template-columns:minmax(0,1fr) auto auto; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
.data-chart { padding:var(--sp-4); margin:var(--sp-4) calc(var(--sp-1) - var(--sp-1)); border:var(--border-hair); background:var(--c-surface); }
.data-chart h2 { font-size:var(--fs-lg); }
.data-chart p,.chart-data { font-size:var(--fs-sm); }
.data-chart-svg { display:block; width:100%; max-width:760px; height:auto; }
.data-chart-svg text { fill:var(--c-text-2); font-family:var(--font-body); font-size:var(--fs-xs); }
.chart-series path { fill:none; stroke:var(--c-text-3); stroke-width:1.5; vector-effect:non-scaling-stroke; }
.chart-series text { fill:var(--c-text); }
.chart-series { cursor:pointer; }
.chart-series.is-dimmed { opacity:.2; }
.chart-series.is-highlighted path { stroke:var(--division-colour,var(--c-pos)); stroke-width:3; }
.chart-series.is-highlighted text { fill:var(--c-text); font-weight:700; }
.chart-leader { stroke:var(--c-text-3); stroke-width:.5; }
.chart-gridline { stroke:var(--c-border); }
.chart-reference,.chart-cutoff { stroke:var(--c-text-2); stroke-dasharray:5 4; stroke-width:1; }
.chart-division[data-division='Premier League'] { --division-colour:var(--c-div-pl); }
.chart-division[data-division='Vic League 1'] { --division-colour:var(--c-div-v1); }
.chart-division[data-division='Vic League 2'] { --division-colour:var(--c-div-v2); }
.chart-division[data-division='Vic League 3'] { --division-colour:var(--c-div-v3); }
.chart-data { margin-top:var(--sp-3); }
.chart-data summary { cursor:pointer; color:var(--c-accent); padding:var(--sp-2); }
.chart-data table { width:100%; }
.chart-table-scroll { max-width:100%; overflow:auto; }
.chart-data th,.chart-data td { padding:var(--sp-2); font-size:var(--fs-xs); white-space:normal; }
.calibration-dot,.state-first { fill:var(--c-pos); }
.low-sample { opacity:.45; }
.state-conceded { fill:var(--c-neg); }
.state-link { stroke:var(--c-text-3); }
.margin-bar { fill:var(--c-text-2); }
.quarter-row { display:grid; gap:var(--sp-2); padding:var(--sp-3) calc(var(--sp-1) - var(--sp-1)); border-bottom:var(--border-hair); }
.quarter-row .club-name { font-size:var(--fs-sm); }
.quarter-row:first-of-type { border:var(--border-hair); padding:var(--sp-3); }
.quarter-bar { display:flex; height:var(--sp-8); }
.quarter { width:var(--segment); overflow:hidden; color:var(--c-bg); font-size:var(--fs-xs); text-align:center; }
.q1 { background:var(--c-text); }.q2 { background:var(--c-text-2); }.q3 { background:var(--c-pos); }.q4 { background:var(--c-neg); }
@media (max-width:767px) {
 .data-chart { padding:var(--sp-2); }
 .data-chart-svg { width:100%; }
 .chart-data table { table-layout:fixed; }
 .chart-data td,.chart-data th { overflow-wrap:anywhere; padding:var(--sp-1); }
}

/* Position probabilities share the dark site palette and alternating rows. */
.table-scroll .projection-heatmap tbody tr {
    --position-row-bg: var(--c-bg);
}
.table-scroll .projection-heatmap tbody tr:nth-child(even) {
    --position-row-bg: var(--c-surface);
}
.table-scroll .projection-heatmap tbody tr td {
    background: var(--position-row-bg);
    color: var(--c-text);
}
.table-scroll .projection-heatmap tbody tr td:not(.team) {
    background: color-mix(in srgb, var(--c-div-pl) var(--position-tint, 0%), var(--position-row-bg));
}
.table-scroll .projection-heatmap th:nth-child(2),
.table-scroll .projection-heatmap td:nth-child(2) {
    position: static;
}

/* Align Elo statistics with their centred column headings. */
.ratings-table td.num {
    text-align: center !important;
}

/* Actual and expected points share a single horizontal scale. */
.expectation-dot-chart { display:block; width:100%; min-width:900px; font-family:var(--font-body); }
.expectation-dot-chart .expectation-row { fill:var(--c-surface-2); }
.expectation-grid { stroke:var(--c-border); stroke-width:1; }
.expectation-team { fill:var(--c-text); font-size:14px; }
.expectation-axis { fill:var(--c-text-2); font-size:12px; }
.expectation-value { fill:var(--c-text); font-size:11px; font-variant-numeric:tabular-nums; }
.expectation-connector { stroke-width:2; }
.expectation-connector.above { stroke:var(--c-pos); }
.expectation-connector.below { stroke:var(--c-neg); stroke-dasharray:1 5; stroke-linecap:round; }
.expectation-dot.expected { fill:var(--c-text-2); }
.expectation-dot.actual { fill:var(--c-accent); }
.expectation-legend .legend-dot.expected { background:var(--c-text-2); }
.expectation-legend .legend-dot.actual { background:var(--c-accent); }
.expectation-line-key { display:inline-block; width:24px; border-top:2px solid var(--c-pos); }
.expectation-line-key.below { border-top:2px dotted var(--c-neg); }
.expectation-point-row:focus { outline:none; }
.expectation-point-row:focus .expectation-team, .expectation-point-row:hover .expectation-team { fill:var(--c-accent); }

/* Compact season records after removing the four supporting metrics. */
@media (min-width: 901px) {
    .records-tab-panel .season-records-table { width:100%; min-width:0; table-layout:auto; }
    .records-tab-panel .season-records-table th,
    .records-tab-panel .season-records-table td { width:auto; min-width:0; padding:4px 6px; }
    .records-tab-panel .season-records-table .team,
    .records-tab-panel .season-records-table .team-heading { white-space:normal; }
}

@media (min-width: 901px) and (max-width: 1350px) {
    .records-tab-panel .season-records-table th,
    .records-tab-panel .season-records-table td { font-size:var(--fs-xs); padding:4px; }
}

/* Miscellaneous tables centre every column except team and venue names. */
.misc-tab-panel table th,
.misc-tab-panel table td { text-align:center !important; }
.misc-tab-panel table td.team,
.misc-tab-panel table th.team-heading { text-align:left !important; }
.misc-tab-panel table th button { text-align:center; justify-content:center; }

/* Keep expectation statistics aligned with their headings. */
.expectation-table th, .expectation-table td { text-align:center !important; }
.expectation-table .team, .expectation-table .team-heading,
.expectation-table .division-cell, .expectation-table .division-heading { text-align:left !important; }

/* Fit the two probability charts into the desktop viewport. */
.projection-history-grid { gap:8px; }
.projection-history-grid .momentum-card-header { min-height:44px; padding:4px 12px; }
.projection-history-grid .momentum-card-header h2 { font-size:var(--fs-base); }
.projection-history-grid .momentum-card-header p { margin-top:2px; }
.projection-history-plot { min-height:0; height:calc(50dvh - 160px); }
@media (max-width: 900px) {
    .projection-history-plot { height:320px; }
}

/* Records: names and ranges read left to right; statistics are centred. */
.records-tab-panel table th,
.records-tab-panel table td { text-align:center !important; }
.records-tab-panel table .team,
.records-tab-panel table .team-heading,
.records-tab-panel table .range,
.records-tab-panel table .range-heading { text-align:left !important; }
.records-tab-panel table th button { text-align:inherit; justify-content:center; }
.records-tab-panel table th.team-heading button,
.records-tab-panel table th.range-heading button { justify-content:flex-start; }

.expectation-view { display:none; }
.expectation-view.active { display:block; }
.margin-filters { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:8px 16px; }
.margin-filters label { display:flex; align-items:center; gap:6px; font-size:var(--fs-sm); }
.margin-filters select, .margin-filters button { padding:6px 8px; color:var(--c-text); background:var(--c-surface-2); border:var(--border-hair); border-radius:var(--radius); }
#margin-summary { color:var(--c-text-2); font-size:var(--fs-xs); }
#margin-chart { width:100%; height:calc(100dvh - 350px); min-height:300px; }
.margin-note { padding:8px 16px; margin:0; }
@media (max-width:600px) { #margin-chart { height:420px; } .margin-filters label { max-width:100%; } .margin-filters select { max-width:220px; } }

#elo-margin-plot { width:100%; height:calc(100dvh - 350px); min-height:300px; }
@media (max-width:600px) { #elo-margin-plot { height:420px; } }

/* Keep fixture Elo scenarios visible in the compact layout too. */
.fixtures-tab-panel[data-fixtures-panel="fixtures"] { width:100%; }
.fixtures-table .fixture-exchange, .fixtures-table .fixture-exchange-group { display:table-cell !important; text-align:center !important; }
.fixtures-table col.fixture-col-exchange { display:table-column !important; }
.fixtures-table col.fixture-col-exchange { width:58px; }
@media (max-width:900px) {
    .fixtures-tab-panel[data-fixtures-panel="fixtures"] .table-scroll { overflow-x:auto; }
    .fixtures-table { min-width:760px; }
}

.fixtures-division-panel .fixtures-tab-panel .fixtures-table thead tr th.fixture-exchange,
.fixtures-division-panel .fixtures-tab-panel .fixtures-table thead tr th.fixture-exchange-group,
.fixtures-division-panel .fixtures-tab-panel .fixtures-table tbody tr td.fixture-exchange { display:table-cell !important; }

/* Extended 3: centre match-state statistics, preserving left-aligned teams. */
#standings-extended3 table th,
#standings-extended3 table td { text-align:center !important; }
#standings-extended3 table .team,
#standings-extended3 table .team-heading { text-align:left !important; }

.winning-margin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
.winning-margin-chart { display:block; width:100%; }
.winning-margin-chart text { fill:var(--c-text-2); font:600 12px Inter,sans-serif; }
.winning-margin-bar { fill:var(--margin-colour); opacity:.8; }
.winning-margin-card .division-title { flex-wrap:wrap; }
#standings-extended2 table th, #standings-extended2 table td { text-align:center !important; }
#standings-extended2 table .team, #standings-extended2 table .team-heading { text-align:left !important; }
@media(max-width:900px) { .winning-margin-grid { grid-template-columns:1fr; } }

/* Projections: centre statistics and retain left-aligned team names. */
.projection-table th, .projection-table td,
.projection-heatmap th, .projection-heatmap td { text-align:center !important; }
.projection-table .team, .projection-table .team-heading,
.projection-heatmap .team, .projection-heatmap .team-heading { text-align:left !important; }

/* Standings: centre column headings and data, keeping team names left aligned. */
:is(#standings-normal, #standings-extended1, #standings-extended2, #standings-extended3) table th,
:is(#standings-normal, #standings-extended1, #standings-extended2, #standings-extended3) table td { text-align:center !important; }
:is(#standings-normal, #standings-extended1, #standings-extended2, #standings-extended3) table .team,
:is(#standings-normal, #standings-extended1, #standings-extended2, #standings-extended3) table th:nth-child(2) { text-align:left !important; }
/* Form: centre column headings and data, keeping team names left aligned. */
.form-table th, .form-table td { text-align:center !important; }
.form-table .team, .form-table .team-heading { text-align:left !important; }

/* Biggest upsets: align desktop and compact mobile tables consistently. */
#upsets table th, #upsets table td { text-align:center !important; }
#upsets table .match-team, #upsets table .team, #upsets table .team-heading,
#upsets table .division-cell, #upsets table .upsets-match-heading,
#upsets .mobile-upsets thead th:nth-child(3),
#upsets .mobile-upsets thead th:nth-child(4),
#upsets .mobile-upsets td[rowspan]:nth-child(3) { text-align:left !important; }
#upsets [data-upsets-stage][hidden] { display:none !important; }
.upsets-filter { display:flex; align-items:center; gap:var(--sp-2); margin-bottom:var(--sp-3); }
.upsets-filter select { padding:var(--sp-2); color:var(--c-text); background:var(--c-surface); border:var(--border-hair); border-radius:var(--radius); }


/* Elo divisions and fixture columns use the requested text alignment. */
.ratings-table td.division-cell, .ratings-table th.division-heading,
.mobile-elo th:nth-child(3), .mobile-elo td:nth-child(3) { text-align:left !important; }
.fixtures-table th, .fixtures-table td { text-align:center !important; }
.fixtures-table .round-cell, .fixtures-table .match-team,
.fixtures-table .team-heading,
.fixtures-table thead tr:first-child th:first-child { text-align:left !important; }
.sports-matchup-history th:nth-child(1), .sports-matchup-history td:nth-child(1),
.sports-matchup-history .team, .sports-matchup-history .team-heading { text-align:left !important; }
.sports-matchup-history th:nth-child(2), .sports-matchup-history td:nth-child(2),
.sports-matchup-history th:nth-child(5), .sports-matchup-history td:nth-child(5) { text-align:center !important; }


/* Black, bronze/gold and white interface; statistical colour tokens stay unchanged. */
:root { --gold-line:var(--c-brand-line); --nav-active-line:var(--c-brand); }
body { scrollbar-color:var(--c-brand) var(--c-surface-2); }
.left-rail, .brand { border-color:var(--c-brand-line); }
.brand .wordmark, .brand h1 { color:var(--c-brand-bright); }
h1, h2, h3, .section-title, .card-title { color:#FFFFFF; }
.site-header, .page-header { border-bottom-color:var(--c-brand-line); }
.nav-group-label { color:var(--c-brand); }
.nav-button.active { border-left-color:var(--c-brand); background:rgba(184,154,94,.13); color:#FFFFFF; }
.nav-button:hover { color:var(--c-brand-bright); }
button, select, input, textarea { --gold:var(--c-brand); }
button.active, button[aria-selected="true"],
.page-subnav-button.active, .form-subnav-button.active,
.dashboard-division-tab.active { border-color:var(--c-brand); background:var(--c-brand); color:#080808; }
.page-subnav-button, .form-subnav-button { border-top-color:var(--c-border); }
.page-subnav-button.active, .form-subnav-button.active { border-top-color:var(--c-brand); }
:focus-visible { outline-color:var(--c-brand-bright); }
.division-title, .form-card-header, .expectation-card-header,
.card-heading, .analytics-card-header, .dashboard-card-header,
.fixtures-tab-panel > .section-title, #ratings > .section-title,
#graph > .section-title, #upsets > .section-title,
.division-card, .form-card, .projection-card, .strength-card,
.dashboard-pulse-card { border-top-color:var(--c-brand); }
.page-subnav, .form-subnav, .dashboard-division-tabs { --gold:var(--c-brand); }
.standings-card summary::after, .chart-data summary,
.sidebar-about a, .dashboard-vsection-head > a { color:var(--c-brand-bright); }
.round-wrap-theme { --nav-active-line:var(--c-brand); --wrap-gold:var(--c-brand); --wrap-gold-bright:var(--c-brand-bright); }


/* Keep quarter counts above their centred percentage at every table width. */
#standings-extended2 .altius-standings-table td:nth-child(n+4):nth-child(-n+7) small {
    display:block;
    text-align:center;
    white-space:nowrap;
}


/* Team Analytics extends the existing native-SVG margins cards and palette. */
#standings-team-analytics [hidden] { display:none !important; }
.analytics-filter { display:flex; align-items:center; gap:var(--sp-2); margin-bottom:var(--sp-4); }
.analytics-section { margin-top:var(--sp-6); }
.analytics-section > h3 { font-size:var(--fs-lg); }
.analytics-card { padding-bottom:var(--sp-3); min-width:0; }
.analytics-card > .note, .analytics-card > .analytics-flag { margin:var(--sp-3); }
.analytics-card .division-title h4, .winning-margin-card .division-title h4 { font-size:var(--fs-base); margin:0; }
.analytics-legend { display:flex; flex-wrap:wrap; gap:var(--sp-3); padding:var(--sp-3); font:600 12px var(--font-body); color:var(--c-text-2); }
.analytics-legend span { display:flex; align-items:center; gap:var(--sp-1); }
.analytics-legend i { display:inline-block; width:12px; height:12px; }
.source-fg { background:var(--c-div-pl); }
.source-pc { background:var(--c-div-v1); }
.source-ps { background:var(--c-div-v2); }
.analytics-source-row, .analytics-source-axis { display:grid; grid-template-columns:minmax(0,35%) minmax(0,65%); align-items:center; gap:0; padding:var(--sp-1) var(--sp-3); font:600 12px var(--font-body); }
.analytics-team { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding-right:var(--sp-2); color:var(--c-text-2); }
.analytics-stack { display:flex; min-width:0; height:28px; background:var(--c-surface-2); }
.analytics-segment { width:var(--share); display:flex; align-items:center; justify-content:center; color:var(--c-bg); font-size:11px; white-space:nowrap; }
.analytics-source-axis > div { display:flex; justify-content:space-between; color:var(--c-text-2); }
.analytics-quarter-grid { display:grid; grid-template-columns:minmax(0,2.4fr) repeat(4,minmax(0,1fr)); gap:var(--sp-1); align-items:center; padding:var(--sp-3); font:600 12px var(--font-body); }
.analytics-quarter-grid > span:not(.analytics-team) { text-align:center; }
.analytics-quarter-cell { padding:var(--sp-2) 0; color:var(--c-text); background:color-mix(in srgb,var(--quarter-hue) var(--intensity),var(--c-surface)); }
.analytics-quarter-cell.above { --quarter-hue:var(--c-pos); }
.analytics-quarter-cell.below { --quarter-hue:var(--c-neg); }
.analytics-quarter-legend { display:flex; align-items:center; gap:var(--sp-2); margin:var(--sp-3); font:600 12px var(--font-body); color:var(--c-text-2); }
.analytics-quarter-legend i { flex:1; height:12px; background:linear-gradient(90deg,color-mix(in srgb,var(--c-neg) 30%,var(--c-surface)),var(--c-surface),color-mix(in srgb,var(--c-pos) 30%,var(--c-surface))); }
.analytics-scatter-point { fill:var(--margin-colour); stroke:var(--c-surface); stroke-width:1; cursor:help; }
.analytics-flag { color:var(--c-neg); font-size:var(--fs-xs); }
.analytics-tooltip { position:fixed; z-index:100; max-width:min(320px,calc(100vw - 24px)); padding:var(--sp-2) var(--sp-3); border:var(--border-hair); border-radius:var(--radius); background:var(--c-surface-2); color:var(--c-text); font:400 12px var(--font-body); pointer-events:none; }
@media(max-width:600px) {
 .analytics-outlier, .analytics-scatter .analytics-label-leader { display:none; }
 .analytics-quarter-grid { padding:var(--sp-2); gap:2px; }
 .analytics-source-row, .analytics-source-axis { padding-inline:var(--sp-2); }
}

.analytics-section .division-title { border-top-color:var(--c-brand); }

/* Bronze accents and spacious, aligned results and dashboard tables. */
.vlhs-dashboard-section a, .vlhs-dashboard-section a:visited { color:var(--c-brand-bright); }
.vlhs-dashboard-section a:hover { color:var(--c-brand); }
.dashboard-rank-fixture-grid { grid-template-columns:minmax(360px, 1fr) minmax(0, 1.65fr); }
.dashboard-ranking-table { width:100%; min-width:0; table-layout:fixed; }
.dashboard-ranking-table th, .dashboard-ranking-table td { min-width:0; padding:8px 6px; }
.dashboard-ranking-table th:first-child, .dashboard-ranking-table td:first-child { width:30px; }
.dashboard-ranking-table th:nth-child(3), .dashboard-ranking-table td:nth-child(3) { width:42px; }
.dashboard-ranking-table th:nth-child(4), .dashboard-ranking-table td:nth-child(4) { width:52px; }
.dashboard-ranking-table th:nth-child(5), .dashboard-ranking-table td:nth-child(5) { width:50px; }
.dashboard-ranking-table .team { display:table-cell; min-width:0; white-space:normal; overflow-wrap:break-word; }
.dashboard-ranking-table .team > i { display:inline-block; margin-right:4px; }
.dashboard-rank-fixture-grid .table-scroll { max-height:none; overflow:visible; }
.fixtures-tab-panel .results-table { width:100%; min-width:0; table-layout:fixed; }
.results-table .result-col-round { width:10%; }
.results-table .result-col-team { width:28%; }
.results-table .result-col-score { width:8%; }
.results-table .result-col-stat { width:13.5%; }
.fixtures-tab-panel .results-table th, .fixtures-tab-panel .results-table td { text-align:center !important; padding:8px 12px; }
.fixtures-tab-panel .results-table .round-cell,
.fixtures-tab-panel .results-table .round-heading,
.fixtures-tab-panel .results-table .match-team,
.fixtures-tab-panel .results-table .team-heading { text-align:left !important; }
#records-season-records .division-cell, #records-season-records .division-heading { text-align:left !important; }
#records-division-strength .division-strength-season.current .division-strength-bar { stroke:var(--c-brand); }
@media (max-width:1100px) { .dashboard-rank-fixture-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:600px) {
    .dashboard-ranking-table th, .dashboard-ranking-table td { padding:6px 4px; }
    .dashboard-ranking-table th:first-child, .dashboard-ranking-table td:first-child { width:26px; }
    .dashboard-ranking-table th:nth-child(3), .dashboard-ranking-table td:nth-child(3) { width:36px; }
    .dashboard-ranking-table th:nth-child(4), .dashboard-ranking-table td:nth-child(4) { width:46px; }
    .dashboard-ranking-table th:nth-child(5), .dashboard-ranking-table td:nth-child(5) { width:52px; }
}

/* Results use the available panel width, with every statistic visible. */
.fixtures-tab-panel[data-fixtures-panel="results"] .table-scroll { max-height:none; overflow:visible; }
.fixtures-tab-panel .results-table th, .fixtures-tab-panel .results-table td {
    display:table-cell !important; min-width:0; white-space:normal; overflow-wrap:anywhere;
}
@media (max-width:600px) {
    .fixtures-tab-panel .results-table th, .fixtures-tab-panel .results-table td {
        padding:6px 3px; font-size:var(--fs-xs);
    }
}

.fixtures-division-panel .fixtures-tab-panel .results-table tbody tr td,
.fixtures-division-panel .fixtures-tab-panel .results-table thead tr th { display:table-cell !important; }
