:root{
  box-sizing:border-box;
  --bg:#EDF0F1; --panel:#FFFFFF; --ink:#18212A; --muted:#56636E; --line:#CDD4D8;
  --hi:#F2B705; --field:#F6F8F9; --warn:#9A4B07; --warn-bg:#FBEBD6;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#131920; --panel:#1B232B; --ink:#E6EBEE; --muted:#9BA8B2; --line:#33404A;
    --field:#222C35; --warn:#F2AE62; --warn-bg:#3A2914;
  }
}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);color:var(--ink);font:15px/1.5 Archivo,"Helvetica Neue",Arial,sans-serif}
h1{font-family:"Archivo Narrow","Arial Narrow",Arial,sans-serif;font-size:28px;font-weight:700;margin:0 0 6px;letter-spacing:-.01em}
.card{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:10px;border-top:6px solid var(--hi);padding:22px 22px 18px}
p{margin:0 0 16px;color:var(--muted)}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);margin-bottom:12px}
input{font:inherit;font-size:15px;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:6px;padding:8px 10px}
button:focus-visible,input:focus-visible{outline:3px solid var(--hi);outline-offset:2px}
button{font:inherit;font-weight:500;border-radius:6px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:9px 14px;cursor:pointer;width:100%}
button:disabled{opacity:.5;cursor:not-allowed}
.links{margin-top:14px;font-size:14px}
.links a{color:var(--ink)}
.msg{font-size:14px;padding:10px 12px;border-radius:6px;background:var(--warn-bg);color:var(--warn);margin:0 0 12px}
.msg.ok{background:var(--field);color:var(--ink)}
