@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{--bg:#050509;--ink:#f6f3ff;--muted:#aaa6bd;--pink:#f000ff;--violet:#7437ff;--cyan:#00d8ff;--mint:#00ffb2;--panel:0;--accent:#00d8ff;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:"Space Grotesk",sans-serif;overflow:hidden}body{min-height:100vh;cursor:none}button,a,input{font:inherit}button,a{cursor:none}a{color:inherit;text-decoration:none}.viewport{height:100dvh;overflow:clip}.track{height:100%;display:flex;width:500vw;transform:translate3d(calc(var(--panel) * -100vw),0,0);transition:transform 1s var(--ease)}.panel{position:relative;flex:0 0 100vw;width:100vw;height:100dvh;overflow:hidden;padding:clamp(100px,12vh,138px) clamp(70px,8vw,140px) 70px;isolation:isolate}.panel::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.04)}
.grain{position:fixed;z-index:70;inset:-50%;width:200%;height:200%;pointer-events:none;opacity:.085;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");animation:grain .25s steps(2) infinite}.aurora{position:fixed;z-index:1;width:44vw;height:44vw;left:25%;top:40%;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 67%);filter:blur(120px);opacity:.08;pointer-events:none;transition:background .5s;transform:translate(-50%,-50%)}
.boot{position:fixed;z-index:1000;inset:0;background:#020203;display:grid;place-content:center;text-align:center;transition:opacity .8s,visibility .8s}.boot.done{opacity:0;visibility:hidden}.boot p{font:500 10px "DM Mono";letter-spacing:.2em;color:#8e8a9b}.boot-mark,.mini-mark,.core-mark{display:grid;gap:4px}.boot-mark{width:110px;margin:auto auto 28px;filter:drop-shadow(0 0 16px #4a7cff)}.boot-mark i,.mini-mark i,.core-mark i{display:block;background:linear-gradient(90deg,var(--pink),var(--cyan),var(--mint));clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);border-radius:4px}.boot-mark i{height:13px;animation:bootPulse 1s infinite alternate}.boot-mark i:nth-child(2){width:82%;margin-left:13%;animation-delay:.2s}.boot-mark i:nth-child(3){width:70%;animation-delay:.4s}
.topbar{position:fixed;z-index:80;left:0;right:0;top:0;height:78px;display:flex;align-items:center;padding:0 38px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(#050509d9,#05050970);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;background:none;border:0;color:#fff;font-weight:700;font-size:16px;letter-spacing:.06em}.mini-mark{width:24px;gap:2px}.mini-mark i{height:4px}.frequency{margin-left:42px;color:var(--muted);font:400 9px "DM Mono";letter-spacing:.16em}.frequency b{color:#fff}.live-dot{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);animation:pulse 1.2s infinite}.topbar nav{display:flex;gap:28px;margin:auto}.topbar nav button{color:#9e99aa;background:none;border:0;font-size:11px;text-transform:uppercase;letter-spacing:.14em;transition:.25s}.topbar nav button:hover{color:#fff;text-shadow:0 0 15px var(--cyan)}.top-actions{display:flex;gap:10px;align-items:center}.icon-link,.pill{display:grid;place-items:center;height:38px;border:1px solid rgba(255,255,255,.25)}.icon-link{width:38px;border-radius:50%}.pill{padding:0 20px;border-radius:100px;background:#fff;color:#060609;border:0;font-weight:700;font-size:12px;letter-spacing:.1em}
.rail{position:fixed;z-index:80;right:34px;top:50%;transform:translateY(-50%);display:grid;justify-items:center;gap:12px}.rail-count{font:400 9px "DM Mono";writing-mode:vertical-rl;color:#777382;letter-spacing:.15em}.rail-count b{color:#fff}.rail-line{height:150px;width:1px;background:#292631;position:relative}.rail-line i{position:absolute;width:3px;left:-1px;top:0;height:20%;background:linear-gradient(var(--pink),var(--mint));box-shadow:0 0 12px var(--cyan);transition:height .6s}.rail button{width:30px;height:30px;border-radius:50%;border:1px solid #403d49;color:#fff;background:#08080d;transition:.2s}.rail button:hover{background:#fff;color:#000}.cursor{position:fixed;z-index:999;pointer-events:none;width:34px;height:34px;border:1px solid rgba(255,255,255,.6);border-radius:50%;margin:-17px 0 0 -17px;transition:width .2s,height .2s,margin .2s,background .2s;mix-blend-mode:difference}.cursor span{position:absolute;width:4px;height:4px;left:14px;top:14px;border-radius:50%;background:#fff}.cursor.hot{width:58px;height:58px;margin:-29px 0 0 -29px;background:#fff}
.relics{position:fixed;z-index:55;inset:0;pointer-events:none}.relic{pointer-events:auto;position:absolute;background:rgba(8,8,14,.6);border:1px solid rgba(255,255,255,.18);color:#fff;filter:drop-shadow(0 0 12px var(--cyan));transition:.5s var(--ease);animation:float 6s ease-in-out infinite}.relic:hover{transform:scale(1.25) rotate(-8deg);border-color:var(--mint)}.relic.caught-relic{opacity:0;transform:scale(0) rotate(180deg);pointer-events:none}.phone{left:34vw;top:18vh;width:27px;height:47px;border-radius:6px;transform:rotate(18deg)}.phone span{position:absolute;inset:5px 3px 7px;border:1px solid #00d8ff55}.cross{left:72vw;top:27vh;border:0;font:300 30px serif;background:none;color:var(--mint);animation-delay:-1.5s}.cans{left:53vw;top:76vh;border:0;background:none;font:500 21px "DM Mono";animation-delay:-3s}.beanie{left:17vw;top:70vh;width:39px;height:27px;border-radius:50% 50% 20% 20%;transform:rotate(-14deg);animation-delay:-4s}.beanie::after{content:"";position:absolute;left:3px;right:3px;bottom:4px;border-top:5px double var(--pink)}.caught{position:absolute;right:32px;bottom:24px;font:500 9px "DM Mono";letter-spacing:.15em;color:#6f6b78}.caught b{color:#fff}
.eyebrow{font:500 9px "DM Mono";letter-spacing:.16em;color:#8f899b;text-transform:uppercase}.eyebrow span{color:var(--mint)}.hero{padding-left:7vw;display:flex;align-items:center;background:#030306}.hero-art{position:absolute;inset:0;background:url('assets/solayr-world.png') center/cover no-repeat;z-index:-3;transform:scale(1.03);transition:transform 1.5s var(--ease)}.hero-vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#030306 2%,#030306ef 22%,#03030655 49%,transparent 76%),linear-gradient(0deg,#030306aa,transparent 40%),radial-gradient(circle at 72% 40%,transparent 0 25%,#03030666 73%)}.hero-copy{width:min(640px,50vw);position:relative;z-index:2}.hero h1,.finale h2{font-size:clamp(100px,15vw,260px);letter-spacing:-.11em;line-height:.69;margin:.22em 0 .16em -9px;font-weight:700}.hero h1 span{display:block;background:linear-gradient(90deg,#fff 0 35%,#a9a5b5 70%);-webkit-background-clip:text;color:transparent;position:relative}.hero h1 span:nth-child(2){margin-left:.23em}.hero h1 span:nth-child(3){margin-left:.48em}.hero h1 span::after{content:"";position:absolute;left:0;bottom:-.02em;height:3px;width:72%;background:linear-gradient(90deg,var(--pink),var(--cyan),transparent);box-shadow:0 0 15px var(--cyan);transform:scaleX(0);transform-origin:left;animation:draw 1s 1.2s forwards}.hero-line{font-size:clamp(18px,1.65vw,27px);line-height:1.25;margin:0 0 26px;color:#c8c5d0}.hero-line em{color:#fff;font-style:normal}.hero-actions{display:flex;gap:12px;align-items:center}.mega-btn,.ghost-btn{height:58px;display:flex;align-items:center;justify-content:space-between;border-radius:2px;font-size:11px;letter-spacing:.12em;font-weight:700;transition:.25s}.mega-btn{min-width:210px;padding:0 16px 0 23px;background:linear-gradient(110deg,var(--pink),var(--cyan),var(--mint));color:#050509;box-shadow:0 0 34px #00d8ff30}.mega-btn b{font-size:20px}.mega-btn:hover{box-shadow:0 0 50px #00d8ff66;filter:saturate(1.35)}.ghost-btn{padding:0 22px;border:1px solid #4b4654;background:#09090eb3}.ghost-btn b{margin-left:25px;font-size:18px}.ghost-btn:hover{border-color:#fff}.identity-strip{margin-top:26px;display:flex;gap:17px;flex-wrap:wrap;font:400 8px "DM Mono";letter-spacing:.08em;color:#716d7d}.identity-strip i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint)}.enter{position:absolute;right:7vw;bottom:5vh;background:none;border:0;color:#fff;font:500 9px "DM Mono";letter-spacing:.15em;display:flex;gap:17px;align-items:center}.enter b{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;border:1px solid #716b78;font-size:20px;transition:.25s}.enter:hover b{background:#fff;color:#000;transform:translateX(7px)}
.section-number{position:absolute;right:5vw;bottom:-.1em;font-size:36vw;line-height:.75;color:#ffffff04;font-weight:700;letter-spacing:-.1em;z-index:-2}.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;background:radial-gradient(circle at 78% 42%,#141033,#050509 48%)}.story-copy{align-self:center;max-width:560px}.story h2,.lab h2,.map h2{font-size:clamp(52px,6vw,100px);line-height:.82;letter-spacing:-.075em;margin:28px 0 35px}.story h2 span,.lab h2 span,.map h2 span,.finale h2 span{color:transparent;-webkit-text-stroke:1px #dcd7e8}.chapter-tabs{display:flex;border-bottom:1px solid #2d2934;gap:4px}.chapter{flex:1;padding:12px 7px;text-align:left;background:none;border:0;border-bottom:2px solid transparent;color:#716d7b;font:500 9px "DM Mono";letter-spacing:.05em}.chapter b{display:block;font-size:18px;margin-bottom:8px}.chapter.active{color:#fff;border-color:var(--mint);text-shadow:0 0 15px #00ffb266}.story-text{min-height:156px;padding-top:24px;max-width:540px}.story-text p{color:#aaa5b3;font-size:14px;line-height:1.65}.story-text .story-lead{color:#fff;font-size:19px;line-height:1.35;margin-bottom:10px}.small-action{border:0;background:none;color:#878291;border-bottom:1px solid #4b4654;font:500 9px "DM Mono";letter-spacing:.12em;padding:7px 0}.small-action span{margin-left:10px}.story-visual{align-self:center;height:min(68vh,700px);position:relative}.portrait-frame{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(3deg);width:min(32vw,470px);aspect-ratio:1;border:1px solid #ffffff2c;padding:14px;background:#06060a;box-shadow:0 30px 80px #000}.portrait-frame::before{content:"";position:absolute;inset:-20px;border:1px dashed #ffffff18;transform:rotate(-6deg)}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(1.25) contrast(1.1)}.portrait-scan{position:absolute;inset:14px;background:linear-gradient(transparent 50%,#0004 50%);background-size:100% 4px;mix-blend-mode:overlay}.portrait-label{position:absolute;left:16px;bottom:-29px;font:400 8px "DM Mono";color:#817c89;letter-spacing:.1em}.orbit{position:absolute;border:1px solid #00d8ff44;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-22deg);animation:spin 17s linear infinite}.orbit::after{content:"✦";position:absolute;color:var(--pink);filter:drop-shadow(0 0 10px var(--pink))}.orbit-a{width:108%;height:54%}.orbit-a::after{right:4%;top:7%}.orbit-b{width:68%;height:95%;animation-direction:reverse;animation-duration:22s}.orbit-b::after{left:5%;bottom:11%;color:var(--mint)}.doodle{position:absolute;color:#bdb8c9;font:400 30px "DM Mono";filter:drop-shadow(0 0 12px var(--cyan));animation:float 5s infinite ease-in-out}.doodle small{display:block;font-size:7px;letter-spacing:.14em}.d-phone{left:3%;top:12%;transform:rotate(-13deg)}.d-cross{right:5%;top:18%;color:var(--mint);font-size:50px;animation-delay:-2s}.d-wave{right:0;bottom:8%;color:var(--pink);animation-delay:-3s}.eye{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);border:1px solid #4f495a;background:#08080d;color:#bcb7c5;padding:10px 17px;font:500 8px "DM Mono";letter-spacing:.14em}.story-visual.blink .portrait-frame{filter:brightness(.08);transition:filter .08s}.story-visual.blink::after{content:"MISSED IT.";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:700 3vw "Space Grotesk";z-index:6}
.lab{background:linear-gradient(135deg,#050509,#0b0812 50%,#051012);display:grid;grid-template-columns:.72fr 1.25fr .55fr;align-items:center;gap:4vw}.lab h2{margin-bottom:0}.radio{border:1px solid #403c49;padding:20px;background:#09090e;box-shadow:15px 15px 0 #100c1a,0 0 80px #8a2be220;transform:rotate(-1deg);position:relative}.radio::before,.radio::after{content:"";position:absolute;width:11px;height:11px;border:1px solid #5b5664;border-radius:50%;top:8px}.radio::before{left:8px}.radio::after{right:8px}.radio-top{display:flex;justify-content:space-between;padding:8px 13px 17px;font:400 7px "DM Mono";letter-spacing:.15em;color:#6e6977}.display{height:260px;background:#020305;border:1px solid #25202c;position:relative;display:grid;place-items:center;overflow:hidden}.display::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#ffffff08 3px 4px);pointer-events:none}.signal-bars{position:absolute;left:0;right:0;bottom:0;height:55%;display:flex;align-items:end;gap:3px;opacity:.28}.signal-bars i{flex:1;background:linear-gradient(0deg,var(--pink),var(--cyan),var(--mint));height:var(--h);animation:bars .55s infinite alternate ease-in-out;animation-delay:var(--d)}.station-readout{display:flex;align-items:baseline;position:relative;z-index:2}.station-readout span,.station-readout small{font:400 10px "DM Mono";color:var(--mint)}.station-readout strong{font:300 clamp(60px,7vw,120px) "DM Mono";letter-spacing:-.12em;text-shadow:0 0 24px var(--cyan);margin:0 12px;color:#fff}.display p{position:absolute;bottom:24px;width:100%;margin:0;text-align:center;color:#8f8998;font:400 9px "DM Mono";letter-spacing:.06em}.tuner-row{display:flex;align-items:center;gap:12px;margin:23px 3px 12px;font:400 8px "DM Mono";color:#746f7d}.tuner-row input{flex:1;appearance:none;height:3px;background:linear-gradient(90deg,var(--pink),var(--cyan),var(--mint));outline:none}.tuner-row input::-webkit-slider-thumb{appearance:none;width:25px;height:25px;border-radius:50%;background:#050509;border:2px solid #fff;box-shadow:0 0 16px var(--cyan)}.preset-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.preset-row button{border:1px solid #33303b;background:#0e0d13;color:#77717f;padding:11px 3px;font:500 7px "DM Mono";letter-spacing:.04em;transition:.2s}.preset-row button:hover{color:#fff;border-color:var(--cyan)}.lab-note{font-size:13px;line-height:1.6;color:#9893a1}.lab-note>b{font-size:11px;letter-spacing:.14em;color:#fff}.decoder{border:1px dashed #3b3742;padding:14px;margin-top:24px}.decoder span{display:block;color:var(--mint);font:400 11px "DM Mono";overflow:hidden;white-space:nowrap}.decoder button{margin-top:12px;background:none;color:#fff;border:0;border-bottom:1px solid #777;font:500 8px "DM Mono";letter-spacing:.12em}
.map{background:radial-gradient(circle at 64% 50%,#11152e,#050509 46%);display:grid;grid-template-columns:.58fr 1.2fr;gap:2vw;align-items:center}.map-copy{max-width:520px}.map-copy>p:last-child{color:#96919f;font-size:14px;line-height:1.6;max-width:410px}.orbit-map{height:min(78vh,720px);position:relative}.orbit-map svg{width:100%;height:100%;overflow:visible}.route-line,.route-shadow{fill:none;stroke-linecap:round}.route-shadow{stroke:#00d8ff;opacity:.12;stroke-width:13;filter:url(#glow)}.route-line{stroke:url(#routeGlow);stroke-width:2;stroke-dasharray:4 10;animation:dash 18s linear infinite}.map-node{position:absolute;background:none;border:0;color:#fff;text-align:left;font:500 8px "DM Mono";letter-spacing:.08em;display:flex;align-items:center;gap:9px}.map-node i{width:16px;height:16px;border-radius:50%;border:2px solid #fff;background:#07070b;box-shadow:0 0 0 6px #ffffff0d;transition:.25s}.map-node:hover i,.map-node.active i{background:var(--mint);border-color:var(--mint);box-shadow:0 0 22px var(--mint),0 0 0 7px #00ffb21f}.n1{left:11%;top:55%}.n2{left:26%;top:16%}.n3{right:5%;top:33%}.n4{right:17%;bottom:11%}.map-core{position:absolute;left:53%;top:54%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:13px}.core-mark{width:45px}.core-mark i{height:7px}.map-core small{font:400 7px "DM Mono";color:#8c8794;letter-spacing:.11em}.map-card{position:absolute;left:7%;bottom:1%;width:270px;padding:18px;border-left:2px solid var(--pink);background:#09090fcc;backdrop-filter:blur(14px)}.map-card span{font:400 7px "DM Mono";letter-spacing:.12em;color:var(--mint)}.map-card h3{margin:9px 0 5px;font-size:18px}.map-card p{margin:0;color:#918c99;font-size:11px;line-height:1.5}
.finale{display:flex;align-items:center;background:#020204}.final-art{position:absolute;inset:0;background:url('assets/solayr-world.png') 72% 50%/cover no-repeat;filter:saturate(1.3);z-index:-3;transform:scaleX(-1)}.finale::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020204 5%,#020204dc 39%,transparent 72%),linear-gradient(0deg,#020204 0%,transparent 40%);z-index:-2}.final-copy{max-width:760px}.finale h2{font-size:clamp(95px,13vw,230px);margin:.18em 0 .22em}.finale h2 span{-webkit-text-stroke-color:var(--mint);filter:drop-shadow(0 0 22px #00ffb244)}.final-copy>p:not(.eyebrow){max-width:520px;color:#aaa5b3;font-size:18px;line-height:1.5}.footer-note{position:absolute;bottom:25px;left:7vw;font:400 7px "DM Mono";letter-spacing:.13em;color:#5d5965}.replay{position:absolute;right:6vw;bottom:22px;border:0;background:none;color:#fff;font:500 8px "DM Mono";letter-spacing:.13em}.toast{position:fixed;z-index:150;left:50%;bottom:35px;transform:translate(-50%,30px);opacity:0;padding:12px 18px;border:1px solid #ffffff30;background:#09090ee8;backdrop-filter:blur(15px);font:500 9px "DM Mono";letter-spacing:.12em;transition:.35s}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes bootPulse{to{filter:brightness(1.7);transform:translateX(6px)}}@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-4%,2%)}75%{transform:translate(3%,4%)}100%{transform:translate(-2%,-4%)}}@keyframes pulse{50%{opacity:.25}}@keyframes draw{to{transform:scaleX(1)}}@keyframes float{50%{translate:0 -14px;rotate:4deg}}@keyframes spin{to{transform:translate(-50%,-50%) rotate(338deg)}}@keyframes bars{to{height:calc(var(--h) * .3)}}@keyframes dash{to{stroke-dashoffset:-280}}
@media(max-width:900px){html,body{overflow:auto;cursor:auto}.cursor,.rail,.frequency,.topbar nav,.relics{display:none}.viewport{height:auto;overflow:visible}.track{display:block;width:100%;height:auto;transform:none!important}.panel{width:100%;height:auto;min-height:100svh;padding:98px 24px 56px;overflow:hidden}.topbar{height:66px;padding:0 18px}.top-actions{margin-left:auto}.icon-link{display:none}.hero{min-height:100svh;align-items:flex-end;padding-bottom:90px}.hero-art{background-position:62% center;opacity:.78}.hero-vignette{background:linear-gradient(0deg,#030306 4%,#030306dd 35%,transparent 75%),linear-gradient(90deg,#030306cc,transparent)}.hero-copy{width:100%}.hero h1{font-size:27vw;margin-bottom:.22em}.hero h1 span{display:inline}.hero h1 span:nth-child(n){margin-left:0}.identity-strip,.enter{display:none}.hero-actions{flex-direction:column;align-items:stretch}.mega-btn,.ghost-btn{width:100%}.story{grid-template-columns:1fr}.story-visual{height:65vh;order:-1}.portrait-frame{width:min(78vw,430px)}.story h2,.lab h2,.map h2{font-size:15vw}.lab{grid-template-columns:1fr}.radio{order:3}.display{height:220px}.lab-note{order:4}.map{grid-template-columns:1fr}.orbit-map{height:65vh;margin-left:-20px;width:calc(100% + 40px)}.map-card{width:230px;left:4%;bottom:0}.map-node span{display:none}.finale{min-height:100svh;align-items:flex-end;padding-bottom:110px}.finale h2{font-size:25vw}.final-art{background-position:55% center;opacity:.74}.footer-note{left:24px}.replay{right:24px}.panel:not(.hero):not(.finale){min-height:auto;padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
