.login-page{min-height:100svh;display:grid;place-items:center;padding:48px 24px;background:var(--bg);color:var(--ink)}.login-content{width:min(100%,400px)}.login-brand{display:inline-block;color:var(--muted);font-size:14px;text-decoration:none;margin-bottom:48px}.login-content h1{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.025em;margin:0 0 12px;text-wrap:balance}.login-intro{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 32px;max-width:34ch}.login-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.login-form label{font-size:14px;font-weight:500}.login-form>input,.password-field{margin-bottom:12px}.login-form input{width:100%;min-width:0;min-height:48px;border:1px solid var(--control-border,var(--border));border-radius:var(--radius-control,8px);padding:11px 14px;background:var(--paper);color:var(--ink);font:inherit;caret-color:var(--accent)}.login-brand:focus-visible,.login-form input:focus-visible,.login-submit:focus-visible,.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.password-field{position:relative}.password-field input{padding-right:54px}.password-toggle{position:absolute;right:3px;top:3px;width:42px;min-height:42px;display:grid;place-items:center;background:transparent;border:0;color:var(--muted);border-radius:6px;padding:0}.password-toggle:hover{background:var(--soft);color:var(--ink)}.login-feedback{min-height:24px;color:var(--ink);font-size:14px;line-height:1.5}.login-submit{width:100%;min-height:48px;border-radius:var(--radius-control,8px);font-size:15px;font-weight:600;margin-top:2px}.login-submit:disabled{opacity:.6;cursor:wait}@media(max-width:480px){.login-page{place-items:start center;padding:72px 24px 40px}.login-brand{margin-bottom:40px}.login-content h1{font-size:28px}}