:root { --fg:#111; --muted:#666; --bg:#fafaf7; --card:#fff; --accent:#2f5fad; --ok:#1e7a3a; --err:#b3261e; --border:#e5e3dc; }
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: -apple-system, system-ui, sans-serif; color:var(--fg); background:var(--bg); }
header { display:flex; align-items:center; justify-content:space-between; padding:1rem 2rem; border-bottom:1px solid var(--border); background:#fff; }
header .brand { font-weight:600; text-decoration:none; color:var(--fg); }
header nav a { margin-left:1rem; color:var(--accent); text-decoration:none; }
main { max-width: 720px; margin: 2rem auto; padding: 0 1rem; }
h1 { margin-top:0; }
fieldset { border:1px solid var(--border); border-radius:8px; padding:1rem 1.25rem; margin-bottom:1.5rem; background:var(--card); }
legend { padding: 0 0.5rem; font-weight:600; }
label { display:block; margin-bottom:0.9rem; }
input { display:block; width:100%; margin-top:0.25rem; padding:0.55rem 0.7rem; border:1px solid var(--border); border-radius:6px; font-size:1rem; background:#fff; }
button.primary, .button.primary { background:var(--accent); color:#fff; border:none; padding:0.7rem 1.1rem; border-radius:6px; font-size:1rem; cursor:pointer; text-decoration:none; display:inline-block; }
.button { display:inline-block; background:#fff; color:var(--accent); border:1px solid var(--accent); padding:0.6rem 1rem; border-radius:6px; text-decoration:none; margin-right:0.5rem; }
.muted { color:var(--muted); font-size:0.9rem; }
.err { color:var(--err); font-size:0.85rem; }
.flash { padding:0.75rem 1rem; border-radius:6px; margin:1rem 0; }
.flash.error { background:#fdecea; color:var(--err); border:1px solid #f5c2c0; }
.flash.ok { background:#e7f5eb; color:var(--ok); border:1px solid #b8e0c1; }
.pill { display:inline-block; margin-top:0.25rem; padding:0.2rem 0.55rem; border-radius:999px; font-size:0.85rem; }
.pill.ok { background:#e7f5eb; color:var(--ok); border:1px solid #b8e0c1; }
.pill.err { background:#fdecea; color:var(--err); border:1px solid #f5c2c0; }
dl.summary dt { font-weight:600; margin-top:0.75rem; }
dl.summary dd { margin:0.1rem 0 0.5rem 0; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:0.95em; background:#f1efe8; padding:0.05rem 0.35rem; border-radius:3px; }
.cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap:1rem; margin-bottom:1.5rem; }
.cards article { background:var(--card); padding:1rem 1.25rem; border-radius:8px; border:1px solid var(--border); }
