/* One homepage rhythm. Scoped below the masthead; sports data remains native. */
body.habs-design-2026.habs-front-page #primary {
  --hh-flow-heading: clamp(28px, 2.8vw, 32px);
  --hh-flow-gap: 36px;
  --hh-flow-inset: 20px;
}

/* Each major title uses the same type, red marker and baseline. */
body.habs-design-2026.habs-front-page #primary :is(
  .hh-mini-toolbar :is(h2, h3), .hh-quick-heading > strong,
  .habs-glance-heading h2, .hh-performance-heading h3,
  .hh-recent-moves .hh-intel-heading h3, .hh-editorial__heading h2
) {
  display: block;
  margin: 0;
  padding: 0 0 0 12px;
  border: 0;
  border-left: 3px solid var(--hh-polish-red);
  color: var(--hh-polish-text) !important; /* Existing editorial title is important. */
  font: 700 var(--hh-flow-heading)/1.1 var(--global-heading-font-family, "Barlow Condensed", sans-serif);
  letter-spacing: .015em;
  text-transform: uppercase;
  overflow-wrap: normal;
}
body.habs-design-2026.habs-front-page #primary :is(
  .hh-quick-heading, .habs-glance-heading,
  .hh-performance-heading, .hh-recent-moves .hh-intel-heading,
  .hh-editorial__heading
) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  min-height: 58px;
  margin: 0 0 20px;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 1px solid var(--hh-polish-line);
  background: transparent;
  box-shadow: none;
}
body.habs-design-2026.habs-front-page #primary .hh-quick-heading {
  flex-direction: row;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}
body.habs-design-2026.habs-front-page #primary .habs-glance-heading::after {
  content: none;
}
body.habs-design-2026.habs-front-page #primary :is(.hh-form-eyebrow, .hh-editorial__eyebrow) {
  display: none;
}
body.habs-design-2026.habs-front-page #primary :is(
  .habs-glance-heading .habs-season-pill, .hh-quick-heading > span,
  .hh-recent-moves .hh-intel-heading > a, .hh-editorial__all
) {
  color: var(--hh-polish-muted);
  font-size: 11px;
  font-weight: 600;
}
body.habs-design-2026.habs-front-page #primary .hh-quick-heading > span {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
  text-align: right;
}

/* Common outer rails and predictable breathing room between sections. */
body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard {
  padding-inline: var(--hh-site-gutter);
}
body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
body.habs-design-2026.habs-front-page #primary .hh-snapshot {
  box-sizing: border-box;
  max-width: 1228px;
  margin: var(--hh-flow-gap) auto 0;
  padding: 0 var(--hh-site-gutter) 0;
}
body.habs-design-2026.home.habs-front-page #primary .hh-editorial.hh-editorial--magazine.hh-editorial--arena {
  box-sizing: border-box;
  max-width: 1228px;
  margin: var(--hh-flow-gap) auto !important;
  padding: 0 var(--hh-site-gutter) !important;
}
body.habs-design-2026.habs-front-page #primary .hh-snapshot :is(.hh-snapshot-grid, .hh-team-intel) {
  gap: 24px;
}
body.habs-design-2026.habs-front-page #primary .hh-snapshot .hh-team-intel {
  margin-top: var(--hh-flow-gap);
  padding-top: 0;
  border-top: 0;
}
body.habs-design-2026.habs-front-page #primary .hh-recent-moves {
  padding: 0;
}
body.habs-design-2026.habs-front-page #primary .hh-snapshot .hh-team-tools {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--hh-polish-line);
}

/* The featured matchup keeps its depth, with a quiet finish into Team Form. */
body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-mini-game {
  border-bottom: 1px solid var(--hh-polish-line);
  border-radius: var(--hh-site-radius);
  box-shadow: inset 0 1px rgb(244 246 248 / 5%);
}
body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-mini-toolbar {
  min-height: 44px;
  margin-right: 104px;
  padding-right: 0;
}
body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-mini-form {
  padding-top: var(--hh-flow-gap) !important;
  background: transparent;
}

/* Four native matchup measures share a ruled grid, with full-width disclosures. */
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-layout:not(.is-preseason) .hh-form-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-board > :not(.hh-form-metric),
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-board > .hh-form-metric[open] {
  grid-column: 1 / -1;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-layout:not(.is-preseason) .hh-form-metric > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 12px;
  grid-template-rows: auto auto;
  align-content: start;
  align-items: start;
  gap: 8px 4px;
  min-height: 148px;
  padding: 16px 0;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-metric .hh-form-number {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-number > .hh-form-label {
  grid-column: 1;
  grid-row: 1;
  min-height: 32px;
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
  color: var(--hh-polish-muted);
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-number > strong {
  grid-column: 1;
  grid-row: 2;
  font-size: clamp(30px, 3.2vw, 40px);
  line-height: 1.1;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-reference {
  grid-column: 1;
  grid-row: 3;
  font-size: 10px;
  line-height: 1.4;
}
/* Native is-early confirms the recent and season samples have no comparison.
   Expanded totals and source explanations still contain both samples. */
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-metric.is-early > summary .hh-form-reference {
  display: none;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-metric > summary .hh-form-visual {
  display: none;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-metric > summary .hh-form-direction {
  grid-column: 1;
  grid-row: 2;
  align-items: start;
  align-self: start;
  gap: 2px;
  text-align: left;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-direction :is(span, small) {
  font-size: 10px;
  line-height: 1.4;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-metric > summary .hh-form-chevron {
  grid-column: 2;
  grid-row: 1;
  margin-top: 3px;
}
body.habs-design-2026.habs-front-page #primary .hh-mini-form .hh-form-metric[open] > summary {
  min-height: 0;
}
/* Pregame rates use the existing Open Game Hub entry point. Final/live recaps
   keep their native side panel because they have no data-hh-form container. */
body.habs-design-2026.habs-front-page #primary .hh-compact-top.hh-matchup-focus {
  grid-template-columns: minmax(0, 1fr);
}
body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-expanded-hub > .hh-mini-form[data-hh-form] {
  margin: 0 0 24px;
  padding: 20px !important;
  border: 1px solid var(--hh-polish-line);
  border-radius: var(--hh-site-radius);
  background: var(--hh-polish-panel);
}
body.habs-design-2026.habs-front-page #primary .hh-expanded-hub [data-hh-form] .hh-quick-heading > strong {
  padding-left: 0;
  border-left: 0;
  font-size: 22px;
  text-transform: none;
}

/* Week and standings are sibling panels, rather than competing mastheads. */
body.habs-design-2026.habs-front-page #primary .hh-snapshot .habs-glance-panel {
  padding: var(--hh-flow-inset);
  border: 1px solid var(--hh-polish-line);
  border-radius: var(--hh-site-radius);
  background: var(--hh-polish-panel);
  background-image: none;
  box-shadow: inset 0 1px rgb(244 246 248 / 3%);
}
body.habs-design-2026.habs-front-page #primary .habs-glance-panel .habs-glance-panel-head {
  padding-top: 0;
}
body.habs-design-2026.habs-front-page #primary .hh-week-game {
  border-top-width: 1px;
  background: var(--hh-palette-slate);
  box-shadow: none;
}

/* Habs Form opens like its neighbours; contrast comes from the actual graphics. */
body.habs-design-2026.habs-front-page #primary .hh-team-performance {
  border: 0;
  border-radius: var(--hh-site-radius);
  background: transparent;
  overflow: visible;
}
body.habs-design-2026.habs-front-page #primary .hh-performance-heading {
  padding: 0 0 12px;
  border-bottom: 1px solid var(--hh-polish-line);
}
body.habs-design-2026.habs-front-page #primary .hh-performance-switch {
  border-bottom: 1px solid var(--hh-polish-line);
}
body.habs-design-2026.habs-front-page #primary .hh-performance-switch button {
  color: var(--hh-polish-muted);
  font-weight: 600;
}
body.habs-design-2026.habs-front-page #primary .hh-performance-switch button[aria-pressed="true"] {
  background: var(--hh-polish-panel);
  border-bottom-color: var(--hh-polish-red);
  color: var(--hh-polish-text);
}
body.habs-design-2026.habs-front-page #primary .hh-team-performance :is(
  .hh-performance-context, .hh-performance-control, .hh-form-history,
  .hh-performance-pending, .hh-performance-footer, .hh-performance-goalies
) {
  background: var(--hh-polish-panel);
}
body.habs-design-2026.habs-front-page #primary .hh-performance-goalies {
  border-left: 0;
}

@media (max-width: 850px) {
  body.habs-design-2026.habs-front-page #primary .hh-snapshot .hh-team-intel {
    gap: var(--hh-flow-gap);
  }
}
@media (min-width: 901px) {
  body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-mini-form {
    padding-top: 18px !important;
  }
  body.habs-design-2026.habs-front-page #primary .hh-compact-top.hh-matchup-focus > .hh-mini-game {
    margin-inline: 0;
  }
  body.habs-design-2026.habs-front-page #primary .hh-matchup-focus .hh-mini-game .hh-mini-matchup.habs-game-hero {
    width: 100%;
    max-width: 700px;
    margin-inline: auto;
  }
  body.habs-design-2026.habs-front-page #primary .hh-matchup-focus .hh-mini-game .hh-hub-toggle {
    max-width: 700px;
    margin-inline: auto;
  }
}
@media (max-width: 900px) {
  body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-mini-game {
    margin-inline: calc(-1 * var(--hh-site-gutter));
  }
}
@media (max-width: 700px) {
  body.habs-design-2026.habs-front-page #primary {
    --hh-flow-gap: 32px;
    --hh-flow-inset: 16px;
  }
  body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub :is(.hh-mini-game, .hh-mini-form) {
    padding-inline: var(--hh-site-gutter);
  }
  body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-mini-form {
    padding-inline: 0;
  }
  body.habs-design-2026.habs-front-page #primary .habs-live-data.habs-scoreboard .hh-compact-hub .hh-mini-navigation {
    right: var(--hh-site-gutter);
  }
}
