*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#000;font-family:Segoe UI,Roboto,system-ui,Arial;color:#cfe8ff}

#loading-screen{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#061427;text-align:center;padding:20px}
#loading-screen h1{margin:0;font-size:clamp(28px,7vw,52px);font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#6ef;text-shadow:0 0 18px #6ef,0 0 44px #3af}
#loading-screen p{margin:0;font-size:14px;letter-spacing:.06em;color:#7aaabf}
#loading-screen.hidden{display:none}
#mobile-note{font-size:12px;letter-spacing:.04em;color:#4a7a99;background:rgba(102,238,255,.06);border:1px solid rgba(102,238,255,.25);border-radius:20px;padding:8px 16px}

#place-hint{position:fixed;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:10;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#cfe8ff;background:rgba(6,20,39,.65);border:1px solid rgba(102,238,255,.35);border-radius:20px;padding:8px 18px;pointer-events:none}
#place-hint.hidden{display:none}

#recenter-btn{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right));z-index:10;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;color:#cfe8ff;background:rgba(6,20,39,.7);border:1px solid rgba(102,238,255,.45);border-radius:20px;padding:9px 16px;backdrop-filter:blur(4px)}
#recenter-btn:active{background:rgba(102,238,255,.25)}
#recenter-btn.hidden{display:none}

#adjust-panel{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:max(16px,env(safe-area-inset-left));z-index:10;display:flex;align-items:center;gap:2px;background:rgba(6,20,39,.7);border:1px solid rgba(102,238,255,.45);border-radius:20px;padding:4px 6px;backdrop-filter:blur(4px);touch-action:none}
#adjust-panel.hidden{display:none}
#adjust-panel button{font-family:inherit;font-size:16px;line-height:1;color:#cfe8ff;background:transparent;border:none;padding:9px 14px;border-radius:16px}
#adjust-panel button:active{background:rgba(102,238,255,.25)}
#adjust-panel .adjust-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7aaabf;padding:0 4px}
