.guest-gate { position: fixed; inset: 0; z-index: 500; display: flex; align-items: center; justify-content: center; overflow-y: auto; padding: max(28px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); background: radial-gradient(ellipse at 50% 10%, #34304d88, transparent 65%), #0b1022; }
.guest-card { width: min(100%, 460px); text-align: center; margin: auto; }
.guest-crown { font-size: 60px; color: #d9c593; line-height: 1; margin: 30px 0 20px; }
.guest-pill { display: inline-block; border: 1px solid #cebb853d; border-radius: 50px; color: #dfcca0; background: #d3bd7310; padding: 7px 13px; font: 600 9px system-ui; letter-spacing: 2px; }
.guest-card h1 { color: #f0e7d6; font: 400 clamp(38px, 7vw, 52px)/1.05 Georgia, serif; letter-spacing: -1.6px; margin: 22px 0 15px; }
#guest-message { font-size: 14px; line-height: 1.65; color: #aebbd1; margin: 0 auto 24px; max-width: 360px; }
#guest-join, #guest-use-invite { width: 100%; min-height: 54px; border-radius: 8px; font: 600 15px system-ui; cursor: pointer; }
#guest-join span { margin-left: 30px; }
#guest-join:disabled { opacity: .5; cursor: wait; }
.guest-footnote { color: #8391ac; font-size: 12px; line-height: 1.8; margin: 22px 0; }
.guest-card a, .guest-help a { font-size: 11px; color: #8f9bb3; text-decoration: none; }
#guest-invite-entry { text-align: left; }
#guest-invite-entry label { display: block; margin-bottom: 8px; font-size: 12px; color: #c2cbe0; }
#guest-invite { width: 100%; resize: vertical; font: 16px/1.5 system-ui; padding: 12px; margin-bottom: 12px; border: 1px solid #6f7d9b55; border-radius: 8px; background: #151e32; color: #d5ddee; }
.guest-help { position: fixed; inset: 0; z-index: 400; display: flex; align-items: center; justify-content: center; padding: 16px; background: #020715ba; }
.guest-help section { position: relative; width: min(100%, 440px); max-height: calc(var(--arena-height, 100dvh) - 32px); overflow-y: auto; overscroll-behavior: contain; background: #141d32; border: 1px solid #8d9bb43b; border-radius: 18px; padding: 32px 24px 22px; }
.guest-help h2 { font: 30px Georgia; color: #e6d8b8; margin: 18px 0; }
.guest-help p { font-size: 13px; color: #9baec9; line-height: 1.7; }
.guest-help dl { margin: 20px 0; }
.guest-help dl div { padding: 10px 0; border-bottom: 1px solid #99b7df18; }
.guest-help dt { font-size: 12px; color: #e0d1ae; }
.guest-help dd { margin: 4px 0 0; font-size: 12px; color: #a9b9d3; }
.guest-help .guest-small { font-size: 11px; }
.guest-help button { min-height: 44px; padding: 0 13px; border: 1px solid #8a9abb44; border-radius: 8px; color: #c8d4eb; background: #25334c; font-size: 12px; cursor: pointer; }
.guest-help a { display: block; margin-top: 20px; }
.guest-help .guest-close { position: absolute; top: 8px; right: 8px; font-size: 22px; min-width: 44px; background: transparent; border: 0; }
#guest-video-wait { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; font-size: 13px; color: #92a3c1; text-align: center; background: #0b1224; margin: 0; }
.duel-active .touch-top-center { display: none; }
body.help-open .touch-controls { visibility: hidden; }
body:not(.duel-active) .touch-controls { display: none; }
#guest-sound[aria-pressed="false"] { color: #8190ab; }
@media (max-height: 500px) and (orientation: landscape) {
 .guest-gate { padding: 20px 24px; }
 .guest-crown { display: none; }
 .guest-pill { margin-top: 16px; }
 .guest-card h1 { font-size: 36px; margin: 12px 0; }
 #guest-message { margin-bottom: 16px; font-size: 12px; }
 .guest-footnote { margin: 12px 0; font-size: 11px; }
}
