/* ══ Variables ══ */
:root {
  --gold:      #F5C842;
  --gold-lt:   #FFE17A;
  --gold-dk:   #B8840F;
  --red:       #E8302A;
  --red-dk:    #9E1F1A;
  --purple-dk: #0E0726;
  --white:     #FFF8EC;
  --muted:     rgba(255,248,236,0.55);
  --faint:     rgba(255,248,236,0.28);
  --font-d:    'Noto Serif SC', serif;
  --font-b:    'Noto Sans SC', sans-serif;
  --r-card:    20px;
  --r-pill:    999px;
}

/* ══ Reset ══ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  background: #0E0726;
  font-family: var(--font-b);
  color: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body::before {
  content: '';
  position: fixed; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, #3D2880 0%, transparent 65%),
    radial-gradient(ellipse 40% 30% at 80% 80%, rgba(232,48,42,.12) 0%, transparent 60%),
    linear-gradient(180deg, #0E0726 0%, #160D3A 50%, #0A0520 100%);
}

/* ══ Stars ══ */
.stars { position: fixed; inset: 0; pointer-events: none; z-index: 0; }
.star-layer {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 8%  12%, rgba(255,255,200,.95) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 28% 38%, rgba(255,220,100,.8)  0%, transparent 100%),
    radial-gradient(1px 1px at 52% 22%, rgba(255,255,255,.85) 0%, transparent 100%),
    radial-gradient(2px 2px at 72% 58%, rgba(255,220,100,.7)  0%, transparent 100%),
    radial-gradient(1px 1px at 86% 8%,  rgba(255,255,255,.9)  0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 18% 78%, rgba(255,190,90,.75) 0%, transparent 100%),
    radial-gradient(1px 1px at 63% 88%, rgba(255,255,200,.8)  0%, transparent 100%),
    radial-gradient(1px 1px at 44% 65%, rgba(255,255,255,.65) 0%, transparent 100%),
    radial-gradient(1px 1px at 92% 45%, rgba(255,240,150,.7)  0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 5% 55%,rgba(255,255,180,.8) 0%, transparent 100%);
}
.l1 { animation: twk 5s ease-in-out infinite alternate; }
.l2 { animation: twk 7s ease-in-out infinite alternate-reverse; opacity: .65; }
.l3 { animation: twk2 9s ease-in-out infinite alternate; opacity: .45; }
@keyframes twk  { 0%{opacity:.4} 100%{opacity:1} }
@keyframes twk2 { 0%{opacity:.3;transform:scale(1)} 100%{opacity:.8;transform:scale(1.015)} }

/* ══ Orbs ══ */
.orbs { position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.orb  { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .18; animation: orbFloat 12s ease-in-out infinite; }
.orb-red    { width:420px; height:420px; background:var(--red);  top:-100px;  left:-100px; animation-delay:0s; }
.orb-gold   { width:360px; height:360px; background:var(--gold); bottom:-80px; right:-80px; animation-delay:4s; }
.orb-purple { width:300px; height:300px; background:#6A30D0;     top:50%;   left:60%;   animation-delay:8s; opacity:.12; }
@keyframes orbFloat { 0%,100%{transform:translate(0,0)} 50%{transform:translate(20px,-30px)} }

/* ══ Sparkles ══ */
.sparkles { position: fixed; inset: 0; pointer-events: none; z-index: 0; }
.sp { position:absolute; font-size:1.1rem; color:var(--gold); animation:spFloat linear infinite; opacity:0; }
.sp1{left:5%;  top:22%;font-size:.9rem; animation-duration:7s;  animation-delay:0s;  }
.sp2{left:14%; top:72%;font-size:.75rem;animation-duration:9s;  animation-delay:1.2s;}
.sp3{left:82%; top:14%;font-size:1.3rem;animation-duration:8s;  animation-delay:2s;  }
.sp4{left:91%; top:62%;font-size:.85rem;animation-duration:6.5s;animation-delay:.6s; }
.sp5{left:50%; top:82%;font-size:1rem;  animation-duration:10s; animation-delay:3.1s;color:#fff;}
.sp6{left:36%; top:8%; font-size:.7rem; animation-duration:7.5s;animation-delay:1.8s;}
.sp7{left:68%; top:42%;font-size:.95rem;animation-duration:8.5s;animation-delay:4.2s;color:#fff;}
.sp8{left:24%; top:52%;font-size:1.2rem;animation-duration:9.5s;animation-delay:2.8s;}
@keyframes spFloat {
  0%  {opacity:0; transform:translateY(0) scale(.4) rotate(0deg);}
  15% {opacity:.9;}
  85% {opacity:.7;}
  100%{opacity:0; transform:translateY(-90px) scale(1.3) rotate(25deg);}
}

/* ══ Page ══ */
.page {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center;
  padding: 0 1.25rem 4rem; gap: 4rem;
}

/* ══ Hero ══ */
.hero {
  display: flex; flex-direction: column; align-items: center;
  padding-top: 3.5rem; gap: 1.5rem; text-align: center;
}

/* Logo */
.logo-wrap { position: relative; display: flex; align-items: center; justify-content: center; margin-bottom: .5rem; }
.logo-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(245,200,66,.15); animation: ringPulse 3s ease-in-out infinite; }
.r1 { width:300px; height:300px; animation-delay:0s; }
.r2 { width:360px; height:360px; animation-delay:1s; opacity:.5; }
@keyframes ringPulse { 0%,100%{transform:scale(1);opacity:.4} 50%{transform:scale(1.06);opacity:.8} }

.logo-glow {
  position: absolute; width:280px; height:280px; border-radius:50%;
  background: radial-gradient(circle, rgba(245,200,66,.4) 0%, rgba(232,48,42,.2) 45%, transparent 70%);
  animation: glowPulse 3s ease-in-out infinite; pointer-events:none;
}
@keyframes glowPulse { 0%,100%{transform:scale(1);opacity:.7} 50%{transform:scale(1.15);opacity:1} }

.logo-img {
  width:220px; height:220px; object-fit:contain; position:relative; z-index:1;
  animation: logoFloat 4s ease-in-out infinite, fadeDown .9s ease both;
  filter: drop-shadow(0 0 28px rgba(245,200,66,.55)) drop-shadow(0 0 10px rgba(232,48,42,.45)) drop-shadow(0 8px 24px rgba(0,0,0,.5));
}
@keyframes logoFloat { 0%,100%{transform:translateY(0) rotate(-1.5deg)} 50%{transform:translateY(-15px) rotate(1.5deg)} }
@keyframes fadeDown  { from{opacity:0;transform:translateY(-28px)} to{opacity:1;transform:translateY(0)} }

/* Hero text */
.hero-text { display:flex; flex-direction:column; align-items:center; gap:.4rem; animation: fadeUp .8s .1s ease both; }

.title {
  font-family: var(--font-d);
  font-size: clamp(4.5rem, 18vw, 9rem);
  line-height: .9; letter-spacing: .08em; font-weight: 900;
}
.t-long {
  color: var(--red);
  text-shadow: 0 0 22px rgba(232,48,42,.9), 0 0 55px rgba(232,48,42,.45), 4px 4px 0 var(--red-dk);
}
.t-moon {
  color: var(--gold);
  text-shadow: 0 0 22px rgba(245,200,66,1), 0 0 60px rgba(245,200,66,.55), 4px 4px 0 var(--gold-dk);
}

.title-sub {
  font-family: var(--font-d); font-size: clamp(.9rem, 3vw, 1.4rem);
  font-weight: 700; letter-spacing: .35em; color: rgba(255,248,236,.35);
  text-transform: uppercase; margin-top: .2rem;
}

.tagline {
  font-size: clamp(.9rem, 2.5vw, 1.15rem); font-weight: 700;
  color: var(--muted); letter-spacing: .1em;
}

/* CA */
.ca-wrap { animation: fadeUp .8s .25s ease both; }
.ca-box {
  display: inline-flex; align-items: center; gap: .55rem; flex-wrap: wrap; justify-content: center;
  background: rgba(255,255,255,.04); border: 1px solid rgba(245,200,66,.25);
  border-radius: var(--r-pill); padding: .55rem .8rem .55rem 1.1rem;
  backdrop-filter: blur(16px); box-shadow: 0 0 20px rgba(245,200,66,.08);
}
.ca-label {
  font-size: .6rem; font-weight: 900; letter-spacing: .12em; color: var(--gold);
  background: rgba(245,200,66,.12); border: 1px solid rgba(245,200,66,.35);
  border-radius: var(--r-pill); padding: .18rem .6rem; white-space: nowrap;
}
.ca-addr  { font-family: monospace; font-size: .78rem; color: rgba(255,248,236,.8); letter-spacing: .05em; }
.ca-btn {
  display: inline-flex; align-items: center; gap: .3rem;
  background: rgba(245,200,66,.13); border: 1px solid rgba(245,200,66,.32);
  border-radius: var(--r-pill); color: var(--gold);
  font-family: var(--font-b); font-size: .68rem; font-weight: 800;
  padding: .28rem .7rem; cursor: pointer; transition: background .2s, transform .15s;
}
.ca-btn:hover { background: rgba(245,200,66,.28); transform: scale(1.06); }

/* Actions */
.actions { display:flex; flex-direction:column; align-items:center; gap:1rem; animation: fadeUp .8s .35s ease both; }

/* Buy button */
.btn-buy {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none; border-radius: var(--r-pill); padding: 1rem 3rem; overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 0 28px rgba(232,48,42,.5), 0 0 56px rgba(245,200,66,.25), 0 4px 32px rgba(0,0,0,.4);
  background: linear-gradient(135deg, #D42820 0%, #A82018 35%, #C9961A 100%);
}
.btn-shine {
  position: absolute; inset: 0; border-radius: var(--r-pill);
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.18) 50%, transparent 70%);
  animation: shine 3s ease-in-out infinite;
}
@keyframes shine { 0%,100%{transform:translateX(-100%)} 60%{transform:translateX(100%)} }
.btn-buy::after {
  content:''; position:absolute; inset:-2px; border-radius:var(--r-pill); z-index:-1;
  background: conic-gradient(from 0deg, var(--gold), var(--red), var(--gold-lt), var(--red), var(--gold));
  animation: spinBorder 4s linear infinite;
}
@keyframes spinBorder { to{transform:rotate(360deg)} }
.btn-inner {
  position: relative; z-index: 1; font-family: var(--font-d);
  font-size: clamp(.9rem, 2.5vw, 1.1rem); font-weight: 900;
  color: var(--white); letter-spacing: .12em; text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.btn-buy:hover { transform:translateY(-4px) scale(1.04); box-shadow:0 0 48px rgba(232,48,42,.7),0 0 80px rgba(245,200,66,.4); }
.btn-buy:active { transform:translateY(-1px) scale(.99); }

/* Socials */
.socials { display:flex; align-items:center; gap:.75rem; }
.soc {
  display:inline-flex; align-items:center; gap:.45rem; text-decoration:none;
  color:var(--muted); font-size:.82rem; font-weight:700; letter-spacing:.04em;
  padding:.5rem 1rem; border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.045);
  backdrop-filter:blur(10px); transition:all .22s;
}
.soc:hover { color:var(--gold); border-color:rgba(245,200,66,.45); background:rgba(245,200,66,.1); transform:translateY(-3px); box-shadow:0 0 18px rgba(245,200,66,.18); }

/* ══ Tokenomics ══ */
.tknx {
  width:100%; max-width:680px;
  display:flex; flex-direction:column; align-items:center; gap:1.6rem;
  animation: fadeUp .8s .45s ease both;
}

.section-label { display:flex; align-items:center; gap:.9rem; width:100%; }
.section-line  { flex:1; height:1px; background:linear-gradient(90deg,transparent,rgba(245,200,66,.3),transparent); }
.section-tag   {
  font-family: var(--font-d);
  font-size:.72rem; font-weight:900; letter-spacing:.15em; color:var(--gold); white-space:nowrap;
  background:rgba(245,200,66,.1); border:1px solid rgba(245,200,66,.3);
  border-radius:var(--r-pill); padding:.3rem 1rem;
}

.supply-pill {
  display:inline-flex; align-items:center; gap:.6rem;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-pill); padding:.55rem 1.3rem;
  font-size:.82rem; color:var(--muted); backdrop-filter:blur(10px);
}
.supply-icon { font-size:1rem; }
.supply-pill strong { color:var(--white); font-weight:900; }

/* Tax Banner */
.tax-banner {
  width:100%; display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; justify-content:center;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:22px; padding:1.4rem 1.8rem;
  backdrop-filter:blur(14px); box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  position:relative; overflow:hidden;
}
.tax-banner::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(232,48,42,.06) 0%,rgba(245,200,66,.06) 100%);
  pointer-events:none;
}

.tax-number {
  font-family:var(--font-d); font-size:3.8rem; line-height:1; font-weight:900;
  color:var(--white); text-shadow:0 0 28px rgba(245,200,66,.6),0 0 60px rgba(245,200,66,.3);
  position:relative; z-index:1;
}
.tax-pct { font-size:2rem; color:var(--gold); }

.tax-info { display:flex; flex-direction:column; gap:.2rem; position:relative; z-index:1; }
.tax-title { font-family:var(--font-d); font-size:1rem; font-weight:900; color:var(--white); }
.tax-sub   { font-size:.75rem; color:var(--muted); letter-spacing:.04em; }

.tax-divider { width:1px; height:48px; align-self:center; background:linear-gradient(180deg,transparent,rgba(255,255,255,.2),transparent); }

.tax-split { display:flex; align-items:center; gap:.8rem; position:relative; z-index:1; }
.tax-half  { display:flex; flex-direction:column; align-items:center; gap:.2rem; padding:.6rem .9rem; border-radius:14px; }
.tax-half.burn { background:rgba(232,48,42,.15); border:1px solid rgba(232,48,42,.3); }
.tax-half.mkt  { background:rgba(245,200,66,.12); border:1px solid rgba(245,200,66,.3); }
.th-icon  { font-size:1.3rem; line-height:1; }
.th-pct   { font-family:var(--font-d); font-size:1.1rem; font-weight:700; }
.burn .th-pct { color:#FF6B5E; text-shadow:0 0 10px rgba(232,48,42,.5); }
.mkt  .th-pct { color:var(--gold); text-shadow:0 0 10px rgba(245,200,66,.5); }
.th-label { font-family:var(--font-d); font-size:.65rem; font-weight:700; color:var(--muted); text-align:center; letter-spacing:.06em; }

.tax-arrow { color:rgba(255,255,255,.25); }

/* Launch box */
.launch-box {
  width:100%; border-radius:var(--r-card); padding:1.4rem 1.6rem;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(14px); display:flex; flex-direction:column; gap:.9rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}
.launch-top { display:flex; justify-content:center; }
.launch-badge {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.72rem; font-weight:800; letter-spacing:.06em;
  color:var(--gold-lt); background:rgba(245,200,66,.1);
  border:1px solid rgba(245,200,66,.28); border-radius:var(--r-pill); padding:.3rem 1rem;
}
.flap-link {
  color:var(--gold); font-weight:900; text-decoration:none;
  border-bottom:1px solid rgba(245,200,66,.45); transition:color .2s,border-color .2s;
}
.flap-link:hover { color:var(--gold-lt); border-color:var(--gold-lt); }

.launch-points { display:flex; flex-direction:column; gap:.5rem; }
.lp { display:flex; align-items:center; gap:.65rem; font-size:.8rem; color:var(--muted); font-weight:500; }
.lp-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; background:var(--gold); box-shadow:0 0 6px rgba(245,200,66,.6); }

/* Footer */
.footer { padding:0 1rem 1rem; text-align:center; }
.footer p { font-size:.68rem; color:var(--faint); line-height:1.8; max-width:400px; margin:0 auto; }

/* Shared */
@keyframes fadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }

/* Responsive */
@media (max-width:500px) {
  .logo-img { width:185px; height:185px; }
  .logo-glow { width:220px; height:220px; }
  .r1 { width:240px; height:240px; }
  .r2 { width:295px; height:295px; }
  .tax-banner { padding:1.1rem 1.2rem; gap:.8rem; }
  .tax-number { font-size:3rem; }
  .tax-divider { display:none; }
  .title { font-size: clamp(4rem, 22vw, 9rem); }
}