/* Shared accessibility and responsive corrections. Loaded after the theme. */
@media(max-width:900px){.fctv-league-sidebar .fctv-sidebar-top-scorers{display:none}}
.fctv-mobile-search { display:none; }
.fctv-theme [hidden] { display:none!important; }
.fctv-theme :where(a,button,input,select):focus-visible { outline:2px solid var(--fctv-accent); outline-offset:3px; }
.fctv-theme :where(.fctv-entity-grid,.fctv-match-layout,.fctv-match-top)>* { min-width:0; }
.fctv-detail-list strong,.fctv-entity-title { min-width:0; overflow-wrap:anywhere; }
.fctv-match-live-badge,.fctv-live-pill,.fctv-live-pill.big,.fctv-search-live {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  border:1px solid rgba(255,45,85,.3); border-radius:999px;
  padding:5px 8px; background:rgba(255,45,85,.12); color:#ff6b89;
  font-size:11px; font-weight:800; line-height:1; letter-spacing:.06em;
}
.fctv-search-results { background:#091722; }
.fctv-search-result-text strong { font-size:13px; }
.fctv-search-result-text small,.fctv-search-result-tail em { font-size:12px; }
.fctv-coach-card span,.fctv-country-team-list small,.fctv-trophy-item small,
.fctv-country-team-source em,.fctv-leader-list span small { font-size:12px; }
.fctv-coach-card small,.fctv-country-team-source small,.fctv-mini-kpis small { font-size:11px; }
.fctv-country-team-list strong,.fctv-country-team-source strong { font-size:13px; }
.fctv-standings-table td:last-child { font-weight:800; }

/* The collapsed tablet navigation needs an opaque surface too. */
@media (max-width:1200px) {
  .fctv-header .fctv-primary-nav.is-open { background:#091722; border:1px solid var(--fctv-border); box-shadow:0 18px 40px rgba(0,0,0,.45); }
  .fctv-primary-nav.is-open .fctv-nav-list { width:100%; height:auto; }
  .fctv-primary-nav.is-open .fctv-nav-list a { min-height:48px; }
}

@media (max-width:900px) {
  .fctv-header { background:#060f18; }
  .fctv-header .fctv-header-inner { position:relative; height:auto; min-height:68px; grid-template-columns:44px minmax(0,1fr) 44px; gap:8px; padding-block:10px; }
  .fctv-header .fctv-mobile-menu,.fctv-header .fctv-mobile-search { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; border:1px solid var(--fctv-border); border-radius:12px; background:#10202d; color:#edf2f7; cursor:pointer; grid-row:1; }
  .fctv-header .fctv-mobile-menu { grid-column:1; }
  .fctv-header .fctv-mobile-search { grid-column:3; }
  .fctv-header .fctv-brand { grid-column:2; grid-row:1; min-width:0; justify-self:center; }
  .fctv-header .fctv-logo-word { font-size:24px; }
  .fctv-header .fctv-logo-img { max-width:150px; max-height:38px; }
  .fctv-header .fctv-brand small { display:none; }
  .fctv-header .fctv-search-wrap { display:none; position:static; grid-column:1/-1; grid-row:2; width:100%; margin:4px 0 0; }
  .fctv-header .fctv-search-wrap.is-open { display:block; }
  .fctv-header .fctv-search { position:static; width:100%; height:48px; background:#10202d; border-radius:12px; }
  .fctv-header .fctv-search input { min-width:0; font-size:16px; }
  .fctv-header .fctv-search-results { position:absolute; top:100%; left:0; right:0; width:100%; max-height:calc(100dvh - 150px); overflow-y:auto; overscroll-behavior:contain; }
  .fctv-header .fctv-primary-nav { display:none; }
  .fctv-header .fctv-primary-nav.is-open { display:block; position:absolute; top:100%; left:0; right:0; height:auto; max-height:calc(100dvh - 90px); padding:12px; overflow-y:auto; border-radius:0 0 16px 16px; z-index:10; }
  .fctv-header .fctv-nav-list { display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:0; }
  .fctv-header .fctv-nav-list li { display:block; height:auto; }
  .fctv-header .fctv-nav-list a { display:flex; width:100%; padding:12px 16px; font-size:14px; border-radius:9px; }
  .fctv-header .fctv-nav-list a:hover { background:#142736; }
  .fctv-home,.fctv-match-shell,.fctv-content-page { padding-top:18px; }
  .fctv-transfer-row,.fctv-transfer-row.has-player { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:14px 2px; }
  .fctv-transfer-player { grid-column:1/-1; width:auto; max-width:none; }
  .fctv-transfer-route { position:static; grid-column:1/-1; left:auto; top:auto; transform:none; width:100%; }
  .fctv-transfer-row>em { grid-column:2; grid-row:1; }
  .fctv-transfer-team span,.fctv-transfer-route>a span { font-size:12px; white-space:normal; overflow-wrap:anywhere; }
  .fctv-team-standings .fctv-table { min-width:0; }
}

/* All metrics stay visible: team identity above a six-column stat strip. */
@media (max-width:760px) {
  .fctv-table-wrap,.fctv-player-table-wrap { overflow:visible; min-width:0; }
  .fctv-table.fctv-standings-table,.fctv-player-table { display:block; width:100%; min-width:0; }
  .fctv-standings-table thead,.fctv-player-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .fctv-standings-table tbody,.fctv-player-table tbody { display:grid; gap:10px; }
  .fctv-standings-table tbody tr,.fctv-player-table tbody tr { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; padding:10px; border:1px solid var(--fctv-border); border-radius:12px; background:#0b1924; }
  .fctv-table.fctv-standings-table td,.fctv-player-table td { display:block; min-width:0; padding:8px 2px; border:0; text-align:center; font-size:13px; white-space:normal; }
  .fctv-standings-table td:first-child { grid-column:1; align-self:center; font-weight:700; color:var(--fctv-muted); }
  .fctv-table.fctv-standings-table td.team { display:flex; grid-column:2/-1; min-width:0; text-align:left; padding:5px 0 10px; }
  #table .fctv-table.fctv-standings-table td.team { min-width:0; }
  .fctv-standings-table td.team a { display:flex; align-items:center; gap:10px; width:100%; min-height:36px; min-width:0; }
  .fctv-standings-table td.team span { white-space:normal; overflow-wrap:anywhere; font-size:14px; }
  .fctv-standings-table td[data-label],.fctv-player-table td[data-label] { border-top:1px solid var(--fctv-border); font-variant-numeric:tabular-nums; }
  .fctv-standings-table td[data-label]:before,.fctv-player-table td[data-label]:before { content:attr(data-label); display:block; margin-bottom:4px; font-size:11px; color:#a9b7c4; font-weight:500; }
  .fctv-standings-table td:last-child { color:var(--fctv-accent); }
  .fctv-player-table tbody tr { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fctv-player-table td:first-child { grid-column:1/-1; text-align:left; padding:4px 4px 10px; }
  .fctv-player-table-link strong { font-size:14px; }
  .fctv-match-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; overflow:visible; }
  .fctv-match-tabs button,.fctv-match-tabs a { min-width:0; min-height:44px; padding:8px 4px; font-size:12px; }
  .fctv-match-tabs button span { display:inline; }
  .fctv-match-tabs .fctv-icon { width:16px; height:16px; }
  .fctv-match-tabs button { gap:5px; }
  .fctv-league-match-card.is-live { padding-top:28px; }
  .fctv-league-match-card .fctv-match-live-badge { top:7px; left:10px; transform:none; }
  .fctv-league-match-card.is-live .fctv-league-match-main { padding-left:8px; }
  .fctv-league-match-team,.fctv-match-sidebar .fctv-side-live-list .fctv-league-match-team { font-size:12px; line-height:1.35; }
  .fctv-league-match-team span,.fctv-match-sidebar .fctv-side-live-list .fctv-league-match-team span { font-size:12px; white-space:normal; overflow-wrap:anywhere; display:block; }
  .fctv-match-shell .fctv-h2h-row .home span,.fctv-match-shell .fctv-h2h-row .away span { font-size:12px; overflow-wrap:anywhere; }
  .fctv-match-shell .fctv-h2h-row time { font-size:12px; }
  .fctv-league-nav { flex-wrap:wrap; }
  .fctv-league-nav a { flex:1 1 auto; text-align:center; min-height:44px; }
  .fctv-panel-card>header { flex-wrap:wrap; gap:6px; }
  .fctv-panel-card>header h2 { font-size:18px; }
  .fctv-panel-card>header span,.fctv-panel-card>header>a { font-size:12px; }
  .fctv-detail-list small,.fctv-kpi-grid small,.fctv-sidelined-list small { font-size:12px; }
  .fctv-country-team-search { height:44px; }
  .fctv-country-team-search input { font-size:16px; }
  .fctv-search-result { min-height:64px; padding:12px; }
  .fctv-search-result-text strong { white-space:normal; overflow-wrap:anywhere; }
  .fctv-search-result-text small { white-space:normal; }
  .fctv-search-result-tail { gap:6px; }
  .fctv-entity-title h1 { font-size:clamp(24px,6vw,30px); }
  .fctv-entity-hero { padding:16px; }
  .fctv-schedule-filters input:not([type="checkbox"]),.fctv-schedule-filters select,.fctv-live-head-search input { min-width:0; max-width:100%; font-size:16px; min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .fctv-theme *, .fctv-theme *:before, .fctv-theme *:after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Shared page title, matching the leagues directory at every viewport. */
h1.fctv-page-title{font-size:clamp(32px,3.5vw,48px);font-weight:800;line-height:1.14;letter-spacing:-1.4px;margin:0 0 10px;color:#f6f8fb;overflow-wrap:anywhere}
h1.fctv-page-title .fctv-page-title-accent{color:var(--fctv-accent,#f4c44e)}
@media(max-width:760px){h1.fctv-page-title{letter-spacing:-.8px}}

/* Homepage: intrinsic content must not widen the single-column mobile grid. */
@media(max-width:900px){
  .fctv-home .fctv-home-grid{grid-template-columns:minmax(0,1fr);min-width:0;width:100%}
  .fctv-home .fctv-home-grid>*,.fctv-home .fctv-section-heading,.fctv-home .fctv-section-heading>*,.fctv-home #fctv-match-list{min-width:0;max-width:100%}
  .fctv-home .fctv-section-heading{align-items:stretch;flex-direction:column}
  .fctv-home .fctv-filter-pills{display:flex;flex-wrap:wrap;width:100%;min-width:0;max-width:100%;overflow:visible;gap:8px}
  .fctv-home .fctv-filter-pills button{flex:0 1 auto;min-width:0;max-width:100%;min-height:40px;white-space:normal;padding:9px 12px;font-size:12px}
  .fctv-home .fctv-hero-carousel,.fctv-home .fctv-hero-slides,.fctv-home .fctv-hero-slide,.fctv-home .fctv-hero-scorecard{min-width:0;max-width:100%}
  .fctv-home .fctv-hero-media-center strong{overflow-wrap:anywhere}
  .fctv-home .fctv-hero-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .fctv-home .fctv-hero-score>div,.fctv-home .fctv-hero-score>section{min-width:0}
  .fctv-home .fctv-hero-score>div strong{overflow-wrap:anywhere}
  .fctv-home .fctv-hero-meta{flex-wrap:wrap}
  .fctv-home .fctv-home-league-showcase,.fctv-home .fctv-home-league-rail,.fctv-home .fctv-home-league-marquee{width:100%;max-width:100%;min-width:0;margin-inline:0}
  .fctv-home .fctv-home-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .fctv-home .fctv-home-tabs a{min-width:0}
  .fctv-home .fctv-home-tabs a:last-child{grid-column:1/-1}
  .fctv-home .fctv-league-block,.fctv-home .fctv-league-match-day,.fctv-home .fctv-league-match-card{min-width:0;max-width:100%;width:100%}
  .fctv-home .fctv-group-head>div{min-width:0;overflow-wrap:anywhere}
  .fctv-home .fctv-group-head>a{flex-shrink:0}
}
@media(max-width:760px){
  .fctv-home .fctv-home-league-card{width:132px;flex-basis:132px}
  .fctv-home .fctv-home-league-art{display:flex;align-items:center;justify-content:center;width:132px;height:112px;padding:14px}
  .fctv-home .fctv-home-league-art img{width:96px;height:80px;max-width:100%;max-height:100%;object-fit:contain}
  .fctv-home .fctv-home-league-set{gap:12px;padding-right:12px}
  .fctv-home .fctv-home-tabs a{min-height:48px;font-size:12px}
  .fctv-home .fctv-section-heading{gap:12px}
  .fctv-home .fctv-section-heading p{font-size:13px;line-height:1.5}
  .fctv-home .fctv-league-match-main{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);padding:10px 6px}
  .fctv-home .fctv-league-match-score{min-width:0;padding:0 3px}
  .fctv-home .fctv-league-match-score>strong:not(.is-upcoming){width:100%;min-width:0;grid-template-columns:16px minmax(0,1fr) 16px;gap:2px}
  .fctv-home .fctv-league-match-score em,.fctv-home .fctv-league-match-score .fctv-live-clock{min-width:0;white-space:normal;overflow-wrap:anywhere}
  .fctv-home .fctv-league-match-score>strong.is-upcoming b{font-size:12px;line-height:1.3;text-align:center}
  .fctv-home .fctv-league-match-team span{max-width:100%;overflow-wrap:anywhere}
}

/* Mobile match cards: the main link already opens the match. Reclaim the details column. */
@media(max-width:760px){
  .fctv-league-match-card{grid-template-columns:minmax(0,1fr) 34px}
  .fctv-league-match-card>.fctv-league-match-details{display:none}
  .fctv-match-sidebar .fctv-side-live-list .fctv-league-match-card{grid-template-columns:minmax(0,1fr)}
}

/* Keep the dropdown mounted so opening and closing both animate. */
@media(max-width:900px){
  .fctv-header .fctv-primary-nav,
  .fctv-header .fctv-primary-nav.is-open{
    display:block;position:absolute;top:100%;left:0;right:0;height:auto;
    max-height:calc(100dvh - 90px);padding:12px;overflow-y:auto;
    border-radius:0 0 16px 16px;z-index:10;
    background:#091722;border:1px solid var(--fctv-border);
    box-shadow:0 18px 40px rgba(0,0,0,.45);
    transform-origin:top center;
  }
  .fctv-header .fctv-primary-nav .fctv-nav-list{width:100%;height:auto}
  .fctv-header .fctv-primary-nav .fctv-nav-list li,
  .fctv-header .fctv-primary-nav .fctv-nav-list a{height:auto}
  .fctv-header .fctv-primary-nav .fctv-nav-list a{min-height:48px;padding:12px 16px}
  .fctv-header .fctv-primary-nav{
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translateY(-10px) scale(.985);
    transition:opacity .2s ease,transform .24s cubic-bezier(.2,.7,.2,1),visibility 0s linear .24s;
  }
  .fctv-header .fctv-primary-nav.is-open{
    opacity:1;visibility:visible;pointer-events:auto;transform:none;
    transition-delay:0s;
  }
}
@media(max-width:760px){
  .fctv-match-scorecard .fctv-hero-score{width:100%;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .fctv-match-scorecard .fctv-hero-score>a:first-child{align-items:flex-start;text-align:left}
  .fctv-match-scorecard .fctv-hero-score>a:last-child{align-items:flex-end;text-align:right}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){
  .fctv-header .fctv-primary-nav,.fctv-header .fctv-primary-nav.is-open{transition:none;transform:none}
}

.fctv-nav-mobile-icon{display:none}
@media(max-width:900px){
  .fctv-header .fctv-nav-list a{gap:12px}
  .fctv-nav-mobile-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px}
  .fctv-nav-mobile-icon>.fctv-icon{width:21px;height:21px}
  .fctv-nav-mobile-icon>.fctv-red-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--fctv-live);margin:0}
}
@media(max-width:760px){
  .fctv-video-card.is-pre-match:not([data-player-state="playing"]){aspect-ratio:auto;min-height:340px}
  .fctv-video-card.is-pre-match:not([data-player-state="playing"])>video{position:absolute;inset:0}
  .fctv-video-card.is-pre-match:not([data-player-state="playing"]) .fctv-video-overlay{position:relative;inset:auto;min-height:340px;padding:20px 12px}
  .fctv-video-card.is-pre-match .fctv-video-placeholder{width:100%;max-width:100%;padding:12px}
  .fctv-video-card.is-pre-match .fctv-kickoff-countdown{min-width:0;width:min(100%,280px);margin-top:16px}
}
/* Form comparison: independent season rates, and shrinkable mobile columns. */
.fctv-preview-team-heads{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.fctv-preview-team-heads>div,.fctv-preview-team-heads>div>div{min-width:0}
.fctv-preview-team-heads strong{overflow-wrap:anywhere}
.fctv-season-win-rates{padding:6px 16px 10px}
.fctv-season-win-rates>p{margin:0 0 8px;text-align:center;color:#9eabb5;font-size:12px}
.fctv-season-win-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.fctv-season-win-side{min-width:0}
.fctv-season-win-side:last-child{text-align:right}
.fctv-season-win-side strong{display:block;font-size:14px}
.fctv-season-win-side small{display:block;font-size:11px;color:#9eabb5;margin-top:3px}
.fctv-season-win-track{height:5px;margin-top:7px;border-radius:8px;background:#22313c;overflow:hidden}
.fctv-season-win-track i{display:block;height:100%;background:var(--fctv-accent)}
.fctv-season-win-side:last-child .fctv-season-win-track i{background:#4b8df8}
.fctv-season-win-note{display:block;margin-top:10px;font-size:11px;line-height:1.5;color:#9eabb5}
@media(max-width:640px){
  .fctv-preview-team-heads>div{flex-direction:column;align-items:flex-start;gap:7px}
  .fctv-preview-team-heads>div:last-child{flex-direction:column-reverse;align-items:flex-end}
  .fctv-preview-team-heads>div>div{width:100%}
  .fctv-preview-team-heads .fctv-team-logo{flex:none;max-width:30px;object-fit:contain}
  .fctv-preview-team-heads .fctv-form-sequence{display:grid;grid-template-columns:repeat(var(--form-count,6),minmax(0,1fr));gap:2px;max-width:100%;width:calc(var(--form-count,6) * 22px - 2px)}
  .fctv-match-shell .fctv-preview-team-heads .fctv-form-sequence span{width:100%;min-width:0;height:20px;font-size:9px}
  .fctv-season-win-rates{padding-left:11px;padding-right:11px}
}

/* 1.7.60: compact, accessible schedule filters and balanced match details. */
.fctv-schedule-head>div{width:100%;min-width:0}
.fctv-schedule-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fctv-filter-toggle{display:none}
.fctv-filter-collapse-inner{min-width:0}
.fctv-hero-score section>small.fctv-score-date{display:block;max-width:160px;margin:0 auto 8px;font-size:12px;line-height:1.5;color:#d8e2eb;white-space:normal}
.fctv-hero-score section>small.fctv-score-date[hidden]{display:none}
.fctv-stat-teams>div.away{grid-column:3}
.fctv-live-directory{position:relative;isolation:isolate}
.fctv-live-directory .fctv-live-head-search input{background:#09151f}
@media(max-width:760px){
  .fctv-filter-toggle.is-enhanced{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--fctv-border);border-radius:12px;background:#10222f;color:var(--fctv-accent);cursor:pointer}
  .fctv-filter-toggle svg{width:22px;height:22px}
  .fctv-filter-toggle:focus-visible{outline:2px solid var(--fctv-accent);outline-offset:3px}
  .fctv-filter-collapse.is-enhanced{display:grid;grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .26s ease,opacity .2s ease,visibility .26s}
  .fctv-filter-collapse.is-enhanced.is-collapsed{grid-template-rows:0fr;opacity:0;visibility:hidden}
  .fctv-filter-collapse.is-enhanced>.fctv-filter-collapse-inner{min-height:0;overflow:hidden}
  .fctv-filter-collapse .fctv-schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fctv-filter-collapse .fctv-schedule-filters>label{min-width:0}
  .fctv-filter-collapse .fctv-filter-search,.fctv-filter-collapse .fctv-check-filter,.fctv-filter-collapse .fctv-primary-btn{grid-column:1/-1;width:100%}
  .fctv-match-scorecard .fctv-hero-score>a:first-child,.fctv-match-scorecard .fctv-hero-score>a:last-child{display:flex;flex-direction:column;align-items:center;text-align:center;width:fit-content;max-width:100%;min-width:0}
  .fctv-match-scorecard .fctv-hero-score>a:first-child{justify-self:start}
  .fctv-match-scorecard .fctv-hero-score>a:last-child{justify-self:end}
  .fctv-match-scorecard .fctv-hero-score>a img{align-self:center;object-fit:contain;max-width:100%}
}
@media(max-width:640px){
  .fctv-stat-teams{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fctv-stat-teams>div.away{grid-column:2}
  .fctv-stat-teams strong{font-size:12px;white-space:normal;overflow-wrap:anywhere}
  .fctv-hero-score section>small.fctv-score-date{max-width:112px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .fctv-filter-collapse.is-enhanced{transition:none}
}

/* Consistent mirrored team layout and native mobile input constraints. */
.fctv-prediction-teams>div.fctv-prediction-away{flex-direction:row-reverse;text-align:right;justify-content:flex-start}
.fctv-player-name-link:hover{color:var(--fctv-accent);text-decoration:underline}
.fctv-player-name-link:focus-visible{outline:2px solid var(--fctv-accent);outline-offset:3px}
@media(max-width:760px){
 .fctv-filter-collapse .fctv-schedule-filters input[type="date"]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;appearance:none;-webkit-appearance:none;padding:10px 8px;font-size:16px;overflow:hidden}
 .fctv-filter-collapse input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left}
 .fctv-filter-collapse input[type="date"]::-webkit-datetime-edit{min-width:0;padding:0}
 .fctv-match-scorecard .fctv-hero-score{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);align-items:start}
 .fctv-match-scorecard .fctv-hero-score>a:first-child,.fctv-match-scorecard .fctv-hero-score>a:last-child{width:100%;justify-self:stretch;align-items:center;text-align:center}
 .fctv-match-scorecard .fctv-hero-score>a strong{width:100%;line-height:1.5}
}
@media(max-width:640px){
 .fctv-preview-team-heads>div:last-child .fctv-form-sequence{margin-left:auto}
 .fctv-preview-records{padding-left:11px;padding-right:11px}
 .fctv-preview-records>span{min-width:0;flex-wrap:wrap}
 .fctv-preview-records>span:last-child{text-align:right}
}

/* Live status belongs in the heading, never behind fixture content. */
.fctv-live-page-head .fctv-live-title{display:flex;align-items:center;gap:.4em}
.fctv-live-title .fctv-title-dot{width:.72em;height:.72em;flex:0 0 .72em;box-shadow:0 0 0 .12em rgba(255,45,85,.12)}
.fctv-live-title-text{min-width:0}

/* Match lineup identity and scrollable league sidebar. */
.fctv-lineup-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px}
.fctv-lineup-switch button .fctv-team-logo{width:24px;height:24px;flex:0 0 24px;object-fit:contain}
#league-teams{scroll-margin-top:calc(var(--fctv-header,76px) + 20px)}
@media(min-width:901px){
 .fctv-entity-grid>aside.fctv-league-sidebar{position:sticky;top:calc(var(--fctv-header,76px) + 16px);max-height:calc(100dvh - var(--fctv-header,76px) - 32px);overflow-y:auto;align-self:start;scrollbar-width:thin}
 body.admin-bar .fctv-entity-grid>aside.fctv-league-sidebar{top:calc(var(--fctv-header,76px) + 48px);max-height:calc(100dvh - var(--fctv-header,76px) - 64px)}
}

/* Keep mobile page movement vertical; nested rails retain their own scrolling. */
@media (max-width:900px) {
  html.footleader-document {
    overflow-x:hidden;
    overscroll-behavior-x:none;
  }
  body.fctv-theme {
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    overscroll-behavior-x:none;
  }
  @supports (overflow:clip) {
    html.footleader-document,body.fctv-theme { overflow-x:clip; }
  }
}

@media(max-width:900px){
  .fctv-schedule-summary{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding-inline:0}
  .fctv-schedule-summary [data-schedule-total]{white-space:nowrap}
  .fctv-schedule-summary [data-schedule-progress]{margin-left:auto;text-align:right;white-space:nowrap}
  .fctv-schedule-summary>span:not([data-schedule-progress]){flex-basis:100%}
}
.fctv-stream-servers{grid-column:1;grid-row:2;min-width:0;padding:16px;border:1px solid var(--fctv-border);border-radius:10px;background:var(--fctv-surface)}
.fctv-stream-servers[hidden]{display:none!important}
.fctv-stream-servers h3{margin:0 0 12px;font-size:15px}
.fctv-stream-server-buttons{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.fctv-stream-server-buttons button{min-height:44px;max-width:100%;padding:9px 16px;border:1px solid var(--fctv-border);border-radius:8px;background:rgba(255,255,255,.035);color:inherit;font:inherit;font-size:13px;cursor:pointer;overflow-wrap:anywhere;transition:background .15s,border-color .15s}
.fctv-stream-server-buttons button:hover,.fctv-stream-server-buttons button:focus-visible{border-color:var(--fctv-accent)}
.fctv-stream-server-buttons button:focus-visible{outline:2px solid var(--fctv-accent);outline-offset:2px}
.fctv-stream-server-buttons button[aria-pressed="true"]{background:var(--fctv-accent);border-color:var(--fctv-accent);color:#07111b;font-weight:700}
.fctv-stream-server-buttons button:disabled{opacity:.55;cursor:wait}
@media(min-width:901px){.fctv-stream-servers~.fctv-match-scorecard{grid-column:2;grid-row:1}}
@media(max-width:900px){.fctv-stream-servers{grid-column:auto;grid-row:auto;padding:12px}.fctv-stream-server-buttons button{flex:1 1 100px}}
@media(prefers-reduced-motion:reduce){.fctv-stream-server-buttons button{transition:none}}
