:root{--bg: #05070f;--ink: #eaf0ff;--muted: #8a93b0;--accent: #9db8ff;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{position:fixed;inset:0}#sky{display:block;width:100%;height:100%;touch-action:none}#veil{position:fixed;inset:0;z-index:5;background:#02040a;opacity:0;pointer-events:none}#intro-caption{position:fixed;left:0;right:0;bottom:18%;z-index:6;text-align:center;font-family:Fraunces,Georgia,serif;font-weight:300;font-size:clamp(1.6rem,5vw,2.8rem);letter-spacing:.02em;color:#eaf0ff;text-shadow:0 2px 30px rgba(0,0,0,.7);opacity:0;pointer-events:none}#skip-intro{position:fixed;right:max(1.4rem,env(safe-area-inset-right));bottom:max(1.4rem,env(safe-area-inset-bottom));z-index:7;padding:.5rem 1rem;border:1px solid rgba(226,232,255,.25);border-radius:999px;background:#05070f66;color:#e2e8ffbf;font:inherit;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .4s ease,color .25s ease}#skip-intro:hover{color:#fff}#skip-intro.is-hidden{opacity:0;pointer-events:none}#hud{position:fixed;inset:0;pointer-events:none;z-index:2}.hud-top{position:absolute;top:max(1.4rem,env(safe-area-inset-top));left:max(1.4rem,env(safe-area-inset-left))}.hud-location{font-family:Fraunces,Georgia,serif;font-weight:300;font-size:clamp(1.4rem,4vw,2rem);letter-spacing:.01em;color:var(--ink);text-shadow:0 1px 20px rgba(0,0,0,.6)}.hud-time{margin-top:.15rem;font-size:.82rem;font-weight:300;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hud-hint{position:absolute;bottom:max(1.6rem,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);font-size:.8rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.85;transition:opacity .8s ease;animation:hint-pulse 3.2s ease-in-out infinite}body.has-looked .hud-hint{opacity:0;animation:none}@keyframes hint-pulse{0%,to{opacity:.4}50%{opacity:.85}}.hud-humans{position:fixed;left:max(1.4rem,env(safe-area-inset-left));bottom:max(1.4rem,env(safe-area-inset-bottom));pointer-events:auto;max-width:16rem;padding:0;border:none;background:none;text-align:left;color:var(--ink);cursor:default;font:inherit;transition:opacity .6s ease}.hud-humans.is-hidden{opacity:0;pointer-events:none}.hud-humans-count{display:block;font-family:Fraunces,Georgia,serif;font-weight:300;font-size:1.15rem;color:var(--ink)}.hud-humans-sub{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.1rem}.hud-humans-names{max-height:0;overflow:hidden;opacity:0;font-size:.8rem;line-height:1.5;color:var(--accent);transition:max-height .4s ease,opacity .4s ease,margin .4s ease}.hud-humans:hover .hud-humans-names,.hud-humans:focus-visible .hud-humans-names,.hud-humans.is-open .hud-humans-names{max-height:14rem;opacity:.9;margin-top:.5rem}.hud-change{margin-top:.5rem;padding:0;background:none;border:none;color:var(--muted);font:inherit;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;pointer-events:auto;opacity:.7;transition:opacity .3s ease;border-bottom:1px solid rgba(138,147,176,.4)}.hud-change:hover{opacity:1}#focus-overlay{position:fixed;inset:0;z-index:8;opacity:0;transition:opacity .4s ease}#focus-overlay.is-hidden{display:none}#focus-overlay.is-visible{opacity:1}#focus-close{position:fixed;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid rgba(226,232,255,.2);background:#05070f80;color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s ease}#focus-close:hover{background:#9db8ff33}#narrate-toggle{position:fixed;top:max(1rem,env(safe-area-inset-top));right:calc(max(1rem,env(safe-area-inset-right)) + 3.2rem);width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid rgba(226,232,255,.2);background:#05070f80;color:var(--ink);font-size:1rem;line-height:1;cursor:pointer;transition:background .2s ease}#narrate-toggle:hover{background:#9db8ff33}#narrate-toggle.is-loading{animation:narrate-pulse 1s ease-in-out infinite}@keyframes narrate-pulse{0%,to{opacity:.45}50%{opacity:1}}#narrate-toggle .narrate-off,#focus-overlay.narration-off #narrate-toggle .narrate-on{display:none}#focus-overlay.narration-off #narrate-toggle .narrate-off{display:inline}#focus-card{position:absolute;right:max(1.5rem,env(safe-area-inset-right));top:50%;width:min(24rem,42vw);padding:1.6rem 1.7rem;border-radius:1.1rem;border:1px solid rgba(157,184,255,.16);background:linear-gradient(180deg,#0c101eb8,#060912d1);backdrop-filter:blur(10px);box-shadow:0 20px 60px #00000080;opacity:0;transform:translateY(-50%) translate(24px);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.8,.2,1)}#focus-overlay.is-ready #focus-card{opacity:1;transform:translateY(-50%) translate(0)}.focus-kind{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.85}.focus-title{font-family:Fraunces,Georgia,serif;font-weight:300;font-size:clamp(1.8rem,3vw,2.4rem);margin:.2rem 0 1rem;letter-spacing:.01em}.focus-facts{margin:0 0 1.2rem;display:grid;gap:.55rem}.focus-facts .fact{display:flex;justify-content:space-between;gap:1rem;font-size:.86rem;padding-bottom:.5rem;border-bottom:1px solid rgba(138,147,176,.14)}.focus-facts dt{color:var(--muted)}.focus-facts dd{margin:0;text-align:right;color:var(--ink)}.focus-briefing-text{font-size:1rem;line-height:1.55;color:#dbe3ff;font-weight:300}.focus-briefing-text.is-loading{color:var(--muted);font-style:italic;animation:hint-pulse 1.8s ease-in-out infinite}.focus-briefing-tag{margin-top:.9rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.8}.focus-briefing-tag.is-fallback{color:var(--muted)}@media(max-width:640px){#focus-card{right:.9rem;left:.9rem;top:auto;bottom:max(1rem,env(safe-area-inset-bottom));width:auto;transform:translateY(24px)}#focus-overlay.is-ready #focus-card{transform:translateY(0)}}.panel{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(120% 90% at 50% 30%,#080c1a8c,#03040adb);backdrop-filter:blur(3px);transition:opacity .6s ease}.panel.is-hidden{opacity:0;pointer-events:none}.panel-card{width:min(30rem,100%);text-align:center;color:var(--ink)}.panel-card h2{font-family:Fraunces,Georgia,serif;font-weight:300;font-size:clamp(1.8rem,6vw,2.6rem);margin-bottom:.6rem}.panel-card p{color:var(--muted);font-weight:300;line-height:1.5;margin-bottom:1.6rem}.btn{appearance:none;border:1px solid rgba(157,184,255,.35);background:#9db8ff0f;color:var(--ink);font:inherit;font-size:.95rem;padding:.7rem 1.3rem;border-radius:999px;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .1s ease}.btn:hover{background:#9db8ff24;border-color:#9db8ff99}.btn:active{transform:translateY(1px)}.btn-primary{background:#9db8ff29;border-color:#9db8ff8c;padding:.8rem 1.8rem}.btn[disabled]{opacity:.5;cursor:default}.locate-or{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin:1.2rem 0}.locate-or:before,.locate-or:after{content:"";flex:1;height:1px;background:#8a93b040}#locate-form{display:flex;gap:.5rem}#locate-input{flex:1;min-width:0;padding:.7rem 1rem;border-radius:999px;border:1px solid rgba(138,147,176,.35);background:#ffffff0a;color:var(--ink);font:inherit;font-size:.95rem}#locate-input::placeholder{color:#8a93b0b3}#locate-input:focus{outline:none;border-color:#9db8ff99}.locate-status{min-height:1.2rem;margin-top:1rem;font-size:.85rem;font-weight:300;color:var(--muted)}.locate-status.is-error{color:#ff9d8a}
