@font-face {
  font-family: 'Press Start 2P';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/8Lg6LX8-ntOHUQnvQ0E7o6SkDmgNrBPNFeI4cxdj3Ko.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Press Start 2P';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/8Lg6LX8-ntOHUQnvQ0E7o69WAFmVxfVhVkWhl-QDeAk.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
    U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --display-font: 'Press Start 2P', Helvetica, Arial, sans-serif;
  --display-font-weight: 400;
  --modal-title-font: var(--display-font);
  --modal-title-size: 36px;
  --modal-title-weight: var(--display-font-weight);
  --modal-title-line-height: 1.2;
  --modal-title-transform: uppercase;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #87ceeb;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: #fff;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  touch-action: none;
}

#app {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

#game {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

button,
a,
[role='button'] {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

/* Jump V2 end-frost — frosted sheet over the sharp game (human BLIND power-up) */
#blind-frost {
  position: fixed;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  opacity: 0;
  background: rgba(110, 198, 255, 0.12);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: opacity 0.45s ease;
}

#blind-frost.is-active {
  opacity: 1;
}

#chrome {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 10;
}

/* ── In-game score only (level + HI live on match-end screens) ── */

#score-board {
  position: absolute;
  left: 0;
  width: 100%;
  top: max(10px, calc(env(safe-area-inset-top, 0px) + 8px));
  /* Two halves meet at center — each panel grows outward when digits widen. */
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  z-index: 5;
  pointer-events: none;
  transform-origin: center top;
  /* Keep you | opponent LTR even when document is Hebrew RTL (Pongis V2 pattern). */
  direction: ltr;
  unicode-bidi: isolate;
}

.score-panel {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Press Start 2P', Helvetica, Arial, sans-serif;
  font-size: 32px;
  line-height: 100%;
  color: white;
  /* Equal L/R padding — 8px was too tight; +5 → 13px */
  padding: 12px 13px 10px;
  width: max-content;
  min-width: 2.9em;
  box-sizing: border-box;
  text-align: center;
}

.score-panel > span {
  display: block;
  text-align: center;
  /* Press Start 2P glyph boxes sit a hair left — tiny optical nudge */
  transform: translateX(0.06em);
}

#score-board .score-panel-l,
.match-end-score-board .score-panel-l {
  justify-self: end;
}

#score-board .score-panel-r,
.match-end-score-board .score-panel-r {
  justify-self: start;
}

/* In-game only — slight see-through so field under the score isn’t fully blocked */
#score-board .score-panel {
  opacity: 0.95;
}

.score-panel-l {
  background-color: #00bfff;
}

.score-panel-r {
  background-color: #ee7b30;
}

/* Hidden during play — level / HI shown on win, lose, and abort screens */
#level,
#highscore {
  display: none;
}

/* Jump V2 — same blink when a new personal best is set (match-end HI) */
.match-end-hi.flash {
  animation: highscore_flash 2s 0s linear;
}

@keyframes highscore_flash {
  0% {
    opacity: 1;
  }
  9% {
    opacity: 1;
  }
  10% {
    opacity: 0;
  }
  19% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  29% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
  39% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  49% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  59% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  69% {
    opacity: 1;
  }
  100% {
    opacity: 0.6;
  }
}

#countdown {
  display: none;
}

/* Floating eat score — Jump V2 extrascore */
#extrascore {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 15;
  margin: 0;
  padding: 0;
  width: auto;
  font-family: 'Press Start 2P', Helvetica, Arial, sans-serif;
  font-size: 32px;
  line-height: 100%;
  color: white;
  text-align: center;
  pointer-events: none;
  will-change: transform, opacity;
  transform: translate(-50%, -100%);
  white-space: nowrap;
}

#extrascore.hidden {
  display: none !important;
}

/* Power-up label — ~⅔ of score-food extrascore size */
#extrascore.is-power {
  font-size: 21px;
}

/* JP/Hebrew: Press Start has no glyphs — thick system UI (same as modal titles). */
html[lang='jp'] #extrascore.is-power,
html[lang='he'] #extrascore.is-power {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, sans-serif;
  font-weight: 800;
}

@media screen and (orientation: portrait) and (max-width: 700px) {
  #extrascore.is-power {
    font-size: clamp(9px, 4vw, 21px);
  }
}

/* Shared snackbar chrome — controls tip. Same as Pongis V2 / Golf V2. */
.snackbar {
  position: absolute;
  left: 50%;
  bottom: max(20px, env(safe-area-inset-bottom, 0px));
  z-index: 20;
  box-sizing: border-box;
  width: max-content;
  max-width: 80%;
  margin: 0;
  padding: 12px 18px;
  border: none;
  border-radius: 12px;
  outline: none;
  box-shadow: none;
  background: rgba(255, 255, 255, 0.6);
  color: rgba(0, 0, 0, 0.8);
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
  pointer-events: none;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 300ms ease;
}

.snackbar.is-visible {
  opacity: 1;
}

.hidden {
  display: none !important;
}

/* ── Pongis V2 modal tokens + stadium-picker shell (match end) ── */

:root {
  --display-font: 'Press Start 2P', Helvetica, Arial, sans-serif;
  --display-font-weight: 400;
  --modal-title-font: var(--display-font);
  --modal-title-size: 36px;
  --modal-title-weight: var(--display-font-weight);
  --modal-title-line-height: 1.2;
  --modal-title-transform: uppercase;
  --modal-body-font: 'Roboto', Helvetica, Arial, sans-serif;
  --modal-body-size: 16px;
  --modal-body-weight: 400;
  --modal-body-line-height: 1.45;
}

/* Press Start 2P has no JP/Hebrew glyphs — bold system UI stack instead (Pongis V2). */
html[lang='jp'],
html[lang='he'] {
  --display-font: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
    'Helvetica Neue', Arial, sans-serif;
  --display-font-weight: 800;
  --modal-title-transform: none;
}

@media (max-width: 519px) {
  :root {
    --modal-title-size: clamp(14px, 4.6vw, 26px);
  }

  /* JP/Hebrew use system-ui titles — keep full 36px (no pixel-font width problem). */
  html[lang='jp'],
  html[lang='he'] {
    --modal-title-size: 36px;
  }
}

.stadium-picker-title {
  font-family: var(--modal-title-font);
  font-size: var(--modal-title-size);
  font-weight: var(--modal-title-weight);
  line-height: var(--modal-title-line-height);
  text-transform: var(--modal-title-transform);
  margin: 0;
  padding: 28px 60px 0;
  text-align: center;
  color: slategray;
}

.stadium-picker-subtitle {
  font-family: var(--modal-body-font);
  font-size: var(--modal-body-size);
  font-weight: var(--modal-body-weight);
  line-height: var(--modal-body-line-height);
  margin: 14px auto 0;
  max-width: 420px;
  padding: 0 12px;
  color: slategray;
  text-align: center;
}

.stadium-picker {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
  transition: visibility 0s linear 95ms;
}

.stadium-picker.is-open {
  pointer-events: auto;
  visibility: visible;
  transition: visibility 0s;
}

.stadium-picker-backdrop {
  position: absolute;
  inset: 0;
  background: transparent;
}

.stadium-picker-sheet {
  position: relative;
  z-index: 1;
  width: 650px;
  max-width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: #fff;
  color: slategray;
  font-family: var(--modal-body-font);
  overflow: hidden;
}

@media (min-width: 680px) and (min-height: 700px) {
  .stadium-picker {
    padding: 16px;
    align-items: center;
  }

  .stadium-picker-sheet {
    width: 650px;
    max-width: 650px;
    height: calc(100% - 32px);
    max-height: 800px;
    border-radius: 0;
  }
}

.stadium-picker-chrome {
  position: relative;
  flex-shrink: 0;
  min-height: 0;
  background: #fff;
}

.stadium-picker-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 60px;
  height: 60px;
  border: none;
  background-color: transparent;
  background-image: url("../images/ui/feedback_x.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px auto;
  cursor: pointer;
}

.stadium-picker-panel {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 0 14px 24px;
}

.hole-results-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 20px calc(28px + env(safe-area-inset-bottom, 0px));
  background: #fff;
}

/* Golf V2 chunky Press Start CTA — hole-results modals */
.schalter {
  display: block;
  box-sizing: border-box;
  width: 80%;
  max-width: 360px;
  min-height: 54px;
  margin: 0 auto;
  padding: 16px 12px 12px;
  border: 0;
  border-radius: 0;
  background-color: slategray;
  color: #fff;
  font-family: var(--display-font);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  appearance: none;
  box-shadow:
    6px 6px #4e4e4e,
    5px 5px #4e4e4e,
    4px 4px #4e4e4e,
    3px 3px #4e4e4e,
    2px 2px #4e4e4e,
    1px 1px #4e4e4e;
  transform: translate(0, 0);
  zoom: 1.15;
}

@media (hover: hover) and (pointer: fine) {
  .schalter:hover {
    transform: translate(-2px, -2px);
    box-shadow:
      8px 8px #4e4e4e,
      7px 7px #4e4e4e,
      6px 6px #4e4e4e,
      5px 5px #4e4e4e,
      4px 4px #4e4e4e,
      3px 3px #4e4e4e,
      2px 2px #4e4e4e,
      1px 1px #4e4e4e;
  }
}

.schalter:active {
  transform: translate(6px, 6px);
  box-shadow: none;
}

@media screen and (orientation: portrait) {
  .schalter {
    font-size: clamp(12px, 4vw, 16px);
    padding-top: clamp(12px, 4vw, 16px);
    min-height: clamp(44px, 11vw, 54px);
  }
}

.stadium-picker-sheet {
  transform: scale(0.9);
  opacity: 0;
  transform-origin: center center;
  transition:
    transform 90ms ease-in,
    opacity 75ms ease-in;
}

.stadium-picker.is-open .stadium-picker-sheet {
  transform: scale(1);
  opacity: 1;
  transition:
    transform 150ms cubic-bezier(0.32, 1.12, 0.54, 1),
    opacity 130ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .stadium-picker {
    transition: none;
  }

  .stadium-picker-sheet {
    transform: none;
    opacity: 1;
    transition: none;
  }
}

@media (max-width: 519px) {
  .stadium-picker-sheet {
    width: 100%;
    max-width: 100%;
  }
}

/* ── Match end — original Run composition (HUD score → bar graph → title) ── */

.match-end-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding-top: max(44px, calc(env(safe-area-inset-top, 0px) + 32px));
  padding-bottom: 16px;
}

.match-end-score-zone {
  flex: 0 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
}

.match-end-score-board {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  width: 100%;
  transform-origin: center top;
  /* Same as in-game score — never flip panels in Hebrew RTL. */
  direction: ltr;
  unicode-bidi: isolate;
}

.match-end-hi {
  margin-top: 12px;
  width: 100%;
  font-family: 'Press Start 2P', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 100%;
  color: slategray;
  text-align: center;
  opacity: 0.6;
  pointer-events: none;
  direction: ltr;
  unicode-bidi: isolate;
}

.match-end-history-graph {
  --graph-human-color: #00bfff;
  --graph-ai-color: #ee7b30;
  flex: 0 0 auto;
  transform: scaleY(-1);
  width: 100%;
  max-width: 420px;
  height: min(38vh, 260px);
  min-height: 140px;
  margin: 20px auto 0;
  overflow: hidden;
}

.match-end-bar {
  float: left;
  width: 1%;
  min-height: 1px;
  padding: 0;
  opacity: 0.5;
  box-sizing: border-box;
}

.match-end-bar--human {
  background-color: var(--graph-human-color);
}

.match-end-bar--ai {
  background-color: var(--graph-ai-color);
  margin-left: -1%;
}

.match-end-panel .stadium-picker-title.match-end-title {
  margin: 20px 0 0;
  padding: 0 24px;
}

.match-end-subtitle {
  margin-top: 14px;
  margin-bottom: 8px;
}

@media (orientation: landscape) and (max-height: 500px) {
  .match-end-panel {
    padding-top: max(28px, calc(env(safe-area-inset-top, 0px) + 16px));
  }

  .match-end-history-graph {
    visibility: hidden;
    height: 0;
    min-height: 0;
    margin-top: 12px;
  }
}

@media screen and (orientation: portrait) and (max-width: 700px) {
  .match-end-score-board .score-panel {
    font-size: clamp(18px, 8vw, 32px);
  }
}

/* Level replay picker — original Run 7-column grid */
.level-picker-panel {
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}

.level-picker-panel .stadium-picker-title {
  margin-bottom: 0;
  padding-bottom: 0;
}

.level-picker-subtitle {
  margin-top: 14px;
  margin-bottom: clamp(16px, 4vmin, 24px);
}

.level-picker-grid {
  display: grid;
  grid-template-columns: repeat(7, clamp(34px, 9vmin, 44px));
  gap: clamp(10px, 2.5vmin, 14px);
  justify-content: center;
  padding: 0 clamp(8px, 2.5vmin, 18px) 8px;
  box-sizing: border-box;
}

.level-picker-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(34px, 9vmin, 44px);
  height: clamp(34px, 9vmin, 44px);
  margin: 0;
  padding: 0;
  border: 3px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: rgba(112, 128, 144, 0.3);
  font-family: var(--display-font);
  font-size: clamp(9px, 2.5vmin, 12px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  box-sizing: border-box;
  user-select: none;
  transform: translateX(0.04em);
}

.level-picker-cell--unlocked {
  background-color: rgba(112, 128, 144, 0.12);
  color: slategray;
  cursor: pointer;
  appearance: none;
}

.level-picker-cell--selected {
  border-color: slategray;
}

.level-picker-cell--locked {
  cursor: default;
  pointer-events: none;
}

.level-picker-cell--unlocked:active {
  background-color: rgba(112, 128, 144, 0.22);
}

@media (hover: hover) {
  .level-picker-cell--unlocked:hover {
    background-color: rgba(112, 128, 144, 0.18);
  }
}

.match-music-indicator {
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  right: 0;
  z-index: 14;
  box-sizing: border-box;
  width: clamp(48px, 11vmin, 70px);
  height: max(48px, calc(24px + 2 * clamp(12px, 2.8vmin, 20px)));
  max-height: 64px;
  padding: clamp(12px, 2.8vmin, 20px);
  border: none;
  background: transparent center / clamp(28px, 7vmin, 36px) auto no-repeat;
  cursor: pointer;
  pointer-events: none;
  visibility: hidden;
  opacity: 0.85;
}

.match-music-indicator.is-visible {
  visibility: visible;
  pointer-events: auto;
}

@media (hover: hover) and (pointer: fine) {
  .match-music-indicator.is-visible:hover,
  .match-music-indicator.is-visible:focus-visible {
    opacity: 1;
  }
}

/* Hebrew: menu opens from the right; music control stays on the opposite corner (Pongis V2). */
html[dir='rtl'] .game-menu-hamburger {
  left: auto;
  right: 0;
}

html[dir='rtl'] .match-music-indicator {
  right: auto;
  left: 0;
}

html[dir='rtl'] .game-menu-panel {
  left: auto;
  right: 0;
  border-right: none;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  transform: translateX(calc(100% + 12px));
}

html[dir='rtl'] .game-menu.is-open .game-menu-panel {
  transform: translateX(0);
}

html[dir='rtl'] .game-menu-item {
  text-align: right;
  padding: 0 clamp(44px, 11vmin, 60px) 0 clamp(8px, 2vmin, 10px);
  background-position: calc(100% - clamp(10px, 2.5vmin, 15px)) center;
  clear: right;
}

html[dir='rtl'] .game-menu-item.game-menu-item--no-icon {
  padding-left: clamp(8px, 2vmin, 10px);
  padding-right: clamp(10px, 2.5vmin, 15px);
}

html[dir='rtl'] .game-menu-item.game-menu-camera-row {
  padding: 0;
  background-image: none;
}

/* Songs modal — flat track list with play/pause */
.match-music-preview-list {
  width: 100%;
  max-width: 420px;
  margin: 8px auto 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.match-music-preview-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(112, 128, 144, 0.1);
}

.match-music-preview-play {
  flex: 0 0 40px;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: slategray;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.match-music-preview-play:not(.is-playing) {
  padding-left: 2px;
}

.match-music-preview-play.is-playing {
  background: #708090;
  padding-bottom: 1px;
}

.match-music-preview-meta {
  min-width: 0;
  flex: 1;
  text-align: left;
}

.match-music-preview-title {
  font-family: var(--modal-body-font);
  font-size: var(--modal-body-size);
  font-weight: 600;
  color: slategray;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-music-preview-sub {
  font-family: var(--modal-body-font);
  font-size: 13px;
  color: rgba(112, 128, 144, 0.85);
  margin-top: 2px;
}

@media screen and (orientation: portrait) and (max-width: 700px) {
  .score-panel {
    font-size: clamp(18px, 8vw, 32px);
  }
}

/* Original-style slide-in menu (flat, no shadows) — Pongis V2 / Golf V2 */
.game-menu-hamburger {
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  left: 0;
  z-index: 14;
  box-sizing: border-box;
  width: clamp(48px, 11vmin, 70px);
  height: max(48px, calc(24px + 2 * clamp(12px, 2.8vmin, 20px)));
  max-height: 64px;
  padding: clamp(12px, 2.8vmin, 20px);
  border: none;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
}

.game-menu-hamburger span {
  display: block;
  height: 2px;
  width: 30px;
  max-width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 2px;
  transition: background-color 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {
  .game-menu-hamburger:hover span,
  .game-menu-hamburger:focus-visible span {
    background-color: #fff;
  }
}

.game-menu-hamburger.is-hidden {
  visibility: hidden;
  pointer-events: none;
}

.game-menu {
  position: absolute;
  inset: 0;
  z-index: 40;
  pointer-events: none;
}

.game-menu.is-open {
  pointer-events: auto;
}

.game-menu-backdrop {
  position: absolute;
  inset: 0;
  border: none;
  padding: 0;
  margin: 0;
  background: rgba(255, 255, 255, 0);
  cursor: default;
  opacity: 0;
  pointer-events: none;
}

.game-menu.is-open .game-menu-backdrop {
  opacity: 1;
  pointer-events: auto;
}

.game-menu-panel {
  position: absolute;
  top: env(safe-area-inset-top, 0px);
  left: 0;
  height: calc(100% - env(safe-area-inset-top, 0px));
  width: auto;
  max-width: min(320px, 78vmin);
  padding: clamp(14px, 3.5vmin, 20px) clamp(18px, 5vmin, 32px) clamp(14px, 3.5vmin, 20px)
    clamp(16px, 4vmin, 30px);
  color: slategray;
  background-color: rgba(255, 255, 255, 0.99);
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  overflow-x: hidden;
  overflow-y: auto;
  transform: translateX(calc(-100% - 12px));
  transition: transform 0.3s ease;
  -webkit-overflow-scrolling: touch;
}

.game-menu.is-open .game-menu-panel {
  transform: translateX(0);
}

/* Menu brand title — always Press Start (Latin brand); not locale display fallback. */
#PONGIS {
  font-family: 'Press Start 2P', Helvetica, Arial, sans-serif;
  font-size: 36px;
  font-weight: 700;
  line-height: var(--modal-title-line-height);
  text-transform: uppercase;
  padding-left: 0;
  margin-top: clamp(12px, 3vmin, 20px);
  margin-bottom: clamp(16px, 4vmin, 30px);
  color: slategray;
  cursor: default;
}

.game-menu-list {
  display: block;
  width: 100%;
}

.game-menu-version {
  margin-top: clamp(28px, 5.5vmin, 44px);
  margin-bottom: clamp(6px, 1.5vmin, 10px);
  font-family: 'Roboto', sans-serif;
  font-size: clamp(10px, 2.1vmin, 12px);
  font-weight: 400;
  line-height: 1.2;
  color: rgba(112, 128, 144, 0.42);
  user-select: none;
  pointer-events: none;
}

.game-menu-item {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: clamp(44px, 11vmin, 50px);
  margin: 0;
  padding: 0 clamp(8px, 2vmin, 10px) 0 clamp(44px, 11vmin, 60px);
  border: none;
  border-radius: 0;
  clear: left;
  color: slategray;
  text-align: left;
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-size: 16px;
  background-color: rgba(112, 128, 144, 0.1);
  background-repeat: no-repeat;
  background-position: clamp(10px, 2.5vmin, 15px) center;
  background-size: clamp(24px, 6vmin, 30px) auto;
  cursor: pointer;
  user-select: none;
}

.game-menu-item-section-start {
  margin-top: clamp(12px, 2.5vmin, 20px);
}

.game-menu-item.game-menu-item--no-icon {
  padding-left: clamp(10px, 2.5vmin, 15px);
}

.game-menu-hidden-unlock {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%;
  margin: 0;
  padding: 24px 0 18px;
  border: none;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.game-menu-hidden-unlock__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(112, 128, 144, 0.1);
  flex-shrink: 0;
}

@media (pointer: coarse) {
  .game-menu-item-section-start {
    margin-top: clamp(14px, 5.5vmin, 36px);
  }
}

.game-menu-item:active:not(.is-disabled),
.game-menu-item.is-selected,
.game-menu-camera-row__choice:active:not(.is-disabled),
.game-menu-camera-row__choice.is-selected {
  background-color: rgba(112, 128, 144, 0.3);
}

.game-menu-item:focus-visible:not(.is-disabled),
.game-menu-camera-row__choice:focus-visible:not(.is-disabled) {
  background-color: rgba(112, 128, 144, 0.2);
}

@media (hover: hover) and (pointer: fine) {
  .game-menu-item:hover:not(.is-disabled),
  .game-menu-camera-row__choice:hover:not(.is-disabled) {
    background-color: rgba(112, 128, 144, 0.2);
  }

  .game-menu-item.game-menu-camera-row:hover:not(.is-disabled),
  .game-menu-item.game-menu-camera-row:focus-visible:not(.is-disabled) {
    background-color: rgba(112, 128, 144, 0.1);
  }
}

.game-menu-item.is-disabled {
  opacity: 0.45;
  cursor: default;
}

.game-menu-item.game-menu-camera-row {
  padding: 0;
  background-image: none;
  cursor: default;
  pointer-events: auto;
}

.game-menu-item.game-menu-camera-row.is-disabled {
  pointer-events: none;
}

.game-menu-camera-row__segment {
  flex: 1 1 0;
  min-width: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.game-menu-camera-row__icon {
  pointer-events: none;
  cursor: default;
}

.game-menu-camera-row__icon-img {
  display: block;
  width: clamp(24px, 6vmin, 30px);
  height: clamp(24px, 6vmin, 30px);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.game-menu-camera-row__choice {
  cursor: pointer;
  font-weight: 500;
}

.game-menu-item.game-menu-camera-row.is-disabled .game-menu-camera-row__choice {
  cursor: default;
}

@media (prefers-reduced-motion: reduce) {
  .stadium-picker,
  .stadium-picker-sheet,
  .game-menu-panel {
    transition: none;
  }
}
