.game-app .site-header, .game-app .intro, .game-app .how-to, .game-app .site-footer,
.game-app .installation { display: none; }
.game-app body { overflow: hidden; }
.installation { text-align: center; margin: 18px auto; color: #b7b8ce; }
.is-playing .installation { display: none; }
.installation p { font-size: 12px; line-height: 1.7; max-width: 540px; margin: 10px auto; }
#install-game { font-size: 14px; padding: 14px 24px; min-height: 48px; color: #27202b; }
.install-actions { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; }
#install-help { min-height: 44px; }
.install-platform-label { display: block; font-size: 12px; color: #b7b8ce; margin: 16px 0 8px; }
#install-platform { font: inherit; color: #eef0ff; background: #242741; width: 100%; border: 1px solid #555472; border-radius: 8px; padding: 10px; }
#install-steps { padding-left: 20px; font-size: 13px; line-height: 1.7; color: #c6c7dc; }
#install-steps li { margin: 12px 0; padding-left: 4px; }
#score.just-caught { color: #ffe7a8; text-shadow: 0 0 16px #ffd88a90; }
#lives.just-hit { color: #ffbca7; text-shadow: 0 0 14px #ff987670; }
.shield-status { font-size: 10px; letter-spacing: .2px; color: #b7b8ce; white-space: nowrap; line-height: 1.2; }
.shield-status.ready { color: #8ce7ff; }
.focused-arcade .lives-stat { gap: 2px; }
.focused-arcade .lives-stat strong { line-height: 1.05; }
#game-settings-button[hidden], #update-game[hidden], #install-help[hidden] { display: none !important; }
.game-settings { width: min(440px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 22px; border: 1px solid #444463; border-radius: 16px; background: #171a2e; color: #eef0ff; }
.game-settings::backdrop { background: #070b17b8; }
.game-settings h2 { font-size: 20px; margin: 0 0 14px; }
.game-settings p { font-size: 13px; line-height: 1.6; color: #b7b8ce; }
.game-settings a { color: var(--gold); }
.game-settings .analytics-choice { display: flex; flex-direction: column; align-items: flex-start; padding: 12px; gap: 12px; }
.game-settings .analytics-choice[hidden] { display: none; }
.game-settings .analytics-actions { width: 100%; }
.game-settings .analytics-actions button { flex: 1; }
.game-settings .settings-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.release-notes h3 { margin: 0 0 16px; font-size: 17px; color: var(--gold); }
.release-notes .release-date { font-size: 12px; margin: 0 0 8px; }
.release-notes ul { margin: 0; padding-left: 20px; }
.release-notes li { padding-left: 4px; margin-bottom: 14px; font-size: 13px; line-height: 1.6; color: #c6c7dc; }
.release-notes li strong { color: #eef0ff; }
.release-notes .release-note-hint { border-top: 1px solid #444463; padding-top: 14px; }
.release-notes article + article { border-top: 1px solid #444463; padding-top: 18px; margin-top: 20px; }
.round-clock { display: flex; flex-direction: column; gap: 3px; flex: none; color: var(--cyan); text-align: center; }
.round-clock span { font-size: 8px; letter-spacing: .5px; }
.round-clock strong { font-size: 19px; font-variant-numeric: tabular-nums; }
.mode-options { display: flex; gap: 8px; justify-content: center; }
.mode-options button { min-height: 40px; }
.mode-options [aria-pressed="true"] { color: var(--gold); border-color: var(--gold); background: #ffd88a12; }
.overlay #mode-help { font-size: 11px; margin: 7px 0 12px; }
#mode-picker[hidden], #update-panel[hidden], #update-waiting[hidden] { display: none !important; }
.game-update { border: 1px solid #7cddd580; border-radius: 10px; background: #172d3d; padding: 10px; margin: 10px auto 14px; max-width: 340px; }
.game-update strong { font-size: 14px; color: var(--cyan); }
.overlay .game-update p { font-size: 11px; margin: 4px 0 8px; }
#update-game { background: var(--gold); color: #302619; border-color: var(--gold); min-height: 40px; }
.update-waiting { color: var(--cyan); font-size: 10px; flex: none; }
.overlay-content { max-height: 100%; overflow-y: auto; }
.overlay-content:has(.game-update:not([hidden])) .hero-star { display: none; }
@media (max-width:580px) {
  .focused-arcade .game-toolbar { grid-template-columns: repeat(4, 1fr); gap: 5px 8px; }
  .round-clock span { font-size: 7px; max-width: 58px; }
  .game-toolbar { gap: 10px; }
  .round-clock strong { font-size: 16px; }
  .game-footer:has(.update-waiting:not([hidden])) > span:first-child { max-width: 60%; }
  .update-waiting { max-width: 35%; font-size: 9px; }
  .overlay #mode-help { font-size: 10px; margin-bottom: 8px; }
}
@media (max-height:460px) {
  .focused-arcade { --play-controls-space: 116px; }
  .focused-arcade .game-toolbar { height: 64px; }
  .mode-options button { min-height: 32px; padding: 6px 10px; }
  .focused-arcade .overlay #mode-help { margin: 3px 0 6px; }
  .game-update { margin: 6px auto; padding: 6px; }
}
@media (max-width:580px) and (max-height:460px) {
  .focused-arcade { --play-controls-space: 168px; }
  .focused-arcade .game-toolbar { height: 112px; }
}

/* Settings own a wider, scannable layout; other game dialogs keep their sizing. */
#game-settings { width:min(760px,calc(100vw - 32px)); max-width:calc(100vw - 32px); padding:0; }
#game-settings[open] { display:flex; flex-direction:column; overflow:hidden; }
#game-settings .settings-header { flex:none; padding:20px 24px 14px; border-bottom:1px solid #444463; }
#game-settings h2 { font-size:24px; margin:0; }
#game-settings h3 { font-size:16px; line-height:1.4; margin:0 0 8px; color:#eef0ff; }
#game-settings p { font-size:14px; line-height:1.6; margin:8px 0 0; }
#game-settings .settings-header p { margin:4px 0 0; }
#game-settings .settings-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:20px 24px; display:grid; gap:20px; }
#game-settings .settings-profile { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 16px; border:1px solid #7cddd555; border-radius:12px; background:#152737; padding:14px 16px; }
#game-settings .settings-profile > div { flex:1; min-width:120px; }
#game-settings .settings-profile h3 { margin:0; }
#game-settings .settings-profile p { margin:4px 0 0; }
#game-settings .settings-profile:has(#player-profile[hidden]):has(#profile-notice:empty) { display:none; }
#game-settings #profile-notice { flex-basis:100%; }
#game-settings #profile-notice:empty, #game-settings #music-status:empty { display:none; }
#game-settings .settings-options { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
#game-settings .audio-settings { margin:0; padding:12px 14px 14px; min-width:0; }
#game-settings .settings-toggles { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#game-settings .audio-settings label { display:flex; gap:8px; margin:0; font-size:14px; line-height:1.4; min-height:44px; }
#game-settings .audio-settings input { flex:none; }
#game-settings ul { margin:0; padding-left:20px; font-size:14px; line-height:1.65; color:#c6c7dc; }
#game-settings li + li { margin-top:10px; }
#game-settings .settings-controls { padding:6px 0 0; }
#game-settings .settings-rules { border:1px solid #444463; border-radius:10px; }
#game-settings summary { cursor:pointer; min-height:48px; padding:13px 16px; font-size:15px; color:var(--gold); }
#game-settings summary:focus-visible { outline:3px solid var(--cyan); outline-offset:-3px; border-radius:8px; }
#game-settings .settings-rule-sections { padding:4px 16px 16px; display:grid; gap:20px; }
#game-settings .settings-footer { flex:none; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 16px; padding:14px 24px; border-top:1px solid #444463; background:#171a2e; }
#game-settings .settings-footer nav { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:14px; }
#game-settings .settings-actions { margin-left:auto; }
#game-settings .settings-actions button, #game-settings #player-profile { min-height:44px; }
@media(max-width:640px) {
  #game-settings .settings-options { grid-template-columns:1fr; }
  #game-settings .settings-body { padding:16px; gap:16px; }
  #game-settings .settings-header { padding:14px 16px 10px; }
  #game-settings h2 { font-size:21px; }
  #game-settings .settings-footer { padding:12px 16px; }
}
