:root { --bg:#fbfaf7; --fg:#1d1d1b; --muted:#66645e; --accent:#2f6f5e; --line:#e2dfd7; --card:#fff; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#161715; --fg:#eeece6; --muted:#a09d94; --accent:#6fc2a9; --line:#2d2e2b; --card:#1e1f1c; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:17px/1.6 system-ui,-apple-system,sans-serif; }
main { max-width:720px; margin:0 auto; padding:48px 16px 80px; }
h1 { font-size:2.2rem; line-height:1.2; margin:0 0 12px; }
h2 { font-size:1.25rem; margin:40px 0 8px; }
p, li { color:var(--fg); }
.sub { color:var(--muted); font-size:1.15rem; }
.status { display:inline-block; font-size:.85rem; color:var(--accent); border:1px solid var(--accent); border-radius:999px; padding:2px 12px; margin-bottom:16px; }
.btn { display:inline-block; background:var(--accent); color:#fff; border:0; border-radius:8px; padding:10px 20px; font:inherit; cursor:pointer; text-decoration:none; }
.btn:disabled { opacity:.6; cursor:wait; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin:12px 0; }
label { display:block; font-weight:600; margin:16px 0 4px; }
textarea, input { width:100%; font:inherit; color:var(--fg); background:var(--card); border:1px solid var(--line); border-radius:8px; padding:10px; }
textarea { min-height:160px; resize:vertical; }
.hint { color:var(--muted); font-size:.9rem; }
.err { color:#b3261e; }
.gap { border-left:3px solid #c77d0a; padding-left:12px; }
footer { margin-top:56px; color:var(--muted); font-size:.9rem; }
a { color:var(--accent); }
.pre { white-space: pre-wrap; }
