/* Authentication forms — shared semantic tokens, Light/Dark aware. */
.auth-layout{width:min(100%,760px);margin:0 auto;padding:0}
.auth-heading{max-width:620px;margin:0 0 var(--app-ui-space-6)}
.auth-heading .overline{margin:0;color:var(--app-ui-text-tertiary);font:var(--app-ui-weight-semibold) var(--app-ui-type-caption)/var(--app-ui-line-detail) var(--app-ui-font-mono);letter-spacing:var(--app-ui-letter-spacing-label)}
.auth-heading h2{margin:var(--app-ui-space-3) 0;font-size:var(--app-ui-type-display);line-height:var(--app-ui-line-tight);letter-spacing:var(--app-ui-letter-spacing-tight);color:var(--app-ui-text-primary)}
.auth-heading>p:last-child{max-width:var(--app-ui-copy-max-width);margin:0;color:var(--app-ui-text-secondary);font-size:var(--app-ui-type-body);line-height:var(--app-ui-line-relaxed)}
.auth-card{min-width:0;padding:clamp(var(--app-ui-space-5),4vw,var(--app-ui-space-8));border:var(--app-ui-border-width) solid var(--app-ui-border);border-radius:var(--app-ui-radius-card);background:var(--app-ui-surface);box-shadow:var(--app-ui-shadow-card)}
.auth-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--app-ui-space-1);margin:0 0 var(--app-ui-space-5);padding:var(--app-ui-space-1);border:var(--app-ui-border-width) solid var(--app-ui-border);border-radius:var(--app-ui-radius-control);background:var(--app-ui-field-surface)}
.auth-switches button{display:flex;min-width:0;min-height:var(--app-ui-touch-target);align-items:center;justify-content:center;padding:var(--app-ui-space-2) var(--app-ui-space-3);border:0;border-radius:var(--app-ui-radius-control);background:transparent;color:var(--app-ui-text-secondary);font:var(--app-ui-weight-semibold) var(--app-ui-type-small)/1.2 var(--app-ui-font-family);cursor:pointer;transition:background-color var(--app-ui-motion-standard) var(--app-ui-ease-standard),color var(--app-ui-motion-standard) var(--app-ui-ease-standard)}
.auth-switches button[aria-pressed=true]{background:var(--app-ui-surface-warm);color:var(--app-ui-accent);box-shadow:inset 0 0 0 var(--app-ui-border-width) var(--semantic-accent-border)}
.auth-form{display:grid;gap:var(--app-ui-space-4)}
.auth-form[hidden],[data-auth-panel][hidden]{display:none}
.auth-form>p:not(.auth-legal){margin:0;color:var(--app-ui-text-secondary);font-size:var(--app-ui-type-small);line-height:var(--app-ui-line-relaxed)}
.auth-form label{display:grid;min-width:0;gap:var(--app-ui-space-2);color:var(--app-ui-text-secondary);font-size:var(--app-ui-type-small);font-weight:var(--app-ui-weight-medium)}
.auth-form input{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:var(--app-ui-control-height);padding:var(--app-ui-space-3) var(--app-ui-space-4);border:var(--app-ui-border-width) solid var(--app-ui-border);border-radius:var(--app-ui-radius-control);background:var(--app-ui-field-surface);color:var(--app-ui-text-primary);font:var(--app-ui-type-body)/var(--app-ui-line-field) var(--app-ui-font-family);transition:border-color var(--app-ui-motion-standard) var(--app-ui-ease-standard),box-shadow var(--app-ui-motion-standard) var(--app-ui-ease-standard)}
.auth-form input::placeholder{color:var(--app-ui-text-tertiary);opacity:1}
.auth-form input:focus-visible{border-color:var(--app-ui-focus);outline:var(--app-ui-focus-outline-width) solid var(--app-ui-focus);outline-offset:var(--app-ui-focus-outline-offset)}
.auth-form .button{width:100%;min-height:var(--app-ui-control-height);justify-content:center}
.auth-form .button.primary{border-color:transparent;background:var(--semantic-accent-gradient);color:var(--app-ui-accent-foreground)}
.auth-text-button{justify-self:center;min-height:var(--app-ui-touch-target);padding:var(--app-ui-space-2) var(--app-ui-space-3);border:0;border-radius:var(--app-ui-radius-control);background:transparent;color:var(--app-ui-accent);font:var(--app-ui-weight-semibold) var(--app-ui-type-small)/1.3 var(--app-ui-font-family);cursor:pointer}
.auth-notice{margin:0 0 var(--app-ui-space-4);padding:var(--app-ui-space-3) var(--app-ui-space-4);border:var(--app-ui-border-width) solid var(--app-ui-border);border-radius:var(--app-ui-radius-control);background:var(--app-ui-surface-raised);color:var(--app-ui-text-secondary);font-size:var(--app-ui-type-small);line-height:var(--app-ui-line-relaxed)}
.auth-notice[data-type=error]{border-color:color-mix(in srgb,var(--app-ui-danger) 40%,transparent);background:var(--app-ui-danger-surface);color:var(--app-ui-danger)}
.auth-notice[data-type=success]{border-color:color-mix(in srgb,var(--app-ui-success) 40%,transparent);background:var(--app-ui-success-surface);color:var(--app-ui-success)}
.auth-legal,.auth-footnote{margin:0;color:var(--app-ui-text-tertiary);font-size:var(--app-ui-type-caption);line-height:var(--app-ui-line-relaxed)}
.auth-footnote{margin-top:var(--app-ui-space-4);text-align:center}
.auth-profile{display:grid;gap:var(--app-ui-space-4)}
.auth-profile-mark{display:grid;width:var(--app-ui-size-50);height:var(--app-ui-size-50);place-items:center;border:var(--app-ui-border-width) solid var(--semantic-accent-border);border-radius:var(--app-ui-radius-icon);background:var(--app-ui-surface-warm);color:var(--app-ui-accent);font-weight:var(--app-ui-weight-bold)}
.auth-profile>div{display:grid;gap:var(--app-ui-space-1)}
.auth-profile-label{color:var(--app-ui-text-tertiary);font-size:var(--app-ui-type-caption);letter-spacing:var(--app-ui-letter-spacing-label)}
.auth-profile strong{overflow-wrap:anywhere;color:var(--app-ui-text-primary)}
.auth-profile .button{justify-content:center}
.auth-layout:has(.authenticated-app-shell){max-width:1100px}
main>.section:has(.auth-layout){padding-block:clamp(var(--app-ui-space-6),4vw,var(--app-ui-space-10))}
.auth-switches button:focus-visible,.auth-text-button:focus-visible{outline:var(--app-ui-focus-outline-width) solid var(--app-ui-focus);outline-offset:var(--app-ui-focus-outline-offset)}
@media(max-width:600px){.auth-layout{padding-block:var(--app-ui-space-4)}.auth-card{border-radius:var(--app-ui-radius-card)}main>.section:has(.auth-layout){padding-block:var(--app-ui-space-5)}}
