/* Launch QA continuity overrides. Keep this file last in index.html. */

@media (max-width: 420px) {
  html body .app-shell.app-shell .app-header.app-header {
    grid-template-columns: 42px clamp(108px, 31vw, 124px) minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  html body .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup {
    width: clamp(108px, 31vw, 124px) !important;
  }
}

/* Homepage hero finish: darker brand teal and optically centered search arrow. */
html body[data-step="debate"] #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active > .stage-copy.stage-copy {
  background-color: #175b5d !important;
  background-image: linear-gradient(
    90deg,
    #175b5d 0%,
    #175b5d 40%,
    rgba(23, 91, 93, 0.62) 56%,
    rgba(23, 91, 93, 0.16) 68%,
    rgba(23, 91, 93, 0) 100%
  ) !important;
}

html body[data-step="debate"],
html body[data-step="debate"] .app-shell.app-shell,
html body[data-step="debate"] #app.goat-console.goat-console.goat-console,
html body[data-step="debate"] #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active {
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;
  overflow-y: visible !important;
}

html:has(body[data-step="debate"]) {
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html body[data-step="debate"] {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html body[data-step="debate"] #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active {
  position: relative !important;
  inset: auto !important;
}

html body[data-step="debate"] #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active > .stage-copy.stage-copy::after {
  display: none !important;
  content: none !important;
}

html body[data-step="debate"] #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active .hero-photo.hero-photo {
  background-color: #175b5d !important;
  opacity: 1 !important;
}

html body[data-step="debate"] #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active .hero-photo.hero-photo::before {
  display: none !important;
  content: none !important;
}

html body[data-step="debate"] #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active .hero-photo.hero-photo img {
  filter: none !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console.goat-console .hero-search button[type="submit"],
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active .hero-search.hero-search button[type="submit"] {
  display: grid !important;
  place-items: center !important;
  position: relative !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console.goat-console .hero-search button[type="submit"]::before,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console.goat-console [data-stage="debate"].stage.is-active .hero-search.hero-search button[type="submit"]::before {
  content: "" !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  border-top: 3px solid #ffffff !important;
  border-right: 3px solid #ffffff !important;
  transform: translate(-58%, -50%) rotate(45deg) !important;
  transform-origin: center !important;
}

@media (max-width: 700px) {
  html body[data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-category][data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot,
  html body[data-category][data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot {
    min-height: var(--dv-factor-row-h) !important;
    height: var(--dv-factor-row-h) !important;
    max-height: var(--dv-factor-row-h) !important;
  }

  html body[data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon,
  html body[data-category][data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon {
    box-sizing: border-box !important;
    left: 50% !important;
    right: auto !important;
    top: calc(79% - 20px) !important;
    width: min(136px, calc(100vw - 22px)) !important;
    max-width: min(136px, calc(100vw - 22px)) !important;
    height: 40px !important;
    min-height: 40px !important;
    padding-inline: 7px !important;
    border-radius: 8px !important;
    transform: translateX(-50%) rotate(-4deg) !important;
  }

  html body[data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-wordmark,
  html body[data-category][data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-wordmark {
    gap: 3px !important;
    width: 100% !important;
    justify-content: center !important;
  }

  html body[data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo.pro-brand-logo,
  html body[data-category][data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo.pro-brand-logo {
    flex: 0 1 84px !important;
    width: clamp(74px, 22vw, 84px) !important;
    max-width: calc(100% - 28px) !important;
  }

  html body[data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-word-pro,
  html body[data-category][data-step="factors"] #app.goat-console.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-word-pro {
    flex: 0 0 auto !important;
    font-size: 0.78rem !important;
    color: #b12a33 !important;
  }
}

html body .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 0 8px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(7, 84, 93, 0.2) !important;
  border-radius: 8px !important;
  background: #f5fbfa !important;
  color: #07545d !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

html body .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #07545d !important;
  color: #ffffff !important;
  font: 900 1.35rem/1 Arial, sans-serif !important;
}

html body .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close strong {
  color: #07545d !important;
  font: 900 0.9rem/1 "League Spartan", Inter, system-ui, sans-serif !important;
  letter-spacing: 0 !important;
}

html body .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close:hover,
html body .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close:focus-visible {
  border-color: rgba(7, 84, 93, 0.42) !important;
  background: #e8f6f4 !important;
  outline: 2px solid rgba(7, 84, 93, 0.16) !important;
  outline-offset: 2px !important;
}

html body .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle:focus,
html body .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle:focus-visible {
  border-color: rgba(7, 84, 93, 0.22) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 2px rgba(7, 84, 93, 0.14) !important;
}

html body .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle[aria-expanded="true"]:focus,
html body .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle[aria-expanded="true"]:focus-visible {
  border-color: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Final result density contract: fuller explanation panel, tighter live dials. */
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) {
  align-items: stretch !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) > .winner-copy.winner-copy,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .winner-main.winner-main,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .winner-proof.winner-proof,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-panel.result-summary-panel {
  align-self: stretch !important;
  display: grid !important;
  height: 100% !important;
  min-height: 100% !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy {
  align-content: center !important;
  gap: 14px !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: 0 !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy .kicker {
  display: none !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy h3 {
  font-size: 1.9rem !important;
  line-height: 1 !important;
  margin: 0 !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .winner-description.winner-description {
  font-size: 1.28rem !important;
  line-height: 1.13 !important;
  max-width: none !important;
  -webkit-line-clamp: 7 !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner .result-tuner-grid.result-tuner-grid,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner[data-factor-count] .result-tuner-grid.result-tuner-grid {
  gap: clamp(7px, 0.65vw, 10px) !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-card.result-tune-card,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner[data-factor-count] .result-tune-card.result-tune-card {
  align-content: center !important;
  grid-template-rows: auto auto !important;
  gap: clamp(3px, 0.42vw, 5px) !important;
  min-height: clamp(74px, 5.2vw, 80px) !important;
  height: clamp(74px, 5.2vw, 80px) !important;
  max-height: clamp(74px, 5.2vw, 80px) !important;
  padding: clamp(5px, 0.55vw, 7px) !important;
  overflow: hidden !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-copy.result-tune-copy {
  align-items: center !important;
  display: flex !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-card.result-tune-card strong {
  display: block !important;
  font-size: clamp(0.78rem, 0.78vw, 0.9rem) !important;
  line-height: 1.02 !important;
  margin: 0 !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-control.result-tune-control,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner[data-factor-count] .result-tune-control.result-tune-control {
  grid-template-columns: clamp(28px, 2.4vw, 32px) minmax(0, 1fr) clamp(28px, 2.4vw, 32px) !important;
  gap: clamp(4px, 0.45vw, 6px) !important;
  min-height: clamp(30px, 2.65vw, 32px) !important;
  height: clamp(30px, 2.65vw, 32px) !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-step.result-tune-step,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner[data-factor-count] .result-tune-step.result-tune-step {
  border-radius: 8px !important;
  font-size: clamp(1rem, 1.15vw, 1.18rem) !important;
  line-height: 1 !important;
}

html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-meter.result-tune-meter,
html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner[data-factor-count] .result-tune-meter.result-tune-meter {
  gap: clamp(2px, 0.26vw, 4px) !important;
  padding: 3px !important;
  border-radius: 8px !important;
}

@media (max-width: 719.98px) {
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-panel.result-summary-panel {
    min-height: clamp(132px, 28vw, 172px) !important;
    height: auto !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy {
    align-content: start !important;
    gap: 7px !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy h3 {
    font-size: 1.32rem !important;
    line-height: 1.02 !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .winner-description.winner-description {
    font-size: 0.92rem !important;
    line-height: 1.13 !important;
    -webkit-line-clamp: 4 !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-card.result-tune-card,
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner[data-factor-count] .result-tune-card.result-tune-card {
    min-height: 80px !important;
    height: 80px !important;
    max-height: 80px !important;
    padding: 6px !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tune-control.result-tune-control,
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-tuner.result-tuner[data-factor-count] .result-tune-control.result-tune-control {
    grid-template-columns: 30px minmax(0, 1fr) 30px !important;
    min-height: 32px !important;
    height: 32px !important;
  }
}

@media (min-width: 720px) and (max-width: 1039.98px) {
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy h3 {
    font-size: 2.1rem !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .winner-description.winner-description {
    font-size: 1.4rem !important;
    line-height: 1.1 !important;
  }
}

@media (min-width: 1040px) {
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy {
    gap: 18px !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .result-summary-copy.result-summary-copy h3 {
    font-size: 2.7rem !important;
    line-height: 0.98 !important;
  }

  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="results"].stage.is-active.stage.is-active.stage.is-active .winner-spotlight.winner-spotlight.winner-spotlight:has(> .result-tuner.result-tuner) .winner-description.winner-description {
    font-size: 1.78rem !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 8 !important;
  }
}

/* Journey rail text-safety contract: never crop step labels or status copy. */
html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey {
  box-sizing: border-box !important;
  min-height: clamp(64px, 7.8dvh, 86px) !important;
  height: auto !important;
  overflow: visible !important;
}

html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey::before,
html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey::after {
  bottom: 7px !important;
  height: 3px !important;
}

html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status,
html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step {
  align-content: center !important;
  box-sizing: border-box !important;
  min-height: clamp(54px, 6.6dvh, 72px) !important;
  height: auto !important;
  padding: clamp(9px, 1dvh, 12px) clamp(9px, 1.2vw, 13px) clamp(16px, 1.8dvh, 20px) !important;
  overflow: visible !important;
}

html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status b,
html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step strong {
  display: block !important;
  max-width: 100% !important;
  min-height: 1.14em !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  line-height: 1.14 !important;
}

html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status em,
html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step span {
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.12 !important;
}

@media (max-width: 620px) {
  html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey {
    min-height: 50px !important;
    overflow: visible !important;
  }

  html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status {
    min-height: 42px !important;
    padding: 8px 10px 12px !important;
    overflow: visible !important;
  }

  html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status b {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  html body[data-step] .app-shell.app-shell #app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status em {
    line-height: 1.12 !important;
    white-space: nowrap !important;
  }
}

/* Factor board clipping-safety contract: compact when possible, scroll instead of masking rows. */
html[data-step="factors"],
html body[data-step="factors"],
html[data-step="factors"] body,
html body[data-category][data-step="factors"] {
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell,
html[data-step="factors"] body .app-shell.app-shell,
html body[data-category][data-step="factors"] .app-shell.app-shell {
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console {
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey {
  margin-bottom: clamp(6px, 0.85dvh, 10px) !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
  gap: clamp(6px, 0.9dvh, 10px) !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  contain: none !important;
  padding-bottom: clamp(14px, 2dvh, 28px) !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy {
  flex: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: clamp(7px, 0.85dvh, 10px) !important;
  padding-bottom: clamp(7px, 0.85dvh, 10px) !important;
  overflow: visible !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin-top: 0 !important;
  margin-bottom: clamp(12px, 1.6dvh, 20px) !important;
  padding-bottom: clamp(10px, 1.3dvh, 18px) !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active .factor-zone.factor-zone,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active .factor-zone.factor-zone {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
  position: static !important;
  grid-row: auto !important;
  align-self: start !important;
  min-height: clamp(46px, 5.8dvh, 58px) !important;
  height: auto !important;
  margin-top: 0 !important;
  z-index: 1 !important;
}

html[data-step="factors"] body .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
  position: static !important;
  grid-row: auto !important;
  align-self: start !important;
  transform: none !important;
}

/* Pro lock continuity: one sash treatment at every selected-lane width. */
html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon {
  box-sizing: border-box !important;
  position: absolute !important;
  left: clamp(-12px, -1.4vw, -4px) !important;
  right: clamp(-12px, -1.4vw, -4px) !important;
  top: calc(78% - clamp(16px, 4vw, 30px)) !important;
  z-index: 6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  min-height: clamp(28px, 6.4vw, 44px) !important;
  height: clamp(28px, 6.4vw, 44px) !important;
  padding: 0 clamp(5px, 1.2vw, 12px) !important;
  border-width: 1px 0 !important;
  border-style: solid !important;
  border-color: rgba(7, 84, 93, 0.2) transparent rgba(7, 84, 93, 0.18) !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.86) 16%, rgba(241, 248, 247, 0.9) 52%, rgba(255, 255, 255, 0.82) 86%, rgba(255, 255, 255, 0.05)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(223, 233, 221, 0.42)) !important;
  box-shadow:
    0 8px 20px rgba(16, 42, 46, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
  color: rgba(7, 84, 93, 0.9) !important;
  pointer-events: none !important;
  text-align: center !important;
  transform: rotate(-6deg) !important;
  transform-origin: center center !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-wordmark,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-wordmark {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(3px, 0.7vw, 8px) !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  color: rgba(7, 84, 93, 0.9) !important;
  font-family: "League Spartan", Inter, system-ui, sans-serif !important;
  font-size: clamp(0.78rem, 2vmin, 1rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) !important;
  white-space: nowrap !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo.pro-brand-logo,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo.pro-brand-logo {
  display: block !important;
  flex: 0 1 clamp(52px, 42%, 94px) !important;
  width: clamp(52px, 42%, 94px) !important;
  max-width: calc(100% - clamp(30px, 25%, 48px)) !important;
  min-width: 0 !important;
  aspect-ratio: 1088 / 453 !important;
  background: none !important;
  filter: saturate(1.04) contrast(1.05) drop-shadow(0 1px 0 rgba(255, 255, 255, 0.74)) !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo-img,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-word-pro,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-word-pro {
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  color: rgb(18, 24, 26) !important;
  font-size: clamp(0.9rem, 4.6vw, 1.45rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  transform: translateY(0.03em) !important;
}

@media (max-width: 700px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon {
    left: -8px !important;
    right: -8px !important;
    min-height: clamp(28px, 8.2vw, 36px) !important;
    height: clamp(28px, 8.2vw, 36px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-wordmark,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-wordmark {
    gap: 3px !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo.pro-brand-logo,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-brand-logo.pro-brand-logo {
    flex-basis: clamp(54px, 48%, 78px) !important;
    width: clamp(54px, 48%, 78px) !important;
    max-width: calc(100% - 34px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-word-pro,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .pro-lock-ribbon.pro-lock-ribbon.pro-lock-ribbon .pro-word-pro {
    font-size: clamp(1rem, 5.1vw, 1.28rem) !important;
  }
}

/* Factor first-pane contract: show complete rows and the forward action on laptop/desktop panes. */
@media (min-width: 760px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey {
    min-height: clamp(56px, 8dvh, 68px) !important;
    margin-bottom: clamp(5px, 0.75dvh, 9px) !important;
    padding-top: clamp(5px, 0.75dvh, 8px) !important;
    padding-bottom: clamp(12px, 1.4dvh, 16px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-status,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step {
    min-height: clamp(42px, 5.8dvh, 52px) !important;
    padding-top: clamp(6px, 0.75dvh, 9px) !important;
    padding-bottom: clamp(11px, 1.35dvh, 15px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
    --dv-factor-row-h: clamp(48px, 6.4dvh, 56px) !important;
    --dv-factor-row-gap: 4px !important;
    gap: clamp(5px, 0.72dvh, 8px) !important;
    padding-bottom: clamp(8px, 1.1dvh, 14px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy {
    padding-top: clamp(6px, 0.7dvh, 8px) !important;
    padding-bottom: clamp(6px, 0.7dvh, 8px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy h1,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy h1 {
    font-size: clamp(1.5rem, 2.1vw, 2rem) !important;
    line-height: 1.02 !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board {
    margin-bottom: clamp(6px, 0.85dvh, 10px) !important;
    padding-bottom: clamp(6px, 0.85dvh, 10px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack {
    grid-auto-rows: var(--dv-factor-row-h) !important;
    gap: var(--dv-factor-row-gap) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-token[data-source="selected"].factor-token.factor-token.factor-token,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-token[data-source="selected"].factor-token.factor-token.factor-token,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot {
    min-height: var(--dv-factor-row-h) !important;
    height: var(--dv-factor-row-h) !important;
    max-height: var(--dv-factor-row-h) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
    min-height: clamp(42px, 5.8dvh, 50px) !important;
  }
}

/* Factor action clearance: keep forward controls clear of browser/device chrome. */
html[data-step="factors"],
html body[data-step="factors"],
html[data-step="factors"] body,
html body[data-category][data-step="factors"] {
  scroll-padding-bottom: max(72px, calc(28px + env(safe-area-inset-bottom))) !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
html[data-step="factors"] body .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
  margin-bottom: max(34px, calc(18px + env(safe-area-inset-bottom))) !important;
}

@media (max-width: 700px), (max-height: 820px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
  html[data-step="factors"] body .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
    margin-bottom: max(72px, calc(34px + env(safe-area-inset-bottom))) !important;
  }
}

@media (min-width: 760px) and (max-height: 820px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
    --dv-factor-row-h: clamp(44px, 5.7dvh, 48px) !important;
    --dv-factor-row-gap: 4px !important;
    gap: clamp(4px, 0.6dvh, 6px) !important;
    padding-bottom: clamp(4px, 0.7dvh, 8px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy {
    padding-top: clamp(4px, 0.55dvh, 6px) !important;
    padding-bottom: clamp(4px, 0.55dvh, 6px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board {
    margin-bottom: clamp(4px, 0.6dvh, 6px) !important;
    padding-bottom: clamp(4px, 0.6dvh, 6px) !important;
  }
}

@media (max-width: 700px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
    --dv-factor-row-h: clamp(52px, 15vw, 54px) !important;
    --dv-factor-row-gap: 3px !important;
    gap: clamp(4px, 0.65dvh, 6px) !important;
    padding-bottom: clamp(5px, 0.8dvh, 8px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board {
    margin-bottom: clamp(4px, 0.65dvh, 7px) !important;
    padding-bottom: clamp(4px, 0.65dvh, 7px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack {
    grid-auto-rows: var(--dv-factor-row-h) !important;
    gap: var(--dv-factor-row-gap) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-token[data-source="selected"].factor-token.factor-token.factor-token,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-token[data-source="selected"].factor-token.factor-token.factor-token,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot {
    min-height: var(--dv-factor-row-h) !important;
    height: var(--dv-factor-row-h) !important;
    max-height: var(--dv-factor-row-h) !important;
  }

  html body[data-step="factors"] .factor-token .factor-copy h3,
  html body[data-category][data-step="factors"] .factor-token .factor-copy h3 {
    font-size: clamp(0.78rem, 3.7vw, 0.9rem) !important;
    line-height: 0.98 !important;
    overflow: visible !important;
  }
}

/* Mobile factor stepper density: remove the empty banner well and keep progress visible. */
@media (max-width: 700px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console > .journey-rail.decision-journey {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(34px, auto) 7px !important;
    column-gap: 4px !important;
    row-gap: 0 !important;
    min-height: 56px !important;
    height: auto !important;
    padding: 4px 5px 10px !important;
    margin-bottom: clamp(4px, 0.75dvh, 6px) !important;
    align-items: start !important;
    justify-items: stretch !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    justify-content: start !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::before,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::after,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console > .journey-rail.decision-journey::before,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console > .journey-rail.decision-journey::after {
    bottom: 4px !important;
    height: 5px !important;
  }
}

/* Mobile journey continuity: the same full-width banner on Rank and Result. */
@media (max-width: 700px) {
  html body[data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey,
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey,
  html body[data-category][data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey,
  html body[data-category][data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(34px, auto) 7px !important;
    column-gap: 4px !important;
    row-gap: 0 !important;
    min-height: 56px !important;
    height: auto !important;
    padding: 4px 5px 10px !important;
    margin-bottom: clamp(4px, 0.75dvh, 6px) !important;
    align-items: start !important;
    justify-items: stretch !important;
  }

  html body[data-step="rank"] .journey-rail.decision-journey > .journey-status,
  html body[data-step="results"] .journey-rail.decision-journey > .journey-status,
  html body[data-category][data-step="rank"] .journey-rail.decision-journey > .journey-status,
  html body[data-category][data-step="results"] .journey-rail.decision-journey > .journey-status {
    display: none !important;
  }

  html body[data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step,
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step,
  html body[data-category][data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step,
  html body[data-category][data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console > .journey-rail.decision-journey > .journey-step.journey-step {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    justify-content: start !important;
  }

  html body[data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::before,
  html body[data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::after,
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::before,
  html body[data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::after,
  html body[data-category][data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::before,
  html body[data-category][data-step="rank"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::after,
  html body[data-category][data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::before,
  html body[data-category][data-step="results"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > .journey-rail.decision-journey::after {
    bottom: 4px !important;
    height: 5px !important;
  }
}

/* Information panel contract: modal overlay with internal scrolling. */
html body .info-panel.info-panel {
  box-sizing: border-box !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: none !important;
  z-index: 10000 !important;
  display: grid !important;
  place-items: center !important;
  align-items: center !important;
  padding: clamp(14px, 2.2vmin, 28px) !important;
  border-radius: 0 !important;
  background: rgba(16, 42, 46, 0.5) !important;
  backdrop-filter: blur(10px) saturate(0.92) !important;
  -webkit-backdrop-filter: blur(10px) saturate(0.92) !important;
  overflow: hidden !important;
}

html body .info-panel.info-panel[hidden] {
  display: none !important;
}

html body .info-panel.info-panel .info-card.info-card,
html body .info-panel.info-panel[data-active-info-view="about"] .info-card.info-card {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  width: min(980px, calc(100vw - 36px)) !important;
  max-width: calc(100vw - 36px) !important;
  max-height: calc(100dvh - 36px) !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
}

html body .info-panel.info-panel .info-card-top {
  box-sizing: border-box !important;
  min-height: 72px !important;
  padding: clamp(12px, 1.9vmin, 20px) clamp(14px, 2.2vmin, 24px) !important;
}

html body .info-panel.info-panel .info-card-body {
  box-sizing: border-box !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0 clamp(14px, 2.2vmin, 24px) clamp(16px, 2.4vmin, 28px) !important;
}

html body .info-panel.info-panel .info-view[hidden] {
  display: none !important;
}

html body .info-panel.info-panel .info-view {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html body .info-panel.info-panel .methodology-view h2 {
  max-width: none !important;
  font-size: clamp(2.1rem, 5.2vmin, 3.5rem) !important;
  line-height: 0.98 !important;
}

html body .info-panel.info-panel .methodology-view .info-copy {
  max-width: 62ch !important;
  font-size: clamp(0.95rem, 1.7vmin, 1.08rem) !important;
  line-height: 1.34 !important;
}

html body .info-panel.info-panel .methodology-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(8px, 1.35vmin, 12px) !important;
  margin-bottom: clamp(10px, 1.6vmin, 14px) !important;
}

html body .info-panel.info-panel .methodology-grid article {
  min-height: 0 !important;
  padding: clamp(10px, 1.65vmin, 14px) !important;
}

html body .info-panel.info-panel .methodology-grid p {
  font-size: clamp(0.82rem, 1.5vmin, 0.92rem) !important;
  line-height: 1.28 !important;
}

html body .info-panel.info-panel .methodology-note {
  min-height: 0 !important;
  padding: clamp(11px, 1.7vmin, 15px) !important;
}

@media (max-width: 760px), (max-height: 720px) {
  html body .info-panel.info-panel {
    padding: 10px !important;
    align-items: center !important;
  }

  html body .info-panel.info-panel .info-card.info-card,
  html body .info-panel.info-panel[data-active-info-view="about"] .info-card.info-card {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }

  html body .info-panel.info-panel .info-card-top {
    min-height: 50px !important;
    padding: 8px 10px !important;
  }

  html body .info-panel.info-panel .info-brand-lockup {
    display: none !important;
  }

  html body .info-panel.info-panel .methodology-view h2 {
    font-size: clamp(1.9rem, 9.2vw, 2.75rem) !important;
  }

  html body .info-panel.info-panel .methodology-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Info modal last word: the backdrop owns the viewport; the card owns readable width. */
html body.is-info-panel-open .app-shell.app-shell #infoPanel.info-panel.info-panel,
html body .app-shell.app-shell #infoPanel.info-panel.info-panel {
  box-sizing: border-box !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: none !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(14px, 2.2vmin, 28px) !important;
  overflow: hidden !important;
}

html body.is-info-panel-open .app-shell.app-shell #infoPanel.info-panel.info-panel > .info-card.info-card,
html body .app-shell.app-shell #infoPanel.info-panel.info-panel > .info-card.info-card {
  width: min(1040px, calc(100vw - 36px)) !important;
  max-width: calc(100vw - 36px) !important;
  min-width: 0 !important;
}

@media (max-width: 760px), (max-height: 720px) {
  html body.is-info-panel-open .app-shell.app-shell #infoPanel.info-panel.info-panel,
  html body .app-shell.app-shell #infoPanel.info-panel.info-panel {
    padding: 10px !important;
  }

  html body.is-info-panel-open .app-shell.app-shell #infoPanel.info-panel.info-panel > .info-card.info-card,
  html body .app-shell.app-shell #infoPanel.info-panel.info-panel > .info-card.info-card {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }
}

/* Product menu fit: the decision-tool drawer should fit the screen, not scroll. */
html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu {
  top: var(--dv-menu-top, 70px) !important;
  right: auto !important;
  bottom: max(6px, env(safe-area-inset-bottom)) !important;
  left: max(6px, env(safe-area-inset-left)) !important;
  width: min(430px, calc(100vw - 12px - env(safe-area-inset-left))) !important;
  max-width: min(430px, calc(100vw - 12px - env(safe-area-inset-left))) !important;
  height: max-content !important;
  block-size: max-content !important;
  max-height: calc(100dvh - var(--dv-menu-top, 70px) - 6px - env(safe-area-inset-bottom)) !important;
  max-block-size: calc(100dvh - var(--dv-menu-top, 70px) - 6px - env(safe-area-inset-bottom)) !important;
  gap: clamp(3px, 0.78dvh, 5px) !important;
  padding: clamp(7px, 1.2dvh, 9px) !important;
  overflow: hidden !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu::-webkit-scrollbar,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu::-webkit-scrollbar,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu::-webkit-scrollbar {
  display: none !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu a,
html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu button,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu a,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu button,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu a,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu button {
  grid-template-columns: clamp(34px, 5.2dvh, 40px) minmax(0, 1fr) !important;
  gap: clamp(6px, 1.2vw, 8px) !important;
  min-height: clamp(41px, 5.8dvh, 48px) !important;
  height: clamp(41px, 5.8dvh, 48px) !important;
  padding: 4px 8px !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-close {
  grid-template-columns: clamp(30px, 4.8dvh, 36px) minmax(0, max-content) !important;
  min-height: clamp(34px, 5.2dvh, 40px) !important;
  height: clamp(34px, 5.2dvh, 40px) !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-section,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-section,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-section {
  margin: 0 !important;
  min-height: 0 !important;
  font-size: clamp(0.58rem, 1.45dvh, 0.68rem) !important;
  line-height: 1 !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image-mark,
html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image-mark,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image-mark,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image {
  width: clamp(34px, 5.2dvh, 40px) !important;
  min-width: clamp(34px, 5.2dvh, 40px) !important;
  height: clamp(34px, 5.2dvh, 40px) !important;
  min-height: clamp(34px, 5.2dvh, 40px) !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy {
  gap: 0 !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy strong,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy strong,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy strong {
  overflow: hidden !important;
  font-size: clamp(0.78rem, 1.95dvh, 0.92rem) !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy em,
html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy em,
html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-copy em {
  display: block !important;
  overflow: hidden !important;
  font-size: clamp(0.56rem, 1.48dvh, 0.68rem) !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  -webkit-line-clamp: 1 !important;
}

@media (max-height: 680px), (max-width: 340px) {
  html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu,
  html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu,
  html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu {
    gap: 3px !important;
    padding: 6px !important;
  }

  html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu a,
  html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu button,
  html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu a,
  html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu button,
  html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu a,
  html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu button {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 3px 7px !important;
  }

  html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image-mark,
  html body[data-step="factors"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image,
  html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image-mark,
  html body[data-step="rank"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image,
  html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image-mark,
  html body[data-step="results"] .app-shell.app-shell .app-header.app-header #portalMenu.portal-menu .portal-menu-image {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
}

/* Product screen lock: choose/rank are the tool itself, not scroll pages. */
html:has(body[data-step="factors"]),
html:has(body[data-step="rank"]) {
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

html body[data-step="factors"],
html body[data-step="rank"] {
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell,
html body[data-step="rank"] .app-shell.app-shell {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app.goat-console,
html body[data-step="rank"] .app-shell.app-shell #app.goat-console {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app.goat-console > [data-stage="factors"].stage.is-active,
html body[data-step="rank"] .app-shell.app-shell #app.goat-console > [data-stage="rank"].stage.is-active {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app.goat-console > [data-stage="factors"].stage.is-active {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

html body[data-step="rank"] .app-shell.app-shell #app.goat-console > [data-stage="rank"].stage.is-active {
  grid-template-rows: minmax(0, 1fr) auto !important;
}

html body[data-step="factors"] .app-shell.app-shell #app.goat-console > [data-stage="factors"].stage.is-active > .factor-board.factor-board,
html body[data-step="rank"] .app-shell.app-shell #app.goat-console > [data-stage="rank"].stage.is-active > .rank-stack.rank-stack {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app.goat-console > [data-stage="factors"].stage.is-active > .stage-actions.stage-actions,
html body[data-step="rank"] .app-shell.app-shell #app.goat-console > [data-stage="rank"].stage.is-active > .stage-actions.stage-actions {
  margin-bottom: 0 !important;
}

/* Tiny phone factor contract: keep actions visible and scroll the middle board. */
@media (max-width: 700px) and (max-height: 700px), (max-width: 340px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console {
    min-height: 0 !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
    --dv-factor-row-h: clamp(43px, 14vw, 46px) !important;
    --dv-factor-row-gap: 3px !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    height: calc(100dvh - 145px) !important;
    max-height: calc(100dvh - 145px) !important;
    min-height: 0 !important;
    gap: 5px !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy {
    min-height: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy h1,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-copy.stage-copy h1 {
    font-size: clamp(1.2rem, 7.1vw, 1.55rem) !important;
    line-height: 1 !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 4px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
    min-height: 44px !important;
    height: 44px !important;
    margin-bottom: max(8px, env(safe-area-inset-bottom)) !important;
  }

  html body[data-step="factors"] .factor-token .factor-copy h3,
  html body[data-category][data-step="factors"] .factor-token .factor-copy h3 {
    font-size: clamp(0.68rem, 3.9vw, 0.82rem) !important;
    line-height: 0.96 !important;
  }
}

/* Drag affordance: cards feel liftable, controls still feel clickable. */
html body [data-stage="factors"].stage.is-active .factor-token,
html body [data-stage="rank"].stage.is-active .order-card,
html body[data-step="factors"] [data-stage="factors"] .factor-token,
html body[data-step="rank"] [data-stage="rank"] .order-card {
  cursor: grab !important;
}

html body [data-stage="factors"].stage.is-active .factor-token:active,
html body [data-stage="factors"].stage.is-active .factor-token.is-dragging,
html body [data-stage="rank"].stage.is-active .order-card:active,
html body [data-stage="rank"].stage.is-active .order-card.is-dragging,
html body [data-stage="rank"].stage.is-active .order-card.is-pointer-placeholder,
html body.is-factor-dragging [data-stage="factors"] .factor-token.is-dragging,
html body.is-factor-dragging [data-stage="factors"] .drag-ghost,
html body [data-stage="rank"] .order-drag-ghost {
  cursor: grabbing !important;
}

html body [data-stage="factors"].stage.is-active .factor-token button,
html body [data-stage="factors"].stage.is-active .factor-token .mini-action,
html body [data-stage="factors"].stage.is-active .factor-token [role="button"],
html body [data-stage="rank"].stage.is-active .order-card button,
html body [data-stage="rank"].stage.is-active .order-card [role="button"] {
  cursor: pointer !important;
}

html body[data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token,
html body[data-category][data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token,
html body[data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card,
html body[data-category][data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card {
  cursor: grab !important;
}

html body[data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token:active,
html body[data-category][data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token:active,
html body[data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token.is-dragging,
html body[data-category][data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token.is-dragging,
html body[data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card:active,
html body[data-category][data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card:active,
html body[data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card.is-dragging,
html body[data-category][data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card.is-dragging,
html body[data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card.is-pointer-placeholder,
html body[data-category][data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card.is-pointer-placeholder {
  cursor: grabbing !important;
}

html body[data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token .mini-action,
html body[data-category][data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token .mini-action,
html body[data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token button,
html body[data-category][data-step] #app#app.goat-console [data-stage="factors"].stage.is-active .factor-token.factor-token button,
html body[data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card button,
html body[data-category][data-step] #app#app.goat-console [data-stage="rank"].stage.is-active .order-card.order-card button {
  cursor: pointer !important;
}

/* Mobile header spacing: keep the brand and global actions in separate lanes. */
@media (max-width: 520px) {
  html body .app-shell.app-shell .app-header.app-header,
  html body[data-step] .app-shell.app-shell .app-header.app-header {
    grid-template-columns: clamp(34px, 10vw, 42px) minmax(92px, clamp(96px, 29vw, 116px)) minmax(148px, 1fr) !important;
    column-gap: clamp(6px, 2.1vw, 10px) !important;
    padding-inline: clamp(8px, 2.5vw, 12px) !important;
  }

  html body .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup,
  html body[data-step] .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup {
    width: min(100%, clamp(96px, 29vw, 116px)) !important;
    max-width: min(100%, clamp(96px, 29vw, 116px)) !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup .brand-logo-img,
  html body[data-step] .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup .brand-logo-img {
    width: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  html body .app-shell.app-shell .app-header.app-header .header-actions.header-actions,
  html body[data-step] .app-shell.app-shell .app-header.app-header .header-actions.header-actions {
    justify-self: end !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav {
    display: flex !important;
    justify-content: flex-end !important;
    gap: clamp(4px, 1.5vw, 7px) !important;
    width: auto !important;
    max-width: 100% !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button {
    min-height: clamp(36px, 10.6vw, 42px) !important;
    height: clamp(36px, 10.6vw, 42px) !important;
    border-radius: 8px !important;
    line-height: 1.02 !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"],
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"] {
    flex: 0 1 clamp(56px, 17vw, 72px) !important;
    width: clamp(56px, 17vw, 72px) !important;
    min-width: clamp(56px, 17vw, 72px) !important;
    max-width: 72px !important;
    padding-inline: 5px !important;
    font-size: clamp(0.62rem, 2.85vw, 0.72rem) !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .pro-button.pro-button,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .pro-button.pro-button,
  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .sound-toggle.sound-toggle,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .sound-toggle.sound-toggle {
    flex: 0 0 clamp(36px, 10.6vw, 42px) !important;
    width: clamp(36px, 10.6vw, 42px) !important;
    min-width: clamp(36px, 10.6vw, 42px) !important;
    max-width: 42px !important;
    padding-inline: 0 !important;
  }
}

@media (max-width: 370px) {
  html body .app-shell.app-shell .app-header.app-header,
  html body[data-step] .app-shell.app-shell .app-header.app-header {
    grid-template-columns: clamp(32px, 9.8vw, 38px) minmax(84px, clamp(84px, 27vw, 96px)) minmax(136px, 1fr) !important;
    column-gap: clamp(5px, 1.8vw, 7px) !important;
    padding-inline: clamp(7px, 2.4vw, 10px) !important;
  }

  html body .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle,
  html body[data-step] .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle {
    width: clamp(34px, 10vw, 38px) !important;
    min-width: clamp(34px, 10vw, 38px) !important;
    height: clamp(36px, 10.8vw, 40px) !important;
  }

  html body .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup,
  html body[data-step] .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup {
    width: min(100%, clamp(84px, 27vw, 96px)) !important;
    max-width: min(100%, clamp(84px, 27vw, 96px)) !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav {
    gap: clamp(3px, 1.2vw, 5px) !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button {
    min-height: clamp(34px, 10.8vw, 38px) !important;
    height: clamp(34px, 10.8vw, 38px) !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"],
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"] {
    flex-basis: clamp(52px, 16vw, 58px) !important;
    width: clamp(52px, 16vw, 58px) !important;
    min-width: clamp(52px, 16vw, 58px) !important;
    max-width: 58px !important;
    font-size: clamp(0.58rem, 2.8vw, 0.66rem) !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .pro-button.pro-button,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .pro-button.pro-button,
  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .sound-toggle.sound-toggle,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .sound-toggle.sound-toggle {
    flex-basis: clamp(34px, 10.8vw, 38px) !important;
    width: clamp(34px, 10.8vw, 38px) !important;
    min-width: clamp(34px, 10.8vw, 38px) !important;
    max-width: 38px !important;
  }
}

@media (max-width: 330px) {
  html body .app-shell.app-shell .app-header.app-header,
  html body[data-step] .app-shell.app-shell .app-header.app-header {
    grid-template-columns: 32px minmax(76px, 82px) minmax(112px, 1fr) !important;
    column-gap: 5px !important;
    padding-inline: 7px !important;
  }

  html body .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle,
  html body[data-step] .app-shell.app-shell .app-header.app-header #menuToggle.menu-toggle {
    width: 32px !important;
    min-width: 32px !important;
    height: 36px !important;
  }

  html body .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup,
  html body[data-step] .app-shell.app-shell .app-header.app-header .brand-lockup.brand-lockup {
    width: 78px !important;
    max-width: 78px !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav {
    gap: 3px !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button {
    min-height: 36px !important;
    height: 36px !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"],
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"] {
    flex-basis: 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    padding-inline: 0 !important;
    font-size: 0 !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"]::before,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > button[data-info-panel="process"]::before {
    content: "How" !important;
    display: inline-block !important;
    font: 900 0.58rem/1 "League Spartan", Inter, system-ui, sans-serif !important;
    letter-spacing: 0 !important;
  }

  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .pro-button.pro-button,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .pro-button.pro-button,
  html body .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .sound-toggle.sound-toggle,
  html body[data-step] .app-shell.app-shell .app-header.app-header .site-nav.site-nav > .sound-toggle.sound-toggle {
    flex-basis: 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
    padding-bottom: 3px !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
    margin-bottom: max(5px, env(safe-area-inset-bottom)) !important;
  }
}

/* Mobile factor board fill: let cells spend spare vertical room evenly. */
@media (max-width: 700px) {
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console {
    align-content: stretch !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
    --dv-factor-row-min-h: clamp(43px, 14vw, 46px) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    padding-bottom: clamp(4px, 0.8dvh, 8px) !important;
    overflow: hidden !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board {
    align-self: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    margin-bottom: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board > .factor-zone.factor-zone,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board > .factor-zone.factor-zone {
    min-height: 0 !important;
    height: 100% !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack {
    align-content: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    grid-template-rows: repeat(8, minmax(var(--dv-factor-row-min-h), 1fr)) !important;
    grid-auto-rows: minmax(var(--dv-factor-row-min-h), 1fr) !important;
    gap: var(--dv-factor-row-gap, 3px) !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #availableFactors.factor-rack.factor-rack.factor-rack > .factor-token[data-source="available"].factor-token.factor-token.factor-token,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-token[data-source="selected"].factor-token.factor-token.factor-token,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-token[data-source="selected"].factor-token.factor-token.factor-token,
  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active #selectedFactors.selected-rack.factor-rack.factor-rack.factor-rack > .factor-drop-slot.factor-drop-slot.factor-drop-slot {
    min-height: var(--dv-factor-row-min-h) !important;
    height: 100% !important;
    max-height: none !important;
  }

  html body[data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
  html body[data-category][data-step="factors"] .app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
    align-self: end !important;
    min-height: clamp(42px, 5.8dvh, 50px) !important;
    margin-bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }
}

/* Final product viewport lock: choose and rank must live inside one pane. */
html:has(body[data-step="factors"]),
html:has(body[data-step="rank"]) {
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

html body[data-step="factors"],
html body[data-step="rank"] {
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell,
html body[data-step="rank"] .app-shell.app-shell {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app.goat-console.goat-console,
html body[data-step="rank"] .app-shell.app-shell #app#app.goat-console.goat-console {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-content: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="factors"].stage.is-active,
html body[data-step="rank"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="rank"].stage.is-active {
  display: grid !important;
  align-content: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="factors"].stage.is-active {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

html body[data-step="rank"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="rank"].stage.is-active {
  grid-template-rows: minmax(0, 1fr) auto !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="factors"].stage.is-active > .factor-board.factor-board,
html body[data-step="rank"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="rank"].stage.is-active > .rank-stack.rank-stack {
  min-height: 0 !important;
  max-height: 100% !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

html body[data-step="factors"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="factors"].stage.is-active > .stage-actions.stage-actions,
html body[data-step="rank"] .app-shell.app-shell #app#app.goat-console.goat-console > [data-stage="rank"].stage.is-active > .stage-actions.stage-actions {
  margin-bottom: 0 !important;
}

/* Wide product override: match the existing high-specificity product rules. */
html body.rank-game-layout.rank-game-layout[data-step="factors"] .app-shell.app-shell.app-shell.app-shell,
html body.rank-game-layout.rank-game-layout[data-step="rank"] .app-shell.app-shell.app-shell.app-shell {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}

html body.rank-game-layout.rank-game-layout[data-step="factors"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console,
html body.rank-game-layout.rank-game-layout[data-step="rank"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-content: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html body.rank-game-layout.rank-game-layout[data-step="factors"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active,
html body.rank-game-layout.rank-game-layout[data-step="rank"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="rank"].stage.is-active.stage.is-active.stage.is-active {
  display: grid !important;
  align-content: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

html body.rank-game-layout.rank-game-layout[data-step="factors"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

html body.rank-game-layout.rank-game-layout[data-step="rank"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="rank"].stage.is-active.stage.is-active.stage.is-active {
  grid-template-rows: minmax(0, 1fr) auto !important;
}

html body.rank-game-layout.rank-game-layout[data-step="factors"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .factor-board.factor-board.factor-board.factor-board,
html body.rank-game-layout.rank-game-layout[data-step="rank"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="rank"].stage.is-active.stage.is-active.stage.is-active > .rank-stack.rank-stack.rank-stack.rank-stack {
  min-height: 0 !important;
  max-height: 100% !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

html body.rank-game-layout.rank-game-layout[data-step="factors"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="factors"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions,
html body.rank-game-layout.rank-game-layout[data-step="rank"] .app-shell.app-shell.app-shell.app-shell #app#app#app#app#app#app#app#app.goat-console.goat-console.goat-console.goat-console > [data-stage="rank"].stage.is-active.stage.is-active.stage.is-active > .stage-actions.stage-actions {
  margin-bottom: 0 !important;
}

/* Info panel close guard: late modal rules must not revive a hidden overlay. */
html body .app-shell.app-shell #infoPanel.info-panel.info-panel[hidden],
html body:not(.is-info-panel-open) .app-shell.app-shell #infoPanel.info-panel.info-panel {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body.is-info-panel-open .app-shell.app-shell #infoPanel.info-panel.info-panel:not([hidden]) {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Homepage directory contract: ten categories must read as 5x2 on desktop and 2x5 below desktop. */
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-shell {
  width: min(1240px, calc(100vw - 28px)) !important;
  max-width: min(1240px, calc(100vw - 28px)) !important;
  padding: 24px !important;
  overflow: visible !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 16px !important;
  align-items: stretch !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile:nth-child(-n + 4),
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile:nth-child(n + 5),
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile[data-family] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-items: start !important;
  align-content: start !important;
  justify-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  min-height: 214px !important;
  padding: 18px 12px 16px !important;
  overflow: hidden !important;
  text-align: center !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-art,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-copy {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-illo,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-illo img,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-illo svg,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-illo-image,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-illo-svg {
  width: 72px !important;
  height: 72px !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-copy {
  display: grid !important;
  justify-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 0 !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy strong,
html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy span {
  min-width: 0 !important;
  max-width: 18ch !important;
  margin: 0 auto !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  letter-spacing: 0 !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy strong {
  font-size: 0.98rem !important;
  line-height: 1.1 !important;
}

html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy span {
  display: block !important;
  font-size: 0.76rem !important;
  line-height: 1.26 !important;
  overflow: visible !important;
  -webkit-box-orient: unset !important;
  -webkit-line-clamp: unset !important;
}

@media (max-width: 980px) {
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-shell {
    width: min(760px, calc(100vw - 20px)) !important;
    max-width: min(760px, calc(100vw - 20px)) !important;
    padding: 12px !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile,
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile:nth-child(-n + 4),
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile:nth-child(n + 5),
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile[data-family] {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    justify-items: center !important;
    min-height: 178px !important;
    padding: 14px 9px 12px !important;
    gap: 8px !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-art {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    justify-self: center !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-copy {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    justify-items: center !important;
    text-align: center !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-illo,
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-illo img,
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-illo svg,
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-illo-image,
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-illo-svg {
    width: 58px !important;
    height: 58px !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy strong {
    max-width: 13ch !important;
    font-size: 0.88rem !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy span {
    max-width: 16ch !important;
    font-size: 0.72rem !important;
    line-height: 1.24 !important;
  }
}

@media (max-width: 360px) {
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-shell {
    width: min(100vw - 14px, 346px) !important;
    max-width: min(100vw - 14px, 346px) !important;
    padding: 10px !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile,
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile:nth-child(-n + 4),
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile:nth-child(n + 5),
  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile[data-family] {
    min-height: 184px !important;
    padding: 12px 7px 10px !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy strong {
    max-width: 12ch !important;
    font-size: 0.82rem !important;
  }

  html body[data-step="debate"] .app-shell.app-shell #app.goat-console.goat-console #categoryCards .launch-tile .launch-tile-copy span {
    max-width: 15ch !important;
    font-size: 0.68rem !important;
    line-height: 1.22 !important;
  }
}
