/* Controls are outside the scene: every platform stays visible on a phone. */
.world-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.world-preview{aspect-ratio:16/9}.route-label{font-size:9px}.play-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;background:#153c30;border-top:2px solid #96b87b;color:#e9efd7;min-height:78px;touch-action:none;user-select:none;-webkit-user-select:none}.direction-pad,.action-pad{display:flex;gap:10px}.control-key{display:flex;align-items:center;justify-content:center;gap:8px;min-width:65px;height:54px;border:2px solid #d6ddb6;border-radius:7px;color:#fff9e5;background:#315d44;box-shadow:0 4px #071e17;cursor:pointer;font:700 27px var(--mono);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.control-key.held,.control-key:active{transform:translateY(3px);box-shadow:0 1px #071e17;background:#618852}.control-key:focus-visible{outline:3px solid #ffb957;outline-offset:3px}.jump-key{min-width:125px;background:#e96e31;border-color:#ffdda5}.jump-key span,.interact-key span{font-size:13px;letter-spacing:.5px}.interact-key{background:#807643;min-width:78px}.interact-key small{font-size:10px;opacity:.6}.play-controls p{font:10px/1.6 var(--mono);text-align:center;color:#d3dfbd;margin:0;max-width:330px}.arcade-bottomline{min-height:54px;height:auto;padding:12px 18px;gap:10px;flex-wrap:wrap}.arcade-actions{gap:18px}.arcade-actions button{min-height:32px}.arcade-bottomline p{font-size:9px}.music-settings{background:#edeedc;color:#3d5941;border-top:1px solid #cbd3b2;padding:0 18px;font:10px/1.6 var(--mono)}.music-settings summary{cursor:pointer;padding:9px 0;width:max-content}.music-settings summary span{margin-left:7px;color:#ad602f}.music-options{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:6px 0 16px}.file-choice{position:relative;display:inline-flex;align-items:center;min-height:35px;border:1px solid #8fa581;border-radius:3px;padding:7px 12px;background:#fff8e7;overflow:hidden;cursor:pointer}.file-choice input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.file-choice:focus-within{outline:2px solid #cc652c;outline-offset:2px}.music-options .text-button{font-size:10px;margin:0;min-height:35px}.volume-label{display:flex;align-items:center;gap:10px}.volume-label input{width:120px;accent-color:#bc652e}#music-source-name{font-size:9px;flex-basis:100%;color:#61715b;overflow-wrap:anywhere}.music-settings[open]{box-shadow:inset 0 1px #ffffee}.arcade:fullscreen .music-settings,.arcade.expanded .music-settings{display:none}.arcade:fullscreen .game-viewport,.arcade.expanded .game-viewport{width:min(100vw,calc((100dvh - 164px)*16/9));height:auto;aspect-ratio:16/9!important;flex:none}.arcade:fullscreen .play-controls,.arcade.expanded .play-controls{flex:none;width:100%}.arcade:fullscreen .arcade-bottomline,.arcade.expanded .arcade-bottomline{min-height:48px;height:48px}.arcade:fullscreen .arcade-bottomline>p,.arcade.expanded .arcade-bottomline>p{display:none}.arcade:fullscreen .arcade-actions,.arcade.expanded .arcade-actions{margin:auto}.arcade[data-phase='complete'] .game-viewport{aspect-ratio:16/9!important}.arcade[data-phase='complete'] #game-canvas{height:100%!important;width:100%;object-fit:contain;object-position:center!important;bottom:0}.complete-overlay{inset:auto 0 0;padding:12px 22px;background:linear-gradient(0deg,#10271eea,#10271eaa);display:block}.complete-overlay .game-dialog{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;max-width:none;background:none;border:0;box-shadow:none;padding:0;color:#fff4de;text-align:left}.complete-overlay .game-dialog h2,.complete-overlay .dialog-eyebrow,.complete-overlay .completion-stars{display:none}.complete-overlay .game-dialog p{margin:0;font-size:11px;color:#fff4de}.complete-overlay .game-dialog p br{display:none}.complete-overlay .game-dialog p{max-width:280px}.complete-overlay .game-dialog .pixel-button{min-height:40px;font-size:11px}.complete-overlay .game-dialog .text-button{margin:0;color:#fff4de;font-size:10px}.journey-track i:nth-of-type(1){left:33.333%}.journey-track i:nth-of-type(2){left:66.666%}.journey-track i:nth-of-type(3){display:none}
@media(max-width:760px){.play-controls{padding:10px;gap:8px;min-height:80px}.control-key{min-width:51px;height:54px;font-size:25px}.direction-pad,.action-pad{gap:7px}.jump-key{min-width:78px}.jump-key span,.interact-key span{font-size:9px}.interact-key{min-width:50px}.interact-key small{display:none}.play-controls p{font-size:7px;max-width:120px;line-height:1.6}.arcade-bottomline{padding:7px 10px;min-height:64px;gap:5px}.arcade-actions{justify-content:space-between;gap:9px;width:100%}.arcade-actions #pause-button{margin:0}.arcade-actions .sound-button{font-size:8px;gap:4px;min-height:28px}.music-settings{padding:0 10px;font-size:9px}.music-options{gap:12px}.volume-label{font-size:9px}.world-grid{grid-template-columns:1fr}.world-card{display:grid;grid-template-columns:43% 1fr}.world-preview{aspect-ratio:16/9;height:auto}.world-copy{padding:15px}.world-copy h3{font-size:13px}.world-copy p{font-size:10px;min-height:0}.section-heading{gap:12px}.route-label{font-size:7px;white-space:normal;text-align:right}.arcade:fullscreen .game-viewport,.arcade.expanded .game-viewport{width:min(100vw,calc((100dvh - 158px)*16/9))}.complete-overlay{padding:8px 9px}.complete-overlay .game-dialog{gap:8px;flex-wrap:wrap}.complete-overlay .game-dialog p{display:none}.complete-overlay .game-dialog .pixel-button{min-height:29px;font-size:8px;padding:4px 8px}.complete-overlay .game-dialog .text-button{font-size:8px}.arcade[data-phase='paused'] .game-viewport,.arcade[data-phase='gameover'] .game-viewport{aspect-ratio:16/9}.game-dialog{padding:10px}.game-dialog h2{font-size:17px}.game-dialog p{font-size:8px}.game-dialog .text-button{margin-top:7px}.game-dialog .pixel-button{min-height:30px}.game-dialog .dialog-eyebrow{font-size:6px}}
@media(max-width:420px){.play-controls p{max-width:83px;font-size:6.5px}.control-key{min-width:47px}.jump-key{min-width:69px}.play-controls{padding-inline:8px}.topline-status{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arcade-bottomline p{max-width:none}}
@media(max-height:520px) and (orientation:landscape){.arcade:fullscreen .play-controls,.arcade.expanded .play-controls{position:absolute;bottom:48px;left:0;right:0;z-index:5;background:none;border:0;pointer-events:none;padding:5px 20px;min-height:60px}.arcade:fullscreen .play-controls p,.arcade.expanded .play-controls p{display:none}.arcade:fullscreen .control-key,.arcade.expanded .control-key{pointer-events:auto;opacity:.78;height:47px;min-width:54px}.arcade:fullscreen .game-viewport,.arcade.expanded .game-viewport{width:min(100vw,calc((100dvh - 76px)*16/9))}}

body.game-expanded{overflow:hidden}
