:root{color-scheme:dark}button,a,input{touch-action:manipulation}:root{--grain:url("/img/grain.png")}
body{margin:0;background:#0c0b0e;font-family:'Hanken Grotesk',system-ui,sans-serif}
button,input{font-family:inherit}
input::placeholder{color:#8f8a9b;opacity:1}
.mono{font-family:'DM Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.fx:focus-visible,.pc:focus-visible,.ib:focus-visible{outline:0;box-shadow:0 0 0 2px #0c0b0e,0 0 0 4px #a78bfa}
.ib{flex:0 0 auto;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#f2f0ec;background:linear-gradient(145deg,#100e14,#1b1822);box-shadow:inset 3px 3px 7px rgba(0,0,0,.78),inset -2px -2px 5px rgba(255,255,255,.05),0 1px 0 rgba(255,255,255,.09);transition:color 160ms,box-shadow 160ms,transform 120ms}
.ib:hover{color:#cbbcff;box-shadow:inset 3px 3px 7px rgba(0,0,0,.8),inset -2px -2px 5px rgba(255,255,255,.06),0 0 0 1px rgba(167,139,250,.42),0 0 22px rgba(167,139,250,.3)}
.ib:active{transform:scale(.96);box-shadow:inset 5px 5px 10px rgba(0,0,0,.9),inset -1px -1px 2px rgba(255,255,255,.03)}
.ib.on{color:#c9b9ff;box-shadow:inset 3px 3px 7px rgba(0,0,0,.8),inset -2px -2px 5px rgba(255,255,255,.05),0 0 0 1px rgba(167,139,250,.55),0 0 20px rgba(167,139,250,.28)}
.gr{background:#0f0d13;box-shadow:inset 3px 3px 8px rgba(0,0,0,.8),inset -2px -2px 6px rgba(255,255,255,.04),0 1px 0 rgba(255,255,255,.07)}
.gl{background:rgba(34,28,48,.42);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 48px -24px rgba(0,0,0,.8)}
.disc{background:radial-gradient(circle at 30% 22%,#cdbfff,#a78bfa 52%,#7c63de);box-shadow:0 6px 14px -4px rgba(167,139,250,.65),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -3px 6px rgba(66,40,150,.5)}
.cta{border:0;cursor:pointer;color:#14101f;background:linear-gradient(180deg,#bba8ff,#a78bfa 60%,#9479ef);box-shadow:0 16px 34px -12px rgba(167,139,250,.7),inset 0 1px 0 rgba(255,255,255,.45);transition:transform 140ms,box-shadow 160ms}
.cta:hover{transform:translateY(-1px);box-shadow:0 20px 40px -12px rgba(167,139,250,.85),inset 0 1px 0 rgba(255,255,255,.5)}
.cta:active{transform:scale(.985)}
.cta .well{background:linear-gradient(145deg,#120e1d,#1f1830);color:#c9b9ff;box-shadow:inset 3px 3px 7px rgba(0,0,0,.7),inset -1px -1px 3px rgba(255,255,255,.12)}
.pc{display:block;flex:0 0 auto;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;transition:opacity 180ms cubic-bezier(.2,.8,.2,1),transform 180ms cubic-bezier(.2,.8,.2,1)}
.pc .pi{transition:box-shadow 180ms cubic-bezier(.2,.8,.2,1)}
.rail:has(.pc:hover) .pc:not(:hover),.rail:has(.pc:focus-visible) .pc:not(:focus-visible){opacity:.55;transform:scale(.985)}
.rail .pc:hover,.rail .pc:focus-visible{opacity:1;transform:translateY(-4px) scale(1)}
.rail .pc:hover .pi,.rail .pc:focus-visible .pi{box-shadow:0 28px 44px -18px rgba(0,0,0,.95),0 0 0 1px rgba(167,139,250,.5),0 0 30px -6px rgba(167,139,250,.45),inset 0 1px 0 rgba(255,255,255,.3)!important}
@keyframes drift{from{transform:translateX(-2.5%)}to{transform:translateX(2.5%)}}
.sg{display:flex;align-items:center;gap:12px}
.sg::after{content:"";flex:0 0 40px;height:10px;opacity:.9;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop offset='0' stop-color='%23a78bfa'/%3E%3Cstop offset='1' stop-color='%23a78bfa' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M1 5 Q7 2 13 5 T25 5 T39 5' fill='none' stroke='url(%23g)' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain}
@keyframes eq{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.sig{display:inline-flex;align-items:flex-end;gap:2px;height:12px}
.sig i{display:block;width:2.5px;height:12px;border-radius:2px;background:#ff6b5e;transform-origin:bottom;animation:eq 1.1s ease-in-out infinite}
.sig i:nth-child(2){animation-delay:.25s}
.sig i:nth-child(3){animation-delay:.5s}
@keyframes pulse{0%,100%{box-shadow:0 0 10px rgba(255,107,94,.45)}50%{box-shadow:0 0 22px rgba(255,107,94,.95)}}
.nowline{animation:pulse 2.4s ease-in-out infinite}
.wv{animation:drift 42s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.pc,.pc .pi,.ib,.cta{transition:none}.wv{animation:none}.sig i,.nowline{animation:none}}
