html,body{min-width:0;min-height:100%;}
#orientation-guard{display:none;position:fixed;inset:0;z-index:20000;place-items:center;padding:24px;background:var(--bg,#06101f);color:var(--text,#f8fafc);text-align:center;}
.orientation-guard-card{width:min(420px,100%);padding:28px 22px;border:1px solid var(--line,#40536d);border-radius:22px;background:var(--surface,#15243a);box-shadow:0 20px 60px #0008;}
.orientation-guard-icon{font-size:3rem;color:var(--accent,#ffc52b);line-height:1;transform:rotate(-45deg);}
.orientation-guard-card h1{margin:16px 0 8px;font-size:clamp(1.25rem,5vw,1.8rem);}
.orientation-guard-card p{margin:0;color:var(--muted,#c9d5e5);line-height:1.45;font-weight:700;}
#orientation-play{margin-top:18px;min-height:48px;padding:12px 22px;border:0;border-radius:12px;background:var(--accent,#ffc52b);color:#172033;font:inherit;font-weight:900;cursor:pointer;}
#orientation-play:disabled{opacity:.65;cursor:wait;}
#orientation-status:not(:empty){margin-top:14px;font-size:.9rem;}
#orientation-guard{overflow:auto;box-sizing:border-box;}
@media (orientation:portrait) and (max-width:900px){
  #orientation-guard{display:grid;}
  #game-container{display:none!important;}
}
@media (orientation:landscape){
  #game-container{width:100%;min-height:100dvh;}
}
.mobile-fullscreen-prompt[hidden]{display:none!important;}
.mobile-fullscreen-prompt{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:20px;box-sizing:border-box;background:rgba(3,10,24,.88);color:var(--text,#f8fafc);text-align:center;backdrop-filter:blur(8px);}
.mobile-fullscreen-card{width:min(440px,100%);padding:24px 20px;border:1px solid color-mix(in srgb,var(--accent,#ffc52b) 55%,var(--line,#40536d));border-radius:20px;background:var(--surface,#15243a);box-shadow:0 22px 70px #000a,0 0 28px #42dfff26;}
.mobile-fullscreen-card h2{margin:0 0 10px;font-size:clamp(1.2rem,5vw,1.65rem);}
.mobile-fullscreen-card p{color:var(--muted,#c9d5e5);line-height:1.5;font-weight:700;}
.mobile-fullscreen-card button{display:block;width:100%;min-height:48px;margin-top:10px;padding:11px 14px;border:1px solid var(--line,#40536d);border-radius:12px;background:var(--surface2,#203149);color:var(--text,#f8fafc);font:inherit;font-weight:900;cursor:pointer;}
.mobile-fullscreen-card button[data-enter]{border-color:transparent;background:var(--accent,#ffc52b);color:#172033;}
.mobile-fullscreen-card button:focus-visible{outline:3px solid #7ceeff;outline-offset:3px;}
.mobile-fullscreen-card [data-status]:empty{display:none;}
