/* Compact entry screen and a single set of utilities for every game. */
.page-play:fullscreen { width:100%; max-width:none; height:100dvh; margin:0; padding:12px; overflow:auto; background:var(--arcade-bg,#f5ead2); }
/* Existing play headers are fixed; reserve their space before the shared menu. */
body .arcade-main.page-play > .game-utilities { width:calc(100% - 24px); margin:calc(var(--play-nav-h,76px) + 8px) 12px 0; z-index:85; }
body .arcade-main.page-play > .game-stage { padding-top:12px !important; min-height:calc(100dvh - var(--play-nav-h,76px) - 70px); }
body.is-controller-device .arcade-main.page-play > .game-utilities { margin-top:0; }
body.is-controller-device:has(.arcade-main.page-play) .arcade-nav { position:sticky; height:58px; min-height:58px; }
body .arcade-main.page-play:fullscreen > .game-utilities { margin-top:8px; }
body[data-arcade-design="retro"] .arcade-main.page-home { width:min(1180px,calc(100% - 32px)); padding-bottom:24px; }
body[data-arcade-design="retro"] .retro-home { min-height:360px; grid-template-columns:1.1fr .9fr; border-radius:24px; box-shadow:6px 6px 0 var(--retro-ink); }
body[data-arcade-design="retro"] .retro-hero-copy { padding:32px 26px 34px 44px; }
body[data-arcade-design="retro"] .retro-kicker { margin-bottom:22px; font-size:.65rem; letter-spacing:.08em; gap:8px; }
body[data-arcade-design="retro"] .retro-kicker span { padding:5px 9px; }
body[data-arcade-design="retro"] .retro-hero-copy h1 span { font-size:clamp(3.8rem,6.5vw,6rem); }
body[data-arcade-design="retro"] .retro-hero-copy h1 strong { font-size:clamp(3.6rem,6vw,5.5rem); }
body[data-arcade-design="retro"] .retro-hero-copy > p { margin-top:24px; font-size:1.05rem; line-height:1.45; }
body[data-arcade-design="retro"] .retro-hero-copy > p b { font-size:1.1em; }
body[data-arcade-design="retro"] .retro-action-cluster { width:min(350px,calc(100% - 42px)); margin:0; gap:16px; justify-self:center; }
body[data-arcade-design="retro"] .retro-create-button { min-height:96px; padding:16px 22px; border-radius:18px; transform:rotate(1deg); }
body[data-arcade-design="retro"] .retro-create-button span { font-size:.75rem; }
body[data-arcade-design="retro"] .retro-create-button b { font-size:2rem; }
body[data-arcade-design="retro"] .retro-join-card { padding:16px 18px; border-radius:18px; transform:none; }
body[data-arcade-design="retro"] .retro-join-card > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
body[data-arcade-design="retro"] .retro-join-card input { width:100%; min-width:0; min-height:44px; text-transform:uppercase; }
body[data-arcade-design="retro"] .retro-join-card button { min-height:44px; padding:8px 14px; }
body[data-arcade-design="retro"] .retro-stamp { width:76px; height:76px; left:48%; right:auto; bottom:18px; border-width:2px; }
body[data-arcade-design="retro"] .retro-stamp span { font-size:1.65rem; }
body[data-arcade-design="retro"] .retro-stamp b { font-size:.5rem; }
body[data-arcade-design="retro"] .retro-spark-one { top:20px; left:47%; font-size:2.6rem; }
body[data-arcade-design="retro"] .retro-spark-two { display:none; }
body[data-arcade-design="retro"] .retro-supergraphic { width:340px; right:-32px; }
body[data-arcade-design="retro"] .retro-home::after { width:570px; height:570px; right:-300px; top:50%; }
body[data-arcade-design="retro"] .retro-marquee { margin:20px 0 0; width:100%; transform:none; border-width:2px; }
body[data-arcade-design="retro"] .retro-marquee div { padding:9px 0; font-size:.8rem; letter-spacing:.1em; }
body[data-arcade-design="retro"] .retro-link-deck { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
body[data-arcade-design="retro"] .retro-link-deck > * { min-height:76px; padding:14px; gap:12px; border-radius:14px; box-shadow:3px 3px 0 var(--retro-ink); }
body[data-arcade-design="retro"] .retro-link-deck small { font-size:.65rem; }
body[data-arcade-design="retro"] .retro-link-deck b { font-size:1.04rem; }
body[data-arcade-design="retro"] .retro-resume { min-height:64px; padding:10px 16px; margin:18px 0 0; border-radius:14px; }
body[data-arcade-design="retro"] .retro-resume img { width:40px; height:40px; }
body[data-arcade-design="retro"] .retro-resume b { font-size:1.2rem; }
body[data-arcade-design="retro"] .retro-resume small { font-size:.65rem; }

.game-utilities { display:flex; position:relative; z-index:45; align-items:center; justify-content:space-between; gap:12px; width:100%; margin:0 0 12px; padding:8px 12px; border:1px solid var(--arcade-border,#cabb9e); border-radius:14px; background:var(--arcade-surface,#fff8e8); color:var(--arcade-ink,#34291f); box-shadow:0 2px 8px #00000008; }
.game-utilities-title { display:flex; align-items:center; gap:9px; min-width:0; font-size:.8rem; }
.game-utilities-title b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.game-utilities-title i { font-size:1.2rem; font-style:normal; }
.game-utilities-actions { display:flex; gap:6px; align-items:center; flex-shrink:0; }
.game-utilities :is(button,summary) { display:block; min-height:36px; border:1px solid var(--arcade-border,#d3c7ae); border-radius:8px; background:var(--arcade-surface-raised,#fffdf5); color:inherit; padding:8px 11px; font:inherit; font-size:.75rem; font-weight:700; cursor:pointer; box-shadow:none; text-transform:none; }
.game-utilities summary { list-style:none; }
.game-utilities summary::-webkit-details-marker { display:none; }
.game-utilities .game-controller-button { display:flex; align-items:center; gap:7px; }
.game-controller-button .controller-ui-icon { width:12px; height:18px; border-width:1.5px; border-radius:3px; }
.game-controller-button.is-connected { color:var(--arcade-secondary,#1e6f68); }
.game-utilities :is(button,summary):hover { border-color:var(--arcade-accent,#a44724); }
.game-sound-menu { position:relative; }
.game-sound-menu[open] > summary { background:var(--arcade-surface-alt,#efe6d5); }
.game-sound-menu > .arcade-sound-settings { position:absolute; top:calc(100% + 10px); right:0; width:260px; padding:18px; border:1px solid var(--arcade-border,#cabb9e); border-radius:14px; background:var(--arcade-surface,#fff8e8); box-shadow:0 12px 40px #0003; }
.arcade-sound-settings { display:grid; gap:12px; margin:12px 0; padding:12px 0; border:0; border-top:1px solid var(--arcade-border,#cabb9e); color:var(--arcade-ink,#34291f); }
.arcade-sound-settings legend { font-size:.75rem; font-weight:800; padding:0 6px 0 0; }
.arcade-sound-settings label { display:grid; grid-template-columns:48px minmax(40px,1fr) 28px; gap:10px; align-items:center; font-size:.75rem; }
.arcade-sound-settings input { width:100%; min-width:0; height:22px; min-height:0; margin:0; padding:0; accent-color:var(--arcade-accent,#a44724); }
.arcade-sound-settings output { text-align:right; font-size:.7rem; font-variant-numeric:tabular-nums; }
body .page-play #game-stage .game-abort { display:none !important; }
.arcade-game-dialog { width:min(480px,calc(100% - 28px)); max-height:calc(100dvh - 40px); box-sizing:border-box; margin:auto; padding:28px; border:1px solid var(--arcade-border,#cabb9e); border-radius:22px; background:var(--arcade-surface,#fff8e8); color:var(--arcade-ink,#34291f); box-shadow:0 28px 100px #0005; }
.arcade-game-dialog::backdrop { background:#11182088; backdrop-filter:blur(6px); }
.arcade-game-dialog h2 { color:inherit; font-size:1.7rem; margin:10px 0 12px; }
.arcade-game-dialog p,.arcade-game-dialog li { font-size:.93rem; line-height:1.6; }
.arcade-game-dialog ol { padding-left:22px; margin:20px 0 26px; }
.arcade-game-dialog li { padding:3px 0; }
.game-dialog-eyebrow { font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.arcade-game-dialog button { min-height:44px; border:1px solid var(--arcade-border,#cabb9e); border-radius:10px; padding:10px 16px; background:var(--arcade-surface-raised,#fffdf5); color:inherit; font:inherit; font-weight:700; cursor:pointer; }
.arcade-game-dialog [data-confirm-session-exit] { background:var(--arcade-accent,#a44724); color:var(--arcade-on-accent,#fff); border-color:transparent; }
.game-dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:24px; }
.arcade-game-dialog .game-dialog-close { float:right; padding:0; width:36px; min-height:36px; font-size:1.4rem; }
body.is-controller-device .game-utilities { margin-bottom:8px; padding:6px 8px; }
body.is-controller-device .game-stage { min-height:0; }
body.is-controller-device .game-stage::before { display:none; }
body .game-utilities :focus-visible,body .arcade-game-dialog :focus-visible { outline:3px solid var(--arcade-focus,#237a91); outline-offset:3px; }
@media(max-width:680px) {
  body[data-arcade-design="retro"] .arcade-main.page-home { width:calc(100% - 24px); padding-bottom:14px; }
  body[data-arcade-design="retro"] .retro-home { grid-template-columns:1fr; min-height:0; border-radius:20px; padding-bottom:22px; }
  body[data-arcade-design="retro"] .retro-hero-copy { padding:26px 24px 24px; }
  body[data-arcade-design="retro"] .retro-kicker { margin-bottom:20px; font-size:.57rem; }
  body[data-arcade-design="retro"] .retro-hero-copy h1 span { font-size:clamp(3.5rem,14vw,5.2rem); }
  body[data-arcade-design="retro"] .retro-hero-copy h1 strong { font-size:clamp(3.2rem,13vw,4.8rem); }
  body[data-arcade-design="retro"] .retro-hero-copy > p { margin-top:19px; font-size:.94rem; }
  body[data-arcade-design="retro"] .retro-action-cluster { width:calc(100% - 40px); gap:12px; }
  body[data-arcade-design="retro"] .retro-create-button { min-height:78px; padding:12px 18px; border-radius:14px; }
  body[data-arcade-design="retro"] .retro-create-button b { font-size:1.7rem; }
  body[data-arcade-design="retro"] .retro-join-card { padding:12px 14px; border-radius:14px; }
  body[data-arcade-design="retro"] .retro-join-card label { font-size:.75rem; }
  body[data-arcade-design="retro"] .retro-supergraphic { width:250px; top:125px; right:-120px; opacity:.7; }
  body[data-arcade-design="retro"] .retro-spark-one,body[data-arcade-design="retro"] .retro-stamp { display:none; }
  body[data-arcade-design="retro"] .retro-marquee { margin-top:16px; }
  body[data-arcade-design="retro"] .retro-link-deck { grid-template-columns:1fr; gap:9px; margin-top:12px; }
  body[data-arcade-design="retro"] .retro-link-deck > * { min-height:54px; padding:10px 14px; grid-template-columns:24px 1fr auto; }
  body[data-arcade-design="retro"] .retro-link-deck small { display:none; }
  .game-utilities { gap:6px; }
  .game-utilities-title { font-size:.68rem; gap:5px; }
  .game-utilities-title i { display:none; }
  .game-controller-button b { display:none; }
  .game-utilities-actions { gap:4px; }
  .game-utilities :is(button,summary) { min-height:40px; font-size:.68rem; padding:9px 8px; }
  .game-sound-menu > .arcade-sound-settings { right:-55px; }
}
@media(prefers-reduced-motion:reduce) {
  .retro-home *,.game-utilities *,.arcade-game-dialog * { animation:none !important; transition:none !important; }
}

/* Yacht is a single tabletop below one compact navigation strip. */
body:has(.arcade-main.page-play.play-yacht) {
  --play-nav-h:64px;
  --yacht-bar-h:64px;
  overflow:hidden;
}
body:has(.arcade-main.page-play.play-yacht) .arcade-bg { display:none; }
body:has(.arcade-main.page-play.play-yacht) .arcade-nav {
  position:fixed; inset:0 0 auto; height:64px; min-height:0; padding:7px 12px;
  display:flex; flex-direction:row; align-items:center; justify-content:flex-start; background:var(--arcade-surface,#f8f0dc);
  border-bottom:1px solid var(--arcade-border,#cabba0); backdrop-filter:none;
}
body:has(.arcade-main.page-play.play-yacht) .arcade-nav .nav-balance { display:none; }
body:has(.arcade-main.page-play.play-yacht) .arcade-nav .arcade-profile-menu { position:relative; }
body:has(.arcade-main.page-play.play-yacht) .arcade-nav .arcade-profile-menu > summary {
  width:auto; min-width:0; max-width:none; min-height:48px; height:48px;
  padding:4px 12px 4px 5px; gap:9px; border-width:1px; box-shadow:none; transform:none;
}
body:has(.arcade-main.page-play.play-yacht) .arcade-nav .brand-mark {
  width:36px; height:36px; flex:0 0 36px; border-radius:10px;
}
body:has(.arcade-main.page-play.play-yacht) .arcade-nav .profile-summary-avatar { width:32px; height:32px; }
body:has(.arcade-main.page-play.play-yacht) .arcade-nav .profile-popover {
  left:0; transform:none; top:calc(100% + 10px); max-height:calc(100dvh - 82px);
}
body .arcade-main.page-play.play-yacht {
  width:100%; height:100dvh; min-height:0; padding:64px 0 0 !important;
  margin:0 !important; overflow:hidden;
}
body .arcade-main.page-play.play-yacht > .game-utilities {
  position:fixed; top:7px; right:12px; left:auto; width:auto; height:48px;
  margin:0; padding:0; border:0; border-radius:0; box-shadow:none;
  background:transparent; z-index:95;
}
body .arcade-main.page-play.play-yacht > .game-utilities .game-utilities-title { display:none; }
body .arcade-main.page-play.play-yacht > .game-stage {
  width:100%; height:100%; min-height:0; margin:0 !important; padding:0 !important;
  display:block; overflow:hidden; border:0; border-radius:0; box-shadow:none; background:none;
}
body .arcade-main.page-play.play-yacht > .game-stage::before,
body .arcade-main.page-play.play-yacht > .game-stage::after { display:none; }
body .arcade-main.page-play.play-yacht:fullscreen { padding-top:64px !important; }
@media(max-width:1040px) {
  body:has(.arcade-main.page-play.play-yacht) .arcade-nav .profile-volume-control,
  body:has(.arcade-main.page-play.play-yacht) .arcade-nav .profile-brand-name { display:none; }
}
@media(max-width:680px) {
  body:has(.arcade-main.page-play.play-yacht) { overflow:auto; }
  body:has(.arcade-main.page-play.play-yacht) .arcade-nav { padding-inline:8px; }
  body:has(.arcade-main.page-play.play-yacht) .arcade-nav .brand-mark,
  body:has(.arcade-main.page-play.play-yacht) .arcade-nav .profile-language-quick,
  body:has(.arcade-main.page-play.play-yacht) .arcade-nav .profile-summary-name { display:none; }
  body .arcade-main.page-play.play-yacht { height:auto; min-height:100dvh; overflow:visible; }
  body .arcade-main.page-play.play-yacht > .game-stage { height:auto; overflow:visible; }
  body .arcade-main.page-play.play-yacht > .game-utilities { right:8px; }
}
