:root{--ink:#17112B;--ink2:#241B42;--bone:#F3EEFF;--mute:#A79FC4;--coral:#FF4F7B;--aqua:#3CF2D0;--butter:#FFD86B;--r:22px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;color-scheme:dark}
body{background:var(--ink);color:var(--bone);font:400 1rem/1.6 Figtree,system-ui,sans-serif;min-height:100vh;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.06;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#bg{position:fixed;inset:0;z-index:-1}
a{color:inherit}
:focus-visible{outline:3px solid var(--butter);outline-offset:3px}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:.9rem clamp(1rem,4vw,3rem);background:rgba(23,17,43,.72);backdrop-filter:blur(14px)}
.logo{font:800 1.25rem Unbounded,sans-serif;text-decoration:none;letter-spacing:-.03em}
.logo i{font-style:normal;font-weight:400;color:var(--aqua)}
.btn{display:inline-block;font:600 .95rem Figtree,sans-serif;padding:.75rem 1.4rem;border-radius:99px;border:0;background:var(--butter);color:var(--ink);text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px var(--butter)}
.btn.ghost{background:transparent;color:var(--bone);box-shadow:inset 0 0 0 1.5px rgba(243,238,255,.3)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--aqua);color:var(--aqua)}
.hero{position:relative;min-height:80vh;display:flex;flex-direction:column;justify-content:center;gap:1.6rem;padding:3rem clamp(1rem,4vw,3rem)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx,70%) var(--my,40%),rgba(255,79,123,.18),rgba(60,242,208,.07) 45%,transparent 70%)}
.word{font:900 clamp(4.2rem,19vw,15rem)/.92 Unbounded,sans-serif;letter-spacing:-.05em;position:relative}
.word span{display:inline-block;transition:font-weight .18s;animation:rise 1.1s var(--ease) backwards;animation-delay:calc(var(--i)*80ms)}
.word .b{font-weight:300;font-size:.42em;color:var(--aqua);letter-spacing:-.02em}
@keyframes rise{from{opacity:0;transform:translateY(.6em) rotate(6deg)}}
.lead{font-size:clamp(1.1rem,2.4vw,1.4rem);color:var(--mute);max-width:34ch;position:relative}
.lead.sm{font-size:1.05rem}
.wrap{max-width:1200px;margin:0 auto;padding:3rem clamp(1rem,4vw,3rem)}
.head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem}
h2{font:700 1.6rem Unbounded,sans-serif;letter-spacing:-.03em}
input[type=search]{font:inherit;color:inherit;background:var(--ink2);border:1.5px solid rgba(243,238,255,.12);border-radius:99px;padding:.7rem 1.2rem;min-width:min(100%,260px)}
input[type=search]:focus{border-color:var(--aqua);outline:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem}
.card{position:relative;display:block;text-decoration:none;background:var(--ink2);border-radius:var(--r);overflow:hidden;border:1px solid rgba(255,255,255,.08);transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg));transition:transform .25s var(--ease),box-shadow .3s;animation:up .8s var(--ease) backwards;animation-delay:calc(var(--i)*100ms + 500ms)}
.still .card{animation:none}
@keyframes up{from{opacity:0;transform:translateY(40px) scale(.96)}}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),transparent 60%)}
.card:hover{box-shadow:0 30px 60px -25px var(--c1)}
.card:hover::after{opacity:1}
.thumb{height:170px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c1),var(--c2))}
.thumb span{font-size:4.5rem;filter:drop-shadow(0 12px 18px rgba(0,0,0,.35));transition:transform .5s var(--ease)}
.card:hover .thumb span{transform:scale(1.18) rotate(-7deg)}
.meta{padding:1.1rem 1.3rem 1.3rem}
.meta h3{font:700 1.15rem Unbounded,sans-serif;letter-spacing:-.02em;margin-bottom:.3rem}
.meta p{color:var(--mute);font-size:.95rem}
.meta footer{display:flex;justify-content:space-between;margin-top:1rem;font-size:.85rem;color:var(--mute)}
.meta em{font-style:normal;color:var(--bone);background:rgba(255,255,255,.08);padding:.1rem .7rem;border-radius:99px}
.empty{color:var(--mute);padding:2rem 0}
.foot{padding:3rem clamp(1rem,4vw,3rem);color:var(--mute);text-align:center;font-size:.9rem}
.play .back{color:var(--mute);text-decoration:none}
.play .back:hover{color:var(--aqua)}
.play h1{font:800 clamp(1.8rem,5vw,3rem) Unbounded,sans-serif;letter-spacing:-.04em;margin:.6rem 0 .3rem}
.play .more{margin:3.5rem 0 1.4rem}
.hud{display:flex;align-items:center;gap:1.6rem;margin:1.6rem 0 1rem;color:var(--mute)}
.hud b{color:var(--bone);font:700 1.1rem Unbounded,sans-serif;margin-left:.3rem}
.hud .btn{margin-left:auto;padding:.5rem 1.1rem}
.stage{max-width:720px;min-height:380px;display:grid;place-items:center;align-content:center;gap:1rem;padding:1.2rem;background:#120C24;border-radius:var(--r);border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.cv{max-width:100%;height:auto;border-radius:14px;touch-action:none}
.note{color:var(--aqua);font-weight:600}
.mem{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;width:min(100%,420px)}
.mc{position:relative;aspect-ratio:1;perspective:600px;background:none;border:0;cursor:pointer;font-size:clamp(1.6rem,8vw,2.4rem)}
.mc i{position:absolute;inset:0;display:grid;place-items:center;border-radius:14px;backface-visibility:hidden;font-style:normal;transition:transform .5s var(--ease),box-shadow .3s}
.mc .a{background:var(--ink2);border:1px solid rgba(255,255,255,.12);color:var(--mute)}
.mc .b{background:linear-gradient(135deg,var(--coral),#6B1B5E);transform:rotateY(180deg)}
.mc.on .a{transform:rotateY(-180deg)}.mc.on .b{transform:rotateY(0)}
.mc.ok .b{box-shadow:0 0 0 2px var(--aqua),0 0 24px rgba(60,242,208,.45)}
.reflex{width:100%;min-height:340px;border:0;border-radius:var(--r);background:var(--ink2);color:var(--bone);font:inherit;display:grid;place-content:center;gap:.4rem;text-align:center;cursor:pointer;transition:background .2s}
.reflex b{font:800 clamp(1.8rem,6vw,2.6rem) Unbounded,sans-serif;letter-spacing:-.03em}
.reflex span{color:var(--mute)}
.reflex.wait{background:#6B1B3A}
.reflex.now{background:var(--aqua);color:var(--ink)}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
