:root{--bg-glass: rgba(20, 20, 30, .85);--line: rgba(174, 239, 255, .4);--glow: rgba(174, 239, 255, .3);--text: #BBBBBB;--text-strong: #AEEFFF;--tap-size: 44px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;font-family:Orbitron,sans-serif;font-size:clamp(14px,1.5vw,16px);line-height:1.35;background:#000}#earth{position:fixed;top:0;left:0;width:100vw;height:100dvh;margin:0;display:block;z-index:1}#wplace-map{position:fixed;top:0;left:0;width:100vw;height:100dvh;margin:0;display:block;z-index:3}.overlay{position:fixed;inset:0;z-index:6;display:grid;place-items:center;padding:16px}h1{font-weight:700;font-size:clamp(1.75rem,5vw,3rem);color:var(--text-strong);text-shadow:0 0 8px rgba(174,239,255,.8)}#permission-popup{display:contents}#permission-form{width:min(92vw,420px);max-width:92vw;background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:16px;padding:clamp(16px,4vw,24px);text-align:left;box-shadow:0 0 15px var(--glow);animation:fadeIn .4s ease-in-out}#permission-form h3{color:var(--text-strong);text-shadow:0 0 6px rgba(174,239,255,.6);margin:0 0 .25rem;font-size:clamp(1.1rem,4.5vw,1.35rem)}#permission-form p{color:var(--text);font-size:clamp(.9rem,3.5vw,1rem);margin:0 0 1rem}.permission-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:.5rem .25rem;min-height:var(--tap-size);border-radius:10px;cursor:pointer;transition:background .2s ease}.permission-option:hover,.permission-option:has(input:focus-visible){background:#aeefff14}.permission-option .label-text{color:var(--text);-webkit-user-select:none;user-select:none;transition:color .2s ease}.permission-option:hover .label-text{color:var(--text-strong)}.permission-option input{width:22px;height:22px;transform:none;accent-color:#00e5ff}.permission-option input:focus-visible{outline:2px solid #00e5ff;outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 360px){#permission-form{width:96vw}}@media (orientation: landscape) and (max-height: 480px){.overlay{padding:8px}#permission-form{width:min(75vw,560px);display:grid;row-gap:.5rem}#permission-form p{margin-bottom:.75rem}}@media (min-width: 768px){#permission-form{width:min(60vw,520px);padding:clamp(20px,3vw,28px)}}#permission-form.closing{animation:fadeOut .22s ease forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-6px)}}.overlay.pass-through{pointer-events:none}.brand-title{position:absolute;inset:0;display:grid;place-items:center;margin:0;font-weight:700;font-size:clamp(2rem,8vw,4rem);color:#aeefff;text-shadow:0 0 10px rgba(174,239,255,.8);pointer-events:none;animation:fadeIn .4s ease}.cta-lower-center{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 32px);display:grid;place-items:center;transform:none;font-size:clamp(.9rem,3.5vw,1.1rem);color:#bbb;text-shadow:0 0 6px rgba(174,239,255,.4);pointer-events:none;animation:fadeIn .6s ease 80ms both}.socials-top-right{position:absolute;top:calc(env(safe-area-inset-top) + 12px);right:calc(env(safe-area-inset-right) + 12px);display:flex;gap:10px;pointer-events:auto}.socials-top-right .social-btn img{width:22px;height:22px;display:block;pointer-events:none}.social-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:#14141ea6;border:1px solid rgba(174,239,255,.35);box-shadow:0 0 8px #aeefff40;color:#aeefff;font-weight:700;text-decoration:none;transition:transform .15s ease,background .2s ease,box-shadow .2s ease}.social-btn:hover{transform:translateY(-1px) scale(1.04)}.social-btn:active{transform:translateY(0) scale(.98)}.social-btn:focus-visible{outline:2px solid #00e5ff;outline-offset:2px}.permission-option input:disabled{accent-color:black;cursor:not-allowed;opacity:1}.permission-option.unsupported{color:#222;opacity:.9}.permission-option.unsupported .label-text{position:relative}.permission-option.unsupported .label-text .note{font-style:normal;font-size:.85em;opacity:.8}
