:root{--brand:#2b56bc;--brand-deep:#1b3e8f;--bg:#f5f7fb;--surface:#fff;--ink:#12262e;--muted:#5c727b;--line:#dbe5e9;--bad:#c0392b;--ok:#1b7f5a;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--brand:#7099f5;--brand-deep:#16213b;--bg:#0e0f11;--surface:#122129;--ink:#e7eef1;--muted:#93a7af;--line:#22343d;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--ink);font-family:"Source Sans 3",system-ui,sans-serif;padding:24px}
.card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px rgba(10,59,82,.12);padding:32px 28px}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.lock{display:flex;align-items:center;gap:10px}
.mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--brand),var(--brand-deep));display:grid;place-items:center;color:#fff;font-family:"Archivo";font-weight:800;font-size:18px}
.name{font-family:"Archivo";font-weight:800;font-size:19px}.name span{color:var(--brand)}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.lang button{width:auto;margin:0;background:none;color:var(--muted);border:0;border-radius:0;padding:4px 8px;font-size:11.5px;font-weight:700;font-family:"Archivo";cursor:pointer}
.lang button[aria-pressed=true]{background:var(--brand);color:#fff}.lang button:hover{background:var(--line)}.lang button[aria-pressed=true]:hover{background:var(--brand)}
h1{font-family:"Archivo";font-size:20px;margin:0}p.sub{color:var(--muted);margin:.2em 0 20px;line-height:1.4}
label{display:block;font-weight:600;font-size:13px;margin:14px 0 5px}
input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:15px;font-family:inherit}
input:focus{outline:2px solid var(--brand);border-color:var(--brand)}
.go{width:100%;margin-top:20px;background:var(--brand);color:#fff;border:none;border-radius:10px;padding:12px;font-weight:700;font-family:"Archivo";font-size:15px;cursor:pointer}
.go:hover{background:var(--brand-deep)}.go:disabled{opacity:.6}
.err{color:var(--bad);font-size:13.5px;margin-top:12px;min-height:1em}.err.ok{color:var(--ok)}
a.link{display:inline-block;margin-top:14px;font-size:13px;color:var(--brand);font-weight:600;text-decoration:none}a.link:hover{text-decoration:underline}
.hint{font-size:12.5px;color:var(--muted);margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
