/* game-kit 6ee9a0c: css/shell.css — edit in game-kit and run tools/kit-sync.js */
/* game-kit: the standard 3D shell (js/game-core.js): title screen, prompt, endings, pause menu, custom mini-game layer.
   Tokens only (css/theme.css); loaded after kit.css and theme.css. A game restyles it through tokens in css/theme-game.css. */
#title { position: fixed; inset: 0; z-index: 30; display: flex; align-items: center; justify-content: center; text-align: center; padding: var(--gf-win-margin, 16px);
  background: radial-gradient(ellipse at 50% 40%, var(--gf-surface-2, #2a2a2a), var(--gf-bg, #000) 70%); color: var(--gf-text, #eee); }
#title.hidden { display: none; }
.gf-title-box h1 { margin: 0 0 var(--gf-space-2, 8px); font-size: clamp(1.8rem, 6vw, 3rem); letter-spacing: 0.08em; }
.gf-sub, .gf-ver { color: var(--gf-text-dim, #999); margin: var(--gf-space-2, 8px) 0; }
.gf-title-btns { display: flex; flex-direction: column; align-items: center; gap: var(--gf-space-2, 8px); margin: var(--gf-space-5, 24px) 0 var(--gf-space-3, 12px); }
.gf-title-btns .btn { min-width: 12em; min-height: var(--gf-hit, 44px); background: var(--gf-surface, #fff); color: var(--gf-text, #222); border-color: var(--gf-border, #ccc); border-radius: var(--gf-radius, 10px); }
.gf-title-btns .btn.primary { background: var(--gf-accent, #3a7a5a); color: var(--gf-accent-ink, #fff); border-color: var(--gf-accent, #3a7a5a); }
.gf-title-btns .rn-link { color: var(--gf-text-dim, #999); }
#prompt { background: var(--gf-panel-soft, rgba(255, 253, 246, 0.94)); color: var(--gf-text, #23302c); border: 1px solid var(--gf-border, transparent); }
.gf-menu { display: grid; grid-template-columns: repeat(auto-fit, minmax(10em, 1fr)); gap: var(--gf-space-2, 8px); margin-bottom: var(--gf-space-4, 16px); }
.gf-menu-btn { min-height: var(--gf-hit, 44px); margin: 0; }
.gf-set { display: flex; align-items: center; gap: var(--gf-space-3, 12px); margin: var(--gf-space-2, 8px) 0; min-height: var(--gf-hit, 44px); }
.gf-set input[type=range] { flex: 1; }
.gf-ending-img { display: block; max-width: 100%; max-height: 40vh; margin: 0 auto var(--gf-space-3, 12px); border-radius: var(--gf-radius, 10px); }
.gf-overlay { position: fixed; inset: 0; z-index: 24; display: flex; align-items: center; justify-content: center; background: var(--gf-overlay-strong, rgba(0, 0, 0, 0.72)); color: var(--gf-text, #eee); padding: var(--gf-win-margin, 16px); }
.gf-scanlines { display: none; }
[data-theme] .gf-scanlines { display: block; }
#guide { max-width: min(340px, 62vw); pointer-events: none; }
#guide .sg-btn { pointer-events: auto; }
body.touch #guide { max-width: 46vw; font-size: 0.85em; }
