/* Game-first presentation. Original controls remain available in the field menu. */
body.game-mode{background:#171e2b;color:#fff0c4;overflow:hidden}
.game-mode>.topbar{display:none}
.game-mode .workspace{display:block;min-height:0;height:100dvh}
.game-mode .world-section{position:relative;padding:0;width:100%;height:100dvh}
.game-mode #game-shell{width:100%;height:100dvh;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none;color:var(--ink)}
.game-mode .adventure-bar{position:absolute;left:18px;top:16px;z-index:4;margin:0;background:#26392fec;border:2px solid #e8d49b;box-shadow:3px 3px 0 #202b2e;padding:12px 16px;color:#fff0c4;font:11px var(--mono)}
.game-mode .adventure-bar b{color:#f5c57f;font-size:11px}
.game-mode #open-menu{position:absolute;right:18px;top:16px;z-index:5;background:#26392f;border:2px solid #e8d49b;border-radius:0;color:#fff0c4;padding:11px 16px;font:700 11px var(--mono);box-shadow:3px 3px 0 #202b2e}
.game-mode .scene-badge{display:none}.game-mode .rotation-controls{top:72px}.game-mode .compass{top:78px}
.game-mode .map-tools{top:128px}.game-mode .source-credit{font-size:7px;background:#24382cd9}
.game-mode .editor-banner{top:128px;left:16px;right:auto;z-index:6;max-width:calc(100% - 90px)}
.game-mode .minimap-wrap{bottom:25px}.game-mode .street-sign{bottom:25px}
.game-mode .toast{pointer-events:none;bottom:30px;top:auto;z-index:20}
#title-screen{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#252638;color:#fff0ba;box-shadow:none}
#title-screen::backdrop{background:#252638}
#title-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.title-heading{position:absolute;left:50%;top:9%;transform:translateX(-50%);width:min(84vw,980px);margin:0;text-align:center}
#title-logo{display:block;width:100%;height:auto;image-rendering:pixelated;filter:drop-shadow(0 5px 0 #33283b55)}
.title-kicker{display:block;color:#fff3c1;text-shadow:2px 2px #463247;font:700 clamp(8px,1vw,12px) var(--mono);letter-spacing:3px;margin-top:8px}
.title-commands{position:absolute;left:0;right:0;bottom:7%;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center}
#start-adventure{background:none;border:0;border-radius:0;color:#fff1ba;padding:12px 26px;position:relative}
#start-adventure::before{content:'▶';position:absolute;left:0;top:8px;font:20px var(--mono);color:#f4b957}
#start-art{display:block;width:264px;height:44px;image-rendering:pixelated;animation:start-blink 1.4s steps(2,end) infinite}
#start-adventure:disabled #start-art{animation:none;opacity:.4}
#start-adventure:focus-visible{outline:2px dashed #ffdf9b;outline-offset:5px}
#title-status{margin:0;font:10px var(--mono);letter-spacing:2px;color:#e6dbbc;text-shadow:1px 1px #171d2b;max-width:90vw}
.title-edition{position:absolute;bottom:15px;left:0;right:0;text-align:center;font:8px var(--mono);letter-spacing:2px;color:#d3c5a7}
#title-retry{color:#ffdf9b;font:12px var(--mono)}
#title-music-toggle{background:#26392fe6;color:#fff0c4;border:1px solid #e8d49b;border-radius:0;padding:9px 13px;font:9px var(--mono);letter-spacing:1px}
#title-music-toggle:focus-visible{outline:2px dashed #ffdf9b;outline-offset:4px}
@keyframes start-blink{0%,70%{opacity:1}71%,100%{opacity:.35}}
#adventure-menu{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);background:#f5efd7;color:#293d32;border:4px solid #37523c;border-radius:0;box-shadow:0 0 0 3px #eed5a0;padding:22px;overflow:auto;font-family:var(--mono)}
#adventure-menu::backdrop{background:#101c2caa}
.menu-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #7e8b65;padding-bottom:14px;margin-bottom:18px;gap:12px}
.menu-heading h2{font:700 18px var(--mono);margin:0}.menu-heading button,.menu-links button{background:#344e3b;color:#fff1c4;border:2px solid #cabc8d;border-radius:0;padding:10px;font:11px var(--mono)}
#adventure-menu .sidebar{display:block;width:100%;padding:0;border:0;background:none}
#adventure-menu .sidebar-heading,#adventure-menu .sidebar-bottom,#adventure-menu .location-section .section-heading,#adventure-menu .reference-section{display:none}
#adventure-menu .location-section{display:block;padding:0;margin-bottom:20px}
#adventure-menu .character-section,#adventure-menu .day-section{display:block;margin:16px 0}
#adventure-menu .character-section .section-heading{display:none}
#adventure-menu .world-heading{margin:20px 0;display:flex;flex-wrap:wrap;gap:12px}
#adventure-menu .world-heading h2{font-size:16px}#adventure-menu .world-heading h2 span{font-size:9px}
#adventure-menu .encounter-controls{justify-content:flex-start;margin:18px 0;width:auto}
#adventure-menu .playbar{flex-wrap:wrap}#adventure-menu .world-footer{margin:20px 0}
.menu-links{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-top:20px}
.music-controls{border-bottom:2px solid #7e8b65;padding-bottom:18px;margin-bottom:20px}
.music-controls h3{font:700 13px var(--mono);margin:0 0 8px}
.music-controls p{font:10px var(--mono);line-height:1.6;margin:0 0 12px}
.music-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:10px var(--mono)}
.music-settings button{background:#344e3b;color:#fff1c4;border:2px solid #cabc8d;border-radius:0;padding:10px;font:11px var(--mono)}
.music-settings input{width:130px;max-width:40%;accent-color:#344e3b}
.music-settings button:focus-visible,.music-settings input:focus-visible{outline:2px solid #344e3b;outline-offset:3px}
@media(max-width:640px){
 .game-mode .adventure-bar{left:10px;top:12px;padding:10px;font-size:8px;max-width:calc(100% - 92px)}
 .game-mode .adventure-bar b{font-size:9px}.game-mode #open-menu{right:10px;top:12px;padding:10px;font-size:9px}
 .game-mode .rotation-controls{top:62px;left:10px}.game-mode .compass{display:none}
 .game-mode .map-tools{top:122px}.game-mode .street-sign{bottom:160px}.game-mode .toast{top:110px;bottom:auto}
 .game-mode .touch-controls{bottom:30px}.title-heading{top:14%;width:94vw}.title-kicker{letter-spacing:1px;font-size:8px}
 .title-commands{bottom:10%;gap:12px}#start-art{width:220px;height:37px}#title-status{font-size:8px;letter-spacing:1px}
 .title-edition{font-size:6px}#adventure-menu{padding:16px}.menu-heading h2{font-size:14px}
}
@media(prefers-reduced-motion:reduce){#start-art{animation:none}}
