.auth-page{--gutter-left:max(1rem,env(safe-area-inset-left));--gutter-right:max(1rem,env(safe-area-inset-right));display:flex;box-sizing:border-box;flex-direction:column;min-height:100svh;padding:0 var(--gutter-right) 0 var(--gutter-left);background:var(--color-field)}.auth-page__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 calc(-1 * var(--gutter-right)) 0 calc(-1 * var(--gutter-left));padding:max(1rem,env(safe-area-inset-top)) var(--gutter-right) 1rem var(--gutter-left);border-bottom:1px solid var(--color-line)}.auth-page__body{display:grid;flex:1;place-items:center;padding:2rem 0}.auth-page .site-footer{margin-top:0}.auth-card{box-sizing:border-box;width:min(100%,28rem);padding:clamp(1.25rem,4vw,2rem);border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-panel)}.auth-card h1{margin:0;font-size:1.6rem}.auth-card__subtitle{margin:.4rem 0 1.25rem;color:var(--color-text-muted);font-size:.9375rem}.auth-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin-bottom:1.25rem;padding:.25rem;border-radius:var(--radius-control);background:var(--color-field)}.auth-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.35rem;border:1px solid transparent;border-radius:calc(var(--radius-control) - 2px);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:.875rem}.auth-tab[aria-selected=true]{border-color:var(--color-line);background:var(--color-panel);color:var(--color-ink);font-weight:700}.auth-tab__badge{color:var(--color-text-faint);font-size:.6875rem;font-weight:500}.auth-form{display:grid;gap:1rem}.auth-field{display:grid;gap:.35rem;font-size:.875rem;font-weight:600}.auth-field input{box-sizing:border-box;width:100%;min-height:48px;padding:0 .85rem;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-panel);color:var(--color-ink);font:inherit;font-size:1rem;font-weight:400}.auth-field input:focus-visible{border-color:var(--color-action);outline:3px solid rgb(37 99 235/35%);outline-offset:1px}.auth-field input:disabled{background:var(--color-field);cursor:not-allowed}.auth-code{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.5rem}.auth-submit{border:0;border-radius:var(--radius-control);background:var(--color-action);color:var(--color-on-action);cursor:pointer;font:inherit;font-weight:700}.auth-submit:disabled{cursor:not-allowed;opacity:.55}.auth-secondary{padding:0 1rem;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-panel);color:var(--color-ink);font:inherit}.auth-secondary:disabled{color:var(--color-text-faint);cursor:not-allowed}.auth-alternatives{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.auth-error{border-left:3px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger)}.auth-error,.auth-notice{margin:0;padding:.6rem .8rem;font-size:.875rem}.auth-notice{border-left:3px solid var(--color-signal);background:var(--color-signal-soft);color:var(--color-ink);line-height:1.6}.auth-qr{display:grid;width:11rem;height:11rem;margin:0 auto;place-items:center;padding:1rem;border:2px dashed var(--color-line);border-radius:var(--radius-control);color:var(--color-text-faint)}.auth-qr,.auth-switch{font-size:.875rem;text-align:center}.auth-switch{margin:1.25rem 0 0;color:var(--color-text-muted)}.auth-switch a{color:var(--color-link);font-weight:650}