:root{--biolum:#5cf2d6;--cold:#8fa8ff;--pink:#ff7bd0;--ink:#eaf6ff;--serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--mono:"Space Mono", ui-monospace, "SF Mono", Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:#01040a;color:var(--ink);font-family:var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased}canvas{display:block}.hud{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-start;padding:clamp(16px,3vw,34px);font-family:var(--mono);mix-blend-mode:screen;pointer-events:none}.hud .brand{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:#eaf6ff9e}.depth{text-align:right;line-height:1}.depth .num{font-family:var(--mono);font-weight:700;font-size:clamp(20px,4.6vw,30px);letter-spacing:.04em;color:var(--ink);font-variant-numeric:tabular-nums}.depth .num small{font-size:.5em;letter-spacing:.2em;opacity:.6;font-weight:400}.depth .zone{margin-top:7px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--biolum);opacity:.85}.gauge{position:fixed;top:0;right:clamp(16px,3vw,34px);z-index:5;width:2px;height:clamp(70px,12vh,120px);margin-top:clamp(72px,11vw,92px);background:#8fa8ff29;border-radius:2px;overflow:hidden;pointer-events:none}.gauge-fill{position:absolute;left:0;top:0;width:100%;height:0%;background:linear-gradient(var(--biolum),var(--cold));box-shadow:0 0 10px var(--biolum)}.slides{position:fixed;inset:0;z-index:4;pointer-events:none}.slide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90vw,720px);text-align:center;opacity:0;will-change:opacity}.slide .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--biolum);margin-bottom:18px;opacity:.9}.slide h1{font-family:var(--serif);font-weight:300;font-size:clamp(64px,17vw,170px);line-height:.92;letter-spacing:.02em;text-shadow:0 0 60px rgba(92,242,214,.25)}.slide h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,7vw,62px);line-height:1.04}.slide p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(18px,3.3vw,27px);line-height:1.5;color:#eaf6ffd1;max-width:30ch;margin:18px auto 0}.slide .sub{font-family:var(--sans);font-weight:300;font-size:clamp(12px,2.4vw,15px);letter-spacing:.06em;color:#eaf6ff99;margin-top:22px}.cue{position:fixed;left:50%;bottom:30px;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:#eaf6ff99;transition:opacity .4s ease;pointer-events:none}.cue .line{width:1px;height:42px;background:linear-gradient(rgba(234,246,255,.05),var(--biolum));position:relative;overflow:hidden}.cue .line:after{content:"";position:absolute;left:0;top:-50%;width:100%;height:50%;background:var(--ink);animation:fall 2.1s cubic-bezier(.6,0,.4,1) infinite}@keyframes fall{0%{top:-50%}60%,to{top:100%}}.loader{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:#01040a;transition:opacity 1s ease}.loader.hidden{opacity:0;pointer-events:none}.loader .ring{width:46px;height:46px;border-radius:50%;border:1px solid rgba(143,168,255,.18);border-top-color:var(--biolum);animation:spin 1.1s linear infinite}.loader .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.46em;text-transform:uppercase;color:#eaf6ff8c}@keyframes spin{to{transform:rotate(360deg)}}.sound{position:fixed;left:clamp(16px,3vw,34px);bottom:30px;z-index:6;font-family:var(--mono);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#eaf6ff8c;background:#8fa8ff0f;border:1px solid rgba(143,168,255,.18);border-radius:999px;padding:9px 15px;cursor:pointer;transition:color .25s,border-color .25s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sound:hover{color:var(--ink);border-color:#5cf2d680}@media(prefers-reduced-motion:reduce){.cue .line:after{animation:none}.loader .ring{animation:none}}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
