:root { color-scheme: light dark; --bg:#0b1220; --fg:#e7edf5; --mut:#93a3b8; --acc:#5eead4; --card:#152133; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background:var(--bg); color:var(--fg); }
.top { display:flex; align-items:center; gap:1.5rem; padding:.9rem 1.25rem; background:#0a0f1a; border-bottom:1px solid #1e293b; flex-wrap:wrap; }
.brand { font-weight:700; color:var(--acc); text-decoration:none; font-size:1.15rem; }
.top nav { display:flex; gap:1rem; flex-wrap:wrap; }
.top nav a { color:var(--fg); text-decoration:none; opacity:.85; }
.top nav a:hover { opacity:1; color:var(--acc); }
.wrap { max-width:980px; margin:0 auto; padding:1.5rem 1.25rem; }
h1 { font-size:1.6rem; } h2 { font-size:1.2rem; } h3 { font-size:1.05rem; margin:.3rem 0; }
.muted { color:var(--mut); }
.error { color:#f87171; }
.term { color:var(--acc); }
code { background:#0a0f1a; padding:.1rem .35rem; border-radius:4px; }
article { background:var(--card); border:1px solid #334155; border-radius:8px; padding:1rem; margin:.75rem 0; }
.bio, .message, .notice { margin-top:.5rem; }
table.listings, table.listings th, table.listings td { border-collapse:collapse; }
table.listings { width:100%; margin-top:1rem; }
table.listings th, table.listings td { text-align:left; padding:.5rem .6rem; border-bottom:1px solid #334155; }
label { display:block; margin:.6rem 0; }
input, button { font:inherit; padding:.5rem .6rem; border-radius:6px; border:1px solid #334155; background:#0a0f1a; color:var(--fg); }
button { background:var(--acc); color:#06231f; border:none; font-weight:600; cursor:pointer; }
.foot { max-width:980px; margin:2rem auto 1rem; padding:0 1.25rem; }
