:root{
  --bg:#080a10; --bg2:#0f121b; --card:#141826; --card2:#1a1f30;
  --line:#242a3d; --txt:#eef1f8; --mut:#9aa3ba; --mut2:#6b7390;
  --acc:#7c3aed; --acc2:#06b6d4;
  --gold:#f5b301; --gold2:#ff9e2c; --good:#2fd08a; --bad:#ff5a6a;
  --emerald:#2fd08a; --cyan:#22c3e6; --purple:#a855f7;
  --r:16px; --r-lg:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:'Outfit',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg); color:var(--txt); min-height:100dvh; font-weight:500;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; position:relative;
}
a{color:inherit;text-decoration:none}
b{font-weight:800}
ul{margin:0;padding:0;list-style:none}
code{background:#0c0f18;border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:.9em;color:#cdd4e6}

/* animated background */
.bg-fx{position:fixed;inset:0;z-index:-2;overflow:hidden;
  background:
    radial-gradient(900px 520px at 82% -8%, rgba(6,182,212,.14), transparent 60%),
    radial-gradient(1000px 640px at 15% -6%, rgba(124,58,237,.20), transparent 58%),
    radial-gradient(700px 500px at 50% 110%, rgba(124,58,237,.10), transparent 60%),
    var(--bg)}
.bg-fx span{position:absolute;display:block;width:60px;height:60px;border-radius:12px;
  background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(6,182,212,.12));
  border:1px solid rgba(255,255,255,.05);animation:float 18s linear infinite;opacity:.5}
.bg-fx span:nth-child(1){left:8%;top:20%;animation-duration:22s}
.bg-fx span:nth-child(2){left:78%;top:14%;width:40px;height:40px;animation-duration:26s;animation-delay:-4s}
.bg-fx span:nth-child(3){left:65%;top:60%;width:80px;height:80px;animation-duration:30s;animation-delay:-8s}
.bg-fx span:nth-child(4){left:20%;top:70%;width:50px;height:50px;animation-duration:24s;animation-delay:-2s}
.bg-fx span:nth-child(5){left:45%;top:35%;width:34px;height:34px;animation-duration:20s;animation-delay:-6s}
@keyframes float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-40px) rotate(180deg)}100%{transform:translateY(0) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.bg-fx span{animation:none}}

/* nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:14px 26px;background:rgba(8,10,16,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-weight:900;font-size:1.3rem;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.brand .cube{color:var(--acc)} .brand .mc{color:var(--acc2)} .brand.sm{font-size:1rem}
.nav-links{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.95rem;color:var(--mut)}
.nav-links a:hover{color:#fff}
.nav-links a.ghost{color:var(--acc2)}

/* hero */
.hero{max-width:1120px;margin:0 auto;padding:70px 24px 50px;display:grid;grid-template-columns:1.2fr .8fr;
  gap:30px;align-items:center}
.status-pill{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);
  border-radius:999px;padding:7px 15px;font-weight:700;font-size:.86rem;color:var(--mut);margin-bottom:20px}
.status-pill .dot{width:9px;height:9px;border-radius:50%;background:var(--mut2)}
.status-pill.up .dot{background:var(--good);box-shadow:0 0 12px var(--good)}
.status-pill.up{color:#cfeede}.status-pill.down .dot{background:var(--bad)}
.hero h1{font-size:3.4rem;font-weight:900;line-height:1.02;margin:0 0 14px;letter-spacing:-.02em}
.grad{background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--mut);font-size:1.12rem;max-width:520px;margin:0 0 26px;line-height:1.5}

.connect{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-bottom:22px}
.ip{display:flex;flex-direction:column;gap:3px;cursor:pointer;background:#0c0f18;border:2px dashed #33406a;
  border-radius:14px;padding:12px 20px;transition:border-color .15s,background .15s;font-family:inherit;text-align:left}
.ip:hover{border-color:var(--acc2)} .ip.copied{border-color:var(--good);background:#0e1a15}
.ip .ip-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mut2);font-weight:800}
.ip #ipaddr{font-size:1.7rem;font-weight:900;color:#fff}
.cta-row{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;font-size:1rem;
  padding:13px 22px;border-radius:13px;border:none;cursor:pointer;font-family:inherit;transition:transform .05s,box-shadow .1s,filter .1s}
.btn.gold{color:#2a1a02;background:linear-gradient(135deg,var(--gold),var(--gold2));box-shadow:0 5px 0 #c67f0a}
.btn.gold:active{transform:translateY(3px);box-shadow:0 2px 0 #c67f0a}
.btn.ghost{background:var(--card2);color:var(--txt);border:1px solid var(--line);box-shadow:0 5px 0 #0d1018}
.btn.big{padding:16px 32px;font-size:1.12rem}
.btn.disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:grayscale(.3)}

.hstats{display:flex;gap:26px}
.hstat b{display:block;font-size:1.4rem;font-weight:900;color:#fff;line-height:1}
.hstat span{font-size:.78rem;color:var(--mut2);font-weight:700;text-transform:uppercase;letter-spacing:.06em}

.hero-char{display:flex;justify-content:center;align-items:flex-end;position:relative}
.hero-char::after{content:"";position:absolute;bottom:0;width:180px;height:30px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(124,58,237,.5),transparent 70%);filter:blur(6px)}
.hero-char img{height:300px;filter:drop-shadow(0 18px 30px rgba(124,58,237,.4));animation:bob 4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(prefers-reduced-motion:reduce){.hero-char img{animation:none}}

/* sections */
.section{max-width:1080px;margin:0 auto;padding:52px 24px}
.section.narrow{max-width:900px}
.sect-head{text-align:center;margin-bottom:30px}
.eyebrow{display:inline-block;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;
  color:var(--acc2);background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);padding:4px 12px;border-radius:999px;margin-bottom:12px}
.sect-head h2{font-size:2rem;font-weight:900;margin:0 0 8px;letter-spacing:-.01em}
.muted{color:var(--mut)} .small{font-size:.88rem}
.note{text-align:center;margin-top:18px}

/* rank cards */
.ranks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.rank{position:relative;background:linear-gradient(180deg,var(--card),#10141f);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:26px 22px;display:flex;flex-direction:column;transition:transform .12s,border-color .12s,box-shadow .12s}
.rank:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,.45)}
.rank.pop{transform:scale(1.04)} .rank.pop:hover{transform:scale(1.04) translateY(-6px)}
.rank .rank-name{font-size:1.5rem;font-weight:900;letter-spacing:.02em}
.rank .rank-price{margin:6px 0 18px;display:flex;align-items:baseline;gap:6px}
.rank .rank-price b{font-size:2rem;font-weight:900;color:#fff} .rank .rank-price span{color:var(--mut2);font-weight:700}
.perks{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;flex:1}
.perks li{display:flex;gap:9px;align-items:flex-start;font-size:.92rem;color:#d6dcea;line-height:1.35}
.perks li::before{content:"✓";font-weight:900;color:var(--tier,var(--acc2));flex:0 0 auto}
.btn.buy{width:100%;color:#07120d;background:var(--tier,var(--acc2));box-shadow:0 5px 0 var(--tier-d,#0a8fab)}
.btn.buy:active{transform:translateY(3px);box-shadow:0 2px 0 var(--tier-d,#0a8fab)}
.pop-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;
  background:linear-gradient(135deg,var(--gold),var(--gold2));color:#2a1a02;font-weight:900;font-size:.74rem;
  padding:5px 14px;border-radius:999px;box-shadow:0 4px 14px rgba(245,179,1,.4)}
.c-emerald{--tier:var(--emerald);--tier-d:#1f8f5e} .c-emerald{border-color:rgba(47,208,138,.35)}
.c-cyan{--tier:var(--cyan);--tier-d:#1092ad} .c-cyan.pop{border-color:rgba(34,195,230,.55);box-shadow:0 0 0 1px rgba(34,195,230,.3),0 18px 44px rgba(0,0,0,.4)}
.c-purple{--tier:var(--purple);--tier-d:#7b2fc0} .c-purple{border-color:rgba(168,85,247,.35)}
.c-emerald .rank-name{color:var(--emerald)} .c-cyan .rank-name{color:var(--cyan)} .c-purple .rank-name{color:var(--purple)}

/* crates */
.crates{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.crate{background:linear-gradient(180deg,var(--card),#10141f);border:1px solid var(--line);border-radius:var(--r);
  padding:22px 16px;text-align:center;transition:transform .12s,border-color .12s}
.crate:hover{transform:translateY(-4px)}
.crate .crate-ic{font-size:2.6rem;margin-bottom:8px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}
.crate h3{margin:0 0 5px;font-size:1.02rem;font-weight:900}
.crate p{margin:0;color:var(--mut);font-size:.84rem;line-height:1.4}
.crate.c-cyan{border-color:rgba(34,195,230,.3)} .crate.c-purple{border-color:rgba(168,85,247,.3)}
.crate.c-gold{border-color:rgba(245,179,1,.3)} .crate.c-emerald{border-color:rgba(47,208,138,.3)}
.shop-cta{text-align:center}.shop-cta .muted{margin-top:12px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.step .num{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:900;color:#fff;
  background:linear-gradient(135deg,var(--acc),var(--acc2));margin-bottom:12px}
.step h3{margin:0 0 6px;font-size:1.05rem;font-weight:800}
.step p{margin:0;color:var(--mut);font-size:.92rem;line-height:1.5}

/* footer */
.foot{border-top:1px solid var(--line);margin-top:30px}
.foot-in{max-width:1080px;margin:0 auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;
  font-weight:700;color:var(--mut);font-size:.9rem;flex-wrap:wrap;gap:8px}
.foot-in a{color:var(--acc2)}

@media(max-width:860px){
  .hero{grid-template-columns:1fr;text-align:center;padding-top:48px}
  .hero .lead{margin-left:auto;margin-right:auto}
  .connect,.hstats{justify-content:center}
  .hero-char{display:none}
  .hero h1{font-size:2.6rem}
  .ranks{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .rank.pop{transform:none} .rank.pop:hover{transform:translateY(-6px)}
  .crates{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
}
