/* Presentation-only panorama. The question surface is never animated. */
.screen[data-view="game"] { padding: 0; }
.football-stage {
  --stage-night: #07392D;
  --stage-chalk: #F2F1DE;
  --stage-pan-duration: 420ms;
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: start;
  justify-items: center;
  align-content: start;
  min-height: calc(100svh - 112px);
  padding: 96px clamp(12px, 3vw, 24px) 104px;
  background: #21734B;
  color: var(--stage-night);
}
.football-stage__world {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  contain: layout paint;
}
.football-stage__pane {
  position: absolute;
  inset: 0;
  overflow: hidden;
  user-select: none;
  transform: translate3d(0, 0, 0);
}
.football-stage__pane[hidden] { display: none; }
.football-stage__pane > svg { display: block; width: 100%; height: 100%; }
.football-stage__foreground {
  --bg: var(--stage-chalk);
  --ink: var(--stage-night);
  --muted: color-mix(in srgb, var(--ink) 84%, var(--bg));
  --rule: color-mix(in srgb, var(--ink) 22%, transparent);
  --control-rule: color-mix(in srgb, var(--ink) 60%, transparent);
  box-sizing: border-box;
  width: min(100%, 500px);
  padding: clamp(24px, 5vw, 36px);
  border: 1px solid rgb(7 57 45 / .2);
  border-radius: 16px;
  background: rgb(242 241 222 / .88);
  color: var(--stage-night);
  /* Let the original art show softly; keep the text fully opaque and unblurred. */
}
.football-stage__foreground input[type="text"] {
  background: rgb(242 241 222 / .32);
}
.football-stage__foreground input[type="text"]::placeholder {
  color: var(--muted);
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .football-stage__pane[data-panning="true"] {
    transition: transform var(--stage-pan-duration) cubic-bezier(.22,.68,.18,1);
    will-change: transform;
  }
}
@media (prefers-reduced-motion: reduce) {
  .football-stage__pane { transition: none !important; }
}
@media (max-width: 480px) {
  .football-stage { padding-inline: 12px; }
  .football-stage__foreground { padding: 24px 20px; }
}

.football-stage__foreground .question-top { min-height: 54px; margin-bottom: 24px; }
.football-stage__foreground .scope { margin-bottom: 24px; }
.football-stage__foreground [data-stage-feedback]:not([hidden]) {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}
.football-stage__foreground .stage-feedback .eyebrow { margin-bottom: 8px; }
.football-stage__foreground .stage-points {
  margin: 8px 0;
  font-size: 28px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -.03em;
}
.football-stage__foreground .stage-points span {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
}
.football-stage__foreground .stage-answer { margin-bottom: 8px; font-size: 18px; font-weight: 700; }
.football-stage__foreground .stage-feedback .button { min-height: 48px; margin-top: 12px; font-size: 16px; }
.football-stage__foreground [data-stage-result] .final-score { font-size: 64px; margin-block: 20px; }
@media (max-height: 700px) {
  .football-stage { padding-block: 56px 72px; }
}

/* A wider, top-aligned playing surface leaves room for the original panorama. */
@media (min-width: 1024px) {
  .screen[data-view="game"] { display: flex; flex-direction: column; }
  .football-stage {
    flex: 1;
    min-height: 0;
    padding: 40px 48px 56px;
  }
  .football-stage__foreground {
    width: min(100%, 640px);
    padding: 32px 40px;
  }
  .football-stage__foreground .scope { max-width: 52ch; }
}
@media (min-width: 1024px) and (max-height: 800px) {
  .football-stage { padding-block: 24px 32px; }
  .football-stage__foreground { padding-block: 24px; }
}
