*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{background:#050914;font-family:Helvetica Neue,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased}canvas{display:block}#overlay{position:fixed;inset:0;z-index:100;overflow:hidden;background:linear-gradient(180deg,#030712f0,#040a1ab3 30%,#040a1a00 58%),linear-gradient(0deg,#03060ed9,#03060e00 26%);cursor:progress;transition:opacity 1.6s ease}#overlay.ready{cursor:pointer}#overlay.hidden{opacity:0;pointer-events:none}.ov-cover{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 70% at 50% 108%,#0b1a33,#0b1a3300 60%),linear-gradient(180deg,#02050d,#040a1a 55%,#07122a);transition:opacity 2.2s ease .2s}#overlay.ready .ov-cover{opacity:0}.ov-stars{position:absolute;inset:0 0 35%;z-index:0;pointer-events:none;opacity:.75;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 27% 8%,#dfe9ff 50%,transparent 51%),radial-gradient(1.4px 1.4px at 41% 26%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 58% 12%,#cfe0ff 50%,transparent 51%),radial-gradient(1px 1px at 73% 22%,#fff 50%,transparent 51%),radial-gradient(1.4px 1.4px at 86% 9%,#e8f0ff 50%,transparent 51%),radial-gradient(1px 1px at 93% 31%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 37%,#dfe9ff 50%,transparent 51%),radial-gradient(1px 1px at 34% 41%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 66% 38%,#cfe0ff 50%,transparent 51%);background-size:340px 260px;animation:twinkle 5.5s ease-in-out infinite alternate}#overlay.ready .ov-stars{opacity:0;transition:opacity 2s ease}@keyframes twinkle{0%{opacity:.45}to{opacity:.85}}.ov-aurora{position:absolute;left:-10%;right:-10%;top:-6%;height:64%;z-index:0;pointer-events:none;filter:blur(34px);mix-blend-mode:screen;opacity:.9;transition:opacity 2.2s ease}#overlay.ready .ov-aurora{opacity:.42}.ov-aurora .rb{position:absolute;display:block;border-radius:50%;transform-origin:50% 50%;will-change:transform,opacity}.rb1{left:4%;top:18%;width:62%;height:26%;background:linear-gradient(90deg,#3cffa000,#50ffaa8c 30%,#aaff7880 55%,#3cffa000);animation:ribbonA 13s ease-in-out infinite alternate}.rb2{left:34%;top:8%;width:64%;height:22%;background:linear-gradient(90deg,#5adcff00,#5ae6ff61 35%,#966eff73 75%,#966eff00);animation:ribbonB 17s ease-in-out infinite alternate}.rb3{left:16%;top:34%;width:52%;height:14%;background:linear-gradient(90deg,#c86eff00,#d278ff52 45%,#c86eff00);animation:ribbonC 11s ease-in-out infinite alternate}.rb4{left:52%;top:26%;width:40%;height:18%;background:linear-gradient(90deg,#46ffaa00,#46ffaa6b,#46ffaa00);animation:ribbonD 15s ease-in-out infinite alternate}@keyframes ribbonA{0%{transform:translate(-6%) skew(-18deg) scaleY(.8) rotate(-4deg);opacity:.65}50%{opacity:1}to{transform:translate(10%) skew(14deg) scaleY(1.25) rotate(3deg);opacity:.75}}@keyframes ribbonB{0%{transform:translate(8%) skew(16deg) scaleY(1.1) rotate(5deg);opacity:.5}to{transform:translate(-12%) skew(-12deg) scaleY(.75) rotate(-2deg);opacity:.95}}@keyframes ribbonC{0%{transform:translate(-4%) scaleX(.9) rotate(2deg);opacity:.35}to{transform:translate(14%) scaleX(1.2) rotate(-3deg);opacity:.8}}@keyframes ribbonD{0%{transform:translate(6%) skew(-10deg) scaleY(.7);opacity:.8}to{transform:translate(-16%) skew(18deg) scaleY(1.3);opacity:.4}}#back-home{position:absolute;top:1rem;left:1rem;z-index:2;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#dcebff8c;text-decoration:none;padding:.5em 1em;border:1px solid rgba(200,225,255,.18);border-radius:999px;background:#0a122459;backdrop-filter:blur(6px);transition:all .2s ease}#back-home:hover{color:#fff;border-color:#7dffb699}body:has(#overlay:not(.hidden)) :is(#hud,#minimap,#hint,#zone-label){opacity:0;pointer-events:none}#hud,#minimap,#hint{transition:opacity 1.2s ease}.entry{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100%;padding:clamp(48px,7vh,90px) clamp(20px,4vw,52px) clamp(22px,4vh,40px);text-align:center}.entry-head{max-width:46em}.coords{font-size:.62rem;letter-spacing:.55em;font-weight:400;color:#bed7ff9e;margin-bottom:1.3rem;animation:rise 1.4s cubic-bezier(.2,.7,.2,1) both}#overlay h1{font-weight:200;text-transform:uppercase;font-size:clamp(2.2rem,6vw,4.6rem);letter-spacing:.22em;line-height:1.05;margin-bottom:1.3rem;display:flex;flex-direction:column;align-items:center;gap:.12em}#overlay h1 .h-a{position:relative;display:inline-block;font-size:1.32em;font-weight:250;letter-spacing:.26em;margin-right:-.26em;background:linear-gradient(92deg,#c8ff8a,#6dffb0 22%,#7fe0ff 42%,#c69bff 58%,#6dffb0 78%,#c8ff8a);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(80,255,170,.32));animation:shimmer 9s ease-in-out infinite alternate,rise 1.6s cubic-bezier(.2,.7,.2,1) .1s both}#overlay h1 .h-a:after{content:attr(data-text);position:absolute;inset:0;color:#f4fffb;-webkit-mask-image:linear-gradient(100deg,transparent 0%,transparent 40%,#000 50%,transparent 60%,transparent 100%);mask-image:linear-gradient(100deg,transparent 0%,transparent 40%,#000 50%,transparent 60%,transparent 100%);-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:sweep 6.5s ease-in-out infinite;opacity:.55;filter:blur(.3px)}@keyframes shimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes sweep{0%{-webkit-mask-position:120% 0;mask-position:120% 0}60%,to{-webkit-mask-position:-20% 0;mask-position:-20% 0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}#overlay h1 .h-b{color:#ecf4ffeb;font-size:.5em;letter-spacing:.62em;margin-right:-.62em;font-weight:300;animation:rise 1.6s cubic-bezier(.2,.7,.2,1) .35s both}#overlay .sub{font-size:.9rem;line-height:1.8;font-weight:300;color:#d6e4f8a8;max-width:36em;margin:0 auto;animation:rise 1.6s cubic-bezier(.2,.7,.2,1) .6s both}.entry-foot{display:flex;flex-direction:column;align-items:center;gap:.9rem;min-height:9.5rem;justify-content:flex-end}.loader{width:min(420px,80vw);transition:opacity .8s ease,transform .8s ease}.load-track{position:relative;height:2px;border-radius:2px;overflow:hidden;background:#c8e1ff1f}.load-fill{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(.02);background:linear-gradient(90deg,#6dffb0,#7fe0ff 60%,#c69bff);box-shadow:0 0 12px #6effbecc;transition:transform .9s cubic-bezier(.25,.8,.25,1)}.load-glint{position:absolute;top:0;bottom:0;width:30%;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:glint 1.8s linear infinite;mix-blend-mode:overlay}@keyframes glint{0%{transform:translate(-120%)}to{transform:translate(360%)}}.load-text{display:flex;justify-content:space-between;margin-top:.7rem;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:#d6e4f880;white-space:nowrap;gap:1.2em}#load-pct{color:#7dffb6d9;font-variant-numeric:tabular-nums}#overlay.ready .loader{opacity:0;transform:translateY(6px);position:absolute;pointer-events:none}.track-uploaders{display:flex;align-items:baseline;justify-content:center;gap:1.1rem;flex-wrap:wrap;padding:.6rem 1.3rem;border-radius:999px;background:#0c162c6b;border:1px solid rgba(200,225,255,.12);backdrop-filter:blur(8px);transition:opacity 1s ease .4s}#overlay.loading .track-uploaders{opacity:0;pointer-events:none}.uploader-label{font-size:.56rem;letter-spacing:.32em;color:#ffffff5c}.track-uploader{font-size:.82rem;color:#e6f0ffd1;padding-bottom:2px;border-bottom:1px dashed rgba(125,255,182,.4);cursor:pointer;transition:all .2s ease}.track-uploader:hover{color:#fff;border-bottom-color:#7dffb6}.track-uploader input{display:none}.track-uploader.loaded{color:#7dffb6;border-bottom-style:solid}.uploader-note{color:#ffffff4d;font-size:.68rem}#overlay .cta{position:relative;font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;font-weight:400;color:#ffffffeb;padding:.95em 2.4em .95em 2.74em;border-radius:999px;background:#0a142880;border:1px solid rgba(160,255,210,.35);backdrop-filter:blur(10px);box-shadow:0 0 #6effbe00,inset 0 0 18px #6effbe14;transition:opacity .9s ease .3s,transform .9s ease .3s,border-color .3s ease,background .3s ease}#overlay .cta-ring{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 22px 2px #6effbe59;animation:breathe 2.8s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.25;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}#overlay.ready:hover .cta{border-color:#a0ffd2cc;background:#14283c99}#overlay.loading .cta,#overlay.loading .cta-sub{opacity:0;transform:translateY(6px);pointer-events:none}.cta-sub{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:#d6e4f861;transition:opacity .9s ease .5s}#overlay .keys{font-size:.62rem;letter-spacing:.12em;color:#ffffff47}#hud{position:fixed;top:16px;left:50%;transform:translate(-50%);color:#d6e4f899;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;z-index:50;pointer-events:none;text-align:center;font-weight:300}#hud .warm{color:#ffb35c}#hud .cool{color:#7dffb6}#hud .sep{opacity:.25;margin:0 .7em}#clock{position:fixed;top:16px;left:18px;z-index:50;pointer-events:none;display:none;flex-direction:column;gap:3px;background:#0c162c6b;border:1px solid rgba(200,225,255,.14);border-radius:4px;padding:9px 15px;backdrop-filter:blur(10px)}#clock-time{color:#cfe8ff;font-size:.7rem;letter-spacing:.26em;font-weight:500}#clock-sub{color:#ffffff52;font-size:.6rem;letter-spacing:.2em}#zone-label{position:fixed;bottom:76px;left:50%;transform:translate(-50%);color:#f0f6ffdb;font-size:1.2rem;letter-spacing:.5em;font-weight:200;text-shadow:0 0 22px rgba(90,255,180,.35);z-index:50;pointer-events:none;opacity:0;transition:opacity .9s ease;white-space:nowrap}#zone-label.show{opacity:1}#prompt{position:fixed;bottom:122px;left:50%;transform:translate(-50%);color:#ffffffeb;font-size:.82rem;letter-spacing:.24em;z-index:55;pointer-events:none;opacity:0;transition:opacity .35s ease;white-space:nowrap;padding:6px 16px;border-radius:999px;background:#0c162c80}#prompt.show{opacity:1}#toast{position:fixed;bottom:165px;left:50%;transform:translate(-50%) translateY(8px);color:#fff;font-size:.78rem;letter-spacing:.16em;z-index:56;background:#0c162ca8;border:1px solid rgba(125,255,182,.28);border-radius:4px;padding:9px 22px;backdrop-filter:blur(10px);pointer-events:none;opacity:0;transition:opacity .4s ease,transform .4s ease;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#shortcuts-guide{position:fixed;top:16px;right:200px;z-index:50;display:flex;justify-content:flex-end}#shortcuts-guide .list{list-style:none;background:#080e1ee6;border:1px solid rgba(200,225,255,.2);border-radius:4px;padding:14px 16px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all .3s ease;backdrop-filter:blur(10px);column-count:2;column-gap:26px}#shortcuts-guide .list.visible{opacity:1;pointer-events:all;transform:translateY(0)}#shortcuts-guide .list li{color:#e1ebfab8;font-size:.7rem;margin-bottom:6px;display:flex;justify-content:space-between;gap:18px;break-inside:avoid}#shortcuts-guide .list li span{color:#7dffb6;font-weight:600;font-size:.66rem;letter-spacing:.08em;min-width:3.6em}#minimap{position:fixed;top:16px;right:16px;width:176px;height:176px;background:#080e1e99;border:1px solid rgba(200,225,255,.22);border-radius:50%;z-index:50;backdrop-filter:blur(5px);cursor:pointer;transition:all .35s ease;overflow:hidden}#minimap.expanded{width:64vmin;height:64vmin;top:50%;right:auto;left:50%;transform:translate(-50%,-50%);border-radius:6px;border:1px solid rgba(125,255,182,.55);box-shadow:0 0 60px #000000d9}#minimap canvas{width:100%;height:100%;display:block}#audio-ctrl{position:fixed;bottom:18px;right:18px;z-index:50;display:none;align-items:center;gap:9px}#audio-ctrl button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(200,225,255,.25);background:#0c162c8c;color:#fff;font-size:1rem;cursor:pointer;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;transition:all .25s}#audio-ctrl button:hover{background:#7dffb633}#audio-ctrl input[type=range]{width:84px;accent-color:#7dffb6;opacity:.65}#hint{position:fixed;bottom:20px;left:50%;transform:translate(-50%);color:#fff3;font-size:.64rem;letter-spacing:.1em;z-index:50;pointer-events:none}#crosshair{position:fixed;top:50%;left:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#ffffff80;display:none;z-index:52;pointer-events:none}#vignette{position:fixed;inset:0;z-index:40;pointer-events:none;background:radial-gradient(ellipse at center,transparent 52%,rgba(0,2,8,.55) 100%)}#flash{position:fixed;inset:0;z-index:60;pointer-events:none;background:#e8f4ff;opacity:0;transition:opacity .9s ease}#flash.on{opacity:.8;transition:opacity .12s ease}#underwater{position:fixed;inset:0;z-index:41;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#0a282833 20%,#000a0ed9)}body.playing #clock,body.playing #audio-ctrl{display:flex}body.playing #crosshair{display:block}
