/* Game palettes apply equally to menus and restart confirmations. */
:root {
  --menu-surface:#171c23;--menu-button:#242c35;--menu-ink:#edf2f5;
  --menu-muted:#abb5bf;--menu-accent:#b7d9eb;--menu-on-accent:#172538;
}
/* One compact, flat layout for game menus and restart confirmations. */
.standard-menu-panel.standard-menu-panel {
  box-sizing:border-box!important;position:relative!important;width:min(360px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 32px)!important;overflow:auto!important;padding:16px!important;
  border:1px solid color-mix(in srgb,var(--menu-accent) 30%,transparent)!important;border-radius:10px!important;background:var(--menu-surface)!important;
  color:var(--menu-ink)!important;box-shadow:0 16px 60px #0005!important;text-align:left!important;
  font-family:system-ui,sans-serif!important;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;
}
.standard-menu-panel .standard-menu-header {
  position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;width:100%!important;height:auto!important;min-height:36px!important;margin:0 0 16px!important;
  padding:0!important;border:0!important;background:none!important;box-shadow:none!important;transform:none!important;
}
.standard-menu-panel .standard-menu-header h2 {
  position:static!important;flex:1!important;min-width:0!important;margin:0!important;padding:0!important;
  color:inherit!important;font:600 20px/1.25 system-ui,sans-serif!important;text-align:left!important;
  letter-spacing:normal!important;text-transform:none!important;text-shadow:none!important;
}
.standard-menu-panel button {box-sizing:border-box!important;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.standard-menu-panel button.standard-menu-close {
  position:static!important;display:grid!important;place-items:center!important;flex:none!important;
  width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:7px!important;margin:0!important;
  border:0!important;border-radius:4px!important;background:transparent!important;color:inherit!important;
  box-shadow:none!important;transform:none!important;cursor:pointer!important;
}
.standard-menu-panel svg {display:block!important;width:22px!important;height:22px!important;flex:none!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.standard-menu-panel button.standard-menu-action {
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;
  width:100%!important;height:auto!important;min-height:52px!important;margin:8px 0 0!important;padding:12px 16px!important;
  border:1px solid color-mix(in srgb,var(--menu-accent) 20%,transparent)!important;border-radius:6px!important;background:var(--menu-button)!important;color:var(--menu-ink)!important;
  font:500 16px/1.3 system-ui,sans-serif!important;letter-spacing:normal!important;text-transform:none!important;
  text-align:left!important;box-shadow:none!important;text-shadow:none!important;transform:none!important;cursor:pointer!important;
}
.standard-menu-panel .standard-confirm-actions {
  display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:10px!important;
  width:100%!important;margin:18px 0 0!important;padding:0!important;
}
.standard-menu-panel .standard-confirm-actions button {
  display:flex!important;align-items:center!important;justify-content:center!important;flex:1 1 0!important;
  width:0!important;min-width:0!important;height:auto!important;min-height:46px!important;margin:0!important;padding:10px!important;
  border:1px solid color-mix(in srgb,var(--menu-accent) 20%,transparent)!important;border-radius:6px!important;background:var(--menu-button)!important;color:var(--menu-ink)!important;
  font:500 16px/1.3 system-ui,sans-serif!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important;transform:none!important;cursor:pointer!important;
}
.standard-menu-panel .standard-confirm-actions .standard-confirm-accept {background:var(--menu-accent)!important;border-color:var(--menu-accent)!important;color:var(--menu-on-accent)!important}
.standard-menu-panel button:focus-visible {outline:2px solid var(--menu-accent)!important;outline-offset:2px!important}
.standard-menu-panel button:hover {filter:brightness(1.12)}
.standard-menu-panel > p,.standard-menu-panel .menu-confirm p {color:var(--menu-muted)!important;font:14px/1.5 system-ui,sans-serif!important}
.standard-menu-panel #confirmTitle,.standard-menu-panel #restartTitle,.standard-menu-panel .menu-confirm h3,.standard-menu-panel h3.standard-confirm-title {display:block!important;font:600 18px/1.3 system-ui,sans-serif!important;margin:0 0 10px!important;color:inherit!important;letter-spacing:normal!important;text-transform:none!important}
#pause-screen > .standard-menu-panel {pointer-events:auto}
@media(max-height:400px){.standard-menu-panel.standard-menu-panel{padding:12px!important}.standard-menu-panel .standard-menu-header{margin-bottom:8px!important}}


/* Native dialogs isolate focus/input while leaving game state in its adapter. */
dialog.standard-menu-panel.standard-menu-panel{position:fixed!important;inset:auto!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:min(360px,calc(100vw - 32px))!important;height:auto!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;margin:0!important;background:var(--menu-surface)!important;color:var(--menu-ink)!important;backdrop-filter:none!important}
dialog.standard-menu-panel[open]{display:block!important}
/* Game-specific dialog styles must not reveal closed native dialogs. */
dialog.standard-menu-panel.standard-menu-panel:not([open]){display:none!important}
.standard-menu-panel .standard-menu-sound{position:relative!important;display:grid!important;place-items:center!important;flex:none!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:7px!important;margin:0!important;border:0!important;border-radius:4px!important;background:transparent!important;color:inherit!important;box-shadow:none!important;cursor:pointer!important}
.standard-menu-sound[aria-pressed="false"]{color:var(--menu-muted)!important}
.standard-menu-sound[aria-pressed="false"]::after{content:"";position:absolute;left:6px;right:6px;top:50%;height:2px;margin-top:-1px;background:currentColor;transform:rotate(-45deg);pointer-events:none;z-index:1}
.standard-menu-panel::backdrop{background:#060b14b8}
.standard-menu-action > svg{color:var(--menu-accent)!important}
.standard-menu-panel .standard-menu-header{gap:4px!important}
.standard-menu-panel .standard-menu-header h2{margin-right:8px!important}
html[data-standard-menu-open] canvas{pointer-events:none}

:root[data-menu-game="minecraft"]{--menu-surface:#24332a;--menu-button:#344737;--menu-accent:#c4d6a7;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="war"]{--menu-surface:#203732;--menu-button:#30483e;--menu-accent:#e2cf91;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="three-guardians"]{--menu-surface:#25243a;--menu-button:#36334c;--menu-accent:#b7a0ed;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="dishonored"]{--menu-surface:#293332;--menu-button:#3b4440;--menu-accent:#dbc89b;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="halo"]{--menu-surface:#152d36;--menu-button:#25424b;--menu-accent:#9ed9d5;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="stargate"]{--menu-surface:#182a36;--menu-button:#293f4e;--menu-accent:#76cbe5;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="serious-sam"]{--menu-surface:#352a21;--menu-button:#4a392b;--menu-accent:#efc084;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="doom-chess"]{--menu-surface:#2d2223;--menu-button:#443033;--menu-accent:#ef986c;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="far-cry"]{--menu-surface:#27352b;--menu-button:#39483b;--menu-accent:#d3d6a1;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="medieval-defense"]{--menu-surface:#302e25;--menu-button:#464236;--menu-accent:#dec68e;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="apocalypse-express"]{--menu-surface:#2d302b;--menu-button:#42463b;--menu-accent:#d3bf83;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="clockwork-rooms"]{--menu-surface:#302b25;--menu-button:#474034;--menu-accent:#e5bd72;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="factory-fold"]{--menu-surface:#28332f;--menu-button:#3b4840;--menu-accent:#80d9b3;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="ghostline"]{--menu-surface:#172e38;--menu-button:#274451;--menu-accent:#7dd7df;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="hexadefense"]{--menu-surface:#27352b;--menu-button:#3d4b3c;--menu-accent:#bdceab;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="rail"]{--menu-surface:#263e35;--menu-button:#3a5145;--menu-accent:#eee4c8;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="strike"]{--menu-surface:#142536;--menu-button:#233c51;--menu-accent:#9ed9f5;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}
:root[data-menu-game="traffic"]{--menu-surface:#223642;--menu-button:#334d59;--menu-accent:#9ed7db;--menu-ink:#f0f2ed;--menu-muted:#bac6c4;--menu-on-accent:#17252a}

button.standard-menu-launcher.standard-menu-launcher{position:fixed!important;left:auto!important;right:max(12px,env(safe-area-inset-right))!important;top:max(12px,env(safe-area-inset-top))!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:10px!important;margin:0!important;background:var(--menu-surface)!important;color:var(--menu-ink)!important;border:1px solid color-mix(in srgb,var(--menu-accent) 30%,transparent)!important;border-radius:6px!important;box-shadow:none!important;transform:none!important;visibility:visible!important;user-select:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.standard-menu-launcher svg{width:24px!important;height:24px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important}
/* Game headers may stack on phones; modal headers always remain one row. */
.standard-menu-panel .standard-menu-header{flex-direction:row!important;flex-wrap:nowrap!important;pointer-events:auto!important;text-shadow:none!important}
:root[data-menu-game="rail"] #pause{right:calc(max(12px,env(safe-area-inset-right)) + 52px)!important}
/* Reserve the launcher's space instead of covering existing game status/actions. */
:root:is([data-menu-game="doom-chess"],[data-menu-game="serious-sam"],[data-menu-game="medieval-defense"]) body>header{padding-right:56px!important}
:root[data-menu-game="stargate"] #focus{position:fixed;left:max(12px,env(safe-area-inset-left));right:auto;top:max(12px,env(safe-area-inset-top));margin:0}
:root[data-menu-game="stargate"] #briefing{right:calc(max(12px,env(safe-area-inset-right)) + 52px)!important;max-width:calc(100vw - 132px)!important}
button.standard-menu-launcher.standard-menu-launcher{z-index:80!important}
:root:is([data-menu-game="factory-fold"],[data-menu-game="three-guardians"]) body>header nav{padding-right:52px}

.standard-menu-panel button:focus,button.standard-menu-launcher:focus{outline:none!important;-webkit-tap-highlight-color:transparent}

#restart[hidden],#restart-button[hidden],#new-game-button[hidden]{display:none!important}
