:root{background:#000;color:#fff;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;overscroll-behavior:none;touch-action:none}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}
html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#000}
#app{position:fixed;inset:0;display:grid;place-items:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
canvas{display:block;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,calc(100vw * 9 / 16));max-width:100%;max-height:100%;aspect-ratio:16/9;background:#000;image-rendering:auto;touch-action:none}
#dom-ui,.screen{position:absolute;inset:0;pointer-events:none}.screen{display:grid;place-items:center;background:#000}.screen.hidden,.hidden{display:none!important}
#gom-video{width:100%;height:100%;object-fit:contain;background:#000}
#rotate{z-index:30;background:radial-gradient(circle,#28103f,#050207);text-align:center;font-size:8vw;color:#a7ff2c;text-shadow:0 4px #000}#rotate small{font:4vw Arial;color:#fff}
.toast{position:absolute;left:50%;top:8%;transform:translateX(-50%);padding:12px 22px;border:2px solid #a6ff2b;background:#170c25dd;color:#fff;border-radius:8px;font:18px Arial;z-index:40}
@media (orientation:portrait) and (max-width:900px){#rotate{display:grid!important;pointer-events:auto}}
@media (display-mode:standalone){html,body,#app{height:100dvh}}
/* V2: intro visible, fullscreen control and reliable aspect handling */
#boot{overflow:hidden}
#gom-logo{position:absolute;left:50%;top:50%;width:min(72vw,1100px);max-height:78vh;object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 0 22px #000);pointer-events:none;animation:gomLogoIntro 3.2s ease both}
@keyframes gomLogoIntro{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}18%{opacity:1;transform:translate(-50%,-50%) scale(1)}72%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.05)}}
#fullscreen-toggle{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:50;pointer-events:auto;width:64px;height:64px;border:3px solid #a7ff2c;border-radius:13px;background:#130c1ee8;color:#fff;font:700 40px/1 Arial;box-shadow:0 0 18px #7b23a8;display:grid;place-items:center}
#fullscreen-toggle:active{transform:scale(.94)}
@media(max-height:600px){#fullscreen-toggle{width:52px;height:52px;font-size:32px}}

@supports(height:100dvh){html,body,#app{height:100dvh}canvas{width:min(100vw,calc(100dvh * 16 / 9));height:min(100dvh,calc(100vw * 9 / 16))}}
