:root { --bg:#0b0f17; --card:#131a26; --text:#e6ebf2; --muted:#8a97ab; --accent:#4cc2ff; --border:#223048; }
@media (prefers-color-scheme: light) {
  :root { --bg:#f5f7fa; --card:#fff; --text:#16202e; --muted:#5b6778; --accent:#0a6fb8; --border:#dbe2ec; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif; }
header, main, footer { max-width:960px; margin:0 auto; padding:0 16px; }
header { padding-top:48px; padding-bottom:16px; }
h1 { margin:0; font-size:2.2rem; letter-spacing:-.02em; }
h1 span { color:var(--accent); }
header p { color:var(--muted); margin:.25rem 0 0; }
main { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; padding-top:16px; padding-bottom:32px; }
section { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:16px; align-self:start; }
h2 { margin:0 0 8px; font-size:1.05rem; text-transform:uppercase; letter-spacing:.06em; }
h2 a { color:var(--accent); text-decoration:none; }
ul { list-style:none; margin:0; padding:0; }
li a { display:block; padding:8px 10px; margin:0 -10px; border-radius:8px; color:var(--text); text-decoration:none; }
li a:hover, li a:focus-visible { background:rgba(76,194,255,.12); }
.name { display:block; font-weight:600; }
.desc { display:block; color:var(--muted); font-size:.875rem; }
.empty { color:var(--muted); grid-column:1/-1; }
footer { color:var(--muted); font-size:.8rem; padding-bottom:32px; }
footer p { margin:0 0 6px; }
footer a { color:var(--accent); }
