:root {
  --bg: #09111f;
  --panel: rgba(13, 22, 40, 0.92);
  --soft: #0f1b2d;
  --text: #e7edf7;
  --muted: #9cb0cb;
  --accent: #4cc9f0;
  --success: #1ec78a;
  --warning: #f5b700;
  --danger: #ff5d73;
  --border: rgba(129, 160, 214, 0.18);
  --shadow: 0 16px 40px rgba(0,0,0,.25);
}
html[data-theme='light'] {
  --bg: #f4f7fb;
  --panel: rgba(255,255,255,.94);
  --soft: #ffffff;
  --text: #0c1423;
  --muted: #52637c;
  --accent: #0f6fff;
  --success: #0e9f6e;
  --warning: #b7791f;
  --danger: #d6455d;
  --border: rgba(15, 23, 42, 0.08);
  --shadow: 0 16px 30px rgba(15, 23, 42, .08);
}
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, Arial, sans-serif; background: radial-gradient(circle at top, rgba(76,201,240,.12), transparent 20%), var(--bg); color:var(--text); }
a { color: inherit; text-decoration:none; }
.container { width:min(1180px, calc(100% - 2rem)); margin: 0 auto; }
.row { display:flex; gap:1rem; }
.between { justify-content:space-between; }
.center { align-items:center; }
.topbar { position:sticky; top:0; z-index:10; backdrop-filter: blur(18px); background: rgba(9,17,31,.65); border-bottom:1px solid var(--border); }
html[data-theme='light'] .topbar { background: rgba(255,255,255,.75); }
.brand { font-weight:800; letter-spacing:.12em; font-size:1.1rem; }
.nav { flex-wrap:wrap; padding:1rem 0; }
.nav a, .theme-toggle { padding:.7rem .9rem; border-radius:12px; color:var(--muted); }
.nav a:hover, .theme-toggle:hover { background:var(--soft); color:var(--text); }
.theme-toggle { border:1px solid var(--border); background:transparent; cursor:pointer; }
.main-content { padding:2rem 0 4rem; }
.hero, .card, .stat, .alert, .table-wrap, .feature, .panel { background:var(--panel); border:1px solid var(--border); box-shadow: var(--shadow); border-radius:20px; }
.hero { padding:3rem; display:grid; grid-template-columns:1.25fr .85fr; gap:2rem; }
.hero h1 { font-size:clamp(2rem,5vw,4rem); margin:.2rem 0 1rem; }
.hero p { color:var(--muted); font-size:1.05rem; line-height:1.65; }
.grid { display:grid; gap:1.25rem; }
.grid-3 { grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
.grid-2 { grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); }
.feature, .card, .panel, .stat { padding:1.25rem; }
.kicker, .eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.16em; font-size:.8rem; font-weight:700; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.9rem 1.15rem; border-radius:14px; background:linear-gradient(135deg, var(--accent), #7d67ff); color:white; border:none; cursor:pointer; font-weight:700; }
.btn-secondary { background:transparent; color:var(--text); border:1px solid var(--border); }
.btn-sm { padding:.65rem .95rem; }
form { display:grid; gap:1rem; }
label { display:grid; gap:.45rem; font-size:.95rem; color:var(--muted); }
input, select, textarea { width:100%; padding:.9rem 1rem; border-radius:14px; border:1px solid var(--border); background:var(--soft); color:var(--text); }
textarea { min-height:140px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse: collapse; }
th, td { padding:.95rem; text-align:left; border-bottom:1px solid var(--border); vertical-align: top; }
th { color:var(--muted); font-size:.86rem; }
.alert { padding:1rem 1.1rem; margin-bottom:1rem; }
.alert-success { border-left:4px solid var(--success); }
.alert-error { border-left:4px solid var(--danger); }
.alert-warning { border-left:4px solid var(--warning); }
.stat strong { font-size:1.8rem; display:block; margin-top:.35rem; }
.badge { display:inline-flex; padding:.35rem .65rem; border-radius:999px; font-size:.82rem; background:rgba(76,201,240,.15); color:var(--accent); }
.progress { height:10px; background:rgba(255,255,255,.08); border-radius:999px; overflow:hidden; }
.progress > span { display:block; height:100%; background:linear-gradient(90deg, var(--accent), #7d67ff); }
.footer { padding:1rem 0 2.5rem; color:var(--muted); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.two-col { display:grid; grid-template-columns: 260px 1fr; gap:1.25rem; }
.sidebar { padding:1rem; position:sticky; top:6rem; height:fit-content; }
.sidebar a { display:block; padding:.85rem .9rem; border-radius:12px; color:var(--muted); }
.sidebar a:hover, .sidebar a.active { background:var(--soft); color:var(--text); }
.list { display:grid; gap:.8rem; padding:0; list-style:none; }
.list li { padding:1rem; background:rgba(255,255,255,.02); border:1px solid var(--border); border-radius:14px; }
.code { white-space:pre-wrap; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85rem; }
@media (max-width: 900px) {
  .hero, .two-col { grid-template-columns:1fr; }
  .sidebar { position:relative; top:0; }
}
