[hidden]{display:none!important}
:root{--bg:#07070c;--card:rgba(255,255,255,.04);--card2:rgba(255,255,255,.07);--ink:#f2f2f7;--muted:#9a9aae;--line:rgba(255,255,255,.1);--a:#7c5cff;--b:#22d3ee;--c:#f472b6;--disp:"Sora",system-ui,sans-serif;--sans:"Inter",system-ui,-apple-system,sans-serif;color-scheme:dark}
:root[data-theme=light]{--bg:#f7f7fb;--card:rgba(255,255,255,.7);--card2:#fff;--ink:#12121a;--muted:#5e5e72;--line:rgba(20,20,40,.1);--a:#6343ff;--b:#0891b2;--c:#db2777;color-scheme:light}
@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f7f7fb;--card:rgba(255,255,255,.7);--card2:#fff;--ink:#12121a;--muted:#5e5e72;--line:rgba(20,20,40,.1);--a:#6343ff;--b:#0891b2;--c:#db2777;color-scheme:light}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s,color .4s}
h1,h2,h3{font-family:var(--disp);margin:0;letter-spacing:-.03em}
:focus-visible{outline:2px solid var(--b);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.aurora i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.35;animation:drift 22s ease-in-out infinite alternate}
.aurora i:nth-child(1){background:var(--a);left:-15vmax;top:-25vmax}.aurora i:nth-child(2){background:var(--b);right:-20vmax;top:-10vmax;animation-delay:-7s}.aurora i:nth-child(3){background:var(--c);left:20vmax;top:30vmax;opacity:.22;animation-delay:-14s}
:root[data-theme=light] .aurora i{opacity:.18}
@media (prefers-color-scheme:light){:root:not([data-theme]) .aurora i{opacity:.18}}
@keyframes drift{to{transform:translate(8vmax,6vmax) scale(1.15)}}
.top,main,.foot{position:relative;z-index:1}
.top{display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1rem,4vw,2.5rem);max-width:1100px;margin:0 auto}
.logo{display:flex;align-items:center;gap:.6rem;font:700 1.15rem var(--disp);color:inherit;text-decoration:none}
.mark{width:26px;height:26px;border-radius:8px;background:conic-gradient(from 140deg,var(--a),var(--b),var(--c),var(--a));box-shadow:0 6px 20px -6px var(--a)}
.theme{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:1.05rem;backdrop-filter:blur(8px)}
.hero{max-width:760px;margin:0 auto;padding:clamp(2.5rem,9vh,6rem) 1.2rem 3rem;text-align:center}
.badge{display:inline-flex;gap:.55rem;align-items:center;font-size:.85rem;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--card);backdrop-filter:blur(8px);margin:0 0 1.6rem}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--b);animation:pl 1.8s infinite}@keyframes pl{0%{box-shadow:0 0 0 0 var(--b)}70%,100%{box-shadow:0 0 0 9px transparent}}
.hero h1{font-size:clamp(2.5rem,7.5vw,4.8rem);font-weight:800;line-height:1.02}
.grad{background:linear-gradient(100deg,var(--a),var(--b) 55%,var(--c));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:sheen 8s ease-in-out infinite alternate}@keyframes sheen{to{background-position:100% 0}}
.lead{color:var(--muted);font-size:1.12rem;max-width:36rem;margin:1.3rem auto 2.2rem}
.count{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;max-width:460px;margin:0 auto}
.count div{padding:1rem .4rem .8rem;border-radius:18px;border:1px solid var(--line);background:var(--card);backdrop-filter:blur(10px)}
.count b{display:block;font:700 clamp(1.8rem,6vw,2.6rem)/1 var(--disp);font-variant-numeric:tabular-nums}.count b.tick{animation:tick .45s cubic-bezier(.2,.8,.2,1)}@keyframes tick{from{transform:translateY(-35%);opacity:.2}}
.count span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:.45rem}
.count-note{font-size:.85rem;color:var(--muted);margin:.8rem 0 2rem}
.join{display:flex;gap:.5rem;max-width:480px;margin:0 auto;padding:.4rem;border-radius:18px;border:1px solid var(--line);background:var(--card2);box-shadow:0 20px 50px -25px var(--a);transition:box-shadow .3s,border-color .3s}
.join:focus-within{border-color:color-mix(in srgb,var(--a) 60%,transparent);box-shadow:0 20px 60px -20px var(--a)}
.join input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;padding:.75rem .9rem;outline:none}
.join button,.ref-row button,.share button{border:0;border-radius:13px;padding:.8rem 1.2rem;font:600 .95rem var(--sans);color:#fff;background:linear-gradient(110deg,var(--a),color-mix(in srgb,var(--a) 50%,var(--b)));cursor:pointer;white-space:nowrap;transition:transform .2s,filter .2s}
.join button:hover,.ref-row button:hover{transform:translateY(-1px);filter:brightness(1.1)}.join button:disabled{opacity:.6;cursor:wait}
.join.shake{animation:shake .4s}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.hp{position:absolute;left:-9999px;opacity:0;height:0}
.msg{min-height:1.4em;margin:.8rem 0 0;font-weight:500}.msg.err{color:#ff8fa3}
.small{font-size:.82rem;color:var(--muted);margin:.3rem 0 0}
.ref{max-width:520px;margin:1.6rem auto 0;text-align:left;padding:1.4rem;border-radius:22px;border:1px solid var(--line);background:var(--card2);animation:rise .6s cubic-bezier(.2,.8,.2,1)}@keyframes rise{from{opacity:0;transform:translateY(16px) scale(.98)}}
.ref-head{display:flex;gap:.9rem}.ok{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--b),var(--a));color:#fff;font-weight:700}
.ref h2{font-size:1.2rem}.ref-head p{margin:.3rem 0 0;color:var(--muted);font-size:.93rem}
.ref-row{display:flex;gap:.5rem;margin:1.1rem 0 .7rem}.ref-row input{flex:1;min-width:0;font:500 .9rem var(--sans);padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.share{display:flex;gap:.5rem;flex-wrap:wrap}.share a,.share button{font:600 .88rem var(--sans);padding:.55rem .9rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);text-decoration:none;cursor:pointer}
.feat{max-width:1000px;margin:0 auto;padding:3rem 1.2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.feat article{padding:1.5rem;border-radius:22px;border:1px solid var(--line);background:var(--card);backdrop-filter:blur(10px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.feat article:hover{transform:translateY(-4px)}
.ic{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--card2);border:1px solid var(--line);font-size:1.2rem;margin-bottom:1rem;color:var(--b)}
.feat h3{font-size:1.1rem;margin-bottom:.4rem}.feat p{margin:0;color:var(--muted);font-size:.95rem}
.faq{max-width:720px;margin:0 auto;padding:2rem 1.2rem 5rem}.faq h2{font-size:clamp(1.8rem,4vw,2.4rem);text-align:center;margin-bottom:1.5rem}
details{border:1px solid var(--line);border-radius:18px;background:var(--card);margin-bottom:.7rem;overflow:hidden;transition:background .3s}
details[open]{background:var(--card2)}
summary{cursor:pointer;list-style:none;padding:1.1rem 1.3rem;font:600 1rem var(--disp);display:flex;justify-content:space-between;align-items:center;gap:1rem}summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 1.4rem var(--sans);color:var(--muted);transition:transform .3s}details[open] summary::after{transform:rotate(45deg)}
details p{margin:0;padding:0 1.3rem 1.2rem;color:var(--muted);animation:fd .4s ease}@keyframes fd{from{opacity:0;transform:translateY(-6px)}}
code{font-size:.8rem;background:var(--card2);padding:.1rem .35rem;border-radius:5px}
.foot{text-align:center;font-size:.82rem;color:var(--muted);padding:2rem 1rem 3rem;border-top:1px solid var(--line)}
@media (max-width:760px){.feat{grid-template-columns:1fr}}
@media (max-width:480px){.join{flex-direction:column;padding:.5rem}.join button{width:100%;padding:.95rem}.count{gap:.45rem}.ref-row{flex-direction:column}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.shot{max-width:420px;margin:0 auto;padding:1rem 1.2rem 2rem;text-align:center}.shot img{width:100%;height:auto;display:block;border-radius:28px;box-shadow:0 40px 120px -40px rgba(124,92,255,.55)}
