/* Foundations and masthead */
:root {
  --ink:#07162b;
  --muted:#65738b;
  --line:#e7ebf1;
  --soft:#f4f6f9;
  --final:#27d68b;
  --upcoming:#176de8;
  --bye:#9ba8bd;
  --lime:#d8ff00;
  --aqua:#51e8c0;
  --highlight-yellow:#e6ff3f;
  --red:#ed374b;
  --shadow:0 16px 40px rgba(12,29,52,.13);
}

* {
  box-sizing:border-box;
}

html {
  background:#fff;
  overflow-x:hidden;
}

body {
  margin:0;
  overflow-x:hidden;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
}

@supports (overflow:clip) {
  html,
  body {
    overflow-x:clip;
  }
}

button,a {
  font:inherit;
}

button {
  cursor:pointer;
}

.page-shell {
  min-width:1180px;
  max-width:1560px;
  margin:0 auto;
  background:#fff;
}

.site-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  padding:14px 28px 13px;
  border-bottom:1px solid var(--line);
}

.brand-block {
  display:block;
  width:430px;
  color:inherit;
  text-decoration:none;
}

.brand-block:hover,
.brand-block:focus,
.brand-block:active,
.brand-block:visited {
  color:inherit;
  text-decoration:none;
}

.brand-kicker {
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  font-size:13px;
  letter-spacing:.04em;
}

.brand-kicker i {
  display:block;
  width:100px;
  height:7px;
  background:linear-gradient(90deg,var(--aqua),var(--lime));
  transform:skewX(-18deg);
}

.brand-block h1 {
  font-family:"Barlow Condensed",Impact,sans-serif;
  font-style:italic;
  font-size:50px;
  line-height:.82;
  letter-spacing:-.045em;
  margin:4px 0 7px;
  font-weight:800;
}

.brand-block p {
  margin:0;
  font-size:10px;
  letter-spacing:.3em;
  color:#31425d;
}

.header-right {
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  min-width:500px;
}

.mobile-menu-toggle,
.mobile-my-teams {
  display:none;
}

.top-nav {
  display:flex;
  align-items:center;
  gap:17px;
  font-family:"Barlow Condensed",sans-serif;
  font-size:14px;
  font-weight:700;
}

.top-nav a {
  color:#33405a;
  text-decoration:none;
  position:relative;
  padding:4px 0;
}

.top-nav a.active {
  color:var(--ink);
}

.top-nav a.active::after {
  content:"";
  position:absolute;
  height:4px;
  left:0;
  right:0;
  bottom:-8px;
  background:var(--lime);
}

.share-control {
  position:relative;
}

.nav-share {
  display:flex;
  align-items:center;
  gap:5px;
  padding:4px 0;
  border:0;
  background:transparent;
  color:#33405a;
  font-weight:700;
}

.nav-share:hover,
.nav-share:focus-visible {
  color:var(--ink);
}

.nav-share:focus-visible {
  outline:2px solid #176de8;
  outline-offset:4px;
}

.nav-share svg {
  width:14px;
  height:14px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

.share-menu {
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  z-index:80;
  width:132px;
  padding:6px;
  border:1px solid #e1e7ef;
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 26px rgba(7,22,43,.15);
}

.share-menu[hidden] {
  display:none;
}

.share-menu a,
.share-menu button {
  display:block;
  width:100%;
  padding:8px 9px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#344159;
  font-family:Inter,system-ui,sans-serif;
  font-size:10px;
  font-weight:700;
  text-align:left;
  text-decoration:none;
}

.share-menu a:hover,
.share-menu button:hover,
.share-menu a:focus-visible,
.share-menu button:focus-visible {
  background:#f1f4f8;
  color:var(--ink);
  outline:none;
}

.share-status {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.nav-divider {
  width:1px;
  height:19px;
  background:var(--line);
}

.my-teams {
  background:var(--ink);
  color:#fff;
  border:0;
  border-radius:6px;
  padding:9px 15px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 3px 8px rgba(0,0,0,.08);
}

.nav-placeholder {
  visibility:hidden;
  pointer-events:none;
}

/* AP Top 25 — single-row horizontal carousel */
.rankings-strip {
  display:grid;
  grid-template-columns:190px 34px minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  padding:9px 28px 5px;
  border-bottom:0;
  background:#fff;
}

.rankings-label {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:5px;
  min-width:0;
  text-align:left;
}

.rankings-label strong {
  font-family:"Barlow Condensed",sans-serif;
  font-size:19px;
  line-height:1;
  letter-spacing:-.01em;
  white-space:nowrap;
}

.rankings-label strong span {
  font-weight:600;
}

.rankings-title-line {
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}

.rankings-label em {
  margin-top:4px;
  font-style:normal;
  font-size:10px;
  color:#76849a;
  letter-spacing:.04em;
}

.poll-meta {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:5px;
  margin-top:0;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}

.poll-meta > span:not(:empty)::after {
  margin-left:5px;
  content:"·";
}

.poll-meta a {
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:inherit;
  text-decoration:none;
}

.poll-meta a span {
  font-size:.9em;
  line-height:1;
}

.poll-meta a:hover,
.poll-meta a:focus-visible {
  color:var(--ink);
  text-decoration:underline;
}

.ranking-arrow {
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  font-size:20px;
  line-height:1;
  box-shadow:none;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  justify-self:center;
}

.ranking-arrow:hover {
  transform:translateY(-1px);
  border-color:#cfd7e2;
  box-shadow:0 8px 20px rgba(13,28,50,.1);
}

.ranking-track {
  display:flex;
  flex-wrap:nowrap;
  gap:0;
  min-height:30px;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:1px 0;
  overscroll-behavior-inline:contain;
}

.ranking-track::-webkit-scrollbar {
  display:none;
}

.ranking-card {
  flex:0 0 auto;
  width:max-content;
  min-width:0;
  height:28px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:center;
  gap:6px;
  padding:2px 16px;
  border:0;
  border-left:1px solid #dce3eb;
  border-radius:0;
  background:#fff;
  color:var(--ink);
  text-align:left;
  scroll-snap-align:start;
  box-shadow:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.ranking-card:hover {
  transform:none;
  border-color:#dce3eb;
  background:#f7f9fb;
  box-shadow:none;
}

.ranking-card>b {
  font-family:"Barlow Condensed",sans-serif;
  color:#348d19;
  font-size:16px;
  line-height:1;
  text-align:center;
}

.rank-copy {
  display:flex;
  min-width:0;
  align-items:center;
  gap:5px;
}

.rank-copy strong {
  display:inline-block;
  overflow:visible;
  white-space:nowrap;
  font-family:"Barlow Condensed",sans-serif;
  font-size:13px;
  line-height:1.05;
}

.rank-copy small {
  display:inline-block;
  flex:none;
  margin-top:0;
  font-size:9px;
  color:#76849a;
  white-space:nowrap;
}

.rank-copy>em {
  display:inline-flex;
  align-items:center;
  align-self:center;
  font-size:10px;
  font-weight:800;
  font-style:normal;
  line-height:1;
  color:#8390a2;
  white-space:nowrap;
}

.rank-copy>em.up {
  color:#089a68;
}

.rank-copy>em.down {
  color:#e32f42;
}

.rank-copy>em.new {
  color:#176de8;
}

/* Featured games */
.featured-games-strip {
  display:grid;
  grid-template-columns:190px 34px minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  padding:8px 28px 10px;
  border-bottom:1px solid var(--line);
  background:#fff;
}

.featured-games-strip[hidden] {
  display:none;
}

.featured-games-heading strong {
  display:block;
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:18px;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
}

.featured-games-heading small {
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.02em;
  white-space:nowrap;
}

.featured-games-track {
  display:flex;
  gap:0;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}

.featured-games-track::-webkit-scrollbar {
  display:none;
}

.featured-game-card {
  display:flex;
  flex:0 0 240px;
  min-width:240px;
  min-height:62px;
  padding:4px 12px 3px;
  border:0;
  border-left:1px solid #cfd7e2;
  border-radius:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:0;
  overflow:hidden;
  background:#fff;
  color:var(--ink);
  text-align:left;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
  scroll-snap-align:start;
}

.featured-game-card.rivalry-game {
  flex-basis:270px;
  min-width:270px;
}

.featured-game-arrow {
  display:flex;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
  align-self:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  font-size:20px;
  line-height:1;
  justify-self:center;
}

.featured-game-arrow:hover,
.featured-game-arrow:focus-visible {
  background:#f0f3f6;
  outline:none;
}

.featured-game-card:hover,
.featured-game-card:focus-visible {
  border-color:#cfd7e2;
  background:#f7f9fb;
  outline:none;
  box-shadow:none;
  transform:none;
}

.featured-game-matchup {
  display:flex;
  min-width:0;
  width:100%;
  align-items:center;
  gap:5px;
  font-family:"Barlow Condensed",sans-serif;
  line-height:1.1;
  white-space:nowrap;
}

.featured-team {
  display:flex;
  flex:0 1 auto;
  min-width:0;
  align-items:baseline;
  gap:3px;
}

.featured-team b {
  display:inline;
  width:auto;
  min-width:0;
  height:auto;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-family:"Barlow Condensed",sans-serif;
  font-size:13.5px;
  font-weight:800;
  line-height:1;
}

.featured-team b.unranked {
  background:transparent;
  color:#9aa5b5;
  font-size:10px;
}

.featured-team strong {
  overflow:hidden;
  font-size:13.5px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.featured-inline-score {
  flex:none;
  color:#52617a;
  font-weight:800;
}

.featured-inline-score.winner {
  color:#007b4d;
}

.featured-inline-score.loser {
  color:#e1283d;
}

.featured-game-card.live .featured-game-meta {
  color:#d8273f;
}

.featured-game-card.delayed .featured-game-meta {
  color:#a86a00;
}

.featured-game-matchup i {
  flex:none;
  color:#65738a;
  font-family:Inter,sans-serif;
  font-size:9px;
  font-weight:800;
  font-style:normal;
  text-transform:uppercase;
}

.featured-game-meta {
  overflow:hidden;
  width:100%;
  margin:0;
  padding:0;
  border-bottom:0;
  background:transparent;
  color:#67758b;
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.045em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
  text-align:left;
}

.featured-game-tag {
  display:inline-flex;
  width:auto;
  min-height:18px;
  align-self:flex-start;
  margin-top:0;
  align-items:center;
  justify-content:flex-start;
  padding:3px 7px;
  border-radius:999px;
  background:#f0f3f6;
  color:#52617a;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1;
  text-align:left;
  white-space:nowrap;
}

.featured-game-tags {
  display:flex;
  width:100%;
  margin-top:0;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  text-align:left;
}

.featured-game-tags .featured-game-tag {
  margin-top:0;
}

.featured-game-tag.probability {
  background:#edf0f3;
  color:#5f6b7b;
}

.featured-game-tag.probability.tossup {
  background:#edf0f3;
  color:#5f6b7b;
}

.featured-game-card.priority .featured-game-tag:not(.probability) {
  background:#dfeeff;
  color:#125fbd;
}

.featured-game-card .featured-game-tag.rivalry {
  background:#fff0df;
  color:#9a4a13;
}

.featured-games-link {
  padding:7px 0;
  border:0;
  background:transparent;
  color:#53617a;
  font-size:10px;
  font-weight:700;
  line-height:1.25;
  text-align:left;
  white-space:nowrap;
}

.featured-games-link:hover,
.featured-games-link:focus-visible {
  color:#176de8;
  outline:none;
  text-decoration:underline;
  text-underline-offset:3px;
}

.featured-game-placeholder {
  min-height:62px;
  border-left:1px solid #dce3eb;
  border-radius:0;
  background:#edf1f5;
}

.featured-game-placeholder:nth-child(2) { opacity:.8; }
.featured-game-placeholder:nth-child(3) { opacity:.6; }
.featured-game-placeholder:nth-child(4) { opacity:.4; }

/* Filters */
.filter-bar {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:12px;
  margin:10px 28px 0;
  padding:8px 28px;
  border:1px solid #e5eaf1;
  border-bottom:0;
  border-radius:10px 10px 0 0;
  background:#f8fafc;
}

.schedule-filter-title {
  display:flex;
  flex:0 0 245px;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  gap:3px;
}

.schedule-filter-title strong {
  overflow:hidden;
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:18px;
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
}

.primary-filters,
.secondary-filters {
  flex-shrink:0;
}

.schedule-filter-title small {
  overflow:hidden;
  color:#8a96a8;
  font-size:8.5px;
  font-weight:500;
  line-height:1.15;
  letter-spacing:.015em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.primary-filters,
.secondary-filters {
  display:flex;
  align-items:center;
  gap:6px;
}

.primary-filters {
  padding:3px;
  border:1px solid #dfe5ec;
  border-radius:999px;
  background:#fff;
}

.secondary-filters {
  padding-left:12px;
  border-left:1px solid #e4e9ef;
}

.mobile-filter-control {
  display:none;
}

.filter {
  height:30px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#344159;
  padding:0 13px;
  min-width:0;
  font-size:11px;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:none;
}

.filter:not(.active):hover {
  background:#f0f3f6;
}

.filter.active {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
  font-weight:800;
  box-shadow:0 4px 12px rgba(7,22,43,.1);
}

.filter.today-filter {
  display:flex;
  align-items:center;
  gap:6px;
}

.filter .live-dot {
  display:none;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ea2847;
  box-shadow:0 0 0 3px rgba(234,40,71,.12);
}

.filter.today-filter.has-live .live-dot {
  display:block;
  animation:live-pulse 1.8s ease-in-out infinite;
}

.filter.today-filter.has-live.active .live-dot {
  background:#ff6b80;
  box-shadow:0 0 0 3px rgba(255,255,255,.14);
}

.filter.favorite {
  display:flex;
  align-items:center;
  gap:6px;
}

.schedule-select {
  position:relative;
  height:32px;
  border:1px solid #d7dee7;
  border-radius:8px;
  background:#fff;
}

.schedule-select::after {
  content:"";
  position:absolute;
  right:11px;
  top:50%;
  width:5px;
  height:5px;
  border-right:1.5px solid #607089;
  border-bottom:1.5px solid #607089;
  pointer-events:none;
  transform:translateY(-70%) rotate(45deg);
}

.schedule-select select {
  appearance:none;
  -webkit-appearance:none;
  height:30px;
  min-width:108px;
  padding:0 30px 0 11px;
  border:0;
  outline:0;
  background:transparent;
  color:#344159;
  font:700 11px Inter,sans-serif;
}

.schedule-select:has(select:disabled) {
  opacity:.55;
}

.schedule-team-search {
  position:relative;
  display:flex;
  align-items:center;
  width:180px;
  height:32px;
  margin-left:18px;
  padding:0 10px;
  border:1px solid #d7dee7;
  border-radius:8px;
  background:#fff;
  color:#718096;
}

.schedule-team-search::before {
  position:absolute;
  top:4px;
  bottom:4px;
  left:-12px;
  border-left:1px solid #e4e9ef;
  content:"";
}

.schedule-team-search input {
  width:100%;
  min-width:0;
  height:30px;
  padding:0 0 0 7px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:600 12px Inter,sans-serif;
}

.schedule-select:has(select:focus-visible),
.schedule-team-search:has(input:focus-visible) {
  border-color:#176de8;
  box-shadow:0 0 0 3px rgba(23,109,232,.11);
}

/* Schedule navigator and grid */
.grid-stage {
  --team-column:220px;
  position:relative;
  padding-top:0;
  background:#fff;
}

.grid-toolbar {
  height:42px;
  margin:0 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid #e5eaf1;
  border-bottom:0;
  border-radius:0;
  padding:0 16px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  color:#68768d;
}

.grid-toolbar>div {
  display:flex;
  align-items:center;
  gap:12px;
}

.grid-toolbar strong {
  font-family:"Barlow Condensed",sans-serif;
  font-size:13px;
  font-weight:500;
  line-height:1;
  letter-spacing:.035em;
  color:#53627a;
}

.grid-title-mobile {
  display:none;
}

.grid-toolbar small {
  color:#8a96a8;
  font-size:9px;
  font-weight:500;
  letter-spacing:.02em;
}

.grid-toolbar>.grid-toolbar-status {
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  text-align:right;
}

.conference-filter {
  position:relative;
  display:flex;
  align-items:center;
  min-width:0;
  height:28px;
  border:1px solid #cfd6de;
  border-radius:999px;
  background:#dfe4e9;
  color:#344159;
  box-shadow:0 1px 3px rgba(7,22,43,.025);
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}

.conference-filter::after {
  content:"";
  position:absolute;
  right:13px;
  top:50%;
  width:6px;
  height:6px;
  border-right:1.5px solid #65738b;
  border-bottom:1.5px solid #65738b;
  pointer-events:none;
  transform:translateY(-70%) rotate(45deg);
}

.conference-filter:hover {
  border-color:#cdd6e2;
  background:#e9edf1;
  box-shadow:0 2px 7px rgba(7,22,43,.07);
}

.conference-filter.active {
  border-color:var(--ink);
  background:var(--ink);
  box-shadow:0 4px 12px rgba(7,22,43,.1);
}

.conference-filter.active:hover {
  border-color:var(--ink);
  background:var(--ink);
}

.conference-filter.active::after {
  border-color:#fff;
}

.conference-filter.active select {
  color:#fff;
  font-weight:800;
}

.conference-filter select {
  appearance:none;
  -webkit-appearance:none;
  width:112px;
  height:26px;
  padding:0 32px 0 12px;
  border:0;
  border-radius:999px;
  outline:0;
  background:transparent;
  color:#344159;
  font:700 11px Inter,sans-serif;
  letter-spacing:.01em;
  cursor:pointer;
}

.conference-filter select option,
.team-conference-select select option {
  color:#344159;
  font-family:Inter,sans-serif;
  font-size:12px;
  font-weight:700;
}

.team-conference-select select optgroup {
  color:#65738b;
  font-family:Inter,sans-serif;
  font-size:12px;
  font-weight:800;
}

.conference-filter:has(select:focus-visible) {
  border-color:#176de8;
  box-shadow:0 0 0 3px rgba(23,109,232,.13);
}

.grid-wrap {
  position:relative;
  height:calc(100vh - 293px);
  min-height:420px;
  margin:0 28px;
  padding:0;
  overflow:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior:contain;
  cursor:grab;
  border:1px solid #e5eaf1;
  border-radius:0 0 10px 10px;
  outline:none;
}

@supports (height:100dvh) {
  .grid-wrap {
    height:calc(100dvh - 293px);
  }
}

.grid-wrap::-webkit-scrollbar {
  display:none;
}

.grid-wrap:focus-visible {
  box-shadow:0 0 0 3px rgba(23,109,232,.18);
}

.grid-wrap.is-dragging {
  cursor:grabbing;
  user-select:none;
  scroll-behavior:auto;
}

.grid-edge {
  position:absolute;
  top:50%;
  z-index:30;
  width:42px;
  height:66px;
  border:1px solid #dce3ec;
  background:rgba(255,255,255,.94);
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:32px;
  line-height:1;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(7,22,43,.15);
  backdrop-filter:blur(8px);
  transition:.16s ease;
}

.grid-edge:hover {
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(7,22,43,.2);
}

.grid-edge:disabled {
  opacity:0;
  pointer-events:none;
}

.grid-edge-left {
  left:calc(28px + var(--team-column) - 21px);
}

.grid-edge-right {
  right:36px;
}

.grid-fade {
  position:absolute;
  top:0;
  bottom:0;
  width:72px;
  z-index:15;
  pointer-events:none;
  transition:opacity .2s;
}

.grid-fade-left {
  left:calc(28px + var(--team-column));
  background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,0));
}

.grid-fade-right {
  right:28px;
  background:linear-gradient(270deg,rgba(255,255,255,.96),rgba(255,255,255,0));
}

.grid-stage.at-start .grid-fade-left,.grid-stage.at-end .grid-fade-right {
  opacity:0;
}

.grid-stage.has-empty-state .grid-fade,
.grid-stage.has-empty-state .grid-edge {
  display:none;
}

.schedule-grid {
  position:relative;
  display:grid;
  grid-template-columns:220px repeat(19,minmax(94px,1fr));
  gap:4px;
  width:max(100%,2100px);
}

.schedule-grid::after {
  content:"";
  grid-column:1 / -1;
  height:72px;
  border-top:1px solid #e3e8ee;
  border-radius:6px;
  background-color:#f1f3f6;
  background-image:repeating-linear-gradient(135deg,rgba(103,117,139,.055) 0,rgba(103,117,139,.055) 1px,transparent 1px,transparent 9px);
  pointer-events:none;
}

.schedule-grid.is-loading::after {
  display:none;
}

.grid-skeleton {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:220px repeat(19,minmax(94px,1fr));
  gap:4px;
  width:100%;
}

.grid-skeleton-team-head,
.grid-skeleton-section,
.grid-skeleton-week {
  display:flex;
  font-family:"Barlow Condensed",sans-serif;
  font-weight:700;
}

.grid-skeleton-team-head {
  position:relative;
  grid-row:span 2;
  align-items:center;
  height:auto;
  padding-left:12px;
  border-right:1px solid #dce3ec;
  background:#f4f6f9;
  color:var(--ink);
  font-size:14px;
  letter-spacing:.06em;
  box-shadow:8px 0 16px rgba(7,22,43,.07);
}

.grid-skeleton-team-head::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--aqua),var(--lime));
}

.grid-skeleton-section {
  align-items:center;
  justify-content:center;
  height:26px;
  border-radius:6px 6px 0 0;
  background:var(--ink);
  color:#fff;
  font-size:11px;
  letter-spacing:.16em;
}

.grid-skeleton-regular {
  grid-column:span 14;
}

.grid-skeleton-postseason {
  grid-column:span 5;
  background:#0b5870;
}

.grid-skeleton-week {
  height:48px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid var(--line);
  border-left:1px solid #eef1f5;
  background:#fff;
  text-align:center;
}

.grid-skeleton-week.postseason {
  border-color:#cfe8f6;
  background:#f4fbff;
  color:#0c5d78;
}

.grid-skeleton-week strong {
  font-size:14px;
}

.grid-skeleton-week span {
  margin-top:2px;
  color:#64728b;
  font-family:Inter,sans-serif;
  font-size:10px;
  font-weight:500;
}

.grid-skeleton-rows {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:220px repeat(19,minmax(94px,1fr));
  gap:4px;
}

.grid-skeleton-rows i {
  min-height:61px;
  border-radius:6px;
  background:#f5f6f8;
}

.grid-skeleton-rows i:nth-child(20n + 1) {
  position:sticky;
  left:0;
  z-index:7;
  border-bottom:1px solid #eef1f5;
  border-radius:0;
  background:#fff;
  box-shadow:8px 0 16px rgba(7,22,43,.04);
}

.grid-skeleton-rows i:not(:nth-child(20n + 1)) {
  background:linear-gradient(90deg,#eef2f6 20%,#f7f9fb 38%,#eef2f6 58%);
}

.grid-skeleton-rows i:nth-child(3n) {
  opacity:.72;
}

.grid-skeleton-rows i:nth-child(5n) {
  opacity:.54;
}

.grid-head {
  height:48px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line);
  font-family:"Barlow Condensed",sans-serif;
  font-weight:700;
}

.team-head {
  grid-row:span 2;
  height:auto;
  align-self:stretch;
  padding-left:12px;
  font-size:14px;
  letter-spacing:.06em;
  position:sticky;
  left:0;
  top:0;
  z-index:12;
  border-right:1px solid #dce3ec;
  background:#f4f6f9;
  color:var(--ink);
  box-shadow:8px 0 16px rgba(7,22,43,.07);
}

.team-head::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--aqua),var(--lime));
}

.schedule-grid>.section-head {
  height:26px;
  justify-content:center;
  border-bottom:0;
  border-radius:6px 6px 0 0;
  font-size:11px;
  letter-spacing:.16em;
  color:#fff;
  background:var(--ink);
  position:sticky;
  top:0;
  z-index:9;
}

.schedule-grid>.section-head::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:4px;
  background:#fff;
  pointer-events:none;
}

.regular-season {
  grid-column:span 14;
}

.postseason-season {
  grid-column:span 5;
  color:#fff;
  background:#0b5870;
}

.week-head {
  flex-direction:column;
  justify-content:center;
  text-align:center;
  border-left:1px solid #eef1f5;
  position:sticky;
  top:30px;
  z-index:9;
  background:#fff;
}

.week-head.current-week-column {
  border-color:#dce8f3;
  background:#f4f8fc;
}

.week-head strong {
  font-size:14px;
}

.week-head span {
  font-family:Inter,sans-serif;
  font-size:10px;
  color:#64728b;
  font-weight:500;
  margin-top:2px;
}

.postseason-head {
  background:#f4fbff;
  border-color:#cfe8f6;
  color:#0c5d78;
}

.postseason-head span {
  color:#4f7f95;
}

.team-cell,.game-cell {
  min-height:65px;
  border-radius:6px;
  display:flex;
  align-items:center;
}

.rank-divider {
  grid-column:1 / -1;
  height:8px;
  border-top:1px solid #e1e7ef;
  opacity:.86;
}

.team-cell {
  position:sticky;
  left:0;
  z-index:7;
  padding:6px 7px 6px 4px;
  border-bottom:1px solid #eef1f5;
  background:#fff;
  gap:9px;
  box-shadow:8px 0 16px rgba(7,22,43,.04);
}

.schedule-grid.filter-ap [data-team].unranked-row,
.schedule-grid.filter-favorites [data-team]:not(.favorite-row) {
  display:none;
}

.my-teams-empty {
  position:fixed;
  top:var(--grid-empty-top, 0);
  left:var(--grid-empty-left, 0);
  z-index:18;
  display:flex;
  width:var(--grid-empty-width, 100%);
  height:var(--grid-empty-height, 390px);
  min-height:260px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:32px;
  border-top:1px solid #e6ebf1;
  border-radius:0 0 10px 10px;
  background:linear-gradient(180deg,rgba(248,250,252,.98),rgba(241,244,247,.98));
  color:#68768d;
  text-align:center;
}

.my-teams-empty[hidden] {
  display:none;
}

.live-games-empty>span {
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d9203f;
  box-shadow:0 0 0 5px rgba(217,32,63,.12);
}

.my-teams-empty>span {
  color:#d1a900;
  font-size:38px;
  line-height:1;
}

.my-teams-empty strong {
  margin-top:13px;
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:22px;
  letter-spacing:.04em;
}

.my-teams-empty p {
  margin:5px 0 18px;
  font-size:12px;
}

.my-teams-empty button {
  padding:9px 15px;
  border:0;
  border-radius:6px;
  background:var(--ink);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
}

.row-num {
  width:28px;
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:21px;
  font-weight:700;
  line-height:1;
  text-align:center;
}

.fav-star {
  position:absolute;
  right:8px;
  width:24px;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  color:#8996a9;
  font-size:16px;
  line-height:1;
  opacity:.5;
  cursor:pointer;
  transition:color .15s ease,opacity .15s ease,transform .15s ease;
}

.fav-star:hover,
.fav-star:focus-visible {
  color:#56657b;
  opacity:1;
  transform:scale(1.08);
}

.fav-star:focus-visible {
  border-radius:4px;
  outline:2px solid #176de8;
  outline-offset:1px;
}

.fav-star.selected {
  color:var(--red);
  opacity:1;
}

.favorite-toast {
  position:fixed;
  left:50%;
  bottom:58px;
  z-index:120;
  padding:9px 13px;
  border-radius:7px;
  background:var(--ink);
  color:#fff;
  font-size:11px;
  font-weight:700;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,8px);
  transition:opacity .18s ease,transform .18s ease;
}

.favorite-toast.show {
  opacity:1;
  transform:translate(-50%,0);
}

.team-mark {
  width:35px;
  height:35px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Barlow Condensed",sans-serif;
  font-weight:800;
  font-size:13px;
  letter-spacing:-.02em;
  flex:none;
  background:#eef2f7;
  border:1px solid #dce3ec;
}

.team-mark.long-abbr {
  font-size:10px;
  letter-spacing:-.045em;
}

.team-copy {
  min-width:0;
  padding-right:16px;
}

.team-copy strong {
  display:block;
  font-family:"Barlow Condensed",sans-serif;
  font-size:16px;
  white-space:nowrap;
}

.team-copy em {
  display:flex;
  align-items:center;
  gap:5px;
  font-style:normal;
  font-size:11px;
  margin-top:2px;
  white-space:nowrap;
}

.overall-record {
  color:#53627a;
  font-weight:400;
}

.record-divider {
  color:#a1acbc;
}

.conference-record {
  color:#7b899e;
  font:inherit;
  letter-spacing:normal;
}

.game-cell {
  background:#f7f8fa;
  justify-content:center;
  padding-block:4px;
  padding-inline:6px;
  text-align:center;
  flex-direction:column;
  gap:2px;
  color:#13223a;
  font-size:11px;
  border:1px solid transparent;
  transition:.16s ease;
}

.game-cell.current-week-column {
  border-color:rgba(23,109,232,.08);
  background-image:linear-gradient(rgba(23,109,232,.018),rgba(23,109,232,.018));
}

.game-cell strong {
  font-family:"Barlow Condensed",sans-serif;
  font-size:16px;
  line-height:1;
}

.game-cell b {
  font-family:"Barlow Condensed",sans-serif;
  font-size:16px;
  line-height:1;
}

.game-cell span {
  font-size:10px;
  letter-spacing:.01em;
}

.game-cell.final-w {
  background:#f1faf6;
}

.game-cell.final-w b {
  color:#007b4d;
}

.game-cell.final-l {
  background:#fff5f4;
}

.game-cell.final-l b,.game-cell.final-l strong {
  color:#e1283d;
}

.game-cell.bye {
  background-color:#f7f8fa;
  background-image:repeating-linear-gradient(135deg,rgba(95,111,135,.07) 0,rgba(95,111,135,.07) 1px,transparent 1px,transparent 8px);
  color:#8290a5;
}

.game-cell.bye.current-week-column {
  background-image:linear-gradient(rgba(23,109,232,.018),rgba(23,109,232,.018)),repeating-linear-gradient(135deg,rgba(95,111,135,.07) 0,rgba(95,111,135,.07) 1px,transparent 1px,transparent 8px);
}

.bye-text {
  font-size:11px!important;
  letter-spacing:.08em!important;
}

.schedule-grid:not([data-filter="favorites"]) .game-cell.favorite-row,
.schedule-grid:not([data-filter="favorites"]) .team-cell.favorite-row {
  box-shadow:inset 0 3px 0 color-mix(in srgb,var(--highlight-yellow) 75%,#fff);
}

.game-cell:not(.bye):not(.blank) {
  cursor:pointer;
}

.game-cell:not(.bye):not(.blank):hover {
  transform:translateY(-2px);
  box-shadow:0 7px 18px rgba(15,35,58,.12);
  z-index:2;
}

.game-cell[role="button"]:focus-visible {
  z-index:3;
  outline:2px solid #176de8;
  outline-offset:-2px;
}

.game-cell .opponent-abbr {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  line-height:15px!important;
  white-space:nowrap;
}

.game-cell .opponent-relation {
  color:#758298;
  font-family:Inter,sans-serif;
  font-size:11px;
  font-weight:400;
  letter-spacing:.01em;
}

.game-cell .opponent-team {
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:#13223a;
  font-family:"Barlow Condensed",sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
}

.game-cell .opponent-rank {
  color:#52789b;
  font-size:14px;
  font-weight:700;
}

.game-cell .opponent-name {
  font:inherit;
  letter-spacing:inherit;
}

.game-cell.future-week-game .opponent-relation {
  color:#8b97aa;
}

.game-cell.future-week-game .opponent-team {
  color:#53627a;
}

.game-cell.future-week-game .opponent-rank {
  color:#72899f;
}

.game-cell .current-game-date {
  color:#53627a;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.025em;
  line-height:1.1;
}

.live-indicator {
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:var(--red);
  font-size:9px!important;
  font-weight:800;
  letter-spacing:.08em!important;
  line-height:1;
}

.live-indicator i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  animation:live-pulse 1.8s ease-in-out infinite;
}

.delayed-indicator {
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#b66a00;
  font-size:9px!important;
  font-weight:800;
  letter-spacing:.08em!important;
  line-height:1;
}

.delayed-indicator i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
}

@keyframes live-pulse {
  50% { opacity:.35; }
}

@media (prefers-reduced-motion:reduce) {
  .live-indicator i,
  .filter.today-filter.has-live .live-dot { animation:none; }
}

.post-label {
  color:#52758a;
  font-size:9px!important;
  font-weight:600;
  line-height:1;
}

.game-cell.blank {
  background:#f7fbfd;
  color:#9eb4c0;
}

.blank-text {
  font-size:13px!important;
  color:#9eb4c0;
}

.osu {
  color:#b3132b;
}

.ore {
  color:#087742;
}

.tex {
  color:#d85d0c;
}

.lsu {
  color:#5d2c91;
}

.ind {
  color:#b30e2f;
}

.mia {
  color:#087d57;
}

.ala {
  color:#bd1731;
}

.gt {
  color:#9a7621;
}

.psu {
  color:#10295f;
}

.tenn {
  color:#f36b12;
}

.uga {
  color:#ba0c2f;
}

.nd {
  color:#b38910;
}

.clem {
  color:#f56616;
}

.fla {
  color:#134b90;
}

.tt {
  color:#bc1e2d;
}

.byu {
  color:#123f8d;
}

.mich {
  color:#e1b51b;
}

.usc {
  color:#a71930;
}

.wash {
  color:#5f2d91;
}

.smu {
  color:#cf1834;
}

.utah {
  color:#c8142f;
}

.iowa {
  color:#e3b51c;
}

.hou {
  color:#c51d34;
}

.lou {
  color:#c71932;
}

.miz {
  color:#b18a18;
}

.tamu {
  color:#500000;
}

.miss {
  color:#006ba6;
}

.ou {
  color:#841617;
}

.colorado {
  color:#8a6815;
}

/* Minimal game overlay */
.game-cell.has-detail {
  cursor:pointer;
}

.game-cell.has-detail:focus-visible {
  outline:2px solid var(--lime);
  outline-offset:-3px;
}

.game-overlay {
  position:fixed;
  top:50%;
  left:50%;
  z-index:120;
  width:min(440px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow:auto;
  padding:16px 18px;
  border:1px solid #e0e7ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 54px rgba(8,24,47,.22);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%);
  transition:opacity .12s ease;
}

.game-overlay.visible {
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,-50%);
}

@media(min-width:901px) {
  .game-overlay.anchored {
    transform:none;
  }

  .game-overlay.anchored.visible {
    transform:none;
  }

  .game-overlay.anchored::before {
    content:"";
    position:absolute;
    left:var(--overlay-pointer-x,50%);
    width:14px;
    height:14px;
    background:#fff;
    transform:translateX(-50%) rotate(45deg);
  }

  .game-overlay.anchored[data-placement="below"]::before {
    top:-8px;
    border-top:1px solid #e0e7ef;
    border-left:1px solid #e0e7ef;
  }

  .game-overlay.anchored[data-placement="above"]::before {
    bottom:-8px;
    border-right:1px solid #e0e7ef;
    border-bottom:1px solid #e0e7ef;
  }
}

.game-overlay-close {
  position:absolute;
  top:9px;
  right:10px;
  width:30px;
  height:30px;
  border:0;
  border-radius:50%;
  background:#f1f4f7;
  color:#536078;
  font-size:20px;
  line-height:1;
}

.game-overlay-close:hover,
.game-overlay-close:focus-visible {
  background:#e5eaf0;
  color:var(--ink);
}

.game-overlay-topline {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:30px;
  padding-right:0;
  color:#64728a;
  font-size:11px;
  font-weight:600;
  letter-spacing:.05em;
}

.game-overlay-topline b {
  justify-self:center;
  padding:5px 12px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-size:10px;
  letter-spacing:.07em;
}

.game-overlay-topline b.delayed-status {
  background:#fff2dc;
  color:#b66a00;
}

.game-overlay-scoreline {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  column-gap:12px;
  margin:11px 0 9px;
}

.game-overlay-team {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  font-family:"Barlow Condensed",sans-serif;
  font-size:18px;
}

.game-overlay-team .team-mark {
  width:42px;
  height:42px;
  font-size:14px;
}

.game-overlay-team .team-mark.long-abbr {
  font-size:10px;
}

.game-overlay-team.right {
  justify-content:flex-end;
  text-align:right;
}

.game-overlay-team-copy {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.game-overlay-team strong {
  display:block;
  line-height:1.05;
  max-width:130px;
  min-width:0;
  overflow-wrap:break-word;
}

.game-overlay-team-record {
  color:#7b879a;
  font-family:Inter,system-ui,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1.1;
  white-space:nowrap;
}

.game-overlay-score {
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:26px;
  font-weight:800;
  min-width:64px;
  text-align:center;
  white-space:nowrap;
}

.game-overlay-score b {
  font:inherit;
}

.game-overlay-score .winner-score {
  color:var(--ink);
}

.game-overlay-score .loser-score {
  color:#8793a6;
}

.game-overlay-score span {
  margin:0 3px;
  color:#8490a3;
}

.game-overlay-event {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:0 5px;
  color:#43526b;
  font-size:11px;
  font-weight:600;
  letter-spacing:.025em;
  text-align:center;
}

#gameOverlayVenue {
  margin-top:0;
  color:#77849a;
  font-size:10px;
}

.game-overlay-event.has-schedule #gameOverlayVenue:not(:empty)::before {
  content:"·";
  margin-right:5px;
  color:#9aa6b6;
}

.game-overlay-venue-link {
  color:inherit;
  text-decoration:none;
  text-underline-offset:2px;
}

.game-overlay-venue-link span {
  color:#9aa6b6;
  font-size:9px;
}

.game-overlay-venue-link:hover,
.game-overlay-venue-link:focus-visible {
  color:#59677d;
  text-decoration:underline;
}

.game-overlay-divider {
  height:1px;
  margin:10px 0;
  background:#e4eaf1;
}

.game-overlay-coming-soon {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  padding:12px 8px 14px;
  color:#7a879a;
  text-align:center;
}

.game-overlay-coming-soon strong {
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:15px;
  letter-spacing:.055em;
}

.game-overlay-coming-soon span {
  color:#2a3850;
  font-size:12px;
  font-weight:450;
  letter-spacing:0;
  line-height:1.58;
}

.game-overlay-intel.has-intel {
  display:block;
  color:#26344a;
}

.game-intel-labels {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin:0 0 8px;
}

.game-intel-label {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 7px;
  border:1px solid transparent;
  border-radius:999px;
  background:#edf0f3;
  color:#5f6b7b;
  font-size:9px;
  font-weight:750;
  letter-spacing:.055em;
  line-height:1;
  text-transform:uppercase;
}

.game-intel-label.label-ranked-vs-ranked {
  border-color:transparent;
  background:#dfeeff;
  color:#125fbd;
}

.game-intel-label.label-rivalry {
  border-color:transparent;
  background:#fff0df;
  color:#9a4a13;
}

.game-intel-label.label-conference-game {
  border-color:transparent;
  background:#edf0f3;
  color:#5f6b7b;
}

.game-intel-label.label-upset-watch {
  border-color:transparent;
  background:#edf0f3;
  color:#5f6b7b;
}

.game-intel-empty-note {
  margin:2px 0 0;
  color:#2a3850;
  font-size:12px;
  font-weight:450;
  letter-spacing:0;
  line-height:1.58;
  text-align:center;
}

.game-intel-list {
  display:grid;
  gap:7px;
}

.game-read>strong,
.game-latest>strong,
.game-standouts>strong,
.game-verdict>strong,
.game-went-down>strong {
  display:block;
  margin-bottom:5px;
  color:#56657a;
  font-family:"Barlow Condensed",sans-serif;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.065em;
}

.game-verdict p {
  margin:0;
  color:#16263e;
  font-size:12px;
  font-weight:400;
  line-height:1.45;
}

.game-went-down {
  margin-top:12px;
}

.game-went-down ul {
  display:grid;
  gap:4px;
  margin:0;
  padding:0;
  list-style:none;
}

.game-went-down li {
  position:relative;
  padding-left:12px;
  color:#43526a;
  font-size:11.5px;
  line-height:1.4;
}

.game-went-down li::before {
  content:"•";
  position:absolute;
  left:0;
  color:#718097;
}

.game-went-down li b {
  color:var(--ink);
  font-weight:750;
}

.game-went-down li strong {
  color:#172941;
  font-weight:750;
}

.game-read p {
  margin:0;
  color:#1d2c43;
  font-size:12px;
  font-weight:500;
  line-height:1.5;
}

.game-standouts {
  margin-top:11px;
  padding-top:9px;
  border-top:1px solid #e3e8ef;
}

.game-standouts ul {
  display:grid;
  gap:4px;
  margin:0;
  padding:0;
  list-style:none;
}

.game-standouts li {
  color:#43526a;
  font-size:11.5px;
  line-height:1.4;
}

.game-standouts li b {
  color:var(--ink);
  font-weight:750;
}

.game-latest {
  margin-top:11px;
  padding-top:9px;
  border-top:1px solid #e3e8ef;
}

.game-brief { color:#26344a; }
.game-watch>strong { display:block; margin-bottom:6px; color:#56657a; font-family:"Barlow Condensed",sans-serif; font-size:10.5px; font-weight:800; letter-spacing:.065em; }
.game-watch ul { display:grid; gap:7px; margin:0; padding-left:18px; }
.game-watch li { padding-left:2px; color:#35445c; font-size:12px; font-weight:450; line-height:1.42; overflow-wrap:anywhere; }
.game-watch li strong { color:#0a1a33; font-weight:800; }
.game-players { margin-top:12px; padding-top:10px; border-top:1px solid #e3e8ef; }
.game-players>strong { display:block; margin-bottom:6px; color:#56657a; font-family:"Barlow Condensed",sans-serif; font-size:10.5px; font-weight:800; letter-spacing:.065em; }
.game-players ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.game-players li { padding:6px 8px; border-radius:7px; background:#f7f9fb; color:#35445c; font-size:11.5px; font-weight:450; line-height:1.38; overflow-wrap:anywhere; }
.game-players li strong { color:#0a1a33; font-weight:800; }
.game-brief-callout { display:grid; gap:3px; margin:0 0 12px; padding:10px 12px; border-radius:9px; background:#f1f3f6; }
.game-brief-callout strong { color:#56657a; font-family:"Barlow Condensed",sans-serif; font-size:10.5px; font-weight:800; letter-spacing:.065em; }
.game-brief-callout span { color:var(--ink); font-size:12.5px; font-weight:650; line-height:1.4; }
.game-overlay-intel.is-pregame-intel .game-brief-callout { background:#f2f6fb; }
.game-overlay-intel.is-live-intel .game-brief-callout { border-left:3px solid #ed334f; background:#fff5f6; }
.game-overlay-intel.is-live-intel .game-brief-callout strong::before { content:""; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:#ed334f; vertical-align:1px; }
.game-overlay-intel.is-final-intel .game-brief-callout { background:#f1f4f2; }

.game-intel-summary {
  margin:0;
  color:#2a3850;
  font-size:12px;
  font-weight:450;
  line-height:1.58;
}

.game-intel-summary strong {
  color:var(--ink);
  font-weight:750;
}

.game-overlay-intel.is-live-intel .game-intel-summary {
  text-align:center;
}

.game-intel-live-notes {
  display:grid;
  gap:3px;
  width:fit-content;
  max-width:100%;
  margin:9px auto 0;
  padding:0;
  color:#4f5e73;
  font-size:13px;
  font-weight:500;
  line-height:1.45;
  list-style:none;
  text-align:left;
}

.game-intel-live-notes li {
  display:flex;
  align-items:baseline;
  gap:6px;
  position:relative;
  margin:0;
  padding-left:12px;
}

.game-intel-live-notes li::before {
  content:"";
  position:absolute;
  top:.55em;
  left:1px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#9da9b9;
}

.game-intel-live-notes strong {
  color:#26344a;
  font-weight:750;
}

.game-intel-live-marker {
  flex:0 0 auto;
  color:#7d899b;
  font-family:"Barlow Condensed",sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.025em;
  text-transform:uppercase;
}

.game-intel-buzz {
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  align-items:start;
  column-gap:9px;
  width:fit-content;
  max-width:100%;
  margin:10px auto 0;
  padding-top:7px;
  border-top:1px solid #f1f4f8;
  color:#68758a;
  font-size:10px;
  font-weight:500;
  line-height:1.45;
}

.game-intel-buzz strong {
  color:#334158;
  font-family:"Barlow Condensed",sans-serif;
  font-size:11px;
  font-weight:750;
  letter-spacing:.05em;
}

.game-intel-buzz ul {
  display:grid;
  gap:3px;
  margin:0;
  padding:0;
  list-style:none;
  text-align:left;
}

.game-intel-buzz li {
  margin:0;
}

.game-intel-buzz li::before {
  content:"•";
  margin-right:4px;
  color:#a5afbd;
}

.game-intel-progression {
  margin:8px 0 0;
  color:#6d7a8e;
  font-size:9px;
  font-weight:600;
  letter-spacing:.025em;
  line-height:1.45;
  text-align:center;
  text-transform:uppercase;
}

.game-intel-stats {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin:12px 0 10px;
}

.game-intel-stats span {
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  padding:5px 7px;
  border:1px solid #e6ebf1;
  border-radius:6px;
  background:#f7f9fb;
  color:#7b8798;
  font-size:9px;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.game-intel-stats strong {
  color:var(--ink);
  font-family:"Barlow Condensed",sans-serif;
  font-size:15px;
  letter-spacing:0;
}

.game-intel-card {
  display:grid;
  grid-template-columns:86px 1fr;
  gap:10px;
  align-items:start;
  padding:8px 0;
  border-top:1px solid #edf1f6;
}

.game-intel-card:first-child {
  border-top:0;
}

.game-intel-card>strong {
  color:#77849a;
  font-family:"Barlow Condensed",sans-serif;
  font-size:13px;
  font-weight:750;
  letter-spacing:.075em;
  line-height:1.05;
}

.game-intel-card p {
  margin:0;
  color:#2a3850;
  font-size:11px;
  font-weight:500;
  line-height:1.4;
}

.game-intel-card p strong {
  color:var(--ink);
  font-weight:750;
}

.game-overlay-source {
  display:block;
  width:100%;
  margin:12px auto 0;
  padding:10px 0 2px;
  border:0;
  border-top:1px solid #e3e8ef;
  border-radius:0;
  background:transparent;
  color:#6f7d91;
  font-size:9px;
  font-weight:700;
  letter-spacing:.035em;
  text-decoration:none;
  text-align:center;
  text-transform:uppercase;
}

.game-overlay-source:hover,
.game-overlay-source:focus-visible {
  border-color:#d6dce4;
  background:#e9edf1;
  color:#43526a;
}

.game-overlay-source[hidden] {
  display:none;
}

@media(max-width:560px) {
  .game-overlay {
    width:calc(100vw - 28px);
    max-height:calc(100vh - 28px);
    padding:20px 17px 18px;
  }

  .game-overlay-close {
    top:10px;
    right:11px;
  }

  .game-overlay-scoreline {
    column-gap:10px;
    margin:12px 0 10px;
  }

  .game-overlay-team {
    gap:6px;
    font-size:18px;
  }

  .game-overlay-team .team-mark {
    width:37px;
    height:37px;
    font-size:12px;
  }

  .game-overlay-team strong {
    max-width:105px;
  }

  .game-overlay-team-record {
    font-size:9.5px;
  }

  .game-overlay-score {
    min-width:56px;
    font-size:23px;
  }

  .game-intel-card {
    grid-template-columns:72px 1fr;
    gap:8px;
  }
}

/* My Teams manager */
.teams-panel-open {
  overflow:hidden;
}

.teams-panel-backdrop {
  position:fixed;
  inset:0;
  z-index:90;
  background:rgba(7,22,43,.36);
  opacity:0;
  pointer-events:none;
  backdrop-filter:blur(2px);
  transition:opacity .2s ease;
}

.teams-panel-backdrop.open {
  opacity:1;
  pointer-events:auto;
}

.teams-panel {
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:100;
  display:flex;
  flex-direction:column;
  width:min(430px,92vw);
  padding:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:-18px 0 48px rgba(7,22,43,.2);
  transform:translateX(105%);
  transition:transform .25s ease;
}

.teams-panel.open {
  transform:translateX(0);
}

.teams-panel-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}

.teams-panel-header span {
  color:#176de8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}

.teams-panel-header h2 {
  margin:4px 0 0;
  font-family:"Barlow Condensed",sans-serif;
  font-size:30px;
  line-height:1;
}

.teams-panel-close {
  width:36px;
  height:36px;
  border:1px solid #e2e7ee;
  border-radius:50%;
  background:#f7f9fb;
  color:var(--ink);
  font-size:25px;
  line-height:1;
}

.favorite-section {
  padding:18px 0;
  border-bottom:1px solid var(--line);
}

.panel-section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}

.teams-panel h3 {
  margin:0;
  font-family:"Barlow Condensed",sans-serif;
  font-size:13px;
  letter-spacing:.1em;
}

.favorite-list {
  display:grid;
  gap:7px;
}

.favorite-team {
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 26px;
  align-items:center;
  gap:8px;
  min-height:52px;
  padding:7px 8px;
  border:1px solid #e6eaf0;
  border-radius:9px;
  background:#fff;
}

.favorite-team .team-mark,.team-option .team-mark {
  width:34px;
  height:34px;
  font-size:12px;
}

.favorite-team .team-mark.long-abbr,
.team-option .team-mark.long-abbr {
  font-size:9.5px;
}

.favorite-team-copy strong,.team-option strong {
  display:block;
  overflow:hidden;
  font-family:"Barlow Condensed",sans-serif;
  font-size:15px;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.favorite-team-copy small,.team-option small {
  display:block;
  margin-top:3px;
  color:#7b899e;
  font-size:10px;
}

.remove-favorite {
  border:0;
  background:transparent;
  color:#7a879a;
}

.remove-favorite {
  font-size:20px;
  line-height:1;
}

.remove-favorite:hover {
  color:#e32f42;
}

.empty-favorites {
  margin:8px 0;
  padding:14px;
  border-radius:8px;
  background:#f7f9fb;
  color:#718097;
  font-size:12px;
  text-align:center;
}

.team-finder {
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:0;
  padding-top:18px;
}

.team-search {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:0 12px;
  border:1px solid #dfe5ed;
  border-radius:9px;
  background:#f8fafc;
}

.team-search span {
  color:#65738b;
  font-size:20px;
}

.team-search input {
  width:100%;
  height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:13px;
}

.team-filter-controls {
  display:grid;
  gap:9px;
  margin:10px 0;
}

.team-conference-select {
  position:relative;
  display:grid;
  gap:4px;
}

.team-conference-select::after {
  content:"";
  position:absolute;
  right:14px;
  bottom:13px;
  width:6px;
  height:6px;
  border-right:1.5px solid #65738b;
  border-bottom:1.5px solid #65738b;
  pointer-events:none;
  transform:rotate(45deg);
}

.team-conference-select span {
  color:#7a8799;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
}

.team-conference-select select {
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:34px;
  padding:0 34px 0 11px;
  border:1px solid #dfe5ed;
  border-radius:999px;
  outline:0;
  background:#f7f9fb;
  color:#344159;
  font:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 1px 3px rgba(7,22,43,.025);
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}

.team-conference-select select:hover {
  border-color:#cdd6e2;
  background:#fff;
  box-shadow:0 2px 7px rgba(7,22,43,.07);
}

.team-conference-select select:focus-visible {
  border-color:#176de8;
  box-shadow:0 0 0 3px rgba(23,109,232,.13);
}

.team-directory {
  display:grid;
  flex:1;
  align-content:start;
  gap:5px;
  min-height:0;
  padding-right:3px;
  overflow-y:auto;
}

.team-option {
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 24px;
  align-items:center;
  gap:9px;
  width:100%;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  text-align:left;
}

.team-option:hover {
  border-color:#e1e7ef;
  background:#f8fafc;
}

.team-option>b {
  color:#a0acbc;
  font-size:19px;
}

.team-option[aria-pressed="true"]>b {
  color:var(--red);
}

/* Site footer */
.site-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:38px;
  padding:9px 38px;
  border-top:1px solid #dbe1e8;
  background:#f2f4f6;
  color:#657187;
  font-size:9px;
  font-weight:600;
  letter-spacing:.08em;
}

.site-footer-sticky {
  position:fixed;
  z-index:70;
  right:0;
  bottom:0;
  left:0;
  margin:0;
  padding-right:max(38px,calc((100vw - 1560px)/2 + 38px));
  padding-left:max(38px,calc((100vw - 1560px)/2 + 38px));
  background:rgba(242,244,246,.94);
  box-shadow:0 -4px 14px rgba(7,22,43,.04);
  backdrop-filter:blur(8px);
}

.site-footer-links {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}

.site-footer a,
.site-footer button {
  padding:0;
  border:0;
  background:none;
  color:var(--ink);
  font-weight:700;
  text-decoration:none;
}

.site-footer a:hover,
.site-footer a:focus-visible,
.site-footer button:hover,
.site-footer button:focus-visible {
  text-decoration:underline;
  text-underline-offset:2px;
}

.site-footer a[aria-current="page"] {
  text-decoration:underline;
  text-decoration-color:#9baa00;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

/* About page */
.about-shell {
  min-height:100vh;
}

.about-page {
  padding:70px 72px 54px;
}

.about-hero {
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-bottom:62px;
  border-bottom:1px solid var(--line);
  text-align:center;
}

.about-eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:34px;
  color:#176de8;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
}

.about-eyebrow::before {
  content:"";
  width:42px;
  height:4px;
  background:linear-gradient(90deg,var(--aqua),var(--lime));
  transform:skewX(-18deg);
}

.about-hero h2 {
  margin:0;
  font-family:"Barlow Condensed",Impact,sans-serif;
  font-size:76px;
  font-weight:800;
  letter-spacing:-.035em;
  line-height:.88;
  text-align:center;
}

.about-hero h2 em {
  color:#176de8;
  font-style:italic;
}

.about-story {
  max-width:1080px;
  margin:0 auto;
  padding:66px 0;
  text-align:center;
}

.about-site-preview {
  margin:0;
  overflow:hidden;
  border:1px solid #dfe5ed;
  border-radius:14px;
  background:#f7f9fb;
  box-shadow:0 18px 42px rgba(7,22,43,.12);
}

.about-preview-sequence {
  display:grid;
  max-width:720px;
  gap:24px;
  margin:42px auto 46px;
}

.about-site-preview figcaption {
  padding:9px 12px 8px;
  border-bottom:1px solid #dfe5ed;
  background:#f4f6f9;
  color:#65738b;
  font-family:"Barlow Condensed",sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-align:left;
}

.about-site-preview img {
  display:block;
  width:100%;
  height:auto;
}

.about-story-copy {
  max-width:820px;
  margin:0 auto;
}

.about-story-copy p {
  margin:0 0 20px;
  color:#52617a;
  font-size:15px;
  line-height:1.68;
  text-align:left;
  text-wrap:pretty;
}

.about-welcome {
  margin:0 0 34px;
  color:var(--ink);
  font-family:"Permanent Marker","Segoe Print",cursive;
  font-size:26px;
  font-weight:400;
  line-height:1.35;
  text-align:center;
  text-wrap:balance;
}

.about-signoff {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid var(--line);
}

.about-signoff span {
  color:#778399;
  font-family:"Permanent Marker","Segoe Print",cursive;
  font-size:20px;
  font-weight:400;
  line-height:1.2;
}

.about-signoff strong {
  font-family:"Barlow Condensed",sans-serif;
  font-size:18px;
  letter-spacing:.055em;
}

.about-attribution {
  display:block;
  margin-top:22px;
  color:#9aa5b5;
  font-size:8px;
  font-weight:500;
  letter-spacing:.025em;
}

.about-attribution strong {
  display:block;
  margin-bottom:4px;
  color:#7d899b;
  font-size:8px;
  letter-spacing:.11em;
}

.privacy-page {
  width:min(760px,calc(100% - 80px));
  margin:0 auto;
  padding:72px 0 80px;
}

.privacy-hero {
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
}

.privacy-play {
  display:block;
  width:100%;
  height:auto;
  margin:0 0 34px;
  color:#94a0b2;
}

.privacy-play-field {
  fill:none;
  stroke:#dce2ea;
  stroke-width:1;
}

.privacy-play-xs,
.privacy-play-offense,
.privacy-play-routes {
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2;
}

.privacy-play-routes {
  stroke-dasharray:5 5;
}

.privacy-play-accent {
  fill:none;
  stroke:url(#play-accent);
  stroke-width:4;
}

.privacy-hero>span,
.privacy-copy h3 {
  font-family:"Barlow Condensed",sans-serif;
  font-weight:700;
  letter-spacing:.1em;
}

.privacy-hero h2 {
  margin:5px 0 4px;
  font-family:"Barlow Condensed",sans-serif;
  font-size:62px;
  line-height:1;
}

.privacy-hero p {
  margin:0;
  color:var(--muted);
  font-size:12px;
}

.privacy-copy section {
  padding-top:28px;
}

.privacy-copy h3 {
  margin:0 0 7px;
  font-size:16px;
}

.privacy-copy p {
  margin:0;
  color:#52617a;
  font-size:15px;
  line-height:1.7;
}

.privacy-copy a {
  color:var(--ink);
  font-weight:650;
}

.privacy-copy code {
  font-size:.92em;
}

.faq-page {
  width:min(880px,calc(100% - 80px));
  margin:0 auto;
  padding:72px 0 82px;
}

.faq-hero {
  padding-bottom:14px;
  text-align:center;
}

.faq-field {
  display:block;
  width:100%;
  max-width:760px;
  height:auto;
  margin:0 auto 32px;
}

.faq-field-grass {
  fill:url(#faq-field-turf);
}

.faq-field-endzone {
  fill:#073826;
  opacity:.58;
}

.faq-field-border {
  fill:none;
  stroke:#d6fff0;
  stroke-opacity:.5;
  stroke-width:1.5;
}

.faq-field-stripes,
.faq-field-hashes,
.faq-field-midline {
  fill:none;
  stroke:#e9fff7;
  stroke-opacity:.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1;
}

.faq-field-hashes {
  stroke-width:2;
}

.faq-field-midline {
  stroke:#f4fff9;
  stroke-width:1.5;
}

.faq-field-numbers {
  fill:#f4fff9;
  opacity:.5;
  font-family:"Barlow Condensed",sans-serif;
  font-size:24px;
  font-weight:800;
  letter-spacing:.06em;
  text-anchor:middle;
}

.faq-field-chips rect {
  fill:#fff;
  stroke:#dfe6ef;
  stroke-width:1;
}

.faq-field-chips text {
  font-family:"Barlow Condensed",sans-serif;
  font-weight:800;
  letter-spacing:.04em;
}

.faq-chip-week {
  fill:#778399;
  font-size:14px;
}

.faq-chip-game {
  fill:var(--ink);
  font-size:18px;
}

.faq-hero>span {
  color:#176de8;
  font-family:"Barlow Condensed",sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
}

.faq-hero h2 {
  margin:9px 0 12px;
  font-family:"Barlow Condensed",sans-serif;
  font-size:58px;
  line-height:.95;
  letter-spacing:-.018em;
}

.faq-hero p {
  max-width:640px;
  margin:0 auto;
  color:#52617a;
  font-size:17px;
  line-height:1.6;
}

.faq-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 34px;
  padding-top:18px;
}

.faq-list article {
  padding-top:18px;
  border-top:4px solid #e8edf4;
}

.faq-list h3 {
  margin:0 0 8px;
  font-family:"Barlow Condensed",sans-serif;
  font-size:24px;
  line-height:1.05;
  letter-spacing:.01em;
}

.faq-list p {
  margin:0;
  color:#52617a;
  font-size:15px;
  line-height:1.68;
}

.consent-banner {
  position:fixed;
  z-index:200;
  right:18px;
  bottom:48px;
  display:flex;
  align-items:center;
  gap:18px;
  max-width:560px;
  padding:12px 14px 12px 16px;
  border:1px solid #dce3ec;
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 38px rgba(7,22,43,.18);
}

.consent-banner[hidden] {
  display:none;
}

.consent-banner p {
  margin:0;
  color:#53617a;
  font-size:11px;
  line-height:1.45;
}

.consent-banner p a {
  color:var(--ink);
  font-weight:700;
}

.consent-actions {
  display:flex;
  flex:none;
  gap:7px;
}

.consent-actions button {
  min-height:30px;
  padding:6px 10px;
  border:1px solid #d9e0e9;
  border-radius:5px;
  background:#f4f6f9;
  color:var(--ink);
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
}

.consent-actions .consent-accept {
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}

.consent-close {
  display:none;
  position:absolute;
  top:-9px;
  right:-9px;
  width:24px;
  height:24px;
  padding:0;
  border:1px solid #dce3ec;
  border-radius:50%;
  background:#fff;
  color:var(--muted);
  font-size:16px;
  line-height:1;
}

.consent-banner.revisiting .consent-close {
  display:block;
}

/* Responsive layout */
@media(max-width:1240px) {
  .page-shell {
    min-width:1120px;
  }

  .grid-stage {
    --team-column:195px;
  }

  .brand-block h1 {
    font-size:46px;
  }

  .schedule-grid {
    grid-template-columns:195px repeat(19,minmax(86px,1fr));
    width:max(100%,1915px);
  }

  .header-right {
    min-width:460px;
  }

  .top-nav {
    gap:14px;
  }

  .filter {
    padding:0 12px;
  }

  .rankings-strip {
    grid-template-columns:176px 32px minmax(0,1fr) 32px;
    gap:9px;
  }

  .featured-games-strip {
    grid-template-columns:176px 32px minmax(0,1fr) 32px;
    gap:9px;
  }

  .featured-games-track {
    grid-template-columns:repeat(5,minmax(150px,180px));
  }

  .featured-game-card:nth-child(n+6) {
    display:none;
  }

  .ranking-card {
    flex-basis:auto;
  }

  .about-page {
    padding-right:48px;
    padding-left:48px;
  }

  .about-hero h2 {
    font-size:68px;
  }

}

@media(max-width:700px), (max-width:950px) and (max-height:500px) {
  .page-shell {
    width:100%;
    min-width:0;
  }

  .filter-bar {
    display:grid;
    grid-template-columns:1fr;
    gap:5px;
    margin:6px 14px 0;
    padding:6px 8px;
    border-radius:8px 8px 0 0;
  }

  .schedule-filter-title {
    display:none;
  }

  .schedule-filter-title strong {
    font-size:16px;
  }

  .schedule-filter-title small {
    font-size:8.5px;
  }

  .primary-filters {
    width:100%;
    justify-content:stretch;
    padding:2px;
  }

  .primary-filters .filter {
    flex:1 1 0;
    padding:0 6px;
    font-size:10px;
  }

  .secondary-filters {
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,.95fr) minmax(110px,1.5fr);
    gap:5px;
    width:100%;
    padding-left:0;
    border-left:0;
  }

  .schedule-select,
  .schedule-select select {
    width:100%;
  }

  .schedule-team-search {
    grid-column:auto;
    width:auto;
    margin-left:0;
  }

  .schedule-team-search::before {
    display:none;
  }

  .mobile-filter-control { display:none; }

  .mobile-filter-control::after {
    content:"";
    position:absolute;
    right:16px;
    top:50%;
    width:7px;
    height:7px;
    border-right:2px solid #52627a;
    border-bottom:2px solid #52627a;
    pointer-events:none;
    transform:translateY(-70%) rotate(45deg);
  }

  .mobile-filter-control select {
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    min-width:0;
    height:42px;
    padding:0 40px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ink);
    font:800 16px Inter,sans-serif;
    text-align:center;
    text-align-last:center;
    cursor:pointer;
  }

  .mobile-filter-control:has(select:focus-visible) {
    border-color:#176de8;
    box-shadow:0 0 0 3px rgba(23,109,232,.13);
  }

  .grid-stage {
    padding-top:0;
  }

  .grid-toolbar {
    height:auto;
    min-height:82px;
    margin:0 14px;
    padding:10px 12px 9px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:6px;
  }

  .grid-toolbar>div {
    width:100%;
  }

  .grid-title-desktop {
    display:none;
  }

  .grid-title-mobile {
    display:block;
    font-size:16px;
    font-weight:600;
    letter-spacing:.02em;
  }

  .grid-toolbar>.grid-toolbar-status {
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:3px;
    text-align:left;
  }

  .grid-toolbar small {
    font-size:9px;
    line-height:1.25;
    letter-spacing:.015em;
  }

  .grid-stage {
    --team-column:128px;
  }

  .grid-stage::before {
    display:none;
  }

  .grid-stage::after {
    display:none;
  }

  .grid-wrap {
    height:calc(100vh - 270px);
    min-height:390px;
    margin:0 14px;
    border-radius:0 0 8px 8px;
    cursor:auto;
    touch-action:pan-x pan-y;
    overscroll-behavior-x:none;
    scroll-padding-left:calc(var(--team-column) + 3px);
    scroll-snap-type:x mandatory;
    isolation:isolate;
  }

  @supports (height:100dvh) {
    .grid-wrap {
      height:calc(100dvh - 270px);
    }
  }

  .schedule-grid {
    grid-template-columns:128px repeat(19,96px);
    gap:3px;
    width:max-content;
  }

  .grid-skeleton,
  .grid-skeleton-rows {
    grid-template-columns:128px repeat(19,96px);
    gap:3px;
  }

  .grid-skeleton-team-head {
    padding-left:9px;
    font-size:12px;
    box-shadow:7px 0 14px rgba(7,22,43,.1);
  }

  .grid-skeleton-section {
    height:24px;
    font-size:9px;
    letter-spacing:.12em;
  }

  .grid-skeleton-week {
    height:44px;
  }

  .grid-skeleton-week strong {
    font-size:12px;
  }

  .grid-skeleton-week span {
    font-size:9px;
  }

  .grid-skeleton-rows i {
    min-height:58px;
  }

  .grid-skeleton-rows i:nth-child(20n + 1) {
    box-shadow:7px 0 14px rgba(7,22,43,.1);
  }

  .grid-edge {
    display:none;
  }

  .grid-fade {
    width:28px;
  }

  .grid-fade-left {
    left:calc(14px + var(--team-column));
  }

  .grid-fade-right {
    right:14px;
  }

  .my-teams-empty {
    padding:28px 22px;
    border-radius:0 0 8px 8px;
  }

  .grid-head {
    height:44px;
  }

  .schedule-grid>.section-head {
    height:24px;
    font-size:9px;
    letter-spacing:.12em;
  }

  .week-head {
    top:28px;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .week-head strong {
    font-size:13px;
  }

  .week-head span {
    font-size:9px;
  }

  .team-head {
    height:auto;
    align-self:stretch;
    padding-left:9px;
    font-size:12px;
    z-index:40;
    overflow:hidden;
    background:#f4f6f9;
    border-right:1px solid #dce3ec;
    border-bottom:1px solid #e5eaf1;
    box-shadow:none;
    transform:translateZ(0);
  }

  .team-head::before {
    display:block;
  }

  .team-head::after {
    display:none;
  }

  .team-cell,
  .game-cell {
    min-height:58px;
  }

  .team-cell {
    gap:3px;
    padding:5px 5px 5px 2px;
  }

  .row-num {
    width:17px;
    font-size:16px;
  }

  .team-mark {
    width:25px;
    height:25px;
    font-size:9px;
  }

  .team-mark.long-abbr {
    font-size:7px;
  }

  .team-copy {
    flex:1 1 auto;
    padding-right:18px;
    overflow:hidden;
  }

  .team-cell.favorite-row .team-copy {
    padding-right:18px;
  }

  .team-copy strong {
    overflow:hidden;
    font-size:13px;
    line-height:1.05;
    text-overflow:ellipsis;
  }

  .team-copy em {
    gap:3px;
    margin-top:1px;
    overflow:hidden;
    color:#7b899e;
    font-size:7.5px;
    line-height:1.1;
    letter-spacing:.01em;
  }

  .overall-record {
    color:#65738b;
    font-weight:500;
  }

  .conference-record {
    color:#8b97aa;
  }

  .fav-star {
    right:2px;
    width:17px;
    font-size:13px;
    opacity:.72;
  }

  .game-cell {
    padding:4px;
    font-size:10px;
  }

  .game-cell strong {
    font-size:15px;
  }

  .game-cell b {
    font-size:15px;
  }

  .game-cell span {
    font-size:9px;
  }

  .game-cell:not(.bye):not(.blank):hover {
    transform:none;
    box-shadow:none;
  }

  .site-header {
    position:sticky;
    top:0;
    z-index:85;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    width:100vw;
    max-width:100vw;
    height:62px;
    align-items:flex-end;
    justify-content:normal;
    padding:8px 14px;
    overflow:visible;
    background:rgba(255,255,255,.97);
    box-shadow:0 3px 12px rgba(7,22,43,.06);
    backdrop-filter:blur(9px);
  }

  .brand-block {
    flex:0 1 190px;
    width:auto;
    max-width:190px;
    min-width:0;
  }

  .brand-kicker {
    gap:6px;
    font-size:8px;
  }

  .brand-kicker i {
    width:57px;
    height:4px;
  }

  .brand-block h1,
  .about-shell .brand-block h1 {
    margin:3px 0 0;
    font-size:29px;
    line-height:.82;
  }

  .brand-block p {
    display:block;
    margin-top:5px;
    color:#52617a;
    font-size:5.5px;
    font-weight:600;
    letter-spacing:.16em;
    line-height:1;
    white-space:nowrap;
  }

  .header-right {
    position:relative;
    flex:0 0 auto;
    justify-self:end;
    align-self:flex-end;
    align-items:flex-end;
    gap:8px;
    min-width:0;
  }

  .mobile-menu-toggle,
  .mobile-my-teams {
    display:flex;
    align-items:center;
    justify-content:center;
    height:36px;
    border:1px solid #dfe5ed;
    border-radius:7px;
    background:#fff;
    color:var(--ink);
    text-decoration:none;
  }

  .mobile-my-teams {
    width:36px;
    color:var(--red);
    font-size:20px;
    line-height:1;
  }

  .mobile-menu-toggle {
    gap:7px;
    padding:0 10px;
    font-family:"Barlow Condensed",sans-serif;
    font-size:12px;
    font-weight:800;
    letter-spacing:.045em;
  }

  .mobile-menu-toggle i,
  .mobile-menu-toggle i::before,
  .mobile-menu-toggle i::after {
    display:block;
    width:13px;
    height:1.5px;
    background:currentColor;
    content:"";
  }

  .mobile-menu-toggle i {
    position:relative;
  }

  .mobile-menu-toggle i::before {
    position:absolute;
    top:-4px;
  }

  .mobile-menu-toggle i::after {
    position:absolute;
    top:4px;
  }

  .top-nav {
    position:absolute;
    top:45px;
    right:0;
    z-index:90;
    display:flex;
    width:190px;
    padding:7px;
    border:1px solid #dfe5ed;
    border-radius:10px;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    background:#fff;
    box-shadow:0 14px 34px rgba(7,22,43,.17);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-5px);
    transition:opacity .14s ease,transform .14s ease,visibility .14s;
  }

  .site-header.mobile-menu-open .top-nav {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .top-nav>a,
  .nav-share {
    width:100%;
    padding:10px 11px;
    border-radius:6px;
  }

  .top-nav>a:hover,
  .top-nav>a:focus-visible,
  .nav-share:hover,
  .nav-share:focus-visible {
    background:#f1f4f8;
    outline:none;
  }

  .top-nav a.active::after {
    top:8px;
    right:auto;
    bottom:8px;
    left:0;
    width:3px;
    height:auto;
  }

  .top-nav>.my-teams,
  .top-nav>.nav-divider,
  .top-nav>.nav-placeholder {
    display:none;
  }

  .share-control {
    width:100%;
  }

  .share-menu {
    position:static;
    width:100%;
    margin-top:2px;
    border:0;
    border-radius:6px;
    background:#f7f9fb;
    box-shadow:none;
  }

  .rankings-strip {
    position:relative;
    grid-template-columns:128px minmax(0,1fr);
    gap:0;
    padding:10px 14px 9px;
  }

  .rankings-strip::after {
    content:"";
    position:absolute;
    z-index:2;
    top:10px;
    right:14px;
    bottom:9px;
    width:24px;
    background:linear-gradient(90deg,rgba(255,255,255,0),#fff);
    pointer-events:none;
  }

  .ranking-arrow {
    display:none;
  }

  .rankings-label {
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    text-align:left;
  }

  .rankings-label strong {
    font-size:17px;
  }

  .poll-meta {
    align-items:center;
    gap:4px;
    margin-top:0;
    font-size:9px;
  }

  .ranking-track {
    gap:0;
    min-height:30px;
    padding:1px 0;
    scroll-snap-type:x mandatory;
    touch-action:pan-x;
  }

  .ranking-card {
    flex-basis:auto;
    min-width:0;
    height:28px;
    grid-template-columns:18px minmax(0,1fr);
    gap:4px;
    padding:2px 12px;
    border-radius:0;
  }

  .ranking-card>b {
    font-size:16px;
  }

  .rank-copy strong {
    font-size:13px;
  }

  .rank-copy small {
    margin-top:0;
    font-size:9px;
  }

  .rank-copy>em {
    font-size:10px;
  }

  .featured-games-strip {
    display:block;
    padding:7px 14px 8px;
  }

  .featured-games-heading {
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-bottom:4px;
  }

  .featured-games-heading strong {
    font-size:15px;
  }

  .featured-games-heading small {
    margin-top:0;
    overflow:hidden;
    font-size:8.5px;
    text-overflow:ellipsis;
  }

  .featured-games-track {
    display:flex;
    gap:4px;
    overflow-x:auto;
    padding:1px 14px 2px 0;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    touch-action:pan-x;
  }

  .featured-game-arrow {
    display:none;
  }

  .featured-games-track::-webkit-scrollbar {
    display:none;
  }

  .featured-game-card,
  .featured-game-card:nth-child(n+5),
  .featured-game-card.rivalry-game {
    display:flex;
    flex:0 0 216px;
    min-width:216px;
    min-height:56px;
    padding:3px 9px 2px;
    scroll-snap-align:start;
  }

  .featured-game-tag {
    min-height:16px;
    padding:2px 6px;
    font-size:8px;
  }

  .featured-games-link {
    margin-top:5px;
  }

  .about-page {
    padding:32px 22px 28px;
  }

  .about-hero {
    padding-bottom:34px;
  }

  .about-eyebrow {
    gap:8px;
    margin-bottom:18px;
    font-size:9px;
  }

  .about-eyebrow::before {
    width:28px;
    height:3px;
  }

  .about-hero h2 {
    font-size:46px;
    line-height:.9;
  }

  .about-story {
    width:100%;
    padding:34px 0 26px;
    text-align:left;
  }

  .about-site-preview {
    border-radius:9px;
    box-shadow:0 10px 26px rgba(7,22,43,.11);
  }

  .about-preview-sequence {
    gap:16px;
    margin:30px auto 34px;
  }

  .about-site-preview figcaption {
    padding:7px 9px 6px;
    font-size:9px;
  }

  .about-story-copy p {
    margin-bottom:19px;
    font-size:14px;
    line-height:1.68;
    text-align:left;
  }

  .about-welcome {
    margin-bottom:24px;
    font-size:clamp(16px,4.7vw,20px);
    line-height:1.3;
    text-align:center;
    white-space:nowrap;
  }

  .about-story-copy .about-audience-lead {
    margin-bottom:8px;
    color:var(--ink);
  }

  .about-story-copy .about-closing {
    margin:32px 0 0;
    padding-bottom:16px;
    color:var(--ink);
    font-weight:600;
    text-align:left;
  }

  .about-signoff {
    margin-top:12px;
    padding-top:0;
    border-top:0;
    text-align:center;
  }

  .about-signoff span {
    font-size:18px;
  }

  .about-attribution {
    margin-top:28px;
    padding-top:16px;
    border-top:1px solid var(--line);
    line-height:1.5;
    text-align:center;
  }

  .site-footer {
    flex-direction:column;
    justify-content:center;
    gap:6px;
    padding:12px 10px;
    text-align:center;
  }

  .site-footer-links {
    justify-content:center;
    gap:5px;
    font-size:8px;
  }

  .privacy-page {
    width:auto;
    padding:42px 24px 54px;
  }

  .privacy-play {
    margin-bottom:26px;
  }

  .privacy-hero h2 {
    font-size:48px;
  }

  .privacy-copy p {
    font-size:14px;
  }

  .faq-page {
    width:auto;
    padding:42px 24px 56px;
  }

  .faq-hero {
    text-align:left;
  }

  .faq-field {
    width:calc(100% + 8px);
    margin:0 -4px 24px;
  }

  .faq-hero h2 {
    font-size:42px;
  }

  .faq-hero p {
    font-size:15px;
  }

  .faq-list {
    grid-template-columns:1fr;
    gap:22px;
    padding-top:16px;
  }

  .faq-list article {
    padding-top:15px;
  }

  .faq-list h3 {
    font-size:22px;
  }

  .faq-list p {
    font-size:14px;
  }

  .consent-banner {
    right:10px;
    bottom:10px;
    left:10px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    max-width:none;
    padding:13px 14px;
  }

  .consent-actions {
    justify-content:flex-end;
  }

  .site-footer-sticky {
    position:static;
    margin-top:20px;
    background:#f2f4f6;
    box-shadow:none;
    backdrop-filter:none;
  }

  .teams-panel {
    top:auto;
    width:100%;
    height:86vh;
    padding:20px;
    border-radius:18px 18px 0 0;
    transform:translateY(105%);
  }

  .team-search input,
  .team-conference-select select {
    font-size:16px;
  }

  .teams-panel.open {
    transform:translateY(0);
  }
}

@media(min-width:701px) and (max-width:950px) and (max-height:500px) {
  .site-header {
    height:56px;
    padding-top:6px;
    padding-bottom:6px;
  }

  .brand-block h1,
  .about-shell .brand-block h1 {
    font-size:27px;
  }

  .mobile-menu-toggle,
  .mobile-my-teams {
    height:34px;
  }

  .mobile-my-teams {
    width:34px;
  }

  .top-nav {
    top:40px;
  }

  .rankings-strip {
    grid-template-columns:128px minmax(0,1fr);
    padding-top:6px;
    padding-bottom:6px;
  }

  .rankings-strip::after {
    top:6px;
    bottom:6px;
  }

  .ranking-card {
    flex-basis:auto;
    height:28px;
  }

  .featured-games-strip {
    padding-top:7px;
    padding-bottom:8px;
  }

  .featured-game-card,
  .featured-game-card:nth-child(n+5) {
    min-height:84px;
  }

  .filter-bar {
    padding-top:6px;
    padding-bottom:6px;
  }

  .mobile-filter-control {
    max-width:340px;
    height:40px;
  }

  .mobile-filter-control select {
    height:38px;
  }

  .grid-stage {
    padding-top:0;
  }

  .grid-stage::before,
  .grid-stage::after {
    top:57px;
  }

  .grid-toolbar {
    min-height:52px;
    padding-top:7px;
    padding-bottom:7px;
    flex-direction:row;
    align-items:center;
    gap:18px;
  }

  .grid-toolbar-title {
    flex:1 1 auto;
  }

  .grid-toolbar>.grid-toolbar-status {
    width:auto;
    flex:0 0 auto;
    align-items:flex-end;
    text-align:right;
  }

  .grid-toolbar-status small:last-child {
    display:none;
  }

  .grid-wrap {
    height:calc(100vh - 200px);
    min-height:170px;
  }

  @supports (height:100dvh) {
    .grid-wrap {
      height:calc(100dvh - 200px);
    }
  }

  .teams-panel {
    top:0;
    right:0;
    bottom:0;
    width:min(430px,60vw);
    height:100dvh;
    border-radius:0;
    transform:translateX(105%);
  }

  .teams-panel.open {
    transform:translateX(0);
  }
}

@media(min-width:1880px) {
  .rankings-strip, .featured-games-strip, .grid-stage {
    width:100vw;
    margin-left:calc((100% - 100vw)/2);
    margin-right:calc((100% - 100vw)/2);
  }

  .filter-bar {
    width:calc(100vw - 56px);
    margin-right:calc((100% - 100vw)/2 + 28px);
    margin-left:calc((100% - 100vw)/2 + 28px);
  }

  .schedule-grid {
    grid-template-columns:220px repeat(19,minmax(0,1fr));
    width:100%;
  }

}
