/* Source-mapped QA repairs for auth, SATs, learner hubs and adult reports. */

body.portal-public--auth .mp-quiet-public--auth {
  padding-top: clamp(8px, 2vw, 18px);
}

/* Coordinate and axis tasks keep small visual marks while exposing touch-sized hit areas. */
.visual-svg--grid .visual-hit--grid,
.visual-svg--grid .visual-hit--grid:hover,
.visual-svg--grid .visual-hit--grid.is-selected,
.visual-svg--number-line .visual-hit--number-line,
.visual-svg--number-line .visual-hit--number-line:hover,
.visual-svg--number-line .visual-hit--number-line.is-selected {
  fill: rgba(255, 255, 255, 0.01);
  stroke: transparent;
  pointer-events: all;
}

body.portal-student .student-sats-custom-wizard :is(.student-sats-custom-choice-button, .student-sats-custom-goal-card, .student-sats-custom-status-card, .student-sats-custom-marks-card, .student-sats-custom-topic-card, .student-sats-custom-year-card, .student-sats-custom-paper-card, .student-sats-custom-count-card):not(.is-active):not([disabled]):not([aria-disabled="true"]) {
  border-color: var(--learner-border, rgba(76, 91, 130, 0.18));
  background: rgba(255, 255, 255, 0.76);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.62);
}

body.portal-student .student-sats-custom-wizard :is(.student-sats-custom-choice-button, .student-sats-custom-goal-card, .student-sats-custom-status-card, .student-sats-custom-marks-card, .student-sats-custom-topic-card, .student-sats-custom-year-card, .student-sats-custom-paper-card, .student-sats-custom-count-card):not(.is-active):not([disabled]):not([aria-disabled="true"]):focus-visible {
  border-color: var(--learner-border, rgba(76, 91, 130, 0.18));
  box-shadow: 0 0 0 3px var(--focus-ring, rgba(93, 127, 244, 0.22));
}

.learner-avatar:not(.is-loaded):not(.is-fallback):not(.learner-avatar--initial) .learner-avatar__img {
  visibility: hidden;
}

.learner-avatar:not(.is-loaded):not(.is-fallback):not(.learner-avatar--initial) .learner-avatar__fallback {
  display: grid;
}

body.portal-student .student-live-layout--v18-8-54 .student-segmented__button {
  min-height: 44px;
}

@media (max-width: 900px) {
  body.portal-student .student-segmented__button {
    min-height: 44px;
  }
}

body.portal-public--auth .mp-quiet-home-grid--auth-first {
  align-items: start;
}

body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-embedded-signin {
  align-self: start;
}

.mp-profile-menu__mobile-utilities {
  display: none;
}

/* Competition runner: one shared desktop/tablet rail for prompt, typed keypad, and choice tiles. */
@media (min-width: 761px) {
  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint[data-session-kind="competition"][data-dock-variant="competition-sprint"] {
    --runner-competition-stage-width: min(1280px, calc(100vw - 32px));
    --runner-competition-layout-gap: clamp(12px, 1.45dvh, 20px);
    --runner-competition-tile-gap: clamp(10px, 1.25dvh, 18px);
    --runner-competition-card-radius: 22px;
    --runner-competition-input-height: clamp(58px, 7.2dvh, 78px);
    --runner-competition-tile-font: clamp(1.45rem, 3.1dvh, 2.45rem);
    width: var(--runner-competition-stage-width);
    max-width: var(--runner-competition-stage-width);
    padding-inline: 0;
    gap: var(--runner-competition-layout-gap);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint[data-dock-variant="competition-sprint"] .runner-stage-v2 {
    width: 100%;
    max-width: var(--runner-competition-stage-width);
    margin-inline: auto;
    grid-template-rows: clamp(190px, 24dvh, 280px) minmax(0, 1fr);
    gap: var(--runner-competition-layout-gap);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint[data-dock-variant="competition-sprint"] :is(.runner-competition-prompt-panel, .runner-competition-answer-area) {
    width: 100%;
    max-width: none;
    justify-self: stretch;
    border-radius: var(--runner-competition-card-radius);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-prompt-panel {
    padding: clamp(14px, 1.45dvh, 20px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-prompt-panel .runner-prompt__main {
    max-width: min(100%, 60rem);
    max-inline-size: min(100%, 60rem);
    font-size: clamp(1.7rem, 4dvh, 3.2rem);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-prompt-panel.runner-question-panel--prompt-equation-only .runner-prompt__main {
    font-size: clamp(3rem, 10dvh, 5.5rem);
    line-height: 1;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area {
    padding: clamp(12px, 1.45dvh, 18px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area .runner-answer-stage-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area .runner-competition-answer-stack {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area--typed {
    grid-template-rows: auto minmax(0, 1fr);
    gap: var(--runner-competition-tile-gap);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area--choice .runner-answer-stage-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area--choice .runner-competition-answer-stack {
    height: 100%;
    display: grid;
    min-height: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-answer-field input,
  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint [data-answer-input] {
    min-height: var(--runner-competition-input-height);
    border-radius: calc(var(--runner-competition-card-radius) - 6px);
    font-size: clamp(1.5rem, 4.5dvh, 2.55rem);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-numpad-wrap {
    align-items: stretch;
    justify-items: stretch;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-numpad {
    width: 100%;
    max-width: none;
    gap: var(--runner-competition-tile-gap);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-numpad__row,
  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .options-grid[data-option-grid] {
    gap: var(--runner-competition-tile-gap);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-key,
  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area--choice :is(.option-chip, .option-chip--tile, .option-chip--single) {
    border-radius: calc(var(--runner-competition-card-radius) - 4px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-key {
    min-height: clamp(76px, 10.5dvh, 132px);
    font-size: var(--runner-competition-tile-font);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-key--enter {
    font-size: clamp(1.1rem, 2.8dvh, 1.8rem);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area--choice .options-grid[data-option-grid] {
    width: 100%;
    max-width: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2.runner-shell-v2--competition-sprint .runner-competition-answer-area--choice .option-chip > span {
    font-size: var(--runner-competition-tile-font);
  }
}

.report-callout__tabs,
.student-hub-context-panel__actions,
.student-hub-context-panel__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.student-hub-context-panel {
  align-content: start;
}

.student-hub-context-panel__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-hub-context-panel__facts span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--student-theme-primary, #5a78ff) 18%, rgba(31, 47, 82, .1));
  background: color-mix(in srgb, #fff 82%, var(--student-theme-secondary, #dce6ff) 18%);
  color: var(--text-body);
  font-size: .78rem;
  font-weight: 720;
  line-height: 1.22;
}

.student-hub-context-panel__facts strong {
  color: var(--text-strong);
  font-size: .98rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

html[data-appearance=dark] body.portal-student .student-hub-context-panel__facts span {
  border-color: color-mix(in srgb, var(--student-theme-primary, #5a78ff) 28%, rgba(188, 198, 230, .18) 72%);
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--bg-panel-2, #253055) 78%, var(--student-theme-primary, #5a78ff) 22%),
      color-mix(in srgb, var(--bg-panel, #202744) 88%, #000000 12%)
    );
  color: var(--text-body, #c6cee8);
  box-shadow: inset 0 1px rgba(255, 255, 255, .08);
}

html[data-appearance=dark] body.portal-student .student-hub-context-panel__facts strong {
  color: var(--text-strong, #f4f6ff);
}

.student-sats-year-group {
  border-radius: 18px;
}

.student-sats-year-group__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}

.student-sats-year-group__header::-webkit-details-marker {
  display: none;
}

.student-sats-year-group__summary-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.student-sats-year-group__summary-copy h3 {
  margin: 0;
}

.student-sats-year-group__summary-copy span,
.student-sats-paper-row__resources summary {
  color: var(--text-body);
  font-size: .84rem;
}

.student-sats-year-group__chevron {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand-100) 54%, var(--bg-panel) 46%);
  color: var(--text-strong);
  font-weight: 900;
  transition: transform .16s ease;
}

.student-sats-year-group[open] .student-sats-year-group__chevron {
  transform: rotate(180deg);
}

.student-sats-paper-row__resources {
  min-width: 0;
}

.student-sats-paper-row__resources summary {
  min-height: 44px;
  list-style: none;
}

.student-sats-paper-row__resources summary::-webkit-details-marker {
  display: none;
}

.student-sats-paper-row__resources .student-sats-resources {
  margin-top: 8px;
}

.student-sats-paper-row__resources .student-sats-resource-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

body.portal-student .student-sats-page > .student-section-hero--action-first {
  padding: clamp(16px, 2.2vw, 24px);
}

body.portal-student .student-sats-page .student-section-hero__header {
  gap: 12px;
}

body.portal-student .student-sats-page .student-section-hero__title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

body.portal-student .student-sats-page .student-section-hero__copy--action-first h1 {
  font-size: clamp(2rem, 4vw, 2.75rem);
  line-height: 1.05;
}

body.portal-student .student-sats-page .student-section-hero__copy--action-first p {
  margin-top: 4px;
  max-width: 34rem;
}

.student-official-licence-trigger--icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--brand-700);
}

.student-official-licence-trigger--icon span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid color-mix(in srgb, var(--brand-600) 28%, var(--line-default) 72%);
  border-radius: 999px;
  background: color-mix(in srgb, var(--brand-100) 62%, var(--bg-panel) 38%);
  box-shadow: inset 0 1px rgba(255, 255, 255, .72);
  font-size: .94rem;
  font-weight: 900;
  line-height: 1;
}

.student-official-licence-trigger--icon:hover span,
.student-official-licence-trigger--icon:focus-visible span {
  border-color: color-mix(in srgb, var(--brand-600) 54%, var(--line-default) 46%);
  background: color-mix(in srgb, var(--brand-100) 76%, var(--bg-panel) 24%);
}

.report-callout--compact-start {
  gap: 12px;
}

.report-callout--compact-start .report-callout__header {
  align-items: start;
}

.report-callout--compact-start .report-callout__header p {
  margin: 4px 0 0;
  max-width: 66ch;
  color: var(--text-body);
}

.report-callout--compact-start .report-callout__kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 768px) and (max-width: 1366px) {
  body.portal-student .student-game-hub-stack--with-context {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .78fr);
    align-items: stretch;
  }

  body.portal-student .student-game-hub-stack--with-context .student-game-hub-card:first-child {
    grid-row: span 2;
  }
}

@media (min-width: 1180px) {
body.portal-student .student-game-hub-stack--with-context {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .72fr);
  align-items: stretch;
}
}

/* Shared learner page flow: compact pages must use the shell page column, not legacy nav columns. */
body.portal-student:not(.runner-fullscreen-mode) .student-shell:has(> .student-side-nav) > .student-shell__body--compact-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-items: stretch;
  gap: var(--compact-gap, 12px);
}

body.portal-student :is(
  .student-home-page--game-dashboard,
  .student-sats-full-papers-page,
  .student-competition-page--v18-8-57
) {
  min-width: 0;
  width: 100%;
  max-width: none;
}

body.portal-student .student-sats-full-papers-page,
body.portal-student .student-sats-full-papers-page > .student-sats-full-papers-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}

body.portal-student .student-sats-full-papers-page :is(h1, h2, h3, .student-sats-section-header) {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}

body.portal-student .student-sats-full-papers-page h1 {
  width: auto;
  max-width: min(100%, 18ch);
}

@media (max-width: 900px), (min-width: 761px) and (max-width: 1100px) and (orientation: portrait) {
  body.portal-student .student-home-page--game-dashboard,
  body.portal-student:not(.runner-fullscreen-mode) .student-shell:has(> .student-side-nav) > .student-shell__body--compact-page.student-home-page--game-dashboard {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) and (max-height: 820px) {
  body.portal-student .student-home-page--game-dashboard {
    --student-game-stage-gap: 9px;
  }

  body.portal-student .student-home-game-stage,
  body.portal-student .student-home-page--game-dashboard {
    gap: var(--student-game-stage-gap, 9px);
  }

  body.portal-student .student-home-game-console {
    min-height: 0;
    gap: 9px;
    padding: 12px;
    border-radius: 20px;
  }

  body.portal-student .student-home-game-console .student-home-kid-hero__copy {
    gap: 7px;
  }

  body.portal-student .student-home-game-console .student-home-kid-hero__copy h1 {
    font-size: clamp(1.7rem, 7vw, 2.1rem);
    line-height: 1.04;
  }

  body.portal-student .student-home-game-console .student-home-kid-hero__copy p {
    font-size: 0.86rem;
    line-height: 1.32;
  }

  body.portal-student .student-home-route-map {
    gap: 7px;
    padding: 8px;
    border-radius: 16px;
  }

  body.portal-student .student-home-route-map__head {
    font-size: 0.66rem;
  }

  body.portal-student .student-home-route-map__rail {
    left: 22px;
    right: 22px;
    top: 13px;
  }

  body.portal-student .student-home-route-node {
    gap: 4px;
  }

  body.portal-student .student-home-route-node__dot {
    width: 30px;
    height: 30px;
    border-radius: 11px;
  }

  body.portal-student .student-home-route-node__copy strong {
    font-size: 0.66rem;
    line-height: 1.08;
  }

  body.portal-student .student-home-kid-mission {
    gap: 8px;
    padding: 10px;
    border-radius: 16px;
  }

  body.portal-student .student-home-kid-mission__copy {
    gap: 5px;
  }

  body.portal-student .student-home-kid-mission__copy h2 {
    font-size: clamp(1.22rem, 5vw, 1.46rem);
    line-height: 1.06;
  }

  body.portal-student .student-home-kid-mission__copy p {
    font-size: 0.82rem;
    line-height: 1.25;
  }

  body.portal-student .student-home-kid-mission__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  body.portal-student .student-home-kid-mission__fact {
    gap: 2px;
    padding: 7px 8px;
    border-radius: 13px;
  }

  body.portal-student .student-home-kid-mission__fact span {
    font-size: 0.58rem;
    line-height: 1.08;
  }

  body.portal-student .student-home-kid-mission__fact strong {
    font-size: 0.76rem;
    line-height: 1.12;
  }

  body.portal-student .student-home-kid-mission__cta {
    min-height: 42px;
  }
}

body.portal-student .student-competition-page--v18-8-57 .student-practice-start-card {
  grid-template-columns: 58px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
}

body.portal-student .student-competition-page--v18-8-57 .student-practice-start-card :is(
  .student-practice-start-card__copy,
  .student-practice-start-card__title,
  .student-practice-start-card__detail
),
body.portal-student .student-games-page .student-practice-start-card :is(
  .student-practice-start-card__copy,
  .student-practice-start-card__title,
  .student-practice-start-card__detail
) {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.portal-student .student-games-page .student-practice-start-card--with-media {
  grid-template-columns: 48px minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
}

body.portal-student .student-games-page .student-practice-start-card--with-media .student-practice-start-card__visual {
  width: 48px;
  height: 48px;
}

body.portal-student .student-games-page .student-practice-start-card .student-practice-start-card__title {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (min-width: 1180px) and (max-width: 1440px) {
  body.portal-student .student-games-page .student-practice-start-grid--games {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  }

  body.portal-student .student-games-page .student-practice-start-card--hub-game .student-practice-start-card__title {
    font-size: clamp(0.98rem, 1.08vw, 1.08rem);
    line-height: 1.12;
    white-space: nowrap;
  }
}

body.portal-student .student-competition-page--v18-8-57 .student-practice-start-card::after,
body.portal-student .student-games-page .student-practice-start-card::after {
  right: 8px;
  bottom: 8px;
}

@media (max-width: 760px) {
  body.portal-student .student-competition-page--v18-8-57 .student-practice-start-card {
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
  }
}

@media (min-width: 960px) and (max-width: 1366px) and (orientation: landscape) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) {
    --runner-shell-max-width: min(100%, calc(100vw - 32px));
    --runner-answer-dock-width: clamp(500px, 36vw, 560px);
    gap: 12px;
    padding-inline: 12px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-stage-v2 {
    grid-template-columns: minmax(0, 1fr) minmax(460px, var(--runner-answer-dock-width));
    gap: 14px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-panel-v2 {
    max-height: min(76dvh, 780px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-command-button-v2 {
    padding-inline: 10px;
    font-size: clamp(.88rem, 1.45vw, 1rem);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-command-button-v2 span {
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media (min-width: 761px) and (max-width: 1100px) and (orientation: portrait) {
  body.portal-student .student-shell--runner-shell {
    display: grid;
    grid-template-rows: var(--header-height, 58px) minmax(0, 1fr);
    min-height: 100dvh;
    height: 100dvh;
    max-height: 100dvh;
    padding-block: 0;
    overflow: clip;
  }

  body.portal-student .student-shell--runner-shell > .student-shell__body--runner {
    min-height: 0;
    height: calc(100dvh - var(--header-height, 58px));
    max-height: calc(100dvh - var(--header-height, 58px));
    padding: 2px 0 0;
    overflow: clip;
  }

  body.portal-student .student-shell--runner-shell .student-page-content--focus-shell,
  body.portal-student .student-shell--runner-shell .student-focus-shell__body--runner,
  body.portal-student .student-shell--runner-shell .student-focus-shell__runner,
  body.portal-student .student-shell--runner-shell .student-page-content--runner {
    min-height: 0;
    height: 100%;
    max-height: 100%;
    padding: 0;
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) {
    --runner-shell-max-width: min(100%, calc(100vw - 28px));
    --runner-answer-dock-width: 100%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    gap: 8px;
    margin-block-start: 0;
    padding: 0 10px 8px;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-header-v2 {
    min-height: 0;
    padding: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-status-v2 {
    min-height: 44px;
    padding: 6px 8px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-stage-v2 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(260px, .42fr) minmax(0, .58fr);
    gap: 8px;
    min-height: 0;
    height: 100%;
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2 {
    min-height: 0;
    height: 100%;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2 .runner-prompt__main {
    display: grid;
    min-height: 56px;
    place-items: center;
    font-size: clamp(2.2rem, 4.2vw, 3rem);
    line-height: 1.08;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--prompt-equation-only .runner-prompt__main {
    font-size: clamp(3.35rem, 8.2vw, 5.35rem);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-panel-v2 {
    max-height: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-stage-v2 {
    grid-template-rows: auto minmax(0, 1fr);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-question-card-v2 {
    align-self: start;
    height: auto;
    min-height: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-visual-panel-v2 {
    min-height: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-body-v2 {
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 {
    gap: 8px;
    padding: 10px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard-wrap {
    gap: 8px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard {
    grid-template-rows: repeat(4, minmax(58px, auto));
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard-row {
    gap: 8px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard-row .btn {
    min-height: 58px;
    font-size: clamp(1.1rem, 2.6vw, 1.45rem);
  }
}

@media (max-width: 639px) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2 .runner-prompt__main {
    display: grid;
    place-items: center;
    max-width: min(100%, 18ch);
    margin-inline: auto;
    font-size: clamp(1.875rem, 8vw, 2.25rem);
    line-height: 1.08;
    text-align: center;
    text-wrap: balance;
  }
}

@media (max-width: 760px) and (orientation: portrait) {
  body.portal-student {
    --header-height: 52px;
  }

  body.portal-student .student-shell--runner-shell {
    display: grid;
    grid-template-rows: var(--header-height, 52px) minmax(0, 1fr);
    width: min(100%, calc(100vw - 20px));
    min-height: 100dvh;
    height: 100dvh;
    max-height: 100dvh;
    padding-block: 0;
    overflow: clip;
  }

  body.portal-student .student-shell--runner-shell > .mp-topbar,
  body.portal-student .student-shell--runner-shell > .mp-topbar .mp-topbar__inner {
    min-height: var(--header-height, 52px);
    max-height: var(--header-height, 52px);
  }

  body.portal-student .student-shell--runner-shell > .mp-topbar .mp-topbar__inner {
    padding: 4px 10px;
    grid-template-rows: minmax(44px, 44px);
  }

  body.portal-student .student-shell--runner-shell,
  body.portal-student .student-shell__body--runner,
  body.portal-student .student-page-content--runner {
    min-height: 0;
    height: 100%;
    max-height: 100%;
    padding-bottom: 0;
    overflow: clip;
  }

  body.portal-student .student-shell--runner-shell .student-page-content--focus-shell,
  body.portal-student .student-shell--runner-shell .student-focus-shell__body--runner,
  body.portal-student .student-shell--runner-shell .student-focus-shell__runner {
    min-height: 0;
    height: 100%;
    max-height: 100%;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    align-content: stretch;
    overflow: clip;
  }

  body.portal-student .student-shell--runner-shell .student-page-content--focus-shell {
    padding: 0;
  }

  body.portal-student .student-shell--runner-shell > .student-shell__body--runner {
    height: calc(100dvh - var(--header-height, 52px));
    max-height: calc(100dvh - var(--header-height, 52px));
    padding: 2px 0 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) {
    --runner-shell-max-width: 100%;
    --runner-answer-dock-width: 100%;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    gap: 4px;
    margin-block-start: 0;
    padding: 0 0 calc(4px + var(--safe-bottom, 0px));
    grid-template-rows: auto minmax(0, 1fr);
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-header-v2 {
    min-height: 0;
    padding: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-status-v2 {
    min-height: 40px;
    padding: 4px 8px;
    gap: 6px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-stage-v2 {
    min-height: 0;
    height: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(76px, 0.18fr) minmax(0, 0.82fr);
    gap: 6px;
    align-items: stretch;
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) {
    --runner-coordinate-board-size: clamp(222px, 64vw, 286px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-stage-v2 {
    grid-template-rows: minmax(calc(var(--runner-coordinate-board-size) + 48px), 0.54fr) minmax(0, 0.46fr);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) {
    --runner-official-image-panel-size: clamp(190px, 34dvh, 300px);
    --runner-visual-max-h: var(--runner-official-image-panel-size);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-stage-v2 {
    grid-template-rows: auto minmax(0, 1fr);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) :is(.runner-question-card-v2, .runner-answer-panel-v2) {
    min-height: 0;
    height: 100%;
    max-height: none;
    padding: 7px 9px;
    border-radius: 18px;
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-response-zone-v2 {
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) :is(.runner-question-body-v2, .runner-question-stage-v2, .runner-answer-body-v2) {
    min-height: 0;
    gap: 6px;
    overflow: clip;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) :is(.runner-question-card-v2, .runner-question-body-v2, .runner-question-stage-v2, .runner-visual-panel-v2) {
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-question-stage-v2 {
    display: grid;
    grid-template-rows: auto minmax(var(--runner-coordinate-board-size), auto);
    align-content: start;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-visual-panel-v2 {
    min-height: var(--runner-coordinate-board-size);
    display: grid;
    place-items: center;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .visual-card--grid {
    width: min(100%, var(--runner-coordinate-board-size));
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .visual-svg--grid {
    width: 100%;
    height: 100%;
    min-height: var(--runner-coordinate-board-size);
    max-height: none;
    aspect-ratio: 1 / 1;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) :is(.runner-question-card-v2, .runner-question-body-v2, .runner-question-stage-v2, .runner-visual-panel-v2) {
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-question-card-v2 {
    align-self: start;
    height: auto;
    min-height: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .runner-question-stage-v2 {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .runner-visual-panel-v2 {
    min-height: 0;
    display: grid;
    place-items: center;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .visual-card--image-overlay {
    width: 100%;
    max-height: none;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay {
    width: 100%;
    max-height: none;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__image {
    max-width: 100%;
    max-height: var(--runner-official-image-panel-size);
    object-fit: contain;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__input {
    border-color: color-mix(in srgb, var(--brand-600, #5d7ff4) 72%, #ffffff 28%);
    background: rgba(255, 255, 255, 0.84);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image :is(.image-overlay__target, .image-overlay__hotspot) {
    border-color: transparent;
    background: transparent;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot {
    overflow: visible;
    touch-action: manipulation;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot--circle {
    min-width: 0;
    min-height: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice) {
    min-width: 0;
    min-height: 0;
    overflow: visible;
    touch-action: manipulation;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: max(100%, clamp(44px, 9vw, 60px));
    height: max(100%, clamp(44px, 9vw, 60px));
    transform: translate(-50%, -50%);
    border-radius: inherit;
    background: transparent;
    pointer-events: auto;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice)::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: max(100%, clamp(44px, 9vw, 60px));
    height: max(100%, clamp(44px, 9vw, 60px));
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: transparent;
    pointer-events: auto;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot:is(:hover, :focus-visible, .is-selected) {
    outline-color: transparent;
    box-shadow: none;
    background: transparent;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice):is(:hover, :focus-visible) .image-overlay__target-core::before {
    border-color: color-mix(in srgb, var(--brand-600, #5d7ff4) 56%, transparent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-600, #5d7ff4) 10%, transparent);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice).is-selected .image-overlay__target-core::before {
    inset: -8%;
    border-color: color-mix(in srgb, var(--brand-600, #5d7ff4) 84%, #1d4ed8 16%);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-600, #5d7ff4) 12%, transparent);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot.is-selected::after {
    content: "";
    position: absolute;
    inset: -4px -5px;
    border: 2px solid color-mix(in srgb, var(--brand-600, #5d7ff4) 88%, #1d4ed8 12%);
    border-radius: inherit;
    background: transparent;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-600, #5d7ff4) 20%, transparent);
    pointer-events: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle-choice .image-overlay__target-core,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle-choice .image-overlay__target-core::before {
    background: transparent;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__match-node::before {
    pointer-events: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) :is(.runner-answer-body-v2, .runner-answer-tools-v2) {
    min-height: 0;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2 {
    grid-template-rows: minmax(0, 1fr);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-panel-v2 {
    grid-template-rows: 40px minmax(0, 1fr) auto;
    gap: 0;
    align-self: stretch;
    max-block-size: 100%;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-dock-head-v2 {
    min-height: 40px;
    padding: 5px 9px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-dock-head-v2 {
    min-height: 36px;
    padding-block: 4px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-dock-title-v2 {
    font-size: 0.9rem;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2 .runner-prompt__main {
    min-height: 0;
    font-size: clamp(1.18rem, 4.8dvh, 1.72rem);
    line-height: 1.04;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--prompt-equation-only .runner-prompt__main {
    font-size: clamp(2.1rem, 10dvh, 3.2rem);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 {
    gap: 4px;
    padding: 4px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-body-v2 {
    grid-template-rows: auto minmax(0, 1fr);
    gap: 4px;
    padding: 4px 8px;
    overflow: clip;
    scrollbar-gutter: auto;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-body-v2 {
    grid-template-rows: auto minmax(0, max-content);
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-panel-v2 [data-clear-visual-answer] {
    display: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-field {
    gap: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-field__label {
    display: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-field__control {
    margin-top: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-field input,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) [data-answer-input] {
    min-height: 44px;
    padding: 6px 10px;
    font-size: clamp(1rem, 3.6dvh, 1.32rem);
    line-height: 1.08;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 :is(.runner-keyboard, .runner-keyboard-wrap) {
    gap: 4px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard {
    grid-template-rows: repeat(4, minmax(44px, 1fr));
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard-row {
    gap: 4px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-answer-tools-v2 .runner-keyboard-row .btn,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-command-button-v2 {
    min-height: 44px;
    padding: 6px 8px;
    font-size: clamp(.78rem, 2.7dvh, .88rem);
    line-height: 1.1;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-commandbar-wrap-v2 {
    padding: 4px 7px calc(4px + var(--safe-bottom, 0px));
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-commandbar-v2 {
    gap: 6px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-command-button-v2 {
    gap: 4px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-command-icon-v2 {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-command-button-v2 span {
    min-width: 0;
    white-space: nowrap;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot {
    overflow: visible;
    touch-action: manipulation;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot--circle,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice) {
    min-width: 0;
    min-height: 0;
    overflow: visible;
    touch-action: manipulation;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot::before,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice)::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: max(100%, clamp(44px, 9vw, 60px));
    height: max(100%, clamp(44px, 9vw, 60px));
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: transparent;
    pointer-events: auto;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot:is(:hover, :focus-visible, .is-selected) {
    outline-color: transparent;
    box-shadow: none;
    background: transparent;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice):is(:hover, :focus-visible) .image-overlay__target-core::before {
    border-color: color-mix(in srgb, var(--brand-600, #5d7ff4) 56%, transparent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-600, #5d7ff4) 10%, transparent);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__target--circle:not(.image-overlay__target--circle-choice).is-selected .image-overlay__target-core::before {
    inset: -8%;
    border-color: color-mix(in srgb, var(--brand-600, #5d7ff4) 84%, #1d4ed8 16%);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-600, #5d7ff4) 12%, transparent);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__hotspot.is-selected::after {
    content: "";
    position: absolute;
    inset: -4px -5px;
    border: 2px solid color-mix(in srgb, var(--brand-600, #5d7ff4) 88%, #1d4ed8 12%);
    border-radius: inherit;
    background: transparent;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-600, #5d7ff4) 20%, transparent);
    pointer-events: none;
  }
}

@media (max-width: 760px) and (max-height: 700px) {
  body.portal-student {
    --header-height: 48px;
  }

  body.portal-student .student-shell--runner-shell > .mp-topbar .mp-topbar__inner {
    padding: 2px 8px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-status-v2 {
    min-height: 36px;
    padding: 2px 7px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) {
    --runner-coordinate-board-size: clamp(198px, 54vw, 224px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-stage-v2 {
    grid-template-rows: minmax(calc(var(--runner-coordinate-board-size) + 38px), auto) minmax(210px, 1fr);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-question-card-v2 {
    padding: 6px 8px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-question-card-v2 .runner-prompt__main {
    font-size: clamp(1.42rem, 4.1dvh, 1.58rem);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-answer-panel-v2 {
    min-height: 210px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) :is(.visual-answer-shell__helper, .visual-answer-shell__summary) {
    display: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-panel-v2 {
    min-height: 0;
    grid-template-rows: 36px minmax(0, 1fr) auto;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) {
    --runner-official-image-panel-size: clamp(154px, 24dvh, 178px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-stage-v2 {
    grid-template-rows: auto minmax(374px, 1fr);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-panel-v2 {
    min-height: 374px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-question-card-v2.runner-question-panel--official-sats-image .runner-visual-panel-v2 {
    min-height: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-dock-head-v2 {
    min-height: 36px;
    padding-block: 4px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-body-v2 {
    grid-template-rows: auto minmax(0, max-content);
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-panel-v2 [data-clear-visual-answer] {
    display: none;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-answer-tools-v2 {
    max-height: none;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) :is(.runner-keyboard, .runner-keyboard-wrap) {
    min-height: 0;
    max-height: 100%;
    overflow: visible;
  }
}

@media (min-width: 640px) and (max-width: 1100px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2 .runner-prompt__main {
    display: grid;
    place-items: center;
    max-width: min(100%, 18ch);
    min-height: 104px;
    margin-inline: auto;
    font-size: clamp(3.25rem, 6vw, 4rem);
    line-height: 1.04;
    text-align: center;
    text-wrap: balance;
  }
}

@media (min-width: 640px) and (max-width: 760px) and (max-height: 820px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) {
    --runner-coordinate-board-size: clamp(240px, 33dvh, 264px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-stage-v2 {
    grid-template-rows: minmax(calc(var(--runner-coordinate-board-size) + 74px), 0.52fr) minmax(244px, 0.48fr);
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-question-card-v2 {
    min-height: 0;
    padding: 7px 9px;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-question-card-v2 .runner-prompt__main {
    min-height: 54px;
    font-size: clamp(2rem, 4.8vw, 2.45rem);
    line-height: 1.04;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-answer-panel-v2 {
    min-height: 244px;
  }
}

@media (max-width: 760px) {
  body.portal-public--auth .mp-quiet-home-grid--auth-first {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-embedded-signin {
    order: -1;
    width: 100%;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-hero {
    gap: 8px;
    padding-block: 0;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-hero h1 {
    font-size: clamp(1.3rem, 6vw, 1.8rem);
    line-height: 1.08;
    max-width: 18ch;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-subline,
  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-actions,
  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-chip-row {
    display: none;
  }

  body.portal-public--auth .mp-embedded-signin__head {
    margin-bottom: 8px;
  }

  body.portal-public--auth .mp-embedded-signin__tabs {
    position: static;
    top: auto;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__inner {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    grid-template-areas: "left center right";
    column-gap: 8px;
    row-gap: 0;
    align-items: center;
    min-height: 64px;
    max-height: 72px;
    padding-block: max(8px, env(safe-area-inset-top)) 8px;
    padding-inline: 8px;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__left {
    grid-area: left;
    width: 44px;
    min-width: 0;
    justify-self: start;
    justify-content: center;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__left-slot {
    order: 0;
    width: auto;
    min-width: 0;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__brand {
    display: none;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .adult-mobile-menu-toggle__label,
  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__utility-pill > .mp-language-menu,
  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__utility-pill > .mp-tool-group,
  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-command kbd {
    display: none;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__center {
    grid-area: center;
    width: 100%;
    min-width: 0;
    justify-self: stretch;
    justify-content: center;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-command {
    width: min(100%, 320px);
    min-width: 0;
    max-width: 320px;
    height: 44px;
    min-height: 44px;
    padding: 0 12px;
    gap: 8px;
    border-radius: var(--radius-pill);
    justify-content: flex-start;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-command span {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
    font-size: 0.84rem;
    line-height: 1;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__right,
  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__utility-pill {
    grid-area: right;
    width: 44px;
    min-width: 0;
    justify-self: end;
    justify-content: center;
    gap: 0;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-topbar__right {
    align-self: center;
    min-height: 44px;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-profile-menu,
  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-profile-trigger {
    width: 44px;
    min-width: 44px;
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-profile-menu__mobile-utilities {
    display: grid;
    gap: 6px;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--line-default);
  }

  body.portal-adult .mp-topbar--adult.mp-topbar--mobile-compact .mp-profile-menu__language-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body.portal-adult .report-callout--compact-start .report-callout__header,
  body.portal-adult .report-callout--compact-start .report-callout__kpis {
    grid-template-columns: 1fr;
  }

  body.portal-adult .report-callout--compact-start .report-callout__tabs {
    width: 100%;
  }

  body.portal-adult .report-callout--compact-start .report-callout__tabs .btn {
    flex: 1 1 96px;
  }

  body.portal-student .student-hub-context-panel__facts {
    grid-template-columns: 1fr;
  }

  body.portal-student .student-hub-context-panel {
    display: none;
  }

  body.portal-student .student-sats-page > .student-section-hero--action-first {
    padding: 16px;
    border-radius: 20px;
  }

  body.portal-student .student-sats-page .student-section-hero__copy--action-first h1 {
    font-size: clamp(2rem, 8vw, 2.35rem);
  }

  body.portal-student .student-sats-page .student-section-hero__copy--action-first p {
    font-size: .95rem;
    line-height: 1.35;
  }
}

/* QA repair pass: public polish, stable chrome, and runner readability. */
body.portal-public #appRoot {
  min-height: 100svh;
  display: grid;
  grid-template-rows: auto minmax(min-content, 1fr) auto;
  align-content: stretch;
}

body.portal-public .public-shell.mp-quiet-public {
  align-self: stretch;
  min-height: 0;
  height: 100%;
}

.mp-quiet-public .mp-quiet-hero {
  gap: clamp(18px, 3vw, 34px);
}

body.portal-public--home .mp-quiet-public--home {
  min-height: auto;
  padding-block: clamp(24px, 4.2vh, 44px) clamp(14px, 2.2vh, 24px);
}

body.portal-public--home .mp-quiet-home-grid {
  min-height: auto;
}

body.portal-public--home .mp-quiet-hero {
  gap: clamp(15px, 2vw, 24px);
}

body.portal-public--home .mp-quiet-hero h1 {
  font-size: clamp(3.05rem, 5.5vw, 5.1rem);
  line-height: .98;
}

body.portal-public .mp-footer--public-minimal {
  align-self: end;
  min-height: clamp(112px, 11vh, 136px);
  display: grid;
  align-content: start;
  margin-top: 0;
  padding-block: 0 clamp(14px, 2.2vh, 22px);
}

body.portal-public .mp-footer__inner {
  min-height: 64px;
  padding-block: 14px;
  border-top: 1px solid color-mix(in srgb, var(--line-default, #d8e0ea) 72%, transparent);
}

@media (min-width: 900px) and (min-height: 760px) {
  body.portal-public .mp-footer--public-minimal {
    block-size: clamp(128px, 12.7vh, 137px);
    min-block-size: clamp(128px, 12.7vh, 137px);
  }
}

body.portal-public--auth .mp-quiet-public--auth {
  padding-block: clamp(16px, 2.6vh, 30px) clamp(12px, 2vh, 22px);
}

body.portal-public--auth .mp-quiet-home-grid--auth-first {
  min-height: 0;
}

body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-hero {
  gap: clamp(16px, 2vw, 24px);
}

body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-visual {
  height: clamp(48px, 6vh, 64px);
  margin-block: clamp(10px, 1.7vw, 16px);
}

body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-product-cards {
  margin-top: clamp(10px, 2vw, 18px);
}

body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-product-card {
  min-height: 104px;
  padding: 14px;
}

.mp-quiet-public .mp-quiet-hero h1 {
  letter-spacing: 0;
  text-wrap: balance;
}

.mp-quiet-visual {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  gap: clamp(8px, 2vw, 18px);
  width: min(520px, 100%);
  height: clamp(54px, 7vh, 78px);
  margin-block: clamp(14px, 2.4vw, 22px);
}

.mp-quiet-visual::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset-inline: 14px;
  top: 50%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(93, 127, 244, .14), rgba(93, 127, 244, .34), rgba(93, 127, 244, .12));
}

.mp-quiet-visual > * {
  position: relative;
  z-index: 1;
  justify-self: center;
  display: block;
  inline-size: clamp(18px, 2.3vw, 30px);
  block-size: clamp(18px, 2.3vw, 30px);
  border: 1px solid rgba(93, 127, 244, .24);
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(239, 243, 255, .9));
  box-shadow: 0 10px 22px rgba(31, 41, 55, .055);
}

.mp-quiet-visual > i {
  inline-size: clamp(9px, 1.1vw, 13px);
  block-size: clamp(9px, 1.1vw, 13px);
  background: rgba(93, 127, 244, .28);
  box-shadow: none;
}

.mp-quiet-product-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 2vw, 16px);
  margin-top: clamp(14px, 3vw, 26px);
}

.mp-quiet-product-card {
  display: grid;
  gap: 7px;
  align-content: start;
  min-height: 116px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--line-default, #d8e0ea) 84%, transparent);
  border-radius: 18px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 14px 30px rgba(31, 41, 55, .065);
}

.mp-quiet-product-card h2,
.mp-quiet-product-card h3 {
  margin: 0 0 6px;
  font-size: clamp(1.02rem, 1.4vw, 1.18rem);
  line-height: 1.18;
  letter-spacing: 0;
}

.mp-quiet-product-card p {
  margin: 0;
  color: var(--text-muted, #52606d);
  font-size: .95rem;
  line-height: 1.45;
}

html[data-appearance="dark"] body.portal-public .mp-quiet-product-card,
html[data-theme="dark"] body.portal-public .mp-quiet-product-card,
body.theme-dark.portal-public .mp-quiet-product-card {
  border-color: rgba(168, 184, 255, .24);
  background: linear-gradient(180deg, rgba(36, 46, 78, .94), rgba(26, 35, 61, .94));
  box-shadow: 0 18px 38px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .08);
}

html[data-appearance="dark"] body.portal-public .mp-quiet-product-card h3,
html[data-theme="dark"] body.portal-public .mp-quiet-product-card h3,
body.theme-dark.portal-public .mp-quiet-product-card h3 {
  color: #f4f7ff;
}

html[data-appearance="dark"] body.portal-public .mp-quiet-product-card p,
html[data-theme="dark"] body.portal-public .mp-quiet-product-card p,
body.theme-dark.portal-public .mp-quiet-product-card p {
  color: rgba(222, 230, 255, .82);
}

html[data-appearance="dark"] body.portal-public .mp-quiet-chip,
html[data-theme="dark"] body.portal-public .mp-quiet-chip,
body.theme-dark.portal-public .mp-quiet-chip {
  border-color: rgba(168, 184, 255, .24);
  background: rgba(34, 44, 76, .76);
  color: rgba(246, 248, 255, .94);
}

html[data-appearance="dark"] body.portal-public .mp-quiet-visual::before,
html[data-theme="dark"] body.portal-public .mp-quiet-visual::before,
body.theme-dark.portal-public .mp-quiet-visual::before {
  background: linear-gradient(90deg, rgba(126, 156, 255, .16), rgba(154, 178, 255, .46), rgba(126, 156, 255, .14));
}

html[data-appearance="dark"] body.portal-public .mp-quiet-visual > *,
html[data-theme="dark"] body.portal-public .mp-quiet-visual > *,
body.theme-dark.portal-public .mp-quiet-visual > * {
  border-color: rgba(168, 184, 255, .34);
  background: linear-gradient(145deg, rgba(236, 241, 255, .96), rgba(169, 190, 255, .86));
  box-shadow: 0 12px 24px rgba(0, 0, 0, .2);
}

html[data-appearance="dark"] body.portal-public .mp-quiet-visual > i,
html[data-theme="dark"] body.portal-public .mp-quiet-visual > i,
body.theme-dark.portal-public .mp-quiet-visual > i {
  background: rgba(118, 148, 242, .55);
  box-shadow: none;
}

html[data-appearance="dark"] body.portal-public :is(.mp-embedded-signin, .mp-quiet-demo__form),
html[data-theme="dark"] body.portal-public :is(.mp-embedded-signin, .mp-quiet-demo__form),
body.theme-dark.portal-public :is(.mp-embedded-signin, .mp-quiet-demo__form) {
  border-color: rgba(168, 184, 255, .24);
  background: linear-gradient(180deg, rgba(32, 40, 69, .96), rgba(27, 35, 61, .96));
  box-shadow: 0 24px 54px rgba(0, 0, 0, .24), inset 0 1px rgba(255, 255, 255, .07);
}

html[data-appearance="dark"] body.portal-public .mp-embedded-signin__tab,
html[data-theme="dark"] body.portal-public .mp-embedded-signin__tab,
body.theme-dark.portal-public .mp-embedded-signin__tab {
  color: rgba(237, 242, 255, .88);
}

html[data-appearance="dark"] body.portal-public .mp-embedded-signin__tab[aria-selected="true"],
html[data-theme="dark"] body.portal-public .mp-embedded-signin__tab[aria-selected="true"],
body.theme-dark.portal-public .mp-embedded-signin__tab[aria-selected="true"] {
  background: rgba(91, 116, 190, .22);
  color: #fff;
}

html[data-appearance="dark"] body.portal-public .mp-embedded-signin__tab-icon,
html[data-theme="dark"] body.portal-public .mp-embedded-signin__tab-icon,
body.theme-dark.portal-public .mp-embedded-signin__tab-icon {
  border-color: rgba(168, 184, 255, .34);
  background: rgba(230, 236, 255, .94);
}

html[data-appearance="dark"] body.portal-public .mp-embedded-signin :is(input, select, textarea),
html[data-appearance="dark"] body.portal-public .mp-quiet-demo__form :is(input, select, textarea),
html[data-theme="dark"] body.portal-public .mp-embedded-signin :is(input, select, textarea),
html[data-theme="dark"] body.portal-public .mp-quiet-demo__form :is(input, select, textarea),
body.theme-dark.portal-public .mp-embedded-signin :is(input, select, textarea),
body.theme-dark.portal-public .mp-quiet-demo__form :is(input, select, textarea) {
  border-color: rgba(168, 184, 255, .28);
  background: rgba(42, 54, 92, .86);
  color: #f8fbff;
}

html[data-appearance="dark"] body.portal-public .mp-footer__inner,
html[data-theme="dark"] body.portal-public .mp-footer__inner,
body.theme-dark.portal-public .mp-footer__inner {
  border-top-color: rgba(168, 184, 255, .18);
}

.mp-embedded-signin__tabs {
  gap: 8px;
}

.mp-embedded-signin__tab {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  gap: 8px;
  border-radius: 16px;
  font-weight: 700;
  justify-content: center;
  padding-inline: 12px;
  white-space: nowrap;
}

.mp-embedded-signin__tab-icon {
  display: inline-flex;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  inline-size: 24px;
  block-size: 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--brand-600, #5d7ff4) 24%, transparent);
  background: color-mix(in srgb, var(--brand-100, #eef3ff) 82%, white);
  color: transparent;
  font-size: 0;
  line-height: 1;
}

.mp-embedded-signin__tab-icon::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--brand-700, #3f5ea3);
}

.mp-embedded-signin__tab[data-auth-tab="parent"] .mp-embedded-signin__tab-icon::before {
  width: 11px;
  height: 9px;
  border-radius: 3px;
}

.mp-embedded-signin__tab[data-auth-tab="teacher"] .mp-embedded-signin__tab-icon::before {
  width: 12px;
  height: 8px;
  border-radius: 2px;
  box-shadow: inset 0 -3px 0 rgba(255, 255, 255, .52);
}

.mp-embedded-signin__tab[aria-selected="true"] .mp-embedded-signin__tab-icon {
  border-color: color-mix(in srgb, var(--brand-700, #3f5ea3) 54%, transparent);
  background: color-mix(in srgb, var(--brand-600, #5d7ff4) 18%, white);
}

.mp-embedded-signin :is(input, select, textarea, button) {
  min-height: 48px;
}

.mp-embedded-signin button[type="submit"] {
  min-height: 52px;
  border-radius: 16px;
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.mp-embedded-signin button[type="submit"]:is(:hover, :focus-visible) {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(31, 41, 55, .12);
}

.mp-embedded-signin [data-auth-status] {
  min-height: 28px;
  border-radius: 14px;
}

.mp-embedded-signin [data-auth-status].is-loading {
  background: color-mix(in srgb, var(--brand-soft, #eaf3ef) 72%, white);
  color: var(--brand-strong, #216457);
}

.mp-signin-opening-cards {
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.mp-embedded-signin__form.is-opening .mp-signin-opening-cards {
  display: grid;
}

.mp-signin-opening-card {
  display: grid;
  gap: 10px;
  min-height: 86px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--line-default, #d8e0ea) 80%, transparent);
  border-radius: 16px;
  background: rgba(255, 255, 255, .84);
}

.mp-signin-opening-card::before,
.mp-signin-opening-card::after {
  content: "";
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(214, 225, 232, .72), rgba(241, 246, 248, .94), rgba(214, 225, 232, .72));
  background-size: 220% 100%;
  animation: mp-qa-skeleton 1.35s ease-in-out infinite;
}

.mp-signin-opening-card::before {
  width: 54%;
  height: 12px;
}

.mp-signin-opening-card::after {
  width: 82%;
  height: 9px;
}

@keyframes mp-qa-skeleton {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

.mp-topbar,
.mp-topbar__inner {
  contain: none;
  overflow: visible;
}

.mp-topbar {
  z-index: 520;
}

.mp-topbar__inner {
  min-height: 72px;
}

.mp-topbar__brand {
  min-width: clamp(154px, 11vw, 210px);
}

.mp-brand-lockup--topbar {
  display: inline-flex;
  align-items: center;
  width: clamp(150px, 10.4vw, 198px);
  max-width: 100%;
  min-height: 42px;
}

body.portal-public .mp-brand-lockup--topbar {
  width: clamp(176px, 12vw, 224px);
}

@media (min-width: 761px) {
  .mp-topbar__brand {
    min-width: clamp(176px, 12vw, 236px);
  }

  .mp-brand-lockup--topbar {
    width: clamp(176px, 12vw, 224px);
  }
}

.mp-brand-lockup--topbar .mp-brand-lockup__image,
.mp-brand-lockup--footer .mp-brand-lockup__image {
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}

.mp-brand-lockup .mp-brand-lockup__image--dark,
html[data-appearance="light"] .mp-brand-lockup .mp-brand-lockup__image--dark,
html[data-theme="light"] .mp-brand-lockup .mp-brand-lockup__image--dark,
body.theme-light .mp-brand-lockup .mp-brand-lockup__image--dark {
  display: none;
}

.mp-brand-lockup .mp-brand-lockup__image--light,
html[data-appearance="light"] .mp-brand-lockup .mp-brand-lockup__image--light,
html[data-theme="light"] .mp-brand-lockup .mp-brand-lockup__image--light,
body.theme-light .mp-brand-lockup .mp-brand-lockup__image--light {
  display: block;
}

html[data-appearance="dark"] .mp-brand-lockup .mp-brand-lockup__image--light,
html[data-theme="dark"] .mp-brand-lockup .mp-brand-lockup__image--light,
body.theme-dark .mp-brand-lockup .mp-brand-lockup__image--light {
  display: none;
}

html[data-appearance="dark"] .mp-brand-lockup .mp-brand-lockup__image--dark,
html[data-theme="dark"] .mp-brand-lockup .mp-brand-lockup__image--dark,
body.theme-dark .mp-brand-lockup .mp-brand-lockup__image--dark {
  display: block;
}

.mp-brand-lockup--footer {
  display: inline-flex;
  align-items: center;
  width: clamp(138px, 10vw, 180px);
}

.mp-brand-lockup--topbar,
.mp-brand-lockup--footer {
  display: inline-grid;
  align-items: center;
  justify-items: start;
}

body.portal-public .mp-topbar__brand .mp-brand-lockup__image {
  width: auto;
  height: clamp(34px, calc(var(--header-height, 72px) - 32px), 40px);
  max-width: min(210px, 56vw);
  max-height: 40px;
}

.mp-topbar__left,
.mp-topbar__center,
.mp-topbar__right {
  min-width: 0;
}

.mp-topbar__left-slot {
  min-width: clamp(138px, 18vw, 270px);
}

.mp-profile-menu,
.mp-topbar__utility-pill {
  position: relative;
  overflow: visible;
}

.mp-profile-menu__panel {
  z-index: 900;
}

.mp-topbar :is(.metric-value, .mp-topbar__status-value, .runner-header-pill-v2, .mp-runner-topbar-progress-meta, .mp-game-topbar__timer) {
  font-variant-numeric: tabular-nums;
}

#toastLayer,
.toast-layer,
[data-toast-layer] {
  position: fixed;
  inset: auto max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) auto;
  z-index: 600;
  contain: layout paint;
  pointer-events: none;
}

#toastLayer > *,
.toast-layer > *,
[data-toast-layer] > * {
  pointer-events: auto;
}

body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) {
  --runner-coordinate-board-size: clamp(260px, 46vh, 520px);
  --runner-official-image-panel-size: clamp(240px, 42vh, 520px);
}

body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2 .runner-prompt__main {
  font-size: clamp(1.25rem, 2.8vh, 2rem);
  line-height: 1.22;
  max-width: min(100%, 54rem);
  text-wrap: balance;
}

body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-panel--prompt-equation-only .runner-prompt__main,
body.portal-student .student-page-content--runner .runner-shell-v2.runner--prompt-equation .runner-prompt__main,
body.portal-student .student-page-content--runner .runner-shell-v2[data-prompt-variant="equation"] .runner-prompt__main {
  font-size: clamp(2.4rem, 8vh, 4.8rem);
  line-height: 1.05;
}

body.portal-student .student-page-content--runner .runner-shell-v2.runner--prompt-arithmetic .runner-prompt__main,
body.portal-student .student-page-content--runner .runner-shell-v2[data-prompt-variant="arithmetic"] .runner-prompt__main {
  font-size: clamp(2.2rem, 7vh, 4.2rem);
  line-height: 1.06;
}

body.portal-student .student-page-content--runner .runner-shell-v2.runner--prompt-word .runner-prompt__main {
  font-size: clamp(1.25rem, 2.8vh, 2rem);
  max-width: min(100%, 54rem);
}

body.portal-student .student-page-content--runner .runner-shell-v2.runner--coordinates {
  --runner-coordinate-board-size: clamp(260px, 46vh, 520px);
}

body.portal-student .student-page-content--runner .runner-shell-v2.runner--official-image .runner-visual-panel-v2,
body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .runner-visual-panel-v2 {
  min-height: var(--runner-official-image-panel-size);
  max-height: min(58vh, 560px);
}

body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .visual-answer-shell__helper {
  display: none;
}

body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) :is(.runner-keyboard button, .runner-keypad button, .runner-answer-button-v2, .runner-command-button-v2) {
  min-height: 56px;
  border-radius: 16px;
  line-height: 1.16;
}

body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) :is(.visual-svg--grid text, .coordinate-label, .axis-label) {
  font-size: max(13px, .84rem);
}

@media (max-width: 900px) {
  .mp-quiet-product-cards {
    grid-template-columns: 1fr;
  }

  .mp-quiet-visual {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .mp-signin-opening-cards {
    grid-template-columns: 1fr;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) {
    --runner-coordinate-board-size: clamp(230px, 58vw, 320px);
    --runner-official-image-panel-size: clamp(180px, 32vh, 320px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) :is(.runner-keyboard button, .runner-keypad button, .runner-answer-button-v2, .runner-command-button-v2) {
    min-height: 52px;
  }
}

@media (max-width: 1180px) {
  body.portal-student .student-page-content--runner .runner-shell-v2.runner--official-image .runner-visual-panel-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) .runner-question-card-v2.runner-question-panel--official-sats-image .runner-visual-panel-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .runner-visual-panel-v2 {
    min-height: 0;
  }
}

@media (max-width: 1180px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) {
    --runner-official-image-panel-size: clamp(340px, 48dvh, 620px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image):has([data-image-answer-box]) {
    --runner-official-image-panel-size: clamp(300px, 41dvh, 490px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2.runner-question-panel--official-sats-image .image-overlay__image {
    max-height: var(--runner-official-image-panel-size);
  }
}

@media (max-width: 760px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) {
    --runner-official-image-panel-size: clamp(260px, 48dvh, 440px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image):has([data-image-answer-box]) {
    --runner-official-image-panel-size: clamp(240px, 44dvh, 410px);
  }
}

@media (max-width: 760px) and (max-height: 700px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image) {
    --runner-official-image-panel-size: clamp(160px, 28dvh, 210px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.runner-question-panel--official-sats-image):has([data-image-answer-box]) {
    --runner-official-image-panel-size: clamp(150px, 26dvh, 190px);
  }
}

/* Public portrait repair: keep the hero calm without collapsing the number path. */
@media (max-width: 900px) {
  body.portal-public .mp-quiet-visual {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(4px, 2.2vw, 10px);
    width: min(100%, 460px);
    height: clamp(38px, 10vw, 54px);
    margin-block: clamp(10px, 4vw, 18px);
  }

  body.portal-public .mp-quiet-visual::before {
    inset-inline: clamp(12px, 6vw, 26px);
  }

  body.portal-public .mp-quiet-visual > * {
    inline-size: clamp(14px, 4.8vw, 22px);
    block-size: clamp(14px, 4.8vw, 22px);
  }

  body.portal-public .mp-quiet-visual > i {
    inline-size: clamp(7px, 2.4vw, 10px);
    block-size: clamp(7px, 2.4vw, 10px);
  }
}

@media (max-width: 900px) and (orientation: portrait) {
  body.portal-public--auth .mp-quiet-public--auth {
    padding-block: clamp(14px, 3vh, 24px) clamp(14px, 3vh, 24px);
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first {
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 2.4vw, 18px);
    min-height: 0;
    align-items: stretch;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-embedded-signin {
    order: -1;
    width: min(100%, 560px);
    margin-inline: auto;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-hero {
    width: min(100%, 560px);
    margin-inline: auto;
    gap: clamp(10px, 2vw, 16px);
    padding-block: 0;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-hero h1 {
    font-size: clamp(1.55rem, 5.2vw, 2.35rem);
    line-height: 1.08;
    max-width: 20ch;
  }

  body.portal-public--auth .mp-quiet-home-grid--auth-first .mp-quiet-subline {
    font-size: clamp(.9rem, 2vw, 1rem);
  }
}

@media (max-width: 560px) {
  body.portal-public--home .mp-quiet-public--home {
    padding-block: clamp(16px, 4.6vw, 24px) clamp(16px, 5vw, 24px);
  }

  body.portal-public--home .mp-quiet-hero {
    gap: clamp(12px, 3.8vw, 18px);
  }

  body.portal-public--home .mp-quiet-hero h1 {
    font-size: clamp(2.12rem, 8.7vw, 2.52rem);
    line-height: 1.04;
    max-width: none;
  }

  body.portal-public--home .mp-quiet-subline {
    font-size: clamp(.94rem, 4vw, 1.02rem);
  }

  body.portal-public--home .mp-quiet-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.portal-public--home .mp-quiet-actions .btn {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }

  body.portal-public--home .mp-quiet-chip-row {
    gap: 9px;
  }

  body.portal-public--home .mp-quiet-chip {
    min-height: 38px;
    padding-inline: 12px;
  }

  body.portal-public--home .mp-quiet-product-card {
    min-height: 0;
    padding: 16px;
  }

  body.portal-public .mp-topbar__brand {
    min-width: clamp(190px, 52vw, 210px);
  }

  body.portal-public .mp-brand-lockup--topbar {
    width: clamp(190px, 52vw, 210px);
    min-height: 48px;
  }

  body.portal-public .mp-topbar__left-slot {
    display: none;
    min-width: 0;
  }
}

body.portal-student .student-practice-page .student-practice-start-card {
  overflow: hidden;
}

body.portal-student .student-practice-page .student-practice-start-card::after {
  right: 8px;
  bottom: 8px;
}

@media (max-width: 760px) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-question-card-v2 .runner-prompt__main {
    font-size: clamp(1.95rem, 7.4vw, 2.12rem);
    line-height: 1.08;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  body.portal-student .student-practice-page .student-practice-start-card {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 8px 10px;
    padding-inline: 12px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):has(.visual-svg--grid) .runner-question-card-v2 .runner-prompt__main {
    font-size: clamp(3.25rem, 6.4vw, 3.65rem);
    line-height: 1.06;
  }
}

/* Practice and assignment generated visuals need a stable portrait stimulus slot. */
@media (max-width: 1180px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="generated-visual"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="geometry"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="fraction-model"] {
    --runner-generated-visual-slot: clamp(260px, 32dvh, 430px);
    --runner-generated-visual-prompt-reserve: clamp(70px, 8dvh, 96px);
    --runner-generated-visual-card-max: min(100%, 620px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="generated-visual"] .runner-stage-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="geometry"] .runner-stage-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="fraction-model"] .runner-stage-v2 {
    grid-template-rows: minmax(calc(var(--runner-generated-visual-slot) + var(--runner-generated-visual-prompt-reserve)), .5fr) minmax(0, .5fr);
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) {
    min-height: calc(var(--runner-generated-visual-slot) + var(--runner-generated-visual-prompt-reserve));
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-question-body-v2 {
    min-height: 0;
    height: 100%;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-question-stage-v2 {
    display: grid;
    grid-template-rows: auto minmax(var(--runner-generated-visual-slot), 1fr);
    align-content: stretch;
    align-items: stretch;
    justify-items: stretch;
    gap: clamp(7px, 1.1dvh, 12px);
    min-height: 0;
    height: 100%;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-prompt,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-prompt__main {
    min-height: 0;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-prompt__main {
    font-size: clamp(1.55rem, 3.2vw, 2.15rem);
    line-height: 1.12;
    max-width: min(100%, 32ch);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-visual-panel-v2 {
    display: grid;
    place-items: center;
    min-height: var(--runner-generated-visual-slot);
    height: 100%;
    max-height: none;
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-visual-panel-v2 > .visual-card {
    display: grid;
    place-items: center;
    width: var(--runner-generated-visual-card-max);
    max-width: var(--runner-generated-visual-card-max);
    min-height: var(--runner-generated-visual-slot);
    height: 100%;
    max-height: none;
    margin-inline: auto;
    padding: clamp(6px, 1dvh, 12px);
    overflow: visible;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-visual-panel-v2 :is(.visual-scene, .visual-svg) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 100%;
    min-height: calc(var(--runner-generated-visual-slot) - 20px);
    max-height: calc(var(--runner-generated-visual-slot) + 8px);
  }
}

@media (max-width: 760px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="generated-visual"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="geometry"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="fraction-model"] {
    --runner-generated-visual-slot: clamp(184px, 29dvh, 270px);
    --runner-generated-visual-prompt-reserve: clamp(54px, 7dvh, 68px);
    --runner-generated-visual-card-max: min(100%, 430px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):not([data-keypad-kind="none"])[data-stimulus-variant="generated-visual"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):not([data-keypad-kind="none"])[data-stimulus-variant="geometry"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]):not([data-keypad-kind="none"])[data-stimulus-variant="fraction-model"] {
    --runner-generated-visual-slot: clamp(168px, 22dvh, 198px);
    --runner-generated-visual-prompt-reserve: clamp(42px, 5.8dvh, 52px);
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="generated-visual"] .runner-stage-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="geometry"] .runner-stage-v2,
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="fraction-model"] .runner-stage-v2 {
    grid-template-rows: minmax(calc(var(--runner-generated-visual-slot) + var(--runner-generated-visual-prompt-reserve)), .44fr) minmax(0, .56fr);
    gap: 8px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) {
    padding: 8px 10px;
  }

  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-question-card-v2:is(.runner-question-panel--stimulus-generated-visual, .runner-question-panel--stimulus-geometry, .runner-question-panel--stimulus-fraction-model):not(.runner-question-panel--official-sats-image) .runner-prompt__main {
    font-size: clamp(1.22rem, 5.8vw, 1.66rem);
    line-height: 1.12;
    max-width: min(100%, 28ch);
  }
}

@media (max-width: 760px) and (max-height: 700px) and (orientation: portrait) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="generated-visual"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="geometry"],
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"])[data-stimulus-variant="fraction-model"] {
    --runner-generated-visual-slot: clamp(150px, 25dvh, 190px);
    --runner-generated-visual-prompt-reserve: 50px;
  }
}

@media (max-width: 380px) {
  body.portal-student .student-page-content--runner .runner-shell-v2:not(.runner-shell-v2--competition-sprint):not([data-session-kind="competition"]) .runner-command-button-v2 span {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.05;
    text-align: center;
  }
}

body.portal-adult .assignment-challenge-panel,
body.portal-adult .assignment-diagnostic-panel {
  display: grid;
  gap: 12px;
}

body.portal-adult .assignment-challenge-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

body.portal-adult .assignment-challenge-panel__head strong {
  display: block;
  color: var(--text-strong);
  line-height: 1.2;
}

body.portal-adult .assignment-difficulty-choice-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

body.portal-adult .assignment-difficulty-native {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

body.portal-adult .assignment-pace-controls {
  margin-top: 2px;
}

body.portal-adult .assignment-challenge-note {
  display: grid;
  align-content: center;
  min-height: 100%;
}

body.portal-adult .assignment-diagnostic-gentle {
  justify-content: flex-start;
  min-height: 46px;
}

@media (max-width: 920px) {
  body.portal-adult .assignment-difficulty-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body.portal-adult .assignment-challenge-panel__head {
    display: grid;
  }

  body.portal-adult .assignment-difficulty-choice-grid {
    grid-template-columns: 1fr;
  }
}
