/* Mobile walkable shell v1: the penthouse's rotation gate and fullscreen-notice cue. */
#walk-orientation.mobile-orientation-gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right));background:radial-gradient(120% 100% at 50% 32%,#22302c,#0b110f);backdrop-filter:blur(6px);pointer-events:auto}
#walk-orientation[hidden]{display:none!important}
.mobile-rotate-card{width:min(430px,100%);text-align:center;color:#e9efe9;font:400 15px/1.7 system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.mobile-phone-icon{width:52px;height:82px;margin:0 auto 18px;border:2.5px solid #c8b184;border-radius:9px;animation:mobile-rotate 2.6s ease-in-out infinite}
.mobile-rotate-card h2{font:400 26px/1.25 Georgia,'Times New Roman',serif;margin:0 0 10px;color:#f2f5f1}
.mobile-rotate-card p{margin:0 0 6px;font-size:14px;color:#aebbb2}
@keyframes mobile-rotate{0%,40%{transform:rotate(0)}65%,100%{transform:rotate(-90deg)}}
.portrait-required .mobile-phone-icon{animation-direction:reverse}
#mobile-fullscreen{position:fixed;top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:61;width:40px;height:40px;border-radius:20px;border:1px solid rgba(255,255,255,.3);background:rgba(16,27,24,.72);color:#f3eddf;font:20px/40px Arial,sans-serif;text-align:center;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
#mobile-fullscreen[hidden]{display:none!important}
#mobile-notice-hint{position:fixed;left:50%;bottom:27vh;transform:translateX(-50%);z-index:62;pointer-events:none;display:none;align-items:center;gap:14px;padding:10px 18px;border-radius:12px;background:rgba(16,27,24,.78);border:1px solid rgba(217,197,158,.45);color:#f3eddf;font:600 15px/1.35 Arial,sans-serif;letter-spacing:.02em;white-space:nowrap;max-width:92vw;opacity:0;transition:opacity .35s}
#mobile-notice-hint.on{display:flex;opacity:1;animation:mobile-notice-blink .9s ease-in-out infinite}
#mobile-notice-hint .mobile-notice-arrow{display:inline-block;width:64px;height:18px;position:relative;flex:0 0 64px}
#mobile-notice-hint .mobile-notice-arrow:before{content:'';position:absolute;left:0;top:8px;width:46px;height:2px;background:#d9c59e;border-radius:1px}
#mobile-notice-hint .mobile-notice-arrow:after{content:'';position:absolute;left:40px;top:2px;width:12px;height:12px;border-top:2px solid #d9c59e;border-right:2px solid #d9c59e;transform:rotate(45deg)}
#mobile-notice-hint.on .mobile-notice-arrow{animation:mobile-notice-slide 1.1s ease-in-out infinite}
@keyframes mobile-notice-blink{0%{opacity:1}50%{opacity:.3}100%{opacity:1}}
@keyframes mobile-notice-slide{0%{transform:translateX(-8px);opacity:.55}60%{transform:translateX(14px);opacity:1}100%{transform:translateX(14px);opacity:0}}
@media(max-height:420px){#mobile-notice-hint{bottom:29vh;font-size:14px}}
@media(prefers-reduced-motion:reduce){.mobile-phone-icon{animation:none;transform:rotate(-90deg)}.portrait-required .mobile-phone-icon{transform:none}#mobile-notice-hint.on,#mobile-notice-hint.on .mobile-notice-arrow{animation:none;opacity:1}}
.mobile-orientation-blocked #touchpad,.mobile-orientation-blocked #lookpad,.mobile-orientation-blocked #touch-door{visibility:hidden!important}
.touch.mobile-fullscreen-exited #topbar .brand{margin-left:44px}
.mobile-only{display:none}
.touch .desktop-only{display:none}
.touch .mobile-only{display:inline}
.touch #gate{padding:max(16px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));justify-content:center;background:rgba(9,17,14,.78);overflow:auto}
.touch .welcome{width:min(500px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--panel,#151d19ed);border:1px solid #ffffff24;border-radius:14px;padding:20px 24px}
.touch .welcome h1{font-size:28px;line-height:1.1;margin:10px 0}
.touch .welcome p{font-size:12px;line-height:1.45;max-width:none;margin:10px 0}
.touch .welcome .actions{margin:12px 0;gap:10px}
.touch .welcome #loadstatus{margin:10px 0}
.touch .welcome .hint{font-size:12px;line-height:1.55}
