:root{--ink:#1c2b22;--muted:#5b675d;--accent:#1f5f4a;--soft:#f4f1ea;--card:#ffffff;--line:#dfe3da;--err:#a3342b;--ok:#1f6b45}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#eef2ec;--muted:#b4bdb5;--accent:#6fc2a0;--soft:#121815;--card:#1b231e;--line:#2c3830;--err:#ff9a8f;--ok:#7fd3a6}}
*{box-sizing:border-box}
body{margin:0;background:var(--soft);color:var(--ink);font:16px/1.6 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:440px;margin:0 auto;padding:40px 16px}
.brand{font-weight:700;font-size:22px;color:var(--accent);text-decoration:none}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;margin-top:20px}
h1{font:600 24px/1.3 Georgia,"Times New Roman",serif;margin:0 0 10px}
p{margin:0 0 14px;color:var(--muted)}
label{display:block;font-weight:600;margin:14px 0 6px}
input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit}
button,.btn{display:inline-block;width:100%;margin-top:18px;padding:14px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:600 16px/1 inherit;text-align:center;text-decoration:none;cursor:pointer}
button[disabled]{opacity:.6;cursor:wait}
.msg{margin-top:14px;min-height:1.4em;font-weight:600}
.msg.err{color:var(--err)}.msg.ok{color:var(--ok)}
.foot{margin-top:18px;font-size:13px;color:var(--muted)}
.foot a{color:var(--accent)}
