:root{--bg:#070707;--tx:#F3F0E8;--mu:#8D897F;--ln:rgba(255,255,255,.13);--ac:#FF3B1F;--ac2:#2B4BFF;--ink:#0A0A0A;
  --d:'Anton',Impact,sans-serif;--m:'Doto',ui-monospace,monospace;--b:'Inter',system-ui,sans-serif;--pad:16px}
[data-theme=uv]{--ac:#FF4DB0;--ac2:#7A4DFF}
[data-theme=money]{--ac:#F4C542;--ac2:#14B877}
@media(min-width:760px){:root{--pad:max(40px,calc((100vw - 1280px)/2))}}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
section,footer{overflow-x:clip}
body{color:var(--tx);font-family:var(--b);line-height:1.45;overflow-x:hidden;padding-bottom:110px}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:inherit}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dot{font-family:var(--m);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
:focus-visible{outline:2px solid var(--tx);outline-offset:3px}
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* lava windows: a mirrored shader canvas seen through white type */
.lava{position:relative;isolation:isolate;overflow:hidden}
.lava>canvas.mir{position:absolute;inset:0;width:100%;height:100%;display:block}
.mask{background:#111;color:#fff;mix-blend-mode:multiply}
.big{font-family:var(--d);text-transform:uppercase;line-height:.84;letter-spacing:-.01em;white-space:nowrap}

/* top bar */
.top{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:10px var(--pad)}
.logo{font-family:var(--d);font-size:20px;letter-spacing:.06em;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.markSlot{display:inline-flex}
.markSlot.go{animation:logoSpin 1.3s cubic-bezier(.6,0,.2,1) 1}
.markSlot.go svg{animation:logoPulse 1.3s ease-in-out 1}.markSlot svg{height:58px;width:auto;display:block;overflow:visible;filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(244,197,66,.28));}
.hatg{transform-box:view-box;transform-origin:32px 50px;will-change:transform}
.wv{opacity:0}
.playing .wv{animation:wv 1s ease-out infinite}.playing .w2{animation-delay:.22s}
@keyframes wv{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@keyframes logoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09);filter:drop-shadow(0 3px 0 rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(244,197,66,.6))}}
@keyframes logoSpin{0%{transform:perspective(300px) rotateY(0)}100%{transform:perspective(300px) rotateY(360deg)}}
.lgt{font-size:24px;background:linear-gradient(100deg,#FFFFFF 0%,#F3F0E8 38%,#8CF7CB 62%,#14B877 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:2px}.lgt b{font-weight:400}
.ft2 .markSlot svg{height:38px}
.lp{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--mu);margin-right:96px}
.lp button{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ln);font-size:12px;color:var(--tx)}
.lp button[aria-pressed=true]{background:var(--ac);color:var(--ink);box-shadow:none}
.sw{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--mu)}
.sw button{width:22px;height:22px;border-radius:50%;border:2px solid transparent;background:conic-gradient(var(--a),var(--b2),var(--a))}
.sw button[aria-pressed=true]{border-color:var(--tx)}
.menuBtn{position:fixed;right:max(16px,min(40px,5vw));top:14px;z-index:120;padding:10px 16px;border-radius:999px;background:var(--tx);color:var(--ink);font-size:12px}
body.menu .menuBtn{background:var(--ac)}

/* hero */
.hero{--pad:16px;min-height:100svh;display:flex;flex-direction:column}
@media(min-width:760px){.hero{--pad:40px}}
.hero .mask{position:absolute;inset:0;padding:var(--top,64px) var(--pad) 0}
.wm{transform-origin:30% 55%;will-change:transform;width:max-content;white-space:nowrap}
.wm .l{display:block;width:max-content}
.wave{position:absolute;left:var(--pad);mix-blend-mode:difference;cursor:pointer;touch-action:pan-y}
.ring{position:absolute;z-index:4;left:var(--rx,16px);top:var(--ry,360px);width:112px;height:112px;border-radius:50%;background:var(--ac);color:var(--ink);box-shadow:0 14px 40px -8px var(--ac);transition:transform .18s}
.ring:active{transform:scale(.94)}
.ring .spin{position:absolute;inset:0;animation:spin 14s linear infinite}
.playing .ring .spin{animation-duration:5s}
.ring text{font-family:var(--m);font-weight:900;font-size:9.2px;fill:currentColor}
.ring .ic{position:absolute;inset:36px;fill:currentColor}
@keyframes spin{to{transform:rotate(360deg)}}
.hud{position:relative;z-index:3;pointer-events:none;margin-top:calc(64px + var(--wmh,340px) + 84px);padding:0 var(--pad) 100px;display:grid;gap:22px;flex:1;align-content:space-between}
.hud>*{pointer-events:auto}
.np small{display:block;font-size:12px;color:var(--mu)}
.np .t{font-family:var(--d);font-size:clamp(40px,4vw,62px);line-height:.95;text-transform:uppercase;margin:6px 0 8px}
.np .meta{font-size:12px}
.cta{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s,background .2s,color .2s}
.btn:active{transform:scale(.96)}
.btn.a{background:var(--ac);color:var(--ink)}
.btn.o{box-shadow:inset 0 0 0 1.5px var(--tx)}
.btn.o:hover{background:var(--tx);color:var(--ink)}
.chip{position:absolute;z-index:3;padding:8px 12px;background:var(--tx);color:var(--ink);font-size:12px;border-radius:6px;box-shadow:0 10px 24px -10px #000;white-space:nowrap}
.c1{right:calc(var(--pad) + 6px);top:calc(64px + var(--wmh,340px) + 6px);transform:rotate(-6deg)}
.c2{display:none}
.hfoot{display:none}
@media(min-width:900px){
 .hero{min-height:0}
 .wm{transform-origin:0 55%}
 .wm .l{display:inline}
 .ring{width:128px;height:128px}.ring .ic{inset:43px}
 .hud{margin-top:calc(var(--top) + var(--wmh) + 34px);padding:0 var(--pad) 0 calc(var(--pad) + 160px);grid-template-columns:1fr auto;align-items:center;align-content:start;gap:28px;flex:none;min-height:128px}
 .c1{right:auto;left:calc(var(--rx) + 84px);top:calc(var(--ry) + 126px)}
 .hfoot{display:flex;justify-content:space-between;position:relative;z-index:3;margin:76px var(--pad) 110px;font-size:12px;color:var(--mu)}
 .hfoot a{color:var(--tx);text-decoration:none}
}

/* tracklist */
.tl{background:var(--bg);padding:90px var(--pad) 100px}
.tl h2{font-size:clamp(52px,8vw,124px)}
.out{-webkit-text-stroke:1.5px var(--tx);color:transparent}
.flt{display:flex;gap:18px;flex-wrap:wrap;margin:26px 0 10px;font-size:13px}
.flt button{color:var(--mu);padding:6px 0;border-bottom:2px solid transparent}
.flt button[aria-pressed=true]{color:var(--tx);border-color:var(--ac)}
.rows{list-style:none}
.row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;padding:16px 0;border-bottom:1px solid var(--ln);transition:padding .25s,background .25s,color .25s}
.rmain{display:flex;align-items:baseline;gap:12px;text-align:left;min-width:0}
.no{font-size:12px;color:var(--mu);width:26px;flex:none}
.ti{font-family:var(--d);text-transform:uppercase;font-size:clamp(27px,3.2vw,50px);line-height:1;transition:transform .25s,color .2s;overflow-wrap:anywhere}
.row .meta{grid-column:1;padding-left:38px;font-size:11px;color:var(--mu)}
.lic{grid-row:1/3;grid-column:2;padding:11px 14px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--ln);font-size:13px;font-weight:600;white-space:nowrap}
.eq{display:none;gap:3px;align-items:flex-end;height:.6em;margin-left:6px}
.eq i{width:5px;background:currentColor;height:20%}
.row.on{background:var(--ac);color:var(--ink);padding-left:14px;padding-right:14px;border-radius:10px;border-color:transparent}
.row.on .no,.row.on .meta{color:var(--ink)}
.row.on .eq{display:inline-flex}
.row.on .lic{background:var(--ink);color:var(--tx);box-shadow:none}
@media(hover:hover){.row:not(.on):hover .ti{transform:translateX(18px);color:var(--ac)}}
@media(min-width:900px){.row{grid-template-columns:1fr 250px auto;padding:14px 0}.row .meta{grid-column:2;grid-row:1;padding:0;font-size:12px}.lic{grid-row:1;grid-column:3}.no{width:40px;font-size:13px}}
.disc{position:fixed;left:0;top:0;width:150px;height:150px;border-radius:50%;z-index:60;pointer-events:none;overflow:hidden;opacity:0;transform:translate(-50%,-50%);transition:opacity .25s,scale .25s;scale:.3}
.disc.show{opacity:1;scale:1}
.disc canvas{width:100%;height:100%;animation:spin 3s linear infinite}
.disc b{position:absolute;inset:50px;border-radius:50%;background:var(--ink);display:grid;place-items:center;font-size:11px}

/* leases */
.ls{background:var(--bg);padding:20px 0 90px;overflow:hidden}
.ls h2{padding:0 var(--pad);font-size:clamp(48px,7vw,110px)}
.ls>p{padding:14px var(--pad) 0;color:var(--mu);max-width:520px;box-sizing:content-box}
.fan{display:flex;gap:14px;padding:44px var(--pad) 30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.fan::-webkit-scrollbar{display:none}
.pass{--mx:50%;position:relative;flex:none;width:74vw;max-width:300px;min-height:360px;border-radius:22px;padding:58px 22px 22px;background:#111;box-shadow:inset 0 0 0 1px var(--ln),0 30px 60px -30px #000;scroll-snap-align:center;transform:rotate(var(--r));transition:transform .35s cubic-bezier(.2,.8,.2,1);overflow:hidden;display:flex;flex-direction:column}
.pass::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.10) 42%,color-mix(in srgb,var(--ac2) 55%,transparent) 50%,rgba(255,255,255,.08) 58%,transparent 75%);background-size:250% 100%;background-position:var(--mx) 0;pointer-events:none}
.pass::after{content:"";position:absolute;left:50%;top:18px;width:54px;height:12px;margin-left:-27px;border-radius:8px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--ln)}
.pass .k{font-size:11px;color:var(--mu)}
.pass h3{font-family:var(--d);font-size:36px;text-transform:uppercase;line-height:1;margin-top:6px}
.pass .pr{font-family:var(--d);font-size:68px;line-height:1;margin:14px 0 12px}
.pass .pr sup{font-size:.36em;vertical-align:top;position:relative;top:.2em}
.pass ul{list-style:none;font-size:14px;color:var(--mu);display:grid;gap:6px;margin-bottom:18px}
.pass .for{margin-top:auto;font-size:11px}
.pass.f{background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 55%,var(--ac2)));color:var(--ink)}
.pass.f .k,.pass.f ul{color:var(--ink)}
@media(min-width:1000px){.fan{justify-content:center;gap:0;overflow:visible;padding-top:60px}.pass{width:250px;margin:0 -10px}.pass:hover{transform:rotate(0) translateY(-26px) scale(1.04);z-index:5}}
.ex{margin:30px var(--pad) 0;padding-top:26px;border-top:1px solid var(--ln);display:grid;gap:14px}
.ex .big{font-size:clamp(44px,6.4vw,100px)}
.ex p{color:var(--mu);max-width:440px;margin-top:14px}
@media(min-width:900px){.ex{grid-template-columns:1fr auto;align-items:end}}

/* custom */
.cu .mask{padding:70px var(--pad) 50px}
.cu .big{font-size:clamp(60px,11vw,170px)}
.cu2{background:var(--bg);padding:34px var(--pad) 90px;display:grid;gap:22px}
.cu2 p{font-size:clamp(18px,2.2vw,24px);max-width:560px}
.steps{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12px;color:var(--mu)}
.steps b{color:var(--ac)}

/* fine print + footer */
.fp{background:var(--bg);padding:0 var(--pad) 70px}
.fp details{border-top:1px solid var(--ln);padding:16px 0}
.fp summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-weight:600;font-size:17px}
.fp summary::-webkit-details-marker{display:none}
.fp summary::after{content:"+";font-family:var(--m);font-weight:900;color:var(--ac)}
.fp details[open] summary::after{content:"–"}
.fp details p{color:var(--mu);padding-top:10px;max-width:640px}
.ft .mask{padding:40px var(--pad) 10px}
#fwm,#cuH{width:max-content}
.ft2{background:var(--bg);padding:22px var(--pad) 40px;display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between;align-items:center;font-size:13px;color:var(--mu)}
.ft2 nav{display:flex;gap:18px;flex-wrap:wrap}
.ft2 a{text-decoration:none}
.tk{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ln);color:var(--tx)}
.tk b{width:22px;height:22px;border-radius:6px;background:var(--tx);color:var(--ink);display:grid;place-items:center;font-size:10px;font-weight:800}

/* dock player */
.dock{position:fixed;left:10px;right:10px;bottom:10px;z-index:100;max-width:760px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:8px 8px 8px 8px;border-radius:999px;background:rgba(20,20,20,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px var(--ln),0 20px 50px -12px #000}
.dock .pp{width:48px;height:48px;border-radius:50%;background:var(--ac);display:grid;place-items:center}
.dock .pp svg{width:18px;height:18px;fill:var(--ink)}
.dock .nm{font-family:var(--d);text-transform:uppercase;font-size:17px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock .tm{font-size:11px;color:var(--mu);margin-top:3px}
.dock .bars{display:flex;gap:3px;align-items:flex-end;height:28px}
.dock .bars i{width:4px;height:3px;background:var(--tx);border-radius:1px}
.dock .buy{padding:13px 16px;border-radius:999px;background:var(--tx);color:var(--ink);font-weight:600;font-size:13px}
.dock .info{min-width:0}

/* menu */
.menu{position:fixed;inset:0;z-index:110;clip-path:circle(0 at calc(100% - 50px) 34px);transition:clip-path .55s cubic-bezier(.7,0,.2,1);visibility:hidden}
body.menu .menu{clip-path:circle(150% at calc(100% - 50px) 34px);visibility:visible}
.menu .mask{position:absolute;inset:0;padding:90px var(--pad) 40px;display:flex;flex-direction:column;justify-content:center;gap:4px;background:#0c0c0c}
.menu a{font-family:var(--d);text-transform:uppercase;text-decoration:none;font-size:clamp(48px,8vw,104px);line-height:.95;color:#fff;transition:color .2s}
.menu .mask:hover a:not(:hover){color:#444}

/* sheet */
.sheet{position:fixed;inset:0;z-index:130;display:none;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.6)}
.sheet.open{display:flex}
.sheet>div{width:100%;max-width:520px;background:#121212;border-radius:26px 26px 0 0;padding:24px 20px 28px;box-shadow:inset 0 0 0 1px var(--ln);animation:up .35s cubic-bezier(.2,.8,.2,1)}
@media(min-width:760px){.sheet{align-items:center}.sheet>div{border-radius:26px}}
@keyframes up{from{transform:translateY(40px);opacity:0}}
.sheet h3{font-family:var(--d);text-transform:uppercase;font-size:44px;line-height:1;margin:6px 0 16px}
.opt{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--ln);margin-bottom:8px;cursor:pointer}
.opt input{position:absolute;opacity:0}
.opt:has(input:checked){box-shadow:inset 0 0 0 2px var(--ac)}
.opt small{display:block;color:var(--mu);font-size:13px}
.opt b{font-family:var(--d);font-size:26px;font-weight:400}
.sheet .note{font-size:13px;color:var(--mu);margin-top:12px;min-height:18px}
.sheet .x{float:right;font-size:13px;color:var(--mu);padding:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* launch additions */
.pass:nth-child(1){--r:-5deg}.pass:nth-child(2){--r:-1.5deg}.pass:nth-child(3){--r:2deg}.pass:nth-child(4){--r:5.5deg}
.cp{display:inline-flex;align-items:center;gap:10px}
.shk{font-size:11px;color:var(--mu)}
.w100{width:100%}#tot{margin-left:6px}
.fp a{color:var(--ac)}
.nf{min-height:100svh;display:grid;place-content:center;justify-items:start;gap:18px;padding:40px var(--pad)}
.nf .big{font-size:clamp(90px,22vw,260px);background:linear-gradient(120deg,#F4C542,#14B877);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf p{font-size:20px;max-width:420px}
