/* Schedule-first product layer. Existing Inter/JetBrains and orange identity retained. */
:root { --text-3:#a1abba; --ux-accent:#ff8c4a; --ux-outline:#ffad7f; }
:root[data-theme="light"] { --text-3:#505b6c; --muted:#505b6c; --ux-accent:#a93b00; --ux-outline:#a93b00; --green:#11703e; --red:#b62543; --orange:#a93b00; --orange-soft:#a93b00; }
html[data-theme="light"] .header .logo,html[data-theme="light"] .footer .logo { background:#0a0d12; padding:7px; border-radius:4px; }
html[data-theme="light"] .btn-primary { color:#fff; }
html[data-theme="light"] .article-toc-fab { color:#fff; }
:root:not([data-theme="light"]) .btn-primary { color:#141921; }
:root:not([data-theme="light"]) .pred-bar-home,
:root:not([data-theme="light"]) .pred-bar-away { color:#141921; }
[hidden] { display:none!important; }
body { font-size:16px; }
.ux-meta,.disclosure,.dim,.when,.h2-meta,.last-updated,.lg-tag { font-size:12px; }
.ux-meta { color:var(--text-2); line-height:1.55; }
span.author-avatar { display:inline-flex; color:var(--text); background:var(--bg-3); }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.table-wrap:focus-visible {
  outline:2px solid var(--ux-outline); outline-offset:3px;
}
.ux-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px;
  border:1px solid var(--line-2); border-radius:4px; padding:9px 13px; color:var(--text);
  background:var(--bg-2); font-size:13px; font-weight:600; text-align:center; }
.ux-button:hover { background:var(--bg-3); color:var(--ux-accent); }
.ux-button[aria-pressed="true"] { border-color:var(--ux-accent); color:var(--ux-accent); }
.ux-text-link { color:var(--ux-accent); display:inline-flex; align-items:center; min-height:44px; font-weight:600; font-size:14px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:500; padding:12px; background:var(--bg); border:2px solid var(--ux-accent); }
.skip-link:focus { top:10px; }
.header-inner { gap:20px; min-height:64px; height:auto; }
.nav a,.search-btn,.menu-btn,.theme-btn { min-height:44px; min-width:44px; align-items:center; justify-content:center; }
.nav a { display:inline-flex; }
.disclosure { letter-spacing:0; padding:5px 0; }
.schedule-home { padding:28px 0 0; }
.schedule-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.schedule-heading h1 { font-size:36px; letter-spacing:-.045em; margin:4px 0 4px; line-height:1.12; }
.schedule-heading p { margin:0; font-size:15px; }
.schedule-heading .eyebrow { color:var(--ux-accent); font-size:11px; letter-spacing:.1em; }
.schedule-layout { display:grid; grid-template-columns:minmax(0,1fr) 288px; gap:36px; align-items:start; }
.schedule-board { border-top:2px solid var(--orange); min-width:0; }
.schedule-tabs { display:flex; gap:2px; border-bottom:1px solid var(--line); overflow:auto; scrollbar-width:thin; }
.schedule-tabs button { flex:1; white-space:nowrap; min-height:48px; padding:10px 12px; font-size:14px;
  background:transparent; color:var(--text-2); border:0; border-bottom:2px solid transparent; font-weight:600; }
.schedule-tabs button[aria-pressed="true"] { color:var(--ux-accent); border-color:var(--ux-accent); background:var(--bg-1); }
.schedule-tabs span { font:12px var(--font-mono); padding-left:4px; }
.schedule-filters { display:flex; align-items:flex-end; gap:16px; padding:16px 0; }
.schedule-filters label { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--text-2); flex:1; min-width:0; }
select { min-height:44px; width:100%; border:1px solid var(--line-2); background:var(--bg-1); color:var(--text); padding:8px; border-radius:4px; font-size:14px; }
.schedule-caption { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:5px 0; }
.schedule-caption h2 { font-size:17px; letter-spacing:-.02em; margin:0; }
.schedule-caption #schedule-zone { text-align:right; }
.schedule-health { margin:0 0 12px; min-height:19px; }
.game-row { display:grid; grid-template-columns:90px minmax(0,1fr) 36px 125px 20px; gap:12px; align-items:center; padding:17px 12px;
  border-bottom:1px solid var(--line); min-height:94px; background:var(--bg-1); }
.game-row:hover { background:var(--bg-2); color:var(--text); }
.game-row[data-match-status="live"] { border-left:3px solid var(--green); padding-left:9px; }
.game-time { font:12px/1.5 var(--font-mono); color:var(--text-2); }
.game-row[data-match-status="live"] .game-time { color:var(--green); font-weight:700; }
.game-teams,.game-scores { display:flex; flex-direction:column; gap:9px; min-width:0; }
.game-teams { font-size:14px; font-weight:600; line-height:1.4; }
.game-scores { text-align:right; font:700 15px/1.3 var(--font-mono); }
.game-league { font-size:12px; line-height:1.4; color:var(--text-2); }
.game-arrow { color:var(--ux-accent); }
.schedule-more { width:100%; margin-top:16px; }
.schedule-empty { padding:30px 18px; border:1px solid var(--line); background:var(--bg-1); }
.schedule-empty h3 { font-size:18px; line-height:1.5; }
.schedule-empty p { font-size:14px; }
.rail-section { border-top:1px solid var(--line-2); padding:20px 0; }
.rail-section:first-child { border-top:2px solid var(--line-2); }
.rail-section h2 { font-size:17px; margin-bottom:10px; }
.rail-section p { font-size:14px; }
.rail-section .ux-meta { font-size:12px; margin:10px 0 0; }
.next-game { display:flex; flex-direction:column; gap:10px; font-size:14px; }
.next-game span { color:var(--text-2); font-size:12px; }
.followed-team { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:8px 0; font-size:13px; }
.followed-team .ux-button { padding:7px; font-size:12px; }
.home-stories { border-top:1px solid var(--line-2); margin-top:36px; padding-top:26px; }
.section-heading { display:flex; align-items:baseline; gap:20px; justify-content:space-between; margin-bottom:18px; }
.section-heading a { min-height:44px; display:flex; align-items:center; font-size:14px; color:var(--ux-accent); }
.home-explore { padding:36px 0; }
.home-explore p { font-size:14px; margin:16px 0 0; max-width:70ch; }
dialog { width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; color:var(--text);
  border:1px solid var(--line-2); border-radius:8px; background:var(--bg-1); box-shadow:0 24px 80px #0008; }
dialog::backdrop { background:#000a; backdrop-filter:blur(3px); }
.ux-dialog-head { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:16px; }
.ux-dialog-head h2 { font-size:20px; margin:0; }
dialog label { display:block; margin:18px 0 6px; font-size:14px; }
dialog input { width:100%; min-height:48px; padding:10px 12px; background:var(--bg); color:var(--text); border:1px solid var(--line-2); border-radius:4px; font-size:16px; }
dialog p { font-size:14px; }
dialog .row { margin-top:20px; }
#search-status { font-size:13px; margin:12px 0; }
.search-dialog .search-results { max-height:none; overflow:visible; }
.search-result { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 12px; padding:12px 0; border-top:1px solid var(--line); }
.search-result a { display:flex; align-items:center; min-height:44px; font-size:15px; font-weight:600; padding:0; }
.search-result .ux-meta { grid-row:2; }
.search-result button { grid-column:2; grid-row:1/3; align-self:center; max-width:150px; }
.ux-guide { max-width:920px; padding-top:30px; padding-bottom:40px; }
.ux-guide>h1 { font-size:36px; line-height:1.15; }
.ux-guide>section { margin-top:30px; }
.ux-guide ol { padding-left:24px; }
.ux-guide li { margin-bottom:12px; }
.watch-options p { font-size:15px; }
.watch-options .ux-meta { font-size:12px; margin:14px 0 0; }
.watch-options a:not(.ux-button) { color:var(--ux-accent); text-decoration:underline; }
.match-hero:not(.team-hero) { padding:22px 0; }
.match-hero:not(.team-hero).with-bg::before,.match-hero:not(.team-hero).with-bg::after { background:none!important; }
.match-hero.with-bg { background:var(--bg-1); color:var(--text); }
.match-hero.with-bg h1 { color:var(--text); }
.match-hero.with-bg h1 small,.match-hero.with-bg p.muted { color:var(--text-2); }
.match-hero h1 { font-size:26px; line-height:1.25; }
.match-hero h1 small { font-size:12px; line-height:1.5; margin-bottom:10px; }
.match-hero .vs-block { margin:16px 0; }
.match-actions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.match-section-nav { display:flex; gap:20px; overflow:auto; border-top:1px solid var(--line); margin-top:14px; }
.match-section-nav a { min-height:44px; display:flex; align-items:center; white-space:nowrap; font-size:14px; color:var(--ux-accent); }
[id^="match-"] { scroll-margin-top:90px; }
.match-details-label { font-size:12px; color:var(--ux-accent); display:block; }
.match .match-cta { margin-top:10px; }
.team-hero .badge-row { display:none; }
.team-hero .team-id-row { margin-top:0!important; }
.team-hero .team-logo-card { max-width:80px; }
.team-hero { padding:22px 0; }
.match-hero.team-hero.with-bg { padding:20px 0; }
.match-hero.team-hero.with-bg::before,.match-hero.team-hero.with-bg::after { background:none!important; }
.team-hero .kpi-strip { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; }
.team-hero .kpi-tile { flex:1; min-width:130px; border-radius:4px; background:var(--bg-2); backdrop-filter:none; }
.team-hero .kpi-sub { font-size:12px; }
.kpi-label,.nu-team .sub,.prv-label,.table-wrap th,.disclosure span,.h2-meta { font-size:12px!important; }
.team-hero .next-up-card { max-width:860px; margin-top:16px; }
.team-hero .next-up-card .nu-tag { font-size:12px; color:var(--ux-accent); }
.team-hero .next-up-card { background:var(--bg-2); border-color:var(--line-2); }
.team-hero .next-up-card .nu-actions .btn-primary { background:var(--orange); }
#standings,#league-games,#league-watch { scroll-margin-top:90px; }
.article-game-context { border-top:1px solid var(--line-2); margin:28px 0; padding-top:24px; }
.team-hero .editorial-byline { font-size:12px; }
.archive-notice { border-left:3px solid var(--ux-accent); padding:12px 16px; background:var(--bg-2); margin:16px 0; font-size:14px; }
.footer a { min-height:32px; display:inline-flex; align-items:center; }
.footer p,.footer li { font-size:13px; }
@media(max-width:1000px) {
  .schedule-layout { grid-template-columns:minmax(0,1fr) 240px; gap:24px; }
  .game-row { grid-template-columns:76px minmax(0,1fr) 30px 20px; }
  .game-league { grid-column:2; grid-row:2; font-size:12px; }
  .game-arrow { grid-column:4; grid-row:1; }
  .game-row { gap:5px 10px; }
}
@media(max-width:767px) {
  .container { padding-left:16px; padding-right:16px; }
  .header-inner { gap:8px; min-height:60px; }
  .header .logo { margin-right:auto; }
  .header .logo img { width:153px; }
  .header .search-btn { display:inline-flex; padding:10px; }
  .search-btn .label,.search-btn kbd { display:none; }
  .theme-btn { padding:10px; }
  .nav.open a { min-height:48px; justify-content:flex-start; }
  .disclosure { font-size:10px; line-height:1.45; }
  .schedule-home { padding-top:20px; }
  .schedule-heading { flex-wrap:wrap; gap:12px; margin-bottom:16px; }
  .schedule-heading h1 { font-size:29px; }
  .schedule-heading p { font-size:14px; }
  .schedule-heading .eyebrow { display:none; }
  .preferences-trigger { min-height:44px; font-size:12px; }
  .schedule-layout { display:block; }
  .schedule-tabs button { font-size:12px; padding:10px 8px; }
  .schedule-filters { padding:12px 0; gap:10px; }
  .schedule-caption h2 { font-size:16px; }
  .schedule-caption #schedule-zone { font-size:12px; }
  .game-row { grid-template-columns:66px minmax(0,1fr) 28px 12px; padding:14px 8px; min-height:103px; gap:5px 8px; }
  .game-row[data-match-status="live"] { padding-left:5px; }
  .game-teams { font-size:13px; }
  .game-time { font-size:12px; }
  .game-scores { font-size:14px; }
  .schedule-rail { margin-top:28px; }
  .rail-section { padding:18px 0; }
  .home-stories { margin-top:20px; }
  .section-heading h2 { font-size:19px; }
  .match-hero h1 { font-size:22px; }
  .match-hero .vs-block { gap:12px; }
  .match-hero .vs-team img { width:40px; height:40px; object-fit:contain; }
  .match-hero .vs-team .nm { font-size:14px; }
  .match-hero .vs-team .sub { font-size:12px; }
  .team-hero .team-id-row { grid-template-columns:60px minmax(0,1fr); gap:14px; }
  .team-hero .team-logo-card { width:60px; height:60px; border-radius:6px; padding:8px; }
  .team-hero h1 { font-size:22px; }
  .team-hero .team-meta { font-size:12px; gap:6px; }
  .team-hero .editorial-byline { font-size:12px; }
  .match-actions .ux-button { flex:1 1 44%; font-size:12px; }
  .match-section-nav { gap:18px; }
  .ux-guide>h1 { font-size:28px; }
  dialog { padding:18px; }
  .ux-dialog-head h2 { font-size:18px; }
  .search-result { grid-template-columns:1fr; }
  .search-result button { grid-column:1; grid-row:3; max-width:none; justify-self:start; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
