/* Mithrandir Metrics — Component CSS
   Minimal, realistic for Flask/Jinja. All classes are prefix-free semantic names. */

/* ============ Layout ============ */
.mm-shell { display: grid; grid-template-columns: var(--mm-rail-w) minmax(0, 1fr);
  min-height: 100vh; background: var(--mm-ink-900); }
.mm-topbar {
  position: sticky; top: 0; z-index: 20; height: var(--mm-topbar-h);
  background: var(--mm-ink-900); border-bottom: 1px solid var(--mm-rule-2);
  display: flex; align-items: stretch; padding: 0 var(--mm-space-6);
  grid-column: 1 / -1;
}
.mm-topbar__brand { display: flex; align-items: center; gap: 10px;
  font-family: var(--mm-font-display); font-size: 18px; letter-spacing: -.01em;
  color: var(--mm-text-1); padding-right: var(--mm-space-6);
  border-right: 1px solid var(--mm-rule-1); margin-right: var(--mm-space-6);
}
.mm-topbar__brand em { font-style: italic; color: var(--mm-signal); font-weight: 500; }
.mm-topbar__mark {
  width: 26px; height: 26px; border: 1px solid var(--mm-rule-3);
  display: grid; place-items: center; overflow: hidden;
  background: var(--mm-ink-850);
  padding: 1px;
  color: var(--mm-text-1);
}
.mm-topbar__mark img {
  width: 100%; height: 100%; object-fit: contain; display: block;
  opacity: .96;
}
.mm-topbar__nav { display: flex; align-items: stretch; gap: 0; }
.mm-topbar__link {
  display: flex; align-items: center; padding: 0 var(--mm-space-4);
  color: var(--mm-text-2); font-size: var(--mm-fs-body-sm);
  letter-spacing: .01em; text-decoration: none;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.mm-topbar__link:hover { color: var(--mm-text-1); }
.mm-topbar__link[aria-current="page"],
.mm-topbar__link.is-active {
  color: var(--mm-text-1); border-bottom-color: var(--mm-signal);
}
.mm-topbar__spacer { flex: 1; }
.mm-topbar__meta { display: flex; align-items: center; gap: var(--mm-space-4);
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .18em; text-transform: uppercase; }

/* Contextual left rail */
.mm-rail { background: var(--mm-ink-900); border-right: 1px solid var(--mm-rule-2);
  padding: var(--mm-space-6) 0; position: sticky; top: var(--mm-topbar-h);
  height: calc(100vh - var(--mm-topbar-h)); overflow: auto; }
.mm-rail__group { padding: 0 var(--mm-space-5); margin-bottom: var(--mm-space-6); }
.mm-rail__heading {
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .22em; text-transform: uppercase;
  margin: 0 0 var(--mm-space-2); padding: 0 var(--mm-space-2);
}
.mm-rail__link {
  display: flex; align-items: center; gap: var(--mm-space-3);
  padding: 7px var(--mm-space-2); color: var(--mm-text-2);
  text-decoration: none; font-size: var(--mm-fs-body-sm);
  border-left: 2px solid transparent; margin-left: -2px;
}
.mm-rail__link:hover { color: var(--mm-text-1); }
.mm-rail__link[aria-current="page"] {
  color: var(--mm-text-1); border-left-color: var(--mm-signal);
  background: linear-gradient(90deg, var(--mm-signal-tint), transparent 40%);
}
.mm-rail__tag { margin-left: auto; font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro); color: var(--mm-text-3); }

.mm-main { padding: var(--mm-space-8) var(--mm-space-8) var(--mm-space-16); }

/* ============ Masthead (page title + folio strip) ============ */
.mm-masthead { display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--mm-space-8); padding-bottom: var(--mm-space-5);
  border-bottom: 1px solid var(--mm-rule-2); margin-bottom: var(--mm-space-6); }
.mm-masthead__folio {
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .26em; text-transform: uppercase;
  margin-bottom: var(--mm-space-2);
}
.mm-masthead__title {
  font-family: var(--mm-font-display); font-size: var(--mm-fs-display-1);
  line-height: var(--mm-lh-tight); letter-spacing: -.015em;
  color: var(--mm-text-1); margin: 0;
  overflow-wrap: anywhere;
}
.mm-masthead__title em { font-style: italic; color: var(--mm-signal); font-weight: 400; }
.mm-masthead__dek {
  font-family: var(--mm-font-display); font-style: italic;
  font-size: 17px; color: var(--mm-text-2); max-width: 60ch;
  margin: var(--mm-space-3) 0 0;
}
.mm-masthead__meta { display: flex; gap: var(--mm-space-6); flex-shrink: 0; }
.mm-masthead__stat { text-align: right; }
.mm-masthead__stat-label {
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .22em; text-transform: uppercase;
}
.mm-masthead__stat-value {
  font-family: var(--mm-font-mono); font-size: 22px;
  color: var(--mm-text-1); font-variant-numeric: tabular-nums;
}

/* ============ Operational strip (Observatory pattern) ============ */
.mm-opstrip {
  display: flex; align-items: center; gap: 0;
  border: 1px solid var(--mm-rule-2); border-left: none; border-right: none;
  padding: var(--mm-space-3) 0; margin-bottom: var(--mm-space-6);
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-caption);
  color: var(--mm-text-3); letter-spacing: .14em; text-transform: uppercase;
}
.mm-opstrip > * { padding: 0 var(--mm-space-4);
  border-right: 1px solid var(--mm-rule-1); }
.mm-opstrip > *:last-child { border-right: none; margin-left: auto; }
.mm-opstrip__val { color: var(--mm-text-1); margin-left: 8px; }
.mm-opstrip__dot { width: 6px; height: 6px; border-radius: 50%;
  background: var(--mm-signal); display: inline-block; margin-right: 8px;
  box-shadow: 0 0 0 3px var(--mm-signal-tint); }
.mm-opstrip__dot--live { background: var(--mm-chalk);
  box-shadow: 0 0 0 3px var(--mm-chalk-tint); }

/* ============ Cards (Observatory · ruled, not rounded-soft) ============ */
.mm-card {
  background: var(--mm-ink-850); border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-md); padding: var(--mm-space-5);
}
.mm-card--flush { padding: 0; }
.mm-card__head {
  display: flex; align-items: baseline; justify-content: space-between;
  padding: var(--mm-space-4) var(--mm-space-5);
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-card__eyebrow {
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .22em; text-transform: uppercase;
}
.mm-card__title {
  font-family: var(--mm-font-display); font-size: var(--mm-fs-h1);
  letter-spacing: -.01em; color: var(--mm-text-1); margin: 0;
}
.mm-card__body { padding: var(--mm-space-5); }
.mm-card__foot {
  padding: var(--mm-space-3) var(--mm-space-5);
  border-top: 1px solid var(--mm-rule-1);
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-caption);
  color: var(--mm-text-3); display: flex; justify-content: space-between;
}

/* Player card — specialized */
.mm-pcard { display: grid;
  grid-template-columns: 96px 1fr auto; gap: var(--mm-space-5);
  align-items: center; padding: var(--mm-space-5);
  background: var(--mm-ink-850); border: 1px solid var(--mm-rule-2); }
.mm-pcard__portrait {
  width: 96px; height: 96px; background:
    repeating-linear-gradient(45deg, var(--mm-ink-800) 0 6px,
      var(--mm-ink-750) 6px 12px);
  border: 1px solid var(--mm-rule-1);
  display: grid; place-items: center; font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro); color: var(--mm-text-4);
  letter-spacing: .2em;
}
.mm-pcard__name { font-family: var(--mm-font-display); font-size: 24px;
  color: var(--mm-text-1); letter-spacing: -.01em; }
.mm-pcard__meta { font-family: var(--mm-font-mono); font-size: var(--mm-fs-caption);
  color: var(--mm-text-3); letter-spacing: .12em; text-transform: uppercase;
  margin-top: 2px; }

/* ============ Tables (Almanac · box-score · ruled) ============ */
.mm-table { width: 100%; border-collapse: separate; border-spacing: 0;
  font-size: var(--mm-fs-body-sm); font-variant-numeric: tabular-nums;
  color: var(--mm-text-1);
}
.mm-table thead th {
  text-align: left; font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro); letter-spacing: .18em; text-transform: uppercase;
  color: var(--mm-text-3); font-weight: 500;
  padding: var(--mm-space-3) var(--mm-space-4);
  border-bottom: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
}
.mm-table tbody td {
  padding: 10px var(--mm-space-4);
  border-bottom: 1px solid var(--mm-rule-1);
  white-space: nowrap;
}
.mm-table tbody tr:hover td { background: var(--mm-ink-750); }
.mm-table tbody tr.is-selected td { background: var(--mm-signal-tint); }
.mm-table th.num, .mm-table td.num { text-align: right; font-family: var(--mm-font-mono); }
.mm-table td.name { font-family: var(--mm-font-ui); font-weight: 500; }
.mm-table td.name small { font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .1em; margin-left: 8px; }
.mm-table th.mm-table__num, .mm-table td.mm-table__num { text-align: right; font-family: var(--mm-font-mono); }
.mm-table td.mm-table__name { font-family: var(--mm-font-ui); font-weight: 500; }
.mm-table td.mm-table__name small { font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .1em; margin-left: 8px; }
.mm-matchup {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--mm-signal);
  text-decoration: none;
}
.mm-matchup:hover { color: var(--mm-text-1); }
.mm-matchup:hover .mm-team-logo { opacity: 1; filter: saturate(.85); }
.mm-matchup-team {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mm-matchup-separator {
  color: var(--mm-text-4);
  font-family: var(--mm-font-mono);
}
.mm-team-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  opacity: .74;
  filter: grayscale(.15) saturate(.78) brightness(1.25) contrast(.92);
  transition: opacity 160ms ease, filter 160ms ease;
  vertical-align: middle;
}
.mm-table .rank { color: var(--mm-text-3); font-family: var(--mm-font-mono); }
.mm-table .delta-up   { color: var(--mm-up); }
.mm-table .delta-down { color: var(--mm-down); }
.mm-table tfoot td { padding: var(--mm-space-3) var(--mm-space-4);
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .18em; text-transform: uppercase;
  border-top: 1px solid var(--mm-rule-2); }

/* Compact table modifier */
.mm-table--compact tbody td { padding: 6px var(--mm-space-3); }
.mm-table--compact thead th { padding: var(--mm-space-2) var(--mm-space-3); }
.mm-table--compact td.num,
.mm-table--compact th.num {
  min-width: 64px;
  white-space: nowrap;
}

/* Zebra (optional — ruled lines preferred) */
.mm-table--zebra tbody tr:nth-child(even) td { background: oklch(100% 0 0 / 0.02); }

/* ============ Tags / badges ============ */
.mm-tag { display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 8px; border: 1px solid var(--mm-rule-2);
  background: transparent; border-radius: 2px;
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-2); letter-spacing: .14em; text-transform: uppercase;
  line-height: 1; }
.mm-tag--signal { color: var(--mm-signal); border-color: var(--mm-signal-strong); }
.mm-tag--warn   { color: var(--mm-warn);   border-color: var(--mm-warn-strong); }
.mm-tag--chalk  { color: var(--mm-chalk);  border-color: color-mix(in oklab, var(--mm-chalk) 60%, transparent); }
.mm-tag--solid  { background: var(--mm-ink-800); border-color: transparent; color: var(--mm-text-1); }

/* ============ Buttons ============ */
.mm-btn { display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; font-family: var(--mm-font-ui); font-size: var(--mm-fs-body-sm);
  font-weight: 500; color: var(--mm-text-1);
  background: var(--mm-ink-800); border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-md); cursor: pointer; text-decoration: none; }
.mm-btn:hover { border-color: var(--mm-rule-3); background: var(--mm-ink-750); }
.mm-btn--primary {
  background: var(--mm-signal); border-color: var(--mm-signal);
  color: oklch(14% 0.02 230);
}
.mm-btn--primary:hover { background: var(--mm-signal-strong); border-color: var(--mm-signal-strong); }
.mm-btn--ghost { background: transparent; }
.mm-btn--sm { padding: 4px 10px; font-size: var(--mm-fs-caption); }

/* ============ KPI block (for hubs) ============ */
.mm-kpis { display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--mm-rule-2); border-radius: var(--mm-radius-md);
  background: var(--mm-ink-850); }
.mm-kpi { padding: var(--mm-space-4) var(--mm-space-5);
  border-right: 1px solid var(--mm-rule-1); }
.mm-kpi:last-child { border-right: none; }
.mm-kpi__label { font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .22em; text-transform: uppercase; }
.mm-kpi__value { font-family: var(--mm-font-display); font-size: 28px;
  font-variant-numeric: tabular-nums; color: var(--mm-text-1);
  margin-top: 4px; line-height: 1; letter-spacing: -.01em; }
.mm-kpi__delta { font-family: var(--mm-font-mono); font-size: var(--mm-fs-caption);
  color: var(--mm-text-3); margin-top: 6px; }

/* ============ Section dividers ============ */
.mm-section-rule { display: flex; align-items: center; gap: var(--mm-space-3);
  margin: var(--mm-space-10) 0 var(--mm-space-5); }
.mm-section-rule::before,
.mm-section-rule::after { content: ''; height: 1px; flex: 1; background: var(--mm-rule-2); }
.mm-section-rule__label {
  font-family: var(--mm-font-mono); font-size: var(--mm-fs-micro);
  color: var(--mm-text-3); letter-spacing: .26em; text-transform: uppercase;
}

/* ============ Home reference implementation (Design Refresh M1 Step 3) ============ */
.mm-home-page {
  min-height: 100vh;
  background:
    linear-gradient(90deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    var(--mm-ink-900);
  color: var(--mm-text-1);
}
.mm-home-frame {
  width: min(var(--mm-page-max), calc(100vw - 32px));
  margin: 0 auto;
  border-left: 1px solid var(--mm-rule-1);
  border-right: 1px solid var(--mm-rule-1);
  background: color-mix(in oklab, var(--mm-ink-900) 92%, transparent);
  min-height: 100vh;
}
.mm-home-main { padding: var(--mm-space-8) var(--mm-space-8) var(--mm-space-12); }
.mm-home-mobile-strip {
  display: none;
  gap: var(--mm-space-2);
  overflow-x: auto;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
  padding: var(--mm-space-3) var(--mm-space-4);
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-home-mobile-strip a {
  flex: 0 0 auto;
  color: var(--mm-text-2);
  text-decoration: none;
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
  border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-sm);
  padding: 5px 8px;
}
.mm-home-masthead { min-height: 230px; align-items: flex-start; }
.mm-home-masthead .mm-masthead__title {
  max-width: 820px;
  font-size: clamp(42px, 6vw, 78px);
}
.mm-home-masthead .mm-masthead__dek { max-width: 720px; }
.mm-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
  gap: 0;
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
}
.mm-home-daily { border-right: 1px solid var(--mm-rule-2); }
.mm-home-daily__lead {
  padding: var(--mm-space-6) var(--mm-space-6) var(--mm-space-4);
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-home-daily__lead h2 {
  margin: var(--mm-space-2) 0 var(--mm-space-3);
  max-width: 720px;
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 500;
  line-height: var(--mm-lh-tight);
  letter-spacing: -.02em;
}
.mm-home-daily__lead p {
  max-width: 760px;
  margin: 0;
  color: var(--mm-text-2);
}
.mm-home-daily__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-2);
  margin-top: var(--mm-space-5);
}
.mm-home-table-wrap { overflow-x: auto; padding: 0 var(--mm-space-5) var(--mm-space-5); }
.mm-home-kpi-stack { display: grid; grid-template-columns: 1fr; }
.mm-home-kpi {
  display: grid;
  gap: var(--mm-space-2);
  min-height: 118px;
  padding: var(--mm-space-5);
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-home-kpi:last-child { border-bottom: 0; }
.mm-home-kpi__value {
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: 38px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.mm-home-kpi__label {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mm-home-kpi__note { color: var(--mm-text-2); font-size: var(--mm-fs-body-sm); }
.mm-home-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--mm-space-4);
}
.mm-home-hub {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 252px;
  color: inherit;
  text-decoration: none;
}
.mm-home-hub:hover { border-color: var(--mm-rule-3); background: var(--mm-ink-800); }
.mm-home-spark {
  display: flex;
  align-items: end;
  gap: 5px;
  height: 58px;
  margin-top: var(--mm-space-4);
  border-top: 1px solid var(--mm-rule-1);
  border-bottom: 1px solid var(--mm-rule-1);
  padding: 10px 0;
}
.mm-home-spark span {
  display: block;
  width: 100%;
  min-height: 10px;
  background: linear-gradient(180deg, var(--mm-signal), var(--mm-signal-strong));
  opacity: .72;
}
.mm-home-spark span:nth-child(2n) { opacity: .36; }
.mm-home-spark span:nth-child(3n) { opacity: .54; }
.mm-home-ship-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--mm-rule-2);
}
.mm-home-ship {
  padding: var(--mm-space-4);
  color: var(--mm-text-1);
  text-decoration: none;
  border-right: 1px solid var(--mm-rule-1);
  background: var(--mm-ink-850);
}
.mm-home-ship:last-child { border-right: 0; }
.mm-home-ship:hover { background: var(--mm-ink-800); }
.mm-home-ship strong {
  display: block;
  margin-top: var(--mm-space-2);
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-h2);
  line-height: var(--mm-lh-tight);
}
.mm-home-methods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
}
.mm-home-method {
  display: block;
  padding: var(--mm-space-5);
  color: inherit;
  text-decoration: none;
  border-right: 1px solid var(--mm-rule-1);
}
.mm-home-method:last-child { border-right: 0; }
.mm-home-method b {
  display: block;
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-h1);
  font-weight: 500;
}
.mm-home-method span {
  display: block;
  margin-top: 3px;
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-home-method p {
  margin: var(--mm-space-3) 0 0;
  color: var(--mm-text-2);
  font-size: var(--mm-fs-body-sm);
}
.mm-home-footer {
  display: flex;
  justify-content: space-between;
  gap: var(--mm-space-4);
  margin-top: var(--mm-space-8);
  padding-top: var(--mm-space-5);
  border-top: 1px solid var(--mm-rule-1);
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* ============ Home v1 Almanac revision (Design Refresh M1 Step 6) ============ */
.mm-home-almanac .mm-shell {
  background:
    linear-gradient(90deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    var(--mm-ink-900);
}
.mm-home-almanac .mm-main {
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
}
.mm-home-nameplate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--mm-space-8);
  align-items: end;
  min-height: 220px;
  padding-bottom: var(--mm-space-6);
  border-bottom: 2px double var(--mm-rule-2);
}
.mm-home-nameplate__folio {
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  color: var(--mm-text-3);
  letter-spacing: .28em;
  text-transform: uppercase;
  margin-bottom: var(--mm-space-4);
}
.mm-home-nameplate h1 {
  margin: 0;
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: clamp(56px, 8vw, 116px);
  font-weight: 500;
  line-height: .88;
  letter-spacing: -.04em;
}
.mm-home-nameplate h1 em {
  color: var(--mm-signal);
  font-style: italic;
  font-weight: 400;
}
.mm-home-nameplate__stats {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: var(--mm-space-5);
  margin: 0;
  align-items: end;
  text-align: right;
}
.mm-home-nameplate__stats div {
  min-width: 86px;
  padding-left: var(--mm-space-5);
  border-left: 1px solid var(--mm-rule-1);
}
.mm-home-nameplate__stats dt {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mm-home-nameplate__stats dd {
  margin: 4px 0 0;
  color: var(--mm-text-1);
  font-family: var(--mm-font-mono);
  font-size: 28px;
  font-variant-numeric: tabular-nums;
}
.mm-home-nameplate__stats small {
  display: block;
  margin-top: 3px;
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mm-home-freshness-alert {
  display: grid;
  gap: 4px;
  margin-top: var(--mm-space-4);
  padding: var(--mm-space-4);
  border: 1px solid color-mix(in oklch, var(--mm-warn) 42%, var(--mm-rule-2));
  background: color-mix(in oklch, var(--mm-warn) 10%, transparent);
}
.mm-home-freshness-alert span {
  color: var(--mm-warn);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.mm-home-freshness-alert strong {
  color: var(--mm-text-1);
  font-family: var(--mm-font-ui);
  font-size: var(--mm-fs-body-sm);
  font-weight: 600;
}
.mm-home-lede {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: var(--mm-space-8);
  padding: var(--mm-space-6) 0 var(--mm-space-7);
  border-bottom: 1px solid var(--mm-rule-2);
}
.mm-home-lede__story h2 {
  max-width: 780px;
  margin: var(--mm-space-2) 0 var(--mm-space-3);
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: clamp(38px, 5.8vw, 74px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.035em;
}
.mm-home-lede__story p {
  margin: 0;
  max-width: 66ch;
  color: var(--mm-text-2);
  font-size: var(--mm-fs-body);
}
.mm-home-lede__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-2);
  margin-top: var(--mm-space-5);
}
.mm-home-lede__evidence {
  align-self: stretch;
  display: grid;
  align-content: start;
  gap: var(--mm-space-4);
  padding: var(--mm-space-5);
  border-left: 1px solid var(--mm-rule-2);
  background: color-mix(in oklab, var(--mm-ink-850) 70%, transparent);
}
.mm-home-lede__player {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--mm-space-3);
  align-items: center;
}
.mm-home-lede__player strong {
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.015em;
}
.mm-home-lede__player small {
  grid-column: 2;
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-home-lane-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--mm-rule-1);
}
.mm-home-lane-grid span {
  display: grid;
  gap: 4px;
  padding: var(--mm-space-3);
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .14em;
  text-transform: uppercase;
  border-right: 1px solid var(--mm-rule-1);
}
.mm-home-lane-grid span:last-child { border-right: 0; }
.mm-home-lane-grid b {
  color: var(--mm-text-1);
  font-size: var(--mm-fs-body);
  letter-spacing: 0;
}
.mm-home-lede__caption {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-home-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--mm-rule-2);
  margin: var(--mm-space-7) 0;
}
.mm-home-feature-card {
  display: grid;
  align-content: start;
  gap: var(--mm-space-4);
  min-height: 300px;
  padding: var(--mm-space-5);
  color: inherit;
  text-decoration: none;
  background: var(--mm-ink-850);
  border-right: 1px solid var(--mm-rule-1);
}
.mm-home-feature-card:last-child { border-right: 0; }
.mm-home-feature-card:hover { background: var(--mm-ink-800); }
.mm-home-feature-card__head,
.mm-home-feature-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mm-space-3);
}
.mm-home-feature-card__metric {
  color: var(--mm-signal);
  font-family: var(--mm-font-mono);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.mm-home-feature-card h3 {
  margin: 0;
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: clamp(24px, 2.3vw, 34px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.02em;
}
.mm-home-feature-card__meta {
  justify-content: flex-start;
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-home-feature-card p {
  margin: 0;
  color: var(--mm-text-2);
  font-size: var(--mm-fs-body-sm);
  line-height: 1.45;
}
.mm-home-delta-chip {
  width: max-content;
  padding: 5px 8px;
  border: 1px solid var(--mm-rule-2);
  color: var(--mm-text-1);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-caption);
  letter-spacing: .14em;
}
.mm-home-delta-chip.is-positive { color: var(--mm-signal); border-color: var(--mm-signal-strong); }
.mm-home-delta-chip.is-negative { color: var(--mm-warn); border-color: var(--mm-warn-strong); }
.mm-home-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: var(--mm-space-8);
  align-items: start;
}
.mm-home-marquee {
  border-top: 1px solid var(--mm-rule-2);
}
.mm-home-marquee__row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 88px;
  gap: var(--mm-space-4);
  padding: var(--mm-space-4) 0;
  border-bottom: 1px solid var(--mm-rule-1);
  color: inherit;
  text-decoration: none;
  align-items: baseline;
}
.mm-home-marquee__row:hover .mm-home-marquee__entity { color: var(--mm-signal); }
.mm-home-marquee__label,
.mm-home-marquee__note {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-home-marquee__entity {
  display: flex;
  align-items: center;
  gap: var(--mm-space-2);
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: 22px;
  line-height: 1.1;
}
.mm-home-marquee__metric {
  color: var(--mm-text-1);
  font-family: var(--mm-font-mono);
  font-size: 18px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.mm-home-marquee__note {
  grid-column: 2 / -1;
  margin-top: -8px;
}
.mm-home-dispatches .mm-dispatch {
  color: inherit;
  text-decoration: none;
}
.mm-home-dispatches .mm-dispatch__title {
  display: block;
}
.mm-home-dispatches .mm-dispatch__byline {
  overflow-wrap: anywhere;
}
.mm-home-aside {
  display: grid;
  gap: var(--mm-space-5);
  position: sticky;
  top: calc(var(--mm-topbar-h) + var(--mm-space-5));
}
.mm-home-run-list {
  display: grid;
  gap: var(--mm-space-3);
}
.mm-home-run-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--mm-space-3);
  padding-bottom: var(--mm-space-3);
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-home-run-list div:last-child { border-bottom: 0; padding-bottom: 0; }
.mm-home-run-list b {
  color: var(--mm-text-1);
  font-family: var(--mm-font-ui);
  font-size: var(--mm-fs-body-sm);
  font-weight: 600;
}
.mm-home-run-list span {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mm-home-accountability {
  padding: var(--mm-space-4);
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
}
.mm-home-accountability p {
  margin: var(--mm-space-3) 0 0;
  color: var(--mm-text-2);
  font-size: var(--mm-fs-body-sm);
}
.mm-home-section-index {
  display: grid;
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
}
.mm-home-section-index a {
  display: grid;
  gap: 3px;
  padding: var(--mm-space-4);
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-home-section-index a:last-child { border-bottom: 0; }
.mm-home-section-index a:hover { background: var(--mm-ink-800); }
.mm-home-section-index b {
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-h2);
  font-weight: 500;
}
.mm-home-section-index span {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* ============ Daily flagship (Design Refresh M1 Step 4) ============ */
.mm-daily-page {
  min-height: 100vh;
  background:
    linear-gradient(90deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    var(--mm-ink-900);
  color: var(--mm-text-1);
}
.mm-daily-frame {
  display: grid;
  grid-template-columns: var(--mm-rail-w) minmax(0, 1fr);
  align-items: start;
  width: min(var(--mm-page-max), calc(100vw - 32px));
  margin: 0 auto;
  min-height: 100vh;
  border-left: 1px solid var(--mm-rule-1);
  border-right: 1px solid var(--mm-rule-1);
  background: color-mix(in oklab, var(--mm-ink-900) 93%, transparent);
}
.mm-daily-frame .mm-home-mobile-strip { grid-column: 1 / -1; }
.mm-daily-main {
  grid-column: 2;
  min-width: 0;
  padding: var(--mm-space-8) var(--mm-space-8) var(--mm-space-12);
}
.mm-daily-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--mm-space-8);
  align-items: end;
  min-height: 238px;
  padding-bottom: var(--mm-space-6);
  border-bottom: 1px solid var(--mm-rule-2);
}
.mm-daily-title {
  max-width: 900px;
  margin: 0;
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: clamp(40px, 5.6vw, 72px);
  font-weight: 500;
  line-height: var(--mm-lh-tight);
  letter-spacing: -.025em;
}
.mm-daily-dek {
  max-width: 760px;
  margin: var(--mm-space-4) 0 0;
  color: var(--mm-text-2);
  font-size: var(--mm-fs-body);
}
.mm-daily-byline {
  display: grid;
  gap: var(--mm-space-2);
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .18em;
  text-align: right;
  text-transform: uppercase;
}
.mm-daily-scoreboard {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
  margin-bottom: var(--mm-space-6);
}
.mm-daily-stat {
  display: grid;
  gap: 4px;
  min-height: 112px;
  padding: var(--mm-space-5);
  border-right: 1px solid var(--mm-rule-1);
}
.mm-daily-stat:last-child { border-right: 0; }
.mm-daily-stat__label,
.mm-daily-stat small {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mm-daily-stat strong {
  color: var(--mm-text-1);
  font-family: var(--mm-font-mono);
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  overflow-wrap: anywhere;
}
.mm-daily-stat .mm-matchup {
  max-width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  row-gap: 2px;
}
/* Probable-starters block holds names, not big numbers — keep both pitchers
   the same readable size so neither wraps to 3 lines or shrinks vs the other. */
.mm-daily-stat--names { align-content: start; gap: 8px; }
.mm-daily-pitcher {
  display: flex;
  flex-direction: column;
  gap: 1px;
  color: var(--mm-text-1);
  font-family: var(--mm-font-ui);
  font-size: var(--mm-fs-body-sm);
  font-weight: 600;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.mm-daily-pitcher__side {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 500;
}
.mm-daily-stat .mm-matchup-team {
  min-width: 0;
}
.mm-daily-stat .mm-matchup-team span:not(.mm-team-logo) {
  overflow: hidden;
  text-overflow: ellipsis;
}
.mm-daily-stat .mm-team-logo {
  flex: 0 0 auto;
}
.mm-daily-stat--live {
  background: var(--mm-chalk-tint);
}
.mm-daily-stat--live .mm-daily-stat__label,
.mm-daily-stat--live strong {
  color: var(--mm-chalk);
}
.mm-daily-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  gap: var(--mm-space-6);
  align-items: start;
}
.mm-daily-lead {
  padding: var(--mm-space-6);
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
}
.mm-daily-lead p {
  max-width: 62ch;
  margin: var(--mm-space-4) 0 0;
  color: var(--mm-text-2);
  font-family: var(--mm-font-display);
  font-size: 18px;
  line-height: 1.62;
}
.mm-daily-lead .mm-srow {
  grid-template-columns: 1fr;
  gap: var(--mm-space-4);
}
.mm-daily-writeup-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-900);
}
.mm-daily-writeup-stats div {
  min-width: 0;
  padding: var(--mm-space-4);
  border-right: 1px solid var(--mm-rule-1);
}
.mm-daily-writeup-stats div:last-child { border-right: 0; }
.mm-daily-writeup-stats dt {
  margin: 0 0 var(--mm-space-2);
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.mm-daily-writeup-stats dd {
  margin: 0;
  color: var(--mm-text-1);
  font-family: var(--mm-font-mono);
  font-size: clamp(13px, 1.15vw, 16px);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.mm-daily-pull {
  max-width: 760px;
  margin: var(--mm-space-6) 0 0;
  padding: var(--mm-space-4) var(--mm-space-5);
  border-left: 2px solid var(--mm-signal);
  color: var(--mm-text-1);
  background: var(--mm-signal-tint);
  font-family: var(--mm-font-display);
  font-size: clamp(24px, 3vw, 36px);
  font-style: italic;
  line-height: var(--mm-lh-tight);
}
.mm-daily-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-2);
  margin-top: var(--mm-space-6);
}
.mm-daily-rail {
  display: grid;
  gap: var(--mm-space-4);
  min-width: 0;
}
/* Rail tables (pitching matchups, pitcher form) live in a ~320-380px column.
   Base .mm-table cells use white-space: nowrap, which overflows and clips the
   rightmost column in this narrow rail. Let rail-table cells wrap so all
   columns fit the column width instead of being cut off. */
.mm-daily-rail .mm-table { width: 100%; max-width: 100%; table-layout: fixed; }
.mm-daily-rail .mm-table td { white-space: normal; overflow-wrap: anywhere; }
.mm-daily-rail .mm-table td.name { width: 52%; }
.mm-daily-rail .mm-table td.num { width: 24%; }
.mm-daily-game-list { display: grid; }
.mm-daily-game {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px var(--mm-space-3);
  padding: var(--mm-space-4) var(--mm-space-5);
  border-bottom: 1px solid var(--mm-rule-1);
  color: var(--mm-text-1);
  text-decoration: none;
}
.mm-daily-game:last-child { border-bottom: 0; }
.mm-daily-game:hover { background: var(--mm-ink-800); }
.mm-daily-game--live {
  border-left: 2px solid var(--mm-chalk);
  background: var(--mm-chalk-tint);
}
.mm-daily-game__status,
.mm-daily-game__score {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
}
.mm-daily-game__score {
  grid-column: 1 / -1;
  color: var(--mm-text-2);
}
.mm-daily-module-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-2);
  padding: var(--mm-space-5);
}
.mm-daily-module-list span {
  padding: 5px 8px;
  border: 1px solid var(--mm-rule-2);
  color: var(--mm-text-2);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-daily-archive-row {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border: 1px solid var(--mm-rule-2);
}
.mm-daily-archive-card {
  display: grid;
  gap: var(--mm-space-2);
  min-height: 132px;
  padding: var(--mm-space-4);
  border-right: 1px solid var(--mm-rule-1);
  background: var(--mm-ink-850);
  color: inherit;
  text-decoration: none;
}
.mm-daily-archive-card:last-child { border-right: 0; }
.mm-daily-archive-card:hover { background: var(--mm-ink-800); }
.mm-daily-archive-card strong {
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-h2);
  font-weight: 500;
}
.mm-daily-archive-card small {
  color: var(--mm-text-3);
  font-size: var(--mm-fs-caption);
}

/* ============ Analytics hub (Design Refresh M1 Step 5) ============ */
.mm-analytics-page {
  min-height: 100vh;
  background:
    linear-gradient(90deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    var(--mm-ink-900);
  color: var(--mm-text-1);
}
.mm-analytics-main { background: color-mix(in oklab, var(--mm-ink-900) 94%, transparent); }
.mm-analytics-masthead .mm-masthead__title {
  max-width: 860px;
  font-size: clamp(38px, 5vw, 64px);
}
.mm-analytics-mobile-strip { grid-column: 1 / -1; }
.mm-analytics-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: var(--mm-space-4);
  margin-bottom: var(--mm-space-5);
}
.mm-analytics-headline .mm-card__body p {
  max-width: 78ch;
  margin: 0;
  color: var(--mm-text-2);
  font-family: var(--mm-font-display);
  font-size: 18px;
  line-height: 1.58;
}
.mm-analytics-note-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-2);
  margin-top: var(--mm-space-4);
}
.mm-analytics-note-list .mm-tag {
  max-width: 100%;
  white-space: normal;
  line-height: 1.35;
  letter-spacing: .08em;
}
.mm-analytics-kpi-stack {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
}
.mm-analytics-kpi-stack .mm-kpi {
  border-right: 0;
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-analytics-kpi-stack .mm-kpi:last-child { border-bottom: 0; }
.mm-analytics-hub-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--mm-space-4);
  margin-bottom: var(--mm-space-5);
}
.mm-analytics-hub-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-height: 228px;
  color: inherit;
  text-decoration: none;
}
.mm-analytics-hub-card:hover {
  border-color: var(--mm-rule-3);
  background: var(--mm-ink-800);
}
.mm-analytics-hub-card strong {
  display: block;
  margin-top: var(--mm-space-3);
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: var(--mm-fs-h1);
  font-weight: 500;
  line-height: var(--mm-lh-tight);
}
.mm-analytics-hub-card p {
  margin: var(--mm-space-3) 0 0;
  color: var(--mm-text-2);
  font-size: var(--mm-fs-body-sm);
}
.mm-analytics-card-foot {
  align-self: end;
  margin-top: var(--mm-space-5);
  padding-top: var(--mm-space-3);
  border-top: 1px solid var(--mm-rule-1);
  color: var(--mm-signal);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-analytics-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--mm-space-4);
  margin-bottom: var(--mm-space-4);
}
.mm-analytics-preview-wide { margin-bottom: var(--mm-space-6); }
.mm-analytics-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}
.mm-analytics-table-wrap .mm-table {
  table-layout: auto;
  max-width: 100%;
}
.mm-analytics-table-wrap .mm-table code {
  white-space: normal;
  overflow-wrap: anywhere;
}
.mm-analytics-table-wrap .mm-table td.name small {
  display: block;
  margin-left: 0;
  margin-top: 2px;
  white-space: normal;
}
.mm-standings-division-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mm-space-5);
}
.mm-standings-table-wrap {
  overflow-x: auto;
}
.mm-standings-table-wrap .mm-table {
  min-width: 860px;
}
.mm-standings-table-wrap .mm-table thead th {
  position: static;
  top: auto;
}
.mm-awards-race-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mm-space-5);
}
.mm-awards-table-wrap {
  overflow-x: auto;
}
.mm-awards-table-wrap .mm-table {
  min-width: 680px;
}
.mm-awards-table-wrap .mm-table thead th {
  position: static;
  top: auto;
}
.mm-awards-split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--mm-space-4);
}
.mm-leaders-league-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--mm-space-5);
}
.mm-leaders-table-wrap {
  overflow-x: auto;
}
.mm-leaders-table-wrap .mm-table {
  min-width: 760px;
}
.mm-leaders-table-wrap .mm-table thead th {
  position: static;
  top: auto;
}
.mm-analytics-filter-head {
  align-items: flex-start;
  gap: var(--mm-space-4);
}
.mm-filter-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--mm-space-2);
  max-width: 720px;
}
.mm-filter-bar label {
  display: grid;
  gap: 4px;
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.mm-filter-bar select,
.mm-filter-bar input {
  min-width: 84px;
  height: 32px;
  padding: 4px 8px;
  border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-sm);
  background: var(--mm-ink-900);
  color: var(--mm-text-1);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-caption);
}
.mm-filter-bar input { width: 84px; }
.mm-analytics-legacy { margin-top: var(--mm-space-8); }

/* ============ Scoped non-betting rollout bridge (Design Refresh M1 Step 6) ============ */
.mm-refresh-page {
  min-height: 100vh;
  background:
    linear-gradient(90deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    linear-gradient(180deg, var(--mm-rule-1) 1px, transparent 1px) 0 0 / 96px 96px,
    var(--mm-ink-900);
  color: var(--mm-text-1);
  font-family: var(--mm-font-ui);
}
.mm-refresh-page .shell {
  width: min(var(--mm-page-max), calc(100vw - 32px));
  margin: 0 auto;
  min-height: 100vh;
  padding: 0;
  border-left: 1px solid var(--mm-rule-1);
  border-right: 1px solid var(--mm-rule-1);
  background: color-mix(in oklab, var(--mm-ink-900) 94%, transparent);
}
.mm-refresh-page .site-masthead {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: var(--mm-topbar-h);
  margin: 0;
  padding: 0 var(--mm-space-5);
  border-bottom: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-900);
}
.mm-refresh-page .masthead-row {
  display: flex;
  align-items: stretch;
  min-height: var(--mm-topbar-h);
  gap: var(--mm-space-4);
}
.mm-refresh-page .brand-lockup {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-right: var(--mm-space-5);
  border-right: 1px solid var(--mm-rule-1);
  color: var(--mm-text-1);
  text-decoration: none;
}
.mm-refresh-page .brand-logo {
  width: 26px;
  height: 26px;
  padding: 1px;
  border: 1px solid var(--mm-rule-3);
  background: var(--mm-ink-850);
  object-fit: contain;
}
.mm-refresh-page .brand-lockup h2,
.mm-refresh-page .brand-lockup p { margin: 0; }
.mm-refresh-page .brand-lockup h2 {
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}
.mm-refresh-page .brand-lockup h2 span { color: var(--mm-signal); font-style: italic; }
.mm-refresh-page .site-nav {
  display: flex;
  flex: 1;
  align-items: stretch;
  justify-content: space-between;
  min-width: 0;
}
.mm-refresh-page .site-nav-group { display: flex; align-items: stretch; }
.mm-refresh-page .site-nav-link {
  display: flex;
  align-items: center;
  padding: 0 var(--mm-space-3);
  border-bottom: 2px solid transparent;
  color: var(--mm-text-2);
  font-size: var(--mm-fs-body-sm);
  text-decoration: none;
}
.mm-refresh-page .site-nav-link:hover,
.mm-refresh-page .site-nav-link-active { color: var(--mm-text-1); }
.mm-refresh-page .site-nav-link-active { border-bottom-color: var(--mm-signal); }
.mm-refresh-page .masthead-status {
  display: flex;
  align-items: center;
  gap: var(--mm-space-3);
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.mm-refresh-page .masthead-status i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--mm-signal);
}
.mm-refresh-page .analytics-observatory-layout,
.mm-refresh-page .standings-observatory-layout,
.mm-refresh-page .projection-player-layout,
.mm-refresh-page .projection-team-layout {
  display: grid;
  grid-template-columns: var(--mm-rail-w) minmax(0, 1fr);
  gap: 0;
}
.mm-refresh-page .analytics-section-rail,
.mm-refresh-page .daily-section-rail {
  min-height: calc(100vh - var(--mm-topbar-h));
  padding: var(--mm-space-6) 0;
  border-right: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-900);
}
.mm-refresh-page .analytics-section-rail .eyebrow,
.mm-refresh-page .daily-section-rail .eyebrow {
  padding: 0 var(--mm-space-5);
}
.mm-refresh-page .analytics-section-rail a,
.mm-refresh-page .daily-section-rail a {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 7px var(--mm-space-5);
  border-left: 2px solid transparent;
  color: var(--mm-text-2);
  text-decoration: none;
  font-size: var(--mm-fs-body-sm);
}
.mm-refresh-page .analytics-section-rail a:hover,
.mm-refresh-page .daily-section-rail a:hover { color: var(--mm-text-1); }
.mm-refresh-page .analytics-section-rail a.active,
.mm-refresh-page .daily-section-rail a.active {
  color: var(--mm-text-1);
  border-left-color: var(--mm-signal);
  background: linear-gradient(90deg, var(--mm-signal-tint), transparent 44%);
}
.mm-refresh-page .analytics-workspace,
.mm-refresh-page .standings-workspace,
.mm-refresh-page .projection-detail-workspace,
.mm-refresh-page .daily-workspace {
  min-width: 0;
  padding: var(--mm-space-8);
}
.mm-refresh-page .hero,
.mm-refresh-page .premium-hero,
.mm-refresh-page .compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
  gap: var(--mm-space-6);
  align-items: end;
  padding: 0 0 var(--mm-space-6);
  margin: 0 0 var(--mm-space-6);
  border: 0;
  border-bottom: 1px solid var(--mm-rule-2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.mm-refresh-page .hero.compact,
.mm-refresh-page .compact.premium-hero { min-height: 190px; }
.mm-refresh-page .hero-copy,
.mm-refresh-page .analytics-hero-copy,
.mm-refresh-page .standings-hero-copy,
.mm-refresh-page .daily-issue-copy { max-width: 860px; }
.mm-refresh-page .hero h1,
.mm-refresh-page .hero-copy h1,
.mm-refresh-page .analytics-hero-copy h1,
.mm-refresh-page .section-head h2 {
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-weight: 500;
  line-height: var(--mm-lh-tight);
  letter-spacing: -.02em;
}
.mm-refresh-page .hero h1,
.mm-refresh-page .hero-copy h1,
.mm-refresh-page .analytics-hero-copy h1 {
  max-width: 900px;
  margin: var(--mm-space-2) 0 var(--mm-space-4);
  font-size: clamp(38px, 5vw, 64px);
}
.mm-refresh-page .hero-lede,
.mm-refresh-page .section-head p,
.mm-refresh-page .panel p,
.mm-refresh-page .card-tile p,
.mm-refresh-page .path-card p {
  color: var(--mm-text-2);
}
.mm-refresh-page .eyebrow,
.mm-refresh-page .home-observatory-meta,
.mm-refresh-page .hero-label,
.mm-refresh-page .summary-label,
.mm-refresh-page .table-subtext,
.mm-refresh-page .card-meta,
.mm-refresh-page .links,
.mm-refresh-page .muted {
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.mm-refresh-page .home-observatory-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--mm-space-3);
}
.mm-refresh-page .hero-nav,
.mm-refresh-page .hero-spotlight,
.mm-refresh-page .analytics-hero-instrument,
.mm-refresh-page .daily-issue-board {
  border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-md);
  background: var(--mm-ink-850);
  padding: var(--mm-space-5);
  box-shadow: none;
}
.mm-refresh-page .hero-link {
  display: block;
  margin: var(--mm-space-2) 0;
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1;
  text-decoration: none;
}
.mm-refresh-page .hero-stats,
.mm-refresh-page .analytics-instrument-grid,
.mm-refresh-page .daily-board-counts,
.mm-refresh-page .mini-summary,
.mm-refresh-page .report-summary-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0;
  border: 1px solid var(--mm-rule-1);
  background: var(--mm-ink-900);
}
.mm-refresh-page .hero-stats > *,
.mm-refresh-page .analytics-instrument-grid > *,
.mm-refresh-page .daily-board-counts > *,
.mm-refresh-page .mini-summary > *,
.mm-refresh-page .report-summary-stats > * {
  padding: var(--mm-space-3);
  border-right: 1px solid var(--mm-rule-1);
}
.mm-refresh-page .panel,
.mm-refresh-page .card-tile,
.mm-refresh-page .path-card,
.mm-refresh-page .projection-subpanel,
.mm-refresh-page .player-card,
.mm-refresh-page .profile-card,
.mm-refresh-page .archive-card,
.mm-refresh-page .stat-card {
  border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-md);
  background: var(--mm-ink-850);
  box-shadow: none;
}
.mm-refresh-page .panel {
  padding: var(--mm-space-5);
  margin-bottom: var(--mm-space-5);
}
.mm-refresh-page .panel-emphasis { background: var(--mm-ink-850); }
.mm-refresh-page .section-head,
.mm-refresh-page .section-head-home,
.mm-refresh-page .compact-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--mm-space-4);
  padding-bottom: var(--mm-space-4);
  margin-bottom: var(--mm-space-4);
  border-bottom: 1px solid var(--mm-rule-1);
}
.mm-refresh-page .path-grid,
.mm-refresh-page .card-grid,
.mm-refresh-page .projection-division-grid,
.mm-refresh-page .profile-card-grid,
.mm-refresh-page .report-grid,
.mm-refresh-page .lab-map-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--mm-space-4);
}
.mm-refresh-page .path-card,
.mm-refresh-page .card-tile {
  display: grid;
  gap: var(--mm-space-3);
  min-height: 180px;
  padding: var(--mm-space-5);
  color: inherit;
  text-decoration: none;
}
.mm-refresh-page .path-card:hover,
.mm-refresh-page .card-tile:hover {
  border-color: var(--mm-rule-3);
  background: var(--mm-ink-800);
}
.mm-refresh-page .path-card h3,
.mm-refresh-page .card-tile h3,
.mm-refresh-page .panel h3,
.mm-refresh-page .panel h4 {
  color: var(--mm-text-1);
  font-family: var(--mm-font-display);
  font-weight: 500;
}
.mm-refresh-page .primary-button,
.mm-refresh-page .secondary-button,
.mm-refresh-page button,
.mm-refresh-page .inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 12px;
  border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-md);
  background: var(--mm-ink-800);
  color: var(--mm-text-1);
  font-family: var(--mm-font-ui);
  font-size: var(--mm-fs-body-sm);
  font-weight: 500;
  text-decoration: none;
}
.mm-refresh-page .primary-button {
  background: var(--mm-signal);
  border-color: var(--mm-signal);
  color: oklch(14% 0.02 230);
}
.mm-refresh-page .secondary-button,
.mm-refresh-page .inline-link {
  background: transparent;
  color: var(--mm-signal);
}
.mm-refresh-page .projection-table-wrap,
.mm-refresh-page .leaderboard-table-wrap,
.mm-refresh-page .table-wrap,
.mm-refresh-page .standings-table-wrap {
  overflow: visible;
}
.mm-refresh-page table,
.mm-refresh-page .projection-table,
.mm-refresh-page .leaderboard-table,
.mm-refresh-page .standings-table,
.mm-refresh-page .lab-leaderboard {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--mm-text-1);
  font-size: var(--mm-fs-body-sm);
  font-variant-numeric: tabular-nums;
}
.mm-refresh-page table th,
.mm-refresh-page .projection-table th,
.mm-refresh-page .leaderboard-table th,
.mm-refresh-page .standings-table th,
.mm-refresh-page .lab-leaderboard th {
  padding: var(--mm-space-3) var(--mm-space-4);
  border-bottom: 1px solid var(--mm-rule-2);
  background: var(--mm-ink-850);
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  font-weight: 500;
  letter-spacing: .18em;
  text-align: left;
  text-transform: uppercase;
}
.mm-refresh-page table td,
.mm-refresh-page .projection-table td,
.mm-refresh-page .leaderboard-table td,
.mm-refresh-page .standings-table td,
.mm-refresh-page .lab-leaderboard td {
  padding: 10px var(--mm-space-4);
  border-bottom: 1px solid var(--mm-rule-1);
  vertical-align: top;
}
.mm-refresh-page table tr:hover td,
.mm-refresh-page .projection-table tr:hover td,
.mm-refresh-page .leaderboard-table tr:hover td,
.mm-refresh-page .standings-table tr:hover td { background: var(--mm-ink-750); }
.mm-refresh-page table td:not(:first-child),
.mm-refresh-page table th:not(:first-child),
.mm-refresh-page .projection-table td:not(:first-child),
.mm-refresh-page .projection-table th:not(:first-child) {
  font-family: var(--mm-font-mono);
}
.mm-refresh-page .player-name-link,
.mm-refresh-page .links a {
  color: var(--mm-signal);
  text-decoration: none;
}
.mm-refresh-page .badge,
.mm-refresh-page .archive-pill,
.mm-refresh-page .projection-pill,
.mm-refresh-page .model-status-chip,
.mm-refresh-page .status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  border: 1px solid var(--mm-rule-2);
  border-radius: 2px;
  background: transparent;
  color: var(--mm-text-2);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
}
.mm-refresh-page .badge.accent,
.mm-refresh-page .projection-pill,
.mm-refresh-page .model-status-chip-production,
.mm-refresh-page .model-status-chip-active { color: var(--mm-signal); border-color: var(--mm-signal-strong); }
.mm-refresh-page .player-avatar,
.mm-refresh-page .projection-avatar,
.mm-refresh-page .player-card-headshot {
  border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-sm);
  background: var(--mm-ink-800);
  overflow: hidden;
}
.mm-refresh-page .player-avatar img,
.mm-refresh-page .projection-avatar img,
.mm-refresh-page .player-card-headshot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mm-refresh-page input,
.mm-refresh-page select,
.mm-refresh-page textarea {
  border: 1px solid var(--mm-rule-2);
  border-radius: var(--mm-radius-sm);
  background: var(--mm-ink-900);
  color: var(--mm-text-1);
  font-family: var(--mm-font-ui);
}
.mm-refresh-page .empty {
  padding: var(--mm-space-5);
  border: 1px solid var(--mm-rule-2);
  color: var(--mm-text-2);
  background: var(--mm-ink-850);
}
.mm-refresh-page .breadcrumb-row {
  padding: var(--mm-space-4) var(--mm-space-8) 0;
  color: var(--mm-text-3);
  font-family: var(--mm-font-mono);
  font-size: var(--mm-fs-micro);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mm-refresh-page--editorial .panel p,
.mm-refresh-page--detail .panel p {
  max-width: 78ch;
  line-height: 1.58;
}

/* ============ Mobile ============ */
@media (max-width: 768px) {
  .mm-shell { grid-template-columns: 1fr; }
  .mm-rail { display: none; }
  .mm-topbar {
    padding: 0 var(--mm-space-4);
    flex-wrap: wrap;
    height: auto;
    align-items: center;
    row-gap: 0;
  }
  .mm-topbar__brand {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: var(--mm-space-3);
    margin-right: var(--mm-space-3);
    border-right: 0;
    font-size: 16px;
    min-height: var(--mm-topbar-h);
  }
  .mm-topbar__brand span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mm-topbar__spacer { display: none; }
  /* Primary nav becomes a full-width, horizontally scrollable strip (row 2)
     so phones keep global section navigation instead of losing it entirely. */
  .mm-topbar__nav {
    display: flex;
    order: 10;
    flex: 1 0 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-top: 1px solid var(--mm-rule-1);
  }
  .mm-topbar__nav::-webkit-scrollbar { display: none; }
  .mm-topbar__link {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 11px var(--mm-space-3);
    font-size: 13px;
    margin-bottom: 0;
  }
  .mm-social-links { flex: 0 0 auto; gap: 6px; }
  .mm-social-links a,
  .mm-social-link { font-size: 11px; padding: 3px 6px; }
  /* Ops status text is low-value on phones and crowds the bar — hide it. */
  .mm-topbar__meta { display: none; }
  /* Text-heavy diagnosis/arsenal tables (e.g. pitcher Lab "Fixable gaps")
     must scroll horizontally rather than squeeze a column to ~1ch, which made
     the explanation text wrap one letter per line. Give the table room to
     scroll inside the overflow-x:auto wrapper, and stop cells from breaking
     mid-word so each text column keeps at least its longest-word width. */
  #diagnosis .mm-table,
  #arsenal .mm-table { min-width: 720px; }
  #diagnosis .mm-table td,
  #diagnosis .mm-table th,
  #arsenal .mm-table td,
  #arsenal .mm-table th { overflow-wrap: normal; word-break: normal; }
  .mm-main { padding: var(--mm-space-5) var(--mm-space-4) var(--mm-space-12); }
  .mm-kpis { grid-template-columns: repeat(2, 1fr); }
  .mm-kpi:nth-child(2) { border-right: none; }
  .mm-kpi:nth-child(-n+2) { border-bottom: 1px solid var(--mm-rule-1); }
  .mm-masthead { flex-direction: column; align-items: flex-start; }
  .mm-masthead > * { min-width: 0; max-width: 100%; }
  .mm-masthead__meta { width: 100%; justify-content: space-between; }
  .mm-masthead__title { font-size: 28px; }
  .mm-masthead__dek { max-width: 100%; overflow-wrap: anywhere; }
  .mm-home-frame { width: 100%; border: 0; }
  .mm-home-main { padding: var(--mm-space-5) var(--mm-space-4) var(--mm-space-10); }
  .mm-home-mobile-strip { display: flex; }
  .mm-home-nameplate,
  .mm-home-lede,
  .mm-home-content-grid,
  .mm-footer { grid-template-columns: 1fr; }
  .mm-home-nameplate {
    min-height: auto;
    gap: var(--mm-space-5);
  }
  .mm-home-nameplate h1 { font-size: clamp(46px, 17vw, 68px); }
  .mm-home-nameplate__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    text-align: left;
    gap: 0;
    border: 1px solid var(--mm-rule-1);
  }
  .mm-home-nameplate__stats div {
    min-width: 0;
    padding: var(--mm-space-3);
    border-left: 0;
    border-right: 1px solid var(--mm-rule-1);
  }
  .mm-home-nameplate__stats div:last-child { border-right: 0; }
  .mm-home-lede__story h2 { font-size: clamp(34px, 12vw, 52px); }
  .mm-home-lede__evidence {
    border-left: 0;
    border-top: 1px solid var(--mm-rule-2);
  }
  .mm-home-lane-grid,
  .mm-home-feature-grid { grid-template-columns: 1fr; }
  .mm-home-feature-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--mm-rule-1);
  }
  .mm-home-feature-card:last-child { border-bottom: 0; }
  .mm-home-marquee__row {
    grid-template-columns: 1fr auto;
    gap: var(--mm-space-2) var(--mm-space-3);
  }
  .mm-home-marquee__label,
  .mm-home-marquee__note { grid-column: 1 / -1; }
  .mm-home-aside { position: static; }
  .mm-dispatch {
    grid-template-columns: 1fr auto;
    gap: var(--mm-space-3);
  }
  .mm-dispatch__date { grid-column: 1 / -1; }
  .mm-home-masthead { min-height: auto; padding-bottom: var(--mm-space-4); }
  .mm-home-hero,
  .mm-home-hub-grid,
  .mm-home-ship-grid,
  .mm-home-methods { grid-template-columns: 1fr; }
  .mm-home-daily { border-right: 0; }
  .mm-home-kpi { min-height: auto; border-top: 1px solid var(--mm-rule-1); }
  .mm-home-hub { min-height: auto; }
  .mm-home-ship,
  .mm-home-method { border-right: 0; border-bottom: 1px solid var(--mm-rule-1); }
  .mm-home-ship:last-child,
  .mm-home-method:last-child { border-bottom: 0; }
  .mm-home-footer { flex-direction: column; }
  .mm-daily-frame { width: 100%; border: 0; grid-template-columns: 1fr; }
  .mm-daily-main {
    grid-column: 1;
    padding: var(--mm-space-5) var(--mm-space-4) var(--mm-space-10);
  }
  .mm-daily-masthead {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: var(--mm-space-4);
  }
  .mm-daily-title { font-size: clamp(34px, 12vw, 48px); }
  .mm-daily-byline { text-align: left; }
  .mm-daily-scoreboard,
  .mm-daily-layout,
  .mm-daily-archive-row { grid-template-columns: 1fr; }
  .mm-daily-lead .mm-srow,
  .mm-daily-writeup-stats { grid-template-columns: 1fr; }
  .mm-daily-writeup-stats div {
    border-right: 0;
    border-bottom: 1px solid var(--mm-rule-1);
  }
  .mm-daily-writeup-stats div:last-child { border-bottom: 0; }
  .mm-daily-stat {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--mm-rule-1);
  }
  .mm-daily-stat:last-child { border-bottom: 0; }
  .mm-daily-lead { padding: var(--mm-space-5); }
  .mm-daily-lead p { font-size: 16px; }
  .mm-daily-archive-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--mm-rule-1);
  }
  .mm-daily-archive-card:last-child { border-bottom: 0; }
  .mm-analytics-page .mm-shell { display: block; }
  .mm-analytics-mobile-strip { display: flex; }
  .mm-analytics-main { padding: var(--mm-space-5) var(--mm-space-4) var(--mm-space-10); }
  .mm-analytics-summary,
  .mm-analytics-hub-grid,
  .mm-analytics-preview-grid { grid-template-columns: 1fr; }
  .mm-analytics-hub-card { min-height: auto; }
  .mm-analytics-filter-head { display: grid; }
  .mm-filter-bar { justify-content: flex-start; }
  .mm-analytics-table-wrap .mm-table thead { display: none; }
  .mm-analytics-table-wrap .mm-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px var(--mm-space-3);
    padding: var(--mm-space-3);
    border-bottom: 1px solid var(--mm-rule-1);
  }
  .mm-analytics-table-wrap .mm-table tbody td {
    display: block;
    border-bottom: 0;
    padding: 1px 0;
    white-space: normal;
  }
  .mm-analytics-table-wrap .mm-table tbody td.name { grid-column: 1 / -1; }
  .mm-analytics-table-wrap .mm-table tfoot { display: none; }
  .mm-refresh-page .shell {
    width: 100%;
    border: 0;
  }
  .mm-refresh-page .site-masthead { padding: 0 var(--mm-space-3); }
  .mm-refresh-page .masthead-row { flex-wrap: wrap; min-height: auto; padding: var(--mm-space-2) 0; }
  .mm-refresh-page .brand-lockup { min-height: 42px; }
  .mm-refresh-page .site-nav {
    order: 3;
    flex-basis: 100%;
    overflow-x: auto;
    border-top: 1px solid var(--mm-rule-1);
  }
  .mm-refresh-page .site-nav-group-secondary { display: none; }
  .mm-refresh-page .site-nav-link {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 var(--mm-space-3);
    border: 1px solid var(--mm-rule-2);
    border-radius: var(--mm-radius-sm);
    margin: var(--mm-space-2) var(--mm-space-1) var(--mm-space-2) 0;
    font-family: var(--mm-font-mono);
    font-size: var(--mm-fs-micro);
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .mm-refresh-page .masthead-status { margin-left: auto; }
  .mm-refresh-page .analytics-observatory-layout,
  .mm-refresh-page .standings-observatory-layout,
  .mm-refresh-page .projection-player-layout,
  .mm-refresh-page .projection-team-layout {
    display: block;
  }
  .mm-refresh-page .analytics-section-rail,
  .mm-refresh-page .daily-section-rail { display: none; }
  .mm-refresh-page .analytics-workspace,
  .mm-refresh-page .standings-workspace,
  .mm-refresh-page .projection-detail-workspace,
  .mm-refresh-page .daily-workspace,
  .mm-refresh-page .shell > .hero,
  .mm-refresh-page .shell > .panel,
  .mm-refresh-page .shell > section,
  .mm-refresh-page .shell > .breadcrumb-row {
    padding-left: var(--mm-space-4);
    padding-right: var(--mm-space-4);
  }
  .mm-refresh-page .hero,
  .mm-refresh-page .premium-hero,
  .mm-refresh-page .compact,
  .mm-refresh-page .section-head,
  .mm-refresh-page .section-head-home,
  .mm-refresh-page .compact-head {
    display: grid;
    grid-template-columns: 1fr;
  }
  .mm-refresh-page .hero h1,
  .mm-refresh-page .hero-copy h1,
  .mm-refresh-page .analytics-hero-copy h1 { font-size: clamp(30px, 10vw, 44px); }
  .mm-refresh-page .path-grid,
  .mm-refresh-page .card-grid,
  .mm-refresh-page .projection-division-grid,
  .mm-refresh-page .profile-card-grid,
  .mm-refresh-page .report-grid,
  .mm-refresh-page .lab-map-strip { grid-template-columns: 1fr; }
  .mm-refresh-page .projection-table thead,
  .mm-refresh-page .leaderboard-table thead,
  .mm-refresh-page .standings-table thead,
  .mm-refresh-page .lab-leaderboard thead { display: none; }
  .mm-refresh-page .projection-table tbody tr,
  .mm-refresh-page .leaderboard-table tbody tr,
  .mm-refresh-page .standings-table tbody tr,
  .mm-refresh-page .lab-leaderboard tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px var(--mm-space-3);
    padding: var(--mm-space-3);
    border-bottom: 1px solid var(--mm-rule-1);
  }
  .mm-refresh-page .projection-table tbody td,
  .mm-refresh-page .leaderboard-table tbody td,
  .mm-refresh-page .standings-table tbody td,
  .mm-refresh-page .lab-leaderboard tbody td {
    display: block;
    border-bottom: 0;
    padding: 2px 0;
    white-space: normal;
  }
  .mm-opstrip {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: var(--mm-space-2);
  }
  .mm-opstrip > * {
    min-width: 0;
    white-space: normal;
  }
  .mm-opstrip > *:last-child { margin-left: 0; }
  .mm-home-table-wrap .mm-table thead { display: none; }
  .mm-home-table-wrap .mm-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    border-bottom: 1px solid var(--mm-rule-1);
    padding: var(--mm-space-3) 0;
  }
  .mm-home-table-wrap .mm-table tbody td {
    display: block;
    border-bottom: 0;
    padding: 2px var(--mm-space-3);
  }
  .mm-home-table-wrap .mm-table tbody td:nth-child(3) { grid-column: 1 / -1; color: var(--mm-text-3); }
}

@media (min-width: 769px) and (max-width: 1040px) {
  .mm-home-nameplate,
  .mm-home-lede,
  .mm-home-content-grid { grid-template-columns: 1fr; }
  .mm-home-nameplate { min-height: 180px; }
  .mm-home-nameplate__stats { justify-content: start; text-align: left; }
  .mm-home-lede__evidence { border-left: 0; border-top: 1px solid var(--mm-rule-2); }
  .mm-home-feature-grid { grid-template-columns: 1fr; }
  .mm-home-feature-card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--mm-rule-1);
  }
  .mm-home-feature-card:last-child { border-bottom: 0; }
  .mm-home-aside { position: static; }
  .mm-home-hero { grid-template-columns: 1fr; }
  .mm-home-daily { border-right: 0; }
  .mm-home-kpi-stack { grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--mm-rule-1); }
  .mm-home-kpi { border-bottom: 0; border-right: 1px solid var(--mm-rule-1); }
  .mm-home-kpi:last-child { border-right: 0; }
  .mm-home-hub-grid { grid-template-columns: 1fr; }
  .mm-home-ship-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-home-methods { grid-template-columns: 1fr; }
  .mm-home-method { border-right: 0; border-bottom: 1px solid var(--mm-rule-1); }
  .mm-home-method:last-child { border-bottom: 0; }
  .mm-daily-masthead { grid-template-columns: 1fr; min-height: 190px; }
  .mm-daily-byline { text-align: left; }
  .mm-daily-scoreboard { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .mm-daily-layout { grid-template-columns: 1fr; }
  .mm-daily-archive-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-daily-archive-card:nth-child(2n) { border-right: 0; }
  .mm-analytics-summary { grid-template-columns: 1fr; }
  .mm-analytics-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-analytics-preview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .mm-topbar,
  .mm-main,
  .mm-masthead,
  .mm-masthead__meta,
  .mm-opstrip,
  .mm-analytics-hub-grid,
  .mm-daily-frame,
  .mm-daily-main,
  .mm-daily-layout,
  .mm-daily-lead,
  .mm-daily-rail,
  .mm-card,
  .mm-card__head,
  .mm-card__body {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .mm-topbar,
  .mm-main {
    width: 100%;
    overflow-x: clip;
  }

  .mm-analytics-hub-grid,
  .mm-daily-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .mm-opstrip > *,
  .mm-masthead__meta > * {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
