*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#000;--s1:#0a0a0f;--s2:#111118;--s3:#1a1a24;
  --brd:rgba(255,255,255,0.06);--brd2:rgba(255,255,255,0.12);
  --tx:#e4e4e7;--txd:#71717a;--txdd:#52525b;
  --acc:#38bdf8;--accd:rgba(56,189,248,0.12);
  --grn:#22c55e;--grnd:rgba(34,197,94,0.12);
  --prp:#a78bfa;--prpd:rgba(167,139,250,0.12);
  --red:#ef4444;--org:#f97316;--amb:#b45309;
  --mono:'JetBrains Mono',monospace;
}
/* Light mode */
[data-theme="light"]{
  --bg:#ffffff;--s1:#f4f4f5;--s2:#e4e4e7;--s3:#d4d4d8;
  --brd:rgba(0,0,0,0.08);--brd2:rgba(0,0,0,0.15);
  --tx:#18181b;--txd:#52525b;--txdd:#71717a;
  --acc:#0369a1;--accd:rgba(3,105,161,0.1);
  --grn:#15803d;--grnd:rgba(21,128,61,0.1);
  --prp:#7c3aed;--prpd:rgba(124,58,237,0.1);
  --red:#dc2626;--org:#ea580c;--amb:#92400e;
}
[data-theme="light"] nav{background:rgba(255,255,255,0.92)}
[data-theme="light"] .bench-b{background:linear-gradient(90deg,var(--acc),var(--prp))}
[data-theme="light"] .btn-p{color:#fff}
[data-theme="light"] .btn-g{color:var(--tx)}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Space Grotesk',system-ui,sans-serif;background:var(--bg);color:var(--tx);line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}

/* Nav */
nav{position:sticky;top:0;z-index:100;background:rgba(0,0,0,0.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--brd);padding:0.7rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem}
nav .brand{font-size:0.95rem;font-weight:600;letter-spacing:0.04em;color:var(--acc);text-decoration:none}
nav .brand span{color:var(--txd);font-weight:300}
nav .links{display:flex;gap:1rem;font-size:0.72rem;flex-wrap:wrap}
nav .links a{color:var(--txd);text-decoration:none;transition:color 0.2s}
nav .links a:hover,nav .links a.active{color:var(--tx)}
.ver{font-family:var(--mono);font-size:0.62rem;color:var(--acc);background:var(--accd);padding:0.1rem 0.4rem;border-radius:3px}

.wrap{max-width:1100px;margin:0 auto;padding:0 2rem}

/* Hero */
.hero{padding:4rem 0 2.5rem;text-align:center}
.hero h1{font-size:2.4rem;font-weight:700;letter-spacing:-0.02em;line-height:1.15}
.hero h1 .hl{color:var(--acc)}
.hero .sub{margin-top:0.8rem;font-size:1rem;font-weight:300;color:var(--txd);max-width:720px;margin-left:auto;margin-right:auto}

/* Page header (non-hero pages) */
.page-header{padding:2.5rem 0 1.5rem}
.page-header h1{font-size:1.8rem;font-weight:700;letter-spacing:-0.01em}
.page-header .sub{margin-top:0.4rem;font-size:0.9rem;color:var(--txd)}

/* Buttons */
.actions{margin-top:1.2rem;display:flex;gap:0.7rem;justify-content:center;flex-wrap:wrap}
.actions.left{justify-content:flex-start}
.btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.5rem 1.1rem;border-radius:6px;font-size:0.8rem;font-weight:500;text-decoration:none;transition:all 0.2s;border:none;cursor:pointer}
.btn-p{background:var(--acc);color:#000}.btn-p:hover{filter:brightness(1.15);text-decoration:none}
.btn-g{border:1px solid var(--brd2);color:var(--tx);background:transparent}.btn-g:hover{background:var(--s2);text-decoration:none}
.btn-f{background:var(--amb);color:#fff}.btn-f:hover{filter:brightness(1.15);text-decoration:none}
.btn-e{background:#1a237e;color:#fff}.btn-e:hover{filter:brightness(1.3);text-decoration:none}
.btn-r{background:var(--red);color:#fff}.btn-r:hover{filter:brightness(1.15);text-decoration:none}

/* Badges */
.badge{display:inline-block;font-size:0.58rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:0.12rem 0.45rem;border-radius:3px;vertical-align:middle}
.badge-dev{background:var(--prpd);color:var(--prp)}
.badge-prod{background:var(--grnd);color:var(--grn)}
.badge-stable{background:var(--accd);color:var(--acc)}
.badge-exp{background:rgba(249,115,22,0.12);color:var(--org)}
.badge-new{background:rgba(239,68,68,0.12);color:var(--red)}

/* Stats grid */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:1px;background:var(--brd);border:1px solid var(--brd);border-radius:10px;overflow:hidden;margin:2rem 0}
.stat{background:var(--s1);padding:0.9rem 0.7rem;text-align:center}
.stat-v{font-family:var(--mono);font-size:1.3rem;font-weight:700;color:var(--acc)}
.stat-l{font-size:0.6rem;color:var(--txd);letter-spacing:0.05em;text-transform:uppercase;margin-top:0.1rem}

/* Section */
.sec{padding:2rem 0}
.sec-t{font-size:0.62rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--txd);margin-bottom:1rem}

/* Card grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1px;background:var(--brd);border:1px solid var(--brd);border-radius:10px;overflow:hidden}
.card{background:var(--s1);padding:1rem 1.2rem;display:flex;flex-direction:column;gap:0.25rem}
.card-h{display:flex;justify-content:space-between;align-items:center}
.card-n{font-weight:500;font-size:0.88rem}
.card-c{font-family:var(--mono);font-size:0.68rem;color:var(--acc);background:var(--accd);padding:0.08rem 0.3rem;border-radius:3px}
.card-d{font-size:0.73rem;color:var(--txd);line-height:1.5}

/* Benchmark bars */
.bench-row{display:grid;grid-template-columns:100px 1fr 70px;align-items:center;gap:0.8rem;margin-bottom:0.5rem}
.bench-l{font-size:0.76rem;color:var(--txd);text-align:right}
.bench-bw{height:22px;background:var(--s2);border-radius:4px;overflow:hidden}
.bench-b{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--acc),var(--prp))}
.bench-v{font-family:var(--mono);font-size:0.76rem;font-weight:500;color:var(--acc)}

/* Tables */
.cmp-w{overflow-x:auto;border:1px solid var(--brd);border-radius:10px}
table{width:100%;border-collapse:collapse;font-size:0.73rem}
th{background:var(--s2);padding:0.55rem 0.7rem;text-align:left;font-weight:500;font-size:0.62rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--txd)}
td{padding:0.45rem 0.7rem;border-top:1px solid var(--brd)}
tr:hover td{background:var(--s1)}
.y{color:var(--grn)}.n{color:var(--txdd)}.hlc{color:var(--acc);font-weight:500;font-family:var(--mono)}

/* Timeline */
.tl{border-left:2px solid var(--brd);margin-left:0.8rem;padding-left:1.2rem;display:flex;flex-direction:column}
.tl-i{position:relative;padding:0.6rem 0}
.tl-i::before{content:'';position:absolute;left:-1.45rem;top:0.9rem;width:8px;height:8px;border-radius:50%;background:var(--acc);border:2px solid var(--bg)}
.tl-d{font-family:var(--mono);font-size:0.63rem;color:var(--acc)}
.tl-t{font-weight:500;font-size:0.85rem;margin-top:0.1rem}
.tl-desc{font-size:0.73rem;color:var(--txd);margin-top:0.05rem}

/* Code block */
.code{background:var(--s1);border:1px solid var(--brd);border-radius:10px;padding:1rem 1.3rem;font-family:var(--mono);font-size:0.78rem;overflow-x:auto;line-height:1.7}
.code .cm{color:var(--txd)}.code .cmd{color:var(--grn)}

/* Feature list */
.feat{display:flex;gap:0.6rem;align-items:flex-start;padding:0.6rem 1rem;background:var(--s1);border:1px solid var(--brd);border-radius:8px;margin-bottom:0.4rem}
.feat-dot{color:var(--acc);font-size:0.9rem;margin-top:0.12rem;flex-shrink:0}
.feat-tx{font-size:0.78rem;line-height:1.5}

/* Pricing */
.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}
.p-card{border:2px solid var(--brd2);border-radius:12px;padding:1.4rem;text-align:center;transition:transform 0.2s}
.p-card:hover{transform:translateY(-2px)}
.p-card.feat-card{border-color:var(--amb)}
.p-price{font-family:var(--mono);font-size:1.8rem;font-weight:700;color:var(--acc);margin:0.4rem 0 0.15rem}
.p-was{text-decoration:line-through;color:var(--txdd);font-size:0.85rem}
.p-per{font-size:0.73rem;color:var(--txd)}
.p-save{color:var(--amb);font-weight:600;font-size:0.73rem;margin-bottom:0.7rem}
.p-list{text-align:left;list-style:none;padding:0;margin:0.8rem 0;font-size:0.73rem}
.p-list li{padding:0.25rem 0;border-bottom:1px solid var(--brd)}
.p-list li::before{content:"\2713 ";color:var(--grn);font-weight:700}

/* Image wrap */
.img-wrap{border:1px solid var(--brd);border-radius:10px;overflow:hidden;margin:1rem 0}

/* Panel */
.panel{background:var(--s1);border:1px solid var(--brd);border-radius:10px;padding:1.3rem}
.panel h3{font-size:0.95rem;font-weight:600;margin-bottom:0.4rem}
.panel p{font-size:0.76rem;color:var(--txd);line-height:1.6}

/* Pill tags */
.pill{display:inline-block;font-size:0.65rem;padding:0.1rem 0.45rem;border-radius:4px;margin:0.15rem}
.pill-acc{background:var(--accd);color:var(--acc)}
.pill-prp{background:var(--prpd);color:var(--prp)}
.pill-grn{background:var(--grnd);color:var(--grn)}

/* Footer */
footer{border-top:1px solid var(--brd);margin-top:2.5rem;padding:1.5rem 0;text-align:center;font-size:0.68rem;color:var(--txd);letter-spacing:0.03em;line-height:1.9}
footer a{color:var(--txd);text-decoration:none}footer a:hover{color:var(--tx)}
.lang-flag{opacity:0.5;transition:opacity 0.2s;display:flex}.lang-flag:hover,.lang-flag.active{opacity:1}

/* Mobile hamburger */
.mobile-toggle{display:none;background:none;border:1px solid var(--brd2);border-radius:4px;padding:0.3rem 0.5rem;cursor:pointer;color:var(--txd);font-size:1rem;line-height:1}

@media(max-width:768px){
  .hero h1{font-size:1.6rem}
  .page-header h1{font-size:1.3rem}
  .bench-row{grid-template-columns:70px 1fr 50px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .pricing{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .mobile-toggle{display:inline-flex}
  nav{flex-wrap:wrap}
  nav .links{display:none;width:100%;flex-direction:column;gap:0.3rem;padding-top:0.8rem;border-top:1px solid var(--brd)}
  nav .links.open{display:flex}
  nav .links a{padding:0.4rem 0}
}
