/* Keep phone layouts readable without desktop-sized cards and controls. */
@media (max-width: 850px) {
  #appView > header { padding: 4px 12px 8px; gap: 0; }
  #appView > header .brand { gap: 8px; }
  #appView > header .brand strong { font-size: 14px; }
  #appView > header .brand span { display: none; }
  #appView > header .brand-mark.small { width: 44px; height: 36px; font-size: 12px; border-radius: 8px; }
  #appView > header .profile-shortcut { display: inline-flex; align-items: center; gap: 4px; }
  #appView > header .desktop-settings { display: none; }
  #appView > header .header-right > button { min-height: 44px; padding: 6px 10px; font-size: 12px; }
  #appView > header .history-search { margin: 0; gap: 6px; }
  #appView > header .history-search input { height: 40px; padding: 7px 10px; font-size: 16px; }
  #appView > header .history-search button { min-height: 40px; padding: 6px 10px; font-size: 12px; }
  #appView > .layout > main { padding: 10px 12px calc(66px + env(safe-area-inset-bottom)); scrollbar-gutter: auto; }
  #page-sports > .match-heading { margin: 0 0 10px; gap: 8px; flex-wrap: wrap; }
  #page-sports h2 { font-size: 21px; }
  #liveConnection { font-size: 10px; }
  #sportsList { gap: 10px; }
  #sportsList .centre-priority { gap: 10px; }
  #sportsList .centre-priority > section { padding: 10px; border-radius: 10px; }
  #sportsList .centre-priority h3 { font-size: 15px; line-height: 1.3; margin: 0 0 8px; }
  #sportsList .centre-priority > section:first-child:not(:has(.priority-grid)):not(:has(button)) { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; }
  #sportsList .centre-priority > section:first-child > h3 { margin-bottom: 0; }
  #sportsList .centre-priority > section:first-child > p { margin: 0; font-size: 12px; }
  #sportsList .priority-grid { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  #sportsList .priority-match { padding: 9px 10px; font-size: 13px; border-radius: 9px; box-shadow: none; }
  #sportsList .upcoming-tournament { gap: 10px; align-items: flex-start; }
  #sportsList .priority-sport-icon { font-size: 24px; width: 28px; flex: 0 0 28px; padding-top: 2px; }
  #sportsList .upcoming-tournament > span:last-child { min-width: 0; }
  #sportsList .upcoming-tournament b { font-size: 13px; line-height: 1.35; display: block; overflow-wrap: anywhere; }
  #sportsList .upcoming-tournament small { font-size: 11px; line-height: 1.35; margin-top: 3px; }
  .tournament-navigation { padding: 0 0 6px; margin-bottom: 8px; }
  .tournament-navigation label { font-size: 12px; gap: 6px; }
  .tournament-navigation select { min-height: 40px; max-width: 210px; font-size: 14px; padding: 6px 8px; }
  #tournamentDetails .cricket-banner { padding: 14px; border-radius: 12px; margin-bottom: 10px; }
  #tournamentDetails .cricket-banner .eyebrow { font-size: 10px; }
  #tournamentDetails .cricket-banner h2 { font-size: 21px; line-height: 1.25; margin: 6px 0; overflow-wrap: anywhere; }
  #tournamentDetails .cricket-banner p { font-size: 12px; line-height: 1.4; margin: 0; }
  #tournamentDetails .centre-tabs { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; gap: 6px; padding: 0 0 6px; margin: 8px 0; }
  #tournamentDetails .centre-tabs button { flex: 0 0 auto; white-space: nowrap; min-height: 44px; padding: 8px 12px; font-size: 13px; border-radius: 8px; }
  #tournamentDetails .cricket-content > button { min-height: 44px; font-size: 13px; padding: 8px 12px; }
  #tournamentDetails .match-grid { margin-top: 10px; gap: 10px; }
  #tournamentDetails .match-grid > p { font-size: 13px; margin: 8px 0; }
  .mobile-nav button { min-height: 50px; padding: 5px 2px; font-size: 20px; }
  .mobile-nav span { font-size: 10px; margin-top: 2px; }
}

#appView > header .home-logo { font-size: 12px; font-weight: 800; padding: 0; flex-shrink: 0; cursor: pointer; }
.settings-card { max-width: 420px; margin-top: 12px; padding: 14px; }

@media(max-width:850px){.external-scorer #appView > header .desktop-settings{display:inline-block}}

.registration-detail{max-width:680px;padding:16px;margin-top:8px;box-shadow:none}
.registration-detail h2{font-size:20px;margin:0 0 6px}
.registration-detail h3{font-size:15px;margin:16px 0 6px}
.registration-detail .danger{margin-top:16px}
@media(max-width:850px){
 #tournamentDetails .cricket-banner{padding:10px 12px;margin-top:4px;margin-bottom:6px}
 #tournamentDetails .cricket-banner h2{font-size:18px;margin:4px 0}
 #tournamentDetails .centre-tabs{gap:3px;margin:4px 0;padding-bottom:4px}
 #tournamentDetails .centre-tabs button{font-size:12px;min-height:38px;padding:6px 9px;border-radius:6px}
 #tournamentDetails .cricket-content{margin-top:6px}
 .registration-detail{padding:12px}
 .registration-detail .role-row{gap:6px}
 .registration-detail .role{font-size:13px;min-height:40px;padding:8px 10px}
 .registration-detail .day-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .registration-detail .day-row strong{grid-column:1/-1;font-size:13px}
 .registration-detail .avail{font-size:12px;min-height:40px;padding:6px 4px}
}
/* Past-edition preview uses the same compact rhythm as tournament screens. */
#resultsPreview .preview-tabs{gap:4px}
#resultsPreview .preview-tabs button{font-size:12px;padding:7px 9px}
#resultsPreview .preview-score{padding:9px 10px;margin:7px 0;border-radius:8px}
#resultsPreview .preview-score h4{font-size:14px;margin:0 0 5px}
#resultsPreview .preview-score p{font-size:12px;line-height:1.35;margin:4px 0}
#resultsPreview .preview-score p:empty{display:none}
#resultsPreview .preview-score .score-line{font-size:13px;line-height:1.4}
#resultsPreview .preview-placing{padding:7px 0;gap:2px}
#resultsPreview .preview-placing .result-player-link{padding:4px 0;font-size:13px;text-align:left}
#resultsPreview .preview-placing small{font-size:11px;font-weight:400}
@media(max-width:850px){
 #resultsPreview{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:12px;border-radius:12px}
 #resultsPreview > .match-heading{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:start}
 #resultsPreview h2{font-size:18px;line-height:1.25}
 #resultsPreview > .match-heading > button{width:36px;height:36px;padding:6px;font-size:18px;border-radius:8px}
 #resultsPreview > .tiny{font-size:11px;line-height:1.4;margin:6px 0}
 #resultsPreview h3{font-size:15px;line-height:1.3;margin:12px 0 6px}
 #resultsPreview .preview-tabs{top:-12px;padding:6px 0;flex-wrap:nowrap;overflow-x:auto}
 #resultsPreview .preview-tabs button{min-height:38px;flex:0 0 auto;font-size:12px;padding:6px 9px;border-radius:6px;white-space:nowrap}
 #resultsPreview .preview-actions{bottom:-12px;padding:8px 0;gap:6px;flex-wrap:nowrap}
 #resultsPreview .preview-actions button{font-size:12px;min-height:40px;padding:8px 10px;border-radius:8px}
 #resultsPreview .preview-placing{font-size:12px}
}
#sportsList>.centre-filter-heading{display:flex!important;justify-content:flex-start;gap:10px;flex-wrap:wrap}
#sportsList>.centre-filter-heading>strong{display:none}
.sport-multi{position:relative;font-size:13px}
.sport-multi summary{cursor:pointer;padding:9px 12px;background:white;border:1px solid var(--line);border-radius:8px}
.sport-multi-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;background:white;border:1px solid var(--line);border-radius:8px;margin-top:4px}
.sport-multi-options label{display:flex;align-items:center;gap:7px;margin:0;min-height:36px;font-size:13px;padding:4px}
.sport-multi-options input{width:18px;height:18px;margin:0;flex-shrink:0}
.sport-multi-options button{font-size:12px;min-height:36px;padding:6px}
@media(max-width:850px){
 #page-profile .page-title{margin:0 0 6px}
 #page-profile .page-title>.eyebrow,#page-profile .page-title .eyebrow{display:none}
 #page-profile .page-title h2{font-size:20px;margin:0}
 #page-profile .profile-panel-tabs{margin:4px 0 8px;padding:2px 0;gap:3px}
 #page-profile .profile-panel-tabs button{font-size:11px;padding:6px 8px;min-height:36px}
 #page-profile h3,#page-profile #page-enroll>h2,#page-profile #page-availability h2{font-size:15px;margin:8px 0}
 #page-profile .my-profile-badges .profile-sport-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
 #page-profile .profile-sport-badge{padding:6px!important;border-radius:8px;gap:6px!important;min-width:0;max-width:none;align-items:flex-start}
 #page-profile .profile-sport-symbol{width:24px!important;height:24px!important;min-width:24px!important;font-size:20px!important}
 #page-profile .profile-sport-symbol svg{width:24px;height:24px}
 #page-profile .profile-sport-badge strong{font-size:12px!important;line-height:1.25}
 #page-profile .profile-sport-badge div>span{font-size:11px!important;line-height:1.25}
 #page-profile .performance-badges small{font-size:9px;padding:1px 3px}
 #page-profile .my-honour-groups{gap:8px;margin:8px 0}
 #page-profile .my-honour-groups h4{font-size:12px;margin:0 0 4px}
 #page-profile .my-honour-row{gap:4px}
 #page-profile .my-honour-badge{min-height:34px;padding:5px 7px;font-size:11px;gap:5px}
 #page-profile .my-honour-badge>span:first-child{font-size:18px}
 #page-profile .my-honour-badge strong{font-size:14px}
 #page-profile #registrationList,#page-profile #availabilityList{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
 #page-profile #registrationList>.card,#page-profile #availabilityList>.card{padding:9px;margin:0;border-radius:8px;box-shadow:none}
 #page-profile .tournament{grid-template-columns:28px minmax(0,1fr);gap:5px}
 #page-profile .tournament h3{font-size:13px!important;margin:0!important;line-height:1.25}
 #page-profile .sport-icon{width:28px;height:28px;font-size:20px;border-radius:6px}
 #page-profile #registrationList .pill{font-size:9px;padding:2px 5px}
 #page-profile #registrationList p{margin:4px 0;font-size:11px}
 #page-profile #registrationList button{font-size:11px;padding:5px 7px;min-height:34px}
 #page-profile #registrationList>.card>button{margin-top:5px!important}
 #page-profile #registrationList .role-row{gap:3px;margin-top:4px}
 #page-profile #page-availability .page-title p{font-size:11px;line-height:1.3;margin:4px 0 7px}
 #page-profile .availability-grid{gap:5px;margin-top:6px}
 #page-profile .day-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
 #page-profile .day-row strong{grid-column:1/-1;font-size:11px;margin-top:3px}
 #page-profile .avail{font-size:11px;min-height:34px;padding:5px 3px}
 #page-profile .player-profile-header{padding:8px;gap:6px;margin:6px 0;align-items:flex-start}
 #page-profile .player-profile-header h2{font-size:16px}
 #page-profile .player-portrait{width:30px;height:30px;flex-basis:30px;font-size:13px}
 #page-profile .player-profile-header .profile-sport-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 #page-profile .profile-honours{padding:8px;margin:6px 0}
 #page-profile .profile-honours .honour-count{padding:4px 6px;gap:4px}
 #page-profile .profile-honours .honours-list{gap:4px}
 #page-profile .profile-honours .honours-list article{padding:5px;font-size:11px}
 #sportsList .sub-tabs{flex-wrap:nowrap;overflow-x:auto;gap:3px;padding-bottom:5px}
 #sportsList .sub-tabs button{font-size:11px;padding:6px 8px;min-height:34px;flex-shrink:0}
}
.hub-tabs,.hub-sports,.hub-days{display:flex;gap:5px;overflow-x:auto;margin:8px 0;padding-bottom:5px}
.hub-tabs button,.hub-sports button,.hub-days button{flex-shrink:0;background:white;color:var(--blue);font-size:12px;padding:8px 11px;min-height:38px;border:1px solid var(--line);border-radius:7px}
.hub-tabs button{flex:1;font-weight:700;border:0;border-bottom:2px solid transparent;border-radius:0}
.hub-tabs button.selected{border-bottom-color:var(--blue)}
.hub-sports .selected,.hub-days .selected{background:#dceeff;border-color:#75b1dd}
.hub-days small{display:block;font-size:10px;margin-top:3px}
.hub-results article,.hub-video{background:white;padding:10px 12px;border-bottom:1px solid var(--line)}
.hub-results h3,.hub-video h3{font-size:14px;margin:5px 0}
.hub-results p{font-size:12px;margin:5px 0}
.hub-results p:empty{display:none}
.hub-results .score-line{font-size:13px}
.hub-results .link,.hub-video button{font-size:12px;padding:6px 0;min-height:34px}
.hub-video button{padding:7px 12px}
.settings-tools{display:flex;gap:8px;flex-wrap:wrap}
#appView > header .profile-shortcut{width:40px;height:40px;min-height:40px;padding:0!important;border-radius:50%;overflow:hidden;display:grid!important;place-items:center}
#appView > header .profile-shortcut:after{content:none}
#headerAvatar{width:100%;height:100%;display:grid;place-items:center;font-size:13px;font-weight:700}
#headerAvatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
@media(max-width:850px){
 #appView > header{padding-top:7px;padding-bottom:9px;row-gap:9px}
 #appView > header .history-search{padding-top:6px;border-top:1px solid #ffffff20}
 #appView > header .history-search input{height:36px;font-size:16px;padding:6px 10px}
 #appView > header .history-search button{min-height:36px;font-size:11px;padding:6px 9px}
 .mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr));background:white;border-top:1px solid var(--line)}
 .mobile-nav button{color:#5e6c7b;font-size:24px;background:white}
 .mobile-nav button.selected{color:var(--blue);background:#edf5fc}
 #matchHub h2,#page-videos h2{font-size:20px;margin:0 0 8px}
}
/* A shared photo-first identity for personal and public player profiles. */
.profile-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;margin:8px 0 12px;text-align:center}
#page-profile .profile-identity .player-portrait,.profile-identity .player-portrait{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;font-size:22px}
#page-profile .profile-identity h2,.profile-identity h2{font-size:18px;line-height:1.3;margin:0;overflow-wrap:anywhere}
#page-profile .centered-player-profile,.centered-player-profile{display:flex;flex-direction:column;align-items:stretch;padding:10px;gap:0}
.centered-player-profile .profile-sports-section{width:100%;min-width:0}
.centered-player-profile .profile-sports-section>h3{font-size:15px;margin:0 0 6px}
.centered-player-profile .profile-sport-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}
@media(max-width:850px){
 .profile-identity{margin:5px 0 9px;gap:4px}
 #page-profile .profile-identity .player-portrait,.profile-identity .player-portrait{width:56px;height:56px;flex-basis:56px;font-size:20px}
 #page-profile .profile-identity h2,.profile-identity h2{font-size:16px}
}
#playerPopup{width:min(560px,calc(100% - 20px));max-height:calc(100dvh - 24px);padding:12px;border-radius:14px}
#playerPopup .popup-close{display:block;margin-left:auto;padding:6px;width:36px;height:36px;font-size:17px}
#playerPopup .profile-identity{margin:0 0 9px}
#playerPopup .profile-sport-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:6px 0}
#playerPopup .profile-sport-badge{padding:6px;gap:6px;min-width:0;border-radius:8px}
#playerPopup .profile-sport-symbol{width:26px;height:26px;min-width:26px;font-size:20px}
#playerPopup .profile-sport-symbol svg{width:26px;height:26px}
#playerPopup .profile-sport-badge strong{font-size:12px}
#playerPopup .profile-sport-badge div>span{font-size:11px}
#playerPopup .performance-badges small{font-size:9px}
#playerPopup .popup-sport{border-top:1px solid var(--line);margin-top:10px;padding-top:4px}
#playerPopup h3{font-size:14px;margin:7px 0}
#playerPopup .tiny,#playerPopup .popup-medal{font-size:11px;line-height:1.4;margin:6px 0}
.popup-best{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.popup-best>div{padding:8px;background:#edf5fc;border-radius:8px}
.popup-best strong{display:block;font-size:22px;color:var(--blue)}
.popup-best span{font-size:11px}
#popupFullProfile{font-size:12px;margin-top:10px;min-height:38px}
/* Denser tournament browsing without shrinking the whole application. */
#sportsList>.centre-overview{padding:9px;margin:0;border-radius:9px;box-shadow:none}
#sportsList>.centre-overview>.match-heading{margin:0 0 4px}
#sportsList>.centre-overview h3{font-size:15px;line-height:1.3}
#sportsList>.centre-overview .edition-row{min-height:44px;margin:3px 0;padding:7px 8px;gap:6px;font-size:12px;border-radius:6px}
#sportsList>.centre-overview .edition-row small{margin-top:2px;font-size:10px;line-height:1.3}
#sportsList>.centre-overview .pill{padding:3px 5px;font-size:10px}
#sportsList>.centre-overview .older-editions{margin-top:4px;padding-top:2px}
#sportsList>.centre-overview .older-editions>summary{padding:7px 0;font-size:11px;line-height:1.3}
@media(max-width:850px){
 #sportsList{gap:7px}
 #sportsList>.centre-overview{padding:8px}
 #sportsList>.centre-overview h3{font-size:14px}
 #sportsList .competition-heading{gap:6px}
 #sportsList .competition-heading h3{font-size:15px;margin:2px 0}
 #sportsList .competition-heading button{min-height:36px;font-size:11px;padding:6px 8px}
 #sportsList .edition-filters{gap:6px;font-size:11px}
 #sportsList .edition-filters label{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
 #sportsList .edition-filters select{width:100%;font-size:12px;min-height:34px;padding:5px 7px}
}
#registrationPopup{width:min(640px,calc(100% - 20px));max-height:calc(100dvh - 24px);padding:12px;border-radius:14px}
#registrationPopup .registration-close{display:block;margin-left:auto;width:36px;height:36px;padding:6px;border-radius:8px;font-size:18px}
#registrationPopup .registration-detail{border:0;padding:0;margin:6px 0;max-width:none;border-radius:0}
#registrationPopup .registration-detail h2{font-size:18px;line-height:1.3}
#registrationPopup #tournamentRegistration>.link{font-size:12px;padding:5px 0}
.registration-popup-actions{position:sticky;bottom:-12px;background:white;padding:8px 0;border-top:1px solid var(--line);margin-top:10px}
.registration-popup-actions button{font-size:12px;min-height:38px;padding:7px 14px}
#registrationPopup .registration-detail .tiny{font-size:12px}
.hub-placing{display:flex;flex-direction:column;gap:2px;padding:5px 0;border-bottom:1px solid var(--line);font-size:12px}
.hub-placing>span{font-size:11px;color:var(--muted)}
.hub-tournament-result h3{font-size:14px}
.login-app-logo{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto 12px;border-radius:18px}
#appView > header .home-logo{width:44px;height:44px;border-radius:9px;overflow:hidden;background:white}
#appView > header .home-logo img{display:block;width:100%;height:100%;object-fit:contain}
/* Full tournament pages share the restrained styling of result previews. */
#page-tournament #tournamentDetails{background:white;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:13px}
#page-tournament #tournamentDetails .cricket-banner,#page-tournament #tournamentDetails>.hero{background:white;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:0 0 9px;margin:0 0 6px}
#page-tournament #tournamentDetails .cricket-banner h2,#page-tournament #tournamentDetails>.hero h2{font-size:18px;line-height:1.3;margin:3px 0 5px}
#page-tournament #tournamentDetails .cricket-banner p,#page-tournament #tournamentDetails>.hero p{font-size:12px;color:var(--muted);opacity:1;line-height:1.4}
#page-tournament #tournamentDetails .eyebrow{font-size:10px;letter-spacing:.06em;color:var(--muted)}
#page-tournament #tournamentDetails .centre-tabs{gap:4px;padding:4px 0 6px;margin:0 0 5px;flex-wrap:nowrap;overflow-x:auto}
#page-tournament #tournamentDetails .centre-tabs button{font-size:12px;padding:6px 9px;min-height:36px;flex-shrink:0;border-radius:6px}
#page-tournament #tournamentDetails .cricket-content{margin-top:5px}
#page-tournament #tournamentDetails .cricket-content>button{font-size:12px;padding:6px 10px;min-height:36px}
#page-tournament #tournamentDetails h3{font-size:15px;margin:10px 0 6px}
#page-tournament #tournamentDetails .card{padding:10px;border-radius:8px;box-shadow:none}
#page-tournament #tournamentDetails .grid3{gap:6px;margin:9px 0}
#page-tournament #tournamentDetails .stat .num{font-size:20px}
#page-tournament #tournamentDetails .empty{padding:12px;font-size:12px;border-radius:8px}
#page-tournament #tournamentNavigation{gap:5px;padding:0 0 7px;margin:0 0 8px;align-items:center}
#page-tournament #tournamentNavigation button{font-size:11px;min-height:34px;padding:5px 8px}
#page-tournament #tournamentNavigation label{font-size:11px;gap:5px}
#page-tournament #tournamentNavigation select{font-size:12px;min-height:34px;padding:5px 7px;max-width:180px}
@media(max-width:850px){
 #page-tournament #tournamentDetails{padding:10px}
 #page-tournament #tournamentDetails .cricket-banner h2,#page-tournament #tournamentDetails>.hero h2{font-size:17px}
 #page-tournament #tournamentDetails .cricket-banner p{font-size:11px}
 #page-tournament #tournamentDetails .centre-tabs button{font-size:11px;padding:6px 8px}
 #page-tournament #tournamentNavigation{display:grid;grid-template-columns:auto auto minmax(0,1fr)}
 #page-tournament #tournamentNavigation label{font-size:0;min-width:0;gap:0}
 #page-tournament #tournamentNavigation select{width:100%;max-width:none;font-size:11px}
}
/* Four compact race columns; age category belongs with the runner. */
.marathon-results .marathon-table{width:100%;table-layout:fixed;white-space:normal;font-size:12px}
.marathon-table .marathon-position{width:28px}
.marathon-table .marathon-bib{width:48px}
.marathon-table .marathon-time{width:74px}
.marathon-results .marathon-table th,.marathon-results .marathon-table td{padding:5px 4px;vertical-align:middle;line-height:1.25}
.marathon-results .marathon-table th:nth-child(3),.marathon-results .marathon-table td:nth-child(3),.marathon-results .marathon-table th:last-child,.marathon-results .marathon-table td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
#resultsPreview .marathon-table .link,#tournamentDetails .marathon-table .link,.marathon-results .marathon-table .link{font-size:12px;padding:3px 0;line-height:1.25;min-height:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.marathon-table .runner-age{display:block;font-size:10px;font-weight:400;color:var(--muted);line-height:1.2;margin-top:1px}
.marathon-results>p.tiny{font-size:11px;line-height:1.35;margin:7px 0}
@media(max-width:600px){
 .marathon-results .marathon-table{font-size:11px}
 .marathon-table .marathon-position{width:22px}
 .marathon-table .marathon-bib{width:38px}
 .marathon-table .marathon-time{width:64px}
 #resultsPreview .marathon-table .link,#tournamentDetails .marathon-table .link{font-size:11px}
 .marathon-results .preview-tabs{gap:3px}
 #resultsPreview .marathon-results .preview-tabs button{font-size:11px;padding:6px 7px}
}

/* Compact auction controls and read-only projection. */
#page-auction .card{padding:14px;border-radius:12px;box-shadow:none;margin-bottom:10px}
#page-auction h2{font-size:22px;margin:8px 0}#page-auction h3{font-size:17px;margin:6px 0}
#page-auction p{margin:6px 0}#page-auction .team-card ul{padding-left:18px;font-size:13px}
#page-auction .grid2,#page-auction .grid3{gap:10px}#page-auction button{padding:8px 12px;font-size:13px}
#auctionHelp{font-size:13px}#auctionHelp li{margin:6px 0}#auctionHelp summary,#auctionCorrections summary{cursor:pointer;padding:8px 0}
#page-auction .player-row{padding:10px 0;gap:8px}#page-auction .auction-toolbar{gap:8px;margin-bottom:12px}
#page-auction .auction-toolbar select{max-width:100%;min-width:0;width:100%}
.projector #auctionHelp,.projector #auctionCorrections,.projector #auctionTeams button,.projector #auctionLive button,.projector #auctionOrder button{display:none!important}
@media(max-width:600px){#page-auction .auction-price{font-size:30px}#page-auction .auction-toolbar label{width:100%;font-size:12px}#page-auction .page-title h1{font-size:23px}#page-auction .team-card strong{font-size:17px}}
.auction-board{margin:12px 0;padding:10px;background:white;border:1px solid var(--line);border-radius:10px;min-width:0}
.auction-board h3{font-size:16px;margin:0 0 6px}.auction-board-scroll{overflow:auto;max-height:65vh}.auction-board table{border-collapse:separate;border-spacing:0;font-size:12px;width:max-content;min-width:100%}.auction-board th,.auction-board td{padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;width:155px;min-width:155px;max-width:155px;overflow-wrap:anywhere}.auction-board small,.auction-board td b,.auction-board th strong{display:block;margin-top:4px}.auction-board small{font-size:11px;font-weight:400}.auction-board th strong{color:var(--blue)}.auction-board thead th{position:sticky;top:0;background:#f4f7fb;z-index:2}.auction-board tr>:first-child{position:sticky;left:0;width:30px;min-width:30px;background:#f4f7fb;z-index:1}.auction-board thead tr>:first-child{z-index:3}

#homeAuctionBanner:empty{display:none}.auction-home-cta{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:#e8f5ed;border:1px solid #97cdb0;border-radius:12px;padding:10px 12px;color:#154f38;margin:0 0 10px;cursor:pointer}.auction-home-cta strong{font-size:14px;line-height:1.4;font-weight:650}.auction-home-cta span{font-size:13px;line-height:1.4}.auction-home-cta b{font-size:12px;line-height:1.4}.auction-home-cta .live-dot{display:inline-block}.auction-board tr>:first-child{white-space:nowrap;overflow-wrap:normal}
#page-settings{max-width:740px}#page-settings h2{font-size:23px;margin:8px 0 14px}.settings-group{background:white;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0}.settings-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:2px 0 5px}.settings-row{display:block;width:100%;text-align:left;border:0;border-top:1px solid var(--line);border-radius:0;background:white;padding:10px 2px;color:var(--blue);font-size:14px;cursor:pointer}.settings-row span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.settings-logout{color:#a13232}.settings-dialog{width:min(850px,94vw);max-height:88dvh;border:1px solid var(--line);border-radius:14px;padding:14px;overflow:auto}.settings-dialog::backdrop{background:#102b4380}.settings-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.settings-dialog h2{font-size:19px;margin:0}.settings-dialog h3{font-size:16px}.settings-dialog-body{font-size:13px}.settings-dialog select{width:100%;padding:8px;margin:6px 0}.settings-team{border:1px solid var(--line);border-radius:9px;padding:10px;margin:8px 0}.settings-team summary{cursor:pointer;font-weight:600}.settings-team small{display:block;font-weight:400;font-size:11px;margin-top:3px}.snapshot-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.snapshot-counts span{background:#f4f7fb;padding:8px;font-size:11px}.snapshot-counts b{display:block;font-size:18px}.report-downloads{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.settings-dialog button{font-size:12px;padding:8px 10px}#auctionCorrectionDialog{max-width:430px}#auctionCorrectionDialog textarea{box-sizing:border-box}#auctionCorrectionError{color:#a13232}
#page-auction #auctionHelp{padding:9px 12px}#page-auction .team-card{padding:10px}#page-auction .team-card p{font-size:12px;margin:4px 0}#page-auction .team-card h3{font-size:15px}#page-auction .team-card li{padding:2px 0}#page-auction .team-card .link{font-size:11px;padding:3px 5px}#page-auction .player-row .pill{font-size:11px;padding:3px 5px}#page-auction .auction-stage{margin:8px 0}#page-auction #auctionCorrections{padding:8px 12px}
.auction-compact-details summary{font-size:12px;cursor:pointer;padding:5px 0;color:var(--blue)}.auction-compact-details ol{font-size:12px;margin:4px 0}.auction-compact-details .role-row{margin:4px 0}
.committee-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.committee-checks label{display:flex;align-items:center;gap:6px;font-size:12px}.committee-checks input{width:auto}.settings-dialog input:not([type=checkbox]){width:100%;padding:8px;margin:4px 0}.settings-dialog label{display:block;margin:6px 0}.settings-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:#f4f7fb;padding:8px}.settings-dialog .audit-event small{display:block;font-size:11px}.committee-checks label{display:flex}#committeeMessage{position:sticky;bottom:0;background:white;padding:8px;font-size:12px}
/* Compact sport and squad browsers */
.compact-tabs{display:flex;gap:4px;overflow-x:auto;max-width:100%;border-bottom:1px solid #dce4ea;padding-bottom:4px;margin-bottom:8px}
.compact-tabs button{flex:0 0 auto;white-space:nowrap;padding:9px 12px;font-size:13px;min-height:40px;border:0;border-radius:7px;background:#eff5fa;color:#174a6b}
.compact-tabs button.selected{background:#104f7e;color:white;font-weight:600}
.sport-tab-group{background:white;border:1px solid #dce4ea;border-radius:12px;padding:12px;margin:12px 0;min-width:0}
.sport-tab-group>h3{font-size:16px;margin:0 0 9px}
.sport-tab-group .sport-section{margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.sport-tab-group .sport-section>.match-heading{display:none}
.sport-tab-group [hidden],.team-browser [hidden]{display:none!important}
.compact-roster{list-style:decimal;margin:0;padding-left:28px;font-size:14px}
.compact-roster li{padding:7px 4px;border-bottom:1px solid #e6ebef;line-height:1.4}
.compact-roster li::marker{color:#71808c;font-size:12px}
.compact-roster button.link{display:inline;padding:0;min-height:0;margin:0;font-size:14px;text-align:left;line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.compact-roster small{margin-left:8px;color:#71808c}
.team-browser>section>.tiny{margin:7px 0;font-size:12px}
/* Tab panels have no separate sport-heading column. */
#sportsList .sport-tab-group .sport-section{display:block;grid-template-columns:none;gap:0;width:100%;min-width:0}
#sportsList .sport-tab-group .centre-edition{margin:0;padding:0;border:0}
#sportsList .sport-tab-group .edition-row{min-height:44px;margin:4px 0;padding:7px 8px;gap:6px;font-size:12px;line-height:1.35}
#sportsList .sport-tab-group .edition-row small{margin-top:2px;font-size:10px;line-height:1.3}
#sportsList .sport-tab-group .edition-row .pill{padding:3px 5px;font-size:10px}
#sportsList .sport-tab-group .older-editions{margin-top:5px;padding-top:3px}
#sportsList .sport-tab-group .older-editions>summary{padding:7px 0;font-size:11px;line-height:1.3}
#sportsList .sport-tab-group{padding:9px;margin:8px 0}
#sportsList .sport-tab-group>h3{margin-bottom:6px;font-size:15px}
#sportsList .sport-tab-group .compact-tabs{margin-bottom:4px;padding-bottom:3px}
#sportsList .sport-tab-group .compact-tabs button{padding:7px 10px;min-height:36px;font-size:12px}
#sportsList .sport-group-browser{min-width:0;width:100%}
.video-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;margin:12px 0}
.video-tile{border:1px solid #dce4ea;border-radius:10px;overflow:hidden;background:white;padding:10px;min-width:0}
.video-tile-play{display:block;width:100%;padding:0;background:transparent;border:0;text-align:left;color:inherit;white-space:normal}
.video-tile img,.video-placeholder{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:#eaf2f8}
.video-placeholder{text-align:center;font-size:48px;padding:20px;box-sizing:border-box}
.video-tile h3{font-size:15px;margin:8px 0}.video-tile p{margin:6px 0}.video-tile .tiny{display:block;margin-top:6px}
.library-player{width:100%;aspect-ratio:16/9;border:0;background:#000}
.video-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.video-time-fields input{min-width:0;width:100%}
#videoForm label{display:block;margin:10px 0}#videoForm input:not([type=checkbox]),#videoForm select{width:100%;box-sizing:border-box}
.activity-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.activity-stats>div{padding:10px;background:#eff5fa;border-radius:8px}.activity-stats b{display:block;font-size:22px}.activity-stats small{font-size:12px}

#videoForm .highlight-edit-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(180px,2fr) auto;align-items:end;gap:8px;padding:8px;margin:6px 0;border:1px solid #dce4ea;border-radius:8px;background:#f6f9fc}
#videoForm .highlight-edit-row label{margin:0;font-size:12px}#videoForm .highlight-edit-row input{padding:8px;font-size:13px}
#videoForm .highlight-edit-row button{padding:8px;font-size:12px}
@media(max-width:600px){#videoForm .highlight-edit-row{grid-template-columns:minmax(0,1fr)}#videoForm .highlight-edit-row button{justify-self:start}}
.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.news-grid,.news-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:12px 0}
.news-card{background:white;border:1px solid #dce4ea;border-radius:10px;padding:12px}.news-open{display:block;width:100%;text-align:left;white-space:normal;background:transparent;border:0;padding:8px 0;color:inherit}.news-open h3{font-size:16px;margin:7px 0}.news-open p{font-weight:400;font-size:13px}.news-open b,.news-open small{display:block}.news-open small,.news-video small{font-size:11px;color:#64788b}
.news-video{text-align:left;padding:8px;background:white;border:1px solid #dce4ea;border-radius:8px;min-width:0;white-space:normal}.news-video img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px}.news-video b,.news-video small{display:block;margin:5px 0;font-size:12px}.news-story{white-space:pre-wrap;line-height:1.6}
#newsForm label{display:block;margin:10px 0}#newsForm input:not([type=checkbox]),#newsForm textarea,#newsForm select{width:100%;box-sizing:border-box}
@media(min-width:1000px){#sportsList .centre-priority{grid-template-columns:minmax(260px,1fr) minmax(0,2fr);align-items:start}#sportsList .centre-priority>#homeAuctionBanner{grid-column:1;grid-row:1}#sportsList .centre-priority>section:nth-child(2){grid-column:2;grid-row:1}#sportsList .centre-priority>section:nth-child(3){grid-column:1;grid-row:2}#sportsList .centre-priority>.home-news{grid-column:2;grid-row:2;max-height:650px;overflow:auto}}
/* Compact editorial cards: thumbnails stay small even with just one video. */
.news-video-grid,.news-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:8px;margin:8px 0;align-items:start}
.news-video{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:4px;align-content:start;padding:10px;max-width:440px;width:100%;box-sizing:border-box}
.news-video img,.news-video>span{grid-column:1;grid-row:1 / 3;display:block;width:112px;height:72px;aspect-ratio:auto;object-fit:cover;border-radius:5px;margin:0}
.news-video>span{background:#eaf2f8;text-align:center;line-height:72px;font-size:24px}
.news-video b{grid-column:2;grid-row:1;font-size:13px;line-height:1.35;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.news-video small{grid-column:2;grid-row:2;font-size:11px;line-height:1.35;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.home-news-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:8px;margin:8px 0}
.home-news-items .news-open{background:#fff;border:1px solid #dce4ea;border-radius:8px;padding:10px;max-width:440px;box-sizing:border-box}
.home-news-items .news-open b{font-size:14px;line-height:1.35;margin-top:4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.news-card{padding:10px;max-width:440px;box-sizing:border-box}.news-card .news-open{padding:0}.news-card .news-open h3{font-size:14px;line-height:1.35;margin:5px 0}.news-card .news-open p{margin:5px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.news-card>.link{font-size:12px;padding:6px 0}
#sportsList .home-news>.match-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}#sportsList .home-news>.match-heading h3{margin:0}#sportsList .home-news>.match-heading button{font-size:13px;padding:6px;flex-shrink:0}
@media(max-width:600px){.news-video{grid-template-columns:96px minmax(0,1fr);padding:8px;gap:6px 8px}.news-video img,.news-video>span{width:96px;height:64px}.news-video>span{line-height:64px}.news-video b{font-size:12px}.news-video small{font-size:10px}}

/* News is readable in place, including paragraphs and long announcements. */
.news-card>small{font-size:11px;color:#64788b}.news-card>h3{font-size:14px;line-height:1.4;margin:6px 0;overflow-wrap:anywhere}
.news-inline-body{font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:400;color:#253d50}
#sportsList .centre-priority>.home-news{max-height:none;overflow:visible}

/* Equal-height news previews with an explicit full-article action. */
.news-card{height:auto;display:flex;flex-direction:column;align-items:stretch;overflow:hidden}
.news-card>small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.news-card>h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0;max-height:2.8em}
.news-card>.news-inline-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal;max-height:4.5em;flex-shrink:0}
.news-card>.news-read-more{margin-top:6px;align-self:flex-start;min-height:32px;padding:6px 0;font-size:13px}
.news-card>.link:not(.news-read-more){align-self:flex-start;min-height:28px;padding:4px 0}

#dummyBanner:empty{display:none}#dummyBanner{padding:12px;background:#fff3cf;border:1px solid #b58719;border-radius:8px;margin:10px 0}#dummyBanner span{display:block;font-size:13px}#dummyBanner button,#dummyPersistent button{padding:6px 10px;margin:4px;font-size:12px}#dummyPersistent{position:fixed;bottom:0;left:0;right:0;z-index:999;background:#fff3cf;color:#563b00;text-align:center;padding:4px;font-size:13px}.in-drill{padding-bottom:48px}#drillStart label{display:block;margin:10px 0}#drillStart input,#drillStart select{width:100%;box-sizing:border-box}.drill-match{border-top:1px solid #dce4ea;padding:10px 0}@media(max-width:800px){#dummyPersistent{bottom:60px;font-size:11px}.in-drill{padding-bottom:96px}}
#sportsList .centre-priority.compact-match-centre{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
#sportsList .centre-priority.compact-match-centre>*{grid-column:1;grid-row:auto;min-width:0}
#sportsList .compact-match-centre>section{padding:10px}
.match-strip-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.match-strip-heading h3{font-size:16px;margin:0}.match-strip-heading button{min-width:32px;min-height:32px;padding:2px 8px;font-size:22px}
.match-strip-cards{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:5px;align-items:stretch;max-width:100%}
.small-match-card{flex:0 0 270px;min-width:0;box-sizing:border-box;padding:10px;background:white;border:1px solid #dce4ea;border-radius:9px;scroll-snap-align:start;display:flex;flex-direction:column;gap:5px;text-align:left}
.small-match-card h4{font-size:14px;line-height:1.35;margin:0}.small-match-meta{font-size:11px;line-height:1.3;color:#64788b;margin:0}.small-match-status{font-size:11px;color:#126d55;display:flex;justify-content:space-between}.simulation-tag{color:#806628;font-size:10px;font-weight:400}
.small-team-score{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;line-height:1.4}.small-team-score span{min-width:0;overflow-wrap:anywhere}.small-team-score b{white-space:nowrap;font-size:14px;color:#0b4b85}.small-match-result{font-size:12px;line-height:1.4;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.small-match-card>.link{font-size:12px;min-height:28px;padding:3px 0;margin-top:auto;text-align:left}.small-match-card>.tiny{margin:2px 0}
.in-drill #dummyBanner{display:none}#dummyPersistent{padding:2px 8px;font-size:11px;background:#fff8e3;border-top:1px solid #eadcb5;line-height:1.3}#dummyPersistent button{font-size:11px;min-height:26px;padding:3px 7px;margin:0 3px}.in-drill{padding-bottom:34px}
@media(max-width:600px){.small-match-card{flex-basis:250px}.match-strip-heading h3{font-size:15px}.in-drill{padding-bottom:90px}}
#matchHub .hub-results.match-strip-cards{display:flex;gap:10px;overflow-x:auto;max-width:100%;align-items:stretch}#matchHub .hub-results.match-strip-cards>article{flex:0 0 270px;box-sizing:border-box;min-width:0;padding:10px;margin:0;border-radius:9px}#matchHub .hub-results.match-strip-cards h3{font-size:14px;margin:5px 0}#matchHub .hub-results.match-strip-cards p{font-size:12px;margin:5px 0}#matchHub .hub-results.match-strip-cards .score-line{font-size:13px;margin:4px 0}#matchHub .hub-results.match-strip-cards .link{font-size:12px;padding:4px 0}

.drill-action-message{display:block;margin:8px 0;font-size:13px;line-height:1.4;white-space:normal;color:#253d50}

/* Live scores lead on every screen; override older positional grid rules. */
#sportsList .centre-priority.compact-match-centre{display:flex;flex-direction:column;align-items:stretch}
#sportsList .centre-priority.compact-match-centre>*{width:100%;box-sizing:border-box;min-width:0}
#sportsList .compact-match-centre #homeAuctionBanner{margin:0}
#homeAuctionBanner .auction-home-cta{padding:8px 10px;margin:0 0 6px;gap:2px;border-radius:9px}
#homeAuctionBanner .auction-home-cta strong{font-size:12px}#homeAuctionBanner .auction-home-cta span{font-size:12px}#homeAuctionBanner .auction-home-cta b{font-size:11px}
#liveAuctionBoards .auction-board{padding:10px;margin:10px 0;max-width:100%;box-sizing:border-box}
#liveAuctionBoards .auction-board h3{font-size:14px;line-height:1.35;margin:0 0 4px}
#liveAuctionBoards .auction-board .auction-countdown{font-size:12px;font-weight:400;margin:4px 0}
#liveAuctionBoards .auction-board .primary{font-size:12px;padding:6px 10px;min-height:32px;margin:4px 0;width:auto}
#liveAuctionBoards .auction-board p.tiny{font-size:12px;margin:5px 0}
#liveAuctionBoards .auction-board details{margin:6px 0 0;padding:0;border:0}
#liveAuctionBoards .auction-board summary{font-size:12px;cursor:pointer;padding:5px 0;color:var(--blue)}
/* Keep intrinsic-width cards inside their own horizontal rails. */
#sportsList,#matchHub{min-width:0;max-width:100%}
#sportsList>*{min-width:0;max-width:100%}
#sportsList .sport-tab-group,#sportsList [data-sport-panel],.match-strip{min-width:0;max-width:100%}
.match-strip-cards{width:100%;min-width:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#sportsList .edition-row>span:first-child{flex:1 1 0;min-width:0;overflow-wrap:anywhere}
#sportsList .edition-row>.pill{flex:0 0 auto;max-width:100%}
@media(max-width:850px){
 #sportsList{grid-template-columns:minmax(0,1fr)}
 #appView>.layout>main{min-width:0;max-width:100%;width:100%}
 #sportsList .edition-filters{min-width:0;max-width:100%}
 #sportsList .edition-filters label{min-width:0}
 #sportsList .edition-filters select{width:100%;min-width:0}
 #sportsList .compact-tabs{max-width:100%;min-width:0;overscroll-behavior-x:contain}
}

#sportsList .centre-priority.compact-match-centre{gap:6px}
#sportsList .compact-match-centre>section.match-strip{padding:7px 8px;margin:0}
#sportsList .compact-match-centre .match-strip-heading{margin:0 0 4px;min-height:26px}
#sportsList .compact-match-centre .match-strip-heading h3{margin:0;font-size:14px;line-height:1.3}
#sportsList .compact-match-centre .match-strip-heading button{min-height:26px;padding:0 7px;font-size:20px}
#sportsList .compact-match-centre .match-strip-cards{padding-bottom:2px;gap:8px}
#sportsList .compact-match-centre .match-strip>p.tiny{margin:4px 0}
.centre-match-filters{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 3px;min-width:0;max-width:100%}
.centre-match-filters button{flex:0 0 auto;border:1px solid #dce7f2;border-radius:7px;padding:7px 10px;background:#eef4fa;color:var(--blue);font-size:12px;white-space:nowrap;cursor:pointer}
.centre-match-filters button.selected{background:var(--blue);color:white;border-color:var(--blue)}
.centre-match-filters button:focus-visible{outline:2px solid #126db7;outline-offset:-2px}

/* Compact, consistent cards on the Videos page. */
#videoLibrary .video-tile-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:8px;align-items:start}
#videoLibrary .video-tile{padding:8px;border-radius:9px}
#videoLibrary .video-tile-play{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:16px 36px 30px 18px;gap:3px 9px;align-items:start;margin:0;min-width:0}
#videoLibrary .video-tile-play img,#videoLibrary .video-tile-play .video-placeholder{grid-column:1;grid-row:1/5;width:110px;height:100px;aspect-ratio:auto;object-fit:contain;background:#eef3f8;padding:0;margin:0}
#videoLibrary .video-tile-play>.tiny{grid-column:2;grid-row:1;margin:0;font-size:10px;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#videoLibrary .video-tile-play h3{grid-column:2;grid-row:2;font-size:13px;line-height:18px;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
#videoLibrary .video-tile-play p.tiny{grid-column:2;grid-row:3;font-size:10px;line-height:15px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
#videoLibrary .video-tile-play>small{grid-column:2;grid-row:4;font-size:10px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#videoLibrary .video-tile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;border-top:1px solid #eef2f6;margin-top:6px;padding-top:3px}
#videoLibrary .video-tile-actions button{font-size:12px;padding:5px 3px;min-height:32px;margin:0}
#videoLibrary .video-tile-actions label.tiny{display:inline-flex;align-items:center;gap:3px;margin:0 0 0 auto;font-size:10px}
#videoLibrary .video-tile-actions select{font-size:11px;max-width:90px;min-height:30px}
@media(max-width:380px){#videoLibrary .video-tile-play{grid-template-columns:90px minmax(0,1fr)}#videoLibrary .video-tile-play img,#videoLibrary .video-tile-play .video-placeholder{width:90px}}

/* Two compact video tiles per row on phones. */
@media(max-width:600px){
 #videoLibrary .video-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #videoLibrary .video-tile{padding:6px}
 #videoLibrary .video-tile-play{grid-template-columns:minmax(0,1fr);grid-template-rows:90px 16px 36px 30px 18px;gap:3px}
 #videoLibrary .video-tile-play img,#videoLibrary .video-tile-play .video-placeholder{grid-column:1;grid-row:1;width:100%;height:90px}
 #videoLibrary .video-tile-play>.tiny{grid-column:1;grid-row:2}
 #videoLibrary .video-tile-play h3{grid-column:1;grid-row:3;font-size:12px}
 #videoLibrary .video-tile-play p.tiny{grid-column:1;grid-row:4}
 #videoLibrary .video-tile-play>small{grid-column:1;grid-row:5}
 #videoLibrary .video-tile-actions{gap:0 6px}
 #videoLibrary .video-tile-actions label.tiny{margin:0;width:100%;justify-content:space-between}
 #videoLibrary .compact-tabs{max-width:100%;overflow-x:auto}
}
#videoLibrary>.home-photo-gallery{margin-top:14px;background:#edf5fa;border-radius:10px}

.small-placing{display:grid;gap:4px;margin:10px 0;min-width:0}.small-placing>span{font-size:11px;color:#667e92}.small-placing>b{font-size:13px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;color:#12577e}

/* Tournament placings use the same compact rhythm as match score tiles. */
.compact-tournament-result .small-placing{margin:2px 0;gap:1px}
.compact-tournament-result .compact-placing-names{font-size:13px;line-height:1.4;font-weight:400;color:#12577e}
.compact-tournament-result .compact-placing-player{display:inline;padding:2px 0;min-height:0;margin:0;font-size:13px;line-height:1.4;font-weight:400;text-align:left;background:transparent;border:0;border-radius:2px;white-space:nowrap}
.compact-tournament-result .compact-placing-player:hover{text-decoration:underline}
.compact-tournament-result .compact-placing-player:focus-visible{outline:2px solid #2687cc;outline-offset:2px}
.compact-tournament-result .placing-separator{color:#8494a3}

/* Compact placing cards: short heading, two name columns and one footer row. */
.small-match-card.compact-tournament-result{gap:6px;padding:10px 12px}
.compact-tournament-result .small-placing{margin:0;gap:2px}
.compact-tournament-result .compact-placing-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px;row-gap:0}
.compact-tournament-result .compact-placing-player{white-space:normal;overflow-wrap:anywhere;line-height:1.3;padding:3px 0;font-size:13px}
.compact-tournament-result .small-placing>span{font-size:11px;line-height:1.3}
.compact-result-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px}
.compact-result-footer>.link{font-size:12px;font-weight:400;min-height:28px;padding:3px 0;white-space:nowrap}
.compact-tournament-result .card-share-heading>.small-match-meta{font-size:12px;line-height:1.3}
@media(max-width:600px){.small-match-card.compact-tournament-result{flex-basis:250px;max-width:calc(100vw - 56px)}}

#footballExtra[hidden],#footballPenalties[hidden],#footballAwardField[hidden],#footballGoalsField[hidden],#footballTeams[hidden],#footballWinnerField[hidden]{display:none!important}
#footballExtra input[type=checkbox]{width:auto;margin-right:6px}
.football-goal-row{border-bottom:1px solid #dce4ea;padding:6px 0;margin-bottom:6px}
.football-goal-row label{margin-top:8px}.football-goal-row .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#footballAwardField small{display:block;font-weight:400;color:#667e92;font-size:12px}

.walkfit-counters{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.walkfit-counters>span{background:#eaf6ef;color:#176240;border-radius:8px;padding:8px 12px;display:flex;flex-direction:column}.walkfit-counters b{font-size:1.1rem}.walkfit-counters small{font-size:.75rem}.walkfit-result-list{max-height:60vh;overflow:auto}.walkfit-result-list article{padding:10px 0;border-bottom:1px solid #dae4ed}

/* Compact Walkfit figures, including inside inherited profile badge styles. */
.walkfit-counters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:5px;max-width:260px}
.walkfit-counters>span,.profile-sport-badge .walkfit-counters>span{display:flex!important;flex-direction:column;gap:2px;margin:0!important;padding:5px 7px;background:#f0f7f3;color:#406858;border-radius:6px;min-width:0}
.walkfit-counters b{font-size:13px!important;font-weight:600;line-height:1.2;color:#35634d}
.walkfit-counters small{font-size:10px!important;line-height:1.2;color:#62796c;white-space:normal}
.profile-sport-badge.walkfit-profile-badge{align-items:flex-start;padding:7px;gap:7px;align-self:start;min-width:0}
.walkfit-profile-badge>div:last-child{min-width:0;flex:1}
.profile-sport-badge.walkfit-profile-badge strong{font-size:13px!important;line-height:1.25;font-weight:600}
.profile-sport-badge.walkfit-profile-badge div>span{font-size:11px;line-height:1.25}
.walkfit-profile-badge .profile-sport-symbol{width:30px;height:30px;font-size:21px}
.walkfit-event.card{padding:10px 12px;border-radius:10px;margin:6px 0}
.walkfit-event summary strong{font-size:15px;font-weight:600}
.walkfit-event summary p{margin:4px 0;font-size:12px}
.walkfit-event .walkfit-note{font-size:12px;color:#6a7b88;margin:8px 0}
.walkfit-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:0;font-size:12px}
.walkfit-table th,.walkfit-table td{padding:7px 6px;border-bottom:1px solid #edf1f3;vertical-align:middle;line-height:1.3}
.walkfit-table th{position:sticky;top:0;background:#f5f8f7;color:#63786e;font-size:11px;font-weight:500;text-align:left}
.walkfit-table th:first-child{width:32px}.walkfit-table th:nth-child(3){width:82px}.walkfit-table th:nth-child(4){width:92px}
.walkfit-table td.walkfit-number{text-align:right;color:#426d56;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.walkfit-table th:nth-child(n+3){text-align:right}
.walkfit-table button.link{padding:3px 0;margin:0;min-height:0;min-width:0;font-size:13px;font-weight:400;line-height:1.3;text-align:left;background:transparent;border:0;white-space:normal;overflow-wrap:anywhere}
.walkfit-table .walkfit-review{display:block;font-size:10px;color:#7a827d}
@media(max-width:600px){.walkfit-event.card{padding:8px}.walkfit-table th,.walkfit-table td{padding:6px 3px}.walkfit-table th:first-child{width:25px}.walkfit-table th:nth-child(3){width:65px}.walkfit-table th:nth-child(4){width:72px}.walkfit-table button.link{font-size:12px}.walkfit-table td.walkfit-number{font-size:11px}}

/* Compact video rail: one row, matching the home gallery interaction. */
.home-video-carousel{min-width:0;max-width:100%;margin-top:10px}
.home-video-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.home-video-heading>b{font-size:14px}.home-video-heading button{padding:6px 9px;font-size:13px}
.home-video-carousel .news-video-grid{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;align-items:stretch;padding:3px 0 8px;max-width:100%}
.home-video-carousel .news-video{flex:0 0 240px;width:240px;max-width:85%;display:flex;flex-direction:column;gap:5px;padding:8px;scroll-snap-align:start}
.home-video-carousel .news-video img,.home-video-carousel .news-video>span{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0}
.home-video-carousel .news-video>span{display:grid;place-items:center;line-height:normal}
.home-video-carousel .news-video b{font-size:13px;line-height:1.3;-webkit-line-clamp:2;margin:0}
.home-video-carousel .news-video small{font-size:11px;line-height:1.3;-webkit-line-clamp:1;margin:0}
@media(max-width:600px){.home-video-carousel .news-video{flex-basis:220px;width:220px}}

/* Sports Centre news stays a horizontal swipe row on phones and desktops. */
#sportsList .home-news-items{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;scroll-snap-type:x proximity;align-items:stretch;padding-bottom:8px}
#sportsList .home-news-items>.news-card{flex:0 0 min(340px,88vw);min-width:0;box-sizing:border-box;scroll-snap-align:start}
.news-story a,.news-inline-body a{color:#0b4b85;text-decoration:underline;overflow-wrap:anywhere}
