.auth{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(600px 400px at 50% -10%,rgba(234,88,12,.12),transparent 70%),var(--bg-0);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--fg-1);-webkit-font-smoothing:antialiased}.auth-column{width:100%;max-width:400px;gap:24px}.auth-column,.auth-masthead{display:flex;flex-direction:column}.auth-masthead{align-items:center;gap:10px;text-align:center}.auth-wordmark{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.02em;color:var(--fg-1)}.auth-tagline{margin:0;color:var(--fg-2);font-size:var(--text-base);text-wrap:balance}.auth-tagline b{color:var(--fg-1);font-weight:600;font-style:normal;overflow-wrap:anywhere}.auth-card{background:var(--bg-2);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(20px,6vw,28px)}.auth-card,.auth-form{display:flex;flex-direction:column;gap:16px}.auth-footnote{margin:0;text-align:center;font-size:var(--text-sm);color:var(--fg-3);text-wrap:pretty}.auth a{color:var(--text-link);text-decoration:none;border-radius:2px}.auth a:hover{color:var(--accent-hover);text-decoration:underline}.auth a:focus-visible,.auth button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field-label{font-size:var(--text-sm);font-weight:500;color:var(--fg-2)}.auth-field-control{display:flex;align-items:center;height:var(--control-h-md);padding:0 12px;background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.auth-field-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.auth-field-control:has(:disabled){opacity:.5}.auth-field-control[data-invalid=true],.auth-field-control[data-invalid=true]:focus-within{border-color:var(--danger);box-shadow:none}.auth-field-control[data-invalid=true]:focus-within{box-shadow:0 0 0 3px var(--danger-subtle)}.auth-field-input{flex:1 1;min-width:0;background:transparent;border:none;outline:none;color:var(--fg-1);font-family:inherit;font-size:var(--text-base)}.auth-field-input::placeholder{color:var(--fg-3)}.auth-field-message{font-size:var(--text-xs);color:var(--danger)}.auth-code{display:flex;flex-direction:column;gap:10px}.auth-code-boxes{display:flex;gap:8px;justify-content:center}.auth-code-box{flex:1 1;min-width:0;max-width:46px;height:54px;text-align:center;font-family:var(--font-mono);font-weight:500;font-size:clamp(18px,5vw,22px);color:var(--fg-1);background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--radius-sm);outline:none;caret-color:var(--accent);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.auth-code-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.auth-code-box:disabled{opacity:.6}.auth-code[data-invalid=true] .auth-code-box{border-color:var(--danger)}.auth-code[data-invalid=true] .auth-code-box:focus{box-shadow:0 0 0 3px var(--danger-subtle)}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:var(--control-h-lg);padding:0 18px;font-family:inherit;font-size:var(--text-md);font-weight:600;color:var(--on-accent);background:var(--accent);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out)}.auth-button:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent);text-decoration:none}.auth-button:active:not(:disabled){background:var(--accent-press)}.auth-button:disabled{cursor:not-allowed;opacity:.45}.auth-inline-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:var(--text-sm)}.auth-link-button{padding:0;background:none;border:none;border-radius:2px;font:inherit;color:var(--text-link);cursor:pointer}.auth-link-button:hover:not(:disabled){color:var(--accent-hover);text-decoration:underline}.auth-link-button:disabled{color:var(--fg-3);cursor:not-allowed}.auth-countdown{color:var(--fg-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.auth-notice{background:var(--success-subtle);border:1px solid var(--border-1);border-radius:var(--radius-sm);color:var(--success)}.auth-alert,.auth-notice{padding:8px 12px;font-size:var(--text-sm);text-align:center;text-wrap:pretty}.auth-alert{margin:0;background:var(--danger-subtle);border:1px solid rgba(244,101,95,.35);border-radius:var(--radius-sm);color:var(--danger)}.auth-code-message{margin:0;text-align:center;font-size:var(--text-sm);color:var(--danger);text-wrap:pretty}.auth-done{flex-direction:column;gap:14px;padding:8px 0;text-align:center}.auth-done,.auth-done-mark{display:flex;align-items:center}.auth-done-mark{justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);background:var(--success-subtle);color:var(--success)}.auth-done-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--fg-1)}.auth-done-detail{margin:6px 0 0;font-size:var(--text-sm);color:var(--fg-2)}@media (prefers-reduced-motion:reduce){.auth *,.auth :after,.auth :before{transition-duration:.01ms!important;animation-duration:.01ms!important}}