.location-gate{position:absolute;inset:0;z-index:1;overflow:auto;overscroll-behavior:contain;background:#101d21;isolation:isolate}
.location-art{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0d1b2459,#0c1c2466 25%,#0c1b22d9 70%,#0c1b22),url('/assets/art/banner.webp') 58% center/cover no-repeat}
.location-content{width:min(100%,500px);margin:auto;padding:clamp(120px,19vh,200px) 28px 115px;text-align:center;text-shadow:0 2px 18px #051018}
.location-compass{display:block;width:74px;height:74px;margin:0 auto 22px;fill:none;stroke:#d8b77a;stroke-width:1;filter:drop-shadow(0 0 18px #d8b77a60)}
.location-compass path:first-of-type{fill:#d8b77a29;stroke-width:1.5}.location-content>.eyebrow{font-size:9px;letter-spacing:3px;color:#dfc795}
.location-content h1{font:normal clamp(46px,6vw,64px)/1.12 Georgia,serif;letter-spacing:-1.5px;color:#f3e8cf;margin:14px 0 18px}
.location-story{font:17px/1.65 Georgia,serif;color:#d4d7c8;margin:0 0 26px}
#locationMessage{font:13px/1.75 system-ui;color:#e0e4d8;max-width:350px;margin:0 auto 20px;min-height:46px}
#enableLocation{min-height:49px;padding:13px 28px;font-size:15px;box-shadow:0 6px 30px #07121770}
.location-menu-hint{font:11px/1.7 system-ui;color:#afbeb8;margin:20px auto 26px;max-width:300px}
.location-help{text-shadow:none;border:1px solid #dac59138;border-radius:13px;background:#13242ae8;text-align:left;padding:0 18px;box-shadow:0 10px 30px #06121a35;font:12px/1.75 system-ui;color:#c8d3ca}
.location-help summary{cursor:pointer;padding:15px 0;color:#dec899;text-align:center}.location-help summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.location-help[open]{padding-bottom:18px}.location-help[open] summary{border-bottom:1px solid #dac59126}.location-help p{margin:15px 0}
.location-device{display:grid;grid-template-columns:1fr 1fr;gap:10px}.location-device label{min-width:0;font:11px/1.6 system-ui;color:#c8d3ca;margin:0}.location-device select{margin-top:6px;font:12px system-ui;padding:11px 7px;width:100%;color:#eee4cb;background:#182a30;border:1px solid #dac59140;border-radius:8px}
.location-help ol{padding-left:22px;margin:20px 0}.location-help li{padding-left:3px;margin:13px 0}.location-help li::marker{color:#dec899;font-weight:600}.location-help .location-help-note{font-size:10px;color:#9faea8}
.location-gate[data-state="pending"] .location-compass{animation:location-search 5s linear infinite}
.map-status:has(#locationStatus):not([data-located="true"]) .live-dot{background:#c2a16f}
#friendForm input[name="code"]{text-transform:uppercase;min-width:0}#friendForm input[name="code"]::placeholder{text-transform:none}
@keyframes location-search{to{transform:rotate(360deg)}}
@media(max-width:700px){.location-art{background-position:62% center}.location-content{padding-top:116px;padding-inline:22px}.location-compass{width:60px;height:60px;margin-bottom:18px}.location-content h1{margin-top:10px}.location-story{font-size:16px;margin-bottom:24px}}
@media(max-height:720px){.location-content{padding-top:100px}.location-compass{width:42px;height:42px;margin-bottom:12px}.location-content h1{font-size:42px;margin-block:10px}.location-story{font-size:15px;margin-bottom:16px}.location-menu-hint{margin-block:14px}}
@media(prefers-reduced-motion:reduce){.location-gate[data-state="pending"] .location-compass{animation:none}}
