:root {
  --black:#0a0a0a; --dark:#111111; --card:#181818; --border:#2a2a2a;
  --gold:#c9a84c; --gold-light:#e8c96e; --white:#f0ede6; --muted:#888;
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  background:var(--black); color:var(--white);
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px;
}
.box { background:var(--card); border:1px solid var(--border); padding:40px; width:100%; max-width:400px; border-radius:4px; }
.title { font-family:'Bebas Neue',sans-serif; font-size:1.6rem; letter-spacing:0.06em; margin-bottom:4px; }
.title span { color:var(--gold); }
.sub { font-family:'Space Mono',monospace; font-size:0.68rem; letter-spacing:0.2em; color:var(--muted); margin-bottom:26px; }
input {
  width:100%; background:var(--dark); border:1px solid var(--border); color:var(--white);
  padding:12px 14px; font-size:0.9rem; border-radius:3px; margin-bottom:12px; outline:none;
  transition:border-color .2s; font-family:inherit;
}
input:focus { border-color:var(--gold); }
.btn {
  width:100%; padding:12px; background:var(--gold); color:var(--black); border:none;
  font-size:0.82rem; font-weight:700; letter-spacing:0.1em; cursor:pointer; border-radius:3px;
  transition:background .2s; font-family:inherit;
}
.btn:hover { background:var(--gold-light); }
.btn:disabled { background:var(--border); color:var(--muted); cursor:not-allowed; }
.btn-outline { background:none; border:1px solid var(--border); color:var(--muted); margin-top:10px; }
.btn-outline:hover { background:none; border-color:var(--gold); color:var(--gold); }
.msg-error { color:#e05555; font-size:0.8rem; margin-bottom:12px; display:none; line-height:1.5; }
.msg-ok { color:#4caf50; font-size:0.85rem; margin-bottom:12px; display:none; line-height:1.5; }
.hint { font-size:0.72rem; color:var(--muted); margin-bottom:16px; line-height:1.6; }
.center { text-align:center; }
.check { font-size:2.4rem; margin-bottom:10px; }
a { color:var(--gold); text-decoration:none; }
