:root{--host-safe-top:0px;--host-safe-right:0px;--host-safe-bottom:0px;--host-safe-left:0px;--safe-top:max(env(safe-area-inset-top,0px),var(--host-safe-top));--safe-right:max(env(safe-area-inset-right,0px),var(--host-safe-right));--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--host-safe-bottom));--safe-left:max(env(safe-area-inset-left,0px),var(--host-safe-left))}
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}
body{margin:0;min-width:0;min-height:0;height:100dvh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:#101827}
button{touch-action:none;min-height:48px;-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible){outline:none}
#app-exit{position:fixed;left:max(8px,var(--safe-left));top:max(8px,var(--safe-top));z-index:12;width:48px;height:48px;min-height:48px;border:1px solid #ffffff30;border-radius:14px;background:#101827d9;color:#fff;font-size:24px}
#app-exit[hidden]{display:none}
#orientation-hint{position:fixed;inset:0;display:none;z-index:20;background:#101827;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:32px;color:#eff4e8;font-family:system-ui;gap:16px}
#orientation-hint b{font-size:48px;color:#c2dd91}#orientation-hint strong{font-size:24px}#orientation-hint span{font-size:14px;line-height:1.6;color:#aebdca}
html[data-orientation-blocked] #orientation-hint{display:flex}
/* Every screen is an app surface, with scrolling limited to menu dialogs. */
.dialog,.panel{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
html[data-game-family=platformer] .site-header,html[data-game-family=platformer] .game-topline,html[data-game-family=platformer] .game-bottomline,html[data-game-family=platformer] .instructions,html[data-game-family=platformer] footer{display:none}
html[data-game-family=platformer] main{padding:0;max-width:none;margin:0;width:100%;height:100%}
html[data-game-family=platformer] #arcade{width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none}
html[data-game-family=platformer] #overlay{padding:16px;background:#122d3670;backdrop-filter:none}
html[data-game-family=platformer] #overlay.menu-overlay{padding:0;background:linear-gradient(90deg,#eff3cdf5,#eff3cdd9 43%,#eff3cd00 80%)!important}
html[data-game-family=platformer] .menu-panel{width:65%;padding:20px 0 20px 7%;justify-content:center}
html[data-game-family=platformer] .menu-title{font-size:clamp(38px,8.5vw,78px);letter-spacing:-3px}
html[data-game-family=platformer] .menu-tag{margin-bottom:12px}
html[data-game-family=platformer] .menu-description{margin:14px 0;font-size:12px}
html[data-game-family=platformer] .menu-footnote{margin-top:16px;font-size:8px}
html[data-game-family=platformer] .scene-stamp{display:none}
html[data-game-family=platformer] .button{min-height:48px;font-size:12px}
html[data-game-family=platformer] #hud{padding:10px 16px 24px}
html[data-game-family=platformer] #hud .icon-button{width:48px;height:48px;font-size:23px;min-height:48px}
html[data-game-family=platformer] .hud-left,html[data-game-family=platformer] .hud-right{gap:16px}
html[data-game-family=platformer] #touch-controls .direction-pad{left:18px;bottom:16px;gap:12px}
html[data-game-family=platformer] #touch-controls .action-pad{right:18px;bottom:16px}
html[data-game-family=platformer] #touch-controls button{width:68px;height:62px;min-height:62px;background:#173e3ac4}
html[data-game-family=platformer] #touch-controls .jump-button{width:82px;height:78px;background:#e7ad62ed}
html[data-game-family=platformer] #touch-controls .run-button{display:none}
html[data-game-family=platformer] .dialog{width:420px;max-height:100%;padding:18px 24px}
html[data-game-family=platformer] .dialog h1{font-size:26px;margin:8px 0}
html[data-game-family=platformer] .dialog p{font-size:12px;margin:8px 0}
html[data-game-family=platformer] .world-list{margin:10px 0;gap:7px}
html[data-game-family=platformer] .world-button{min-height:58px;padding:10px}
html[data-game-family=platformer] .dialog .button{margin-top:8px}
html[data-game-family=platformer] .result-stats{margin:10px 0;padding:10px 0}
html[data-game-family=platformer] #power-status{top:65px}
@media(max-height:360px){html[data-game-family=platformer] .menu-tag,html[data-game-family=platformer] .menu-footnote{display:none}html[data-game-family=platformer] .menu-title{font-size:42px}html[data-game-family=platformer] .menu-description{margin:10px 0}html[data-game-family=platformer] #touch-controls button{height:54px;width:62px;min-height:54px}html[data-game-family=platformer] #touch-controls .jump-button{width:70px;height:64px}}
html[data-game-family=platformer] body[data-hero] #overlay.menu-overlay{background:linear-gradient(90deg,#09121ff5,#0a1523df 43%,#0b142510 85%)!important}
html[data-game-family=platformer] body[data-hero] #touch-controls .jump-button{background:var(--accent);color:#13213a}
html[data-game-family=platformer] .app-sound{position:absolute;right:10px;top:10px;width:48px;height:48px;min-height:48px;z-index:6;background:#101827b9;color:#fff;border-radius:14px}
html[data-game-family=platformer] #touch-controls{background:linear-gradient(transparent calc(100% - 86px),#0a1724e8 calc(100% - 86px))}
html[data-game-family=platformer] #touch-controls .jump-button{height:66px;min-height:66px;width:82px}
