@import url("https://fonts.googleapis.com/css2?family=Special+Gothic:wght@400;500;600;700&display=swap");

/* Shared typography tokens */
:root {
  --font-sans: "Special Gothic", Aptos, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --bs-body-font-family: var(--font-sans);

  --rem-1px: 0.0625rem;
  --space-0: 0;
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.125rem;  /* 18px */
  --space-6: 1.5rem;    /* 24px */
  --space-7: 1.875rem;  /* 30px */
  --space-8: 2.25rem;   /* 36px */

  --font-10: 0.625rem;
  --font-11: 0.6875rem;
  --font-12: 0.75rem;
  --font-13: 0.8125rem;
  --font-14: 0.875rem;
  --font-15: 0.9375rem;
  --font-16: 1rem;
  --font-17: 1.0625rem;
  --font-18: 1.125rem;
  --font-19: 1.1875rem;
  --font-20: 1.25rem;
  --font-22: 1.375rem;
  --font-24: 1.5rem;
}

body {
  font-family: var(--font-sans);
}

/* Shared app shell, homepage, and team page styles. */
:root {
  --bg: #edf3f8;
  --bg-2: #f7fafc;
  --panel: #ffffff;
  --panel-2: #f8fbff;
  --panel-3: #eef6ff;
  --border: #dbe5ef;
  --border-soft: rgba(100, 116, 139, .20);
  --text: #132033;
  --muted: #637286;
  --muted-2: #8b9bad;
  --blue: #2563eb;
  --cyan: #0891b2;
  --green: #059669;
  --amber: #d97706;
  --red: #e11d48;
  --purple: #7c3aed;
  --radius: 1rem;
  --shadow: 0 1.125rem 2.75rem rgba(15, 23, 42, .08);
  --header-h: 4.5rem;
  --footer-h: 2.875rem;
  --ticker-header-width: 8rem;
  --ticker-content-gap: 1.25rem;
  --ticker-flip-duration: 460ms;
  --ticker-flip-easing: cubic-bezier(.22, 1, .36, 1);
  --video-feed-height: 9.6875rem;
  --video-card-height: 7.8125rem;
  --video-column-gap: var(--space-4);
  --header-bg: #000;
  --header-fg: #fff;
  --header-nav-gap: 0.875rem;
  --header-navbar-x: var(--space-4);
  --header-navbar-inner-gap: var(--space-5);
  --header-brand-gap: var(--space-3);
  --header-brand-min-width: 11.875rem;
  --header-logo-size: 2.25rem;
  --header-logo-radius: var(--space-3);
  --header-brand-name-size: var(--font-19);
  --iw-skeleton-base: #ebe3d4;
  --iw-skeleton-top: rgba(255, 255, 255, 0.16);
  --iw-skeleton-bottom: rgba(255, 255, 255, 0.02);
  --iw-skeleton-sheen: rgba(255, 255, 255, 0.42);
  --iw-skeleton-surface: rgba(255, 255, 255, 0.90);
  --iw-skeleton-surface-accent: rgba(37, 99, 235, 0.055);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; height: 100%; }
body, html, .header, .footer, .navbar, .main, .left-column, .middle-column, .right-column, .video-section, .video-feed-section { margin: 0; padding: 0; }
body {
  min-height: 100%;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 28%),
    radial-gradient(circle at top right, rgba(8, 145, 178, .08), transparent 30%),
    linear-gradient(180deg, #eef4fa 0%, #f6f9fc 54%, #eaf1f8 100%);
  color: var(--text);
  overflow-x: hidden;
  overflow-y: hidden;
}
a { color: inherit; text-decoration: none; }
.container-fluid { width: 100%; min-height: 100vh; background: transparent; }
.row { min-height: 100vh; display: grid; grid-template-rows: var(--header-h) minmax(0, calc(100vh - var(--header-h) - var(--footer-h))) var(--footer-h); }
.header {
  min-height: var(--header-h);
  border-bottom: 1px solid var(--border-soft);
  background: var(--header-bg);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 40;
}
.navbar { height: var(--header-h); width: 100%; display: flex; align-items: center; gap: var(--header-navbar-inner-gap); padding: 0 var(--header-navbar-x); }
.navbar-brand { display: flex; align-items: center; gap: var(--header-brand-gap); min-width: var(--header-brand-min-width); font-weight: 700; letter-spacing: -.03em; }
.logo-mark { width: var(--header-logo-size); height: var(--header-logo-size); display: grid; place-items: center; border-radius: var(--header-logo-radius); color: #fff; background: linear-gradient(135deg, var(--blue), #60a5fa); box-shadow: none; font-weight: 700; }
.brand-copy span:first-child { display: block; font-size: 1.1875rem; color: #000; line-height: 1; }
.brand-copy span:last-child { display: block; margin-top: 0.25rem; font-size: 0.625rem; color: #000; text-transform: uppercase; letter-spacing: .12em; }
.dropdown { position: relative; }
.dropdown > button, .nav-link, .header-chip { appearance: none; border: 1px solid transparent; background: transparent; color: var(--muted); border-radius: 999px; padding: 0.625rem 0.75rem; font: inherit; font-weight: 600; cursor: pointer; }
.dropdown > button:hover, .nav-link:hover, .nav-link.active { color: var(--blue); background: rgba(37, 99, 235, .08); border-color: rgba(37, 99, 235, .18); }
.dropdown-menu { position: absolute; top: 2.625rem; left: 0; min-width: 11.25rem; padding: 0.5rem; border: 1px solid var(--border); border-radius: 0.875rem; background: #fff; box-shadow: var(--shadow); display: none; z-index: 50; }
.dropdown-menu a { display: block; padding: 0.625rem 0.75rem; border-radius: 0.625rem; color: var(--muted); }
.dropdown-menu a:hover { color: var(--blue); background: var(--panel-3); }
.navbar-nav { display: flex; align-items: center; gap: 0.25rem; margin-left: auto; list-style: none; padding: 0; }
.header-search { width: min(22.5rem, 26vw); height: 2.5rem; border: 1px solid var(--border); background: #f3f7fb; color: var(--muted); border-radius: 999px; padding: 0 0.875rem; display: flex; align-items: center; gap: 0.5rem; margin-left: auto; }
.header-chip { background: rgba(5, 150, 105, .08); border-color: rgba(5, 150, 105, .18); color: var(--green); white-space: nowrap; }
.main { min-height: 0; height: calc(100vh - var(--header-h) - var(--footer-h)); display: grid; grid-template-columns: minmax(0, 1.54fr) minmax(17.5rem, .82fr) minmax(20rem, .92fr); gap: 1rem; padding: 0 1rem; background: transparent; overflow: hidden; }
.left-column, .middle-column, .right-column { min-width: 0; min-height: 0; overflow: hidden; }
.left-column { height: 100%; display: flex; flex-direction: column; gap: var(--video-column-gap); }
.video-section { position: relative; flex: 1 1 auto; min-height: 0; height: auto; border: 1px solid var(--border); overflow: hidden; background: #0f172a; box-shadow: var(--shadow); }
.video-section iframe, .video-stage { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-section iframe { background:#0f172a; }
.video-stage { display:none; pointer-events:none; display: grid; align-items: end; padding: 1.75rem; background: linear-gradient(180deg, rgba(15,23,42,.03) 0%, rgba(15,23,42,.18) 38%, rgba(15,23,42,.78) 100%); }
.video-stage:before { content: ""; position: absolute; inset: 1.375rem; border: 1px solid rgba(255,255,255,.20); border-radius: 1.125rem; pointer-events: none; }
.play-mark { width: 4.25rem; height: 4.25rem; display: grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--blue); border: 1px solid rgba(255,255,255,.75); box-shadow: 0 0.75rem 1.75rem rgba(15,23,42,.18); font-size: 1.75rem; margin-bottom: 1.125rem; }
.video-copy { position: relative; max-width: 47.5rem; z-index: 2; color:#fff; text-shadow: 0 0.125rem 0.875rem rgba(0,0,0,.35); }
.video-copy .eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4375rem 0.625rem; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--blue); border: 1px solid rgba(255,255,255,.75); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 0.75rem; text-shadow:none; }
.video-copy h1 { margin: 0; font-size: clamp(2.125rem, 4vw, 3.875rem); line-height: .95; letter-spacing: -.07em; }
.video-copy p { color: rgba(255,255,255,.86); font-size: 1rem; line-height: 1.5; margin: 0.75rem 0 0; max-width: 38.75rem; }
.video-feed-section { flex: 0 0 var(--video-feed-height); height: var(--video-feed-height); overflow-x: auto; overflow-y: hidden; white-space: nowrap; padding: 0.375rem 0 1rem 1rem; }
.video-feed-section .card { display: inline-block; width: 18rem; height: var(--video-card-height); margin-right: 0.625rem; cursor: pointer; border: 1px solid var(--border); overflow: hidden; background: var(--panel); vertical-align: top; box-shadow: none; }
.video-card .position-relative { position: relative; height: 100%; background: #0f172a; }
.video-card .video-thumbnail { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; opacity:.78; }
.video-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 0.875rem; background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96)); color:#fff; }
.video-card.active { border-color: rgba(37, 99, 235, .52); box-shadow: none; }
.video-card h5 { margin: 0; font-size: 0.9375rem; line-height: 1.18; white-space: normal; letter-spacing:-.02em; }
.video-card p { margin: 0.4375rem 0 0; color: rgba(255,255,255,.78); font-size: 0.75rem; }
.content-section, .site-info-section { height: 100%; overflow-y: auto; padding: 1rem 1rem 1rem 1rem; }
.section-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 0.75rem; margin: 0 0 0.75rem; }
.section-title h1, .section-title h2 { margin: 0; color: var(--text); font-size: 1.5rem; line-height: 1.05; font-weight: 700; letter-spacing: -.04em; }
.section-title h1 { text-transform: uppercase; }

.team-title-accent {
  font-weight: 400;
}

.story-card { border-top: 1px solid var(--border-soft); padding: 0.9375rem 0; }
.story-card h5 { margin: 5px 0 0 0; font-size: clamp(1.0625rem, 1.4vw, 1.375rem); line-height: 1.12; letter-spacing: -.045em; }
.story-card h5 a:hover { text-decoration: underline; text-decoration-color: var(--blue); }
.card-meta { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; color: var(--muted-2); font-size: 0.75rem; font-weight: 700; }
.label { display: inline-flex; align-items: center; padding: 0.25rem 0.5rem; border-radius: 999px; border: 1px solid var(--label-border, rgba(37,99,235,.24)); background: var(--label-bg, rgba(37,99,235,.09)); color: var(--label-color, var(--blue)); font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.label.video { --label-bg: rgba(8,145,178,.10); --label-color: var(--cyan); --label-border: rgba(8,145,178,.24); }
.label.rumor { --label-bg: rgba(217,119,6,.10); --label-color: var(--amber); --label-border: rgba(217,119,6,.24); }
.label.trade { --label-bg: rgba(225,29,72,.09); --label-color: var(--red); --label-border: rgba(225,29,72,.24); }
.label.podcast { --label-bg: rgba(124,58,237,.09); --label-color: var(--purple); --label-border: rgba(124,58,237,.24); }
.label.data { --label-bg: rgba(5,150,105,.09); --label-color: var(--green); --label-border: rgba(5,150,105,.24); }
.module-card { border: 1px solid var(--border); background: rgba(255,255,255,.90); border-radius: var(--radius); padding: 1rem; margin-bottom: 0.875rem; box-shadow: none; }
.module-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.875rem; }
.module-head h2 { margin: 0; color: var(--text); font-size: 1.375rem; line-height: 1.08; font-weight: 700; letter-spacing: -.035em; text-transform: uppercase; }
.module-head p { margin: 0.3125rem 0 0; color: var(--muted); font-size: 0.75rem; }
.pill-row { display: flex; gap: 0.4375rem; overflow-x: auto; padding-bottom: 0.375rem; margin-bottom: 0.75rem; }
.tab-btn { border: 1px solid var(--border); background: var(--panel-2); color: var(--muted); border-radius: 999px; padding: 0.5rem 0.6875rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.tab-btn.active { background: rgba(37, 99, 235, .10); border-color: rgba(37, 99, 235, .28); color: var(--blue); }
.tab-pane { display: none; }
.tab-pane.active { display: block; }
.line-item { display: grid; grid-template-columns: 1fr auto; gap: 0.75rem; align-items: center; padding: 0.6875rem 0; border-bottom: 1px solid var(--border-soft); }
.line-item:last-child { border-bottom: 0; }
.line-item b { display: block; font-size: 0.875rem; }
.line-item small { display: block; margin-top: 0.25rem; color: var(--muted); font-size: 0.75rem; }
.score { font-weight: 700; color: var(--text); white-space: nowrap; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.625rem; }
.mini-stat { border: 1px solid var(--border); border-radius: 0.875rem; padding: 0.75rem; background: var(--panel-2); }
.mini-stat span { display: block; color: var(--muted); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.mini-stat b { display: block; margin-top: 0.5rem; font-size: 1.5rem; letter-spacing: -.05em; }
.race-row { margin: 0.75rem 0; }
.race-row-top { display: flex; justify-content: space-between; gap: 0.625rem; font-size: 0.8125rem; font-weight: 600; }
.bar { height: 0.5625rem; border-radius: 999px; margin-top: 0.4375rem; background: #dce7f1; overflow: hidden; }
.bar > i { display: block; height: 100%; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, var(--blue), #60a5fa); }
.bar.green > i { background: linear-gradient(90deg, #10b981, var(--green)); }
.bar.amber > i { background: linear-gradient(90deg, #d97706, var(--amber)); }
.bar.red > i { background: linear-gradient(90deg, #e11d48, var(--red)); }
.leader-card { display: grid; grid-template-columns: 2.625rem 1fr auto; gap: 0.625rem; align-items: center; padding: 0.625rem 0; border-bottom: 1px solid var(--border-soft); }
.leader-card:last-child { border-bottom: 0; }
.avatar { width: 2.625rem; height: 2.625rem; border-radius: 0.8125rem; display: grid; place-items: center; background: rgba(37, 99, 235, .10); color: var(--blue); font-weight: 700; }
.leader-card b { display: block; font-size: 0.875rem; }
.leader-card small { color: var(--muted); }
.leader-card .number { font-size: 1.125rem; font-weight: 700; color: var(--text); }
.compact-table { width: 100%; border-collapse: collapse; }
.compact-table th, .compact-table td { border-bottom: 1px solid var(--border-soft); padding: 0.625rem 0.5rem; text-align: left; font-size: 0.8125rem; }
.compact-table th { color: var(--muted); font-size: 0.6875rem; letter-spacing: .08em; text-transform: uppercase; }
.accent-row td { color: var(--blue); font-weight: 600; }
.form-strip { display:flex; gap: 0.3125rem; flex-wrap:wrap; margin-top: 0.5rem; }
.form-dot { width: 1.5rem; height: 1.5rem; border-radius: 999px; display:grid; place-items:center; font-size: 0.6875rem; font-weight: 700; color:#fff; }
.form-dot.w { background: var(--green); }
.form-dot.l { background: var(--red); }
.form-dot.o { background: var(--amber); }
.footer { min-height: var(--footer-h); border-top: 1px solid var(--border-soft); background: rgba(255,255,255,.94); overflow: hidden; display: flex; align-items: center; }
body.has-no-ticker { --footer-h: 0rem; }
[data-ticker-shell][hidden] { display: none !important; }
.ticker-wrap { position: relative; width: 100%; min-width: 0; height: 100%; overflow: hidden; white-space: nowrap; cursor: default; }
.ticker-stage { position: relative; width: 100%; min-width: 0; height: var(--footer-h); min-height: var(--footer-h); overflow: hidden; perspective: 800px; }
.ticker-group-panel { position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; min-width: 0; opacity: 0; visibility: hidden; pointer-events: none; backface-visibility: hidden; transform-origin: center center; }
.ticker-group-panel.is-active { z-index: 1; opacity: 1; visibility: visible; pointer-events: auto; }
.ticker-group-header { position: absolute; inset: 0 auto 0 0; z-index: 3; display: flex; align-items: center; justify-content: center; width: var(--ticker-header-width); padding: 0 0.875rem; overflow: hidden; background: var(--black, #111); border-right: 1px solid rgba(255,255,255,.13); color: var(--cream, #fffaf1); font-family: var(--font-mono, inherit); font-size: 0.6875rem; font-weight: 800; letter-spacing: .16em; line-height: 1; text-align: center; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.ticker-group-header::after { position: absolute; top: 0; bottom: 0; left: 100%; width: 1rem; content: ""; background: linear-gradient(90deg, rgba(17,17,17,.24), transparent); pointer-events: none; }
.ticker-group-viewport { position: absolute; inset: 0; min-width: 0; max-width: 100%; overflow: hidden; contain: none; }
.ticker-track { display: inline-flex; align-items: center; gap: 1.875rem; width: max-content; min-width: max-content; height: 100%; padding-left: calc(var(--ticker-header-width) + var(--ticker-content-gap)); transform: translate3d(0,0,0); }
.ticker-track.is-running { will-change: transform; animation: ticker-scroll var(--ticker-duration, 42s) linear infinite; animation-delay: var(--ticker-delay, 0s); }
.ticker-wrap.is-paused .ticker-track.is-running { animation-play-state: paused; }
.ticker-wrap[data-group-scroll="true"]
.ticker-group-panel.is-active
.ticker-group-viewport { cursor: grab; }
.ticker-wrap[data-group-scroll="true"].is-dragging
.ticker-group-panel.is-active
.ticker-group-viewport { cursor: grabbing; user-select: none; }
.ticker-wrap[data-group-scroll="true"]
.ticker-group-header,
.ticker-wrap[data-group-scroll="true"].is-dragging
.ticker-group-header { cursor: default; pointer-events: auto; user-select: none; }
.ticker-track.is-dragging { animation: none !important; }
.ticker-wrap:not([data-ticker-ready="true"]) .ticker-stage { opacity: 0; visibility: hidden; }
.ticker-wrap[data-ticker-ready="true"] .ticker-stage { opacity: 1; visibility: visible; }
.ticker-item { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--text); font-size: 1.125rem; font-weight: normal; padding: 0; background: transparent; border: 0; border-radius: 0; }
.ticker-item:after { content: ""; margin-left: 1.0625rem; }
.ticker-track > .ticker-item:last-child::after { content: none; margin-left: 0; }
.ticker-item .muted { color: var(--muted); font-weight: 600; }
.ticker-item--clone { pointer-events: none; }
.ticker-group-panel.is-flip-out { z-index: 2; visibility: visible; animation: ticker-group-flip-out var(--ticker-flip-duration) var(--ticker-flip-easing) both; }
.ticker-group-panel.is-flip-in { z-index: 3; visibility: visible; animation: ticker-group-flip-in var(--ticker-flip-duration) var(--ticker-flip-easing) both; }
@keyframes ticker-scroll { from { transform: translate3d(0,0,0); } to { transform: translate3d(var(--ticker-translate-end, -50%),0,0); } }
@keyframes ticker-group-flip-out { from { opacity: 1; transform: translateY(0) rotateX(0deg); } to { opacity: 0; transform: translateY(-0.3rem) rotateX(-70deg); } }
@keyframes ticker-group-flip-in { from { opacity: 0; transform: translateY(0.3rem) rotateX(70deg); } to { opacity: 1; transform: translateY(0) rotateX(0deg); } }
::-webkit-scrollbar { width: 0.375rem; height: 0.375rem; }
::-webkit-scrollbar-track { background: rgba(15,23,42,.06); border-radius: 999px; }
::-webkit-scrollbar-thumb { background: rgba(100,116,139,.42); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--blue); }
@media (max-height: 760px) and (min-width: 901px) { :root { --video-feed-height: 8.5rem; --video-card-height: 7.375rem; --video-column-gap: 0.75rem; } .video-section { min-height: 0; } .story-card h5 { font-size: 1.0625rem; } }
@media (max-width: 1180px) { .main { grid-template-columns: minmax(0, 1.4fr) minmax(16.25rem, .9fr); overflow-y: auto; height: auto; min-height: calc(100vh - var(--header-h) - var(--footer-h)); } .right-column { grid-column: 1 / -1; overflow: visible; } .site-info-section { overflow: visible; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem; } .site-info-section > .section-title { grid-column: 1 / -1; } }
@media (max-width: 820px) { :root { --header-h: auto; --footer-h: 3.25rem; } .row { display: block; min-height: 100vh; } .header { position: relative; } .navbar { height: auto; min-height: 4.375rem; flex-wrap: wrap; align-items: center; padding: 0.875rem; } .header-search { width: 100%; order: 3; margin-left: 0; } .navbar-nav { width: 100%; order: 4; margin-left: 0; overflow-x: auto; } .header-chip { display: none; } .main { display: flex; flex-direction: column; height: auto; min-height: 0; overflow: visible; padding: 0 0.875rem; } .left-column, .middle-column, .right-column { width: 100%; overflow: visible; } .left-column { height: auto; overflow: visible; display: flex; flex-direction: column; } .video-section { flex: none; height: auto; min-height: 0; aspect-ratio: 16 / 9; } .video-feed-section { flex: none; height: auto; max-height: none; padding-bottom: 0.625rem; } .video-feed-section .card { height: 7.8125rem; } .content-section, .site-info-section { overflow: visible; height: auto; padding: 1rem 1rem 1rem 1rem; } .site-info-section { display: block; } .footer { position: sticky; bottom: 0; z-index: 50; } }

.video-overlay p{display:flex;align-items:center;gap: 0.375rem;flex-wrap:wrap}
.video-overlay .channel{font-weight: 600;color:#fff}
.video-overlay .sep{opacity:.68}
.feature-panel{position:relative;height: calc(100% - 10.6875rem);min-height: 26.875rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,#ffffff,#f7fbff);box-shadow:var(--shadow);padding: 1.375rem}
.feature-panel.hero-soft{background:radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 26%), linear-gradient(180deg,#ffffff,#f5f9ff)}
.feature-panel h1,.feature-panel h2{margin:0;font-size: clamp(2.125rem,4vw,3.625rem);line-height:.96;letter-spacing:-.06em}
.feature-panel h2{font-size: clamp(1.75rem,3vw,2.5rem)}
.feature-panel p{margin: 0.75rem 0 0;color:var(--muted);line-height:1.55;font-size: 0.9375rem;max-width: 47.5rem}
.feature-panel .eyebrow{display:inline-flex;align-items:center;gap: 0.5rem;padding: 0.4375rem 0.625rem;border-radius: 999px;background:rgba(37,99,235,.08);color:var(--blue);border:1px solid rgba(37,99,235,.16);font-size: 0.75rem;font-weight: 600;text-transform:uppercase;letter-spacing:.08em;margin-bottom: 0.75rem}
.feature-panel .metric-strip{display:flex;gap: 0.625rem;flex-wrap:wrap;margin-top: 1.125rem}
.feature-panel .metric{border:1px solid var(--border);background:rgba(255,255,255,.74);border-radius: 0.875rem;padding: 0.625rem 0.75rem;min-width: 7.5rem}
.feature-panel .metric span{display:block;color:var(--muted);font-size: 0.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight: 600}
.feature-panel .metric b{display:block;margin-top: 0.5rem;font-size: 1.375rem;letter-spacing:-.04em}
.feature-panel .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap: 1rem;margin-top: 1.125rem}
.feature-panel .note-box{border:1px solid var(--border);border-radius: 1rem;padding: 0.875rem;background:rgba(255,255,255,.72)}
.feature-panel .note-box b{display:block;font-size: 0.875rem;margin-bottom: 0.375rem}
.feature-panel .note-box small{color:var(--muted)}
.feature-rail{height: 9.6875rem;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding: 0.625rem 0.125rem 0}
.feature-card{display:inline-block;vertical-align:top;width: 15.9375rem;height: 7.8125rem;margin-right: 0.625rem;border:1px solid var(--border);border-radius: 1rem;background:var(--panel);box-shadow:none;padding: 0.875rem;white-space:normal}
.feature-card h4{margin:0;font-size: 0.9375rem;line-height:1.18;letter-spacing:-.02em}
.feature-card p{margin: 0.5rem 0 0;color:var(--muted);font-size: 0.75rem;line-height:1.45}
.feature-card .tiny{display:block;color:var(--muted-2);font-size: 0.6875rem;font-weight: 600;text-transform:uppercase;letter-spacing:.08em;margin-bottom: 0.5rem}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap: 0.5rem;margin-top: 1.125rem}
.calendar-head{font-size: 0.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight: 600;text-align:center}
.calendar-cell{min-height: 4.75rem;border:1px solid var(--border);border-radius: 0.875rem;background:rgba(255,255,255,.75);padding: 0.5rem}
.calendar-cell .day{font-size: 0.6875rem;color:var(--muted-2);font-weight: 600}
.calendar-cell strong{display:block;margin-top: 0.375rem;font-size: 0.75rem;line-height:1.25}
.calendar-cell.highlight{border-color:rgba(37,99,235,.28);background:rgba(37,99,235,.08)}
.calendar-cell.accent{border-color:rgba(217,119,6,.28);background:rgba(217,119,6,.08)}
.copy-list{display:grid;gap: 0.75rem;margin-top: 1.125rem}
.copy-list .item{border:1px solid var(--border);border-radius: 1rem;background:rgba(255,255,255,.72);padding: 0.875rem}
.copy-list .item b{display:block;font-size: 0.875rem}
.copy-list .item p{margin: 0.375rem 0 0;font-size: 0.8125rem;color:var(--muted)}
.source-card{padding: 0.875rem 0;border-top:1px solid var(--border-soft)}
.source-card:first-of-type{border-top-color:transparent;padding-top:0}
.source-card h5{margin: 0.375rem 0 0;font-size: 1.125rem;line-height:1.15;letter-spacing:-.03em}
.source-card p{margin: 0.375rem 0 0;color:var(--muted);font-size: 0.8125rem;line-height:1.48}
.source-card .source-actions{display:flex;gap: 0.625rem;flex-wrap:wrap;margin-top: 0.625rem}
.source-badge{display:inline-flex;align-items:center;padding: 0.375rem 0.625rem;border-radius: 999px;background:var(--panel-3);color:var(--blue);font-size: 0.75rem;font-weight: 600;border:1px solid rgba(37,99,235,.18)}
.prose-card{border-top:1px solid var(--border-soft);padding: 1rem 0}
.prose-card:first-of-type{border-top-color:transparent;padding-top:0}
.prose-card h5{margin:0;font-size: 1.375rem;line-height:1.1;letter-spacing:-.04em}
.prose-card p{margin: 0.5rem 0 0;color:var(--muted);font-size: 0.875rem;line-height:1.65}
.bullet-list{margin: 0.625rem 0 0;padding-left: 1.125rem;color:var(--muted);font-size: 0.875rem;line-height:1.6}
.tag-cluster{display:flex;gap: 0.5rem;flex-wrap:wrap}
.kpi-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap: 0.625rem}
.kpi-grid-3 .mini-stat b{font-size: 1.25rem}
@media (max-width:1180px){.feature-panel .hero-grid,.kpi-grid-3,.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-head:nth-child(n+8),.calendar-cell:nth-child(n+15){display:none}}
@media (max-width:820px){.feature-panel{height:auto;min-height:0}.feature-panel .hero-grid,.kpi-grid-3,.calendar-grid{grid-template-columns:1fr}.calendar-head{display:none}.feature-rail{height:auto;white-space:normal}.feature-card{display:block;width:100%;margin-right:0;margin-bottom: 0.625rem;height:auto}}


/* Season-phase orchestration additions */
.phase-kicker{display:inline-flex;align-items:center;gap: 0.5rem;padding: 0.4375rem 0.625rem;border-radius: 999px;background:rgba(255,255,255,.92);color:var(--blue);border:1px solid rgba(255,255,255,.74);font-size: 0.75rem;font-weight: 700;text-transform:uppercase;letter-spacing:.08em;margin-bottom: 0.75rem;text-shadow:none}
.video-stage .metric-strip{display:flex;gap: 0.625rem;flex-wrap:wrap;margin-top: 1.125rem}
.video-stage .metric{border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius: 0.875rem;padding: 0.625rem 0.75rem;min-width: 8.25rem;color:#fff}
.video-stage .metric span{display:block;color:rgba(255,255,255,.76);font-size: 0.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight: 600;text-shadow:none}
.video-stage .metric b{display:block;margin-top: 0.4375rem;font-size: 1.375rem;letter-spacing:-.04em;text-shadow: 0 0.125rem 0.75rem rgba(0,0,0,.28)}
.phase-panel{border:1px solid var(--border);background:linear-gradient(180deg,#ffffff,#f8fbff);border-radius:var(--radius);padding: 1rem;margin-bottom: 0.875rem;box-shadow:none}
.phase-panel .module-head{margin-bottom: 0.75rem}
.phase-note{display:flex;align-items:center;gap: 0.5rem;flex-wrap:wrap;color:var(--muted);font-size: 0.75rem;font-weight: 600;margin-top: 0.5rem}
.status-pill{display:inline-flex;align-items:center;gap: 0.375rem;border:1px solid var(--border);background:var(--panel-2);border-radius: 999px;padding: 0.375rem 0.5625rem;font-size: 0.75rem;font-weight: 600;color:var(--muted)}
.status-pill.live{color:var(--red);background:rgba(225,29,72,.08);border-color:rgba(225,29,72,.20)}
.status-pill.event{color:var(--amber);background:rgba(217,119,6,.09);border-color:rgba(217,119,6,.22)}
.status-pill.data{color:var(--green);background:rgba(5,150,105,.08);border-color:rgba(5,150,105,.20)}
.story-card.priority{border:1px solid rgba(225,29,72,.22);background:rgba(225,29,72,.045);border-radius: 0.9375rem;padding: 0.875rem;margin-bottom: 0.625rem}
.story-card.priority:first-of-type{border-top-color:rgba(225,29,72,.22);padding-top: 0.875rem}
.phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap: 0.625rem;margin-top: 0.75rem}
.phase-grid .note-box{border:1px solid var(--border);border-radius: 0.875rem;background:rgba(255,255,255,.72);padding: 0.75rem}
.phase-grid .note-box b{display:block;font-size: 0.8125rem;margin-bottom: 0.3125rem}.phase-grid .note-box small{color:var(--muted)}
@media (max-width:1180px){.phase-grid{grid-template-columns:1fr}}


.video-card.live-priority { border-color: rgba(225,29,72,.62); box-shadow: none; }
.video-card.live-priority .video-overlay { background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96)); }
@keyframes liveDotPulse { 0%, 100% { opacity: .45; transform: scale(.82); } 50% { opacity: 1; transform: scale(1.18); } }
.video-section iframe#main-video-iframe { display: block; }



/* Cleanup requirements: compact header titles, rectangular pills, single-column info pages */
.ticker-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.1875rem 0.4375rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(37,99,235,.20);
  background: rgba(37,99,235,.08);
  color: var(--blue);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.1;
}
.ticker-group-panel[data-ticker-group="games"] .ticker-pill.badge {
  border-color: rgba(37,99,235,.24);
  background: rgba(37,99,235,.10);
  color: #1d4ed8;
}
.ticker-group-panel[data-ticker-group="events"] .ticker-pill.badge {
  border-color: rgba(124,58,237,.24);
  background: rgba(124,58,237,.10);
  color: #6d28d9;
}
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--lead,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--tied,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--elimination,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--advances {
  border-color: rgba(95, 74, 162, 0.30);
  background: var(--purple-note);
  color: var(--text);
}
.ticker-group-panel[data-ticker-group="series"] .ticker-copy {
  color: var(--text);
}
.ticker-item[data-ticker-state="live"] .ticker-pill.badge::after,
.ticker-item[data-ticker-bucket="current"][data-ticker-state="activeEvent"] .ticker-pill.badge::after {
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.4375rem;
  margin-left: 0.375rem;
  border-radius: 50%;
  background: #e11d48;
  animation: liveDotPulse 1.25s ease-in-out infinite;
}
.ticker-copy { color: var(--text); }
.ticker-item,
.ticker-copy {
  text-transform: uppercase;
}
.middle-column .label,
.middle-column .status-pill,
.middle-column .score,
.middle-column .source-badge,
.middle-column .tab-btn,
.right-column .label,
.right-column .status-pill,
.right-column .score,
.right-column .source-badge,
.right-column .tab-btn,
.info-primary .label,
.info-primary .status-pill,
.info-primary .score,
.info-primary .source-badge,
.info-primary .tab-btn,
.module-card .label,
.module-card .status-pill,
.module-card .score,
.module-card .source-badge,
.module-card .tab-btn,
.card-meta .label {
  border-radius: 0.375rem !important;
}
.info-page.single-column {
  grid-template-columns: minmax(0, 1fr) !important;
}
.info-page.single-column .info-primary,
.info-page.single-column .content-section {
  width: 100%;
}


/* Bootstrap 5.3.8 compatibility locks: preserve the approved mockup geometry. */
.container-fluid { padding-right: 0; padding-left: 0; }
.row { --bs-gutter-x: 0; --bs-gutter-y: 0; margin-right: 0; margin-left: 0; }
.navbar-brand { margin-right: 0; padding-top: 0; padding-bottom: 0; color: inherit; }
.navbar-nav { flex-direction: row; margin-bottom: 0; }
.nav-link { display: inline-flex; align-items: center; }
.dropdown-menu { margin: 0; list-style: none; color: inherit; }
.dropdown > button:focus, .nav-link:focus { outline: none; box-shadow: none; }
.video-feed-section .card,
.video-card.active,
.video-card.live-priority,
.module-card,
.feature-card,
.page-intro-card,
.phase-panel { box-shadow: none; }


/* Bootstrap 5.3.8 structural migration overrides */
.container-fluid { padding-left: 0 !important; padding-right: 0 !important; }
.page-shell { width: 100%; min-height: 100vh; background: transparent; }
.header.flex-shrink-0 { width: 100%; }
.main.row > .header {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.header .navbar-collapse { align-items: center; gap: 1.125rem; }
.navbar-toggler { border-color: var(--border); border-radius: 0.75rem; padding: 0.4375rem 0.5625rem; }
.navbar-toggler:focus { box-shadow: 0 0 0 0.1875rem rgba(37,99,235,.12); }
.navbar-toggler-icon,
body[data-page-phase="utility"] .navbar-toggler-icon {
  position: relative;
  display: inline-block;
  width: 1.25rem;
  height: 0.875rem;
  background-image: none;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.navbar-toggler-icon::before,
body[data-page-phase="utility"] .navbar-toggler-icon::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 2px solid currentColor;
  transform: translateY(-50%);
}

.dropdown-toggle::after { display: none; }
.dropdown-menu.show { display: block; }
.dropdown-menu .dropdown-item { font-weight: 700; }

.main.row {
  min-height: 0;
  height: calc(100vh - var(--footer-h));
  display: flex !important;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  overflow: hidden;
}
.main.row > .left-column,
.main.row > .middle-column,
.main.row > .right-column,
.main.row > .info-primary {
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding-left: calc(var(--bs-gutter-x) * .5) !important;
  padding-right: calc(var(--bs-gutter-x) * .5) !important;
}
.main.row > .left-column {
  padding-left: 0 !important;
}
.main.row > .middle-column {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.main.row > .right-column {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
@media (min-width: 1181px) {
  body { overflow: hidden; }
  .page-shell { height: 100svh; overflow: hidden; }
  .main.row:not(.info-page) {
    height: calc(100svh - var(--footer-h));
    display: grid !important;
    grid-template-columns: 46.95% 25% 28.05%;
    grid-template-rows: var(--header-h) minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
  }
  .main.row:not(.info-page) > .header {
    grid-column: 2 / 4;
    grid-row: 1;
    height: var(--header-h);
    min-height: var(--header-h);
    position: relative;
    top: auto;
    z-index: 60;
    overflow: visible;
  }
  .main.row:not(.info-page) > .header .navbar {
    height: 100%;
    min-height: var(--header-h);
    display: flex;
    align-items: center;
    padding: 0 1rem;
  }
  .main.row:not(.info-page) > .header .navbar-brand {
    flex: 0 0 auto;
    margin-right: 1rem;
  }
  .main.row:not(.info-page) > .header .navbar-collapse {
    display: flex;
    align-items: center;
    min-width: 0;
  }
  .main.row:not(.info-page) > .header .navbar-nav {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: auto;
    min-width: 0;
  }
  .main.row:not(.info-page) > .left-column {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: stretch;
    width: auto;
    max-width: none;
    height: 100%;
    min-height: 0;
  }
  .main.row:not(.info-page) .video-section {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .main.row:not(.info-page) .video-feed-section {
    flex: 1 1 0;
    height: auto;
    min-height: var(--video-feed-height);
    max-height: none;
  }
  .main.row:not(.info-page) .video-feed-section .card.video-card {
    height: 100%;
    width: clamp(18rem, 30vw, 32.5rem);
  }
  .main.row:not(.info-page) > .middle-column {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    max-width: none;
    height: 100%;
    min-height: 0;
  }
  .main.row:not(.info-page) > .right-column {
    grid-column: 3;
    grid-row: 2;
    width: auto;
    max-width: none;
    height: 100%;
    min-height: 0;
  }
  .main.info-page.row { height: calc(100svh - var(--header-h) - var(--footer-h)); overflow: hidden; }
}
@media (max-width: 1180px) and (min-width: 821px) {
  .main.row:not(.info-page) {
    height: auto;
    min-height: calc(100svh - var(--footer-h));
    overflow: visible;
    align-content: flex-start;
  }
  .main.row:not(.info-page) > .left-column { flex: 0 0 60%; max-width: 60%; }
  .main.row:not(.info-page) > .middle-column { flex: 0 0 40%; max-width: 40%; }
  .main.row:not(.info-page) > .right-column { flex: 0 0 100%; max-width: 100%; height: auto; overflow: visible; }
}
.main.info-page.row {
  height: calc(100vh - var(--header-h) - var(--footer-h));
  overflow: hidden;
}
.main.info-page.single-column.row > .info-primary { flex: 0 0 100%; max-width: 100%; }
@media (max-width: 1180px) {
  html,
  body {
    height: auto;
    min-height: 100%;
  }

  body {
    overflow-x: hidden;
    overflow-y: auto;
  }

  .page-shell {
    min-height: 100svh;
    height: auto;
    overflow: visible;
  }

  .main.row:not(.info-page) {
    height: auto;
    min-height: calc(100svh - var(--footer-h));
    overflow: visible;
    align-content: flex-start;
  }

  .main.info-page.row {
    height: auto;
    min-height: calc(100svh - var(--header-h) - var(--footer-h));
    overflow: visible;
    align-content: flex-start;
  }

  .main.row > .left-column,
  .main.row > .middle-column,
  .main.row > .right-column,
  .main.row > .info-primary {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
}
.module-card.card { padding: 0; box-shadow: none !important; }
.module-card.card > .card-body { padding: 1rem; }
.video-feed-section .card.video-card,
.video-card.card,
.feature-card.card { box-shadow: none !important; }
.video-card .ratio { height: 100%; }
.video-card .ratio::before { display: none; }
.video-overlay.card-img-overlay { inset: 0; border-radius: 0; }
.video-overlay .card-title { margin-bottom: 0; }
.video-overlay .card-text { margin-bottom: 0; }
.feature-card.card { padding: 0; }
.feature-card.card > .card-body { padding: 0.875rem; }
.table-responsive { width: 100%; border-radius: 0.875rem; }
.directory-table.table,
.compact-table.table {
  margin-bottom: 0;
  color: var(--text);
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
  --bs-table-border-color: var(--border-soft);
  --bs-table-hover-bg: rgba(37,99,235,.04);
  --bs-table-hover-color: var(--text);
}
.directory-table.table > :not(caption) > * > *,
.compact-table.table > :not(caption) > * > * {
  padding: 0.625rem 0.5rem;
  color: inherit;
  background-color: transparent;
  border-bottom-color: var(--border-soft);
  box-shadow: none;
}
.directory-table.table th,
.compact-table.table th { color: var(--muted); }

/* Right-column season context modules. */
.context-module[data-module="events-card"],
.context-module[data-module="sources-card"],
.context-module[data-module="prediction-markets-card"] {
  overflow: hidden;
}
.right-rail-table.table {
  table-layout: fixed;
  font-size: 0.75rem;
}
.context-module[data-module="events-card"] .table-responsive,
.context-module[data-module="sources-card"] .table-responsive,
.prediction-markets-scroll {
  max-height: 21.875rem;
  overflow-y: auto;
  overflow-x: auto;
}

@media (min-width: 821px) and (max-width: 1180px) {
  [data-surface="right-context-rail"]
    .site-info-section
    > [data-module="events-card"],
  [data-surface="right-context-rail"]
    .site-info-section
    > [data-module="prediction-markets-card"],
  [data-surface="right-context-rail"]
    .site-info-section
    > [data-module="sources-card"] {
    align-self: start;
  }
}
.prediction-markets-scroll,
.context-module[data-module="events-card"] .table-responsive,
.context-module[data-module="sources-card"] .table-responsive {
  scrollbar-gutter: auto;
}
.context-module[data-module="events-card"] .table-responsive,
.context-module[data-module="sources-card"] .table-responsive {
  border-radius: 0.875rem 0.875rem 0 0;
}
.context-module[data-module="events-card"] .right-rail-table.table,
.context-module[data-module="sources-card"] .right-rail-table.table {
  table-layout: auto;
}
.context-module[data-module="events-card"] .right-rail-table th:first-child,
.context-module[data-module="events-card"] .right-rail-table td:first-child,
.context-module[data-module="sources-card"] .right-rail-table th:last-child,
.context-module[data-module="sources-card"] .right-rail-table td:last-child {
  width: 1%;
  white-space: nowrap;
}
.right-rail-table.table > :not(caption) > * > * {
  padding: 0.5625rem 0.4375rem;
  vertical-align: top;
}
.right-rail-table .event-name,
.right-rail-table .source-name {
  display: block;
  font-weight: 880;
  line-height: 1.16;
}
.right-rail-table small,
.rail-note {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.34;
}
.right-rail-table small {
  display: block;
  margin-top: 0.1875rem;
}
.right-rail-table .rail-window {
  display: block;
  color: var(--text);
  font-size: 0.71875rem;
  line-height: 1.28;
}
.right-rail-table .source-link-button.btn {
  min-height: 1.85rem;
  padding: 0.35rem 0.55rem;
  font-size: 0.65rem;
}
.rail-note {
  margin: 0.625rem 0 0;
}
.rail-infinite-sentinel {
  width: 100%;
  height: 1px;
}

.rail-infinite-sentinel[hidden],
[data-rail-infinite-item="true"][hidden] {
  display: none !important;
}

.prediction-markets-scroll {
  display: grid;
  align-content: start;
  padding-right: 1rem;
  overflow-y: auto;
  overflow-x: hidden;
}
.market-item {
  padding: 0.6875rem 0;
  border-top: 1px solid var(--border-soft);
}
.market-item:last-child {
  border-bottom: 0;
}
.market-title {
  margin: 0.375rem 0 0.625rem;
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: 1.18;
  letter-spacing: -0.025em;
}
.market-link {
  color: var(--text);
  text-decoration: none;
}
.market-link:hover,
.market-link:focus {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--link);
  text-underline-offset: 3px;
}
.market-outcomes {
  display: grid;
  gap: 0.4375rem;
}
.market-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.market-outcome-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.125rem;
  padding: 0.25rem 0.4375rem;
  border-radius: 0.375rem;
  border: 1px solid var(--border-soft);
  color: var(--text);
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}
.market-outcome-pill.yes {
  background: var(--green-note);
  border-color: rgba(47, 107, 80, 0.26);
}
.market-outcome-pill.no {
  background: var(--pink-note);
  border-color: rgba(163, 58, 58, 0.30);
}
.market-bar {
  flex: 1 1 auto;
  height: 0.5rem;
  overflow: hidden;
  border-radius: 0.375rem;
  background: rgba(235, 227, 212, 0.78);
  border: 1px solid var(--border-soft);
}
.market-fill {
  height: 100%;
  border-radius: 0.25rem;
}
.market-fill.yes { background: var(--green); }
.market-fill.no { background: var(--red); }
.market-percent {
  width: 2.375rem;
  color: var(--text);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.1;
  text-align: right;
}
.market-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  margin-top: 0.625rem;
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
}
.market-source,
.market-volume {
  min-width: 0;
}
.market-volume {
  text-align: right;
}

.source-link-button { line-height: 1.1; }
.badge.label,
.badge.event-pill,
.badge.source-badge,
.badge.score,
.badge.status-pill,
.badge.ticker-pill { white-space: nowrap; }
.card,
.module-card,
.feature-card,
.page-intro-card,
.focus-card,
.detail-card,
.summary-tile,
.leader-card,
.mini-stat { box-shadow: none !important; }
@media (max-width: 991.98px) {
  .header .navbar-collapse {
    width: 100%;
    flex-basis: 100%;
    align-items: flex-start;
    gap: 0.625rem;
    padding-top: 0.625rem;
  }
  .header .navbar-collapse .dropdown,
  .header .navbar-collapse .header-search,
  .header .navbar-collapse .navbar-nav { width: 100%; }
  .header .navbar-collapse .navbar-nav { flex-direction: row; overflow-x: auto; }
}
@media (max-width: 820px) {
  .main.row {
    display: flex !important;
    flex-direction: column;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 0;
  }
  .main.row > .left-column,
  .main.row > .middle-column,
  .main.row > .right-column,
  .main.row > .info-primary {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow: visible;
  }
  .main.info-page.row { height: auto; overflow: visible; }
}

/* Icewire visual integration layer: presentation-only reskin. */
:root {
  --bs-body-bg: #f8f3e8;
  --bs-body-color: #171512;
  --bs-link-color: #0e4f8f;
  --bs-link-hover-color: #0a3765;

  --bg: #f8f3e8;
  --bg-2: #fffaf1;
  --panel: #fffaf1;
  --panel-2: #fff4d9;
  --panel-3: #ebe3d4;

  --surface: #fffaf1;
  --surface-strong: #fff4d9;
  --ink: #171512;
  --text: #171512;
  --muted: #5c564d;
  --muted-2: #81786a;
  --soft-muted: #81786a;

  --link: #0e4f8f;
  --link-hover: #0a3765;
  --blue: #0e4f8f;
  --blue-dark: #0a3765;
  --cyan: #176875;
  --green: #2f6b50;
  --amber: #8a5c12;
  --red: #a33a3a;
  --purple: #5f4aa2;

  --border: rgba(23, 21, 18, 0.16);
  --border-soft: rgba(23, 21, 18, 0.10);
  --border-strong: rgba(23, 21, 18, 0.32);
  --line: rgba(23, 21, 18, 0.16);
  --line-strong: rgba(23, 21, 18, 0.32);

  --paper: #ebe3d4;
  --cream: #fffaf1;
  --cream-strong: #fff4d9;
  --blue-note: #d7e7f6;
  --green-note: #d4eae2;
  --purple-note: #e0d3fe;
  --yellow-note: #f4edc9;
  --pink-note: #f3d6d6;
  --orange-note: #f4dcc5;
  --white-note: #fffaf0;
  --black: #111111;
  --white: #ffffff;

  --radius: 1.125rem;
  --radius-small: 0.75rem;
  --shadow: none;
  --shadow-soft: none;
}

body {
  background:
    radial-gradient(circle at top left, rgba(14, 79, 143, 0.07), transparent 28rem),
    radial-gradient(circle at top right, rgba(126, 76, 22, 0.06), transparent 26rem),
    var(--bg);
  color: var(--text);
}

a:hover,
a:focus { color: var(--link-hover); }

.header {
  background: #ebe3d4;
  border-bottom: 1px solid var(--border);
  box-shadow: none;
  backdrop-filter: blur(12px);
}

.logo-mark {
  background: var(--text);
  color: var(--cream);
  border: 0;
  box-shadow: none;
}

.brand-copy span:first-child {
  color: #000;
  letter-spacing: -0.045em;
}

.brand-copy span:last-child {
  color: #000;
  font-family: var(--font-mono);
}

.dropdown > button,
.nav-link,
.header-chip {
  color: var(--muted);
}

.dropdown > button:hover,
.dropdown > button:focus,
.nav-link:hover,
.nav-link:focus,
.nav-link.active {
  color: var(--text);
  background: rgba(255, 244, 217, 0.72);
  border-color: var(--border);
}

.dropdown-menu {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: none;
}

.dropdown-menu a,
.dropdown-menu .dropdown-item {
  color: var(--muted);
}

.dropdown-menu a:hover,
.dropdown-menu a:focus,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  color: var(--text);
  background: var(--surface-strong);
}

.header-search {
  background: rgba(255, 250, 241, 0.82);
  border-color: var(--border);
  color: var(--muted);
}

.header-chip {
  background: var(--green-note);
  border-color: rgba(23, 21, 18, 0.18);
  color: var(--text);
  font-family: var(--font-mono);
}

.navbar-toggler {
  border-color: var(--border);
  background: var(--surface);
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 0.1875rem rgba(23, 21, 18, 0.14);
}

.module-card,
.phase-panel,
.feature-panel,
.page-intro-card,
.feature-card,
.detail-card,
.summary-tile,
.mini-stat {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: none !important;
}

.phase-panel,
.feature-panel,
.feature-panel.hero-soft,
.page-intro-card {
  background:
    radial-gradient(circle at top right, rgba(244, 237, 201, 0.42), transparent 23rem),
    var(--surface);
}

.module-card.card,
.feature-card.card,
.video-feed-section .card.video-card,
.video-card.card,
.page-intro-card.card {
  background-color: var(--surface);
  border-color: var(--border);
  box-shadow: none !important;
}

.card,
.module-card,
.feature-card,
.page-intro-card,
.focus-card,
.detail-card,
.summary-tile,
.leader-card,
.mini-stat {
  box-shadow: none !important;
}

.module-head h2,
.feature-panel h1,
.feature-panel h2,
.page-intro-card h1,
.source-card h5,
.prose-card h5,
.story-card h5,
.feature-card h4,
.detail-card h4,
.leader-card b,
.mini-stat b,
.summary-tile b {
  color: var(--text);
}

.module-head p,
.feature-panel p,
.page-intro-card p,
.source-card p,
.prose-card p,
.feature-card p,
.detail-card p,
.leader-card small,
.mini-stat span,
.summary-tile span,
.card-meta {
  color: var(--muted);
}

.card-meta,
.ticker-group-header,
.label,
.status-pill,
.source-badge,
.compact-table th,
.directory-table th,
.phase-note,
.brand-copy span:last-child,
.feature-card .tiny,
.mini-stat span,
.summary-tile span,
.event-pill,
.tab-btn,
.score,
.source-link-button.btn,
.market-source,
.market-volume,
.market-outcome-pill,
.market-percent {
  font-family: var(--font-mono);
}

.video-section {
  background: var(--black);
  border-color: var(--border);
  box-shadow: none;
}

.video-section iframe,
.video-card .position-relative,
.video-card .video-thumbnail {
  background: var(--black);
}

.video-stage {
  background: linear-gradient(180deg, rgba(17, 17, 17, 0.03) 0%, rgba(17, 17, 17, 0.18) 38%, rgba(17, 17, 17, 0.84) 100%);
}

.video-stage:before {
  border-color: rgba(255, 250, 241, 0.22);
}

.play-mark {
  background: rgba(255, 250, 241, 0.94);
  border-color: rgba(255, 250, 241, 0.78);
  color: var(--text);
  box-shadow: none;
}

.phase-kicker {
  background: rgba(255, 250, 241, 0.92);
  color: var(--text);
  border-color: rgba(255, 250, 241, 0.74);
  font-family: var(--font-mono);
}

.video-overlay {
  background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96));
  color: var(--cream);
}

.video-card.active {
  border-color: rgba(14, 79, 143, 0.52);
}

.video-card.live-priority {
  border-color: rgba(163, 58, 58, 0.62);
}

.video-card.live-priority .video-overlay {
  background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96));
}

.story-card {
  border-top-color: var(--border-soft);
}

.story-card.priority {
  background: var(--pink-note);
  border-color: rgba(163, 58, 58, 0.30);
}

.story-card.priority:first-of-type {
  border-top-color: rgba(163, 58, 58, 0.30);
}

.story-card h5 a:hover,
.story-card h5 a:focus {
  text-decoration-color: var(--link);
}

.ticker-pill,
.status-pill,
.source-badge,
.label,
.score,
.tab-btn,
.event-pill {
  border-radius: 0.375rem !important;
  border: 1px solid rgba(23, 21, 18, 0.22);
  background: rgba(255, 255, 255, 0.42);
  color: #302a22;
  font-size: 0.72rem;
  font-weight: 820;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.label.video,
.status-pill.data,
.event-pill.on-deck,
.ticker-group-panel[data-ticker-group="games"] .ticker-pill.badge {
  background: var(--blue-note);
  color: var(--text);
  border-color: rgba(14, 79, 143, 0.28);
}

.label.data,
.status-pill.data,
.event-pill.upcoming {
  background: var(--green-note);
  color: var(--text);
  border-color: rgba(47, 107, 80, 0.26);
}

.label.podcast,
.event-pill.open {
  background: var(--purple-note);
  color: var(--text);
  border-color: rgba(95, 74, 162, 0.26);
}

.label.rumor,
.status-pill.event,
.event-pill.current,
.ticker-group-panel[data-ticker-group="events"] .ticker-pill.badge {
  background: var(--yellow-note);
  color: var(--text);
  border-color: rgba(138, 92, 18, 0.28);
}
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--lead,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--tied,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--elimination,
.ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--advances {
  border-color: rgba(95, 74, 162, 0.30);
  background: var(--purple-note);
  color: var(--text);
}
.ticker-group-panel[data-ticker-group="series"] .ticker-copy {
  color: var(--cream);
}

.label.trade,
.event-pill.trade,
.event-pill.waiver,
.event-pill.buyout {
  background: var(--orange-note);
  color: var(--text);
  border-color: rgba(138, 92, 18, 0.28);
}

.status-pill.live,
.event-pill.critical {
  background: var(--pink-note);
  color: var(--text);
  border-color: rgba(163, 58, 58, 0.30);
}

.status-pill.live::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: var(--red);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.12);
}

.tab-btn.active {
  background: var(--blue-note);
  border-color: rgba(14, 79, 143, 0.28);
  color: var(--text);
}

.footer {
  background: var(--black);
  border-top: 1px solid var(--border-strong);
}

.ticker-item,
.ticker-copy {
  color: var(--cream);
}

.ticker-group-header {
  color: rgba(255, 250, 241, 0.58);
}

.ticker-item .muted {
  color: var(--muted);
}

.ticker-pill {
  background: var(--yellow-note);
  border-color: rgba(244, 237, 201, 0.38);
  color: var(--text);
}

.ticker-item[data-ticker-state="live"] .ticker-pill.badge::after,
.ticker-item[data-ticker-bucket="current"][data-ticker-state="activeEvent"] .ticker-pill.badge::after {
  background: var(--red);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.14);
}

.table-responsive {
  background: rgba(255, 250, 241, 0.72);
  border: 1px solid var(--border);
}

.directory-table.table,
.compact-table.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
  --bs-table-border-color: var(--border-soft);
  --bs-table-hover-bg: rgba(244, 237, 201, 0.38);
  --bs-table-hover-color: var(--text);
  color: var(--text);
}

.directory-table.table > :not(caption) > * > *,
.compact-table.table > :not(caption) > * > * {
  border-bottom-color: var(--border-soft);
  background-color: transparent;
  box-shadow: none;
}

.directory-table th,
.compact-table th,
.directory-table.table th,
.compact-table.table th {
  color: var(--muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.calendar-table tr.event-current td {
  background: rgba(244, 237, 201, 0.62);
}

.calendar-table tr.event-on-deck td {
  background: rgba(215, 231, 246, 0.62);
}

.calendar-table tr.event-upcoming td {
  background: rgba(212, 234, 226, 0.54);
}

.calendar-table tr.event-past {
  opacity: 0.46;
}

.calendar-table tr.event-past td {
  background: rgba(235, 227, 212, 0.52);
}

.event-pill.completed {
  background: rgba(235, 227, 212, 0.72);
  color: var(--muted);
  border-color: var(--border-soft);
}

.calendar-note {
  color: var(--muted);
}

.source-link-button.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.45rem 0.75rem;
  color: var(--cream);
  background: var(--black);
  border: 1px solid var(--black);
  border-radius: 0.375rem;
  font-size: 0.72rem;
  font-weight: 820;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.source-link-button.btn:hover,
.source-link-button.btn:focus {
  color: var(--black);
  background: var(--yellow-note);
  border-color: var(--border-strong);
}


.site-info-section > .module-card:last-child {
  margin-bottom: 0;
}

.navbar-nav .dropdown > button.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}



/* Header compaction: remove secondary brand line from nav and return space to main columns. */
@media (min-width: 821px) {
  :root { --header-h: 3.5rem; --header-navbar-inner-gap: 0.75rem; --header-navbar-x: 1rem; }
  .header { min-height: var(--header-h); }
  .navbar { height: var(--header-h); gap: var(--header-navbar-inner-gap); padding: 0 var(--header-navbar-x); }
  .navbar-brand { min-width: var(--header-brand-min-width); gap: var(--header-brand-gap); }
  .logo-mark { width: var(--header-logo-size); height: var(--header-logo-size); border-radius: var(--header-logo-radius); font-size: 1rem; }
  .brand-copy { display: flex; align-items: center; line-height: 1; }
  .brand-copy span:first-child { font-size: 1.0625rem; line-height: 1; }
  .brand-copy span:last-child { display: block !important; }
  .header .navbar-collapse { gap: 0.75rem; }
  .navbar-nav { gap: 0.125rem; }
  .dropdown > button,
  .nav-link,
  .header-chip {
    padding: 0.4375rem 0.625rem;
    font-size: 0.75rem;
    line-height: 1.1;
  }
  .dropdown-menu { top: 2.125rem; }
  .navbar-toggler { padding: 0.3125rem 0.5rem; border-radius: 0.625rem; }
}

/* Legacy navbar dropdown rules retained for older markup; current primary-navigation state is application-owned. */
@media (min-width: 992px) {
  .navbar-nav .dropdown {
    position: relative;
  }

  .navbar-nav .dropdown-menu {
    top: calc(100% + 0.375rem);
    margin-top: 0;
    display: none;
    z-index: 50;
  }

  .navbar-nav .dropdown:hover > .dropdown-menu {
    display: none;
  }

  .navbar-nav .dropdown > .dropdown-menu.show,
  .navbar-nav .dropdown:hover > .dropdown-menu.show {
    display: block;
  }
}

/* Mobile brand lock + polished sidebar navigation. */
.brand-copy {
  display: inline-flex !important;
  align-items: center !important;
  min-width: max-content;
  line-height: 1 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.brand-copy span:first-child {
  display: block !important;
  font-size: 1.1875rem !important;
  line-height: 1 !important;
  letter-spacing: -0.045em;
}
.brand-copy span:last-child {
  display: block !important;
}

.mobile-nav-close {
  display: none;
}

.mobile-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1060;
  background: rgba(17, 17, 17, 0.42);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
body.mobile-nav-open .mobile-nav-backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (min-width: 821px) {
  .brand-copy span:first-child {
    font-size: 1.1875rem !important;
  }
}

@media (min-width: 992px) {
  .mobile-nav-backdrop,
  .mobile-nav-close {
    display: none !important;
  }
}

@media (max-width: 991.98px) {
  :root { --header-h: 3.5rem; --header-navbar-inner-gap: 0.625rem; --header-navbar-x: 0.875rem; }

  body.mobile-nav-open {
    overflow: hidden;
  }

  .header {
    min-height: var(--header-h);
    z-index: 1080;
  }

  .navbar {
    height: var(--header-h) !important;
    min-height: var(--header-h) !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: var(--header-navbar-inner-gap) !important;
    padding: 0 var(--header-navbar-x) !important;
  }

  .navbar-brand {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    gap: var(--header-brand-gap) !important;
  }

  .logo-mark {
    width: var(--header-logo-size) !important;
    height: var(--header-logo-size) !important;
    border-radius: var(--header-logo-radius) !important;
    font-size: 1rem !important;
    flex: 0 0 var(--header-logo-size);
  }

  .brand-copy,
  .brand-copy span:first-child {
    font-size: 1.1875rem !important;
  }

  .navbar-toggler {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0.375rem 0.5rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: rgba(255, 250, 241, 0.92);
  }

  .header .navbar-collapse {
    position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(86vw, 22.5rem) !important;
    height: 100svh !important;
    max-height: 100svh;
    flex-basis: auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 1.375rem 1rem 1.625rem !important;
    background:
      radial-gradient(circle at top right, rgba(14, 79, 143, 0.10), transparent 16rem),
      var(--panel);
    border-left: 1px solid var(--border);
    box-shadow: -1.5rem 0 3.25rem rgba(17, 17, 17, 0.18);
    overflow-y: auto;
    z-index: 1070;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease;
  }

  .header .navbar-collapse::before {
    content: "Menu";
    display: block;
    margin: 0.125rem 2.625rem 1rem 0.125rem;
    color: var(--text);
    font-size: 1.4375rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.055em;
  }

  .mobile-nav-close {
    appearance: none;
    display: grid;
    place-items: center;
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    width: 2.125rem;
    height: 2.125rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 244, 217, 0.82);
    color: var(--text);
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
  }

  .header .navbar-collapse .header-chip {
    display: inline-flex;
    align-self: flex-start;
    margin: 0 0 0.875rem;
    padding: 0.4375rem 0.625rem;
    font-size: 0.6875rem;
  }

  .header .navbar-collapse .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0.875rem 0 0 !important;
    border-top: 1px solid var(--border-soft);
    overflow: visible !important;
  }

  .navbar-nav .nav-item,
  .navbar-nav .dropdown {
    width: 100%;
  }

  .navbar-nav .nav-link,
  .navbar-nav .dropdown > button.nav-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.75rem 0.8125rem !important;
    border-radius: 0.875rem;
    background: rgba(255, 250, 241, 0.74);
    border: 1px solid var(--border-soft);
    color: var(--text);
    font-size: 0.9375rem !important;
    line-height: 1.2;
  }

  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link:focus,
  .navbar-nav .nav-link.active,
  .navbar-nav .dropdown > button.nav-link:hover,
  .navbar-nav .dropdown > button.nav-link:focus {
    background: rgba(255, 244, 217, 0.92);
    border-color: var(--border);
    color: var(--text);
  }

  .navbar-nav .dropdown-menu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0.375rem 0 0.125rem;
    padding: 0.5rem;
    border-radius: 0.875rem;
    background: rgba(255, 250, 241, 0.96);
    border: 1px solid var(--border-soft);
    box-shadow: none;
    transform: none !important;
  }

  .navbar-nav .dropdown-menu {
    display: none;
  }

  .navbar-nav .dropdown-menu.show {
    display: block;
  }

  .navbar-nav .dropdown-menu .dropdown-item,
  .navbar-nav .dropdown-menu a {
    border-radius: 0.625rem;
    padding: 0.625rem 0.6875rem;
    font-size: 0.875rem;
    font-weight: 600;
  }
}



/* Brand sizing correction: keep the site name visible and content-sized on small screens. */
.navbar > .navbar-brand,
.navbar-brand.flex-shrink-0 {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  margin-right: 0 !important;
}
.brand-copy {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #000 !important;
}
.brand-copy span,
.brand-copy span:first-child,
.brand-copy span:last-child {
  display: block !important;
  font-size: 1.1875rem !important;
  line-height: 1 !important;
  color: #000 !important;
  letter-spacing: -0.045em !important;
}
.navbar-brand,
.navbar-brand *,
.navbar > .navbar-brand,
.navbar-brand.flex-shrink-0 {
  border: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 991.98px) {
  .navbar > .navbar-brand,
  .navbar-brand.flex-shrink-0 {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
  }
  .brand-copy,
  .brand-copy span,
  .brand-copy span:first-child,
  .brand-copy span:last-child {
    font-size: 1.1875rem !important;
  }
}


/* Right-rail current event status dot */
.event-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
}

.event-pill.current::after {
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 999px;
  background: var(--red, #a33a3a);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.14);
  animation: liveDotPulse 1.25s ease-in-out infinite;
}

/* Utility page styles scoped to about, calendar, and sources pages. */
body[data-page-phase="utility"] * {
box-sizing: border-box;
}
html {
scroll-behavior: smooth; height: 100%;
}
body[data-page-phase="utility"],
html,
body[data-page-phase="utility"] .header,
body[data-page-phase="utility"] .footer,
body[data-page-phase="utility"] .navbar,
body[data-page-phase="utility"] .main,
body[data-page-phase="utility"] .left-column,
body[data-page-phase="utility"] .middle-column,
body[data-page-phase="utility"] .right-column,
body[data-page-phase="utility"] .video-section,
body[data-page-phase="utility"] .video-feed-section {
margin: 0; padding: 0;
}
body[data-page-phase="utility"] {
min-height: 100%;
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .08), transparent 28%),
    radial-gradient(circle at top right, rgba(8, 145, 178, .08), transparent 30%),
    linear-gradient(180deg, #eef4fa 0%, #f6f9fc 54%, #eaf1f8 100%);
  color: var(--text);
  overflow-x: hidden;
  overflow-y: hidden;
}
body[data-page-phase="utility"] a {
color: inherit; text-decoration: none;
}
body[data-page-phase="utility"] .container-fluid {
width: 100%; min-height: 100vh; background: transparent;
}
body[data-page-phase="utility"] .row {
min-height: 100vh; display: grid; grid-template-rows: var(--header-h) minmax(0, calc(100vh - var(--header-h) - var(--footer-h))) var(--footer-h);
}
body[data-page-phase="utility"] .header {
min-height: var(--header-h);
  border-bottom: 1px solid var(--border-soft);
  background: #ebe3d4;
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 40;
}
body[data-page-phase="utility"] .navbar {
height: var(--header-h); width: 100%; display: flex; align-items: center; gap: var(--header-navbar-inner-gap); padding: 0 var(--header-navbar-x);
}
body[data-page-phase="utility"] .navbar-brand {
display: flex; align-items: center; gap: var(--header-brand-gap); min-width: var(--header-brand-min-width); font-weight: 700; letter-spacing: -.03em;
}
body[data-page-phase="utility"] .logo-mark {
width: var(--header-logo-size); height: var(--header-logo-size); display: grid; place-items: center; border-radius: var(--header-logo-radius); color: #fff; background: linear-gradient(135deg, var(--blue), #60a5fa); box-shadow: none; font-weight: 700;
}
body[data-page-phase="utility"] .brand-copy span:first-child {
display: block; font-size: 1.1875rem; color: #000; line-height: 1;
}
body[data-page-phase="utility"] .brand-copy span:last-child {
display: block; margin-top: 0.25rem; font-size: 0.625rem; color: #000; text-transform: uppercase; letter-spacing: .12em;
}
body[data-page-phase="utility"] .dropdown {
position: relative;
}
body[data-page-phase="utility"] .dropdown > button,
body[data-page-phase="utility"] .nav-link,
body[data-page-phase="utility"] .header-chip {
appearance: none; border: 1px solid transparent; background: transparent; color: var(--muted); border-radius: 999px; padding: 0.625rem 0.75rem; font: inherit; font-weight: 600; cursor: pointer;
}
body[data-page-phase="utility"] .dropdown > button:hover,
body[data-page-phase="utility"] .nav-link:hover,
body[data-page-phase="utility"] .nav-link.active {
color: var(--blue); background: rgba(37, 99, 235, .08); border-color: rgba(37, 99, 235, .18);
}
body[data-page-phase="utility"] .dropdown-menu {
position: absolute; top: 2.625rem; left: 0; min-width: 11.25rem; padding: 0.5rem; border: 1px solid var(--border); border-radius: 0.875rem; background: #fff; box-shadow: var(--shadow); display: none; z-index: 50;
}
body[data-page-phase="utility"] .dropdown-menu a {
display: block; padding: 0.625rem 0.75rem; border-radius: 0.625rem; color: var(--muted);
}
body[data-page-phase="utility"] .dropdown-menu a:hover {
color: var(--blue); background: var(--panel-3);
}
body[data-page-phase="utility"] .navbar-nav {
display: flex; align-items: center; gap: 0.25rem; margin-left: auto; list-style: none; padding: 0;
}
body[data-page-phase="utility"] .header-search {
width: min(22.5rem, 26vw); height: 2.5rem; border: 1px solid var(--border); background: #f3f7fb; color: var(--muted); border-radius: 999px; padding: 0 0.875rem; display: flex; align-items: center; gap: 0.5rem; margin-left: auto;
}
body[data-page-phase="utility"] .header-chip {
background: rgba(5, 150, 105, .08); border-color: rgba(5, 150, 105, .18); color: var(--green); white-space: nowrap;
}
body[data-page-phase="utility"] .main {
min-height: 0; height: calc(100vh - var(--header-h) - var(--footer-h)); display: grid; grid-template-columns: minmax(0, 1.54fr) minmax(17.5rem, .82fr) minmax(20rem, .92fr); gap: 1rem; padding: 0 1rem; background: transparent; overflow: hidden;
}
body[data-page-phase="utility"] .left-column,
body[data-page-phase="utility"] .middle-column,
body[data-page-phase="utility"] .right-column {
min-width: 0; min-height: 0; overflow: hidden;
}
body[data-page-phase="utility"] .left-column {
height: 100%; display: flex; flex-direction: column; gap: var(--video-column-gap);
}
body[data-page-phase="utility"] .video-section {
position: relative; flex: 1 1 auto; min-height: 0; height: auto; border: 1px solid var(--border); overflow: hidden; background: #0f172a; box-shadow: var(--shadow);
}
body[data-page-phase="utility"] .video-section iframe,
body[data-page-phase="utility"] .video-stage {
position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}
body[data-page-phase="utility"] .video-section iframe {
background:#0f172a;
}
body[data-page-phase="utility"] .video-stage {
display:none; pointer-events:none; display: grid; align-items: end; padding: 1.75rem; background: linear-gradient(180deg, rgba(15,23,42,.03) 0%, rgba(15,23,42,.18) 38%, rgba(15,23,42,.78) 100%);
}
body[data-page-phase="utility"] .video-stage:before {
content: ""; position: absolute; inset: 1.375rem; border: 1px solid rgba(255,255,255,.20); border-radius: 1.125rem; pointer-events: none;
}
body[data-page-phase="utility"] .play-mark {
width: 4.25rem; height: 4.25rem; display: grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--blue); border: 1px solid rgba(255,255,255,.75); box-shadow: 0 0.75rem 1.75rem rgba(15,23,42,.18); font-size: 1.75rem; margin-bottom: 1.125rem;
}
body[data-page-phase="utility"] .video-copy {
position: relative; max-width: 47.5rem; z-index: 2; color:#fff; text-shadow: 0 0.125rem 0.875rem rgba(0,0,0,.35);
}body[data-page-phase="utility"] .video-copy h1 {
margin: 0; font-size: clamp(2.125rem, 4vw, 3.875rem); line-height: .95; letter-spacing: -.07em;
}
body[data-page-phase="utility"] .video-copy p {
color: rgba(255,255,255,.86); font-size: 1rem; line-height: 1.5; margin: 0.75rem 0 0; max-width: 38.75rem;
}
body[data-page-phase="utility"] .video-feed-section {
flex: 0 0 var(--video-feed-height); height: var(--video-feed-height); overflow-x: auto; overflow-y: hidden; white-space: nowrap; padding: 0.375rem 0 1rem 1rem;
}
body[data-page-phase="utility"] .video-feed-section .card {
display: inline-block; width: 18rem; height: var(--video-card-height); margin-right: 0.625rem; cursor: pointer; border: 1px solid var(--border); overflow: hidden; background: var(--panel); vertical-align: top; box-shadow: none;
}
body[data-page-phase="utility"] .video-card .position-relative {
position: relative; height: 100%; background: #0f172a;
}
body[data-page-phase="utility"] .video-card .video-thumbnail {
position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; opacity:.78;
}
body[data-page-phase="utility"] .video-overlay {
position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 0.875rem; background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96)); color:#fff;
}
body[data-page-phase="utility"] .video-card.active {
border-color: rgba(37, 99, 235, .52); box-shadow: none;
}
body[data-page-phase="utility"] .video-card h5 {
margin: 0; font-size: 0.9375rem; line-height: 1.18; white-space: normal; letter-spacing:-.02em;
}
body[data-page-phase="utility"] .video-card p {
margin: 0.4375rem 0 0; color: rgba(255,255,255,.78); font-size: 0.75rem;
}
body[data-page-phase="utility"] .content-section,
body[data-page-phase="utility"] .site-info-section {
height: 100%; overflow-y: auto; padding: 1rem 1rem 1rem 1rem;
}
body[data-page-phase="utility"] .section-title {
display: flex; align-items: flex-end; justify-content: space-between; gap: 0.75rem; margin: 0 0 0.75rem;
}
body[data-page-phase="utility"] .section-title h1,
body[data-page-phase="utility"] .section-title h2 {
margin: 0; color: var(--text); font-size: 1.5rem; line-height: 1.05; font-weight: 700; letter-spacing: -.04em;
}
body[data-page-phase="utility"] .section-title h1 {
text-transform: uppercase;
}
body[data-page-phase="utility"] .story-card {
border-top: 1px solid var(--border-soft); padding: 0.9375rem 0;
}
body[data-page-phase="utility"] .story-card h5 {
margin: 0; font-size: clamp(1.0625rem, 1.4vw, 1.375rem); line-height: 1.12; letter-spacing: -.045em;
}
body[data-page-phase="utility"] .story-card h5 a:hover {
text-decoration: underline; text-decoration-color: var(--blue);
}
body[data-page-phase="utility"] .card-meta {
display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; color: var(--muted-2); font-size: 0.75rem; font-weight: 700;
}
body[data-page-phase="utility"] .label {
display: inline-flex; align-items: center; padding: 0.25rem 0.5rem; border-radius: 999px; border: 1px solid var(--label-border, rgba(37,99,235,.24)); background: var(--label-bg, rgba(37,99,235,.09)); color: var(--label-color, var(--blue)); font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em;
}
body[data-page-phase="utility"] .label.video {
--label-bg: rgba(8,145,178,.10); --label-color: var(--cyan); --label-border: rgba(8,145,178,.24);
}
body[data-page-phase="utility"] .label.rumor {
--label-bg: rgba(217,119,6,.10); --label-color: var(--amber); --label-border: rgba(217,119,6,.24);
}
body[data-page-phase="utility"] .label.trade {
--label-bg: rgba(225,29,72,.09); --label-color: var(--red); --label-border: rgba(225,29,72,.24);
}
body[data-page-phase="utility"] .label.podcast {
--label-bg: rgba(124,58,237,.09); --label-color: var(--purple); --label-border: rgba(124,58,237,.24);
}
body[data-page-phase="utility"] .label.data {
--label-bg: rgba(5,150,105,.09); --label-color: var(--green); --label-border: rgba(5,150,105,.24);
}
body[data-page-phase="utility"] .module-card {
border: 1px solid var(--border); background: rgba(255,255,255,.90); border-radius: var(--radius); padding: 1rem; margin-bottom: 0.875rem; box-shadow: none;
}
body[data-page-phase="utility"] .module-head {
display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.875rem;
}
body[data-page-phase="utility"] .module-head h2 {
margin: 0; color: var(--text); font-size: 1.375rem; line-height: 1.08; font-weight: 700; letter-spacing: -.035em; text-transform: uppercase;
}
body[data-page-phase="utility"] .module-head p {
margin: 0.3125rem 0 0; color: var(--muted); font-size: 0.75rem;
}
body[data-page-phase="utility"] .pill-row {
display: flex; gap: 0.4375rem; overflow-x: auto; padding-bottom: 0.375rem; margin-bottom: 0.75rem;
}
body[data-page-phase="utility"] .tab-btn {
border: 1px solid var(--border); background: var(--panel-2); color: var(--muted); border-radius: 999px; padding: 0.5rem 0.6875rem; font-weight: 600; white-space: nowrap; cursor: pointer;
}
body[data-page-phase="utility"] .tab-btn.active {
background: rgba(37, 99, 235, .10); border-color: rgba(37, 99, 235, .28); color: var(--blue);
}
body[data-page-phase="utility"] .tab-pane {
display: none;
}
body[data-page-phase="utility"] .tab-pane.active {
display: block;
}
body[data-page-phase="utility"] .line-item {
display: grid; grid-template-columns: 1fr auto; gap: 0.75rem; align-items: center; padding: 0.6875rem 0; border-bottom: 1px solid var(--border-soft);
}
body[data-page-phase="utility"] .line-item:last-child {
border-bottom: 0;
}
body[data-page-phase="utility"] .line-item b {
display: block; font-size: 0.875rem;
}
body[data-page-phase="utility"] .line-item small {
display: block; margin-top: 0.25rem; color: var(--muted); font-size: 0.75rem;
}
body[data-page-phase="utility"] .score {
font-weight: 700; color: var(--text); white-space: nowrap;
}
body[data-page-phase="utility"] .stat-grid {
display: grid; grid-template-columns: 1fr 1fr; gap: 0.625rem;
}
body[data-page-phase="utility"] .mini-stat {
border: 1px solid var(--border); border-radius: 0.875rem; padding: 0.75rem; background: var(--panel-2);
}
body[data-page-phase="utility"] .mini-stat span {
display: block; color: var(--muted); font-size: 0.6875rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600;
}
body[data-page-phase="utility"] .mini-stat b {
display: block; margin-top: 0.5rem; font-size: 1.5rem; letter-spacing: -.05em;
}
body[data-page-phase="utility"] .race-row {
margin: 0.75rem 0;
}
body[data-page-phase="utility"] .race-row-top {
display: flex; justify-content: space-between; gap: 0.625rem; font-size: 0.8125rem; font-weight: 600;
}
body[data-page-phase="utility"] .bar {
height: 0.5625rem; border-radius: 999px; margin-top: 0.4375rem; background: #dce7f1; overflow: hidden;
}
body[data-page-phase="utility"] .bar > i {
display: block; height: 100%; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, var(--blue), #60a5fa);
}
body[data-page-phase="utility"] .bar.green > i {
background: linear-gradient(90deg, #10b981, var(--green));
}
body[data-page-phase="utility"] .bar.amber > i {
background: linear-gradient(90deg, #d97706, var(--amber));
}
body[data-page-phase="utility"] .bar.red > i {
background: linear-gradient(90deg, #e11d48, var(--red));
}
body[data-page-phase="utility"] .leader-card {
display: grid; grid-template-columns: 2.625rem 1fr auto; gap: 0.625rem; align-items: center; padding: 0.625rem 0; border-bottom: 1px solid var(--border-soft);
}
body[data-page-phase="utility"] .leader-card:last-child {
border-bottom: 0;
}
body[data-page-phase="utility"] .avatar {
width: 2.625rem; height: 2.625rem; border-radius: 0.8125rem; display: grid; place-items: center; background: rgba(37, 99, 235, .10); color: var(--blue); font-weight: 700;
}
body[data-page-phase="utility"] .leader-card b {
display: block; font-size: 0.875rem;
}
body[data-page-phase="utility"] .leader-card small {
color: var(--muted);
}
body[data-page-phase="utility"] .leader-card .number {
font-size: 1.125rem; font-weight: 700; color: var(--text);
}
body[data-page-phase="utility"] .compact-table {
width: 100%; border-collapse: collapse;
}
body[data-page-phase="utility"] .compact-table th,
body[data-page-phase="utility"] .compact-table td {
border-bottom: 1px solid var(--border-soft); padding: 0.625rem 0.5rem; text-align: left; font-size: 0.8125rem;
}
body[data-page-phase="utility"] .compact-table th {
color: var(--muted); font-size: 0.6875rem; letter-spacing: .08em; text-transform: uppercase;
}
body[data-page-phase="utility"] .accent-row td {
color: var(--blue); font-weight: 600;
}
body[data-page-phase="utility"] .form-strip {
display:flex; gap: 0.3125rem; flex-wrap:wrap; margin-top: 0.5rem;
}
body[data-page-phase="utility"] .form-dot {
width: 1.5rem; height: 1.5rem; border-radius: 999px; display:grid; place-items:center; font-size: 0.6875rem; font-weight: 700; color:#fff;
}
body[data-page-phase="utility"] .form-dot.w {
background: var(--green);
}
body[data-page-phase="utility"] .form-dot.l {
background: var(--red);
}
body[data-page-phase="utility"] .form-dot.o {
background: var(--amber);
}
body[data-page-phase="utility"] .footer {
min-height: var(--footer-h); border-top: 1px solid var(--border-soft); background: rgba(255,255,255,.94); overflow: hidden; display: flex; align-items: center;
}
body[data-page-phase="utility"] .ticker-item {
display: inline-flex; align-items: center; gap: 0.5rem; color: var(--text); font-size: 1.125rem; font-weight: normal; padding: 0; background: transparent; border: 0; border-radius: 0;
}
body[data-page-phase="utility"] .ticker-item .muted {
color: var(--muted); font-weight: 600;
}
body[data-page-phase="utility"] ::-webkit-scrollbar {
width: 0.375rem; height: 0.375rem;
}
body[data-page-phase="utility"] ::-webkit-scrollbar-track {
background: rgba(15,23,42,.06); border-radius: 999px;
}
body[data-page-phase="utility"] ::-webkit-scrollbar-thumb {
background: rgba(100,116,139,.42); border-radius: 999px;
}
body[data-page-phase="utility"] ::-webkit-scrollbar-thumb:hover {
background: var(--blue);
}
@media (min-width: 1181px) {
  body[data-page-phase="utility"] .main.row:not(.info-page) > .left-column {
    align-self: stretch;
    height: 100%;
    min-height: 0;
  }

  body[data-page-phase="utility"] .main.row:not(.info-page) .video-section {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  body[data-page-phase="utility"] .main.row:not(.info-page) .video-feed-section {
    flex: 1 1 0;
    height: auto;
    min-height: var(--video-feed-height);
    max-height: none;
  }

  body[data-page-phase="utility"] .main.row:not(.info-page) .video-feed-section .card.video-card {
    height: 100%;
    width: clamp(18rem, 30vw, 32.5rem);
  }
}
@media (max-height: 760px) and (min-width: 901px) {
  body[data-page-phase="utility"] .video-section {
min-height: 0;
} body[data-page-phase="utility"] .story-card h5 {
font-size: 1.0625rem;
} 
}
@media (max-width: 1180px) {
 body[data-page-phase="utility"] .main {
grid-template-columns: minmax(0, 1.4fr) minmax(16.25rem, .9fr); overflow-y: auto; height: auto; min-height: calc(100vh - var(--header-h) - var(--footer-h));
} body[data-page-phase="utility"] .right-column {
grid-column: 1 / -1; overflow: visible;
} body[data-page-phase="utility"] .site-info-section {
overflow: visible; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem;
} body[data-page-phase="utility"] .site-info-section > .section-title {
grid-column: 1 / -1;
} 
}
@media (max-width: 820px) {
  body[data-page-phase="utility"] .row {
display: block; min-height: 100vh;
} body[data-page-phase="utility"] .header {
position: relative;
} body[data-page-phase="utility"] .navbar {
height: auto; min-height: 4.375rem; flex-wrap: wrap; align-items: center; padding: 0.875rem;
} body[data-page-phase="utility"] .header-search {
width: 100%; order: 3; margin-left: 0;
} body[data-page-phase="utility"] .navbar-nav {
width: 100%; order: 4; margin-left: 0; overflow-x: auto;
} body[data-page-phase="utility"] .header-chip {
display: none;
} body[data-page-phase="utility"] .main {
display: flex; flex-direction: column; height: auto; min-height: 0; overflow: visible; padding: 0 0.875rem;
} body[data-page-phase="utility"] .left-column,
body[data-page-phase="utility"] .middle-column,
body[data-page-phase="utility"] .right-column {
width: 100%; overflow: visible;
} body[data-page-phase="utility"] .left-column {
height: auto; overflow: visible; display: flex; flex-direction: column;
} body[data-page-phase="utility"] .video-section {
flex: none; height: auto; min-height: 0; aspect-ratio: 16 / 9;
} body[data-page-phase="utility"] .video-feed-section {
flex: none; height: auto; max-height: none; padding-bottom: 0.625rem;
} body[data-page-phase="utility"] .video-feed-section .card {
height: 7.8125rem;
} body[data-page-phase="utility"] .content-section,
body[data-page-phase="utility"] .site-info-section {
overflow: visible; height: auto; padding: 1rem 1rem 1rem 1rem;
} body[data-page-phase="utility"] .site-info-section {
display: block;
} body[data-page-phase="utility"] .footer {
position: sticky; bottom: 0; z-index: 50;
} 
}

body[data-page-phase="utility"] .video-overlay p {
display:flex;align-items:center;gap: 0.375rem;flex-wrap:wrap
}
body[data-page-phase="utility"] .video-overlay .channel {
font-weight: 600;color:#fff
}
body[data-page-phase="utility"] .video-overlay .sep {
opacity:.68
}
body[data-page-phase="utility"] .feature-panel {
position:relative;height: calc(100% - 10.6875rem);min-height: 26.875rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,#ffffff,#f7fbff);box-shadow:var(--shadow);padding: 1.375rem
}
body[data-page-phase="utility"] .feature-panel.hero-soft {
background:radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 26%), linear-gradient(180deg,#ffffff,#f5f9ff)
}
body[data-page-phase="utility"] .feature-panel h1,
body[data-page-phase="utility"] .feature-panel h2 {
margin:0;font-size: clamp(2.125rem,4vw,3.625rem);line-height:.96;letter-spacing:-.06em
}
body[data-page-phase="utility"] .feature-panel h2 {
font-size: clamp(1.75rem,3vw,2.5rem)
}
body[data-page-phase="utility"] .feature-panel p {
margin: 0.75rem 0 0;color:var(--muted);line-height:1.55;font-size: 0.9375rem;max-width: 47.5rem
}body[data-page-phase="utility"] .feature-panel .metric-strip {
display:flex;gap: 0.625rem;flex-wrap:wrap;margin-top: 1.125rem
}
body[data-page-phase="utility"] .feature-panel .metric {
border:1px solid var(--border);background:rgba(255,255,255,.74);border-radius: 0.875rem;padding: 0.625rem 0.75rem;min-width: 7.5rem
}
body[data-page-phase="utility"] .feature-panel .metric span {
display:block;color:var(--muted);font-size: 0.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight: 600
}
body[data-page-phase="utility"] .feature-panel .metric b {
display:block;margin-top: 0.5rem;font-size: 1.375rem;letter-spacing:-.04em
}
body[data-page-phase="utility"] .feature-panel .hero-grid {
display:grid;grid-template-columns:1.1fr .9fr;gap: 1rem;margin-top: 1.125rem
}
body[data-page-phase="utility"] .feature-panel .note-box {
border:1px solid var(--border);border-radius: 1rem;padding: 0.875rem;background:rgba(255,255,255,.72)
}
body[data-page-phase="utility"] .feature-panel .note-box b {
display:block;font-size: 0.875rem;margin-bottom: 0.375rem
}
body[data-page-phase="utility"] .feature-panel .note-box small {
color:var(--muted)
}
body[data-page-phase="utility"] .feature-rail {
height: 9.6875rem;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding: 0.625rem 0.125rem 0
}
body[data-page-phase="utility"] .feature-card {
display:inline-block;vertical-align:top;width: 15.9375rem;height: 7.8125rem;margin-right: 0.625rem;border:1px solid var(--border);border-radius: 1rem;background:var(--panel);box-shadow:none;padding: 0.875rem;white-space:normal
}
body[data-page-phase="utility"] .feature-card h4 {
margin:0;font-size: 0.9375rem;line-height:1.18;letter-spacing:-.02em
}
body[data-page-phase="utility"] .feature-card p {
margin: 0.5rem 0 0;color:var(--muted);font-size: 0.75rem;line-height:1.45
}
body[data-page-phase="utility"] .feature-card .tiny {
display:block;color:var(--muted-2);font-size: 0.6875rem;font-weight: 600;text-transform:uppercase;letter-spacing:.08em;margin-bottom: 0.5rem
}
body[data-page-phase="utility"] .calendar-grid {
display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap: 0.5rem;margin-top: 1.125rem
}
body[data-page-phase="utility"] .calendar-head {
font-size: 0.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight: 600;text-align:center
}
body[data-page-phase="utility"] .calendar-cell {
min-height: 4.75rem;border:1px solid var(--border);border-radius: 0.875rem;background:rgba(255,255,255,.75);padding: 0.5rem
}
body[data-page-phase="utility"] .calendar-cell .day {
font-size: 0.6875rem;color:var(--muted-2);font-weight: 600
}
body[data-page-phase="utility"] .calendar-cell strong {
display:block;margin-top: 0.375rem;font-size: 0.75rem;line-height:1.25
}
body[data-page-phase="utility"] .calendar-cell.highlight {
border-color:rgba(37,99,235,.28);background:rgba(37,99,235,.08)
}
body[data-page-phase="utility"] .calendar-cell.accent {
border-color:rgba(217,119,6,.28);background:rgba(217,119,6,.08)
}
body[data-page-phase="utility"] .copy-list {
display:grid;gap: 0.75rem;margin-top: 1.125rem
}
body[data-page-phase="utility"] .copy-list .item {
border:1px solid var(--border);border-radius: 1rem;background:rgba(255,255,255,.72);padding: 0.875rem
}
body[data-page-phase="utility"] .copy-list .item b {
display:block;font-size: 0.875rem
}
body[data-page-phase="utility"] .copy-list .item p {
margin: 0.375rem 0 0;font-size: 0.8125rem;color:var(--muted)
}
body[data-page-phase="utility"] .source-card {
padding: 0.875rem 0;border-top:1px solid var(--border-soft)
}
body[data-page-phase="utility"] .source-card:first-of-type {
border-top-color:transparent;padding-top:0
}
body[data-page-phase="utility"] .source-card h5 {
margin: 0.375rem 0 0;font-size: 1.125rem;line-height:1.15;letter-spacing:-.03em
}
body[data-page-phase="utility"] .source-card p {
margin: 0.375rem 0 0;color:var(--muted);font-size: 0.8125rem;line-height:1.48
}
body[data-page-phase="utility"] .source-card .source-actions {
display:flex;gap: 0.625rem;flex-wrap:wrap;margin-top: 0.625rem
}
body[data-page-phase="utility"] .source-badge {
display:inline-flex;align-items:center;padding: 0.375rem 0.625rem;border-radius: 999px;background:var(--panel-3);color:var(--blue);font-size: 0.75rem;font-weight: 600;border:1px solid rgba(37,99,235,.18)
}
body[data-page-phase="utility"] .prose-card {
border-top:1px solid var(--border-soft);padding: 1rem 0
}
body[data-page-phase="utility"] .prose-card:first-of-type {
border-top-color:transparent;padding-top:0
}
body[data-page-phase="utility"] .prose-card h5 {
margin:0;font-size: 1.375rem;line-height:1.1;letter-spacing:-.04em
}
body[data-page-phase="utility"] .prose-card p {
margin: 0.5rem 0 0;color:var(--muted);font-size: 0.875rem;line-height:1.65
}
body[data-page-phase="utility"] .bullet-list {
margin: 0.625rem 0 0;padding-left: 1.125rem;color:var(--muted);font-size: 0.875rem;line-height:1.6
}
body[data-page-phase="utility"] .tag-cluster {
display:flex;gap: 0.5rem;flex-wrap:wrap
}
body[data-page-phase="utility"] .kpi-grid-3 {
display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap: 0.625rem
}
body[data-page-phase="utility"] .kpi-grid-3 .mini-stat b {
font-size: 1.25rem
}
@media (max-width:1180px) {
body[data-page-phase="utility"] .feature-panel .hero-grid,
body[data-page-phase="utility"] .kpi-grid-3,
body[data-page-phase="utility"] .calendar-grid {
grid-template-columns:repeat(2,minmax(0,1fr))
}body[data-page-phase="utility"] .calendar-head:nth-child(n/**/+8),
body[data-page-phase="utility"] .calendar-cell:nth-child(n/**/+15) {
display:none
}
}
@media (max-width:820px) {
body[data-page-phase="utility"] .feature-panel {
height:auto;min-height:0
}body[data-page-phase="utility"] .feature-panel .hero-grid,
body[data-page-phase="utility"] .kpi-grid-3,
body[data-page-phase="utility"] .calendar-grid {
grid-template-columns:1fr
}body[data-page-phase="utility"] .calendar-head {
display:none
}body[data-page-phase="utility"] .feature-rail {
height:auto;white-space:normal
}body[data-page-phase="utility"] .feature-card {
display:block;width:100%;margin-right:0;margin-bottom: 0.625rem;height:auto
}
}

/* Focused non-video pages */
body[data-page-phase="utility"] .main.info-page {
grid-template-columns: minmax(0, 1.7fr) minmax(21.25rem, .95fr);
  gap: 1.125rem;
  overflow: hidden;
}
body[data-page-phase="utility"] .info-primary,
body[data-page-phase="utility"] .info-secondary {
min-width: 0;
  min-height: 0;
  overflow: hidden;
}
body[data-page-phase="utility"] .info-primary .content-section,
body[data-page-phase="utility"] .info-secondary .site-info-section {
height: 100%;
  overflow-y: auto;
  padding: 0.25rem 0.25rem 1rem;
}
body[data-page-phase="utility"] .page-intro-card {
border: 1px solid var(--border);
  background: #fff;
  border-radius: var(--radius);
  padding: 1.375rem;
  margin-bottom: 0.875rem;
  box-shadow: none;
}body[data-page-phase="utility"] .page-intro-card h1 {
margin: 0;
  font-size: clamp(2.25rem, 4vw, 3.75rem);
  line-height: .96;
  letter-spacing: -.065em;
}
body[data-page-phase="utility"] .page-intro-card p {
color: var(--muted);
  font-size: 0.9375rem;
  line-height: 1.62;
  margin: 0.75rem 0 0;
  max-width: 53.75rem;
}
body[data-page-phase="utility"] .focus-card {
border-top: 1px solid var(--border-soft);
  padding: 1rem 0;
}
body[data-page-phase="utility"] .focus-card:first-of-type {
border-top-color: transparent;
  padding-top: 0;
}
body[data-page-phase="utility"] .focus-card h5 {
margin: 0.5rem 0 0;
  font-size: clamp(1.1875rem, 1.6vw, 1.5625rem);
  line-height: 1.1;
  letter-spacing: -.05em;
}
body[data-page-phase="utility"] .focus-card p {
margin: 0.5rem 0 0;
  color: var(--muted);
  font-size: 0.875rem;
  line-height: 1.58;
}
body[data-page-phase="utility"] .detail-grid {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
body[data-page-phase="utility"] .detail-card {
border: 1px solid var(--border);
  background: rgba(255,255,255,.9);
  border-radius: 0.9375rem;
  padding: 0.875rem;
}
body[data-page-phase="utility"] .detail-card h4 {
margin: 0;
  font-size: 1.0625rem;
  line-height: 1.15;
  letter-spacing: -.035em;
}
body[data-page-phase="utility"] .detail-card p {
margin: 0.5rem 0 0;
  color: var(--muted);
  font-size: 0.8125rem;
  line-height: 1.55;
}
body[data-page-phase="utility"] .directory-table {
width: 100%;
  border-collapse: collapse;
  margin-top: 0.5rem;
}
body[data-page-phase="utility"] .directory-table th,
body[data-page-phase="utility"] .directory-table td {
border-bottom: 1px solid var(--border-soft);
  padding: 0.75rem 0.625rem;
  text-align: left;
  vertical-align: top;
  font-size: 0.8125rem;
}
body[data-page-phase="utility"] .directory-table th {
color: var(--muted);
  font-size: 0.6875rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
@media (max-width: 1180px) {

  body[data-page-phase="utility"] .main.info-page {
grid-template-columns: 1fr;
    overflow-y: auto;
    height: auto;
    min-height: calc(100vh - var(--header-h) - var(--footer-h));
}
  body[data-page-phase="utility"] .info-primary,
body[data-page-phase="utility"] .info-secondary {
overflow: visible;
}
  body[data-page-phase="utility"] .info-primary .content-section,
body[data-page-phase="utility"] .info-secondary .site-info-section {
overflow: visible; height: auto;
}

}
@media (max-width: 820px) {

  body[data-page-phase="utility"] .detail-grid {
grid-template-columns: 1fr;
}

}

/* About page redesign: scoped to about-content.php only. */
body[data-page-phase="utility"] .about-page .about-shell {
  width: min(100%, 72rem);
  margin: 0 auto;
  padding: clamp(1rem, 2.4vw, 2.25rem);
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
}

body[data-page-phase="utility"] .about-page .about-hero {
  position: relative;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: calc(var(--radius) + 0.5rem);
  padding: clamp(1.5rem, 4.5vw, 3.5rem);
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.14), transparent 32%),
    radial-gradient(circle at bottom left, rgba(8, 145, 178, 0.10), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.88));
}

body[data-page-phase="utility"] .about-page .about-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 52rem;
}

body[data-page-phase="utility"] .about-page .about-hero h1,
body[data-page-phase="utility"] .about-page .about-hero h2,
body[data-page-phase="utility"] .about-page .about-section h2,
body[data-page-phase="utility"] .about-page .about-trust-panel h2,
body[data-page-phase="utility"] .about-page .about-closing h2 {
  margin: 0;
  color: var(--text);
  font-weight: 700;
  letter-spacing: -0.06em;
}

body[data-page-phase="utility"] .about-page .about-hero h1 {
  font-size: clamp(2.75rem, 7vw, 5.75rem);
  line-height: 0.92;
}

body[data-page-phase="utility"] .about-page .about-hero h2 {
  max-width: 42rem;
  margin-top: 1rem;
  font-size: clamp(1.5rem, 3vw, 2.625rem);
  line-height: 1;
}

body[data-page-phase="utility"] .about-page .about-hero p,
body[data-page-phase="utility"] .about-page .about-section p,
body[data-page-phase="utility"] .about-page .about-trust-panel p,
body[data-page-phase="utility"] .about-page .about-closing p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

body[data-page-phase="utility"] .about-page .about-hero p {
  max-width: 47rem;
  margin-top: 0.875rem;
  font-size: 0.9375rem;
}

body[data-page-phase="utility"] .about-page .about-hero .about-hero__lede {
  margin-top: 1.25rem;
  color: var(--text);
  font-size: clamp(1rem, 1.6vw, 1.1875rem);
  line-height: 1.58;
}

body[data-page-phase="utility"] .about-page .about-section {
  border: 1px solid rgba(100, 116, 139, 0.16);
  border-radius: calc(var(--radius) + 0.25rem);
  background: rgba(255, 255, 255, 0.68);
  padding: clamp(1.25rem, 3vw, 2rem);
}

body[data-page-phase="utility"] .about-page .about-section__heading {
  margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

body[data-page-phase="utility"] .about-page .about-section h2,
body[data-page-phase="utility"] .about-page .about-trust-panel h2,
body[data-page-phase="utility"] .about-page .about-closing h2 {
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  line-height: 1;
}

body[data-page-phase="utility"] .about-page .about-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

body[data-page-phase="utility"] .about-page .about-benefit {
  min-width: 0;
  border-top: 1px solid var(--border-soft);
  padding-top: 1rem;
}

body[data-page-phase="utility"] .about-page .about-benefit__number {
  display: inline-flex;
  margin-bottom: 0.75rem;
  color: var(--blue);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

body[data-page-phase="utility"] .about-page .about-benefit h3,
body[data-page-phase="utility"] .about-page .about-organization__item h3 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.125rem, 1.8vw, 1.5rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

body[data-page-phase="utility"] .about-page .about-benefit p {
  margin-top: 0.625rem;
  font-size: 0.875rem;
}

body[data-page-phase="utility"] .about-page .about-organization {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: start;
}

body[data-page-phase="utility"] .about-page .about-organization__copy {
  display: grid;
  gap: 0.875rem;
}

body[data-page-phase="utility"] .about-page .about-organization__list {
  display: grid;
}

body[data-page-phase="utility"] .about-page .about-organization__item {
  display: grid;
  grid-template-columns: minmax(8rem, 0.44fr) minmax(0, 1fr);
  gap: 1rem;
  border-top: 1px solid var(--border-soft);
  padding: 1rem 0;
}

body[data-page-phase="utility"] .about-page .about-organization__item:first-child {
  border-top: 0;
  padding-top: 0;
}

body[data-page-phase="utility"] .about-page .about-organization__item:last-child {
  padding-bottom: 0;
}

body[data-page-phase="utility"] .about-page .about-organization__item p {
  font-size: 0.875rem;
}

body[data-page-phase="utility"] .about-page .about-trust-panel {
  position: relative;
  border-radius: calc(var(--radius) + 0.25rem);
  padding: clamp(1.5rem, 3.5vw, 2.75rem);
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, 0.20), transparent 34%),
    linear-gradient(135deg, #132033, #1f3656);
}

body[data-page-phase="utility"] .about-page .about-trust-panel__copy {
  max-width: 52rem;
  display: grid;
  gap: 0.875rem;
}

body[data-page-phase="utility"] .about-page .about-trust-panel h2,
body[data-page-phase="utility"] .about-page .about-trust-panel p {
  color: #fff;
}

body[data-page-phase="utility"] .about-page .about-trust-panel p {
  color: rgba(255, 255, 255, 0.78);
}

body[data-page-phase="utility"] .about-page .about-closing {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
  border-top: 1px solid var(--border-soft);
  padding: clamp(1.25rem, 3vw, 2rem) 0 0;
}

body[data-page-phase="utility"] .about-page .about-closing__copy {
  display: grid;
  gap: 0.875rem;
}

@media (max-width: 1180px) {
  body[data-page-phase="utility"] .about-page .about-shell {
    width: 100%;
  }
}

@media (max-width: 900px) {
  body[data-page-phase="utility"] .about-page .about-benefit-grid,
  body[data-page-phase="utility"] .about-page .about-organization,
  body[data-page-phase="utility"] .about-page .about-closing {
    grid-template-columns: 1fr;
  }

  body[data-page-phase="utility"] .about-page .about-organization__item {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}

@media (max-width: 520px) {
  body[data-page-phase="utility"] .about-page .about-shell {
    padding: 0.875rem;
  }

  body[data-page-phase="utility"] .about-page .about-hero,
  body[data-page-phase="utility"] .about-page .about-section,
  body[data-page-phase="utility"] .about-page .about-trust-panel {
    border-radius: var(--radius);
    padding: 1.125rem;
  }
}


/* Season-phase orchestration additions */
body[data-page-phase="utility"] .phase-kicker {
display:inline-flex;align-items:center;gap: 0.5rem;padding: 0.4375rem 0.625rem;border-radius: 999px;background:rgba(255,255,255,.92);color:var(--blue);border:1px solid rgba(255,255,255,.74);font-size: 0.75rem;font-weight: 700;text-transform:uppercase;letter-spacing:.08em;margin-bottom: 0.75rem;text-shadow:none
}
body[data-page-phase="utility"] .video-stage .metric-strip {
display:flex;gap: 0.625rem;flex-wrap:wrap;margin-top: 1.125rem
}
body[data-page-phase="utility"] .video-stage .metric {
border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius: 0.875rem;padding: 0.625rem 0.75rem;min-width: 8.25rem;color:#fff
}
body[data-page-phase="utility"] .video-stage .metric span {
display:block;color:rgba(255,255,255,.76);font-size: 0.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight: 600;text-shadow:none
}
body[data-page-phase="utility"] .video-stage .metric b {
display:block;margin-top: 0.4375rem;font-size: 1.375rem;letter-spacing:-.04em;text-shadow: 0 0.125rem 0.75rem rgba(0,0,0,.28)
}
body[data-page-phase="utility"] .phase-panel {
border:1px solid var(--border);background:linear-gradient(180deg,#ffffff,#f8fbff);border-radius:var(--radius);padding: 1rem;margin-bottom: 0.875rem;box-shadow:none
}
body[data-page-phase="utility"] .phase-panel .module-head {
margin-bottom: 0.75rem
}
body[data-page-phase="utility"] .phase-note {
display:flex;align-items:center;gap: 0.5rem;flex-wrap:wrap;color:var(--muted);font-size: 0.75rem;font-weight: 600;margin-top: 0.5rem
}
body[data-page-phase="utility"] .status-pill {
display:inline-flex;align-items:center;gap: 0.375rem;border:1px solid var(--border);background:var(--panel-2);border-radius: 999px;padding: 0.375rem 0.5625rem;font-size: 0.75rem;font-weight: 600;color:var(--muted)
}
body[data-page-phase="utility"] .status-pill.live {
color:var(--red);background:rgba(225,29,72,.08);border-color:rgba(225,29,72,.20)
}
body[data-page-phase="utility"] .status-pill.event {
color:var(--amber);background:rgba(217,119,6,.09);border-color:rgba(217,119,6,.22)
}
body[data-page-phase="utility"] .status-pill.data {
color:var(--green);background:rgba(5,150,105,.08);border-color:rgba(5,150,105,.20)
}
body[data-page-phase="utility"] .story-card.priority {
border:1px solid rgba(225,29,72,.22);background:rgba(225,29,72,.045);border-radius: 0.9375rem;padding: 0.875rem;margin-bottom: 0.625rem
}
body[data-page-phase="utility"] .story-card.priority:first-of-type {
border-top-color:rgba(225,29,72,.22);padding-top: 0.875rem
}
body[data-page-phase="utility"] .phase-grid {
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap: 0.625rem;margin-top: 0.75rem
}
body[data-page-phase="utility"] .phase-grid .note-box {
border:1px solid var(--border);border-radius: 0.875rem;background:rgba(255,255,255,.72);padding: 0.75rem
}
body[data-page-phase="utility"] .phase-grid .note-box b {
display:block;font-size: 0.8125rem;margin-bottom: 0.3125rem
}body[data-page-phase="utility"] .phase-grid .note-box small {
color:var(--muted)
}
@media (max-width:1180px) {
body[data-page-phase="utility"] .phase-grid {
grid-template-columns:1fr
}
}


body[data-page-phase="utility"] .video-card.live-priority {
border-color: rgba(225,29,72,.62); box-shadow: none;
}
body[data-page-phase="utility"] .video-card.live-priority .video-overlay {
background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96));
}
@keyframes liveDotPulse { 0%, 100% { opacity: .45; transform: scale(.82); } 50% { opacity: 1; transform: scale(1.18); } }
body[data-page-phase="utility"] .video-section iframe#main-video-iframe {
display: block;
}



/* Cleanup requirements: compact header titles, rectangular pills, single-column info pages */
body[data-page-phase="utility"] .ticker-pill {
display: inline-flex;
  align-items: center;
  padding: 0.1875rem 0.4375rem;
  border-radius: 0.375rem;
  border: 1px solid rgba(37,99,235,.20);
  background: rgba(37,99,235,.08);
  color: var(--blue);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.1;
}
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="games"] .ticker-pill.badge {
border-color: rgba(37,99,235,.24);
  background: rgba(37,99,235,.10);
  color: #1d4ed8;
}
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="events"] .ticker-pill.badge {
border-color: rgba(124,58,237,.24);
  background: rgba(124,58,237,.10);
  color: #6d28d9;
}
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--lead,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--tied,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--elimination,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--advances {
border-color: rgba(95, 74, 162, 0.30);
  background: var(--purple-note);
  color: var(--text);
}
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-copy {
color: var(--cream);
}
body[data-page-phase="utility"] .ticker-item[data-ticker-state="live"] .ticker-pill.badge::after,
body[data-page-phase="utility"] .ticker-item[data-ticker-bucket="current"][data-ticker-state="activeEvent"] .ticker-pill.badge::after {
content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.4375rem;
  margin-left: 0.375rem;
  border-radius: 50%;
  background: #e11d48;
  animation: liveDotPulse 1.25s ease-in-out infinite;
}
body[data-page-phase="utility"] .ticker-copy {
color: var(--text);
}
body[data-page-phase="utility"] .middle-column .label,
body[data-page-phase="utility"] .middle-column .status-pill,
body[data-page-phase="utility"] .middle-column .score,
body[data-page-phase="utility"] .middle-column .source-badge,
body[data-page-phase="utility"] .middle-column .tab-btn,
body[data-page-phase="utility"] .right-column .label,
body[data-page-phase="utility"] .right-column .status-pill,
body[data-page-phase="utility"] .right-column .score,
body[data-page-phase="utility"] .right-column .source-badge,
body[data-page-phase="utility"] .right-column .tab-btn,
body[data-page-phase="utility"] .info-primary .label,
body[data-page-phase="utility"] .info-primary .status-pill,
body[data-page-phase="utility"] .info-primary .score,
body[data-page-phase="utility"] .info-primary .source-badge,
body[data-page-phase="utility"] .info-primary .tab-btn,
body[data-page-phase="utility"] .module-card .label,
body[data-page-phase="utility"] .module-card .status-pill,
body[data-page-phase="utility"] .module-card .score,
body[data-page-phase="utility"] .module-card .source-badge,
body[data-page-phase="utility"] .module-card .tab-btn,
body[data-page-phase="utility"] .card-meta .label {
border-radius: 0.375rem !important;
}
body[data-page-phase="utility"] .info-page.single-column {
grid-template-columns: minmax(0, 1fr) !important;
}
body[data-page-phase="utility"] .info-page.single-column .info-primary,
body[data-page-phase="utility"] .info-page.single-column .content-section {
width: 100%;
}


/* Bootstrap 5.3.8 compatibility locks: preserve the approved mockup geometry. */
body[data-page-phase="utility"] .container-fluid {
padding-right: 0; padding-left: 0;
}
body[data-page-phase="utility"] .row {
--bs-gutter-x: 0; --bs-gutter-y: 0; margin-right: 0; margin-left: 0;
}
body[data-page-phase="utility"] .navbar-brand {
margin-right: 0; padding-top: 0; padding-bottom: 0; color: inherit;
}
body[data-page-phase="utility"] .navbar-nav {
flex-direction: row; margin-bottom: 0;
}
body[data-page-phase="utility"] .nav-link {
display: inline-flex; align-items: center;
}
body[data-page-phase="utility"] .dropdown-menu {
margin: 0; list-style: none; color: inherit;
}
body[data-page-phase="utility"] .dropdown > button:focus,
body[data-page-phase="utility"] .nav-link:focus {
outline: none; box-shadow: none;
}
body[data-page-phase="utility"] .video-feed-section .card,
body[data-page-phase="utility"] .video-card.active,
body[data-page-phase="utility"] .video-card.live-priority,
body[data-page-phase="utility"] .module-card,
body[data-page-phase="utility"] .feature-card,
body[data-page-phase="utility"] .page-intro-card,
body[data-page-phase="utility"] .phase-panel {
box-shadow: none;
}


/* Bootstrap 5.3.8 structural migration overrides */
body[data-page-phase="utility"] .container-fluid {
padding-left: 0 !important; padding-right: 0 !important;
}
body[data-page-phase="utility"] .page-shell {
width: 100%; min-height: 100vh; background: transparent;
}
body[data-page-phase="utility"] .header.flex-shrink-0 {
width: 100%;
}
body[data-page-phase="utility"] .header .navbar-collapse {
align-items: center; gap: 1.125rem;
}
body[data-page-phase="utility"] .navbar-toggler {
border-color: var(--border); border-radius: 0.75rem; padding: 0.4375rem 0.5625rem;
}
body[data-page-phase="utility"] .navbar-toggler:focus {
box-shadow: 0 0 0 0.1875rem rgba(37,99,235,.12);
}
body[data-page-phase="utility"] .dropdown-toggle::after {
display: none;
}
body[data-page-phase="utility"] .dropdown-menu.show {
display: block;
}
body[data-page-phase="utility"] .dropdown-menu .dropdown-item {
font-weight: 700;
}

body[data-page-phase="utility"] .main.row {
min-height: 0;
  height: calc(100vh - var(--header-h) - var(--footer-h));
  display: flex !important;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin: 0 !important;
  padding: 0;
  background: transparent;
  overflow: hidden;
}
body[data-page-phase="utility"] .main.row > .left-column,
body[data-page-phase="utility"] .main.row > .middle-column,
body[data-page-phase="utility"] .main.row > .right-column,
body[data-page-phase="utility"] .main.row > .info-primary {
min-width: 0;
  min-height: 0;
  height: 100%;
  padding-left: calc(var(--bs-gutter-x) * .5) !important;
  padding-right: calc(var(--bs-gutter-x) * .5) !important;
}
body[data-page-phase="utility"] .main.row > .left-column {
padding-left: 0 !important;
}
body[data-page-phase="utility"] .main.row > .middle-column {
padding-left: 0 !important;
  padding-right: 0 !important;
}
body[data-page-phase="utility"] .main.row > .right-column {
padding-right: 0 !important;
  padding-left: 0 !important;
}
@media (min-width: 1181px) {

  body[data-page-phase="utility"] {
overflow: hidden;
}
  body[data-page-phase="utility"] .page-shell {
height: 100svh; overflow: hidden;
}
  body[data-page-phase="utility"] .main.row {
height: calc(100svh - var(--header-h) - var(--footer-h)); overflow: hidden;
}
  body[data-page-phase="utility"] .main.row:not(.info-page) > .left-column {
flex: 0 0 46.95%; max-width: 46.95%;
}
  body[data-page-phase="utility"] .main.row:not(.info-page) > .middle-column {
flex: 0 0 25%; max-width: 25%;
}
  body[data-page-phase="utility"] .main.row:not(.info-page) > .right-column {
flex: 0 0 28.05%; max-width: 28.05%;
}

}
@media (max-width: 1180px) and (min-width: 821px) {

  body[data-page-phase="utility"] .main.row:not(.info-page) {
height: auto;
    min-height: calc(100svh - var(--header-h) - var(--footer-h));
    overflow: visible;
    align-content: flex-start;
}
  body[data-page-phase="utility"] .main.row:not(.info-page) > .left-column {
flex: 0 0 60%; max-width: 60%;
}
  body[data-page-phase="utility"] .main.row:not(.info-page) > .middle-column {
flex: 0 0 40%; max-width: 40%;
}
  body[data-page-phase="utility"] .main.row:not(.info-page) > .right-column {
flex: 0 0 100%; max-width: 100%; height: auto; overflow: visible;
}

}
body[data-page-phase="utility"] .main.info-page.row {
height: calc(100vh - var(--header-h) - var(--footer-h));
  overflow: hidden;
}
body[data-page-phase="utility"] .main.info-page.single-column.row > .info-primary {
flex: 0 0 100%; max-width: 100%;
}
@media (max-width: 1180px) {

  html,
body[data-page-phase="utility"] {
height: auto;
    min-height: 100%;
}

  body[data-page-phase="utility"] {
overflow-x: hidden;
    overflow-y: auto;
}

  body[data-page-phase="utility"] .page-shell {
min-height: 100svh;
    height: auto;
    overflow: visible;
}

  body[data-page-phase="utility"] .main.row {
height: auto;
    min-height: calc(100svh - var(--header-h) - var(--footer-h));
    overflow: visible;
    align-content: flex-start;
}

  body[data-page-phase="utility"] .main.row > .left-column,
body[data-page-phase="utility"] .main.row > .middle-column,
body[data-page-phase="utility"] .main.row > .right-column,
body[data-page-phase="utility"] .main.row > .info-primary {
height: auto;
    min-height: 0;
    overflow: visible;
}

}
body[data-page-phase="utility"] .module-card.card {
padding: 0; box-shadow: none !important;
}
body[data-page-phase="utility"] .module-card.card > .card-body {
padding: 1rem;
}
body[data-page-phase="utility"] .video-feed-section .card.video-card,
body[data-page-phase="utility"] .video-card.card,
body[data-page-phase="utility"] .feature-card.card {
box-shadow: none !important;
}
body[data-page-phase="utility"] .video-card .ratio {
height: 100%;
}
body[data-page-phase="utility"] .video-card .ratio::before {
display: none;
}
body[data-page-phase="utility"] .video-overlay.card-img-overlay {
inset: 0; border-radius: 0;
}
body[data-page-phase="utility"] .video-overlay .card-title {
margin-bottom: 0;
}
body[data-page-phase="utility"] .video-overlay .card-text {
margin-bottom: 0;
}
body[data-page-phase="utility"] .feature-card.card {
padding: 0;
}
body[data-page-phase="utility"] .feature-card.card > .card-body {
padding: 0.875rem;
}
body[data-page-phase="utility"] .table-responsive {
width: 100%; border-radius: 0.875rem;
}
body[data-page-phase="utility"] .directory-table.table,
body[data-page-phase="utility"] .compact-table.table {
margin-bottom: 0;
  color: var(--text);
  --bs-table-bg: transparent;
  --bs-table-color: var(--text);
  --bs-table-border-color: var(--border-soft);
  --bs-table-hover-bg: rgba(37,99,235,.04);
  --bs-table-hover-color: var(--text);
}
body[data-page-phase="utility"] .directory-table.table > :not(caption) > * > *,
body[data-page-phase="utility"] .compact-table.table > :not(caption) > * > * {
padding: 0.625rem 0.5rem;
  color: inherit;
  background-color: transparent;
  border-bottom-color: var(--border-soft);
  box-shadow: none;
}
body[data-page-phase="utility"] .directory-table.table th,
body[data-page-phase="utility"] .compact-table.table th {
color: var(--muted);
}
body[data-page-phase="utility"] .btn.source-link-button {
line-height: 1.1;
}
body[data-page-phase="utility"] .badge.label,
body[data-page-phase="utility"] .badge.event-pill,
body[data-page-phase="utility"] .badge.source-badge,
body[data-page-phase="utility"] .badge.score,
body[data-page-phase="utility"] .badge.status-pill,
body[data-page-phase="utility"] .badge.ticker-pill {
white-space: nowrap;
}
body[data-page-phase="utility"] .card,
body[data-page-phase="utility"] .module-card,
body[data-page-phase="utility"] .feature-card,
body[data-page-phase="utility"] .page-intro-card,
body[data-page-phase="utility"] .focus-card,
body[data-page-phase="utility"] .detail-card,
body[data-page-phase="utility"] .summary-tile,
body[data-page-phase="utility"] .leader-card,
body[data-page-phase="utility"] .mini-stat {
box-shadow: none !important;
}
@media (max-width: 991.98px) {

  body[data-page-phase="utility"] .header .navbar-collapse {
width: 100%;
    flex-basis: 100%;
    align-items: flex-start;
    gap: 0.625rem;
    padding-top: 0.625rem;
}
  body[data-page-phase="utility"] .header .navbar-collapse .dropdown,
body[data-page-phase="utility"] .header .navbar-collapse .header-search,
body[data-page-phase="utility"] .header .navbar-collapse .navbar-nav {
width: 100%;
}
  body[data-page-phase="utility"] .header .navbar-collapse .navbar-nav {
flex-direction: row; overflow-x: auto;
}

}
@media (max-width: 820px) {

  body[data-page-phase="utility"] .main.row {
display: flex !important;
    flex-direction: column;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 0;
}
  body[data-page-phase="utility"] .main.row > .left-column,
body[data-page-phase="utility"] .main.row > .middle-column,
body[data-page-phase="utility"] .main.row > .right-column,
body[data-page-phase="utility"] .main.row > .info-primary {
flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    overflow: visible;
}
  body[data-page-phase="utility"] .main.info-page.row {
height: auto; overflow: visible;
}

}

/* Icewire visual integration layer: presentation-only reskin. */


body[data-page-phase="utility"] {
background:
    radial-gradient(circle at top left, rgba(14, 79, 143, 0.07), transparent 28rem),
    radial-gradient(circle at top right, rgba(126, 76, 22, 0.06), transparent 26rem),
    var(--bg);
  color: var(--text);
}

body[data-page-phase="utility"] a:hover,
body[data-page-phase="utility"] a:focus {
color: var(--link-hover);
}

body[data-page-phase="utility"] .header {
background: #ebe3d4;
  border-bottom: 1px solid var(--border);
  box-shadow: none;
  backdrop-filter: blur(12px);
}

body[data-page-phase="utility"] .logo-mark {
background: var(--text);
  color: var(--cream);
  border: 0;
  box-shadow: none;
}

body[data-page-phase="utility"] .brand-copy span:first-child {
color: #000;
  letter-spacing: -0.045em;
}

body[data-page-phase="utility"] .brand-copy span:last-child {
color: #000;
  font-family: var(--font-mono);
}

body[data-page-phase="utility"] .dropdown > button,
body[data-page-phase="utility"] .nav-link,
body[data-page-phase="utility"] .header-chip {
color: var(--muted);
}

body[data-page-phase="utility"] .dropdown > button:hover,
body[data-page-phase="utility"] .dropdown > button:focus,
body[data-page-phase="utility"] .nav-link:hover,
body[data-page-phase="utility"] .nav-link:focus,
body[data-page-phase="utility"] .nav-link.active {
color: var(--text);
  background: rgba(255, 244, 217, 0.72);
  border-color: var(--border);
}

body[data-page-phase="utility"] .dropdown-menu {
background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: none;
}

body[data-page-phase="utility"] .dropdown-menu a,
body[data-page-phase="utility"] .dropdown-menu .dropdown-item {
color: var(--muted);
}

body[data-page-phase="utility"] .dropdown-menu a:hover,
body[data-page-phase="utility"] .dropdown-menu a:focus,
body[data-page-phase="utility"] .dropdown-menu .dropdown-item:hover,
body[data-page-phase="utility"] .dropdown-menu .dropdown-item:focus {
color: var(--text);
  background: var(--surface-strong);
}

body[data-page-phase="utility"] .header-search {
background: rgba(255, 250, 241, 0.82);
  border-color: var(--border);
  color: var(--muted);
}

body[data-page-phase="utility"] .header-chip {
background: var(--green-note);
  border-color: rgba(23, 21, 18, 0.18);
  color: var(--text);
  font-family: var(--font-mono);
}

body[data-page-phase="utility"] .navbar-toggler {
border-color: var(--border);
  background: var(--surface);
}

body[data-page-phase="utility"] .navbar-toggler:focus {
box-shadow: 0 0 0 0.1875rem rgba(23, 21, 18, 0.14);
}

body[data-page-phase="utility"] .module-card,
body[data-page-phase="utility"] .phase-panel,
body[data-page-phase="utility"] .feature-panel,
body[data-page-phase="utility"] .page-intro-card,
body[data-page-phase="utility"] .feature-card,
body[data-page-phase="utility"] .detail-card,
body[data-page-phase="utility"] .summary-tile,
body[data-page-phase="utility"] .mini-stat {
background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: none !important;
}

body[data-page-phase="utility"] .phase-panel,
body[data-page-phase="utility"] .feature-panel,
body[data-page-phase="utility"] .feature-panel.hero-soft,
body[data-page-phase="utility"] .page-intro-card {
background:
    radial-gradient(circle at top right, rgba(244, 237, 201, 0.42), transparent 23rem),
    var(--surface);
}

body[data-page-phase="utility"] .module-card.card,
body[data-page-phase="utility"] .feature-card.card,
body[data-page-phase="utility"] .video-feed-section .card.video-card,
body[data-page-phase="utility"] .video-card.card,
body[data-page-phase="utility"] .page-intro-card.card {
background-color: var(--surface);
  border-color: var(--border);
  box-shadow: none !important;
}

body[data-page-phase="utility"] .page-intro-card,
body[data-page-phase="utility"] .page-intro-card.card {
  background: #fff;
  background-color: #fff;
}

.module-card.card,
body[data-page-phase="utility"] .module-card.card {
  background-color: #fff;
}

.right-column .site-info-section > .module-card.card.shadow,
body[data-page-phase="utility"] .right-column .site-info-section > .module-card.card.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

body[data-page-phase="utility"] .card,
body[data-page-phase="utility"] .module-card,
body[data-page-phase="utility"] .feature-card,
body[data-page-phase="utility"] .page-intro-card,
body[data-page-phase="utility"] .focus-card,
body[data-page-phase="utility"] .detail-card,
body[data-page-phase="utility"] .summary-tile,
body[data-page-phase="utility"] .leader-card,
body[data-page-phase="utility"] .mini-stat {
box-shadow: none !important;
}

body[data-page-phase="utility"] .module-head h2,
body[data-page-phase="utility"] .feature-panel h1,
body[data-page-phase="utility"] .feature-panel h2,
body[data-page-phase="utility"] .page-intro-card h1,
body[data-page-phase="utility"] .source-card h5,
body[data-page-phase="utility"] .prose-card h5,
body[data-page-phase="utility"] .story-card h5,
body[data-page-phase="utility"] .feature-card h4,
body[data-page-phase="utility"] .detail-card h4,
body[data-page-phase="utility"] .leader-card b,
body[data-page-phase="utility"] .mini-stat b,
body[data-page-phase="utility"] .summary-tile b {
color: var(--text);
}

body[data-page-phase="utility"] .module-head p,
body[data-page-phase="utility"] .feature-panel p,
body[data-page-phase="utility"] .page-intro-card p,
body[data-page-phase="utility"] .source-card p,
body[data-page-phase="utility"] .prose-card p,
body[data-page-phase="utility"] .feature-card p,
body[data-page-phase="utility"] .detail-card p,
body[data-page-phase="utility"] .leader-card small,
body[data-page-phase="utility"] .mini-stat span,
body[data-page-phase="utility"] .summary-tile span,
body[data-page-phase="utility"] .card-meta {
color: var(--muted);
}

body[data-page-phase="utility"] .card-meta,
body[data-page-phase="utility"] .ticker-group-header,
body[data-page-phase="utility"] .label,
body[data-page-phase="utility"] .status-pill,
body[data-page-phase="utility"] .source-badge,
body[data-page-phase="utility"] .compact-table th,
body[data-page-phase="utility"] .directory-table th,
body[data-page-phase="utility"] .phase-note,
body[data-page-phase="utility"] .brand-copy span:last-child,
body[data-page-phase="utility"] .feature-card .tiny,
body[data-page-phase="utility"] .mini-stat span,
body[data-page-phase="utility"] .summary-tile span,
body[data-page-phase="utility"] .event-pill,
body[data-page-phase="utility"] .tab-btn,
body[data-page-phase="utility"] .score,
body[data-page-phase="utility"] .source-link-button.btn {
font-family: var(--font-mono);
}

body[data-page-phase="utility"] .video-section {
background: var(--black);
  border-color: var(--border);
  box-shadow: none;
}

body[data-page-phase="utility"] .video-section iframe,
body[data-page-phase="utility"] .video-card .position-relative,
body[data-page-phase="utility"] .video-card .video-thumbnail {
background: var(--black);
}

body[data-page-phase="utility"] .video-stage {
background: linear-gradient(180deg, rgba(17, 17, 17, 0.03) 0%, rgba(17, 17, 17, 0.18) 38%, rgba(17, 17, 17, 0.84) 100%);
}

body[data-page-phase="utility"] .video-stage:before {
border-color: rgba(255, 250, 241, 0.22);
}

body[data-page-phase="utility"] .play-mark {
background: rgba(255, 250, 241, 0.94);
  border-color: rgba(255, 250, 241, 0.78);
  color: var(--text);
  box-shadow: none;
}

body[data-page-phase="utility"] .phase-kicker {
background: rgba(255, 250, 241, 0.92);
  color: var(--text);
  border-color: rgba(255, 250, 241, 0.74);
  font-family: var(--font-mono);
}

body[data-page-phase="utility"] .video-overlay {
background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96));
  color: var(--cream);
}

body[data-page-phase="utility"] .video-card.active {
border-color: rgba(14, 79, 143, 0.52);
}

body[data-page-phase="utility"] .video-card.live-priority {
border-color: rgba(163, 58, 58, 0.62);
}

body[data-page-phase="utility"] .video-card.live-priority .video-overlay {
background: linear-gradient(to bottom, rgba(17, 17, 17, 0.35), rgba(17, 17, 17, 0.96));
}

body[data-page-phase="utility"] .story-card {
border-top-color: var(--border-soft);
}

body[data-page-phase="utility"] .story-card.priority {
background: var(--pink-note);
  border-color: rgba(163, 58, 58, 0.30);
}

body[data-page-phase="utility"] .story-card.priority:first-of-type {
border-top-color: rgba(163, 58, 58, 0.30);
}

body[data-page-phase="utility"] .story-card h5 a:hover,
body[data-page-phase="utility"] .story-card h5 a:focus {
text-decoration-color: var(--link);
}

body[data-page-phase="utility"] .ticker-pill,
body[data-page-phase="utility"] .status-pill,
body[data-page-phase="utility"] .source-badge,
body[data-page-phase="utility"] .label,
body[data-page-phase="utility"] .score,
body[data-page-phase="utility"] .tab-btn,
body[data-page-phase="utility"] .event-pill {
border-radius: 0.375rem !important;
  border: 1px solid rgba(23, 21, 18, 0.22);
  background: rgba(255, 255, 255, 0.42);
  color: #302a22;
  font-size: 0.72rem;
  font-weight: 820;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body[data-page-phase="utility"] .label.video,
body[data-page-phase="utility"] .status-pill.data,
body[data-page-phase="utility"] .event-pill.on-deck,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="games"] .ticker-pill.badge {
background: var(--blue-note);
  color: var(--text);
  border-color: rgba(14, 79, 143, 0.28);
}

body[data-page-phase="utility"] .label.data,
body[data-page-phase="utility"] .status-pill.data,
body[data-page-phase="utility"] .event-pill.upcoming {
background: var(--green-note);
  color: var(--text);
  border-color: rgba(47, 107, 80, 0.26);
}

body[data-page-phase="utility"] .label.podcast,
body[data-page-phase="utility"] .event-pill.open {
background: var(--purple-note);
  color: var(--text);
  border-color: rgba(95, 74, 162, 0.26);
}

body[data-page-phase="utility"] .label.rumor,
body[data-page-phase="utility"] .status-pill.event,
body[data-page-phase="utility"] .event-pill.current,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="events"] .ticker-pill.badge {
background: var(--yellow-note);
  color: var(--text);
  border-color: rgba(138, 92, 18, 0.28);
}
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--lead,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--tied,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--elimination,
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-pill.badge.ticker-pill--advances {
border-color: rgba(95, 74, 162, 0.30);
  background: var(--purple-note);
  color: var(--text);
}
body[data-page-phase="utility"] .ticker-group-panel[data-ticker-group="series"] .ticker-copy {
color: var(--cream);
}

body[data-page-phase="utility"] .label.trade,
body[data-page-phase="utility"] .event-pill.trade,
body[data-page-phase="utility"] .event-pill.waiver,
body[data-page-phase="utility"] .event-pill.buyout {
background: var(--orange-note);
  color: var(--text);
  border-color: rgba(138, 92, 18, 0.28);
}

body[data-page-phase="utility"] .status-pill.live,
body[data-page-phase="utility"] .event-pill.critical {
background: var(--pink-note);
  color: var(--text);
  border-color: rgba(163, 58, 58, 0.30);
}

body[data-page-phase="utility"] .status-pill.live::before {
content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: var(--red);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.12);
}

body[data-page-phase="utility"] .tab-btn.active {
background: var(--blue-note);
  border-color: rgba(14, 79, 143, 0.28);
  color: var(--text);
}

body[data-page-phase="utility"] .footer {
background: var(--black);
  border-top: 1px solid var(--border-strong);
}

body[data-page-phase="utility"] .ticker-item,
body[data-page-phase="utility"] .ticker-copy {
color: var(--cream);
}

body[data-page-phase="utility"] .ticker-group-header {
color: rgba(255, 250, 241, 0.58);
}

body[data-page-phase="utility"] .ticker-item .muted {
color: rgba(255, 250, 241, 0.68);
}

body[data-page-phase="utility"] .ticker-pill {
background: var(--yellow-note);
  border-color: rgba(244, 237, 201, 0.38);
  color: var(--text);
}

body[data-page-phase="utility"] .ticker-item[data-ticker-state="live"] .ticker-pill.badge::after,
body[data-page-phase="utility"] .ticker-item[data-ticker-bucket="current"][data-ticker-state="activeEvent"] .ticker-pill.badge::after {
background: var(--red);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.14);
}

body[data-page-phase="utility"] .table-responsive {
background: rgba(255, 250, 241, 0.72);
  border: 1px solid var(--border);
}

body[data-page-phase="utility"] .directory-table.table,
body[data-page-phase="utility"] .compact-table.table {
--bs-table-bg: transparent;
  --bs-table-color: var(--text);
  --bs-table-border-color: var(--border-soft);
  --bs-table-hover-bg: rgba(244, 237, 201, 0.38);
  --bs-table-hover-color: var(--text);
  color: var(--text);
}

body[data-page-phase="utility"] .directory-table.table > :not(caption) > * > *,
body[data-page-phase="utility"] .compact-table.table > :not(caption) > * > * {
border-bottom-color: var(--border-soft);
  background-color: transparent;
  box-shadow: none;
}

body[data-page-phase="utility"] .directory-table th,
body[data-page-phase="utility"] .compact-table th,
body[data-page-phase="utility"] .directory-table.table th,
body[data-page-phase="utility"] .compact-table.table th {
color: var(--muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body[data-page-phase="utility"] .calendar-table tr.event-current td {
background: rgba(244, 237, 201, 0.62);
}

body[data-page-phase="utility"] .calendar-table tr.event-on-deck td {
background: rgba(215, 231, 246, 0.62);
}

body[data-page-phase="utility"] .calendar-table tr.event-upcoming td {
background: rgba(212, 234, 226, 0.54);
}

body[data-page-phase="utility"] .calendar-table tr.event-past {
opacity: 0.46;
}

body[data-page-phase="utility"] .calendar-table tr.event-past td {
background: rgba(235, 227, 212, 0.52);
}

body[data-page-phase="utility"] .event-pill.completed {
background: rgba(235, 227, 212, 0.72);
  color: var(--muted);
  border-color: var(--border-soft);
}

body[data-page-phase="utility"] .calendar-note {
color: var(--muted);
}

body[data-page-phase="utility"] .source-link-button.btn {
display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.45rem 0.75rem;
  color: var(--cream);
  background: var(--black);
  border: 1px solid var(--black);
  border-radius: 0.375rem;
  font-size: 0.72rem;
  font-weight: 820;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body[data-page-phase="utility"] .source-link-button.btn:hover,
body[data-page-phase="utility"] .source-link-button.btn:focus {
  color: #fff;
  background: #1f2933;
  border-color: #1f2933;
}


body[data-page-phase="utility"] .site-info-section > .module-card:last-child {
margin-bottom: 0;
}

body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link {
display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}



/* Header compaction: remove secondary brand line from nav and return space to main columns. */
@media (min-width: 821px) {

  
  body[data-page-phase="utility"] .header {
min-height: var(--header-h);
}
  body[data-page-phase="utility"] .navbar {
height: var(--header-h); gap: var(--header-navbar-inner-gap); padding: 0 var(--header-navbar-x);
}
  body[data-page-phase="utility"] .navbar-brand {
min-width: var(--header-brand-min-width); gap: var(--header-brand-gap);
}
  body[data-page-phase="utility"] .logo-mark {
width: var(--header-logo-size); height: var(--header-logo-size); border-radius: var(--header-logo-radius); font-size: 1rem;
}
  body[data-page-phase="utility"] .brand-copy {
display: flex; align-items: center; line-height: 1;
}
  body[data-page-phase="utility"] .brand-copy span:first-child {
font-size: 1.0625rem; line-height: 1;
}
  body[data-page-phase="utility"] .brand-copy span:last-child {
display: block !important;
}
  body[data-page-phase="utility"] .header .navbar-collapse {
gap: 0.75rem;
}
  body[data-page-phase="utility"] .navbar-nav {
gap: 0.125rem;
}
  body[data-page-phase="utility"] .dropdown > button,
body[data-page-phase="utility"] .nav-link,
body[data-page-phase="utility"] .header-chip {
padding: 0.4375rem 0.625rem;
    font-size: 0.75rem;
    line-height: 1.1;
}
  body[data-page-phase="utility"] .dropdown-menu {
top: 2.125rem;
}
  body[data-page-phase="utility"] .navbar-toggler {
padding: 0.3125rem 0.5rem; border-radius: 0.625rem;
}

}

/* Legacy navbar dropdown rules retained for older markup; current primary-navigation state is application-owned. */
@media (min-width: 992px) {

  body[data-page-phase="utility"] .navbar-nav .dropdown {
position: relative;
}

  body[data-page-phase="utility"] .navbar-nav .dropdown-menu {
top: calc(100% + 0.375rem);
    margin-top: 0;
    display: none;
    z-index: 50;
}

  body[data-page-phase="utility"] .navbar-nav .dropdown:hover > .dropdown-menu {
display: none;
}

  body[data-page-phase="utility"] .navbar-nav .dropdown > .dropdown-menu.show,
body[data-page-phase="utility"] .navbar-nav .dropdown:hover > .dropdown-menu.show {
display: block;
}

}



/* Mobile brand lock + polished sidebar navigation. */
body[data-page-phase="utility"] .brand-copy {
display: inline-flex !important;
  align-items: center !important;
  min-width: max-content;
  line-height: 1 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body[data-page-phase="utility"] .brand-copy span:first-child {
display: block !important;
  font-size: 1.1875rem !important;
  line-height: 1 !important;
  letter-spacing: -0.045em;
}
body[data-page-phase="utility"] .brand-copy span:last-child {
display: block !important;
}

body[data-page-phase="utility"] .mobile-nav-close {
display: none;
}

body[data-page-phase="utility"] .mobile-nav-backdrop {
position: fixed;
  inset: 0;
  z-index: 1060;
  background: rgba(17, 17, 17, 0.42);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}
body[data-page-phase="utility"].mobile-nav-open .mobile-nav-backdrop {
opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (min-width: 821px) {

  body[data-page-phase="utility"] .brand-copy span:first-child {
font-size: 1.1875rem !important;
}

}

@media (min-width: 992px) {

  body[data-page-phase="utility"] .mobile-nav-backdrop,
body[data-page-phase="utility"] .mobile-nav-close {
display: none !important;
}

}

@media (max-width: 991.98px) {

  

  body[data-page-phase="utility"].mobile-nav-open {
overflow: hidden;
}

  body[data-page-phase="utility"] .header {
min-height: var(--header-h);
    z-index: 1080;
}

  body[data-page-phase="utility"] .navbar {
height: var(--header-h) !important;
    min-height: var(--header-h) !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: var(--header-navbar-inner-gap) !important;
    padding: 0 var(--header-navbar-x) !important;
}

  body[data-page-phase="utility"] .navbar-brand {
flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    gap: var(--header-brand-gap) !important;
}

  body[data-page-phase="utility"] .logo-mark {
width: var(--header-logo-size) !important;
    height: var(--header-logo-size) !important;
    border-radius: var(--header-logo-radius) !important;
    font-size: 1rem !important;
    flex: 0 0 var(--header-logo-size);
}

  body[data-page-phase="utility"] .brand-copy,
body[data-page-phase="utility"] .brand-copy span:first-child {
font-size: 1.1875rem !important;
}

  body[data-page-phase="utility"] .navbar-toggler {
flex: 0 0 auto;
    margin-left: auto;
    padding: 0.375rem 0.5rem;
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    background: rgba(255, 250, 241, 0.92);
}

  body[data-page-phase="utility"] .header .navbar-collapse {
position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(86vw, 22.5rem) !important;
    height: 100svh !important;
    max-height: 100svh;
    flex-basis: auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 1.375rem 1rem 1.625rem !important;
    background:
      radial-gradient(circle at top right, rgba(14, 79, 143, 0.10), transparent 16rem),
      var(--panel);
    border-left: 1px solid var(--border);
    box-shadow: -1.5rem 0 3.25rem rgba(17, 17, 17, 0.18);
    overflow-y: auto;
    z-index: 1070;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease;
}

  body[data-page-phase="utility"] .header .navbar-collapse::before {
content: "Menu";
    display: block;
    margin: 0.125rem 2.625rem 1rem 0.125rem;
    color: var(--text);
    font-size: 1.4375rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.055em;
}

  body[data-page-phase="utility"] .mobile-nav-close {
appearance: none;
    display: grid;
    place-items: center;
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    width: 2.125rem;
    height: 2.125rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 244, 217, 0.82);
    color: var(--text);
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

  body[data-page-phase="utility"] .header .navbar-collapse .header-chip {
display: inline-flex;
    align-self: flex-start;
    margin: 0 0 0.875rem;
    padding: 0.4375rem 0.625rem;
    font-size: 0.6875rem;
}

  body[data-page-phase="utility"] .header .navbar-collapse .navbar-nav {
display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0.875rem 0 0 !important;
    border-top: 1px solid var(--border-soft);
    overflow: visible !important;
}

  body[data-page-phase="utility"] .navbar-nav .nav-item,
body[data-page-phase="utility"] .navbar-nav .dropdown {
width: 100%;
}

  body[data-page-phase="utility"] .navbar-nav .nav-link,
body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link {
display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.75rem 0.8125rem !important;
    border-radius: 0.875rem;
    background: rgba(255, 250, 241, 0.74);
    border: 1px solid var(--border-soft);
    color: var(--text);
    font-size: 0.9375rem !important;
    line-height: 1.2;
}

  body[data-page-phase="utility"] .navbar-nav .nav-link:hover,
body[data-page-phase="utility"] .navbar-nav .nav-link:focus,
body[data-page-phase="utility"] .navbar-nav .nav-link.active,
body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link:hover,
body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link:focus {
background: rgba(255, 244, 217, 0.92);
    border-color: var(--border);
    color: var(--text);
}

  body[data-page-phase="utility"] .navbar-nav .dropdown-menu {
position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0.375rem 0 0.125rem;
    padding: 0.5rem;
    border-radius: 0.875rem;
    background: rgba(255, 250, 241, 0.96);
    border: 1px solid var(--border-soft);
    box-shadow: none;
    transform: none !important;
}

  body[data-page-phase="utility"] .navbar-nav .dropdown-menu {
display: none;
}

  body[data-page-phase="utility"] .navbar-nav .dropdown-menu.show {
display: block;
}

  body[data-page-phase="utility"] .navbar-nav .dropdown-menu .dropdown-item,
body[data-page-phase="utility"] .navbar-nav .dropdown-menu a {
border-radius: 0.625rem;
    padding: 0.625rem 0.6875rem;
    font-size: 0.875rem;
    font-weight: 600;
}

}



/* Brand sizing correction: keep the site name visible and content-sized on small screens. */
body[data-page-phase="utility"] .navbar > .navbar-brand,
body[data-page-phase="utility"] .navbar-brand.flex-shrink-0 {
flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  margin-right: 0 !important;
}
body[data-page-phase="utility"] .brand-copy {
display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #000 !important;
}
body[data-page-phase="utility"] .brand-copy span,
body[data-page-phase="utility"] .brand-copy span:first-child,
body[data-page-phase="utility"] .brand-copy span:last-child {
display: block !important;
  font-size: 1.1875rem !important;
  line-height: 1 !important;
  color: #000 !important;
  letter-spacing: -0.045em !important;
}
body[data-page-phase="utility"] .navbar-brand,
body[data-page-phase="utility"] .navbar-brand *,
body[data-page-phase="utility"] .navbar > .navbar-brand,
body[data-page-phase="utility"] .navbar-brand.flex-shrink-0 {
border: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 991.98px) {

  body[data-page-phase="utility"] .navbar > .navbar-brand,
body[data-page-phase="utility"] .navbar-brand.flex-shrink-0 {
flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
}
  body[data-page-phase="utility"] .brand-copy,
body[data-page-phase="utility"] .brand-copy span,
body[data-page-phase="utility"] .brand-copy span:first-child,
body[data-page-phase="utility"] .brand-copy span:last-child {
font-size: 1.1875rem !important;
}

}


/* Right-rail current event status dot */
body[data-page-phase="utility"] .event-pill {
display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
}

body[data-page-phase="utility"] .event-pill.current::after {
content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 999px;
  background: var(--red, #a33a3a);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.14);
  animation: liveDotPulse 1.25s ease-in-out infinite;
}

/* Calendar utility page additions. */
/* Yearly lifecycle calendar table */
body[data-page-phase="utility"] .calendar-table td:nth-child(1) {
  white-space: nowrap;
}
body[data-page-phase="utility"] .calendar-table td:nth-child(4),
body[data-page-phase="utility"] .calendar-table td:nth-child(5),
body[data-page-phase="utility"] .calendar-table td:nth-child(6) {
  white-space: normal;
  overflow-wrap: anywhere;
}
body[data-page-phase="utility"] .event-pill {
display: inline-flex;
  align-items: center;
  padding: 0.3125rem 0.5625rem;
  border-radius: 0.375rem;
  border: 1px solid var(--border);
  background: var(--panel-2);
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.1;
}
body[data-page-phase="utility"] .event-pill.current {
color: var(--amber); background: rgba(217,119,6,.10); border-color: rgba(217,119,6,.28);
}
body[data-page-phase="utility"] .event-pill.on-deck {
color: var(--blue); background: rgba(37,99,235,.09); border-color: rgba(37,99,235,.24);
}
body[data-page-phase="utility"] .event-pill.upcoming {
color: var(--green); background: rgba(5,150,105,.08); border-color: rgba(5,150,105,.22);
}
body[data-page-phase="utility"] .event-pill.completed {
color: var(--muted); background: rgba(100,116,139,.08); border-color: rgba(100,116,139,.18);
}
body[data-page-phase="utility"] .calendar-table tr.event-current td {
background: rgba(217,119,6,.055);
}
body[data-page-phase="utility"] .calendar-table tr.event-on-deck td {
background: rgba(37,99,235,.045);
}
body[data-page-phase="utility"] .calendar-table tr.event-upcoming td {
background: rgba(5,150,105,.035);
}
body[data-page-phase="utility"] .calendar-table tr.event-past {
opacity: .44;
}
body[data-page-phase="utility"] .calendar-table tr.event-past td {
background: rgba(248,250,252,.62);
}
body[data-page-phase="utility"] .calendar-note {
color: var(--muted); font-size: 0.75rem; line-height: 1.5; margin-top: 0.75rem;
}

/* Source directory utility page additions. */
/* Source directory action links */
body[data-page-phase="utility"] .source-link-button {
display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.75rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.4375rem;
  border: 1px solid rgba(37,99,235,.28);
  background: var(--blue);
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none !important;
  box-shadow: 0 0.5rem 1.125rem rgba(37,99,235,.16);
}
body[data-page-phase="utility"] .source-link-button:hover {
filter: brightness(.96);
}

/* Scenario-driven NHL programming architecture demo layer. */
/* Scenario-driven NHL programming architecture demo layer */
.programming-demo-panel {
  display: block;
  grid-column: 1 / -1;
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  z-index: 4;
}
.programming-demo-panel select {
  width: 100%;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 0.625rem;
  background: #fff;
  color: #0f172a;
  padding: 0.4375rem 0.5625rem;
  font-size: 0.75rem;
  text-transform: none;
  letter-spacing: normal;
}
.programming-utility-mode .main.row:not(.info-page) > .left-column,
.programming-utility-mode .main.row:not(.info-page) > .middle-column,
.programming-utility-mode .main.row:not(.info-page) > .right-column {
  display: none !important;
}
.programming-utility-mode .main.row:not(.info-page)::before {
  content: "Utility page mode: no video rail, no news feed, no right-column modules. Homepage/league-wide ticker only.";
  display: block;
  width: 100%;
  padding: 1.125rem;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 1.125rem;
  background: rgba(255, 255, 255, .92);
  color: #0f172a;
  font-weight: 600;
}
/* Ticker icons: CSS-only LIVE dot + inline SVG status/group icons. */
.ticker-icon {
  width: 0.75rem;
  height: 0.75rem;
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: -1px;
  color: currentColor;
}

.ticker-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ticker-icon--live {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 999px;
  background: #ef4444;
  box-shadow: 0 0 0 0.1875rem rgba(239, 68, 68, .14);
}

.ticker-status,
.ticker-group-header,
.ticker-label {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
}

.ticker-pill.ticker-status {
  gap: 0.3125rem;
}

.ticker-item[data-ticker-state="live"] .ticker-pill.ticker-status::after,
.ticker-item[data-ticker-bucket="current"][data-ticker-state="activeEvent"] .ticker-pill.ticker-status::after {
  content: none !important;
  display: none !important;
}


.video-section.is-loading {
  background:
    radial-gradient(circle at top right, var(--iw-skeleton-surface-accent), transparent 18rem),
    var(--iw-skeleton-surface);
}

.video-loading {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, var(--iw-skeleton-surface-accent), transparent 18rem),
    var(--iw-skeleton-surface);
  color: var(--text);
}

.video-unavailable {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.055), transparent 18rem),
    var(--panel);
  color: var(--text);
}

.video-unavailable::before {
  content: "";
  position: absolute;
  inset: 1rem;
  border: 1px solid var(--border-soft);
  border-radius: var(--radius);
  pointer-events: none;
}

.video-unavailable-inner {
  position: relative;
  z-index: 1;
  max-width: 28rem;
  text-align: center;
}

.video-unavailable-kicker {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 0.625rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.06);
  color: var(--blue);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.video-unavailable h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.125rem, 1.7vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -0.04em;
}

.video-unavailable p {
  margin: 0.625rem auto 0;
  max-width: 24rem;
  color: var(--muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

.left-column.is-video-unavailable,
[data-surface="left-video-rail"].is-video-unavailable {
  position: relative;
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  isolation: isolate;
}

.left-column.is-video-unavailable .video-section,
.left-column.is-video-unavailable .video-feed-section,
[data-surface="left-video-rail"].is-video-unavailable .video-section,
[data-surface="left-video-rail"].is-video-unavailable .video-feed-section {
  pointer-events: none;
  visibility: hidden;
}

.video-rail-unavailable {
  position: absolute;
  inset: 0;
  z-index: 2;
  min-height: 100%;
  border-radius: 0;
}

.video-feed-section.is-unavailable {
  cursor: default;
}

.video-feed-section.is-loading {
  overflow-x: hidden;
}

.video-feed-section .card.video-card-loading {
  cursor: default;
  pointer-events: none;
}

.video-card-loading .position-relative {
  background:
    radial-gradient(circle at top right, var(--iw-skeleton-surface-accent), transparent 12rem),
    var(--iw-skeleton-surface);
}

.video-loading-card-copy {
  position: absolute;
  left: 0.875rem;
  right: 0.875rem;
  bottom: 0.875rem;
  z-index: 1;
  display: grid;
  gap: 0.5rem;
}


/* Shared IceWire loading states: feed, right rail, and ticker. */
.iw-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
}

.iw-loading-spinner {
  display: inline-block;
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
  border: 1px solid rgba(19, 32, 51, 0.18);
  border-top-color: rgba(19, 32, 51, 0.78);
  border-right-color: rgba(37, 99, 235, 0.72);
  border-radius: 999px;
  animation: iwLoadingSpin 0.82s linear infinite;
}

.iw-loading-spinner--card {
  width: 0.9375rem;
  height: 0.9375rem;
  margin-top: 0.125rem;
  opacity: 0.74;
}

.iw-skeleton-line,
.iw-skeleton-block {
  position: relative;
  display: block;
  overflow: hidden;
  max-width: 100%;
  background:
    linear-gradient(180deg, var(--iw-skeleton-top), var(--iw-skeleton-bottom)),
    var(--iw-skeleton-base);
}

.iw-skeleton-line {
  height: 0.625rem;
  border-radius: 999px;
}

.iw-skeleton-block {
  border-radius: var(--radius);
}

.iw-skeleton-line::after,
.iw-skeleton-block::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 44%;
  background: linear-gradient(90deg, transparent, var(--iw-skeleton-sheen), transparent);
  transform: translateX(-120%);
  animation: iwLoadingSheen 1.55s ease-in-out infinite;
}

.iw-skeleton-line--meta-xs {
  width: 2.25rem;
  height: 0.5rem;
}

.iw-skeleton-line--meta-sm {
  width: 4.5rem;
  height: 0.5rem;
}

.iw-skeleton-line--headline-xl {
  width: 92%;
  height: 0.875rem;
}

.iw-skeleton-line--headline-lg {
  width: 82%;
  height: 0.875rem;
}

.iw-skeleton-line--headline-md {
  width: 64%;
  height: 0.875rem;
}

.iw-skeleton-line--headline-sm {
  width: 48%;
  height: 0.875rem;
}

.iw-skeleton-line--headline-xs {
  width: 36%;
  height: 0.875rem;
}

.iw-feed-loading-shell .section-title {
  align-items: center;
  min-height: 1.5rem;
}

.iw-feed-loading-title {
  justify-content: flex-start;
}

.iw-skeleton-line--section-title {
  width: min(13rem, 62%);
  height: 1rem;
}

.iw-feed-loading {
  display: block;
}

.story-card-loading {
  pointer-events: none;
}

.story-card-loading h5 {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.625rem;
}

.iw-rail-loading-card {
  pointer-events: none;
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.055), transparent 12rem),
    rgba(255, 255, 255, 0.90);
}

.iw-rail-loading-card .module-head {
  align-items: flex-start;
}

.iw-rail-loading-heading {
  display: block;
  flex: 1 1 auto;
  width: min(10.5rem, 70%);
  max-width: 100%;
  margin-top: 0.125rem;
}

.iw-skeleton-line--rail-heading {
  width: 100%;
  height: 0.875rem;
}

.iw-situation-loading-copy,
.iw-event-loading-copy,
.iw-source-loading-copy {
  display: grid;
  gap: 0.375rem;
  min-width: 0;
}

.iw-situation-loading-copy {
  flex: 1 1 auto;
}

.iw-skeleton-line--situation-primary {
  width: min(12rem, 82%);
  height: 0.6875rem;
}

.iw-skeleton-line--situation-secondary {
  width: min(8rem, 58%);
  height: 0.5625rem;
}

.iw-skeleton-line--situation-badge {
  flex: 0 0 auto;
  width: 3.25rem;
  height: 1.25rem;
  border-radius: var(--radius-pill);
}

.iw-skeleton-line--game-state {
  width: 5.25rem;
  height: 1.5rem;
  border-radius: var(--radius-pill);
}

.iw-skeleton-line--game-meta {
  width: min(7rem, 34%);
  height: 0.5rem;
}

.iw-skeleton-block--team-logo {
  width: 2.625rem;
  height: 2.625rem;
  border-radius: 999px;
}

.iw-skeleton-line--team-code {
  width: 2.25rem;
  height: 0.625rem;
}

.iw-skeleton-line--game-primary {
  width: min(7.5rem, 92%);
  height: 2.125rem;
}

.iw-skeleton-line--game-secondary {
  width: min(8rem, 82%);
  height: 0.5625rem;
}

.iw-team-game-loading-bottomline {
  display: flex;
  justify-content: center;
}

.iw-skeleton-line--game-bottom {
  width: min(13rem, 78%);
  height: 0.5625rem;
}

.iw-team-game-loading-actions {
  display: flex;
  justify-content: center;
}

.iw-skeleton-line--game-action {
  width: min(8.5rem, 52%);
  height: 0.75rem;
}

.iw-events-loading-note {
  padding: 0.625rem 0 0.25rem;
}

.iw-skeleton-line--event-note {
  width: min(16rem, 90%);
  height: 0.5625rem;
}

.iw-skeleton-line--table-heading {
  width: min(5rem, 78%);
  height: 0.5rem;
}

.iw-skeleton-line--table-heading-sm {
  width: 2.75rem;
}

.iw-skeleton-line--table-heading-md {
  width: 3.75rem;
}

.iw-skeleton-line--event-pill {
  width: 3.5rem;
  height: 1.25rem;
  border-radius: var(--radius-pill);
}

.iw-skeleton-line--event-primary {
  width: min(10rem, 92%);
  height: 0.625rem;
}

.iw-skeleton-line--event-secondary {
  width: min(6.5rem, 62%);
  height: 0.5rem;
}

.iw-skeleton-line--event-window {
  width: min(6.25rem, 88%);
  height: 0.5625rem;
}

.iw-skeleton-line--event-countdown {
  width: min(4.25rem, 58%);
  height: 0.5rem;
}








.iw-source-loading-copy {
  min-width: 7rem;
}

.iw-skeleton-line--source-name {
  width: min(10rem, 92%);
  height: 0.625rem;
}

.iw-skeleton-line--source-category {
  width: min(6rem, 58%);
  height: 0.5rem;
}

.iw-skeleton-line--source-type {
  width: 3.75rem;
  height: 0.5625rem;
}

.iw-skeleton-line--source-button {
  width: 3.25rem;
  height: 1.85rem;
  border-radius: var(--radius-control);
}

.iw-skeleton-block--podcast-audio {
  width: 100%;
  height: 2.125rem;
  margin-top: 0.75rem;
  border-radius: var(--radius-control);
}

.iw-skeleton-block--video-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.iw-skeleton-block--video-card {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.iw-skeleton-line--video-card-title {
  width: 82%;
  height: 0.5625rem;
}

.iw-skeleton-line--video-card-meta {
  width: 46%;
  height: 0.5625rem;
}

.iw-ticker-loading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
}

@keyframes iwLoadingSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes iwLoadingSheen {
  0% {
    transform: translateX(-120%);
  }

  55%,
  100% {
    transform: translateX(220%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .iw-loading-spinner,
  .iw-skeleton-line::after,
  .iw-skeleton-block::after {
    animation: none;
  }

}


.video-feed-section {
  cursor: grab;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.video-feed-section .card.video-card {
  cursor: pointer;
  position: relative;
}

.video-feed-section .card.video-card.active {
  cursor: grab;
  border-color: rgba(14, 79, 143, 0.9);
  outline: 2px solid rgba(14, 79, 143, 0.38);
  outline-offset: -3px;
  background: #0f172a;
}

.video-feed-section .card.video-card.active .video-thumbnail {
  opacity: 0.5;
}

.video-feed-section .card.video-card.active .video-overlay {
  background:
    linear-gradient(
      to bottom,
      rgba(15, 23, 42, 0.48),
      rgba(15, 23, 42, 0.98)
    );
}

.video-feed-section .card.video-card.active .card-title {
  color: rgba(255, 250, 241, 0.6);
  font-weight: normal;
  text-shadow: 0 1px 0.5rem rgba(0, 0, 0, 0.36);
}

.video-feed-section .card.video-card.active .video-meta {
  color: rgba(255, 250, 241, 0.6);
}

.video-feed-section .card.video-card.active .video-meta .meta-source,
.video-feed-section .card.video-card.active .channel {
  color: rgba(255, 250, 241, 0.6);
  font-weight: 650;
}


.video-feed-section.is-dragging,
.video-feed-section.is-dragging * {
  cursor: grabbing;
  user-select: none;
}

.video-feed-section.is-loading,
.video-feed-section.is-loading .card {
  cursor: default;
}

/* Cross-surface alignment utilities: shared tokens, metadata rows, status dots, and state copy. */
:root {
  --radius-panel: 1.125rem;
  --radius-popover: 0.875rem;
  --radius-control: 0.75rem;
  --radius-pill: 0.375rem;
  --rail-pad: 1rem;
  --item-pad-y: 0.6875rem;
  --story-pad-y: 0.9375rem;
  --chrome-nav-h: 3.5rem;
  --chrome-ticker-h: 2.875rem;
  --chrome-pad-x: 1rem;
  --ticker-pad-x: 9.375rem;
}

.meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: var(--muted);
  font-family: var(--font-mono, inherit);
  font-size: 0.75rem;
  font-weight: 700;
}

.middle-column .meta-row {
  font-weight: normal;
}

/* Keep wrapped story-card metadata compact without changing horizontal rhythm. */
.meta-row.card-meta {
  column-gap: 0.5rem;
  row-gap: 0.125rem;
  line-height: 1.15;
}

.meta-row--inverse {
  color: rgba(255, 250, 241, 0.78);
}

.content-status-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.125rem;
  padding: 0.125rem 0.375rem;
  border: 1px solid var(--content-status-border);
  border-radius: 0.375rem;
  background: var(--content-status-bg);
  color: var(--content-status-color);
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.content-status-label--new {
  --content-status-bg: rgba(37, 99, 235, 0.07);
  --content-status-border: rgba(37, 99, 235, 0.20);
  --content-status-color: #1d4ed8;
}

.content-status-label--live {
  --content-status-bg: rgba(225, 29, 72, 0.08);
  --content-status-border: rgba(225, 29, 72, 0.22);
  --content-status-color: #be123c;
}

.content-status-label--upcoming {
  --content-status-bg: rgba(217, 119, 6, 0.08);
  --content-status-border: rgba(217, 119, 6, 0.22);
  --content-status-color: #a16207;
}

.meta-row--inverse .content-status-label--new {
  --content-status-bg: rgba(191, 219, 254, 0.14);
  --content-status-border: rgba(191, 219, 254, 0.32);
  --content-status-color: #dbeafe;
}

.meta-row--inverse .content-status-label--live {
  --content-status-bg: rgba(253, 164, 175, 0.14);
  --content-status-border: rgba(253, 164, 175, 0.34);
  --content-status-color: #ffe4e6;
}

.meta-row--inverse .content-status-label--upcoming {
  --content-status-bg: rgba(253, 230, 138, 0.14);
  --content-status-border: rgba(253, 230, 138, 0.32);
  --content-status-color: #fef3c7;
}

.video-feed-section .card.video-card.active .content-status-label {
  opacity: 0.78;
}

.meta-row .meta-separator,
.meta-separator {
  color: currentColor;
  opacity: 0.72;
}

.meta-row a:hover,
.meta-row a:focus {
  color: var(--link, var(--blue));
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.video-overlay .video-meta {
  margin: 0.4375rem 0 0;
  color: rgba(255, 250, 241, 0.78);
  font-size: 0.75rem;
}

.video-overlay .video-meta .meta-source,
.video-overlay .channel {
  color: var(--cream, #fffaf1);
  font-weight: 600;
}

/*
 * Keep the formatted date/time and its state indicator together as one
 * metadata flex item. The rest of the metadata row can continue wrapping.
 */
.video-overlay .video-meta-time {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}

/*
 * Shared geometry for the active-video and live-video indicators.
 * The live selector explicitly excludes active cards so the two states
 * never compete for the same pseudo-element.
 */
.video-feed-section .card.video-card.active .video-meta-time::after,
.video-feed-section .card.video-card.live-priority:not(.active) .video-meta-time::after {
  content: "";
  display: inline-block;
  flex: 0 0 auto;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 999px;
  animation: liveDotPulse 1.25s ease-in-out infinite;
}

/* Currently playing always has visual authority, including active live video. */
.video-feed-section .card.video-card.active .video-meta-time::after {
  background: #34d399;
  box-shadow: 0 0 0 0.25rem rgba(52, 211, 153, 0.22);
}

/* Red is shown only while the live card is not the currently playing card. */
.video-feed-section .card.video-card.live-priority:not(.active) .video-meta-time::after {
  background: var(--red, #a33a3a);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.14);
}

@media (max-width: 820px) {
  .video-card h5 {
    line-height: 1.1;
  }

  .video-overlay .video-meta {
    margin-top: 0.25rem;
    line-height: 1.05;
    gap: 0.25rem 0.375rem;
  }

  .video-overlay .video-meta .meta-source,
  .video-overlay .video-meta span {
    line-height: 1.05;
  }

  .video-overlay .content-status-label {
    min-height: 1rem;
    padding: 0.0625rem 0.3125rem;
    font-size: 0.625rem;
  }
}

.story-card {
  padding-top: var(--story-pad-y);
  padding-bottom: var(--story-pad-y);
}

.story-title-text {
  color: inherit;
}
.podcast-audio {
  display: block;
  width: 100%;
  height: 2.125rem;
  margin-top: 0.75rem;
}

.module-card {
  border-radius: var(--radius-panel);
}

.dropdown-menu {
  border-radius: var(--radius-popover);
}

.dropdown > button:focus-visible,
.nav-link:focus-visible,
.header-chip:focus-visible,
.ticker-wrap:focus-visible,
.video-feed-section:focus-visible,
.source-link-button:focus-visible,
.market-link:focus-visible,
.story-card a:focus-visible {
  outline: 2px solid rgba(14, 79, 143, 0.38);
  outline-offset: 2px;
}

.ticker-pill,
.status-pill,
.source-badge,
.label,
.score,
.tab-btn,
.event-pill,
.market-outcome-pill {
  border-radius: var(--radius-pill) !important;
}

.live-dot,
.status-pill.live::before,
.ticker-icon--live {
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 999px;
  background: var(--red, #a33a3a);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.14);
}

.live-dot--pulse,
.status-pill.live::before {
  animation: liveDotPulse 1.25s ease-in-out infinite;
}

.ticker-icon--live.live-dot {
  display: inline-block;
  flex: 0 0 auto;
}

.ticker-item--empty {
  color: var(--muted);
}

.state-message {
  display: block;
  padding: var(--item-pad-y) 0;
  color: var(--muted);
  font-family: var(--font-mono, inherit);
  font-size: 0.75rem;
  font-weight: 600;
}

.market-meta.meta-row {
  justify-content: flex-start;
  font-family: var(--font-mono, inherit);
  font-size: 0.6875rem;
}

.market-meta.meta-row .market-volume {
  text-align: left;
}

/* Right-rail current event status dot */
.event-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
}

.event-pill.current::after {
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 999px;
  background: var(--red, #a33a3a);
  box-shadow: 0 0 0 0.25rem rgba(163, 58, 58, 0.14);
  animation: liveDotPulse 1.25s ease-in-out infinite;
}

@keyframes liveDotPulse {
  0%, 100% { opacity: .45; transform: scale(.82); }
  50% { opacity: 1; transform: scale(1.18); }
}


/* Team-page-only adaptive NHL Game Card */
.team-game-card {
  --game-card-bg: rgba(255, 255, 255, .90);
  --game-border: var(--border-soft);
  --game-text: var(--text);
  --game-muted: var(--muted);
  --game-live: var(--red);
  --game-state-bg: var(--blue-note);
  --game-state-border: var(--border-soft);
  --game-state-color: var(--blue);
  overflow: hidden;
  border: 1px solid var(--border);
  border-top-color: var(--game-state-bg);
  border-radius: var(--radius-panel);
  background: var(--game-card-bg);
}

.team-game-card .card-body {
  position: relative;
  overflow: hidden;
  padding: 1rem;
  border: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--yellow-note) 36%, transparent), transparent 15rem),
    var(--surface);
  color: var(--game-text);
}

.team-game-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  color: var(--game-muted);
  font-family: var(--font-mono, inherit);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.1;
  text-transform: uppercase;
}

.team-game-state,
.team-game-meta {
  min-width: 0;
  white-space: nowrap;
}

.team-game-state {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--game-state-border);
  border-radius: var(--radius-pill);
  background: var(--game-state-bg);
  color: var(--game-state-color);
  font-size: 0.72rem;
  font-weight: 820;
  letter-spacing: 0.06em;
}

.team-game-meta {
  overflow: hidden;
  color: var(--game-muted);
  text-align: right;
  text-overflow: ellipsis;
}

.team-game-live-dot {
  display: inline-block;
  flex: 0 0 auto;
}

.team-game-scoreboard {
  display: grid;
  grid-template-columns: 3.625rem minmax(0, 1fr) 3.625rem;
  align-items: center;
  gap: 0.625rem;
  min-height: 6.75rem;
  padding: 0.75rem 0 0.625rem;
}

.team-game-club {
  display: grid;
  justify-items: center;
  gap: 0.4375rem;
  min-width: 0;
  color: var(--game-muted);
  font-family: var(--font-mono, inherit);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.team-game-club.is-selected {
  color: var(--game-text);
}

.team-game-logo-img,
.team-game-logo-fallback {
  width: 2.625rem;
  height: 2.625rem;
  flex: 0 0 auto;
}

.team-game-logo-img {
  object-fit: contain;
  filter: none;
}

.team-game-logo-fallback {
  display: grid;
  place-items: center;
  border: 1px solid rgba(100, 116, 139, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .56);
  color: currentColor;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.team-game-club.is-selected .team-game-logo-fallback {
  border-color: var(--game-border);
  background: var(--surface-strong);
}

.team-game-center {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 0.3125rem;
  text-align: center;
}

.team-game-center strong {
  color: var(--game-text);
  font-size: clamp(1.875rem, 7vw, 2.625rem);
  font-weight: 700;
  letter-spacing: -.075em;
  line-height: .92;
}

.team-game-center small {
  max-width: 100%;
  overflow: hidden;
  color: var(--game-muted);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-game-footer {
  display: grid;
  gap: 0.625rem;
  padding-top: 0.625rem;
  border-top: 1px solid var(--game-border);
}

.team-game-bottomline {
  overflow: hidden;
  color: var(--game-muted);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}



.team-game-actions {
  display: flex;
  justify-content: center;
}

.team-game-action {
  display: inline-flex;
  min-height: 2.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.375rem 0.5rem;
  border-radius: 0.375rem;
  color: var(--link);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.team-game-action:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.team-game-action:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.team-game-action-icon {
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
}

.team-game-card--live-stale {
  --game-state-bg: var(--yellow-note);
  --game-state-border: var(--border-soft);
  --game-state-color: var(--amber);
}

.team-game-card--live {
  --game-state-bg: color-mix(in srgb, var(--red) 10%, transparent);
  --game-state-border: color-mix(in srgb, var(--red) 22%, transparent);
  --game-state-color: var(--game-live);
}

.team-game-card--intermission {
  --game-state-bg: var(--yellow-note);
  --game-state-border: var(--border-soft);
  --game-state-color: var(--amber);
}

.team-game-card--final {
  --game-state-bg: var(--panel-2);
  --game-state-border: var(--border-soft);
  --game-state-color: var(--game-text);
}

.team-game-card--exception {
  --game-state-bg: var(--yellow-note);
  --game-state-border: var(--border-soft);
  --game-state-color: var(--amber);
}



/* Utility page layout corrections
   Keeps about, calendar, and sources as document-style pages inside the shared stylesheet. */
body[data-page-phase="utility"] {
  overflow-x: hidden;
  overflow-y: auto;
}

body[data-page-phase="utility"] .page-shell {
  height: auto;
  min-height: 100vh;
  overflow: visible;
}

body[data-page-phase="utility"] .header {
  background: #ebe3d4;
}

body[data-page-phase="utility"] .main.info-page.row {
  height: auto;
  min-height: calc(100vh - var(--header-h) - var(--footer-h));
  padding: 1rem;
  overflow: visible;
  align-content: flex-start;
}

body[data-page-phase="utility"] .main.info-page.row > .info-primary,
body[data-page-phase="utility"] .main.info-page.row > .info-secondary {
  height: auto;
  overflow: visible;
}

body[data-page-phase="utility"] .info-primary,
body[data-page-phase="utility"] .info-secondary {
  height: auto;
  overflow: visible;
}

body[data-page-phase="utility"] .info-primary .content-section,
body[data-page-phase="utility"] .info-secondary .site-info-section {
  height: auto;
  overflow: visible;
  padding: 0;
}

body[data-page-phase="utility"] .page-intro-card,
body[data-page-phase="utility"] .module-card:not(.card) {
  padding: 1.375rem;
}

body[data-page-phase="utility"] .module-card.card {
  padding: 0;
}

body[data-page-phase="utility"] .module-card.card > .card-body {
  padding: 1.375rem;
}

/* Shared navbar menu modifiers. Application code owns primary-navigation visibility; these classes control sizing and alignment. */
.site-nav-menu,
body[data-page-phase="utility"] .site-nav-menu {
  margin-top: 0;
}

.site-nav-dropdown--mega,
body[data-page-phase="utility"] .site-nav-dropdown--mega {
  position: static;
}

/* Teams navigation flyout: desktop mega-menu plus mobile drawer-friendly layout. */
.navbar,
body[data-page-phase="utility"] .navbar {
  position: relative;
}

.navbar-nav .site-nav-dropdown--mega,
body[data-page-phase="utility"] .navbar-nav .site-nav-dropdown--mega {
  position: static;
}

.navbar-nav .teams-nav-item,
body[data-page-phase="utility"] .navbar-nav .teams-nav-item {
  position: relative;
}

.teams-mega-menu,
body[data-page-phase="utility"] .teams-mega-menu {
  left: auto;
  right: 0;
  width: min(48.75rem, calc(100vw - 2rem));
  padding: 0.75rem;
  border-radius: 1rem;
  background:
    radial-gradient(circle at top right, rgba(14, 79, 143, 0.08), transparent 14rem),
    var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 1.125rem 2.75rem rgba(17, 17, 17, 0.12);
}

.teams-menu-head {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1rem;
  padding: 0.125rem 0.125rem 0.625rem;
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: 0.625rem;
}

.division-label,
.team-menu-code {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.teams-menu-head strong {
  display: block;
  margin-top: 0.1875rem;
  color: var(--text);
  font-size: 1.125rem;
  line-height: 1;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.teams-menu-head small {
  display: block;
  margin-top: 0.3125rem;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 600;
}

.teams-conference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.875rem;
}

.conference-panel {
  min-width: 0;
}

.conference-title {
  margin: 0 0 0.625rem;
  color: var(--text);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.division-panel + .division-panel {
  margin-top: 0.75rem;
}

.division-label {
  display: block;
  margin: 0 0 0.4375rem;
}

.team-menu-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4375rem;
}

.team-menu-link,
body[data-page-phase="utility"] .team-menu-link {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  padding: 0.4375rem 0.5rem !important;
  border-radius: 0.75rem;
  border: 1px solid transparent;
  background: rgba(255, 250, 241, 0.62);
  color: var(--text) !important;
}

.team-menu-link:hover,
.team-menu-link:focus,
.team-menu-link[aria-current="page"],
body[data-page-phase="utility"] .team-menu-link:hover,
body[data-page-phase="utility"] .team-menu-link:focus,
body[data-page-phase="utility"] .team-menu-link[aria-current="page"] {
  background: rgba(255, 244, 217, 0.92) !important;
  border-color: var(--border);
  color: var(--text) !important;
}

.team-menu-logo {
  flex: 0 0 1.5625rem;
  width: 1.5625rem;
  height: 1.5625rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid var(--border-soft);
}

.team-menu-logo img {
  max-width: 1.1875rem;
  max-height: 1.1875rem;
  object-fit: contain;
}

.team-menu-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.team-menu-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.05;
}

.team-menu-code {
  font-size: 0.5625rem;
  line-height: 1;
}

@media (max-width: 991.98px) {
  .navbar-nav .teams-nav-item,
  body[data-page-phase="utility"] .navbar-nav .teams-nav-item {
    position: relative;
  }

  .teams-mega-menu,
  body[data-page-phase="utility"] .teams-mega-menu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0.375rem 0 0.125rem;
    padding: 0.625rem;
    border-radius: 0.875rem;
    box-shadow: none;
    background: rgba(255, 250, 241, 0.96);
    transform: none !important;
  }

  .teams-mobile-menu,
  body[data-page-phase="utility"] .teams-mobile-menu {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0.375rem 0 0.125rem;
    padding: 0.625rem;
    border-radius: 0.875rem;
    box-shadow: none;
    background: rgba(255, 250, 241, 0.96);
    transform: none !important;
  }

  .teams-mobile-menu .teams-conference-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .teams-mobile-menu .team-menu-list {
    grid-template-columns: 1fr;
  }

  .teams-mobile-menu .team-menu-link {
    min-height: 2.625rem;
  }

  .teams-menu-head {
    display: none;
  }

  .no-js .teams-menu-head {
    display: flex;
  }

  .teams-conference-grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .team-menu-list {
    grid-template-columns: 1fr;
  }

  .team-menu-link,
  body[data-page-phase="utility"] .team-menu-link {
    min-height: 2.625rem;
  }
}

/* Shared header/navbar component normalization.
   Visual navbar styling lives here; page-specific selectors below only beat legacy placement-specific CSS. */
@media (min-width: 821px) {
  :root {
    --header-h: 3.5rem;
    --header-brand-min-width: 0;
    --header-brand-gap: 0.5625rem;
    --header-logo-size: 1.875rem;
    --header-logo-radius: 0.5625rem;
    --header-brand-name-size: 1.1875rem;
    --header-navbar-inner-gap: 0.75rem;
    --header-navbar-x: 1rem;
  }
}

@media (max-width: 991.98px) {
  :root {
    --header-h: 3.5rem;
    --header-brand-min-width: 0;
    --header-brand-gap: 0.5625rem;
    --header-logo-size: 1.875rem;
    --header-logo-radius: 0.5625rem;
    --header-brand-name-size: 1.1875rem;
    --header-navbar-inner-gap: 0.625rem;
    --header-navbar-x: 0.875rem;
  }
}

.header,
body[data-page-phase="utility"] .header {
  min-height: var(--header-h);
  border-bottom: 1px solid var(--border-soft);
  background: var(--header-bg);
  color: var(--header-fg);
  backdrop-filter: blur(18px);
  box-shadow: none;
  position: sticky;
  top: 0;
  z-index: 40;
}

@media (min-width: 992px) {
  .main.row:not(.info-page) > .header {
    grid-column: 2 / 4;
    grid-row: 1;
    position: relative;
    top: auto;
    z-index: 60;
  }
}

.navbar,
.main.row:not(.info-page) > .header .navbar,
body[data-page-phase="utility"] .navbar {
  position: relative;
  width: 100%;
  height: var(--header-h);
  min-height: var(--header-h);
  display: flex;
  align-items: center;
  gap: var(--header-navbar-inner-gap);
  padding: 0 var(--header-navbar-x);
}

.navbar-brand,
.main.row:not(.info-page) > .header .navbar-brand,
body[data-page-phase="utility"] .navbar-brand,
.navbar > .navbar-brand,
.navbar-brand.flex-shrink-0 {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: auto;
  min-width: var(--header-brand-min-width);
  max-width: max-content;
  gap: var(--header-brand-gap);
  margin-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  color: inherit !important;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.logo-mark,
body[data-page-phase="utility"] .logo-mark {
  width: var(--header-logo-size);
  height: var(--header-logo-size);
  flex: 0 0 var(--header-logo-size);
  display: grid;
  place-items: center;
  border: 0;
  border-radius: var(--header-logo-radius);
  background: var(--text);
  color: var(--cream);
  box-shadow: none;
  font-size: 1rem;
  font-weight: 700;
}

.brand-copy,
body[data-page-phase="utility"] .brand-copy {
  display: inline-flex !important;
  align-items: center !important;
  min-width: max-content;
  line-height: 1 !important;
  color: inherit !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.brand-copy span.brand-name,
body[data-page-phase="utility"] .brand-copy span.brand-name {
  display: block !important;
  margin-top: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: var(--header-brand-name-size) !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: -0.045em !important;
  white-space: nowrap;
}

.header .navbar-collapse,
.main.row:not(.info-page) > .header .navbar-collapse,
body[data-page-phase="utility"] .header .navbar-collapse {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: var(--header-navbar-inner-gap);
}

.navbar-nav,
.main.row:not(.info-page) > .header .navbar-nav,
body[data-page-phase="utility"] .navbar-nav {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: var(--header-nav-gap);
  margin-left: auto;
  margin-bottom: 0;
  list-style: none;
  padding: 0;
  color: inherit;
}

.site-nav-caret,
body[data-page-phase="utility"] .site-nav-caret {
  display: inline-block;
  margin-left: 0;
  font-size: 1.25em;
  line-height: 1;
  transform-origin: center;
  transition: transform .16s ease;
}

.navbar-nav .nav-link,
body[data-page-phase="utility"] .navbar-nav .nav-link {
  min-height: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
  font: inherit;
  line-height: 1.2;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active,
body[data-page-phase="utility"] .navbar-nav .nav-link:hover,
body[data-page-phase="utility"] .navbar-nav .nav-link:focus,
body[data-page-phase="utility"] .navbar-nav .nav-link.active {
  background: transparent !important;
  border: 0 !important;
}

.navbar-nav .nav-link.active,
body[data-page-phase="utility"] .navbar-nav .nav-link.active {
  font-weight: 700;
}

.header .navbar-nav > .nav-item > .nav-link:focus-visible,
body[data-page-phase="utility"] .header .navbar-nav > .nav-item > .nav-link:focus-visible {
  outline-color: var(--header-fg);
}

.navbar-toggler,
body[data-page-phase="utility"] .navbar-toggler {
  display: none;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0.375rem 0.5rem;
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  background: rgba(255, 250, 241, 0.92);
}

.navbar-toggler:focus,
body[data-page-phase="utility"] .navbar-toggler:focus {
  box-shadow: 0 0 0 0.1875rem rgba(37, 99, 235, 0.12);
}

.site-nav-menu,
body[data-page-phase="utility"] .site-nav-menu {
  margin-top: 0;
}

.teams-nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

.navbar-nav .teams-nav-item,
body[data-page-phase="utility"] .navbar-nav .teams-nav-item {
  position: relative;
}

.site-nav-disclosure {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.site-nav-disclosure:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 0.1875rem;
}

.site-nav-disclosure[aria-expanded="true"] .site-nav-caret {
  transform: rotate(180deg);
}

.js .site-nav-dropdown > .site-nav-menu:not(.is-open) {
  display: none !important;
}

.site-nav-menu[hidden] {
  display: none !important;
}

.site-nav-menu.is-open {
  display: block;
}

.no-js .teams-nav-item > .site-nav-disclosure {
  display: none !important;
}

.no-js .teams-nav-item > .site-nav-menu {
  display: block !important;
}

@media (min-width: 992px) {
  .teams-nav-item > .site-nav-menu {
    position: absolute;
    top: calc(100% + 0.75rem);
  }
}

@media (max-width: 991.98px) {
  body.mobile-nav-open {
    overflow: hidden;
  }

  .js .navbar-toggler,
  .js body[data-page-phase="utility"] .navbar-toggler {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .header,
  body[data-page-phase="utility"] .header {
    min-height: var(--header-h);
    z-index: 1080;
  }

  .navbar,
  .main.row:not(.info-page) > .header .navbar,
  body[data-page-phase="utility"] .navbar {
    height: var(--header-h) !important;
    min-height: var(--header-h) !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: var(--header-navbar-inner-gap) !important;
    padding: 0 var(--header-navbar-x) !important;
  }

  .navbar-brand,
  .main.row:not(.info-page) > .header .navbar-brand,
  body[data-page-phase="utility"] .navbar-brand,
  .navbar > .navbar-brand,
  .navbar-brand.flex-shrink-0 {
    min-width: var(--header-brand-min-width) !important;
    gap: var(--header-brand-gap) !important;
  }

  .logo-mark,
  body[data-page-phase="utility"] .logo-mark {
    width: var(--header-logo-size) !important;
    height: var(--header-logo-size) !important;
    flex-basis: var(--header-logo-size);
    border-radius: var(--header-logo-radius) !important;
  }

  .mobile-nav-backdrop,
  body[data-page-phase="utility"] .mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1060;
    background: rgba(17, 17, 17, 0.42);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
  }

  body.mobile-nav-open .mobile-nav-backdrop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .js .header .site-nav-drawer,
  .js .main.row:not(.info-page) > .header .site-nav-drawer,
  .js body[data-page-phase="utility"] .header .site-nav-drawer {
    position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    display: flex !important;
    flex-direction: column !important;
    width: min(86vw, 22.5rem) !important;
    height: 100svh !important;
    max-height: 100svh;
    flex-basis: auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 1.375rem 1rem 1.625rem !important;
    background:
      radial-gradient(circle at top right, rgba(14, 79, 143, 0.10), transparent 16rem),
      var(--panel);
    color: var(--text);
    border-left: 1px solid var(--border);
    box-shadow: -1.5rem 0 3.25rem rgba(17, 17, 17, 0.18);
    overflow-y: auto;
    z-index: 1070;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform .24s ease, opacity .18s ease, visibility .18s ease;
  }

  .js .header .site-nav-drawer.is-open,
  .js .main.row:not(.info-page) > .header .site-nav-drawer.is-open,
  .js body[data-page-phase="utility"] .header .site-nav-drawer.is-open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .js .header .site-nav-drawer::before,
  .js body[data-page-phase="utility"] .header .site-nav-drawer::before {
    content: "Menu";
    display: block;
    margin: 0.125rem 2.625rem 1rem 0.125rem;
    color: inherit;
    font-size: 1.4375rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.055em;
  }

  .mobile-nav-close,
  body[data-page-phase="utility"] .mobile-nav-close {
    appearance: none;
    display: grid;
    place-items: center;
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    width: 2.125rem;
    height: 2.125rem;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 244, 217, 0.82);
    color: var(--text);
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
  }

  .mobile-nav-close-icon,
  body[data-page-phase="utility"] .mobile-nav-close-icon {
    display: block;
    width: 1rem;
    height: 1rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
  }

  .js .header .site-nav-drawer .navbar-nav,
  .js .main.row:not(.info-page) > .header .site-nav-drawer .navbar-nav,
  .js body[data-page-phase="utility"] .header .site-nav-drawer .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0.875rem 0 0 !important;
    border-top: 1px solid var(--border-soft);
    overflow: visible !important;
  }

  .js .header .site-nav-drawer .navbar-nav .nav-item,
  .js body[data-page-phase="utility"] .header .site-nav-drawer .navbar-nav .nav-item {
    width: 100%;
  }

  .js .header .site-nav-drawer .navbar-nav .nav-link,
  .js body[data-page-phase="utility"] .header .site-nav-drawer .navbar-nav .nav-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 2.75rem;
    padding: 0.75rem 0.8125rem !important;
    border-radius: 0.875rem !important;
    background: rgba(255, 250, 241, 0.74) !important;
    border: 1px solid var(--border-soft) !important;
    color: inherit !important;
    font-size: 0.9375rem !important;
    font-weight: 800;
    line-height: 1.2;
  }

  .js .header .site-nav-drawer .navbar-nav .nav-link:hover,
  .js .header .site-nav-drawer .navbar-nav .nav-link:focus,
  .js .header .site-nav-drawer .navbar-nav .nav-link.active,
  .js body[data-page-phase="utility"] .header .site-nav-drawer .navbar-nav .nav-link:hover,
  .js body[data-page-phase="utility"] .header .site-nav-drawer .navbar-nav .nav-link:focus,
  .js body[data-page-phase="utility"] .header .site-nav-drawer .navbar-nav .nav-link.active {
    background: rgba(255, 244, 217, 0.92) !important;
    border-color: var(--border) !important;
  }

  .js .header .site-nav-drawer .navbar-nav > .nav-item > .nav-link:focus-visible,
  .js body[data-page-phase="utility"] .header .site-nav-drawer .navbar-nav > .nav-item > .nav-link:focus-visible {
    outline-color: var(--blue);
  }

  .js .teams-nav-item {
    flex-wrap: wrap;
  }

  .js .teams-nav-item > .site-nav-menu {
    flex: 1 0 100%;
    width: 100%;
  }

  .no-js .navbar-toggler {
    display: none !important;
  }

  .no-js .header .navbar,
  .no-js .main.row:not(.info-page) > .header .navbar,
  .no-js body[data-page-phase="utility"] .navbar {
    height: auto !important;
    min-height: var(--header-h) !important;
    flex-wrap: wrap !important;
  }

  .no-js .header .site-nav-drawer,
  .no-js .main.row:not(.info-page) > .header .site-nav-drawer,
  .no-js body[data-page-phase="utility"] .header .site-nav-drawer {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding: 0.75rem 0 1rem !important;
    background: var(--header-bg);
    color: var(--header-fg);
    border: 0;
    box-shadow: none;
    overflow: visible;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
  }

  .no-js .mobile-nav-close {
    display: none !important;
  }

  .no-js .navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
    gap: 0.25rem;
    margin: 0 !important;
    padding: 0 !important;
  }

  .no-js .navbar-nav .nav-link,
  .no-js body[data-page-phase="utility"] .navbar-nav .nav-link {
    width: 100%;
    padding: 0.5rem 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: var(--header-fg) !important;
  }

  .no-js .navbar-nav .nav-link:hover,
  .no-js .navbar-nav .nav-link:focus,
  .no-js .navbar-nav .nav-link.active,
  .no-js body[data-page-phase="utility"] .navbar-nav .nav-link:hover,
  .no-js body[data-page-phase="utility"] .navbar-nav .nav-link:focus,
  .no-js body[data-page-phase="utility"] .navbar-nav .nav-link.active {
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--header-fg) !important;
  }

  .no-js .navbar-nav .nav-link:focus-visible,
  .no-js body[data-page-phase="utility"] .navbar-nav .nav-link:focus-visible {
    outline-color: var(--header-fg);
  }
}

/* Utility page shell normalization: keep navbar and ticker as reserved viewport chrome. */
body[data-page-phase="utility"] {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

body[data-page-phase="utility"] .container-fluid {
  height: 100%;
  min-height: 0 !important;
  overflow: hidden;
}

body[data-page-phase="utility"] .page-shell {
  width: 100%;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

body[data-page-phase="utility"] .header {
  flex: 0 0 var(--header-h);
  height: var(--header-h);
  min-height: var(--header-h);
  position: relative;
  top: auto;
  z-index: 100;
  overflow: visible;
}

body[data-page-phase="utility"] .navbar {
  height: 100%;
  min-height: var(--header-h);
}

body[data-page-phase="utility"] .main.info-page,
body[data-page-phase="utility"] .main.info-page.row {
  flex: 1 1 auto;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-content: stretch;
}

body[data-page-phase="utility"] .main.info-page.single-column.row > .info-primary {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
}

body[data-page-phase="utility"] .info-primary,
body[data-page-phase="utility"] .info-secondary,
body[data-page-phase="utility"] .main.info-page.row > .info-primary,
body[data-page-phase="utility"] .main.info-page.row > .info-secondary {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body[data-page-phase="utility"] .info-primary .content-section,
body[data-page-phase="utility"] .info-secondary .site-info-section {
  height: 100% !important;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  padding-right: 0.625rem;
}

body[data-page-phase="utility"] .footer {
  flex: 0 0 var(--footer-h);
  height: var(--footer-h);
  min-height: var(--footer-h);
  position: relative;
  bottom: auto;
  z-index: 90;
  overflow: hidden;
}

@media (max-width: 991.98px) {
  body[data-page-phase="utility"] .header {
    z-index: 1080;
  }
}

@media (min-width: 992px) {
  /* Navbar state normalization: active means current location; hover/open remains stable. */
  .navbar-nav .nav-link,
  .navbar-nav .dropdown > button.nav-link,
  body[data-page-phase="utility"] .navbar-nav .nav-link,
  body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link {
    font-weight: inherit;
  }

  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link:focus,
  .navbar-nav .dropdown.show > button.nav-link,
  .navbar-nav .dropdown > button.nav-link:hover,
  .navbar-nav .dropdown > button.nav-link:focus,
  .navbar-nav .dropdown > button.nav-link[aria-expanded="true"],
  body[data-page-phase="utility"] .navbar-nav .nav-link:hover,
  body[data-page-phase="utility"] .navbar-nav .nav-link:focus,
  body[data-page-phase="utility"] .navbar-nav .dropdown.show > button.nav-link,
  body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link:hover,
  body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link:focus,
  body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link[aria-expanded="true"] {
    font-weight: inherit;
    background: transparent !important;
    border: 0 !important;
  }

  .navbar-nav .nav-link.active,
  .navbar-nav .dropdown > button.nav-link.active,
  body[data-page-phase="utility"] .navbar-nav .nav-link.active,
  body[data-page-phase="utility"] .navbar-nav .dropdown > button.nav-link.active {
    font-weight: 700;
  }
}

/* Top-level navbar underline effect only — intentionally excludes submenu items.
   Uses ::before so ::after remains available to any legacy caret treatment. */
@media (min-width: 992px) {
  .navbar-nav > .nav-item > .nav-link,
  body[data-page-phase="utility"] .navbar-nav > .nav-item > .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
  }

  .navbar-nav > .nav-item > .nav-link::before,
  body[data-page-phase="utility"] .navbar-nav > .nav-item > .nav-link::before {
    content: "";
    position: absolute;
    left: 0.0625rem;
    right: 0.0625rem;
    bottom: -0.375rem;
    height: 0.125rem;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: center;
    transition:
      transform 160ms ease,
      opacity 160ms ease;
    pointer-events: none;
  }

  .navbar-nav > .nav-item > .nav-link:hover::before,
  .navbar-nav > .nav-item > .nav-link:focus-visible::before,
  .navbar-nav > .nav-item > .nav-link.active::before,
  .navbar-nav > .nav-item > .nav-link[aria-expanded="true"]::before,
  body[data-page-phase="utility"] .navbar-nav > .nav-item > .nav-link:hover::before,
  body[data-page-phase="utility"] .navbar-nav > .nav-item > .nav-link:focus-visible::before,
  body[data-page-phase="utility"] .navbar-nav > .nav-item > .nav-link.active::before,
  body[data-page-phase="utility"] .navbar-nav > .nav-item > .nav-link[aria-expanded="true"]::before {
    opacity: 1;
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .navbar-nav > .nav-item > .nav-link::before,
  body[data-page-phase="utility"] .navbar-nav > .nav-item > .nav-link::before {
    transition: none;
  }
}

/* Navbar edge alignment: preserve left brand alignment while giving right-side nav chrome breathing room. */
@media (min-width: 821px) {
  .navbar,
  .main.row:not(.info-page) > .header .navbar,
  body[data-page-phase="utility"] .navbar {
    padding-right: 1.5rem;
  }
}



/* Team page accent layer: scoped team identity without changing semantic UI colors. */
:root {
  --team-accent: var(--blue);
  --team-accent-rgb: 14 79 143;
  --team-accent-soft: rgb(var(--team-accent-rgb) / 0.10);
  --team-accent-border: rgb(var(--team-accent-rgb) / 0.25);
}

body[data-content-scope="team"][data-team="ANA"] { --team-accent: #C6421F; --team-accent-rgb: 198 66 31; }
body[data-content-scope="team"][data-team="BOS"] { --team-accent: #8A6100; --team-accent-rgb: 138 97 0; }
body[data-content-scope="team"][data-team="BUF"] { --team-accent: #003087; --team-accent-rgb: 0 48 135; }
body[data-content-scope="team"][data-team="CAR"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="CBJ"] { --team-accent: #041E42; --team-accent-rgb: 4 30 66; }
body[data-content-scope="team"][data-team="CGY"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="CHI"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="COL"] { --team-accent: #6F263D; --team-accent-rgb: 111 38 61; }
body[data-content-scope="team"][data-team="DAL"] { --team-accent: #00813C; --team-accent-rgb: 0 129 60; }
body[data-content-scope="team"][data-team="DET"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="EDM"] { --team-accent: #00205B; --team-accent-rgb: 0 32 91; }
body[data-content-scope="team"][data-team="FLA"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="LAK"] { --team-accent: #555B61; --team-accent-rgb: 85 91 97; }
body[data-content-scope="team"][data-team="MIN"] { --team-accent: #154734; --team-accent-rgb: 21 71 52; }
body[data-content-scope="team"][data-team="MTL"] { --team-accent: #A6192E; --team-accent-rgb: 166 25 46; }
body[data-content-scope="team"][data-team="NSH"] { --team-accent: #041E42; --team-accent-rgb: 4 30 66; }
body[data-content-scope="team"][data-team="NJD"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="NYI"] { --team-accent: #003087; --team-accent-rgb: 0 48 135; }
body[data-content-scope="team"][data-team="NYR"] { --team-accent: #0032A0; --team-accent-rgb: 0 50 160; }
body[data-content-scope="team"][data-team="OTT"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="PHI"] { --team-accent: #C6421F; --team-accent-rgb: 198 66 31; }
body[data-content-scope="team"][data-team="PIT"] { --team-accent: #8A6100; --team-accent-rgb: 138 97 0; }
body[data-content-scope="team"][data-team="SJS"] { --team-accent: #006271; --team-accent-rgb: 0 98 113; }
body[data-content-scope="team"][data-team="SEA"] { --team-accent: #051C2C; --team-accent-rgb: 5 28 44; }
body[data-content-scope="team"][data-team="STL"] { --team-accent: #0070CB; --team-accent-rgb: 0 112 203; }
body[data-content-scope="team"][data-team="TBL"] { --team-accent: #00205B; --team-accent-rgb: 0 32 91; }
body[data-content-scope="team"][data-team="TOR"] { --team-accent: #00205B; --team-accent-rgb: 0 32 91; }
body[data-content-scope="team"][data-team="UTA"] { --team-accent: #0076A8; --team-accent-rgb: 0 118 168; }
body[data-content-scope="team"][data-team="VAN"] { --team-accent: #00205B; --team-accent-rgb: 0 32 91; }
body[data-content-scope="team"][data-team="VGK"] { --team-accent: #333F48; --team-accent-rgb: 51 63 72; }
body[data-content-scope="team"][data-team="WSH"] { --team-accent: #C8102E; --team-accent-rgb: 200 16 46; }
body[data-content-scope="team"][data-team="WPG"] { --team-accent: #041E42; --team-accent-rgb: 4 30 66; }

body[data-content-scope="team"] .section-title h1,
body[data-content-scope="team"] .section-title h2,
body[data-content-scope="team"] .module-head h2,
body[data-content-scope="team"] .story-card h5 {
  color: var(--text);
}

body[data-content-scope="team"] .team-title-accent,
body[data-content-scope="team"] .story-card h5 a {
  color: var(--team-accent);
}

body[data-page-phase="team"][data-content-scope="team"] [data-surface="right-context-rail"] [data-module="events-card"][data-scope="team"] .module-head h2,
body[data-page-phase="team"][data-content-scope="team"] [data-surface="right-context-rail"] [data-module="events-card"][data-scope="team"] .module-head h2 .team-title-accent {
  color: #000;
}

body[data-content-scope="team"] .story-card h5 a:hover,
body[data-content-scope="team"] .story-card h5 a:focus {
  color: var(--team-accent);
  text-decoration-color: var(--team-accent);
}

body[data-content-scope="team"] .market-link {
  color: var(--team-accent);
  text-decoration: none;
}

body[data-content-scope="team"] .market-link:hover,
body[data-content-scope="team"] .market-link:focus {
  color: var(--team-accent);
  text-decoration: underline;
  text-decoration-color: var(--team-accent);
  text-underline-offset: 3px;
}

body[data-content-scope="team"] .source-link-button,
body[data-content-scope="team"] .source-link-button.btn {
  color: var(--team-accent);
  background: var(--team-accent-soft);
  border-color: var(--team-accent-border);
  box-shadow: none;
}

body[data-content-scope="team"] .source-link-button:hover,
body[data-content-scope="team"] .source-link-button:focus,
body[data-content-scope="team"] .source-link-button.btn:hover,
body[data-content-scope="team"] .source-link-button.btn:focus {
  color: var(--team-accent);
  background: rgb(var(--team-accent-rgb) / 0.16);
  border-color: rgb(var(--team-accent-rgb) / 0.42);
}

body[data-content-scope="team"] .tab-btn.active {
  color: var(--team-accent);
  background: var(--team-accent-soft);
  border-color: var(--team-accent-border);
}

/*
 * Keep standards scrollbar coloring out of engines that honor the site's
 * explicit ::-webkit-scrollbar width. A non-auto scrollbar-color disables
 * that legacy scrollbar family and would make team scrollbars wider.
 */
@supports (scrollbar-color: red blue) {
  @supports not selector(::-webkit-scrollbar) {
    body[data-content-scope="team"] {
      scrollbar-color:
        rgb(var(--team-accent-rgb) / 0.55)
        rgba(15, 23, 42, 0.06);
    }
  }
}

body[data-content-scope="team"] ::-webkit-scrollbar-thumb {
  background: rgb(var(--team-accent-rgb) / 0.55);
}

body[data-content-scope="team"] ::-webkit-scrollbar-thumb:hover {
  background: var(--team-accent);
}
/* Subtle interaction motion layer: state clarity, not decoration. */
:root {
  --iw-motion-fast: 140ms;
  --iw-motion-medium: 220ms;
  --iw-motion-ease-out: cubic-bezier(.2, .8, .2, 1);
}

@media (prefers-reduced-motion: reduce) {
  .ticker-track.is-running {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }

  .ticker-wrap[data-ticker-state="manual-overflow"] .ticker-group-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  .ticker-wrap[data-ticker-state="manual-overflow"] .ticker-group-viewport::-webkit-scrollbar {
    display: none;
  }

  .ticker-group-panel.is-flip-out {
    animation: ticker-group-fade-out 120ms ease-out both;
  }

  .ticker-group-panel.is-flip-in {
    animation: ticker-group-fade-in 120ms ease-out both;
  }

  @keyframes ticker-group-fade-out {
    from { opacity: 1; }
    to { opacity: 0; }
  }

  @keyframes ticker-group-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
  }
}

@media (prefers-reduced-motion: no-preference) {
  /* Title accent reveal on team pages and homepage NHL accents. */
  body[data-content-scope="team"] .team-title-accent,
  body[data-page-phase="homepage"] .team-title-accent {
    position: relative;
    display: inline-block;
  }

  body[data-content-scope="team"] .team-title-accent::after,
  body[data-page-phase="homepage"] .team-title-accent::after {
    content: "";
    position: absolute;
    left: 0.02em;
    right: 0.02em;
    bottom: -0.08em;
    height: 0.08em;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.7;
    transform: scaleX(0);
    transform-origin: left center;
    animation: iwTeamAccentSweep 380ms var(--iw-motion-ease-out) 80ms both;
    pointer-events: none;
  }

  @keyframes iwTeamAccentSweep {
    to {
      transform: scaleX(1);
    }
  }

  /* Video feed: make active/hover state feel deliberate. */
  .video-feed-section .card.video-card {
    transition:
      transform var(--iw-motion-medium) var(--iw-motion-ease-out),
      border-color var(--iw-motion-medium) ease,
      outline-color var(--iw-motion-medium) ease,
      background-color var(--iw-motion-medium) ease;
  }

  .video-card .video-thumbnail,
  .video-card .video-overlay,
  .video-card .card-title,
  .video-card .video-meta {
    transition:
      opacity var(--iw-motion-medium) ease,
      color var(--iw-motion-medium) ease,
      background var(--iw-motion-medium) ease,
      transform var(--iw-motion-medium) var(--iw-motion-ease-out);
  }

  @media (hover: hover) and (pointer: fine) {
    .video-feed-section .card.video-card:not(.active):hover {
      transform: translateY(-2px);
    }

    .video-feed-section .card.video-card:not(.active):hover .video-thumbnail {
      transform: scale(1.018);
      opacity: 0.86;
    }
  }

  /* Main player: soften iframe replacement. */
  .video-section iframe#main-video-iframe {
    animation: iwVideoIn 180ms ease-out both;
  }

  @keyframes iwVideoIn {
    from {
      opacity: 0.72;
    }
    to {
      opacity: 1;
    }
  }

  /* Tabs: light continuity when switching panes. */
  .tab-btn {
    transition:
      background-color var(--iw-motion-fast) ease,
      border-color var(--iw-motion-fast) ease,
      color var(--iw-motion-fast) ease,
      transform var(--iw-motion-fast) var(--iw-motion-ease-out);
  }

  .tab-pane.active {
    animation: iwPaneIn 150ms var(--iw-motion-ease-out) both;
  }

  @keyframes iwPaneIn {
    from {
      opacity: 0;
      transform: translateY(3px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @media (hover: hover) and (pointer: fine) {
    .tab-btn:not(.active):hover,
    .source-link-button.btn:hover {
      transform: translateY(-1px);
    }
  }

  /* Desktop dropdowns: soft open without fighting mobile drawer behavior. */
  @media (min-width: 992px) {
    .navbar-nav .dropdown-menu.show {
      transform-origin: top center;
      animation: iwMenuIn 140ms var(--iw-motion-ease-out) both;
    }
  }

  @keyframes iwMenuIn {
    from {
      opacity: 0;
      transform: translateY(-4px) scale(0.985);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  /* CTAs and source buttons: remove abrupt color swaps. */
  .source-link-button.btn {
    transition:
      background-color var(--iw-motion-fast) ease,
      border-color var(--iw-motion-fast) ease,
      color var(--iw-motion-fast) ease,
      transform var(--iw-motion-fast) var(--iw-motion-ease-out);
  }

  /* Market bars: one-time comprehension cue. */
  .market-fill {
    transform-origin: left center;
    animation: iwMarketFillIn 320ms var(--iw-motion-ease-out) both;
  }

  @keyframes iwMarketFillIn {
    from {
      transform: scaleX(0);
    }
    to {
      transform: scaleX(1);
    }
  }
}

/* Reduced motion should disable both new and existing ambient motion. */
@media (prefers-reduced-motion: reduce) {
  .team-title-accent::after,
  .video-section iframe#main-video-iframe,
  .tab-pane.active,
  .navbar-nav .dropdown-menu.show,
  .market-fill,
  .event-pill.current::after,
  .video-feed-section .card.video-card.active .video-meta-time::after,
  .video-feed-section .card.video-card.live-priority:not(.active) .video-meta-time::after,
  .live-dot--pulse,
  .status-pill.live::before,
  .ticker-item[data-ticker-state="live"] .ticker-pill.badge::after,
  .ticker-item[data-ticker-bucket="current"][data-ticker-state="activeEvent"] .ticker-pill.badge::after,
  body[data-page-phase="utility"] .ticker-track.is-running,
  body[data-page-phase="utility"] .event-pill.current::after,
  body[data-page-phase="utility"] .ticker-item[data-ticker-state="live"] .ticker-pill.badge::after,
  body[data-page-phase="utility"] .ticker-item[data-ticker-bucket="current"][data-ticker-state="activeEvent"] .ticker-pill.badge::after,
  .iw-loading-spinner,
  .iw-skeleton-line::after,
  .iw-skeleton-block::after,
  .ticker-track.is-running {
    animation: none !important;
  }

  .video-feed-section .card.video-card,
  .video-card .video-thumbnail,
  .video-card .video-overlay,
  .video-card .card-title,
  .video-card .video-meta,
  .tab-btn,
  .source-link-button.btn {
    transition: none !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .content-section[data-content-revealed="true"] .story-card,
  .site-info-section[data-content-revealed="true"] .module-card {
    animation: iwContentIn 180ms var(--iw-motion-ease-out) both;
  }

  .content-section[data-content-revealed="true"] .story-card:nth-of-type(2),
  .site-info-section[data-content-revealed="true"] .module-card:nth-of-type(2) {
    animation-delay: 28ms;
  }

  .content-section[data-content-revealed="true"] .story-card:nth-of-type(3),
  .site-info-section[data-content-revealed="true"] .module-card:nth-of-type(3) {
    animation-delay: 56ms;
  }

  @keyframes iwContentIn {
    from {
      opacity: 0;
      transform: translateY(4px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
/* R5.4.4.13 mobile reduced-motion scroll continuity with desktop preservation */
html,
body,
.page-shell {
  width: 100%;
  max-width: 100%;
}

.video-feed-section {
  min-width: 0;
  max-width: 100%;
  contain: paint;
}

.ticker-group-viewport {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  contain: none;
}

@media (max-width: 820px) {
  :root {
    --ticker-header-width: 6.5rem;
    --ticker-content-gap: 0.875rem;
  }

  .ticker-group-header {
    padding-inline: 0.625rem;
    font-size: 0.625rem;
    letter-spacing: .12em;
  }

  .ticker-wrap[data-ticker-driver="scroll"]
    .ticker-track {
    animation: none !important;
    transform: none !important;
    will-change: auto;
  }

  .ticker-wrap[data-ticker-driver="scroll"]
    .ticker-group-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 100%;
    scrollbar-width: none;
    scroll-behavior: auto;
    overflow-anchor: none;
    overscroll-behavior-inline: contain;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  .ticker-wrap[data-ticker-driver="scroll"]
    .ticker-group-viewport::-webkit-scrollbar {
    display: none;
  }

  .ticker-wrap[data-ticker-driver="scroll"].is-dragging
    .ticker-group-panel.is-active
    .ticker-group-viewport {
    cursor: grabbing;
    user-select: none;
  }
}

/*
 * Keep horizontal overflow control off the root html element.
 * Root overflow changes mobile sticky-footer containment.
 */

/* R5.4.4.8 bounded middle-feed scroll-root parity */
[data-middle-feed-scroll-region] {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

[data-middle-feed-scroll-region]:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.34);
  outline-offset: -3px;
}

@media (max-width: 1180px) {
  [data-middle-feed-scroll-region] {
    height: clamp(24rem, 68svh, 42rem);
    padding-bottom: calc(
      1rem + env(safe-area-inset-bottom, 0px)
    );
    scrollbar-gutter: auto;
  }
}

/* R5.4.4.8 exact-end asynchronous rail pagination */
.iw-pagination-sentinel {
  box-sizing: border-box;
  color: var(--muted);
  font-family: var(--font-sans);
}

.iw-pagination-status,
.iw-pagination-error {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  min-height: 2.75rem;
  max-width: 100%;
  text-align: center;
}

.iw-pagination-message {
  min-width: 0;
  color: var(--muted);
  font-size: var(--font-13);
  line-height: 1.35;
  white-space: normal;
}

.iw-load-more-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.5rem;
  min-height: 2.75rem;
  max-width: 100%;
  padding: 0.625rem 0.875rem;
  border: 1px solid rgba(37, 99, 235, 0.32);
  border-radius: var(--radius-control, 0.75rem);
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  font: inherit;
  font-size: var(--font-13);
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  touch-action: manipulation;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.iw-load-more-button:hover {
  border-color: rgba(37, 99, 235, 0.62);
  background: var(--panel-3);
}

.iw-load-more-button:active {
  transform: translateY(1px);
}

.iw-load-more-button:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.28);
  outline-offset: 2px;
}

.iw-pagination-error {
  flex-direction: column;
  padding: 0.625rem;
  color: var(--red);
}

.iw-loading-spinner--pagination {
  width: 1rem;
  height: 1rem;
}

.iw-pagination-fallback-button {
  position: absolute;
}

.iw-pagination-fallback-button:not(:focus-visible) {
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip-path: inset(50%);
  white-space: nowrap;
}

.video-feed-pagination[data-pagination-state="idle"] {
  display: inline-block;
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  height: 1px;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
  background: transparent;
}

.video-feed-pagination[data-pagination-state="loading"] {
  display: inline-flex;
  flex: 0 0 3.5rem;
  width: 3.5rem;
  min-width: 3.5rem;
  height: var(--video-card-height);
  margin-right: 0.625rem;
  padding: 0;
  vertical-align: top;
  white-space: normal;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.video-feed-pagination[data-pagination-state="loading"] .iw-pagination-status {
  width: 100%;
  height: 100%;
  min-height: 0;
  gap: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
}

.video-feed-pagination .iw-loading-spinner--pagination {
  width: 1.125rem;
  height: 1.125rem;
  border-color: rgba(37, 99, 235, 0.24);
  border-top-color: var(--blue);
  border-right-color: var(--text);
}

.video-feed-pagination[data-pagination-state="error"] {
  display: inline-flex;
  flex: 0 0 11.5rem;
  width: 11.5rem;
  height: var(--video-card-height);
  margin-right: 0.625rem;
  padding: 0.75rem;
  vertical-align: top;
  white-space: normal;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: var(--radius-control, 0.75rem);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(238, 246, 255, 0.92));
}

.video-feed-pagination .iw-pagination-status,
.video-feed-pagination .iw-pagination-error {
  width: 100%;
}

.middle-feed-pagination[data-pagination-state="idle"] {
  position: relative;
  width: 100%;
  min-height: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  overflow: visible;
}

.middle-feed-pagination[data-pagination-state="loading"],
.middle-feed-pagination[data-pagination-state="error"] {
  width: 100%;
  min-height: 4.5rem;
  padding: 0.875rem 0;
  border-top: 1px solid var(--border-soft);
}

.middle-feed-pagination .iw-pagination-status,
.middle-feed-pagination .iw-pagination-error {
  min-height: 2.75rem;
  padding-inline: 0.5rem;
}

@media (max-width: 820px) {
  .video-feed-pagination[data-pagination-state="loading"] {
    flex-basis: 3.5rem;
    width: 3.5rem;
    min-width: 3.5rem;
    height: 7.8125rem;
  }

  .video-feed-pagination[data-pagination-state="error"] {
    flex-basis: min(11.5rem, 78vw);
    width: min(11.5rem, 78vw);
    height: 7.8125rem;
  }

  .middle-feed-pagination[data-pagination-state="loading"],
  .middle-feed-pagination[data-pagination-state="error"] {
    width: 100%;
    max-width: 100%;
    padding: 0.75rem 0;
  }

  .middle-feed-pagination .iw-load-more-button,
  .middle-feed-pagination .iw-pagination-status,
  .middle-feed-pagination .iw-pagination-error {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .iw-load-more-button {
    transition: none;
  }

  .iw-load-more-button:active {
    transform: none;
  }

  .iw-loading-spinner--pagination {
    animation: none;
  }
}

/* R5.4.4.16: Calendar and Sources DataTables layout remediation. */
body[data-page-phase="utility"] .utility-datatable-shell {
  position: relative;
  width: 100%;
}

body[data-page-phase="utility"]
.utility-datatable-shell.is-datatable-ready {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-container {
  width: 100%;
  min-width: 0;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-layout-row,
body[data-page-phase="utility"]
.utility-datatable-shell
.dt-container > .row {
  display: flex !important;
  flex-wrap: wrap;
  min-height: 0 !important;
  height: auto !important;
  grid-template-rows: none !important;
  align-content: flex-start;
  margin: 0 !important;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-layout-row[hidden],
body[data-page-phase="utility"]
.utility-datatable-shell
.dt-container > .row[hidden] {
  display: none !important;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-layout-table {
  margin: 0 !important;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-layout-table > .dt-layout-cell,
body[data-page-phase="utility"]
.utility-datatable-shell
.dt-layout-table > .dt-layout-full {
  display: block;
  flex: 0 0 100%;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--border);
  border-radius: 0.875rem;
  background: rgba(255, 250, 241, 0.72);
}

@media (min-width: 821px) {
  body[data-page-phase="utility"]
  [data-datatable-shell="calendar"]
  .dt-layout-table
  > .dt-layout-cell,
  body[data-page-phase="utility"]
  [data-datatable-shell="calendar"]
  .dt-layout-table
  > .dt-layout-full {
    overflow-x: visible;
  }
}

body[data-page-phase="utility"]
.utility-datatable-shell
table.dataTable {
  width: 100% !important;
  margin-top: 0;
  margin-bottom: 0;
}

body[data-page-phase="utility"]
.utility-datatable-shell
th.dt-orderable-asc,
body[data-page-phase="utility"]
.utility-datatable-shell
th.dt-orderable-desc,
body[data-page-phase="utility"]
.utility-datatable-shell
th.dt-ordering-asc,
body[data-page-phase="utility"]
.utility-datatable-shell
th.dt-ordering-desc {
  cursor: pointer;
}

body[data-page-phase="utility"]
.utility-datatable-shell
th[tabindex]:focus-visible {
  outline: 0.125rem solid var(--blue);
  outline-offset: -0.1875rem;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-paging {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-paging .pagination {
  margin: 0.75rem 0 0;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-paging .page-link {
  border-color: var(--border);
  background: var(--panel);
  color: var(--text);
  box-shadow: none;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-paging .active .page-link {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

body[data-page-phase="utility"]
.utility-datatable-shell
.dt-paging .disabled .page-link {
  color: var(--muted);
  background: var(--panel-2);
  opacity: 0.62;
}

@media (max-width: 820px) {
  body[data-page-phase="utility"]
  .utility-datatable-shell
  .dt-paging {
    justify-content: center;
  }
}

/* Canonical NHL resources directory. */
body[data-page-phase="utility"] #sourcesDataTable {
  min-width: 65rem;
}

body[data-page-phase="utility"] #sourcesDataTable .source-row-number {
  width: 1%;
  min-width: 3rem;
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

body[data-page-phase="utility"] #sourcesDataTable tbody .source-name,
body[data-page-phase="utility"] #calendarDataTable tbody td:nth-child(2) {
  font-weight: 880;
}

body[data-page-phase="utility"] #sourcesDataTable .source-description {
  min-width: 22rem;
}

body[data-page-phase="utility"] #sourcesDataTable .source-link,
.context-module[data-module="sources-card"] .right-rail-table th:last-child,
.context-module[data-module="sources-card"] .right-rail-table td:last-child {
  width: 1%;
  white-space: nowrap;
}


/* Calendar JSON-only loading, empty, and unavailable states. */
body[data-page-phase="utility"] .calendar-data-state {
  margin: 0 0 0.875rem;
  font-size: 0.9rem;
  line-height: 1.45;
}

body[data-page-phase="utility"] .calendar-data-state[hidden] {
  display: none !important;
}

body[data-page-phase="utility"] .calendar-data-state.is-loading,
body[data-page-phase="utility"] .calendar-data-state.is-empty {
  color: var(--bs-secondary-color);
}

body[data-page-phase="utility"] .calendar-data-state.is-error {
  color: var(--bs-danger-text-emphasis);
}

body[data-page-phase="utility"]
  #calendarDataTable[data-calendar-state="loading"],
body[data-page-phase="utility"]
  #calendarDataTable[data-calendar-state="empty"],
body[data-page-phase="utility"]
  #calendarDataTable[data-calendar-state="unavailable"] {
  margin-bottom: 0;
}

/* Calendar event source-confidence labels. */
.event-source-status {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin-top: 0.25rem;
  padding: 0.125rem 0.375rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.event-source-status--tentative {
  color: var(--bs-secondary-color, #5c636a);
  background: rgba(108, 117, 125, 0.1);
}

.event-source-status--conditional {
  color: var(--bs-info-text-emphasis, #055160);
  background: rgba(13, 202, 240, 0.1);
}

.context-module[data-module="events-card"] .event-source-status {
  margin-top: 0.1875rem;
}

.key-events-state-note {
  margin: 0 0 0.625rem;
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.4;
}

.event-uncertainty-reason,
.event-source-meta,
.event-confirmation-dependency {
  display: block;
  margin-top: 0.1875rem;
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.34;
  overflow-wrap: anywhere;
}

.event-source-link,
.event-calendar-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.event-source-link:hover,
.event-source-link:focus-visible,
.event-calendar-link:hover,
.event-calendar-link:focus-visible {
  color: var(--text);
}

.event-pill.excluded {
  background: rgba(235, 227, 212, 0.72);
  color: var(--muted);
  border-color: var(--border-soft);
}

.calendar-table tr.event-excluded {
  opacity: 0.62;
}

.calendar-table tr.event-excluded td {
  background: rgba(235, 227, 212, 0.36);
}

/* Main-video runtime player state and local recovery. */
.video-player-shell,
.video-player-host,
.video-player-recovery {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.video-player-shell,
.video-player-host {
  min-width: 0;
  min-height: 0;
}
.video-player-host iframe#main-video-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.video-player-recovery {
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(15, 23, 42, .92);
  color: #fff;
  text-align: center;
}
.video-player-recovery[hidden] {
  display: none;
}
.video-player-recovery-content {
  width: min(100%, 32rem);
}
.video-player-recovery-content p {
  margin: 0;
  font-size: .9375rem;
  line-height: 1.45;
}
.video-player-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-top: .875rem;
}
.video-player-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: .5625rem .875rem;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: .5rem;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font: inherit;
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}
.video-player-action:hover {
  background: rgba(255, 255, 255, .14);
  color: #fff;
}
.video-player-action:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .9);
  outline-offset: 2px;
}
@media (max-width: 820px) {
  .main.row:not(.info-page) .video-section {
    min-height: 200px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .video-player-host iframe#main-video-iframe {
    animation: none !important;
  }
}

/* Grouped ticker header authority. */
.ticker-group-header,
body[data-page-phase="utility"] .ticker-group-header {
  display: flex;
  font-size: 1.25rem;
  letter-spacing: 0;
  background: #000;
  color: #fff;
}
