
:root{
  --bg: #0b1220;
  --card: #0f172a;
  --text: #e5e7eb;
  --muted: #94a3b8;
  --brand: #7c3aed;
  --brand-2: #22c55e;
  --border: #1f2a44;
}
@media (prefers-color-scheme: light){
  :root{
    --bg: #ffffff;
    --card: #f8fafc;
    --text: #0f172a;
    --muted: #475569;
    --border: #e2e8f0;
  }
}
*{box-sizing:border-box}
body{
  margin:0; font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  color:var(--text); background:var(--bg);
}
.container{ max-width:1000px; margin:0 auto; padding: 0 20px; }
.site-header{ position:sticky; top:0; backdrop-filter:saturate(180%) blur(10px); background:color-mix(in oklab, var(--bg), transparent 20%); border-bottom:1px solid var(--border); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:64px; }
.brand{ color:var(--text); font-weight:700; text-decoration:none; letter-spacing:0.3px }
.nav-links a{ color:var(--text); opacity:0.9; text-decoration:none; margin-left:18px; }
.nav-links a:hover{ opacity:1; text-decoration:underline; }
.site-footer{ border-top:1px solid var(--border); padding:24px 0; margin-top:48px; }
.hero{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:28px; align-items:center; padding:40px 0; }
.hero .title{ font-size: clamp(28px, 4vw, 44px); line-height:1.1; margin:0 0 12px; }
.hero .lead{ color:var(--muted); margin:0 0 18px; }
.cta{ display:flex; gap:12px; flex-wrap:wrap; }
.button{ display:inline-block; padding:12px 18px; border-radius:12px; border:1px solid var(--border); text-decoration:none; color:var(--text); background:var(--card); }
.button.primary{ background:linear-gradient(135deg, var(--brand), var(--brand-2)); border:none; color:white; }
.grid{ display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px; }
.card h3{ margin-top:0; margin-bottom:8px; font-size:18px }
.badge{ background:color-mix(in oklab, var(--brand) 20%, transparent); border:1px solid color-mix(in oklab, var(--brand) 60%, transparent); color:var(--text); border-radius:999px; padding:4px 10px; font-size:12px; }
.small{ font-size:13px; color:var(--muted); }
img{ max-width:100%; height:auto; border-radius:14px; border:1px solid var(--border); }
.section{ margin: 28px 0 8px; }
h2{ margin:28px 0 12px; font-size:24px }
h3{ font-size:18px }
ul{ padding-left:18px }
.skip-link{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{ position:static; width:auto; height:auto; padding:8px; background:var(--card); border:1px solid var(--border) }
.notice{ background: #0a3628; border:1px solid #2ea043; color:#c5f2d7; padding:12px 14px; border-radius:12px; }
.kbd{ font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9em; background: var(--card); border:1px solid var(--border); border-radius: 6px; padding:1px 6px; }
.table{ width:100%; border-collapse:collapse; }
.table th, .table td{ border-bottom:1px solid var(--border); padding:10px 6px; text-align:left; }
@media (max-width: 800px){
  .hero{ grid-template-columns:1fr; }
}
