:root { --bg:#111014; --fg:#efebe4; --muted:#9a948a; --accent:#e8c38a; }
* { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--bg); color:var(--fg); font:15px/1.6 Helvetica, Arial, sans-serif; min-height:100vh; display:flex; flex-direction:column; }
a { color:var(--accent); text-decoration:none; }
main { flex:1; display:grid; place-items:center; padding:40px 20px; }
.box { width:100%; max-width:420px; }
.logo { display:block; color:var(--fg); letter-spacing:.35em; text-transform:uppercase; font-size:13px; margin-bottom:48px; }
.logo b { color:var(--accent); font-weight:normal; }
h1 { font:normal 30px/1.2 Georgia, "Times New Roman", serif; margin-bottom:14px; }
p { color:var(--muted); margin-bottom:26px; }
label { display:block; font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
input { width:100%; background:transparent; border:1px solid #3a3740; color:var(--fg); padding:13px 14px; font:15px Helvetica, Arial, sans-serif; margin-bottom:14px; }
button { width:100%; background:var(--accent); color:#111; border:0; padding:13px; font:13px Helvetica, Arial, sans-serif; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; }
.err { color:#d98a7a; font-size:14px; margin:-4px 0 14px; }
.small { font-size:13px; margin-top:28px; }
footer { padding:24px; text-align:center; color:var(--muted); font-size:12px; }
footer a { color:var(--muted); }
.text { max-width:640px; margin:0 auto; padding:60px 20px; }
.text h1 { margin-bottom:24px; }
.text p { margin-bottom:16px; }
