:root{
  --bg:#ffffff;
  --fg:#111111;
  --muted:#444;
  --card:#f5f5f7;
  --link:#0b57d0;
  --btn:#111;
  --btnfg:#fff;
  --border:#d6d6d6;
  --focus:#ffbf47;
  --radius:14px;
  --max:980px;
  --fs:18px;
  --lh:1.55;
}
[data-theme="dark"]{
  --bg:#0b0f14;
  --fg:#f3f6fb;
  --muted:#b7c0cc;
  --card:#121a23;
  --link:#7ab0ff;
  --btn:#f3f6fb;
  --btnfg:#0b0f14;
  --border:#2a3440;
  --focus:#ffd166;
}
[data-contrast="high"]{
  --bg:#000;
  --fg:#fff;
  --muted:#fff;
  --card:#000;
  --link:#00ffff;
  --btn:#fff;
  --btnfg:#000;
  --border:#fff;
  --focus:#ff0;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:var(--bg);
  color:var(--fg);
  font-size:var(--fs);
  line-height:var(--lh);
}
a{color:var(--link)}
a:focus, button:focus{outline: 3px solid var(--focus); outline-offset: 3px}
.skip{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip:focus{
  left:16px; top:16px; width:auto; height:auto;
  background:var(--focus); color:#000; padding:10px 12px; border-radius:10px; z-index:9999;
}
header{
  border-bottom:1px solid var(--border);
  background:var(--bg);
  position:sticky; top:0; z-index:10;
}
.wrap{max-width:var(--max); margin:0 auto; padding:16px}
.brand{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.brand h1{font-size:1.25rem; margin:0}
.tag{color:var(--muted); font-size:0.95rem}
.controls{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.control-btn{
  border:1px solid var(--border);
  background:var(--card);
  color:var(--fg);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
}
.primary{
  background:var(--btn);
  color:var(--btnfg);
  border-color:transparent;
}
nav{
  margin-top:10px;
  display:flex; gap:10px; flex-wrap:wrap;
}
nav a{
  text-decoration:none;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--fg);
  padding:10px 12px;
  border-radius:12px;
}
nav a[aria-current="page"]{background:var(--btn); color:var(--btnfg); border-color:transparent}
main .hero{
  margin-top:18px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:14px;
  margin-top:14px;
}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
}
.card h2{margin:0 0 8px 0; font-size:1.1rem}
.card p{margin:0 0 10px 0; color:var(--muted)}
.card ul{margin:8px 0 0 18px}
.card li{margin:6px 0}
.footer{
  border-top:1px solid var(--border);
  margin-top:22px;
  padding-top:14px;
  color:var(--muted);
  font-size:0.95rem;
}
kbd{
  border:1px solid var(--border);
  padding:2px 6px; border-radius:8px;
  background:var(--bg);
}
.small{font-size:0.95rem; color:var(--muted)}
