*{box-sizing:border-box}:root{--color-bg-subtle:#f8fafc;--color-surface:#fff;--color-on-accent:#fff;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-text:#111827;--color-accent:#3498db;--color-accent-hover:#2980b9;--color-accent-ring:#3498db26;--color-danger-text:#b91c1c}@media (prefers-color-scheme:dark){:root{--color-bg-subtle:#0f1520;--color-surface:#1f2937;--color-border:#374151;--color-border-strong:#4b5563;--color-text:#e5e7eb;--color-accent-hover:#5dade2;--color-accent-ring:#3498db4d;--color-danger-text:#fca5a5}}body{background:var(--color-bg-subtle);color:var(--color-text);justify-content:center;align-items:center;min-height:100vh;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.authCard{background:var(--color-surface);border-radius:.5rem;flex-direction:column;width:min(360px,100vw - 2rem);padding:1.5rem;display:flex;box-shadow:0 10px 25px -5px #0000001a}.authCard h2{color:var(--color-text);margin:0 0 1rem;font-size:1.25rem;font-weight:600}.authCard form{flex-direction:column;gap:.75rem;display:flex}.authCard label{color:var(--color-text);margin-bottom:-.25rem;font-size:.875rem;font-weight:500}.authCard input{border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;color:var(--color-text);border-radius:.5rem;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.authCard input:hover{border-color:var(--color-border-strong)}.authCard input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring);outline:none}.authCard button[type=submit]{background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:none;border-radius:.5rem;margin-top:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500}.authCard button[type=submit]:hover{background:var(--color-accent-hover)}.authCard button[type=button]{color:var(--color-accent);cursor:pointer;background:0 0;border:none;align-self:center;margin-top:.75rem;padding:0;font-family:inherit;font-size:.875rem}.authCard button[type=button]:hover{text-decoration:underline}.error{color:var(--color-danger-text);margin:0;font-size:.875rem}.error:empty{display:none}
