/* Standalone game shell: no website navigation, page footer or reserved masthead space. */
:root { color-scheme: dark; --font-game: "FrizQuadrata", Georgia, serif; --font-ui: "frizqt", Georgia, serif; }
html, body { width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; background: #050407; color: #f4e9cc; }
*, *::before, *::after { box-sizing: border-box; }
body { font-family: var(--font-ui); }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: default; }
h1, h2, h3, h4, p { margin: 0; }
a { color: #e8c36a; }
body main#app.spires-app, body.sp-game.sp-stage-on main#app.spires-app.sp-stage-host {
  position: fixed; inset: 0; width: 100%; height: 100%; max-width: none;
  margin: 0; padding: 0; min-height: 0; overflow: clip;
}
.sp-loading { display: grid; place-items: center; height: 100%; color: #e8c36a; font: 20px Georgia, serif; }
noscript { display: block; padding: 32px; text-align: center; }
.sp-credits { display: grid; gap: 16px; max-width: 600px; line-height: 1.6; padding: 12px; }
.sp-credits a { text-decoration: underline; }
/* Spanish labels can be longer than the original; keep controls inside their panels. */
.sx-tabs { flex-wrap: wrap; }
.sp-title-screen__row { flex-wrap: wrap; }
#app .sp-title-screen { overflow-y: auto; }
#app .sp-title-screen__logo { margin-top: 80px; }
#app .sp-title-screen__tag { font-size: 34px; line-height: 1.25; }
#app .sp-title-screen__menu { margin-bottom: 60px; gap: 18px; }
/* A focused lobby control must never scroll the entire scaled game stage. */
body.sp-game .sp-stage { overflow: clip; }
.sp-arena-lobby { max-height:calc(100% - 90px); overflow-y:auto; }
