.auth-shell{background:var(--bg);align-content:center;justify-items:center;min-height:100dvh;padding:2.5rem 1rem;display:grid}.auth-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;width:min(400px,100%);padding:2rem 2rem 1.75rem;font-size:1rem;line-height:1.45;display:flex;box-shadow:0 1px 2px #2523230a,0 8px 24px #2523230d}.auth-panel .auth-logo-link{align-self:flex-start}.auth-panel .auth-logo{height:32px;margin:0 0 1.5rem}.auth-panel a:focus-visible,.auth-link-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.auth-title{font-family:var(--font-fraunces), Georgia, serif;letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.75rem;font-weight:650;line-height:1.15}.auth-subtitle{color:var(--muted);margin:.5rem 0 0}.auth-menu{background:var(--bg-accent);border-radius:10px;justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:1.25rem;padding:.75rem .9rem;display:flex}.auth-menu-name{-webkit-line-clamp:2;overflow-wrap:anywhere;min-width:0;color:var(--ink);-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.auth-menu-count{white-space:nowrap;color:var(--muted);flex:none;font-size:.9375rem}.auth-providers{gap:.625rem;margin-top:1.5rem;display:grid}.auth-button{width:100%;min-height:48px;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.625rem;padding:.625rem 1rem;font-size:1rem;font-weight:600;line-height:1.25;transition:background-color .15s,border-color .15s;display:flex}.auth-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.auth-button:disabled{cursor:default;opacity:.7}.auth-button-primary{background:var(--brand);color:#fff}.auth-button-primary:hover:not(:disabled){background:var(--brand-dark)}.auth-button-secondary{border-color:var(--line);color:var(--ink);background:#fff}.auth-button-secondary:hover:not(:disabled){background:var(--bg)}.auth-provider-google{color:#1f1f1f;font-family:"Google Sans", Roboto, var(--font-source-sans), Arial, sans-serif;background:#fff;border-color:#747775;font-weight:500}.auth-provider-google:hover:not(:disabled){background:#f7f7f7}.auth-provider-mark{flex:none;width:20px;height:20px}.auth-provider-apple{color:#fff;background:#000;border-color:#000}.auth-provider-slot{background:var(--bg-accent);border-radius:999px;height:48px;display:block}.auth-divider{color:var(--muted);align-items:center;gap:.75rem;margin-top:1.25rem;font-size:.875rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-form{gap:1rem;margin-top:1.25rem;display:grid}.auth-field{gap:.375rem;display:grid}.auth-field label{color:var(--ink);font-size:.9375rem;font-weight:600}.auth-label-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.auth-small-link{margin:-.25rem 0;padding:.25rem 0;font-size:.9375rem}.auth-panel input{min-height:48px;font:inherit;color:var(--ink);background:#fff;border:1px solid #9a8f8a;border-radius:10px;padding:.75rem .875rem;font-size:1rem}.auth-panel input:focus{outline:3px solid var(--focus-ring);outline-offset:0;border-color:var(--brand)}.auth-panel input[aria-invalid=true]{border-color:var(--danger)}.auth-password{position:relative}.auth-password input{width:100%;padding-right:4.75rem}.auth-reveal{min-width:4.25rem;height:100%;font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:0 10px 10px 0;padding:0 .875rem;font-size:.9375rem;font-weight:600;position:absolute;top:0;right:0}.auth-reveal:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.auth-hint{color:var(--muted);margin:0;font-size:.875rem}.auth-field-error{color:var(--danger);margin:0;font-size:.875rem;font-weight:600}.auth-alert{background:var(--bg-accent);color:var(--ink);border-radius:10px;margin:0;padding:.75rem .875rem;font-size:.9375rem}.auth-panel>.auth-alert,.auth-sent .auth-alert{margin-top:1.25rem}.auth-alert-error{border:1px solid var(--danger-line);background:var(--danger-bg);color:var(--danger)}.auth-switch{text-align:center;color:var(--muted);margin:1.25rem 0 0;font-size:.9375rem}.auth-switch a{font-weight:600}.auth-back{color:var(--muted);align-self:center;gap:.375rem;margin-top:.75rem;padding:.5rem .75rem;font-size:.9375rem;display:inline-flex}.auth-back:hover{color:var(--ink)}.auth-sent{flex-direction:column;display:flex}.auth-sent-email{overflow-wrap:anywhere;color:var(--ink)}.auth-sent .auth-hint{margin-top:.75rem}.auth-sent-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;margin-top:1rem;display:flex}.auth-sent-sep{color:var(--muted)}.auth-link-button:disabled{color:var(--muted);cursor:default}.auth-panel input.auth-code{font-variant-numeric:tabular-nums;letter-spacing:.35em;text-align:center;padding-left:calc(.875rem + .35em);font-size:1.375rem}.auth-panel input.auth-code::placeholder{letter-spacing:normal}.auth-live:empty{display:none}.auth-live{background:var(--success-bg);color:var(--success);border-radius:10px;margin:1rem 0 0;padding:.75rem .875rem;font-size:.9375rem}.auth-waiting,.auth-keep{margin-top:1rem}.auth-keep{text-align:center}.auth-link-button{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:.5rem .75rem;font-size:.9375rem;font-weight:600}@media (max-width:520px){.auth-shell{align-content:start;padding:1rem .75rem 2rem}.auth-panel{padding:1.5rem 1.25rem 1.25rem}.auth-panel .auth-logo{margin-bottom:1.25rem}.auth-title{font-size:1.5rem}}
