/* Product layout: only the native menu and running game surfaces exist. */
html, body.ovz-product { width:100%; height:100%; margin:0; overflow:hidden; background:#08090d; }
body.ovz-product .app, body.ovz-product main, body.ovz-product .workspace-shell {
  display:block; position:absolute; inset:0; width:100%; height:100%; min-width:0;
  padding:0; margin:0; border:0;
}
body.ovz-product .workbench-section { display:none; position:absolute; inset:0; margin:0; padding:0; }
body.ovz-product .workbench-section.active { display:block; }
body.ovz-product .game-viewport, body.ovz-product .play-viewport {
  position:absolute; inset:0; width:100%; height:100%; min-height:0; max-height:none;
  border:0; border-radius:0; aspect-ratio:auto;
}
body.ovz-product #gameMenuCanvas { width:100%; height:100%; outline:none; }
#gameBootError:not([hidden]) { position:fixed; inset:30% 15%; z-index:10000; padding:2rem;
  color:white; background:#181722; border:1px solid #776690; font:18px system-ui; }
#playerNameButton { position:fixed; top:20px; right:24px; z-index:100;
  max-width:calc(100vw - 48px); padding:10px 16px; border:1px solid #616974;
  border-radius:5px; background:#101820e6; color:#edf4f8; font:15px system-ui; cursor:pointer; }
#playerNameButton[hidden] { display:none; }
#playerNameDialog { width:min(400px,calc(100vw - 64px)); padding:28px; border:1px solid #52616b;
  border-radius:10px; background:#111a21; color:#edf4f8; font:16px system-ui; }
#playerNameDialog::backdrop { background:#05090cbf; }
#playerNameDialog h2 { margin:0 0 24px; font-size:23px; }
#playerNameDialog label { display:block; margin-bottom:8px; font-weight:600; }
#playerNameInput { box-sizing:border-box; width:100%; padding:12px; border:1px solid #74828c;
  border-radius:4px; background:#080e13; color:white; font:20px system-ui; }
#playerNameHint { color:#aebec8; font-size:14px; }
#playerNameError { color:#ffb7ab; font-size:14px; min-height:18px; }
.player-name-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:20px; }
.player-name-actions button { padding:10px 16px; border:1px solid #657681; border-radius:4px;
  background:transparent; color:#edf4f8; font:600 15px system-ui; cursor:pointer; }
.player-name-actions button[type=submit] { background:#9fd5bd; border-color:#9fd5bd; color:#10231c; }
#playerNameButton:focus-visible, #playerNameDialog :focus-visible { outline:2px solid #b8f0d4; outline-offset:3px; }
#playerNameDialog button:disabled { opacity:.55; cursor:wait; }
