:root{
  --bg: #07070a;
  --bg-2: #0b0b10;
  --panel: #0f0f14;
  --card: #121219;
  --text: #e8e8f0;
  --muted: #a6a6b2;
  --border: rgba(255,255,255,0.08);
  --accent1: #a78bfa; /* purple-400 */
  --accent2: #818cf8; /* indigo-400 */
  --ok: #34d399;     /* emerald-400 */
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at -10% -10%, rgba(139,92,246,.18), transparent 60%),
    radial-gradient(1200px 600px at 110% 110%, rgba(99,102,241,.18), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
  overflow-x:hidden;
}

/* Auras */
.bg-aura{
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  filter: blur(70px); opacity:.25;
}
.aura-1{
  background: radial-gradient(400px 300px at 10% 0%, rgba(168,85,247,.4), transparent 70%);
}
.aura-2{
  background: radial-gradient(400px 300px at 90% 100%, rgba(99,102,241,.35), transparent 70%);
}

/* Containers */
.container{max-width:1120px; margin-inline:auto; padding-inline:16px;}
.section{padding:80px 0;}
.section__head{display:flex; align-items:end; justify-content:space-between; gap:16px}
.center{text-align:center}

/* Typography */
h1{margin:0; font-size: clamp(32px, 6vw, 56px); line-height:1.05; letter-spacing:-.02em}
h2{margin:0 0 8px; font-size: clamp(24px, 3.5vw, 36px)}
h3{margin:0 0 6px; font-size:20px}
.lead{color:var(--muted); font-size: clamp(16px, 2.2vw, 20px)}
.muted{color:var(--muted)}
.gradient-text{
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Navbar */
.nav{
  position:sticky; top:0; backdrop-filter: blur(10px);
  background: rgba(0,0,0,.3); border-bottom:1px solid var(--border); z-index:50;
}
.nav__inner{display:flex; align-items:center; justify-content:space-between; padding:12px 16px}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); font-weight:600}
.brand--sm .icon{height:18px; width:18px}
.brand__logo{
  height:32px; width:32px; display:grid; place-items:center; border-radius:10px;
  background: linear-gradient(135deg, #a855f7, #6366f1); box-shadow: 0 8px 22px rgba(124,58,237,.25);
}
.brand__logo .icon{height:18px; width:18px; fill:#fff}
.brand__name{letter-spacing:.3px}
.nav__links{display:flex; gap:22px}
.nav__links a{color:var(--muted); text-decoration:none; font-size:14px}
.nav__links a:hover{color:#fff}
.hide-sm{display:none}
@media (min-width: 768px){ .hide-sm{display:inline-flex} }

.nav__cta{display:flex; align-items:center; gap:10px}

/* Mobile menu button */
.nav__toggle{display:inline-flex; flex-direction:column; gap:4px; background:none; border:0; padding:8px; cursor:pointer}
.nav__toggle span{display:block; width:20px; height:2px; background:#fff; border-radius:2px}
@media (min-width: 900px){
  .nav__toggle{display:none}
}
@media (max-width: 899px){
  #navLinks{
    position:absolute; left:0; right:0; top:58px; display:none; flex-direction:column; gap:10px;
    background: rgba(0,0,0,.65); padding:14px 16px; border-bottom:1px solid var(--border);
  }
  #navLinks.show{display:flex}
}

/* Switch (theme toggle) */
.switch{position:relative; width:44px; height:24px; display:inline-block}
.switch input{display:none}
.slider{position:absolute; inset:0; background:#222; border-radius:999px; border:1px solid var(--border)}
.slider:before{
  content:""; position:absolute; left:2px; top:2px; width:18px; height:18px; background:#fff; border-radius:999px; transition: transform .25s;
}
.switch input:checked + .slider:before{ transform: translateX(20px); }

/* Buttons */
.btn{
  --btn-bg: linear-gradient(90deg, var(--accent1), var(--accent2));
  --btn-color:#0a0a0f;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:12px; text-decoration:none; font-weight:600;
  background: var(--btn-bg); color: var(--btn-color); border:1px solid transparent; box-shadow: var(--shadow);
}
.btn svg{height:18px; width:18px; stroke:currentColor; fill:none}
.btn--secondary{
  background: rgba(255,255,255,.06); color:#fff; border-color: var(--border);
  box-shadow:none;
}
.btn--lg{padding:14px 18px; font-size:16px; border-radius:14px}
.btn--sm{padding:8px 10px; font-size:13px}
.btn--block{display:block; width:100%; text-align:center}

/* Hero */
.hero{padding:80px 0 40px}
.hero__grid{display:grid; grid-template-columns:1fr; gap:28px}
.hero__copy .chip{
  text-transform:uppercase; letter-spacing:.2em; font-size:11px; color:#d1d1dc; display:inline-flex; align-items:center; gap:8px;
}
.dot{width:6px; height:6px; border-radius:999px; background:var(--ok); display:inline-block}
.hero__actions{margin-top:24px; display:flex; gap:12px; flex-wrap:wrap}
.hero__badges{margin-top:14px; display:flex; gap:16px; flex-wrap:wrap; color:#d1d1dc}
.badge{display:inline-flex; align-items:center; gap:8px; font-size:13px}
.inline-icon svg{height:18px; width:18px; stroke:#0a0a0f}
.icon{height:22px; width:22px; fill:currentColor}
.icon-sm{height:18px; width:18px; fill:currentColor}
@media (min-width: 980px){
  .hero__grid{grid-template-columns: 1.1fr .9fr; align-items:center}
}

/* Panel (node preview) */
.hero__panel{display:grid; place-items:center}
.panel{
  width:100%; background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--border); border-radius:18px; padding:16px; box-shadow: var(--shadow);
}
.panel__header{display:flex; align-items:center; gap:8px; font-size:13px; color:#c9c9d6}
.panel__grid{display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-top:12px}
@media (max-width:520px){ .panel__grid{grid-template-columns: repeat(2,1fr)} }
.node{
  background: rgba(0,0,0,.35); border:1px solid var(--border); border-radius:14px; padding:12px;
}
.node__id{font-weight:600; font-size:14px}
.node__spec{font-size:12px; color:#c9c9d6}
.progress{margin-top:8px; height:8px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden}
.progress>span{display:block; height:100%; background:linear-gradient(90deg, #34d399, #60a5fa); width:40%}
.node__label{margin-top:6px; color:#a9a9b8; font-size:11px}
.panel__footer{margin-top:8px; font-size:12px; color:#a9a9b8}

/* Feature cards */
.cards-3{display:grid; grid-template-columns:1fr; gap:16px}
.card{
  background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:18px; padding:20px;
}
.card__icon{height:40px; width:40px; display:grid; place-items:center; border-radius:12px; background: rgba(255,255,255,.06); color:#c9b4ff}

/* Game grid */
.grid-5{display:grid; grid-template-columns: repeat(2,1fr); gap:14px}
.gcard{
  background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:16px; padding:14px;
  display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;
}
.gcard__icon{height:48px; width:48px; display:grid; place-items:center; border-radius:14px; background: rgba(255,255,255,.06)}
.gcard__name{font-weight:600; font-size:14px}
.gcard__btn{margin-top:6px; width:100%}
@media (min-width: 680px){ .grid-5{grid-template-columns: repeat(3,1fr)} }
@media (min-width: 980px){ .grid-5{grid-template-columns: repeat(5,1fr)} }

/* Pricing */
.pcard{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--border); border-radius:18px; padding:20px; position:relative;
}
.pcard--featured{background: linear-gradient(180deg, rgba(124,58,237,.18), rgba(24,24,32,.5))}
.pcard__badge{
  position:absolute; top:12px; right:12px; font-size:12px; color:#e5d9ff; background:rgba(124,58,237,.3);
  padding:4px 8px; border-radius:999px; border:1px solid rgba(255,255,255,.15)
}
.pcard__head{display:flex; align-items:baseline; justify-content:space-between}
.price{display:flex; align-items:end; gap:4px}
.price__num{font-size:28px; font-weight:800}
.price__per{color:var(--muted); font-size:14px}
.pcard__list{margin:12px 0 16px; padding-left:18px}
.pcard__list li{margin:6px 0}

/* CTA */
.cta{
  text-align:center; border:1px solid var(--border); border-radius:18px; padding:28px;
  background: linear-gradient(90deg, rgba(168,85,247,.08), rgba(99,102,241,.08));
}
.cta__actions{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; justify-content:center}

/* FAQ */
.faq{max-width:760px}
.faq details{
  background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:14px; padding:12px 14px; margin:10px 0;
}
.faq summary{cursor:pointer; font-weight:600}
.faq p{color:var(--muted)}

/* Footer */
.footer{border-top:1px solid var(--border); padding:40px 0 20px}
.footer__grid{display:grid; grid-template-columns:1fr; gap:18px}
.fhead{color:#fff; font-weight:600; margin-bottom:8px}
.flist{list-style:none; padding:0; margin:0}
.flist li{margin:6px 0}
.flist a{color:var(--muted); text-decoration:none}
.flist a:hover{color:#fff}
.footer__end{display:flex; justify-content:space-between; gap:12px; color:#a9a9b8; font-size:13px; padding-top:18px}
@media (min-width: 800px){
  .footer__grid{grid-template-columns: 2fr 1fr 1fr 1fr}
}

/* Light theme support */
body.theme-light{
  --bg:#f7f7fb;
  --bg-2:#ffffff;
  --panel:#ffffff;
  --card:#ffffff;
  --text:#16161a;
  --muted:#52525b;
  --border: rgba(0,0,0,.08);
  --shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Billing cycle toggle */
.billing-toggle {
  display: inline-flex;
  gap: 8px;
  margin-bottom: 14px;
}

.billing-toggle button {
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.06);
  color: var(--muted);
  cursor: pointer;
  transition: all 0.2s;
}

.billing-toggle button.active {
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  color: #0a0a0f;
  border-color: transparent;
  box-shadow: var(--shadow);
}

