/* Legible type at every width; keep scores above labels in the hierarchy. */
:root{--readable-muted:#536758}
body{font-size:14px}
.side-button{font-size:14px;line-height:1.5}
.side-heading,.side-button .count,.scoreboard-title .title-count{font-size:12px}
.top-nav,.top-nav a,.language{font-size:13px}
.scoreboard-title h1{font-size:26px}
.sync{font-size:12px;color:var(--readable-muted)}
.search{height:38px}
.search input,.mobile-league-select select{font-size:14px}
.search input::placeholder{color:#617164}
.mobile-league-select select{height:38px}
.date-button{font-size:13px;color:#536758;min-height:45px}
.date-button b{font-size:18px}
.filter-button{font-size:14px;min-height:36px;color:#526456}
.filter-button b{font-size:15px}
.filter-bar .timezone,.clear-filters{font-size:12px}
.segmented button,.toolbar-button,.market-tabs button{font-size:13px;min-height:34px;color:#506448}
.market-tabs button.active{color:#fff}
.mobile-nav button{font-size:13px}
.list-columns,.odds-columns{font-size:13px;color:var(--readable-muted)}
.league-heading .league-name{font-size:14px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.league-heading small{font-size:12px}
.team-line,.odds-teams>span{font-size:16px;line-height:23px}
.match-status,.odds-time{font-size:18px;line-height:22px}
.match-status small,.odds-time small,.row-competition{font-size:12px;line-height:17px;color:var(--readable-muted)}
.score-pair,.match-row.compact .score-pair{font-size:30px}
.odds-teams b{font-size:23px;flex-shrink:0}
.odds-number{font-size:26px}
.odds-number>small{font-size:12px;color:#516847}
.odds-connection>a{font-size:13px}
.odds-connection>span,.odds-connection p,.odds-market-note{font-size:12px;line-height:1.6;color:var(--readable-muted)}
.odds-market-note{padding-top:4px;padding-bottom:7px}
.odds-connection{padding-top:8px;padding-bottom:8px}
.odds-source-note,.odds-detail-missing p,.compact-note{font-size:12px;color:var(--readable-muted)}
.odds-detail-grid>div>span{font-size:13px}
.odds-detail-grid strong{color:#315332}
.board-foot,.board-foot small,.board-foot button,.page-footer{font-size:12px;line-height:1.6;color:var(--readable-muted)}
.board-foot small{white-space:normal}
.board-foot,.page-footer{flex-wrap:wrap}
.empty-state b{font-size:15px}
.empty-state p,.text-button{font-size:13px}
.start-choice,.mini-heading,.manager-team-heading .mini-heading,.alert-options label{font-size:12px;color:#536758}
.follow-chip{font-size:13px;line-height:1.5}
.manager-heading>b{font-size:14px}
.manager-team-heading input{font-size:13px;height:34px}
.change-item b{font-size:14px}
.change-item small{font-size:12px;color:var(--readable-muted)}
.change-item time{font-size:15px}
.detail-team,.detail-team b{min-width:0;overflow-wrap:anywhere}
.detail-team b{font-size:15px}
.detail-kicker,.detail-kicker .detail-date,.detail-competition,.detail-score-center .state,.venue{font-size:12px}
.detail-save,.detail-follow-teams button,.detail-tab,.detail-body .body-heading{font-size:13px}
.detail-follow-teams button{line-height:1.5;min-height:34px}
.detail-tabs{flex-wrap:nowrap}
.detail-tab{flex:0 0 auto;padding:12px 10px}
.stat-values span,.event-text b,.match-facts{font-size:14px}
.event-text small,.event-source-note,.event-source-note button,.detail-source{font-size:12px}
.h2h-teams{font-size:14px}
.standings-table,.standings-table .standing-team,.standings-table td{font-size:14px}
.standings-table th,.standing-foot{font-size:12px}
.standing-header p{font-size:12px}
.standing-header select{font-size:13px}
.standing-header{flex-wrap:wrap}

@media(max-width:760px){
  .mobile-nav{gap:2px;padding:4px 5px}
  .mobile-nav button{font-size:13px;flex:1 1 auto;white-space:nowrap;flex-direction:column;gap:3px;min-height:44px;padding:4px 2px}
  .mobile-nav button svg{width:16px;height:16px}
  .scoreboard-title{flex-wrap:wrap;gap:5px 8px;padding:9px 11px}
  .scoreboard-title h1{font-size:23px}
  .scoreboard-title .title-count,.sync{font-size:12px}
  .scoreboard-title #sync{margin-left:auto}
  .search input,.mobile-league-select select{font-size:13px}
  .mobile-league-select{flex:0 1 135px}
  .date-button{font-size:12px;min-height:43px}
  .date-button b{font-size:17px}
  .filter-bar{gap:3px;flex-wrap:wrap;padding:5px 7px}
  .filter-button{font-size:13px;min-height:35px;padding:5px 6px;gap:4px}
  .filter-button b{font-size:14px}
  .clear-filters{font-size:12px}
  .list-toolbar{flex-wrap:wrap;padding:4px 6px;gap:4px}
  .segmented button{font-size:13px;padding:5px}
  .toolbar-button{font-size:13px;padding:5px 3px}
  .toolbar-button svg{display:none}
  .market-tabs{padding:8px 10px;gap:6px;flex-wrap:wrap}
  .market-tabs button{font-size:13px;padding:6px 9px;min-height:35px}
  .league-heading{flex-wrap:wrap;gap:4px 7px;padding:7px 11px}
  .league-heading .league-name{font-size:14px}
  .league-heading small{font-size:12px}
  .team-line,.odds-teams>span{font-size:14px;line-height:22px}
  .match-open,.match-row.compact .match-open{grid-template-columns:70px minmax(0,1fr) 30px;column-gap:8px}
  .match-status,.odds-time{font-size:18px}
  .match-status small,.odds-time small,.row-competition{font-size:12px;line-height:17px}
  .match-status small{max-width:100%;overflow-wrap:anywhere}
  .score-pair,.match-row.compact .score-pair{font-size:26px;line-height:24px}
  .odds-connection.odds-connection{display:grid;grid-template-columns:auto minmax(0,1fr) 28px;gap:7px}
  .odds-connection>.icon-button{width:28px;margin:0}
  .odds-connection>span{font-size:12px;min-width:0}
  .odds-columns.odds-columns{grid-template-columns:44px minmax(0,1fr);gap:8px;font-size:13px}
  .odds-columns>span{display:none}
  .odds-columns>div{grid-column:2}
  .odds-row.odds-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px 10px}
  .odds-match{gap:8px}
  .odds-time{width:44px}
  .odds-teams{gap:3px}
  .odds-teams>span{gap:6px;overflow-wrap:anywhere}
  .odds-teams b{font-size:22px}
  .odds-values{margin-left:52px}
  .odds-values>button{min-height:35px}
  .odds-values .odds-number{font-size:22px}
  .odds-values .odds-line .odds-number{font-size:20px;line-height:24px}
  .odds-values .odds-number>small{display:inline;font-size:12px;line-height:normal;margin-left:2px}
  .odds-market-note{font-size:12px}
  .board-foot,.board-foot small,.page-footer{font-size:12px}
  .board-foot small{margin-left:0;text-align:left}
  .watch-scope{flex-wrap:wrap;gap:8px}
  .start-choice,.manager-team-heading .mini-heading,.alert-options label{font-size:12px}
  .follow-chip{font-size:13px;gap:6px}
  .manager-team-heading{flex-wrap:wrap}
  .manager-team-heading .mini-heading{max-width:none}
  .manager-team-heading input{font-size:13px;flex:1;min-width:140px}
  .detail-team b{font-size:14px}
  .detail-body .market-tabs{padding-left:0;padding-right:0;gap:5px}
  .detail-body .odds-market-note{padding-left:0;padding-right:0}
  .detail-follow-teams button,.detail-tab{font-size:13px}
  .detail-tab{padding:12px 10px}
  .standings-table .standing-team{font-size:14px}
  .standings-table td{font-size:13px;padding:10px 3px}
  .standings-table th{font-size:12px}
}
@media(max-width:360px){
  .scoreboard-title #sync{flex-basis:100%;margin:0}
  .scoreboard-title .sync{justify-content:flex-end}
  .filter-button{padding-left:5px;padding-right:5px}
  .team-line{font-size:14px;gap:5px}
}
