:root{--bg:#f6f4ef;--card:#fff;--ink:#1d1b18;--soft:#6b665d;--line:#e4dfd5;--accent:#2f5d50;--accent-ink:#fff;--warn:#9a3b2a;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151513;--card:#1f1e1b;--ink:#efece6;--soft:#a39d92;--line:#34322d;--accent:#7fbfa8;--accent-ink:#0f1f1a;--warn:#e38b77;color-scheme:dark}}
:root[data-theme=dark]{--bg:#151513;--card:#1f1e1b;--ink:#efece6;--soft:#a39d92;--line:#34322d;--accent:#7fbfa8;--accent-ink:#0f1f1a;--warn:#e38b77;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 40px}
main{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px}
.mark{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);margin:0 0 18px}
h1{font-size:22px;line-height:1.25;margin:0 0 8px;font-weight:650}
p{color:var(--soft);line-height:1.5;margin:0 0 18px;font-size:15px}
label{display:block;font-size:13px;color:var(--soft);margin:0 0 6px}
input{width:100%;font:inherit;font-size:17px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);margin:0 0 12px}
input:focus{outline:2px solid var(--accent);outline-offset:1px}
button{width:100%;font:inherit;font-size:16px;font-weight:600;padding:13px;border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);cursor:pointer}
button[disabled]{opacity:.6;cursor:default}
button.plain{background:none;color:var(--soft);font-weight:500;padding:8px;width:auto}
.err{color:var(--warn);font-size:14px;min-height:1.2em;margin:4px 0 0}
ul{list-style:none;padding:0;margin:0 0 20px;border-top:1px solid var(--line)}
li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
li small{display:block;color:var(--soft);font-size:12px;margin-top:2px}
li button{width:auto;background:none;color:var(--warn);font-size:13px;padding:4px 6px}
.row{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.row a{color:var(--soft);font-size:14px}
[hidden]{display:none!important}
