
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px) saturate(1.4);background:rgba(13,11,20,.62);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;height:72px;gap:36px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Funnel Display';font-weight:800;font-size:23px;letter-spacing:-.04em}
.logo img{width:36px}.logo b{color:var(--lime)}
nav .links{display:flex;gap:28px;font-size:14px;color:var(--mute)}nav .links a:hover{color:var(--text)}
nav .r{margin-left:auto;display:flex;gap:12px;align-items:center}
/* hero */
.hero{position:relative;min-height:calc(100vh - 72px);display:flex;align-items:center;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
.grid-bg{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse at 60% 50%,#000 20%,transparent 70%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:20px;width:100%}
.hero h1{font-size:104px}
.hero p.sub{margin-top:26px;font-size:19px;color:var(--mute);max-width:440px;line-height:1.5}
.hero .cta{margin-top:38px;display:flex;gap:14px}
.hero .proof{margin-top:44px;display:flex;gap:28px}
.proof div b{display:block;font-family:'Funnel Display';font-size:28px;letter-spacing:-.03em}
.proof div span{font-size:13px;color:var(--dim)}
.fan{position:relative;height:620px;perspective:1600px}
.fan .tcg{position:absolute;width:300px;top:50%;left:50%}
.fan .c1{transform:translate(-115%,-46%) rotate(-14deg) rotateY(12deg);animation:float1 7s ease-in-out infinite}
.fan .c2{transform:translate(-50%,-54%) rotate(0deg);z-index:2;width:330px;animation:float2 6s ease-in-out infinite}
.fan .c3{transform:translate(15%,-46%) rotate(13deg) rotateY(-12deg);animation:float3 8s ease-in-out infinite}
@keyframes float1{50%{transform:translate(-115%,-49%) rotate(-12deg) rotateY(12deg)}}
@keyframes float2{50%{transform:translate(-50%,-58%) rotate(1deg)}}
@keyframes float3{50%{transform:translate(15%,-43%) rotate(11deg) rotateY(-12deg)}}
.sticker{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:16px;background:rgba(25,22,35,.82);backdrop-filter:blur(14px);border:1px solid var(--line2);font-size:14px;box-shadow:0 20px 40px -12px rgba(0,0,0,.6)}
.sticker .ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-family:'Funnel Display';color:#111}
.sticker small{display:block;color:var(--mute);font-size:12px}
/* marquee */
.marq{border-block:1px solid var(--line);background:var(--ink2);overflow:hidden;padding:18px 0}
.marq .track{display:flex;gap:14px;width:max-content;animation:marq 50s linear infinite}
@keyframes marq{to{transform:translateX(-50%)}}
.mq{display:flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:14px;background:var(--panel);border:1px solid var(--line);font-size:14px;white-space:nowrap}
.mq img{width:34px;height:56px;object-fit:cover;border-radius:5px}
.mq b{font-family:'Fragment Mono';font-weight:500;color:var(--lime)}
/* sections */
section.s{padding:150px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px}
.eyebrow i{width:22px;height:2px;border-radius:2px}
h2{font-size:76px}
.lede{margin-top:20px;font-size:18px;color:var(--mute);max-width:460px;line-height:1.5}
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}
.split.rev{grid-template-columns:1.25fr 1fr}
.box{border-radius:30px;background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden}
/* explorer */
.sets{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:24px}
.set{height:118px;border-radius:18px;background:var(--panel2);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:14px;transition:.3s}
.set img{height:52px;object-fit:contain;object-position:left center;max-width:100%}
.set div{display:flex;justify-content:space-between;font-family:'Fragment Mono';font-size:11px;color:var(--dim)}
.set.hot{background:linear-gradient(var(--panel2),var(--panel2)) padding-box,var(--holo) border-box;border:1.5px solid transparent;transform:translateY(-4px);box-shadow:0 20px 40px -18px rgba(20,241,149,.4)}
.eras{display:flex;flex-wrap:wrap;gap:8px;padding:22px 24px 0}
.eras .chip.on{background:var(--text);color:var(--ink);border-color:var(--text)}
/* dex */
.dexstage{padding:28px;display:grid;grid-template-columns:1fr 290px;gap:22px}
.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-content:start;align-self:start}
.mini .tcg{border-radius:7px}
.mini .tcg.sel{outline:2px solid var(--lime);outline-offset:3px}
.detail{background:var(--ink2);border-radius:20px;border:1px solid var(--line);padding:16px}
.detail .tcg{border-radius:12px}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.kv div{background:var(--panel);border-radius:12px;padding:10px 12px}
.kv span{display:block;font-family:'Fragment Mono';font-size:10px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase}
.kv b{font-size:16px;font-family:'Funnel Display';letter-spacing:-.02em}
/* scanner */
.phone{width:330px;height:640px;margin:0 auto;border-radius:52px;background:#050408;border:10px solid #24202F;position:relative;overflow:hidden;box-shadow:0 60px 120px -40px rgba(76,111,255,.5)}
.phone .viewport{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#2a2440,#0b0912)}
.phone .tcg{position:absolute;width:210px;left:50%;top:90px;transform:translateX(-50%) rotate(-3deg)}
.frame{position:absolute;left:50%;top:76px;width:244px;height:328px;transform:translateX(-50%)}
.frame i{position:absolute;width:34px;height:34px;border:3px solid var(--lime)}
.frame i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0;border-radius:12px 0 0 0}
.frame i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0;border-radius:0 12px 0 0}
.frame i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0;border-radius:0 0 0 12px}
.frame i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0;border-radius:0 0 12px 0}
.scanline{position:absolute;left:8px;right:8px;height:3px;top:45%;background:var(--lime);box-shadow:0 0 24px 6px rgba(20,241,149,.6);border-radius:3px;animation:scan 2.6s ease-in-out infinite}
@keyframes scan{0%,100%{top:6%}50%{top:92%}}
.result{position:absolute;left:14px;right:14px;bottom:18px;border-radius:26px;background:rgba(25,22,35,.9);backdrop-filter:blur(10px);border:1px solid var(--line2);padding:18px}
.result .row{display:flex;justify-content:space-between;align-items:end}
.price{font-family:'Funnel Display';font-weight:800;font-size:40px;letter-spacing:-.04em}
.scans{display:flex;gap:6px;margin-top:14px}.scans i{flex:1;height:6px;border-radius:6px;background:var(--panel2)}.scans i.on{background:var(--lime)}
/* market */
.mhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:46px}
.mstats{display:flex;gap:12px}
.mstat{padding:16px 22px;border-radius:20px;background:var(--panel);border:1px solid var(--line)}
.mstat b{display:block;font-family:'Funnel Display';font-size:30px;letter-spacing:-.03em}
.mgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.slab{border-radius:22px;background:var(--panel);border:1px solid var(--line);padding:12px;transition:.35s cubic-bezier(.2,.8,.2,1)}
.slab:hover{transform:translateY(-6px);border-color:var(--line2)}
.slab .ph{border-radius:14px;overflow:hidden;background:#0a0910;aspect-ratio:3/5;display:grid;place-items:center}
.slab .ph img{width:100%;height:100%;object-fit:contain}
.slab h4{margin-top:12px;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.slab .meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.slab .sol{font-family:'Fragment Mono';font-weight:500;font-size:15px}
.slab .buy{height:30px;padding:0 12px;border-radius:999px;background:var(--lime);color:#111;font-size:12px;font-weight:600;display:grid;place-items:center}
/* points */
.pgrid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:auto auto;gap:16px}
.tile{border-radius:30px;padding:30px;background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden}
.tile h3{font-size:32px}
.tile .m{margin-bottom:14px}
.wheelbox{grid-row:span 2;display:flex;flex-direction:column}
.wheel{width:330px;height:330px;margin:30px auto 10px;position:relative}
.wheel svg{width:100%;height:100%;filter:drop-shadow(0 30px 50px rgba(153,69,255,.35))}
.pin{position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:26px solid var(--text);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.streak{display:flex;gap:8px;margin-top:22px}
.streak i{flex:1;height:54px;border-radius:14px;background:var(--panel2);display:grid;place-items:center;font-style:normal;font-family:'Fragment Mono';font-size:12px;color:var(--dim)}
.streak i.on{background:var(--sun);color:#1a1300;font-weight:600}
.streak i.now{background:var(--lime);color:#111;box-shadow:0 0 30px -4px rgba(20,241,149,.7)}
.ranks{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.rank{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--dim)}
.rank .bar{flex:1;height:6px;border-radius:6px;background:var(--panel2);overflow:hidden}
.rank .bar i{display:block;height:100%;background:var(--holo)}
.rank.me{color:var(--text)}
.code{display:flex;gap:8px;margin-top:20px}
.code input{flex:1;min-width:0;height:52px;border-radius:16px;background:var(--ink2);border:1px dashed var(--line2);color:var(--text);padding:0 16px;font-family:'Fragment Mono';font-size:15px;letter-spacing:.2em}
/* how */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}
.step{border-radius:30px;padding:34px;background:var(--panel);border:1px solid var(--line);min-height:300px;display:flex;flex-direction:column}
.step .n{font-family:'Funnel Display';font-weight:800;font-size:90px;line-height:1;letter-spacing:-.05em}
.step h3{margin-top:70px;font-size:30px}
.step p{margin-top:10px;color:var(--mute);font-size:15px}
.wallets{display:flex;gap:8px;margin-top:18px}
/* faq */
.faq{max-width:860px;margin:60px auto 0}
.q{border-bottom:1px solid var(--line);padding:26px 4px}
.q summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:21px;font-weight:500;cursor:pointer}
.q summary::after{content:"+";font-size:28px;color:var(--lime);font-weight:300}
.q[open] summary::after{content:"–"}
.q p{margin-top:12px;color:var(--mute);font-size:16px;line-height:1.6;max-width:680px}
/* finale */
.finale{margin:40px 40px 0;border-radius:44px;padding:130px 40px;text-align:center;position:relative;overflow:hidden;background:#100d18}
.finale::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,#9945FF,#3D8BFF,#00C2FF,#14F195,#7DFFC4,#9945FF);filter:blur(80px);opacity:.55;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.finale::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(13,11,20,.35),rgba(13,11,20,.85) 75%)}
.finale>*{position:relative;z-index:2}
.finale h2{font-size:112px}
.finale .cards{position:absolute;inset:0;z-index:1;pointer-events:none}
.finale .cards .tcg{position:absolute;width:150px;opacity:.9}
footer{padding:60px 40px 40px;display:flex;justify-content:space-between;align-items:center;color:var(--dim);font-size:13px;max-width:1320px;margin:0 auto}
footer .soc{display:flex;gap:10px}
/* mobile */
@media (max-width:760px){
 .wrap{padding:0 20px}nav .links{display:none}nav .wrap{height:62px}.logo{font-size:20px}.logo img{width:30px}
 nav .r .btn-holo{display:none}
 .hero{min-height:auto;padding:30px 0 50px}.hero .wrap{grid-template-columns:1fr}
 .hero h1{font-size:60px}.hero p.sub{font-size:16px;margin-top:18px}.hero .cta{flex-direction:column;margin-top:26px}.hero .cta .btn{justify-content:center}
 .hero .proof{gap:18px;margin-top:30px}.proof div b{font-size:22px}
 .fan{height:420px;order:-1;margin:-10px -20px 0}.fan .tcg{width:190px}.fan .c2{width:210px}
 .sticker{font-size:12px;padding:8px 10px 8px 8px}.sticker .ic{width:28px;height:28px}
 section.s{padding:90px 0}h2{font-size:46px}.lede{font-size:16px}
 .split,.split.rev{grid-template-columns:1fr;gap:40px}.split.rev>.box{order:2}
 .sets{grid-template-columns:repeat(2,1fr)}.sets .set:nth-child(n+7){display:none}
 .dexstage{grid-template-columns:1fr;padding:16px}.detail{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:start}.detail>div:nth-child(2){margin-top:0!important}.detail .kv{grid-column:1/-1;margin-top:0}.mini{grid-template-columns:repeat(4,1fr);gap:8px}.mini .tcg:nth-child(n+9){display:none}
 .phone{transform:scale(.9);margin:-30px auto}
 .mhead{flex-direction:column;align-items:flex-start;gap:24px}.mstats{flex-wrap:wrap}.mstat{padding:12px 16px}.mstat b{font-size:22px}
 .mgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mgrid .slab:nth-child(n+5){display:none}
 .pgrid{grid-template-columns:minmax(0,1fr)}.pgrid .tile{grid-column:auto!important}.wheelbox{grid-row:auto}.wheel{width:270px;height:270px}
 .steps{grid-template-columns:1fr}.step{min-height:220px}.step .n{font-size:64px}
 .q summary{font-size:17px}
 .finale{margin:20px 12px 0;padding:90px 20px;border-radius:32px}.finale h2{font-size:56px}.finale .cards .tcg{width:70px;opacity:.55}.finale .cards .tcg:nth-child(odd){top:4%!important}.finale .cards .tcg:nth-child(even){bottom:-4%!important}
 footer{flex-direction:column;gap:16px;padding:40px 20px}
}
a.slab{display:block}a.set{display:flex}a.mq{display:flex}.mini a.tcg{display:block}
.eras a.chip:hover,.set:hover{border-color:var(--line2)}

nav [data-wallet-slot]{display:flex}
