/* Shared type roles across the tracker and benchmark. */
:root{--type-quiet:#aebdd0}
.brand{font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.035em}
.tab{font-size:15px;font-weight:700;line-height:1.3}
.view h3,#matches #mapWinRates h3{font-size:var(--type-subtitle);font-weight:700;line-height:1.3}
.view .grid .kpi .label,.view .grid .kpi small{font-size:var(--type-label);line-height:1.3;color:var(--type-quiet)}
.view .grid .kpi .label{text-transform:uppercase;letter-spacing:.055em;font-weight:600}
.scenario-choice{font-size:var(--type-body);line-height:1.3}
.scenario-choice b{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.scenario-choice small{color:var(--type-quiet)}
.scenario-stats,.chart-note,.chart-summary{font-size:var(--type-label);line-height:1.4;color:var(--type-quiet)}
.btn,.benchmark-action,.benchmark-difficulties button{font-family:inherit;font-size:var(--type-body);font-weight:650;line-height:1.3}
#scenarioSearch,.calendar-input,.benchmark-tools select{font-family:inherit;font-size:var(--type-body);line-height:1.3}
#matches .map-win-heading{font-size:var(--type-label);line-height:1.3}
#matches .map-win-row small{font-size:var(--type-small);line-height:1.3;color:var(--type-quiet)}
th{font-size:var(--type-label);font-weight:700;line-height:1.3;letter-spacing:0}
.benchmark-table th{font-size:var(--type-small);font-weight:700;line-height:18px;letter-spacing:0}
td,.benchmark-table td{font-size:var(--type-label);line-height:1.3}
.benchmark-table .progress-ranks,.benchmark-table .rank-heading,.benchmark-table .progress-rank{font-size:var(--type-small);font-weight:700;line-height:18px;letter-spacing:0;color:#eef6fb}
.benchmark-table .scenario-name,.benchmark-table .score strong,.benchmark-table .benchmark-runs{font-size:var(--type-label);font-weight:650}
.benchmark-head p{font-size:var(--type-label);line-height:1.4}
.chart-tooltip,.status{font-size:var(--type-label);line-height:1.4}.chart-tooltip strong{font-weight:700}
.footer-quote,.site-footer small{font-size:var(--type-small)}.social-link{font-size:var(--type-label);font-weight:650}
@media(max-width:750px){.benchmark-head h2{font-size:16px}.benchmark-head p{font-size:var(--type-small)}}

/* Site-wide typography roles; loaded last to supersede section variations. */
:root{--type-title:20px;--type-subtitle:16px;--type-body:14px;--type-label:14px;--type-small:12px;--type-number:28px}
body,button,input,select,textarea{font-family:system-ui,"Segoe UI",sans-serif}
body{font-size:16px;line-height:1.5}
.view h2,.benchmark-head h2{font-size:var(--type-title)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.015em}
.view h3,.metric-panel h3{font-size:var(--type-subtitle)!important;font-weight:650!important;line-height:1.3!important}
.kpi .label{font-size:var(--type-label)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:.045em!important}
.kpi strong{font-size:var(--type-number)!important;font-weight:700!important;line-height:1.2!important;font-variant-numeric:tabular-nums}
.kpi small{font-size:var(--type-small)!important;line-height:1.4!important}
.view .btn,.view button:not(.scenario-choice):not(.map-win-row),.view input,.view select,.view textarea,.benchmark-action,.benchmark-difficulties button{font-size:var(--type-body)!important;font-weight:600;line-height:1.3!important}
.view label,.scenario-stats,.chart-summary,.chart-note,.view table,.weapon-label{font-size:var(--type-body)!important;line-height:1.35!important}
.view table th{font-size:var(--type-body)!important;font-weight:600!important}
.view table td,.scenario-choice b{font-size:var(--type-body)!important;font-weight:600!important;line-height:1.3!important}
.scenario-choice small,.map-win-row small,.footer-quote{font-size:var(--type-small)!important;line-height:1.3!important;font-weight:400!important}
.chart-tooltip,.chart-tooltip .tip-row span,.chart-tooltip .tip-row b{font-size:var(--type-body)!important;line-height:1.4!important}
.chart-tooltip>strong{font-size:var(--type-body)!important;font-weight:700!important;line-height:1.4!important}
.chart-tooltip small{font-size:var(--type-small)!important;line-height:1.4!important}
svg.chart text{font-family:inherit;font-size:12px;font-weight:400}
.view table,.scenario-stats,.chart-tooltip{font-variant-numeric:tabular-nums}
header .tab,header .nav-dropdown button{font-size:16px!important;font-weight:600!important;line-height:1.35!important}
.view{font-family:system-ui,"Segoe UI",sans-serif;font-weight:400;letter-spacing:normal}
.view p,.view .muted,.view .empty,.view .status{font-weight:400;line-height:1.5}
.view b,.view strong{font-weight:650}
.player-section-heading h2,.player-setting-heading h3{font-family:inherit}
.player-settings-grid dt,.player-gear-label,.player-identity small{font-size:var(--type-small)!important;font-weight:500!important;line-height:1.4!important}
.player-settings-grid dd,.player-gear strong{font-size:var(--type-body)!important;font-weight:650!important;line-height:1.4!important}
.player-identity h1{font-size:28px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.025em}
header .brand{font-family:inherit;font-weight:700;letter-spacing:-.025em}
