/* Game-owned full-viewport layout. Loaded after the legacy proportional shell. */
#focus-game { margin-top:16px; min-height:44px; padding:10px 20px; }
html:has(.focused-arcade),body.is-playing { overflow:hidden; overscroll-behavior:none; }
.is-playing #main .focused-arcade {
  width:100%; height:100dvh; min-height:0; padding:0;
  padding:max(var(--safe-area-inset-top,env(safe-area-inset-top)),2px) max(var(--safe-area-inset-right,env(safe-area-inset-right)),4px) max(var(--safe-area-inset-bottom,env(safe-area-inset-bottom)),2px) max(var(--safe-area-inset-left,env(safe-area-inset-left)),4px);
  justify-content:flex-start; gap:0; overflow:hidden;
}
.is-playing #main .focused-arcade .game-toolbar,
.is-playing #main .focused-arcade .round-objectives,
.is-playing #main .focused-arcade .game-footer { width:100%; }
.is-playing #main .focused-arcade .game-toolbar { height:58px; min-height:58px; padding:2px 12px; gap:18px; }
.is-playing #main .focused-arcade .round-objectives { min-height:32px; padding:4px 10px; gap:8px; }
.is-playing #main .focused-arcade .stage {
  position:relative; width:100%; height:0; min-height:0; max-height:none;
  aspect-ratio:auto; flex:1 1 0%; border-radius:0; outline:0; box-shadow:none;
}
.is-playing #main .focused-arcade .stage canvas { position:absolute; inset:0; width:100%; height:100%; }
.is-playing #main .focused-arcade .game-footer { height:26px; min-height:26px; padding:2px 10px; }
.is-playing #main .focused-arcade .overlay { position:absolute; inset:0; border:0; border-radius:0; display:grid; place-items:center; overflow:hidden; }
.is-playing #main .focused-arcade .overlay[hidden] { display:none; }
.is-playing #main .focused-arcade .overlay-content {
  width:min(100%,640px); max-width:100%; max-height:100%; padding:12px;
  display:grid; gap:8px; align-content:center; overflow:visible;
}
.focused-arcade .round-story,.focused-arcade .round-setup,.focused-arcade .round-launch { min-width:0; }
.is-playing #main .focused-arcade .overlay h2 { font-size:clamp(20px,3vw,30px); margin:0 0 6px; }
.is-playing #main .focused-arcade .overlay .eyebrow { margin:0 0 6px; }
.is-playing #main .focused-arcade .overlay p:not(.eyebrow) { margin:4px 0; font-size:12px; line-height:1.45; }
.is-playing #main .focused-arcade .setting-picker { margin:6px auto; width:100%; }
.is-playing #main .focused-arcade .setting-picker legend { margin-bottom:6px; }
.is-playing #main .focused-arcade .setting-card { min-height:52px; padding:8px 10px; }
.is-playing #main .focused-arcade .setting-card strong { margin-bottom:3px; }
.is-playing #main .focused-arcade #customize-harbor { min-height:40px; margin:2px auto; }
.is-playing #main .focused-arcade .mode-options { margin:4px auto; }
.is-playing #main .focused-arcade .mode-options button { min-height:40px; }
.is-playing #main .focused-arcade .primary-button { min-height:44px; padding:10px 20px; }
.is-playing #main .focused-arcade .game-update { display:grid; grid-template-columns:1fr auto; align-items:center; gap:2px 8px; padding:4px 8px; margin:4px auto; }
.is-playing #main .focused-arcade .game-update p { grid-column:1/-1; grid-row:2; font-size:10px; line-height:1.2; margin:2px 0; }
.is-playing #main .focused-arcade .overlay:has(#update-panel:not([hidden])) #objective-summary,
.is-playing #main .focused-arcade .overlay:has(#update-panel:not([hidden])) #streak-summary { display:none; }
.is-playing #main .focused-arcade .prototype-note,.is-playing #main .focused-arcade .start-hint { display:none; }
.is-playing #main .focused-arcade .touch-controls { width:100%; min-height:88px; height:88px; padding:4px; gap:16px; }
.is-playing #main .focused-arcade:has(.overlay:not([hidden])) .touch-controls,
.is-playing #main .focused-arcade:has(.overlay:not([hidden])) .game-footer { display:none; }
.is-playing #main .focused-arcade .touch-stick { width:78px; height:78px; }
.is-playing #main .focused-arcade .touch-stick-knob { left:21px; top:21px; }
.is-playing #main .focused-arcade .touch-stick::before { top:38px; }
.is-playing #main .focused-arcade .touch-stick::after { left:38px; }
.is-playing #main .focused-arcade .touch-control-help { margin:0; font-size:11px; }
@media(max-width:580px) and (orientation:portrait) {
  .is-playing #main .focused-arcade .game-toolbar { height:104px; min-height:104px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px 6px; padding:4px; }
  .is-playing #main .focused-arcade .stat strong { font-size:17px; }
  .is-playing #main .focused-arcade .round-controls { gap:5px; }
  .is-playing #main .focused-arcade .round-controls .icon-button { min-width:40px; min-height:40px; justify-content:center; padding:6px; }
  .is-playing #main .focused-arcade .round-objectives { min-height:50px; padding:4px; }
  .is-playing #main .focused-arcade #overlay-description { display:none; }
  .is-playing #main .focused-arcade .overlay-content { padding:10px; gap:6px; }
  .is-playing #main .focused-arcade .overlay .eyebrow { display:none; }
  .is-playing #main .focused-arcade #setting-help { font-size:10px; }
}
@media(orientation:landscape) {
  .is-playing #main .focused-arcade .touch-controls { display:none!important; }
}
@media(orientation:landscape) and (max-height:600px) {
  .is-playing #main .focused-arcade .game-toolbar { display:flex; height:48px; min-height:48px; padding:1px 6px; gap:14px; }
  .is-playing #main .focused-arcade .game-footer { display:none; }
  .is-playing #main .focused-arcade .round-objectives { min-height:28px; padding:2px 6px; }
  .is-playing #main .focused-arcade .round-goal,.is-playing #main .focused-arcade .round-goal strong { font-size:10px; }
  .is-playing #main .focused-arcade .streak-stat { display:flex; align-items:center; justify-content:space-between; gap:4px; font-size:10px; }
  .is-playing #main .focused-arcade .streak-stat strong { font-size:10px; }
  .is-playing #main .focused-arcade #score-multiplier { font-size:14px; }
  .is-playing #main .focused-arcade .round-controls { gap:4px; }
  .is-playing #main .focused-arcade .round-controls .icon-button { min-height:40px; min-width:40px; padding:6px; justify-content:center; }
  .is-playing #main .focused-arcade #fullscreen span,.is-playing #main .focused-arcade #pause span,.is-playing #main .focused-arcade #music-label,.is-playing #main .focused-arcade #sound-label { display:none; }
  .is-playing #main .focused-arcade .stat strong { font-size:17px; }
  .is-playing #main .focused-arcade .overlay-content { width:min(100%,880px); grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px 18px; padding:6px 16px; }
  .is-playing #main .focused-arcade .round-story { grid-column:1; grid-row:1; align-self:center; }
  .is-playing #main .focused-arcade .round-setup { grid-column:2; grid-row:1; }
  .is-playing #main .focused-arcade .round-launch { grid-column:1/-1; }
  .is-playing #main .focused-arcade #overlay-kicker,.is-playing #main .focused-arcade #overlay-description,.is-playing #main .focused-arcade #setting-help,.is-playing #main .focused-arcade #mode-help { display:none; }
  .is-playing #main .focused-arcade .setting-card small { display:none; }
  .is-playing #main .focused-arcade .setting-card { min-height:44px; padding:6px; }
  .is-playing #main .focused-arcade .setting-picker { margin:2px auto; }
  .is-playing #main .focused-arcade #customize-harbor { min-height:44px; padding:4px 10px; margin:2px auto; }
  .is-playing #main .focused-arcade .mode-options button { min-height:44px; padding:4px 9px; }
  .is-playing #main .focused-arcade .overlay h2 { font-size:23px; }
  .is-playing #main .focused-arcade .overlay p:not(.eyebrow) { font-size:11px; }
  .is-playing #main .focused-arcade .game-update { margin:2px 0; padding:4px; }
}
@media(max-height:500px) and (orientation:portrait) {
  .is-playing #main .focused-arcade .overlay-content { gap:2px; padding:4px; }
  .is-playing #main .focused-arcade .overlay h2 { font-size:20px; }
  .is-playing #main .focused-arcade #setting-help,.is-playing #main .focused-arcade #mode-help,.is-playing #main .focused-arcade #objective-summary,.is-playing #main .focused-arcade #streak-summary { display:none; }
}
@media(max-width:580px) and (max-height:700px) and (orientation:portrait) {
  .is-playing #main .focused-arcade .overlay-content { gap:4px; padding:6px 8px; }
  .is-playing #main .focused-arcade #setting-help,.is-playing #main .focused-arcade #mode-help { display:none; }
}
