:root { --bg:#fbfaf7; --fg:#1f2421; --muted:#68706b; --line:#dfdcd3; --accent:#2f5d50; --warn:#a33a2a; --card:#fff; }
@media (prefers-color-scheme: dark) { :root { --bg:#161917; --fg:#ecefe9; --muted:#a3aba5; --line:#303632; --accent:#7fc0ab; --warn:#ee8a78; --card:#1f2320; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.5 system-ui,sans-serif; }
main { max-width:760px; margin:auto; padding:16px; }
nav { display:flex; flex-wrap:wrap; gap:4px 14px; padding:10px 16px; border-bottom:1px solid var(--line); }
nav a, a { color:var(--accent); }
h1 { font-size:1.45rem; margin:.4em 0; } h2 { font-size:1.1rem; margin:1.4em 0 .4em; }
label { display:block; margin:.7em 0; }
input,select,textarea { display:block; width:100%; padding:10px; font:inherit; color:inherit; background:var(--card); border:1px solid var(--line); border-radius:6px; }
input[type=checkbox],input[type=radio] { display:inline; width:auto; }
textarea { min-height:90px; }
button { min-height:44px; padding:8px 16px; font:inherit; color:#fff; background:var(--accent); border:0; border-radius:6px; }
button.link { min-height:44px; padding:8px 4px; color:var(--accent); background:none; text-decoration:underline; }
button.danger { color:var(--warn); background:none; border:1px solid var(--warn); }
summary { min-height:44px; padding:10px 0; color:var(--accent); cursor:pointer; }
form.inline { display:inline; }
.card { display:block; padding:12px; margin:8px 0; background:var(--card); border:1px solid var(--line); border-radius:8px; color:inherit; text-decoration:none; }
.meta,.muted { color:var(--muted); font-size:.875rem; }
.tag { display:inline-block; margin-right:6px; font-size:.8rem; color:var(--muted); }
.tag.alert,.error { color:var(--warn); font-weight:600; }
.filters a { display:inline-block; padding:10px 0; margin-right:12px; }
.pre { white-space:pre-wrap; }
