:root{--ink:#141310;--paper:#faf7f0;--gold:#b98a1e;--mut:#6f6a5e;--line:#e4ddcb;--err:#b3261e}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Georgia,'Times New Roman',serif}
.wrap{max-width:640px;margin:0 auto;padding:28px 18px 64px}
.brand{font-size:22px;font-weight:700;letter-spacing:.02em}.brand span{color:var(--gold);font-size:13px;font-weight:400}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;margin-top:20px}
.hidden{display:none}h1{font-size:26px;margin:0 0 8px}.muted{color:var(--mut)}
label{display:block;margin:14px 0 4px;font-size:14px}
input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;background:var(--paper)}
button,.btn{display:inline-block;background:var(--ink);color:#fff;border:0;border-radius:9px;padding:11px 18px;font:inherit;cursor:pointer;text-decoration:none;margin-top:14px}
button.ghost,.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.row{display:flex;gap:10px;flex-wrap:wrap}.error{color:var(--err);min-height:1.2em}
.box{border:1px solid var(--line);border-radius:11px;padding:16px;margin-top:16px;background:var(--paper)}
