:root{
  /* Space Grotesk** Groteskk with wide tracking and rounded confidence */
  --lagoon:#062A3A;
  --cyan:#64E7FF;
  --coral:#FF6B7A;
  --pearl:#F4FFF8;
  --seaweed:#1D6B5B;
  --lavender:#B8A7FF;
  --algae:#B7FF2A;
  --chrome:#D7F7FF;
  --space:"Space Grotesk","Avenir Next",Inter,system-ui,sans-serif;
  --fraunces:Fraunces,Georgia,serif;
  --nunito:"Nunito Sans",Inter,system-ui,sans-serif;
  --vt:VT323,"Courier New",monospace;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;overflow:hidden;background:var(--lagoon);color:var(--pearl);font-family:var(--nunito)}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
.water-filter{position:absolute;width:0;height:0;overflow:hidden}

.lagoon{position:relative;width:100vw;height:100vh;overflow:hidden;background:radial-gradient(circle at 16% 18%,rgba(100,231,255,.34),transparent 26%),radial-gradient(circle at 72% 23%,rgba(184,167,255,.24),transparent 26%),linear-gradient(140deg,#031923 0%,#062A3A 42%,#1D6B5B 100%);isolation:isolate}
.lagoon::before{content:"";position:absolute;inset:-18%;background:repeating-radial-gradient(ellipse at 30% 20%,rgba(244,255,248,.13) 0 1px,transparent 2px 16px),repeating-linear-gradient(112deg,transparent 0 22px,rgba(100,231,255,.055) 24px 26px,transparent 29px 58px);filter:url(#liquid) blur(.2px);animation:waterDrift 18s linear infinite;opacity:.78;pointer-events:none}
.lagoon::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(215,247,255,.16),transparent 26%,rgba(6,42,58,.44)),radial-gradient(circle at 50% 115%,rgba(255,107,122,.16),transparent 34%);mix-blend-mode:screen;pointer-events:none}
.caustics{position:absolute;inset:-10%;background:conic-gradient(from 120deg at 50% 50%,transparent,rgba(215,247,255,.18),transparent,rgba(183,255,42,.08),transparent);filter:blur(28px);animation:causticSpin 32s linear infinite;opacity:.7}

.stream-track{height:100vh;width:500vw;display:flex;transform:translate3d(0,0,0);transition:transform 1.25s cubic-bezier(.72,0,.16,1);position:relative;z-index:3}
.pool{width:100vw;height:100vh;position:relative;flex:0 0 100vw;padding:7vh 8vw;overflow:hidden}
.pool::before{content:"";position:absolute;inset:5vh 5vw;border-radius:45% 55% 50% 42%/44% 38% 62% 56%;border:1px solid rgba(215,247,255,.24);box-shadow:inset 0 0 80px rgba(100,231,255,.08);transform:rotate(var(--rot,-2deg));pointer-events:none}

.buoy-nav{position:fixed;right:2.2vw;top:50%;transform:translateY(-50%);z-index:8;display:flex;flex-direction:column;gap:16px}
.buoy{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--pearl),var(--cyan) 48%,rgba(29,107,91,.75));box-shadow:0 0 18px rgba(100,231,255,.9),inset 0 -3px 6px rgba(6,42,58,.45);position:relative;transition:.35s}
.buoy span{position:absolute;right:26px;top:50%;transform:translateY(-50%) translateX(8px);white-space:nowrap;font:700 11px/1 var(--space);letter-spacing:.18em;text-transform:uppercase;color:var(--chrome);opacity:0;transition:.35s;text-shadow:0 0 12px var(--cyan)}
.buoy.active{background:radial-gradient(circle at 30% 25%,var(--pearl),var(--algae) 55%,var(--seaweed));transform:scale(1.35)}
.buoy:hover span,.buoy.active span{opacity:1;transform:translateY(-50%)}

.current-map{position:fixed;left:8vw;right:8vw;bottom:8vh;height:58px;z-index:7;pointer-events:none;opacity:.9}
.current-line{position:absolute;left:0;right:0;top:28px;height:3px;background:linear-gradient(90deg,var(--cyan),var(--pearl),var(--lavender),var(--algae));box-shadow:0 0 22px var(--cyan);clip-path:path("M 0 20 C 160 -15 250 45 390 18 S 650 -5 810 25 S 1040 45 1250 10");animation:currentPulse 3.8s ease-in-out infinite}
.current-line.wave{height:34px;top:8px;background:repeating-linear-gradient(90deg,var(--cyan) 0 12px,var(--pearl) 13px 18px,var(--lavender) 20px 30px)}
.current-line.cable{height:5px;border-radius:999px;background:linear-gradient(90deg,var(--algae),var(--cyan),var(--lavender));clip-path:none}
.current-indicator{position:absolute;top:17px;left:0;width:24px;height:24px;border-radius:50%;background:var(--pearl);box-shadow:0 0 18px var(--algae),0 0 30px var(--cyan);transition:left 1.25s cubic-bezier(.72,0,.16,1)}

.bubble-field{position:absolute;inset:0;z-index:2;pointer-events:none}.bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 25%,var(--pearl),rgba(100,231,255,.45) 42%,rgba(100,231,255,.06) 70%);box-shadow:inset -5px -8px 18px rgba(6,42,58,.26),0 0 18px rgba(100,231,255,.28);animation:rise linear infinite}
.cursor-ripple{position:fixed;width:18px;height:18px;margin:-9px;border:1px solid var(--chrome);border-radius:50%;z-index:9;pointer-events:none;opacity:0;box-shadow:0 0 24px var(--cyan);transform:scale(1);transition:opacity .25s}
.cursor-ripple.pulse{animation:cursorPulse .7s ease-out}

.surface-login{display:grid;place-items:center}.scene-watermark{position:absolute;left:7vw;top:8vh;font:400 18px var(--vt);letter-spacing:.08em;color:rgba(215,247,255,.75)}
.surface-orb{position:absolute;width:min(42vw,430px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;filter:drop-shadow(0 0 45px rgba(100,231,255,.5));transition:opacity .8s,transform 1s}
.orb-core{font-family:var(--space);font-size:clamp(32px,6vw,76px);font-weight:800;letter-spacing:.09em;text-shadow:0 18px 22px rgba(6,42,58,.75),0 0 28px var(--cyan)}
.orb-reflection{position:absolute;top:55%;font-family:var(--space);font-size:clamp(30px,5.5vw,70px);font-weight:800;letter-spacing:.09em;color:rgba(215,247,255,.18);transform:scaleY(-1);filter:blur(2px);mask-image:linear-gradient(to bottom,black,transparent)}
.orb-ripple{position:absolute;inset:12%;border:2px solid rgba(100,231,255,.46);border-radius:50%;animation:ripple 3s ease-out infinite}.r2{animation-delay:1.2s;border-color:rgba(184,167,255,.42)}
.lagoon.awake .surface-orb{opacity:.18;transform:scale(1.45)}

.glass-player,.acrylic{background:linear-gradient(145deg,rgba(244,255,248,.22),rgba(100,231,255,.11) 46%,rgba(184,167,255,.13));border:1px solid rgba(215,247,255,.65);box-shadow:inset 0 1px 0 rgba(244,255,248,.6),inset 0 -26px 60px rgba(6,42,58,.2),0 30px 90px rgba(0,0,0,.33),0 0 42px rgba(100,231,255,.22);backdrop-filter:blur(18px);border-radius:34px;position:relative;overflow:hidden}
.glass-player::after,.acrylic::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(244,255,248,.28),transparent 18%,transparent 60%,rgba(215,247,255,.12));pointer-events:none}
.glass-player{width:min(760px,72vw);padding:54px 60px 42px;transform:translateY(26px) scale(.84);opacity:0;transition:1s cubic-bezier(.2,.8,.2,1)}
.glass-player.dormant{pointer-events:none}.lagoon.awake .glass-player{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.chrome-bar{height:34px;border-radius:999px;background:rgba(6,42,58,.32);display:flex;align-items:center;gap:9px;padding:0 14px;margin-bottom:28px}.chrome-bar span{width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 12px currentColor}.chrome-bar span:nth-child(2){background:var(--algae)}.chrome-bar span:nth-child(3){background:var(--cyan)}.chrome-bar em{margin-left:auto;font:400 15px var(--vt);color:var(--chrome);letter-spacing:.1em}
h1,h2{font-family:var(--space);letter-spacing:.055em;margin:0;text-transform:lowercase}h1{font-size:clamp(54px,9vw,118px);line-height:.85}h2{font-size:clamp(36px,5.6vw,78px);line-height:.93}p{font-size:clamp(17px,1.45vw,23px);line-height:1.55}.diary,.quote{font-family:var(--fraunces);font-style:italic;color:var(--pearl)}.label{font:700 13px var(--space);letter-spacing:.22em;text-transform:uppercase;color:var(--algae)}
.jelly-controls{display:flex;align-items:center;gap:18px;margin:30px 0}.jelly{width:78px;height:62px;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 40% 25%,var(--pearl),var(--cyan) 45%,rgba(184,167,255,.7));box-shadow:0 0 24px var(--cyan)}.jelly span{display:block;margin:20px auto 0;width:0;height:0;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:18px solid var(--lagoon)}.jelly.playing span{width:18px;height:22px;border:0;border-left:6px solid var(--lagoon);border-right:6px solid var(--lagoon)}
.driftwood-progress{flex:1;height:13px;border-radius:999px;background:linear-gradient(90deg,rgba(29,107,91,.9),rgba(6,42,58,.65));box-shadow:inset 0 0 12px rgba(0,0,0,.35);overflow:hidden}.driftwood-progress i{display:block;width:22%;height:100%;background:linear-gradient(90deg,var(--coral),var(--algae),var(--cyan));border-radius:inherit;transition:width .35s}.timestamp,.vt{font:400 18px var(--vt);color:var(--chrome)}
.lilypad{display:inline-flex;padding:15px 24px;border-radius:45% 55% 48% 52%/55% 42% 58% 45%;background:linear-gradient(145deg,rgba(183,255,42,.82),rgba(100,231,255,.54));color:var(--lagoon);font:800 14px var(--space);letter-spacing:.16em;text-transform:uppercase;box-shadow:0 13px 30px rgba(0,0,0,.25),0 0 22px rgba(183,255,42,.45);transition:.35s}.lilypad:hover{transform:translateY(-4px) rotate(-2deg)}

.koi-room{--rot:4deg}.signal-plaque{width:min(650px,56vw);padding:48px;left:9vw;top:20vh}.shell-tab{position:absolute;right:12vw;top:18vh;padding:26px 34px;border-radius:62% 38% 50% 50%/44% 58% 42% 56%;background:rgba(244,255,248,.18);border:1px solid var(--chrome);font-family:var(--fraunces);box-shadow:0 0 30px rgba(100,231,255,.25)}.shell-tab strong{font-family:var(--space);color:var(--algae)}
.koi{position:absolute;width:180px;height:70px;border-radius:60% 38% 38% 60%;background:linear-gradient(90deg,var(--coral),#F4FFF8 48%,var(--cyan));filter:drop-shadow(0 0 24px rgba(255,107,122,.35));opacity:.74;animation:koiSwim 16s linear infinite}.koi::before{content:"";position:absolute;right:-36px;top:14px;border-left:46px solid var(--coral);border-top:22px solid transparent;border-bottom:22px solid transparent}.koi span{position:absolute;left:72px;top:22px;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:20px solid var(--lagoon)}.koi-a{left:58vw;top:45vh}.koi-b{left:77vw;top:64vh;transform:scale(.65);animation-duration:22s;animation-delay:-8s}
.waveform{height:78px;display:flex;align-items:center;gap:8px;margin-top:26px}.waveform i{width:12px;border-radius:999px;background:linear-gradient(var(--cyan),var(--algae));height:calc(18px + var(--h,30)*1px);animation:bars 1.4s ease-in-out infinite}.waveform i:nth-child(2n){--h:54;animation-delay:.1s}.waveform i:nth-child(3n){--h:28;animation-delay:.25s}.waveform i:nth-child(5n){--h:66;animation-delay:.38s}

.bubble-archive{--rot:-6deg}.archive-shell{width:min(720px,62vw);padding:48px;left:32vw;top:14vh;border-radius:48% 52% 42% 58%/36% 44% 56% 64%}.cassette{height:172px;border-radius:28px;border:1px solid rgba(215,247,255,.6);background:linear-gradient(145deg,rgba(6,42,58,.32),rgba(100,231,255,.18));display:flex;align-items:center;justify-content:space-around;position:relative}.reel{width:92px;height:92px;border-radius:50%;background:repeating-conic-gradient(var(--chrome) 0 8deg,rgba(6,42,58,.55) 9deg 22deg);box-shadow:inset 0 0 0 22px rgba(244,255,248,.18);animation:spin 7s linear infinite}.tape-window{position:absolute;bottom:18px;font:400 24px var(--vt);letter-spacing:.12em;color:var(--algae)}.bubble-list{list-style:none;padding:0;margin:28px 0 0}.bubble-list li{margin:13px 0;padding:14px 18px;border-radius:999px;background:rgba(244,255,248,.12);box-shadow:inset 0 0 18px rgba(100,231,255,.14)}.bubble-list span{font-family:var(--vt);color:var(--coral);font-size:22px;margin-right:12px}.pearl-loader{position:absolute;left:13vw;bottom:24vh;display:flex;gap:14px}.pearl-loader i{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 25%,var(--pearl),var(--lavender));animation:pearl 1.6s ease-in-out infinite}.pearl-loader i:nth-child(n){animation-delay:calc(var(--n,1)*.1s)}

.moon-buffer{--rot:7deg}.moon{position:absolute;right:15vw;top:10vh;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--pearl),var(--lavender) 58%,rgba(184,167,255,.08));box-shadow:0 0 70px rgba(184,167,255,.75)}.moon span{position:absolute;inset:18%;background:repeating-linear-gradient(0deg,transparent 0 10px,rgba(6,42,58,.22) 11px 13px);border-radius:50%;animation:scan 3s linear infinite}.moon-note{width:min(600px,54vw);padding:52px;left:12vw;top:22vh}.scanlines{height:68px;margin:24px 0;background:repeating-linear-gradient(0deg,rgba(100,231,255,.35) 0 2px,transparent 3px 9px);border-radius:20px;box-shadow:0 0 24px rgba(100,231,255,.22)}.buffer-ring{position:absolute;right:20vw;bottom:19vh;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font:800 34px var(--space);background:conic-gradient(var(--algae) 0 64%,rgba(244,255,248,.16) 64%);box-shadow:0 0 34px rgba(183,255,42,.5)}.buffer-ring::before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--lagoon);z-index:-1}

.low-tide{--rot:-3deg;background:linear-gradient(180deg,transparent 0 54%,rgba(255,107,122,.13),rgba(183,255,42,.08))}.settled-broadcast{position:absolute;left:10vw;top:18vh;width:min(620px,55vw);padding:50px;border-radius:34px;background:rgba(6,42,58,.34);border:1px solid rgba(215,247,255,.5);box-shadow:0 0 55px rgba(100,231,255,.18)}.station-light{position:absolute;right:10vw;bottom:19vh;font:800 clamp(46px,7vw,112px) var(--space);letter-spacing:.08em;color:var(--pearl);text-shadow:0 0 12px var(--cyan),0 0 45px var(--algae),0 18px 30px rgba(0,0,0,.45)}.sand-objects span{position:absolute;bottom:12vh;width:110px;height:36px;border-radius:60% 40% 50% 50%;background:linear-gradient(90deg,rgba(244,255,248,.38),rgba(255,107,122,.22));box-shadow:0 0 20px rgba(255,107,122,.18)}.sand-objects span:nth-child(1){left:55vw;transform:rotate(8deg)}.sand-objects span:nth-child(2){left:69vw;width:70px;transform:rotate(-14deg)}.sand-objects span:nth-child(3){left:83vw;width:145px;transform:rotate(4deg)}
.channel-strip{position:fixed;left:3vw;right:3vw;bottom:2.2vh;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-radius:999px;background:rgba(6,42,58,.34);border:1px solid rgba(215,247,255,.26);backdrop-filter:blur(10px);font:700 12px var(--space);letter-spacing:.18em;text-transform:uppercase;color:var(--chrome)}

@keyframes waterDrift{to{transform:translate3d(8%,4%,0) rotate(1turn)}}
@keyframes causticSpin{to{transform:rotate(1turn)}}
@keyframes currentPulse{50%{filter:brightness(1.5);transform:translateY(-2px)}}
@keyframes rise{from{transform:translateY(110vh) scale(.7);opacity:0}12%{opacity:.8}to{transform:translateY(-20vh) scale(1.18);opacity:0}}
@keyframes cursorPulse{to{transform:scale(5);opacity:0}}
@keyframes ripple{from{transform:scale(.35);opacity:.9}to{transform:scale(1.35);opacity:0}}
@keyframes koiSwim{from{transform:translateX(30vw)}to{transform:translateX(-130vw)}}
@keyframes bars{50%{height:18px;filter:hue-rotate(80deg)}}
@keyframes spin{to{transform:rotate(1turn)}}
@keyframes pearl{50%{transform:translateY(-18px);filter:brightness(1.45)}}
@keyframes scan{to{transform:translateY(16px)}}

@media (max-width:800px){.pool{padding:8vh 6vw}.glass-player,.signal-plaque,.archive-shell,.moon-note,.settled-broadcast{width:88vw;left:6vw;top:18vh;padding:30px}h1{font-size:56px}h2{font-size:40px}.buoy-nav{right:12px}.current-map{left:6vw;right:6vw}.shell-tab,.moon,.buffer-ring{display:none}.station-light{left:7vw;right:auto;font-size:44px}.channel-strip{font-size:10px}.vt{display:none}}
