:root { --bg:#0d0d0d; --card:#161616; --line:#2a2a2a; --gold:#c9a24a; --gold-2:#e2c27a; --text:#ece8df; --muted:#9a948a; --bad:#e07a6a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); font-family: -apple-system, system-ui, sans-serif;
       display:flex; flex-direction:column; align-items:center; padding: max(20px, env(safe-area-inset-top)) 16px 32px; }
.logo.small { width:min(200px, 52vw); height:auto; display:block; margin:4px auto 10px; border-radius:12px; }
.card { width:100%; max-width:400px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px 20px; }
h1 { font-family: Georgia, serif; color:var(--gold-2); letter-spacing:.1em; font-size:22px; margin:0 0 4px; }
.sub { color:var(--muted); margin:0 0 16px; font-size:15px; line-height:1.4; }
label { display:block; font-size:13px; color:var(--muted); margin-bottom:12px; }
input { display:block; width:100%; margin-top:6px; padding:13px 12px; font-size:17px; color:var(--text);
        background:#0f0f0f; border:1px solid var(--line); border-radius:10px; }
input:focus { outline:none; border-color:var(--gold); }
button { width:100%; padding:14px; font-size:17px; font-weight:600; border:0; border-radius:10px; cursor:pointer;
         color:#1a1407; background:linear-gradient(180deg,var(--gold-2),var(--gold)); margin-top:4px; }
button:disabled { opacity:.6; }
.msg { color:var(--bad); min-height:1.2em; font-size:14px; margin:10px 0 0; }
.fine { color:var(--muted); font-size:12.5px; line-height:1.4; margin:14px 0 0; }
