/* Reference start menu redesign.
   Loaded last on purpose: the existing app logic and markup stay intact. */

body:not(.game-active) .start-menu,
body:not(.game-active) .start-menu * {
  box-sizing: border-box !important;
}

/* Phone viewport fit v15: keep the full portrait menu inside short mobile browser viewports. */
@media (orientation: portrait) and (max-width: 760px) {
  html,
  body,
  #app,
  body:not(.game-active) .start-menu {
    width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu {
    display: grid !important;
    place-items: center !important;
    padding: max(4px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)) !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 480px) !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: clamp(78px, 13dvh, 124px) minmax(0, 1fr) !important;
    gap: clamp(3px, 0.55dvh, 6px) !important;
    padding: clamp(5px, 0.75dvh, 9px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .brand-showcase {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
  }

  body:not(.game-active) .brand-showcase > img {
    width: min(78vw, 360px) !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  body:not(.game-active) .start-menu-panel {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows:
      minmax(40px, 0.52fr)
      minmax(58px, 0.74fr)
      minmax(44px, 0.54fr)
      minmax(54px, 0.62fr)
      minmax(116px, 1.18fr)
      minmax(40px, 0.46fr) !important;
    gap: clamp(3px, 0.5dvh, 5px) !important;
    padding: clamp(4px, 0.62dvh, 7px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-panel > *,
  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-stage .home-player-section {
    min-height: 0 !important;
    padding: clamp(4px, 0.55dvh, 6px) clamp(7px, 1.6vw, 10px) !important;
    gap: clamp(6px, 1.6vw, 10px) !important;
  }

  body:not(.game-active) .start-menu-stage .avatar-preview,
  body:not(.game-active) .start-menu-stage #menuAvatarPreview {
    width: clamp(34px, 8.2vw, 42px) !important;
    height: clamp(34px, 8.2vw, 42px) !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section {
    padding: clamp(4px, 0.55dvh, 7px) clamp(6px, 1.5vw, 10px) !important;
    gap: clamp(4px, 0.6dvh, 7px) !important;
  }

  body:not(.game-active) .home-options-section {
    min-height: 0 !important;
  }

  body:not(.game-active) .home-actions-grid {
    gap: clamp(4px, 1.1vw, 7px) !important;
  }

  body:not(.game-active) .home-action-card {
    min-height: 0 !important;
    padding: clamp(4px, 0.55dvh, 7px) clamp(4px, 1vw, 8px) !important;
  }

  body:not(.game-active) .home-action-card .home-action-icon {
    width: clamp(24px, 6vw, 32px) !important;
    height: clamp(24px, 6vw, 32px) !important;
  }

  body:not(.game-active) .competition-entry {
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(42px, 0.7fr) minmax(40px, 0.5fr) minmax(58px, 0.8fr) !important;
    align-content: stretch !important;
    gap: clamp(3px, 0.45dvh, 5px) !important;
    padding: clamp(5px, 0.65dvh, 8px) !important;
  }

  body:not(.game-active) .competition-entry .competition-copy {
    min-height: 0 !important;
    padding: 0 !important;
    line-height: 1.08 !important;
  }

  body:not(.game-active) .competition-entry .competition-copy p {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .home-highscore,
  body:not(.game-active) .competition-entry .daily-score-card {
    min-height: 0 !important;
    padding: clamp(4px, 0.55dvh, 7px) clamp(7px, 1.5vw, 10px) !important;
  }

  body:not(.game-active) .competition-entry .home-player-section {
    min-height: 0 !important;
    padding: clamp(3px, 0.45dvh, 5px) clamp(7px, 1.5vw, 9px) !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(4px, 1.1vw, 7px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    min-height: 0 !important;
    height: 100% !important;
    padding: 3px !important;
    grid-template-rows: clamp(20px, 5vw, 27px) auto auto !important;
    gap: 1px !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(20px, 5vw, 27px) !important;
    height: clamp(20px, 5vw, 27px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    font-size: clamp(9px, 2.25vw, 12px) !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    font-size: clamp(7px, 1.8vw, 9px) !important;
    line-height: 1 !important;
    padding: 0 4px !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) #startGameButton {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 52px !important;
    padding: 0 clamp(10px, 3vw, 18px) !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    margin: 0 !important;
    font-size: clamp(22px, 7vw, 34px) !important;
    line-height: 1 !important;
  }
}

@media (orientation: portrait) and (max-width: 760px) and (max-height: 760px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-rows: clamp(64px, 11.5dvh, 88px) minmax(0, 1fr) !important;
    gap: 3px !important;
    padding: 4px !important;
  }

  body:not(.game-active) .start-menu-panel {
    grid-template-rows:
      minmax(36px, 0.45fr)
      minmax(52px, 0.62fr)
      minmax(38px, 0.43fr)
      minmax(46px, 0.5fr)
      minmax(100px, 0.98fr)
      minmax(38px, 0.38fr) !important;
    gap: 3px !important;
    padding: 4px !important;
  }

  body:not(.game-active) .brand-showcase > img {
    width: min(70vw, 315px) !important;
  }

  body:not(.game-active) .section-title,
  body:not(.game-active) .variant-group > h2,
  body:not(.game-active) .level-group > h2,
  body:not(.game-active) .home-options-section > h2,
  body:not(.game-active) .competition-entry > h2 {
    font-size: clamp(10px, 2.45vw, 13px) !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  body:not(.game-active) .menu-choice strong,
  body:not(.game-active) .home-action-card strong {
    font-size: clamp(11px, 2.75vw, 14px) !important;
    line-height: 1.05 !important;
  }

  body:not(.game-active) .menu-choice small,
  body:not(.game-active) .home-action-card small,
  body:not(.game-active) .competition-entry .competition-copy,
  body:not(.game-active) .competition-entry .daily-score-card small {
    font-size: clamp(8px, 2vw, 10px) !important;
    line-height: 1.04 !important;
  }
}

/* Phone viewport fit v14: keep the full portrait start menu, including "Spel starten",
   inside the visible mobile browser viewport. */
@media (orientation: portrait) and (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100vw, 480px) !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    margin: 0 auto !important;
    padding:
      max(5px, env(safe-area-inset-top))
      clamp(8px, 2.2vw, 12px)
      max(5px, env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-rows: clamp(108px, 18.5dvh, 164px) minmax(0, 1fr) !important;
    gap: clamp(4px, 0.55dvh, 7px) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .brand-showcase {
    min-height: 0 !important;
    height: 100% !important;
    overflow: visible !important;
  }

  body:not(.game-active) .brand-showcase > img {
    width: min(72vw, 330px) !important;
    max-height: clamp(92px, 17dvh, 150px) !important;
    object-fit: contain !important;
  }

  body:not(.game-active) .start-menu-panel {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    padding: clamp(7px, 1dvh, 10px) !important;
    display: grid !important;
    grid-template-rows:
      minmax(58px, 0.72fr)
      minmax(50px, 0.58fr)
      minmax(58px, 0.62fr)
      minmax(148px, 1.72fr)
      clamp(46px, 6.4dvh, 58px) !important;
    gap: clamp(4px, 0.55dvh, 7px) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    padding: clamp(6px, 0.8dvh, 9px) clamp(7px, 1.8vw, 10px) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .variant-group {
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body:not(.game-active) .level-group {
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body:not(.game-active) .variant-group .menu-choice,
  body:not(.game-active) .level-group .menu-choice,
  body:not(.game-active) .home-action-card {
    min-height: 0 !important;
    height: 100% !important;
    padding: clamp(4px, 0.62dvh, 7px) clamp(5px, 1.5vw, 8px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice::before {
    width: clamp(28px, 7.2vw, 40px) !important;
    height: clamp(28px, 7.2vw, 40px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice strong,
  body:not(.game-active) .level-group .menu-choice strong,
  body:not(.game-active) .home-action-card strong,
  body:not(.game-active) .premium-action-text {
    font-size: clamp(10px, 2.55vw, 13px) !important;
    line-height: 1.08 !important;
  }

  body:not(.game-active) .variant-group .menu-choice small,
  body:not(.game-active) .level-group .menu-choice small,
  body:not(.game-active) .home-action-card small,
  body:not(.game-active) .competition-copy p {
    display: none !important;
  }

  body:not(.game-active) .home-action-icon {
    width: clamp(24px, 6vw, 34px) !important;
    height: clamp(24px, 6vw, 34px) !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-rows:
      minmax(34px, 0.34fr)
      minmax(52px, 0.54fr)
      minmax(34px, 0.34fr)
      minmax(62px, 0.7fr) !important;
    gap: clamp(3px, 0.45dvh, 5px) !important;
  }

  body:not(.game-active) .competition-copy {
    padding: clamp(4px, 0.55dvh, 6px) clamp(6px, 1.6vw, 8px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  body:not(.game-active) .competition-copy::before {
    width: clamp(24px, 6vw, 34px) !important;
    height: clamp(24px, 6vw, 34px) !important;
    flex: 0 0 auto !important;
  }

  body:not(.game-active) .competition-copy strong {
    font-size: clamp(11px, 2.8vw, 14px) !important;
    line-height: 1.08 !important;
  }

  body:not(.game-active) .home-highscore {
    padding: clamp(5px, 0.7dvh, 8px) clamp(7px, 1.8vw, 10px) !important;
    min-height: 0 !important;
  }

  body:not(.game-active) .home-highscore .home-trophy {
    width: clamp(30px, 7.8vw, 42px) !important;
    height: clamp(30px, 7.8vw, 42px) !important;
  }

  body:not(.game-active) .home-highscore .winner-label,
  body:not(.game-active) .home-highscore small {
    font-size: clamp(7px, 1.9vw, 10px) !important;
  }

  body:not(.game-active) .home-highscore strong {
    font-size: clamp(12px, 3vw, 16px) !important;
  }

  body:not(.game-active) .competition-entry .home-player-section {
    min-height: 0 !important;
    padding: clamp(3px, 0.45dvh, 5px) clamp(7px, 1.8vw, 10px) !important;
    grid-template-columns: clamp(28px, 7vw, 36px) minmax(0, 1fr) auto !important;
    gap: 7px !important;
  }

  body:not(.game-active) .competition-entry .avatar-preview {
    width: clamp(28px, 7vw, 36px) !important;
    height: clamp(28px, 7vw, 36px) !important;
    font-size: clamp(13px, 3.2vw, 17px) !important;
  }

  body:not(.game-active) .competition-entry #menuPlayerName,
  body:not(.game-active) .competition-entry .player-photo-field {
    height: clamp(26px, 3.7dvh, 32px) !important;
    font-size: clamp(10px, 2.5vw, 13px) !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    min-height: 0 !important;
    height: 100% !important;
    gap: clamp(4px, 1.2vw, 7px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    grid-template-rows: clamp(22px, 5.5vw, 30px) auto auto !important;
    gap: 1px !important;
    padding: clamp(3px, 0.45dvh, 5px) 3px !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(22px, 5.5vw, 30px) !important;
    height: clamp(22px, 5.5vw, 30px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    font-size: clamp(9px, 2.35vw, 12px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    font-size: clamp(7px, 1.8vw, 9px) !important;
    line-height: 1 !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    min-height: 0 !important;
    height: clamp(46px, 6.4dvh, 58px) !important;
    align-self: end !important;
    padding: 0 clamp(12px, 3vw, 18px) !important;
    font-size: clamp(21px, 5.4vw, 30px) !important;
    line-height: 1 !important;
    overflow: hidden !important;
  }
}

@media (orientation: portrait) and (max-height: 720px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-rows: clamp(84px, 15dvh, 118px) minmax(0, 1fr) !important;
    gap: 3px !important;
    padding-top: max(3px, env(safe-area-inset-top)) !important;
    padding-bottom: max(3px, env(safe-area-inset-bottom)) !important;
  }

  body:not(.game-active) .brand-showcase > img {
    max-height: clamp(76px, 14dvh, 108px) !important;
  }

  body:not(.game-active) .start-menu-panel {
    grid-template-rows:
      minmax(50px, 0.64fr)
      minmax(44px, 0.5fr)
      minmax(48px, 0.52fr)
      minmax(128px, 1.58fr)
      clamp(42px, 6dvh, 50px) !important;
    gap: 3px !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-rows:
      minmax(28px, 0.25fr)
      minmax(42px, 0.45fr)
      minmax(30px, 0.3fr)
      minmax(54px, 0.6fr) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    height: clamp(42px, 6dvh, 50px) !important;
    font-size: clamp(18px, 5vw, 25px) !important;
  }
}

/* Request polish v12: portrait competition grid reset and one visible top logo. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .brand-showcase {
    background: none !important;
    display: grid !important;
    place-items: center !important;
  }

  body:not(.game-active) .brand-showcase > img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: min(82vw, 390px) !important;
    height: auto !important;
    max-height: min(28dvh, 260px) !important;
    object-fit: contain !important;
  }

  body:not(.game-active) .brand-showcase > p,
  body:not(.game-active) .brand-showcase .home-logo,
  body:not(.game-active) .brand-showcase .brand-title,
  body:not(.game-active) .brand-showcase .brand-subtitle {
    display: none !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto auto !important;
    align-content: start !important;
    justify-items: stretch !important;
    min-height: clamp(224px, 26dvh, 286px) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .competition-entry .competition-copy,
  body:not(.game-active) .competition-entry .home-highscore,
  body:not(.game-active) .competition-entry .home-player-section,
  body:not(.game-active) .competition-entry .online-entry-actions {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    position: static !important;
  }

  body:not(.game-active) .competition-entry .home-player-section {
    min-height: clamp(42px, 5dvh, 52px) !important;
    padding: clamp(4px, 0.6dvh, 6px) clamp(7px, 1.8vw, 10px) !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    width: 100% !important;
    min-height: clamp(68px, 7.4dvh, 82px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* Final portrait spacing v8: visible player badge, compact option/competition rows. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .start-menu-stage {
    position: relative !important;
    grid-template-rows: minmax(238px, 28dvh) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .brand-showcase {
    min-height: 0 !important;
    height: 100% !important;
  }

  body:not(.game-active) .home-player-section {
    display: grid !important;
    position: absolute !important;
    z-index: 5 !important;
    top: clamp(8px, 1.3dvh, 14px) !important;
    left: clamp(12px, 3vw, 18px) !important;
    width: min(58%, 270px) !important;
    min-height: clamp(48px, 7dvh, 64px) !important;
    height: auto !important;
    padding: clamp(6px, 1dvh, 9px) clamp(8px, 2vw, 12px) !important;
    grid-template-columns: clamp(34px, 9vw, 46px) minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 2px clamp(7px, 1.8vw, 10px) !important;
    align-items: center !important;
    background: linear-gradient(145deg, rgba(16, 10, 5, 0.82), rgba(39, 24, 12, 0.62)) !important;
    border: 1px solid rgba(213, 157, 67, 0.72) !important;
    border-radius: clamp(14px, 3vw, 20px) !important;
    box-shadow: 0 9px 18px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255, 232, 169, 0.14) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .home-player-section h2 {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    font-size: clamp(9px, 2.2vw, 12px) !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
  }

  body:not(.game-active) #menuAvatarPreview {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    display: grid !important;
    width: clamp(34px, 9vw, 46px) !important;
    height: clamp(34px, 9vw, 46px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-self: center !important;
    justify-self: center !important;
    font-size: clamp(15px, 4vw, 20px) !important;
  }

  body:not(.game-active) .player-name-field {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  body:not(.game-active) .player-name-field > span {
    display: none !important;
  }

  body:not(.game-active) #menuPlayerName {
    width: 100% !important;
    height: clamp(28px, 4.8dvh, 36px) !important;
    min-height: 0 !important;
    padding: 0 8px !important;
    font-size: clamp(13px, 3.2vw, 18px) !important;
    line-height: 1 !important;
  }

  body:not(.game-active) .player-photo-field {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: clamp(16px, 4vw, 20px) auto !important;
    gap: 5px !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: clamp(28px, 4.8dvh, 36px) !important;
    padding: 0 8px !important;
    font-size: clamp(9px, 2.3vw, 12px) !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .player-photo-field .photo-button-icon,
  body:not(.game-active) .player-photo-field .photo-button-icon svg {
    width: clamp(16px, 4vw, 20px) !important;
    height: clamp(16px, 4vw, 20px) !important;
  }

  body:not(.game-active) .home-options-section {
    min-height: clamp(70px, 8.2dvh, 92px) !important;
    padding: clamp(6px, 0.8dvh, 9px) clamp(10px, 2.4vw, 14px) !important;
  }

  body:not(.game-active) .home-action-card {
    min-height: clamp(42px, 5.7dvh, 54px) !important;
    padding: clamp(4px, 0.7dvh, 7px) clamp(5px, 1.4vw, 8px) !important;
  }

  body:not(.game-active) .home-action-card strong,
  body:not(.game-active) #openSettingsButton strong,
  body:not(.game-active) #openSettingsButton strong::after {
    font-size: clamp(10px, 2.7vw, 14px) !important;
    line-height: 1.08 !important;
  }

  body:not(.game-active) .competition-entry {
    min-height: clamp(176px, 20dvh, 228px) !important;
    grid-template-rows: auto minmax(58px, 0.9fr) minmax(68px, 1fr) !important;
    gap: clamp(6px, 0.8dvh, 9px) !important;
    padding: clamp(8px, 1dvh, 12px) clamp(10px, 2.4vw, 14px) !important;
  }

  body:not(.game-active) .competition-entry .daily-score-card {
    min-height: clamp(58px, 7dvh, 78px) !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    height: auto !important;
    min-height: clamp(68px, 8dvh, 86px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    grid-auto-rows: 0 !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .competition-entry .premium-action {
    min-height: 0 !important;
    height: 100% !important;
    grid-template-rows: clamp(28px, 6.8vw, 38px) auto auto !important;
    gap: 3px !important;
    align-content: center !important;
    justify-content: center !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(28px, 6.8vw, 38px) !important;
    height: clamp(28px, 6.8vw, 38px) !important;
    align-self: center !important;
    justify-self: center !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    font-size: clamp(10px, 2.6vw, 13.5px) !important;
    line-height: 1.05 !important;
    min-height: 1.1em !important;
    align-self: center !important;
    justify-self: center !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: clamp(7px, 1.85vw, 9px) !important;
    min-height: 12px !important;
    padding: 1px 5px !important;
  }
}

/* Portrait menu alignment fix: option and competition buttons stay in rows. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .home-options-section {
    min-height: clamp(84px, 10.5dvh, 116px) !important;
    padding: clamp(8px, 1.2dvh, 12px) clamp(10px, 2.4vw, 14px) !important;
  }

  body:not(.game-active) .home-action-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 1.6vw, 10px) !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  body:not(.game-active) .home-action {
    min-width: 0 !important;
    min-height: clamp(48px, 7.5dvh, 64px) !important;
    padding: clamp(6px, 1.2dvh, 8px) clamp(5px, 1.4vw, 8px) !important;
    display: grid !important;
    grid-template-columns: clamp(24px, 7vw, 32px) minmax(0, 1fr) !important;
    gap: clamp(4px, 1.2vw, 7px) !important;
    align-items: center !important;
    justify-items: start !important;
  }

  body:not(.game-active) .home-action-icon,
  body:not(.game-active) .home-action-icon svg {
    width: clamp(24px, 7vw, 32px) !important;
    height: clamp(24px, 7vw, 32px) !important;
    flex: 0 0 auto !important;
  }

  body:not(.game-active) .home-action span {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(0.68rem, 2.6vw, 0.88rem) !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    text-align: left !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: clamp(7px, 1.2dvh, 10px) !important;
    min-height: clamp(150px, 19dvh, 210px) !important;
    padding: clamp(9px, 1.3dvh, 13px) clamp(10px, 2.6vw, 14px) !important;
  }

  body:not(.game-active) .competition-title {
    grid-row: 1 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  body:not(.game-active) .competition-copy {
    display: none !important;
  }

  body:not(.game-active) .daily-score-card {
    grid-row: 2 !important;
    min-height: clamp(56px, 7.5dvh, 78px) !important;
    margin: 0 !important;
    padding: clamp(7px, 1.2dvh, 11px) !important;
    display: grid !important;
    grid-template-columns: clamp(36px, 10vw, 54px) minmax(0, 1fr) !important;
    gap: clamp(8px, 2vw, 12px) !important;
    align-items: center !important;
  }

  body:not(.game-active) .daily-score-card h3,
  body:not(.game-active) .daily-score-card strong,
  body:not(.game-active) .daily-score-card p {
    margin: 0 !important;
    line-height: 1.12 !important;
  }

  body:not(.game-active) .daily-score-card h3 {
    font-size: clamp(0.62rem, 2.4vw, 0.82rem) !important;
    letter-spacing: 0.05em !important;
  }

  body:not(.game-active) .daily-score-card strong {
    font-size: clamp(0.9rem, 3.3vw, 1.24rem) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.game-active) .daily-score-card p {
    font-size: clamp(0.62rem, 2.3vw, 0.78rem) !important;
  }

  body:not(.game-active) .online-entry-actions {
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 1.6vw, 10px) !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body:not(.game-active) .premium-action {
    min-width: 0 !important;
    min-height: clamp(52px, 7.8dvh, 70px) !important;
    padding: clamp(6px, 1.2dvh, 9px) clamp(4px, 1.2vw, 7px) !important;
    display: grid !important;
    grid-template-rows: clamp(22px, 6vw, 30px) auto auto !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    justify-items: center !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .premium-action-icon,
  body:not(.game-active) .premium-action-icon svg {
    width: clamp(22px, 6vw, 30px) !important;
    height: clamp(22px, 6vw, 30px) !important;
    margin: 0 !important;
  }

  body:not(.game-active) .premium-action-text {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(0.58rem, 2.25vw, 0.76rem) !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .premium-action small {
    display: inline-block !important;
    max-width: 100% !important;
    font-size: clamp(0.48rem, 1.9vw, 0.64rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

/* Landscape reference v4: one table/logo image, clean right-side panels, no duplicated action content. */
@media (min-width: 760px) and (orientation: landscape) {
  html,
  body:not(.game-active) {
    height: 100%;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu {
    min-height: 100dvh !important;
    height: 100dvh !important;
    overflow: hidden !important;
    padding: clamp(6px, 1.2dvh, 16px) clamp(12px, 1.8vw, 28px) !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 1500px) !important;
    height: min(100%, 920px) !important;
    max-height: calc(100dvh - clamp(12px, 2.4dvh, 32px)) !important;
    margin: 0 auto !important;
    padding: clamp(9px, 1.4dvh, 18px) clamp(12px, 1.5vw, 22px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr) !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) clamp(54px, 11dvh, 92px) !important;
    gap: clamp(7px, 1.1dvh, 14px) clamp(12px, 1.5vw, 24px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body:not(.game-active) .start-menu-stage::before,
  body:not(.game-active) .start-menu-stage::after,
  body:not(.game-active) .brand-showcase::before,
  body:not(.game-active) .brand-showcase::after,
  body:not(.game-active) .premium-action::before,
  body:not(.game-active) .premium-action::after,
  body:not(.game-active) .premium-action-icon::before,
  body:not(.game-active) .premium-action-icon::after,
  body:not(.game-active) .premium-action-text::before,
  body:not(.game-active) .premium-action-text::after {
    content: none !important;
    display: none !important;
  }

  body:not(.game-active) .brand-showcase {
    grid-column: 1 !important;
    grid-row: 1 / 5 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: url("./assets/vertical-menu/table-menu.png") center center / contain no-repeat !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .brand-showcase > img,
  body:not(.game-active) .brand-showcase > p,
  body:not(.game-active) .brand-showcase .home-logo,
  body:not(.game-active) .brand-showcase .brand-title,
  body:not(.game-active) .brand-showcase .brand-subtitle {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
  }

  body:not(.game-active) .start-menu-panel {
    display: contents !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body:not(.game-active) .variant-group {
    grid-row: 1 !important;
  }

  body:not(.game-active) .level-group {
    grid-row: 2 !important;
  }

  body:not(.game-active) .home-options-section {
    grid-row: 3 !important;
  }

  body:not(.game-active) .competition-entry {
    grid-row: 4 !important;
    min-height: 0 !important;
    align-self: stretch !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    padding: clamp(9px, 1.3dvh, 16px) !important;
    border-radius: clamp(12px, 1.6vw, 20px) !important;
  }

  body:not(.game-active) .variant-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(8px, 1vw, 14px) !important;
  }

  body:not(.game-active) .level-grid,
  body:not(.game-active) .home-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(8px, 1vw, 14px) !important;
  }

  body:not(.game-active) .menu-choice,
  body:not(.game-active) .home-action {
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: clamp(68px, 15dvh, 118px) !important;
    grid-template-columns: clamp(38px, 4.2vw, 64px) minmax(0, 1fr) !important;
    padding: clamp(8px, 1vw, 14px) !important;
  }

  body:not(.game-active) .variant-title,
  body:not(.game-active) .menu-choice strong {
    font-size: clamp(0.92rem, 1.45vw, 1.25rem) !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  body:not(.game-active) .variant-copy,
  body:not(.game-active) .menu-choice span,
  body:not(.game-active) .home-action span,
  body:not(.game-active) .competition-copy p,
  body:not(.game-active) .daily-score-card p {
    font-size: clamp(0.68rem, 0.95vw, 0.92rem) !important;
    line-height: 1.25 !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: clamp(70px, 15dvh, 116px) !important;
    grid-template-columns: clamp(36px, 4vw, 58px) minmax(0, 1fr) !important;
    padding: clamp(8px, 1vw, 13px) !important;
  }

  body:not(.game-active) .level-group .menu-choice::before,
  body:not(.game-active) .variant-group .menu-choice::before {
    width: clamp(34px, 4vw, 58px) !important;
    height: clamp(34px, 4vw, 58px) !important;
    margin: 0 !important;
  }

  body:not(.game-active) .home-action {
    min-height: clamp(54px, 11dvh, 86px) !important;
    grid-template-columns: clamp(34px, 4vw, 56px) minmax(0, 1fr) !important;
    padding: clamp(7px, 1vw, 12px) !important;
    align-items: center !important;
  }

  body:not(.game-active) .home-action-icon,
  body:not(.game-active) .home-action-icon svg {
    width: clamp(32px, 3.8vw, 54px) !important;
    height: clamp(32px, 3.8vw, 54px) !important;
  }

  body:not(.game-active) .home-action span {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.12 !important;
    text-align: left !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: minmax(145px, 1fr) minmax(150px, 1fr) minmax(160px, 0.95fr) !important;
    gap: clamp(8px, 1vw, 14px) !important;
    align-items: stretch !important;
  }

  body:not(.game-active) .competition-title {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(0.82rem, 1.25vw, 1rem) !important;
    line-height: 1 !important;
  }

  body:not(.game-active) .competition-copy,
  body:not(.game-active) .daily-score-card,
  body:not(.game-active) .online-entry-actions {
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
  }

  body:not(.game-active) .competition-copy,
  body:not(.game-active) .daily-score-card {
    padding: clamp(8px, 1vw, 13px) !important;
  }

  body:not(.game-active) .online-entry-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 0.8dvh, 10px) !important;
  }

  body:not(.game-active) .premium-action {
    display: grid !important;
    grid-template-columns: clamp(26px, 2.7vw, 40px) minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    justify-items: start !important;
    gap: clamp(6px, 0.8vw, 10px) !important;
    min-height: 0 !important;
    padding: clamp(6px, 0.8vw, 10px) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .premium-action-icon {
    display: block !important;
    width: clamp(24px, 2.6vw, 38px) !important;
    height: clamp(24px, 2.6vw, 38px) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:not(.game-active) .premium-action-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body:not(.game-active) .premium-action-text {
    display: block !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(0.74rem, 1vw, 0.98rem) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.game-active) .premium-action small {
    display: none !important;
  }

  body:not(.game-active) .start-game-button {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
    justify-self: center !important;
    align-self: stretch !important;
    width: min(92%, 1360px) !important;
    max-width: 1360px !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-game-button span,
  body:not(.game-active) .start-game-button strong,
  body:not(.game-active) .start-game-button .start-label {
    display: inline-block !important;
    color: #f7df9b !important;
    font-size: clamp(1.7rem, 4.4vw, 3.6rem) !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    text-shadow: 0 2px 0 rgba(29, 13, 2, 0.9), 0 0 12px rgba(0, 0, 0, 0.42) !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 760px) and (orientation: landscape) and (max-height: 520px) {
  body:not(.game-active) .start-menu {
    padding: 5px 10px !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 1260px) !important;
    padding: 7px 10px !important;
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.88fr) !important;
    grid-template-rows: auto auto auto minmax(0, 1fr) 46px !important;
    gap: 6px 10px !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    padding: 7px !important;
    border-radius: 12px !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: 54px !important;
    padding: 6px !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: 52px !important;
    padding: 6px !important;
  }

  body:not(.game-active) .home-action {
    min-height: 42px !important;
    padding: 5px !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-columns: minmax(116px, 0.9fr) minmax(124px, 1fr) minmax(130px, 0.86fr) !important;
  }

  body:not(.game-active) .competition-copy p,
  body:not(.game-active) .daily-score-card p {
    display: none !important;
  }

  body:not(.game-active) .premium-action {
    padding: 4px 6px !important;
    grid-template-columns: 23px minmax(0, 1fr) !important;
    gap: 5px !important;
  }

  body:not(.game-active) .premium-action-icon {
    width: 23px !important;
    height: 23px !important;
  }

  body:not(.game-active) .premium-action-text {
    font-size: 0.66rem !important;
  }

  body:not(.game-active) .start-game-button span,
  body:not(.game-active) .start-game-button strong,
  body:not(.game-active) .start-game-button .start-label {
    font-size: clamp(1.45rem, 4vw, 2.55rem) !important;
  }
}

body:not(.game-active) .start-menu {
  --gold: #e7ad42;
  --gold-soft: #ffe0a0;
  --cream: #fff0cf;
  --panel: rgba(24, 13, 6, 0.9);
  --panel-2: rgba(45, 24, 10, 0.9);
  --green: #14551d;
  --green-2: #0d3f18;
  width: 100% !important;
  min-height: 100dvh !important;
  height: auto !important;
  padding: max(10px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom)) !important;
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: var(--cream) !important;
  background:
    radial-gradient(circle at 50% 6%, rgba(219, 154, 59, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.62)),
    url("./assets/vertical-menu/background-staand.png") center top / cover no-repeat !important;
  font-family: Georgia, "Times New Roman", serif !important;
}

body:not(.game-active) .start-menu-stage {
  width: min(100%, 480px) !important;
  max-width: 480px !important;
  min-height: 0 !important;
  height: max-content !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto !important;
  gap: clamp(14px, 2.4dvh, 22px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .start-menu-stage {
    min-height: max-content !important;
    height: max-content !important;
  }
}

body:not(.game-active) .start-menu-stage::before,
body:not(.game-active) .start-menu-stage::after,
body:not(.game-active) .start-menu-panel::before,
body:not(.game-active) .start-menu-panel::after,
body:not(.game-active) .brand-showcase::after,
body:not(.game-active) .home-section::before,
body:not(.game-active) .home-section::after,
body:not(.game-active) .menu-group::before,
body:not(.game-active) .menu-group::after,
body:not(.game-active) .home-action-grid::before,
body:not(.game-active) .home-action-grid::after,
body:not(.game-active) .competition-entry::before,
body:not(.game-active) .competition-entry::after,
body:not(.game-active) .online-entry-actions::before,
body:not(.game-active) .online-entry-actions::after,
body:not(.game-active) .menu-choice::after,
body:not(.game-active) .menu-choice span::before,
body:not(.game-active) .menu-choice span::after,
body:not(.game-active) .home-options-section h2::before,
body:not(.game-active) .home-options-section h2::after,
body:not(.game-active) .home-action-card::before,
body:not(.game-active) .home-action-card::after,
body:not(.game-active) .premium-action::before,
body:not(.game-active) .premium-action::after {
  content: none !important;
  display: none !important;
}

body:not(.game-active) .brand-showcase {
  width: 100% !important;
  height: clamp(330px, 48dvh, 560px) !important;
  min-height: 330px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: url("./assets/vertical-menu/table-menu.png") center bottom / contain no-repeat !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body:not(.game-active) .brand-showcase img,
body:not(.game-active) .brand-showcase p,
body:not(.game-active) .start-heading,
body:not(.game-active) .home-player-section {
  display: none !important;
}

body:not(.game-active) .start-menu-panel {
  width: min(100%, 440px) !important;
  max-width: 440px !important;
  margin: 0 auto !important;
  padding: 0 8px 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-rows: auto !important;
  gap: clamp(12px, 1.8dvh, 18px) !important;
  align-items: stretch !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body:not(.game-active) .home-section,
body:not(.game-active) .menu-group,
body:not(.game-active) .competition-entry {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(14px, 3.2vw, 18px) !important;
  position: relative !important;
  border: 1.5px solid rgba(218, 143, 43, 0.86) !important;
  border-radius: clamp(14px, 3vw, 20px) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(31, 111, 38, 0.28), transparent 58%),
    linear-gradient(180deg, rgba(34, 21, 10, 0.9), rgba(9, 7, 5, 0.94)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 231, 160, 0.16),
    0 10px 22px rgba(0, 0, 0, 0.35) !important;
  overflow: visible !important;
}

body:not(.game-active) .menu-group legend,
body:not(.game-active) .home-options-section h2,
body:not(.game-active) .online-kicker {
  width: auto !important;
  margin: 0 auto clamp(10px, 2vw, 14px) !important;
  padding: 0 clamp(12px, 3vw, 18px) !important;
  display: block !important;
  color: var(--gold) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(16px, 4vw, 21px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.03em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

body:not(.game-active) .variant-group legend,
body:not(.game-active) .level-group legend {
  font-size: 0 !important;
}

body:not(.game-active) .variant-group legend::after {
  content: "Speelvariant" !important;
  font-size: clamp(16px, 4vw, 21px) !important;
}

body:not(.game-active) .level-group legend::after {
  content: "AI-niveau" !important;
  font-size: clamp(16px, 4vw, 21px) !important;
}

body:not(.game-active) .variant-group {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(10px, 2.8vw, 14px) !important;
}

body:not(.game-active) .level-group {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(8px, 2vw, 12px) !important;
}

body:not(.game-active) .menu-choice,
body:not(.game-active) .home-action-card,
body:not(.game-active) .premium-action {
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  border: 1.25px solid rgba(208, 126, 32, 0.85) !important;
  border-radius: clamp(10px, 2.6vw, 15px) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(34, 118, 37, 0.2), transparent 60%),
    linear-gradient(180deg, rgba(36, 21, 9, 0.94), rgba(10, 7, 5, 0.96)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 233, 167, 0.13), 0 5px 12px rgba(0, 0, 0, 0.24) !important;
  color: var(--cream) !important;
  overflow: hidden !important;
}

body:not(.game-active) .menu-choice input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body:not(.game-active) .menu-choice:has(input:checked),
body:not(.game-active) .home-action-card.primary,
body:not(.game-active) .premium-action:hover {
  border-color: rgba(255, 219, 91, 0.98) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(69, 173, 69, 0.35), transparent 70%),
    linear-gradient(180deg, rgba(21, 90, 29, 0.96), rgba(9, 54, 19, 0.98)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 245, 182, 0.2), 0 0 18px rgba(255, 206, 67, 0.22) !important;
}

body:not(.game-active) .variant-group .menu-choice {
  min-height: clamp(86px, 12dvh, 116px) !important;
  padding: clamp(12px, 3vw, 16px) !important;
  display: grid !important;
  grid-template-columns: clamp(54px, 14vw, 68px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(12px, 3vw, 16px) !important;
}

body:not(.game-active) .variant-group .menu-choice::before,
body:not(.game-active) .level-group .menu-choice::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: center / contain no-repeat !important;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.55)) !important;
}

body:not(.game-active) .variant-group .menu-choice:nth-of-type(1)::before {
  background-image: url("./assets/vertical-menu/icon-amsterdams.png") !important;
}

body:not(.game-active) .variant-group .menu-choice:nth-of-type(2)::before {
  background-image: url("./assets/vertical-menu/icon-rotterdams.png") !important;
}

body:not(.game-active) .variant-group .menu-choice span,
body:not(.game-active) .level-group .menu-choice span {
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 5px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body:not(.game-active) fieldset.variant-group > label.menu-choice > span,
html body:not(.game-active) fieldset.level-group > label.menu-choice > span {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body:not(.game-active) fieldset.variant-group.variant-group > label.menu-choice.menu-choice:nth-of-type(n) > span,
html body:not(.game-active) fieldset.level-group.level-group > label.menu-choice.menu-choice:nth-of-type(n) > span {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body:not(.game-active) .menu-choice strong,
body:not(.game-active) .home-action-card strong,
body:not(.game-active) .competition-copy strong,
body:not(.game-active) .premium-action-text {
  min-width: 0 !important;
  max-width: 100% !important;
  color: var(--cream) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  white-space: normal !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  text-overflow: ellipsis !important;
}

body:not(.game-active) .variant-group .menu-choice strong {
  font-size: clamp(18px, 4.6vw, 23px) !important;
}

body:not(.game-active) .variant-group .menu-choice small,
body:not(.game-active) .level-group .menu-choice small,
body:not(.game-active) .home-action-card small,
body:not(.game-active) .competition-copy p,
body:not(.game-active) .home-highscore small {
  min-width: 0 !important;
  max-width: 100% !important;
  color: rgba(255, 230, 190, 0.9) !important;
  font-size: clamp(12px, 3vw, 15px) !important;
  line-height: 1.22 !important;
  white-space: normal !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

body:not(.game-active) .level-group .menu-choice {
  min-height: clamp(100px, 14dvh, 130px) !important;
  padding: clamp(10px, 2.6vw, 14px) clamp(8px, 2vw, 12px) !important;
  display: grid !important;
  grid-template-rows: clamp(34px, 10vw, 48px) auto !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 6px !important;
  text-align: center !important;
}

body:not(.game-active) .level-group .menu-choice:nth-of-type(1)::before {
  background-image: url("./assets/vertical-menu/icon-eenvoudig.png") !important;
}

body:not(.game-active) .level-group .menu-choice:nth-of-type(2)::before {
  background-image: url("./assets/vertical-menu/icon-klaver.png") !important;
}

body:not(.game-active) .level-group .menu-choice:nth-of-type(3)::before {
  background-image: url("./assets/vertical-menu/icon-statistieken.png") !important;
}

body:not(.game-active) .level-group .menu-choice strong {
  font-size: clamp(13px, 3.2vw, 17px) !important;
  text-align: center !important;
}

body:not(.game-active) .level-group .menu-choice small {
  font-size: clamp(9px, 2.35vw, 12px) !important;
  text-align: center !important;
}

body:not(.game-active) .home-options-section {
  padding-top: clamp(13px, 3vw, 17px) !important;
}

body:not(.game-active) .home-action-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(9px, 2.2vw, 12px) !important;
}

body:not(.game-active) .home-action-card {
  min-height: clamp(70px, 10dvh, 88px) !important;
  padding: clamp(10px, 2.8vw, 14px) !important;
  display: grid !important;
  grid-template-columns: clamp(44px, 12vw, 58px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(12px, 3vw, 16px) !important;
  text-align: left !important;
}

body:not(.game-active) .home-action-icon {
  width: clamp(44px, 12vw, 58px) !important;
  height: clamp(44px, 12vw, 58px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: center / contain no-repeat !important;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.55)) !important;
}

body:not(.game-active) .home-action-icon svg {
  display: none !important;
}

body:not(.game-active) .home-action-card:nth-child(1) .home-action-icon {
  background-image: url("./assets/vertical-menu/icon-tafels.png") !important;
}

body:not(.game-active) .home-action-card:nth-child(2) .home-action-icon {
  background-image: url("./assets/vertical-menu/icon-speel-nu.png") !important;
}

body:not(.game-active) .home-action-card:nth-child(3) .home-action-icon {
  background-image: url("./assets/vertical-menu/icon-instellingen.png") !important;
}

body:not(.game-active) .home-action-card strong {
  font-size: clamp(18px, 4.5vw, 24px) !important;
  text-transform: none !important;
}

body:not(.game-active) .home-action-card small {
  margin-top: 3px !important;
  font-size: clamp(12px, 3vw, 15px) !important;
}

body:not(.game-active) .competition-entry {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(10px, 2.5vw, 14px) !important;
}

body:not(.game-active) .competition-copy {
  width: 100% !important;
  min-width: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: clamp(48px, 12vw, 62px) minmax(0, 1fr) !important;
  gap: clamp(12px, 3vw, 16px) !important;
  align-items: center !important;
  border: 0 !important;
  background: transparent !important;
}

body:not(.game-active) .competition-copy::before {
  content: "" !important;
  display: block !important;
  grid-row: 1 / span 3 !important;
  width: clamp(48px, 12vw, 62px) !important;
  height: clamp(48px, 12vw, 62px) !important;
  background: url("./assets/vertical-menu/icon-ranglijst.png") center / contain no-repeat !important;
  filter: drop-shadow(0 5px 9px rgba(0, 0, 0, 0.55)) !important;
}

body:not(.game-active) .online-kicker {
  grid-column: 1 / -1 !important;
  margin-bottom: 0 !important;
}

body:not(.game-active) .competition-copy strong {
  font-size: clamp(19px, 4.6vw, 25px) !important;
}

body:not(.game-active) .competition-copy p {
  margin: 2px 0 0 !important;
}

body:not(.game-active) .home-highscore {
  width: 100% !important;
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: clamp(88px, 13dvh, 118px) !important;
  padding: clamp(12px, 3vw, 16px) !important;
  display: grid !important;
  grid-template-columns: clamp(56px, 15vw, 74px) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(12px, 3vw, 16px) !important;
  border: 1.25px solid rgba(208, 126, 32, 0.85) !important;
  border-radius: clamp(10px, 2.6vw, 15px) !important;
  background: linear-gradient(180deg, rgba(33, 20, 9, 0.94), rgba(11, 8, 5, 0.96)) !important;
  overflow: hidden !important;
}

body:not(.game-active) .home-trophy {
  grid-row: 1 / span 3 !important;
  width: clamp(56px, 15vw, 74px) !important;
  height: clamp(56px, 15vw, 74px) !important;
}

body:not(.game-active) .winner-label {
  color: var(--gold) !important;
  font-size: clamp(12px, 3vw, 15px) !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
  text-transform: uppercase !important;
}

body:not(.game-active) .home-highscore strong {
  color: var(--cream) !important;
  font-size: clamp(20px, 5.1vw, 28px) !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}

body:not(.game-active) .online-entry-actions {
  width: 100% !important;
  grid-column: auto !important;
  grid-row: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(8px, 2vw, 12px) !important;
}

body:not(.game-active) .premium-action {
  min-height: clamp(56px, 8dvh, 70px) !important;
  padding: clamp(9px, 2.4vw, 12px) !important;
  display: grid !important;
  grid-template-columns: clamp(34px, 9vw, 44px) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(9px, 2.2vw, 12px) !important;
  text-align: left !important;
}

body:not(.game-active) .premium-action-icon {
  width: clamp(34px, 9vw, 44px) !important;
  height: clamp(34px, 9vw, 44px) !important;
  color: #f7d985 !important;
}

body:not(.game-active) .premium-action svg {
  width: 100% !important;
  height: 100% !important;
}

body:not(.game-active) .premium-action-text {
  font-size: clamp(15px, 3.7vw, 19px) !important;
}

body:not(.game-active) .premium-action small {
  padding: 2px 8px !important;
  border: 1px solid rgba(239, 184, 70, 0.85) !important;
  border-radius: 999px !important;
  color: #f3c65f !important;
  font-size: clamp(9px, 2.3vw, 12px) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

body:not(.game-active) .start-menu-panel > .start-game-button {
  order: 99 !important;
  width: 100% !important;
  min-height: clamp(76px, 11dvh, 104px) !important;
  margin: 0 !important;
  padding: clamp(12px, 3vw, 18px) clamp(18px, 4vw, 26px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(12px, 3vw, 18px) !important;
  border: 2px solid rgba(255, 210, 89, 0.95) !important;
  border-radius: clamp(15px, 3.4vw, 22px) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(124, 198, 75, 0.25), transparent 60%),
    linear-gradient(180deg, #26732e, #0b511a 58%, #063812) !important;
  box-shadow:
    inset 0 2px 0 rgba(255, 244, 185, 0.25),
    0 14px 22px rgba(0, 0, 0, 0.42) !important;
  color: #f5d783 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(30px, 7.2vw, 44px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.65) !important;
  overflow: hidden !important;
}

body:not(.game-active) .start-menu-panel > .start-game-button::before {
  content: "" !important;
  display: block !important;
  width: clamp(42px, 10vw, 58px) !important;
  height: clamp(42px, 10vw, 58px) !important;
  flex: 0 0 clamp(42px, 10vw, 58px) !important;
  background: url("./assets/vertical-menu/icon-speel-nu.png") center / contain no-repeat !important;
}

body:not(.game-active) .start-menu-panel > .start-game-button::after {
  content: none !important;
  display: none !important;
}

body:not(.game-active) .menu-error {
  display: none !important;
}

@media (max-width: 390px) {
  body:not(.game-active) .start-menu {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  body:not(.game-active) .brand-showcase {
    height: clamp(300px, 43dvh, 430px) !important;
    min-height: 300px !important;
  }

  body:not(.game-active) .start-menu-panel {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}

@media (min-width: 760px) and (orientation: landscape) {
  body:not(.game-active) .start-menu {
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: clamp(10px, 1.6dvh, 20px) clamp(12px, 1.6vw, 28px) !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 50% 40%, rgba(211, 143, 44, 0.12), transparent 42%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.46)),
      url("./assets/vertical-menu/background-staand.png") center / cover no-repeat !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 1500px) !important;
    max-width: 1500px !important;
    height: 100% !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(430px, 0.82fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    column-gap: clamp(16px, 2vw, 34px) !important;
    row-gap: clamp(10px, 1.6dvh, 18px) !important;
    align-items: center !important;
  }

  body:not(.game-active) .brand-showcase {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    height: min(86dvh, 760px) !important;
    min-height: 0 !important;
    align-self: center !important;
    background-size: contain !important;
    background-position: center center !important;
  }

  body:not(.game-active) .start-menu-panel {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 100% !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    gap: clamp(6px, 1.1dvh, 10px) !important;
    align-content: center !important;
    overflow: visible !important;
  }

  html body:not(.game-active) main.start-menu .start-menu-stage > .start-menu-panel.start-menu-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
  }

  body:not(.game-active) .start-menu-panel > * {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body:not(.game-active) .home-section,
  body:not(.game-active) .menu-group,
  body:not(.game-active) .competition-entry {
    padding: clamp(8px, 1.25dvh, 12px) !important;
    border-radius: clamp(12px, 1.4vw, 18px) !important;
  }

  body:not(.game-active) .menu-group legend,
  body:not(.game-active) .home-options-section h2,
  body:not(.game-active) .online-kicker {
    margin-bottom: clamp(4px, 0.75dvh, 8px) !important;
    font-size: clamp(13px, 1.25vw, 18px) !important;
  }

  body:not(.game-active) .variant-group {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: clamp(56px, 13dvh, 76px) !important;
    grid-template-columns: clamp(36px, 4.4vw, 52px) minmax(0, 1fr) !important;
    padding: clamp(10px, 1.5dvh, 15px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice strong {
    font-size: clamp(14px, 1.35vw, 19px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice small {
    display: none !important;
    font-size: clamp(9px, 0.82vw, 12px) !important;
    -webkit-line-clamp: 1 !important;
  }

  body:not(.game-active) .level-group {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: clamp(52px, 12dvh, 70px) !important;
    grid-template-rows: clamp(22px, 3vw, 34px) auto !important;
  }

  body:not(.game-active) .level-group .menu-choice strong {
    font-size: clamp(14px, 1.2vw, 18px) !important;
  }

  body:not(.game-active) .level-group .menu-choice small {
    font-size: clamp(8px, 0.75vw, 11px) !important;
    -webkit-line-clamp: 1 !important;
  }

  body:not(.game-active) .home-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .home-action-card {
    min-height: clamp(44px, 10dvh, 60px) !important;
    grid-template-columns: clamp(28px, 3.8vw, 42px) minmax(0, 1fr) !important;
    padding: clamp(8px, 1.2dvh, 12px) !important;
    gap: clamp(7px, 0.8vw, 12px) !important;
  }

  body:not(.game-active) .home-action-icon {
    width: clamp(28px, 3.8vw, 42px) !important;
    height: clamp(28px, 3.8vw, 42px) !important;
  }

  body:not(.game-active) .home-action-card strong {
    font-size: clamp(14px, 1.15vw, 18px) !important;
  }

  body:not(.game-active) .home-action-card small {
    font-size: clamp(10px, 0.86vw, 13px) !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(9px, 1vw, 13px) !important;
  }

  body:not(.game-active) .competition-copy {
    display: none !important;
    grid-template-columns: clamp(40px, 4vw, 54px) minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  body:not(.game-active) .competition-copy::before {
    width: clamp(40px, 4vw, 54px) !important;
    height: clamp(40px, 4vw, 54px) !important;
  }

  body:not(.game-active) .competition-copy strong {
    font-size: clamp(13px, 1.15vw, 18px) !important;
  }

  body:not(.game-active) .competition-copy p {
    display: none !important;
  }

  body:not(.game-active) .home-highscore {
    min-height: clamp(48px, 9dvh, 68px) !important;
    grid-template-columns: clamp(36px, 4vw, 50px) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .home-trophy {
    width: clamp(36px, 4vw, 50px) !important;
    height: clamp(36px, 4vw, 50px) !important;
  }

  body:not(.game-active) .home-highscore strong {
    font-size: clamp(14px, 1.25vw, 20px) !important;
  }

  body:not(.game-active) .online-entry-actions {
    grid-column: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .premium-action {
    min-height: clamp(42px, 8dvh, 58px) !important;
    grid-template-columns: clamp(24px, 3vw, 36px) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    text-align: center !important;
    justify-items: center !important;
  }

  body:not(.game-active) .premium-action-icon {
    width: clamp(24px, 3vw, 36px) !important;
    height: clamp(24px, 3vw, 36px) !important;
  }

  body:not(.game-active) .premium-action-text {
    grid-column: 2 !important;
    font-size: clamp(12px, 1vw, 16px) !important;
    text-align: center !important;
  }

  body:not(.game-active) .premium-action small {
    grid-column: 1 / -1 !important;
    font-size: clamp(8px, 0.75vw, 11px) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    min-height: clamp(44px, 8.5dvh, 64px) !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    font-size: clamp(24px, 2.8vw, 40px) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button::before {
    width: clamp(28px, 3.4vw, 42px) !important;
    height: clamp(28px, 3.4vw, 42px) !important;
    flex-basis: clamp(28px, 3.4vw, 42px) !important;
  }

  html body:not(.game-active) main.start-menu .start-menu-panel > button.start-game-button.start-game-button {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
  }
}

@media (min-width: 1120px) and (orientation: landscape) {
  body:not(.game-active) .start-menu-stage {
    grid-template-columns: minmax(0, 1.28fr) minmax(500px, 0.72fr) !important;
  }
}

/* Final reference lock: keep the start menu aligned to the supplied portrait
   and landscape compositions without touching the existing app logic. */
body:not(.game-active) .start-menu {
  --menu-side: clamp(10px, 3vw, 22px);
}

body:not(.game-active) .brand-showcase {
  background-position: center top !important;
}

body:not(.game-active) .variant-group .menu-choice,
body:not(.game-active) .level-group .menu-choice,
body:not(.game-active) .home-action-card,
body:not(.game-active) .premium-action {
  contain: layout paint !important;
}

body:not(.game-active) .menu-choice strong,
body:not(.game-active) .home-action-card strong,
body:not(.game-active) .premium-action-text,
body:not(.game-active) .home-highscore strong {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body:not(.game-active) .start-menu-panel > .start-game-button,
body:not(.game-active) .start-menu-panel > .start-game-button:hover,
body:not(.game-active) .start-menu-panel > .start-game-button:active,
body:not(.game-active) .start-menu-panel > .start-game-button:focus-visible {
  color: #f4d37b !important;
}

@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .start-menu {
    padding: max(8px, env(safe-area-inset-top)) var(--menu-side) max(12px, env(safe-area-inset-bottom)) !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 468px) !important;
    gap: clamp(10px, 1.45dvh, 16px) !important;
  }

  body:not(.game-active) .brand-showcase {
    height: clamp(310px, 43dvh, 500px) !important;
    min-height: 0 !important;
    background-size: contain !important;
  }

  body:not(.game-active) .start-menu-panel {
    width: min(100%, 430px) !important;
    gap: clamp(9px, 1.25dvh, 13px) !important;
    padding-inline: 0 !important;
  }

  body:not(.game-active) .home-section,
  body:not(.game-active) .menu-group,
  body:not(.game-active) .competition-entry {
    padding: clamp(11px, 2.5vw, 15px) !important;
  }

  body:not(.game-active) .variant-group {
    grid-template-columns: 1fr !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: clamp(78px, 9dvh, 104px) !important;
    grid-template-columns: clamp(58px, 14vw, 74px) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .variant-group .menu-choice strong {
    font-size: clamp(17px, 4.05vw, 22px) !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: clamp(84px, 10dvh, 108px) !important;
    grid-template-rows: clamp(34px, 8vw, 46px) auto !important;
  }

  body:not(.game-active) .home-action-grid {
    grid-template-columns: 1fr !important;
  }

  body:not(.game-active) .competition-entry {
    gap: clamp(9px, 1.2dvh, 12px) !important;
  }

  body:not(.game-active) .online-entry-actions {
    grid-template-columns: 1fr !important;
  }

  body:not(.game-active) .premium-action {
    min-height: clamp(52px, 6.5dvh, 66px) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    min-height: clamp(66px, 8.5dvh, 84px) !important;
    font-size: clamp(26px, 6vw, 36px) !important;
  }
}

@media (min-width: 760px) and (orientation: landscape) {
  body:not(.game-active) .start-menu {
    height: 100dvh !important;
    padding: clamp(8px, 1.8dvh, 16px) clamp(12px, 1.8vw, 24px) !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 1500px) !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.22fr) minmax(360px, 0.78fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: clamp(10px, 1.5vw, 22px) clamp(14px, 2vw, 30px) !important;
    align-items: stretch !important;
  }

  body:not(.game-active) .brand-showcase {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
    background-position: center center !important;
    background-size: contain !important;
  }

  body:not(.game-active) .start-menu-panel {
    display: contents !important;
  }

  body:not(.game-active) .start-menu-panel > .variant-group,
  body:not(.game-active) .start-menu-panel > .level-group,
  body:not(.game-active) .start-menu-panel > .home-options-section,
  body:not(.game-active) .start-menu-panel > .competition-entry {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body:not(.game-active) .start-menu-panel > .variant-group {
    grid-row: 1 !important;
    align-self: start !important;
    margin-top: 0 !important;
  }

  body:not(.game-active) .start-menu-panel > .level-group {
    grid-row: 1 !important;
    align-self: center !important;
  }

  body:not(.game-active) .start-menu-panel > .home-options-section {
    grid-row: 1 !important;
    align-self: end !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: min(100%, 920px) !important;
    justify-self: start !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: min(100%, 470px) !important;
    justify-self: end !important;
    align-self: stretch !important;
    min-height: clamp(56px, 13dvh, 82px) !important;
    margin: 0 !important;
    padding: clamp(8px, 1.6dvh, 14px) clamp(16px, 2vw, 24px) !important;
    font-size: clamp(28px, 3.1vw, 46px) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button::before {
    width: clamp(34px, 4vw, 54px) !important;
    height: clamp(34px, 4vw, 54px) !important;
    flex-basis: clamp(34px, 4vw, 54px) !important;
  }

  body:not(.game-active) .home-section,
  body:not(.game-active) .menu-group,
  body:not(.game-active) .competition-entry {
    padding: clamp(9px, 1.4dvh, 13px) !important;
  }

  body:not(.game-active) .variant-group {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: clamp(68px, 15dvh, 96px) !important;
    grid-template-columns: clamp(38px, 4.4vw, 56px) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .variant-group .menu-choice strong {
    font-size: clamp(15px, 1.35vw, 20px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice small {
    display: -webkit-box !important;
    font-size: clamp(10px, 0.9vw, 13px) !important;
    -webkit-line-clamp: 2 !important;
  }

  body:not(.game-active) .level-group {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: clamp(70px, 15dvh, 98px) !important;
  }

  body:not(.game-active) .home-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .home-action-card {
    min-height: clamp(56px, 12dvh, 78px) !important;
    grid-template-columns: clamp(30px, 3.2vw, 44px) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .home-action-card strong {
    font-size: clamp(14px, 1.1vw, 18px) !important;
  }

  body:not(.game-active) .home-action-card small {
    font-size: clamp(9px, 0.85vw, 12px) !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-columns: minmax(200px, 1.2fr) minmax(210px, 1fr) minmax(260px, 1.35fr) !important;
    align-items: stretch !important;
    gap: clamp(8px, 1vw, 14px) !important;
  }

  body:not(.game-active) .competition-copy {
    display: grid !important;
    grid-template-columns: clamp(38px, 4vw, 54px) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .competition-copy p {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
  }

  body:not(.game-active) .home-highscore {
    min-height: 0 !important;
    grid-template-columns: clamp(42px, 4.2vw, 58px) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .home-trophy {
    width: clamp(42px, 4.2vw, 58px) !important;
    height: clamp(42px, 4.2vw, 58px) !important;
  }

  body:not(.game-active) .online-entry-actions {
    grid-column: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .premium-action {
    min-height: clamp(58px, 13dvh, 80px) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: clamp(24px, 3.2vw, 38px) auto auto !important;
    justify-items: center !important;
    text-align: center !important;
    padding: clamp(7px, 1.1dvh, 10px) !important;
  }

  body:not(.game-active) .premium-action-icon,
  body:not(.game-active) .premium-action-text,
  body:not(.game-active) .premium-action small {
    grid-column: 1 !important;
  }

  body:not(.game-active) .premium-action-text {
    font-size: clamp(12px, 1vw, 16px) !important;
  }
}

@media (min-width: 760px) and (orientation: landscape) and (max-height: 500px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-columns: minmax(0, 1.16fr) minmax(330px, 0.84fr) !important;
    gap: 8px 14px !important;
  }

  body:not(.game-active) .menu-group legend,
  body:not(.game-active) .home-options-section h2,
  body:not(.game-active) .online-kicker {
    margin-bottom: 4px !important;
    font-size: clamp(12px, 1.15vw, 15px) !important;
  }

  body:not(.game-active) .home-section,
  body:not(.game-active) .menu-group,
  body:not(.game-active) .competition-entry {
    padding: 7px !important;
  }

  body:not(.game-active) .variant-group .menu-choice,
  body:not(.game-active) .level-group .menu-choice {
    min-height: 58px !important;
    padding: 8px !important;
  }

  body:not(.game-active) .variant-group .menu-choice small,
  body:not(.game-active) .level-group .menu-choice small,
  body:not(.game-active) .home-action-card small,
  body:not(.game-active) .competition-copy p {
    display: none !important;
  }

  body:not(.game-active) .home-action-card,
  body:not(.game-active) .premium-action {
    min-height: 46px !important;
    padding: 7px !important;
  }

  body:not(.game-active) .competition-entry {
    width: min(100%, 760px) !important;
    grid-template-columns: minmax(160px, 0.85fr) minmax(160px, 0.9fr) minmax(230px, 1.25fr) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    width: min(100%, 420px) !important;
    min-height: 50px !important;
    font-size: clamp(24px, 2.8vw, 34px) !important;
  }
}

/* Portrait reference v2: one-page premium menu, matching the supplied vertical
   composition more closely while keeping all existing buttons and IDs intact. */
@media (orientation: portrait), (max-width: 759px) {
  html,
  body:not(.game-active) {
    min-height: 100dvh !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu {
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: max(2px, env(safe-area-inset-top)) clamp(8px, 2.7vw, 14px) max(8px, env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 470px) !important;
    max-width: 470px !important;
    height: 100% !important;
    display: grid !important;
    grid-template-rows: minmax(176px, 25.5dvh) minmax(0, 1fr) !important;
    gap: clamp(5px, 0.75dvh, 9px) !important;
    align-content: stretch !important;
  }

  body:not(.game-active) .brand-showcase {
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch !important;
    background-size: contain !important;
    background-position: center top !important;
    transform: translateY(-2px) !important;
  }

  body:not(.game-active) .start-menu-panel {
    width: min(100%, 448px) !important;
    max-width: 448px !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important;
    gap: clamp(5px, 0.7dvh, 8px) !important;
    align-content: stretch !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .home-section,
  body:not(.game-active) .menu-group,
  body:not(.game-active) .competition-entry {
    padding: clamp(7px, 1.9vw, 10px) !important;
    border-width: 1.25px !important;
    border-radius: clamp(12px, 3vw, 18px) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .menu-group legend,
  body:not(.game-active) .home-options-section h2,
  body:not(.game-active) .online-kicker {
    margin-bottom: clamp(3px, 0.5dvh, 6px) !important;
    padding-inline: 10px !important;
    font-size: clamp(12px, 3vw, 16px) !important;
    line-height: 1.1 !important;
    letter-spacing: 0.04em !important;
  }

  body:not(.game-active) .variant-group {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(7px, 1.8vw, 10px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: clamp(72px, 9.5dvh, 94px) !important;
    padding: clamp(7px, 1.8vw, 10px) !important;
    grid-template-columns: clamp(38px, 9.5vw, 52px) minmax(0, 1fr) !important;
    gap: clamp(7px, 1.8vw, 10px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice strong {
    font-size: clamp(13px, 3.25vw, 17px) !important;
    line-height: 1.12 !important;
    -webkit-line-clamp: 2 !important;
  }

  body:not(.game-active) .variant-group .menu-choice small {
    display: -webkit-box !important;
    font-size: clamp(9px, 2.15vw, 11px) !important;
    line-height: 1.12 !important;
    -webkit-line-clamp: 2 !important;
  }

  body:not(.game-active) .level-group {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 1.5vw, 9px) !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: clamp(68px, 8.4dvh, 86px) !important;
    padding: clamp(6px, 1.6vw, 9px) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: clamp(26px, 6.5vw, 34px) auto auto !important;
    justify-items: center !important;
    gap: 3px !important;
    text-align: center !important;
  }

  body:not(.game-active) .level-group .menu-choice::before {
    width: clamp(28px, 7vw, 36px) !important;
    height: clamp(28px, 7vw, 36px) !important;
    aspect-ratio: auto !important;
  }

  body:not(.game-active) .level-group .menu-choice strong {
    font-size: clamp(12px, 2.9vw, 15px) !important;
    line-height: 1.05 !important;
  }

  body:not(.game-active) .level-group .menu-choice small {
    font-size: clamp(8px, 1.95vw, 10px) !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 2 !important;
  }

  body:not(.game-active) .home-options-section {
    padding-top: clamp(7px, 1.8vw, 10px) !important;
  }

  body:not(.game-active) .home-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 1.5vw, 9px) !important;
  }

  body:not(.game-active) .home-action-card {
    min-height: clamp(48px, 6dvh, 62px) !important;
    padding: clamp(6px, 1.6vw, 8px) !important;
    grid-template-columns: clamp(24px, 6.4vw, 32px) minmax(0, 1fr) !important;
    gap: clamp(5px, 1.4vw, 8px) !important;
    text-align: left !important;
  }

  body:not(.game-active) .home-action-icon {
    width: clamp(24px, 6.4vw, 32px) !important;
    height: clamp(24px, 6.4vw, 32px) !important;
  }

  body:not(.game-active) .home-action-card strong {
    font-size: clamp(12px, 3vw, 15px) !important;
    line-height: 1.1 !important;
  }

  body:not(.game-active) .home-action-card small {
    display: none !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    gap: clamp(5px, 0.65dvh, 8px) !important;
    min-height: 0 !important;
  }

  body:not(.game-active) .competition-copy {
    display: grid !important;
    grid-template-columns: clamp(30px, 7.5vw, 38px) minmax(0, 1fr) !important;
    gap: clamp(7px, 1.7vw, 10px) !important;
    align-items: center !important;
  }

  body:not(.game-active) .competition-copy::before {
    width: clamp(30px, 7.5vw, 38px) !important;
    height: clamp(30px, 7.5vw, 38px) !important;
  }

  body:not(.game-active) .competition-copy .online-kicker {
    grid-column: 1 / -1 !important;
    margin-bottom: 0 !important;
  }

  body:not(.game-active) .competition-copy strong {
    font-size: clamp(13px, 3.1vw, 16px) !important;
    line-height: 1.12 !important;
  }

  body:not(.game-active) .competition-copy p {
    display: none !important;
  }

  body:not(.game-active) .home-highscore {
    min-height: clamp(54px, 7dvh, 72px) !important;
    padding: clamp(7px, 1.8vw, 10px) !important;
    grid-template-columns: clamp(38px, 9.5vw, 50px) minmax(0, 1fr) !important;
    gap: clamp(8px, 2vw, 11px) !important;
  }

  body:not(.game-active) .home-trophy {
    width: clamp(38px, 9.5vw, 50px) !important;
    height: clamp(38px, 9.5vw, 50px) !important;
  }

  body:not(.game-active) .winner-label {
    font-size: clamp(10px, 2.35vw, 12px) !important;
    line-height: 1.08 !important;
  }

  body:not(.game-active) .home-highscore strong {
    font-size: clamp(15px, 3.8vw, 20px) !important;
    line-height: 1.1 !important;
  }

  body:not(.game-active) .home-highscore small {
    font-size: clamp(9px, 2.25vw, 11px) !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 1 !important;
  }

  body:not(.game-active) .online-entry-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 1.5vw, 9px) !important;
  }

  body:not(.game-active) .premium-action {
    min-height: clamp(48px, 6.2dvh, 62px) !important;
    padding: clamp(5px, 1.4vw, 8px) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: clamp(20px, 5.4vw, 28px) auto auto !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 2px !important;
  }

  body:not(.game-active) .premium-action-icon,
  body:not(.game-active) .premium-action-text,
  body:not(.game-active) .premium-action small {
    grid-column: 1 !important;
  }

  body:not(.game-active) .premium-action-icon {
    width: clamp(20px, 5.4vw, 28px) !important;
    height: clamp(20px, 5.4vw, 28px) !important;
  }

  body:not(.game-active) .premium-action-text {
    font-size: clamp(10px, 2.45vw, 13px) !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 1 !important;
  }

  body:not(.game-active) .premium-action small {
    padding: 1px 5px !important;
    font-size: clamp(7px, 1.8vw, 9px) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    min-height: clamp(54px, 6.8dvh, 72px) !important;
    padding: clamp(7px, 1.8vw, 10px) clamp(12px, 3vw, 18px) !important;
    font-size: clamp(23px, 5.8vw, 34px) !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button::before {
    width: clamp(30px, 7.6vw, 42px) !important;
    height: clamp(30px, 7.6vw, 42px) !important;
    flex-basis: clamp(30px, 7.6vw, 42px) !important;
  }
}

@media (orientation: portrait) and (max-height: 760px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-rows: minmax(142px, 21dvh) minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  body:not(.game-active) .start-menu-panel {
    gap: 4px !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: 62px !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: 58px !important;
  }

  body:not(.game-active) .home-action-card,
  body:not(.game-active) .premium-action {
    min-height: 42px !important;
  }

  body:not(.game-active) .home-highscore {
    min-height: 48px !important;
  }

  body:not(.game-active) .variant-group .menu-choice small,
  body:not(.game-active) .level-group .menu-choice small,
  body:not(.game-active) .home-highscore small,
  body:not(.game-active) .premium-action small {
    display: none !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    min-height: 48px !important;
  }
}

/* Reference v3: keep option and competition buttons in horizontal rows and
   reserve visible room for the CTA on every portrait viewport. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-rows: minmax(132px, 21.5dvh) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .brand-showcase {
    transform: translateY(-8px) !important;
  }

  body:not(.game-active) .start-menu-panel {
    grid-template-rows: auto auto auto minmax(0, 1fr) clamp(48px, 6.4dvh, 62px) !important;
    gap: clamp(4px, 0.55dvh, 7px) !important;
  }

  body:not(.game-active) .home-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .home-action-card {
    min-height: clamp(42px, 5.4dvh, 56px) !important;
    padding: clamp(5px, 1.25vw, 7px) !important;
    grid-template-columns: clamp(22px, 5.6vw, 30px) minmax(0, 1fr) !important;
    gap: clamp(4px, 1vw, 6px) !important;
  }

  body:not(.game-active) .home-action-icon {
    width: clamp(22px, 5.6vw, 30px) !important;
    height: clamp(22px, 5.6vw, 30px) !important;
  }

  body:not(.game-active) .home-action-card strong {
    font-size: clamp(10px, 2.55vw, 13px) !important;
    -webkit-line-clamp: 1 !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
  }

  body:not(.game-active) .online-entry-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body:not(.game-active) .premium-action {
    min-height: clamp(42px, 5.5dvh, 56px) !important;
    padding: clamp(4px, 1.1vw, 7px) !important;
  }

  body:not(.game-active) .premium-action-icon {
    width: clamp(20px, 5vw, 26px) !important;
    height: clamp(20px, 5vw, 26px) !important;
  }

  body:not(.game-active) .premium-action-text {
    font-size: clamp(9px, 2.25vw, 12px) !important;
    -webkit-line-clamp: 1 !important;
  }

  body:not(.game-active) .premium-action small {
    display: block !important;
    font-size: clamp(6px, 1.55vw, 8px) !important;
    padding: 1px 4px !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    grid-row: 5 !important;
    align-self: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 4px 12px !important;
    font-size: clamp(21px, 5.2vw, 31px) !important;
  }
}

@media (orientation: portrait) and (max-height: 760px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-rows: minmax(110px, 17.5dvh) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .start-menu-panel {
    grid-template-rows: auto auto auto minmax(0, 1fr) 44px !important;
    gap: 3px !important;
  }

  body:not(.game-active) .home-section,
  body:not(.game-active) .menu-group,
  body:not(.game-active) .competition-entry {
    padding: 5px !important;
  }

  body:not(.game-active) .menu-group legend,
  body:not(.game-active) .home-options-section h2,
  body:not(.game-active) .online-kicker {
    margin-bottom: 2px !important;
    font-size: clamp(10px, 2.35vw, 13px) !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: 54px !important;
  }

  body:not(.game-active) .level-group .menu-choice {
    min-height: 48px !important;
  }

  body:not(.game-active) .home-highscore {
    min-height: 40px !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button {
    height: 44px !important;
    font-size: clamp(19px, 4.8vw, 27px) !important;
  }
}

/* Final portrait row lock v6: options and competition actions must stay side by side. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .home-options-section {
    min-height: clamp(84px, 10.5dvh, 118px) !important;
    padding: clamp(8px, 1.1dvh, 12px) clamp(10px, 2.4vw, 14px) !important;
  }

  body:not(.game-active) .home-action-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 1.5vw, 10px) !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  body:not(.game-active) .home-action-card {
    min-width: 0 !important;
    min-height: clamp(50px, 7.1dvh, 68px) !important;
    padding: clamp(6px, 1.05dvh, 9px) clamp(5px, 1.5vw, 8px) !important;
    display: grid !important;
    grid-template-columns: clamp(24px, 6.6vw, 34px) minmax(0, 1fr) !important;
    gap: clamp(4px, 1.15vw, 8px) !important;
    align-items: center !important;
    justify-items: start !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .home-action-card .home-action-icon,
  body:not(.game-active) .home-action-card .home-action-icon svg {
    width: clamp(24px, 6.6vw, 34px) !important;
    height: clamp(24px, 6.6vw, 34px) !important;
    margin: 0 !important;
  }

  body:not(.game-active) .home-action-card > span:not(.home-action-icon) {
    min-width: 0 !important;
    max-width: 100% !important;
    display: block !important;
  }

  body:not(.game-active) .home-action-card strong {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(10px, 2.7vw, 14px) !important;
    line-height: 1.08 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.game-active) .home-action-card small {
    display: none !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: clamp(7px, 1dvh, 10px) !important;
    min-height: clamp(152px, 19dvh, 214px) !important;
    padding: clamp(9px, 1.2dvh, 13px) clamp(10px, 2.4vw, 14px) !important;
    align-content: stretch !important;
  }

  body:not(.game-active) .competition-entry .competition-copy {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .daily-score-card {
    grid-row: 2 !important;
    min-height: clamp(58px, 7.8dvh, 82px) !important;
    margin: 0 !important;
    padding: clamp(7px, 1.05dvh, 11px) !important;
    display: grid !important;
    grid-template-columns: clamp(38px, 10vw, 56px) minmax(0, 1fr) !important;
    gap: clamp(8px, 2vw, 12px) !important;
    align-items: center !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(6px, 1.6vw, 10px) !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body:not(.game-active) .competition-entry .premium-action {
    min-width: 0 !important;
    min-height: clamp(52px, 7.4dvh, 72px) !important;
    padding: clamp(6px, 1dvh, 9px) clamp(4px, 1.2vw, 7px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: clamp(22px, 5.8vw, 30px) auto auto !important;
    gap: 2px !important;
    align-items: center !important;
    justify-items: center !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon,
  body:not(.game-active) .competition-entry .premium-action-icon svg {
    width: clamp(22px, 5.8vw, 30px) !important;
    height: clamp(22px, 5.8vw, 30px) !important;
    margin: 0 !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(9px, 2.25vw, 12px) !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    display: inline-block !important;
    max-width: 100% !important;
    font-size: clamp(7px, 1.75vw, 9px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .home-action-grid > .home-action-card,
  body:not(.game-active) .competition-entry .online-entry-actions > .premium-action {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
  }

  body:not(.game-active) .home-action-grid > .home-action-card[data-info="rules"],
  body:not(.game-active) .home-action-grid > #startDemoHomeButton,
  body:not(.game-active) .home-action-grid > #openSettingsButton,
  body:not(.game-active) .competition-entry .online-entry-actions > #openOnlineButton,
  body:not(.game-active) .competition-entry .online-entry-actions > #openDailyButton,
  body:not(.game-active) .competition-entry .online-entry-actions > #openRankingsButton {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
  }
}

/* Final button polish v7: no green demo state, no blue premium cards, one centered icon only. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) #startDemoHomeButton,
  body:not(.game-active) #startDemoHomeButton.primary {
    background:
      linear-gradient(145deg, rgba(18, 10, 5, 0.78), rgba(45, 27, 13, 0.58)) !important;
    border-color: rgba(205, 146, 55, 0.82) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 230, 166, 0.16),
      0 7px 16px rgba(0, 0, 0, 0.38) !important;
  }

  body:not(.game-active) #startDemoHomeButton strong {
    font-size: clamp(10px, 2.7vw, 14px) !important;
  }

  body:not(.game-active) #startDemoHomeButton strong::after {
    content: none !important;
    display: none !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    background:
      linear-gradient(145deg, rgba(11, 23, 19, 0.62), rgba(30, 19, 9, 0.48)) !important;
    border: 1px solid rgba(213, 157, 67, 0.64) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 235, 174, 0.12),
      0 6px 13px rgba(0, 0, 0, 0.32) !important;
    color: #f7e8bd !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    justify-self: center !important;
    align-self: center !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon svg {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    align-self: center !important;
    justify-self: center !important;
    width: 100% !important;
    color: #fff0c4 !important;
    font-size: clamp(8.5px, 2.15vw, 11.5px) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    align-self: center !important;
    justify-self: center !important;
    color: #f0bd47 !important;
    border-color: rgba(240, 189, 71, 0.72) !important;
    background: rgba(36, 24, 7, 0.72) !important;
  }
}

/* Absolute final portrait tune v8: placed last on purpose. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .start-menu-stage {
    position: relative !important;
    grid-template-rows: minmax(270px, 30dvh) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .brand-showcase {
    min-height: 0 !important;
    height: 100% !important;
  }

  body:not(.game-active) .start-menu-panel {
    grid-template-rows:
      minmax(96px, auto)
      minmax(104px, auto)
      minmax(72px, auto)
      minmax(176px, auto)
      clamp(52px, 6dvh, 62px) !important;
    gap: clamp(4px, 0.62dvh, 7px) !important;
  }

  body:not(.game-active) .start-menu-stage .home-player-section {
    display: grid !important;
    position: absolute !important;
    z-index: 8 !important;
    top: clamp(8px, 1.3dvh, 14px) !important;
    left: clamp(12px, 3vw, 18px) !important;
    width: min(58%, 270px) !important;
    min-height: clamp(48px, 7dvh, 64px) !important;
    height: auto !important;
    padding: clamp(6px, 1dvh, 9px) clamp(8px, 2vw, 12px) !important;
    grid-template-columns: clamp(34px, 9vw, 46px) minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: 2px clamp(7px, 1.8vw, 10px) !important;
    align-items: center !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, rgba(16, 10, 5, 0.82), rgba(39, 24, 12, 0.62)) !important;
    border: 1px solid rgba(213, 157, 67, 0.72) !important;
    border-radius: clamp(14px, 3vw, 20px) !important;
    box-shadow: 0 9px 18px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255, 232, 169, 0.14) !important;
  }

  body:not(.game-active) .home-player-section h2 {
    grid-column: 2 / 4 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    font-size: clamp(9px, 2.2vw, 12px) !important;
    line-height: 1 !important;
    letter-spacing: 0.08em !important;
  }

  body:not(.game-active) .home-player-section #menuAvatarPreview {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    display: grid !important;
    width: clamp(34px, 9vw, 46px) !important;
    height: clamp(34px, 9vw, 46px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-self: center !important;
    justify-self: center !important;
    font-size: clamp(15px, 4vw, 20px) !important;
  }

  body:not(.game-active) .home-player-section .player-name-field {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  body:not(.game-active) .home-player-section .player-name-field > span {
    display: none !important;
  }

  body:not(.game-active) .home-player-section #menuPlayerName {
    width: 100% !important;
    height: clamp(28px, 4.8dvh, 36px) !important;
    min-height: 0 !important;
    padding: 0 8px !important;
    font-size: clamp(13px, 3.2vw, 18px) !important;
    line-height: 1 !important;
  }

  body:not(.game-active) .home-player-section .player-photo-field {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: clamp(16px, 4vw, 20px) auto !important;
    gap: 5px !important;
    align-items: center !important;
    width: auto !important;
    height: clamp(28px, 4.8dvh, 36px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 8px !important;
    font-size: clamp(9px, 2.3vw, 12px) !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .home-options-section {
    min-height: clamp(70px, 8.2dvh, 92px) !important;
    height: auto !important;
    padding: clamp(6px, 0.8dvh, 9px) clamp(10px, 2.4vw, 14px) !important;
  }

  body:not(.game-active) .home-action-card {
    min-height: clamp(42px, 5.7dvh, 54px) !important;
    padding: clamp(4px, 0.7dvh, 7px) clamp(5px, 1.4vw, 8px) !important;
  }

  body:not(.game-active) .home-action-card strong,
  body:not(.game-active) #openSettingsButton strong,
  body:not(.game-active) #openSettingsButton strong::after {
    font-size: clamp(10px, 2.7vw, 14px) !important;
    line-height: 1.08 !important;
  }

  body:not(.game-active) .competition-entry {
    min-height: clamp(176px, 20dvh, 228px) !important;
    height: auto !important;
    grid-template-rows: auto minmax(54px, 0.9fr) minmax(68px, 1fr) !important;
    gap: clamp(6px, 0.8dvh, 9px) !important;
    padding: clamp(8px, 1dvh, 12px) clamp(10px, 2.4vw, 14px) !important;
  }

  body:not(.game-active) .competition-entry .daily-score-card {
    min-height: clamp(54px, 6.8dvh, 76px) !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    height: auto !important;
    min-height: clamp(68px, 8dvh, 86px) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    grid-auto-rows: 0 !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .competition-entry .premium-action {
    min-height: 0 !important;
    height: 100% !important;
    grid-template-rows: clamp(28px, 6.8vw, 38px) auto auto !important;
    gap: 3px !important;
    align-content: center !important;
    justify-content: center !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(28px, 6.8vw, 38px) !important;
    height: clamp(28px, 6.8vw, 38px) !important;
    align-self: center !important;
    justify-self: center !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    font-size: clamp(10px, 2.6vw, 13.5px) !important;
    line-height: 1.05 !important;
    min-height: 1.1em !important;
    align-self: center !important;
    justify-self: center !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .competition-entry .premium-action small,
  body:not(.game-active) .competition-entry #openOnlineButton small,
  body:not(.game-active) .competition-entry #openDailyButton small,
  body:not(.game-active) .competition-entry #openRankingsButton small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: clamp(7px, 1.85vw, 9px) !important;
    min-height: 12px !important;
    padding: 1px 5px !important;
  }
}

/* Request polish v10: compact options, player row inside competition, one logo, aligned premium buttons. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .brand-showcase {
    background: none !important;
  }

  body:not(.game-active) .brand-showcase::before,
  body:not(.game-active) .brand-showcase::after {
    content: none !important;
    display: none !important;
  }

  body:not(.game-active) #openSettingsButton strong::before,
  body:not(.game-active) #openSettingsButton strong::after {
    content: none !important;
    display: none !important;
  }

  body:not(.game-active) .home-options-section {
    min-height: clamp(70px, 6.2dvh, 92px) !important;
    height: auto !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-rows: auto minmax(54px, 0.75fr) minmax(48px, auto) minmax(70px, 0.85fr) !important;
    min-height: clamp(194px, 22dvh, 246px) !important;
    gap: clamp(5px, 0.68dvh, 8px) !important;
  }

  body:not(.game-active) .competition-entry .home-player-section {
    position: static !important;
    z-index: auto !important;
    display: grid !important;
    width: 100% !important;
    min-height: clamp(44px, 5.6dvh, 58px) !important;
    height: auto !important;
    padding: clamp(5px, 0.7dvh, 7px) clamp(7px, 1.8vw, 10px) !important;
    grid-template-columns: clamp(34px, 8vw, 42px) minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    gap: clamp(6px, 1.5vw, 10px) !important;
    align-items: center !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, rgba(13, 28, 20, 0.7), rgba(36, 22, 10, 0.48)) !important;
    border: 1px solid rgba(213, 157, 67, 0.62) !important;
    border-radius: clamp(12px, 2.6vw, 16px) !important;
    box-shadow: inset 0 1px 0 rgba(255, 232, 169, 0.12) !important;
  }

  body:not(.game-active) .competition-entry .home-player-section h2 {
    display: none !important;
  }

  body:not(.game-active) .competition-entry #menuAvatarPreview {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    width: clamp(34px, 8vw, 42px) !important;
    height: clamp(34px, 8vw, 42px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-self: center !important;
    justify-self: center !important;
    font-size: clamp(15px, 3.8vw, 19px) !important;
  }

  body:not(.game-active) .competition-entry .player-name-field {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }

  body:not(.game-active) .competition-entry .player-name-field > span {
    display: none !important;
  }

  body:not(.game-active) .competition-entry #menuPlayerName {
    width: 100% !important;
    height: clamp(30px, 4.2dvh, 36px) !important;
    min-height: 0 !important;
    padding: 0 clamp(7px, 1.8vw, 10px) !important;
    font-size: clamp(14px, 3.2vw, 18px) !important;
    line-height: 1 !important;
  }

  body:not(.game-active) .competition-entry .player-photo-field {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: clamp(16px, 3.8vw, 20px) auto !important;
    gap: 5px !important;
    align-items: center !important;
    width: auto !important;
    height: clamp(30px, 4.2dvh, 36px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 clamp(8px, 2vw, 11px) !important;
    font-size: clamp(10px, 2.35vw, 12.5px) !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    min-height: clamp(70px, 7.8dvh, 86px) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    grid-auto-rows: 0 !important;
    gap: clamp(6px, 1.6vw, 9px) !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: clamp(29px, 6.8vw, 38px) auto auto !important;
    align-items: center !important;
    justify-items: center !important;
    place-content: center !important;
    gap: 3px !important;
    padding: clamp(4px, 0.7dvh, 7px) 4px !important;
    background: linear-gradient(145deg, rgba(11, 23, 19, 0.62), rgba(30, 19, 9, 0.48)) !important;
    border: 1px solid rgba(213, 157, 67, 0.64) !important;
    color: #f7e8bd !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(29px, 6.8vw, 38px) !important;
    height: clamp(29px, 6.8vw, 38px) !important;
    margin: 0 !important;
    align-self: center !important;
    justify-self: center !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon svg {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    width: 100% !important;
    font-size: clamp(11px, 2.72vw, 14px) !important;
    line-height: 1.06 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  body:not(.game-active) .competition-entry .premium-action small,
  body:not(.game-active) .competition-entry #openOnlineButton small,
  body:not(.game-active) .competition-entry #openDailyButton small,
  body:not(.game-active) .competition-entry #openRankingsButton small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    margin: 0 !important;
  }
}

/* Phone variant parity v22: Amsterdam/Rotterdam buttons match AI-level button height. */
@media (orientation: portrait) and (max-width: 760px) {
  body:not(.game-active) fieldset.variant-group > label.menu-choice {
    min-height: clamp(50px, 7.2dvh, 56px) !important;
    height: clamp(50px, 7.2dvh, 56px) !important;
    align-self: center !important;
  }
}

/* Phone balance v20: keep the logo visible and spend less height on roomy menu containers. */
@media (orientation: portrait) and (max-width: 760px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-rows: clamp(126px, 23dvh, 186px) minmax(0, 1fr) !important;
    gap: clamp(3px, 0.55dvh, 6px) !important;
  }

  body:not(.game-active) .brand-showcase {
    height: 100% !important;
    max-height: 100% !important;
    overflow: visible !important;
  }

  body:not(.game-active) .brand-showcase > img {
    width: min(90vw, 420px) !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  body:not(.game-active) .start-menu-panel {
    grid-template-rows:
      minmax(48px, 0.52fr)
      minmax(48px, 0.52fr)
      minmax(38px, 0.38fr)
      minmax(114px, 1fr)
      minmax(40px, 0.34fr) !important;
    gap: clamp(3px, 0.5dvh, 5px) !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section {
    min-height: 0 !important;
    height: 100% !important;
    padding: clamp(3px, 0.42dvh, 5px) clamp(7px, 1.8vw, 10px) !important;
    gap: clamp(2px, 0.35dvh, 4px) !important;
    align-content: stretch !important;
  }

  body:not(.game-active) .variant-group > h2,
  body:not(.game-active) .level-group > h2,
  body:not(.game-active) .home-options-section > h2 {
    font-size: clamp(10px, 2.35vw, 12px) !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  body:not(.game-active) .variant-group .menu-choice,
  body:not(.game-active) .level-group .menu-choice,
  body:not(.game-active) .home-action-card {
    min-height: 0 !important;
    height: 100% !important;
    padding: 3px 5px !important;
  }

  body:not(.game-active) .variant-group .menu-choice {
    min-height: clamp(50px, 7.2dvh, 56px) !important;
    height: clamp(50px, 7.2dvh, 56px) !important;
    align-self: center !important;
  }

  body:not(.game-active) .variant-group .menu-choice strong,
  body:not(.game-active) .level-group .menu-choice strong,
  body:not(.game-active) .home-action-card strong {
    font-size: clamp(10px, 2.55vw, 13px) !important;
    line-height: 1.05 !important;
  }

  body:not(.game-active) .variant-group .menu-choice small,
  body:not(.game-active) .level-group .menu-choice small,
  body:not(.game-active) .home-action-card small {
    font-size: clamp(7.5px, 1.75vw, 9.5px) !important;
    line-height: 1.05 !important;
  }

  body:not(.game-active) .home-action-card .home-action-icon {
    width: clamp(19px, 4.6vw, 25px) !important;
    height: clamp(19px, 4.6vw, 25px) !important;
  }

  body:not(.game-active) .competition-entry {
    grid-template-rows: auto minmax(32px, 0.52fr) minmax(48px, 0.72fr) !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: clamp(4px, 0.55dvh, 6px) clamp(7px, 1.8vw, 10px) !important;
    gap: 3px !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) .start-menu-panel > #startGameButton {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 44px !important;
  }
}

/* Phone menu balance v19: final EOF override. Compact middle panels, reserve room for a visible logo and start button. */
@media (orientation: portrait) and (max-width: 760px) {
  html,
  body,
  #app,
  body:not(.game-active) .start-menu {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu {
    display: grid !important;
    place-items: center !important;
    padding: max(3px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(3px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)) !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 480px) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows: clamp(108px, 19dvh, 158px) minmax(0, 1fr) !important;
    gap: clamp(3px, 0.45dvh, 5px) !important;
    padding: clamp(4px, 0.55dvh, 7px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .brand-showcase {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
    background: none !important;
  }

  body:not(.game-active) .brand-showcase > img {
    display: block !important;
    width: min(86vw, 400px) !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body:not(.game-active) .start-menu-panel {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows:
      minmax(40px, 0.55fr)
      minmax(42px, 0.55fr)
      minmax(34px, 0.42fr)
      minmax(98px, 0.92fr)
      minmax(38px, 0.34fr) !important;
    gap: clamp(2px, 0.38dvh, 4px) !important;
    padding: clamp(3px, 0.45dvh, 5px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-panel > .variant-group {
    grid-row: 1 !important;
  }

  body:not(.game-active) .start-menu-panel > .level-group {
    grid-row: 2 !important;
  }

  body:not(.game-active) .start-menu-panel > .home-options-section {
    grid-row: 3 !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry {
    grid-row: 4 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) .start-menu-panel > #startGameButton {
    grid-row: 5 !important;
  }

  body:not(.game-active) .start-menu-panel > *,
  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section {
    padding: 2px 7px !important;
    gap: 2px !important;
    align-content: stretch !important;
  }

  body:not(.game-active) .variant-group .menu-choice,
  body:not(.game-active) .level-group .menu-choice,
  body:not(.game-active) .home-action-card {
    min-height: 0 !important;
    height: 100% !important;
    padding: 2px 5px !important;
    gap: 3px !important;
  }

  body:not(.game-active) .variant-group .menu-choice::before {
    width: clamp(22px, 5.4vw, 30px) !important;
    height: clamp(22px, 5.4vw, 30px) !important;
  }

  body:not(.game-active) .level-group .menu-choice::before,
  body:not(.game-active) .home-action-card .home-action-icon {
    width: clamp(18px, 4.7vw, 26px) !important;
    height: clamp(18px, 4.7vw, 26px) !important;
  }

  body:not(.game-active) .variant-group > h2,
  body:not(.game-active) .level-group > h2,
  body:not(.game-active) .home-options-section > h2,
  body:not(.game-active) .competition-entry > h2 {
    font-size: clamp(9px, 2.15vw, 11.5px) !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  body:not(.game-active) .menu-choice strong,
  body:not(.game-active) .home-action-card strong {
    font-size: clamp(10px, 2.45vw, 13px) !important;
    line-height: 1.03 !important;
  }

  body:not(.game-active) .menu-choice small,
  body:not(.game-active) .home-action-card small {
    font-size: clamp(7px, 1.75vw, 9px) !important;
    line-height: 1.02 !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(30px, 0.52fr) minmax(48px, 0.68fr) !important;
    align-content: stretch !important;
    gap: 2px !important;
    padding: 3px 7px !important;
  }

  body:not(.game-active) .competition-entry .competition-copy p,
  body:not(.game-active) .competition-entry .home-player-section {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .daily-score-card,
  body:not(.game-active) .competition-entry .home-highscore {
    grid-row: 2 !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 2px 6px !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    grid-row: 3 !important;
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    min-height: 0 !important;
    height: 100% !important;
    padding: 2px 3px !important;
    grid-template-rows: clamp(17px, 4.2vw, 23px) auto auto !important;
    gap: 1px !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(17px, 4.2vw, 23px) !important;
    height: clamp(17px, 4.2vw, 23px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    font-size: clamp(8px, 2.02vw, 11px) !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    font-size: clamp(6.8px, 1.6vw, 8.2px) !important;
    line-height: 1 !important;
    padding: 0 4px !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) #startGameButton {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 42px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    font-size: clamp(20px, 6vw, 29px) !important;
    line-height: 1 !important;
  }
}

/* Phone menu balance v18: final portrait rules, placed last so the logo stays visible and sections stay compact. */
@media (orientation: portrait) and (max-width: 760px) {
  html,
  body,
  #app,
  body:not(.game-active) .start-menu {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu {
    display: grid !important;
    place-items: center !important;
    padding: max(3px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(3px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)) !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 480px) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows: clamp(96px, 17.5dvh, 150px) minmax(0, 1fr) !important;
    gap: clamp(3px, 0.45dvh, 5px) !important;
    padding: clamp(4px, 0.58dvh, 7px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .brand-showcase {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
    background: none !important;
  }

  body:not(.game-active) .brand-showcase > img {
    display: block !important;
    width: min(84vw, 395px) !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body:not(.game-active) .start-menu-panel {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows:
      minmax(42px, 0.58fr)
      minmax(44px, 0.58fr)
      minmax(38px, 0.46fr)
      minmax(108px, 1fr)
      minmax(40px, 0.36fr) !important;
    gap: clamp(2px, 0.42dvh, 4px) !important;
    padding: clamp(3px, 0.48dvh, 5px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-panel > .variant-group {
    grid-row: 1 !important;
  }

  body:not(.game-active) .start-menu-panel > .level-group {
    grid-row: 2 !important;
  }

  body:not(.game-active) .start-menu-panel > .home-options-section {
    grid-row: 3 !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry {
    grid-row: 4 !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) .start-menu-panel > #startGameButton {
    grid-row: 5 !important;
  }

  body:not(.game-active) .start-menu-panel > *,
  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section {
    padding: 3px 7px !important;
    gap: 3px !important;
    align-content: stretch !important;
  }

  body:not(.game-active) .variant-group .menu-choice,
  body:not(.game-active) .level-group .menu-choice,
  body:not(.game-active) .home-action-card {
    min-height: 0 !important;
    height: 100% !important;
    padding: 3px 5px !important;
    gap: 3px !important;
  }

  body:not(.game-active) .variant-group .menu-choice::before {
    width: clamp(24px, 6vw, 32px) !important;
    height: clamp(24px, 6vw, 32px) !important;
  }

  body:not(.game-active) .level-group .menu-choice::before,
  body:not(.game-active) .home-action-card .home-action-icon {
    width: clamp(20px, 5vw, 28px) !important;
    height: clamp(20px, 5vw, 28px) !important;
  }

  body:not(.game-active) .variant-group > h2,
  body:not(.game-active) .level-group > h2,
  body:not(.game-active) .home-options-section > h2,
  body:not(.game-active) .competition-entry > h2 {
    font-size: clamp(9.5px, 2.25vw, 12px) !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  body:not(.game-active) .menu-choice strong,
  body:not(.game-active) .home-action-card strong {
    font-size: clamp(10.5px, 2.55vw, 13.5px) !important;
    line-height: 1.04 !important;
  }

  body:not(.game-active) .menu-choice small,
  body:not(.game-active) .home-action-card small {
    font-size: clamp(7.5px, 1.85vw, 9.5px) !important;
    line-height: 1.04 !important;
  }

  body:not(.game-active) .competition-entry {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(34px, 0.58fr) minmax(50px, 0.72fr) !important;
    align-content: stretch !important;
    gap: 3px !important;
    padding: 4px 7px !important;
  }

  body:not(.game-active) .competition-entry .competition-copy p,
  body:not(.game-active) .competition-entry .home-player-section {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .daily-score-card,
  body:not(.game-active) .competition-entry .home-highscore {
    grid-row: 2 !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 3px 6px !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    grid-row: 3 !important;
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    min-height: 0 !important;
    height: 100% !important;
    padding: 2px 3px !important;
    grid-template-rows: clamp(18px, 4.5vw, 24px) auto auto !important;
    gap: 1px !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(18px, 4.5vw, 24px) !important;
    height: clamp(18px, 4.5vw, 24px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    font-size: clamp(8.5px, 2.12vw, 11.5px) !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    font-size: clamp(7px, 1.65vw, 8.5px) !important;
    line-height: 1 !important;
    padding: 0 4px !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) #startGameButton {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 44px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    font-size: clamp(20px, 6.1vw, 30px) !important;
    line-height: 1 !important;
  }
}

/* Phone viewport fit v16: final override at EOF so later portrait rules cannot push the start button off-screen. */
@media (orientation: portrait) and (max-width: 760px) {
  html,
  body,
  #app,
  body:not(.game-active) .start-menu {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu {
    display: grid !important;
    place-items: center !important;
    padding: max(3px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(3px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)) !important;
  }

  body:not(.game-active) .start-menu-stage {
    width: min(100%, 480px) !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: clamp(66px, 12dvh, 112px) minmax(0, 1fr) !important;
    gap: clamp(3px, 0.5dvh, 5px) !important;
    padding: clamp(4px, 0.65dvh, 7px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .brand-showcase {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
  }

  body:not(.game-active) .brand-showcase > img {
    width: min(70vw, 330px) !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  body:not(.game-active) .start-menu-panel {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows:
      minmax(34px, 0.42fr)
      minmax(48px, 0.56fr)
      minmax(36px, 0.38fr)
      minmax(44px, 0.44fr)
      minmax(92px, 0.9fr)
      minmax(38px, 0.38fr) !important;
    gap: clamp(2px, 0.42dvh, 4px) !important;
    padding: clamp(3px, 0.55dvh, 5px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-panel > *,
  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-stage .home-player-section {
    padding: 3px 7px !important;
    gap: 7px !important;
  }

  body:not(.game-active) .start-menu-stage .avatar-preview,
  body:not(.game-active) .start-menu-stage #menuAvatarPreview {
    width: clamp(30px, 7.2vw, 38px) !important;
    height: clamp(30px, 7.2vw, 38px) !important;
  }

  body:not(.game-active) .variant-group,
  body:not(.game-active) .level-group,
  body:not(.game-active) .home-options-section,
  body:not(.game-active) .competition-entry {
    padding: 4px 7px !important;
    gap: 4px !important;
  }

  body:not(.game-active) .variant-group > h2,
  body:not(.game-active) .level-group > h2,
  body:not(.game-active) .home-options-section > h2,
  body:not(.game-active) .competition-entry > h2 {
    font-size: clamp(10px, 2.4vw, 13px) !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  body:not(.game-active) .menu-choice,
  body:not(.game-active) .home-action-card {
    min-height: 0 !important;
    padding: 3px 5px !important;
  }

  body:not(.game-active) .menu-choice strong,
  body:not(.game-active) .home-action-card strong {
    font-size: clamp(11px, 2.7vw, 14px) !important;
    line-height: 1.04 !important;
  }

  body:not(.game-active) .menu-choice small,
  body:not(.game-active) .home-action-card small {
    font-size: clamp(8px, 1.9vw, 10px) !important;
    line-height: 1.04 !important;
  }

  body:not(.game-active) .home-action-card .home-action-icon {
    width: clamp(22px, 5.4vw, 29px) !important;
    height: clamp(22px, 5.4vw, 29px) !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(36px, 0.52fr) minmax(34px, 0.42fr) minmax(52px, 0.64fr) !important;
    align-content: stretch !important;
  }

  body:not(.game-active) .competition-entry .competition-copy p {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .home-highscore,
  body:not(.game-active) .competition-entry .daily-score-card,
  body:not(.game-active) .competition-entry .home-player-section {
    min-height: 0 !important;
    padding: 3px 6px !important;
  }

  body:not(.game-active) .competition-entry .home-player-section h2 {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    min-height: 0 !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    min-height: 0 !important;
    height: 100% !important;
    padding: 2px 3px !important;
    grid-template-rows: clamp(18px, 4.6vw, 25px) auto auto !important;
    gap: 1px !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(18px, 4.6vw, 25px) !important;
    height: clamp(18px, 4.6vw, 25px) !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    font-size: clamp(8.5px, 2.12vw, 11.5px) !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
  }

  body:not(.game-active) .competition-entry .premium-action small {
    font-size: clamp(7px, 1.7vw, 8.5px) !important;
    line-height: 1 !important;
    padding: 0 4px !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) #startGameButton {
    min-height: 0 !important;
    height: 100% !important;
    max-height: 46px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    font-size: clamp(20px, 6.2vw, 30px) !important;
    line-height: 1 !important;
  }
}

/* Phone viewport fit v17: prevent competition content from overlapping the final start row. */
@media (orientation: portrait) and (max-width: 760px) {
  body:not(.game-active) .start-menu-panel {
    grid-template-rows:
      minmax(48px, 0.62fr)
      minmax(54px, 0.68fr)
      minmax(46px, 0.52fr)
      minmax(118px, 1fr)
      minmax(40px, 0.34fr) !important;
  }

  body:not(.game-active) .start-menu-panel > .variant-group {
    grid-row: 1 !important;
  }

  body:not(.game-active) .start-menu-panel > .level-group {
    grid-row: 2 !important;
  }

  body:not(.game-active) .start-menu-panel > .home-options-section {
    grid-row: 3 !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry {
    grid-row: 4 !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    align-self: stretch !important;
    display: grid !important;
    grid-template-rows: auto minmax(34px, 0.62fr) minmax(52px, 0.85fr) !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .start-menu-panel > .start-game-button,
  body:not(.game-active) .start-menu-panel > #startGameButton {
    grid-row: 5 !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 44px !important;
    align-self: stretch !important;
    z-index: 2 !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry .home-player-section {
    display: none !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry .competition-copy {
    grid-row: 1 !important;
    min-height: 0 !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry .daily-score-card,
  body:not(.game-active) .start-menu-panel > .competition-entry .home-highscore {
    grid-row: 2 !important;
    min-height: 0 !important;
    height: 100% !important;
  }

  body:not(.game-active) .start-menu-panel > .competition-entry .online-entry-actions {
    grid-row: 3 !important;
    min-height: 0 !important;
    height: 100% !important;
  }
}

/* Request polish v13: true final portrait overrides. */
@media (orientation: portrait), (max-width: 759px) {
  body:not(.game-active) .start-menu-stage {
    grid-template-rows: clamp(108px, 19dvh, 158px) minmax(0, 1fr) !important;
  }

  body:not(.game-active) .brand-showcase {
    background: none !important;
    display: grid !important;
    place-items: center !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: visible !important;
  }

  body:not(.game-active) .brand-showcase::before,
  body:not(.game-active) .brand-showcase::after {
    content: none !important;
    display: none !important;
  }

  body:not(.game-active) .brand-showcase > img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: min(86vw, 400px) !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  body:not(.game-active) .brand-showcase > p,
  body:not(.game-active) .brand-showcase .home-logo,
  body:not(.game-active) .brand-showcase .brand-title,
  body:not(.game-active) .brand-showcase .brand-subtitle {
    display: none !important;
  }

  body:not(.game-active) #openSettingsButton strong::before,
  body:not(.game-active) #openSettingsButton strong::after {
    content: none !important;
    display: none !important;
  }

  body:not(.game-active) .home-options-section {
    min-height: 0 !important;
    height: 100% !important;
  }

  body:not(.game-active) fieldset.variant-group > label.menu-choice {
    min-height: clamp(50px, 7.2dvh, 56px) !important;
    height: clamp(50px, 7.2dvh, 56px) !important;
    align-self: center !important;
  }

  body:not(.game-active) .competition-entry {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(30px, 0.52fr) minmax(48px, 0.68fr) !important;
    align-content: stretch !important;
    justify-items: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    gap: 2px !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .competition-entry .competition-copy,
  body:not(.game-active) .competition-entry .home-highscore,
  body:not(.game-active) .competition-entry .home-player-section,
  body:not(.game-active) .competition-entry .online-entry-actions {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    position: static !important;
  }

  body:not(.game-active) .competition-entry .home-player-section {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .home-player-section h2 {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .online-entry-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    grid-auto-rows: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: 100% !important;
    gap: 4px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    overflow: hidden !important;
  }

  body:not(.game-active) .competition-entry .premium-action,
  body:not(.game-active) .competition-entry #openOnlineButton,
  body:not(.game-active) .competition-entry #openDailyButton,
  body:not(.game-active) .competition-entry #openRankingsButton {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: clamp(17px, 4.2vw, 23px) auto auto !important;
    align-items: center !important;
    justify-items: center !important;
    place-content: center !important;
    gap: 1px !important;
    padding: 2px 3px !important;
    background: linear-gradient(145deg, rgba(11, 23, 19, 0.62), rgba(30, 19, 9, 0.48)) !important;
    border: 1px solid rgba(213, 157, 67, 0.64) !important;
    color: #f7e8bd !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon {
    width: clamp(17px, 4.2vw, 23px) !important;
    height: clamp(17px, 4.2vw, 23px) !important;
    margin: 0 !important;
    align-self: center !important;
    justify-self: center !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }

  body:not(.game-active) .competition-entry .premium-action-icon svg {
    display: none !important;
  }

  body:not(.game-active) .competition-entry .premium-action-text {
    width: 100% !important;
    font-size: clamp(8px, 2.02vw, 11px) !important;
    line-height: 1.02 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  body:not(.game-active) .competition-entry .premium-action small,
  body:not(.game-active) .competition-entry #openOnlineButton small,
  body:not(.game-active) .competition-entry #openDailyButton small,
  body:not(.game-active) .competition-entry #openRankingsButton small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: center !important;
    margin: 0 !important;
  }
}
