.auth-page{min-height:100svh;padding:calc(4rem + var(--space-4)) var(--container-pad) var(--space-8);place-items:center;display:grid}.auth{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-lg);--map-hi:var(--blue-100);--map-lo:var(--blue-50);--topo-line:#a7c2f7;--topo-line-strong:#7fa7f2;--frost-bg:#ffffff8c;--frost-border:#ffffffb8;--ink-strong:var(--blue-950);--ink-body:#020c45d9;--ink-muted:#020c45b8;--ink-line:#020c4547;--ink-accent:var(--blue-600);--ink-chip-bg:#3b82f624;--btn-ghost-bg:var(--slate-100);--btn-ghost-bg-hover:var(--slate-200);display:grid;overflow:hidden}.auth--login{grid-template-columns:1fr 1fr;max-width:900px}.auth--signup{grid-template-columns:280px 1fr;max-width:940px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .auth{--map-hi:#0e1834;--map-lo:#0a1229;--topo-line:#22325b;--topo-line-strong:#33497f;--frost-bg:#50a2ff1f;--frost-border:#ffffff24;--ink-strong:#fff;--ink-body:#ffffffd9;--ink-muted:#ffffffc7;--ink-line:#ffffff4d;--ink-accent:var(--blue-400);--ink-chip-bg:#50a2ff26;--btn-ghost-bg:#ffffff14;--btn-ghost-bg-hover:#ffffff24}}:root[data-theme=dark] .auth{--map-hi:#0e1834;--map-lo:#0a1229;--topo-line:#22325b;--topo-line-strong:#33497f;--frost-bg:#50a2ff1f;--frost-border:#ffffff24;--ink-strong:#fff;--ink-body:#ffffffd9;--ink-muted:#ffffffc7;--ink-line:#ffffff4d;--ink-accent:var(--blue-400);--ink-chip-bg:#50a2ff26;--btn-ghost-bg:#ffffff14;--btn-ghost-bg-hover:#ffffff24}.auth__side{display:flex;position:relative;overflow:hidden}.auth__map{background:linear-gradient(158deg, var(--map-hi) 0%, var(--map-lo) 100%);position:absolute;inset:0}.auth__topo{width:100%;height:100%;display:block;position:absolute;inset:0}.auth__side-content{z-index:1;gap:var(--space-5);width:100%;padding:var(--space-8) var(--space-6);flex-direction:column;display:flex;position:relative}.auth--login .auth__side-content{padding:var(--space-10) var(--space-8)}.auth__frost{background:var(--frost-bg);border:1px solid var(--frost-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);backdrop-filter:blur(7px)saturate(1.2);padding:var(--space-4) var(--space-5);color:var(--ink-body)}.auth__logo{padding:var(--space-2) var(--space-4);font-family:var(--font-head);font-weight:var(--weight-bold);font-size:var(--text-xl);color:var(--ink-strong);align-self:center}.auth__logo:hover{color:var(--ink-strong);text-decoration:none}.auth__logo-check{color:var(--color-primary);font-family:Sora,sans-serif}.auth-headline h2{margin:0 0 var(--space-2);font-size:var(--text-2xl);color:var(--ink-strong)}.auth-headline h2 span{color:var(--ink-accent)}.auth-headline p{font-size:var(--text-sm);color:var(--ink-muted);margin:0}.auth-stats{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.auth-stat{gap:var(--space-3);display:flex}.auth-stat__icon{border-radius:var(--radius-md);background:var(--ink-chip-bg);width:2.25rem;height:2.25rem;color:var(--ink-accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.auth-stat__icon svg{width:1.125rem;height:1.125rem}.auth-stat__body{min-width:0}.auth-stat__line{font-size:var(--text-sm);color:var(--ink-body);margin:0}.auth-stat__line strong{font-family:var(--font-head);color:var(--ink-strong)}.auth-stat__tree{margin:var(--space-1) 0 0;padding:0 0 0 var(--space-2);list-style:none}.auth-stat__tree>li{padding-left:var(--space-4);font-size:var(--text-sm);color:var(--ink-muted);line-height:1.7;position:relative}.auth-stat__tree>li strong{font-family:var(--font-head);color:var(--ink-strong)}.auth-stat__tree>li:before{content:"";border-left:1px solid var(--ink-line);position:absolute;top:0;bottom:0;left:0}.auth-stat__tree>li:last-child:before{height:.85em;bottom:auto}.auth-stat__tree>li:after{content:"";border-top:1px solid var(--ink-line);width:.625rem;position:absolute;top:.85em;left:0}.srail{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.srail__item{align-items:center;gap:var(--space-3);display:flex;position:relative}.srail__item+.srail__item:before{content:"";left:calc(.9375rem - 1px);top:calc(-1 * var(--space-5));height:var(--space-5);border-left:2px solid var(--ink-line);position:absolute}.srail__dot{border:2px solid var(--ink-line);width:1.875rem;height:1.875rem;color:var(--ink-muted);font-family:var(--font-head);font-size:var(--text-xs);font-weight:var(--weight-semibold);transition:background var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.srail__dot>svg{width:.875rem;height:.875rem;display:none}.srail__item[aria-current=step] .srail__dot{background:var(--ink-accent);border-color:var(--ink-accent);color:#fff}.srail__item[aria-current=step] .srail__text strong{color:var(--ink-accent)}.srail__item.is-done .srail__dot{background:var(--green-500);border-color:var(--green-500);color:#fff}.srail__item.is-done .srail__dot>span{display:none}.srail__item.is-done .srail__dot>svg{display:block}.srail__text{min-width:0}.srail__text strong{font-family:var(--font-head);font-size:var(--text-sm);color:var(--ink-strong);display:block}.srail__text>span{font-size:var(--text-xs);color:var(--ink-muted)}.srail__note-wrap{margin-top:auto}.srail__note{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-muted);margin:0;display:flex}.srail__note svg{flex:none;width:.875rem;height:.875rem}.auth__panel{min-width:0;padding:var(--space-12);flex-direction:column;justify-content:center;display:flex}.auth-title{font-size:var(--text-3xl);margin:0 0 var(--space-2)}.auth-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-6)}.auth-alert{margin-bottom:var(--space-5)}.auth-alert[hidden]{display:none}.auth-fields{gap:var(--space-4);flex-direction:column;display:flex}.auth-row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.auth-row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.auth-input-wrap{position:relative}.auth-input-icon{left:var(--space-3);width:1rem;height:1rem;color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.auth-input-wrap>.ds-input,.auth-input-wrap>.ds-select{padding-left:var(--space-10)}.auth-input-wrap--pw>.ds-input{padding-right:var(--space-12)}.auth-pw-toggle{right:var(--space-2);border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.auth-pw-toggle:hover{color:var(--color-text)}.auth-pw-toggle svg{width:1rem;height:1rem}.auth-captcha{max-width:100%;margin-block:var(--space-4,16px);overflow-x:auto}.auth-captcha altcha-widget{--altcha-color-base:var(--color-surface);--altcha-color-base-content:var(--color-text);--altcha-color-primary:var(--color-primary);--altcha-color-error:var(--color-danger);--altcha-border-width:1.5px;--altcha-border-color:var(--color-border);--altcha-border-radius:var(--radius-md);--altcha-max-width:100%}.auth-captcha__hint{margin:calc(-1 * var(--space-2,8px)) 0 var(--space-3,12px);font-size:var(--text-sm);color:var(--color-text-muted)}.auth-progress{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.auth-progress__track{border-radius:var(--radius-pill);background:var(--color-surface-sunken);flex:1;height:.375rem;overflow:hidden}.auth-progress__fill{border-radius:inherit;background:var(--color-primary);width:25%;height:100%;transition:width var(--dur-base) var(--ease-out)}.auth-progress__label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);white-space:nowrap}.auth-step[hidden]{display:none}.auth-step.is-active{animation:auth-step-in var(--dur-slow) var(--ease-out) backwards}@keyframes auth-step-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.auth-step__actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-12);display:flex}.auth-step__actions .ds-btn--ghost{background:var(--btn-ghost-bg)}.auth-step__actions .ds-btn--ghost:hover{background:var(--btn-ghost-bg-hover)}.auth-success{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-6) 0;flex-direction:column;display:flex}.auth-success[hidden]{display:none}.auth-success__icon{background:var(--color-success-soft);width:4rem;height:4rem;color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.auth-success__icon--info{background:var(--color-primary-soft);color:var(--color-primary)}.auth-success__icon svg{width:2rem;height:2rem}.auth-success__actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.auth-fineprint{margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.auth-support{margin:var(--space-6) 0 0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.auth-link-btn{font:inherit;color:var(--color-link);cursor:pointer;background:0 0;border:0;padding:0}.auth-link-btn:hover{color:var(--color-link-hover);text-decoration:underline}.auth-link-btn:disabled{color:var(--color-text-muted);cursor:not-allowed;text-decoration:none}.auth-social{gap:var(--space-4);margin-bottom:var(--space-4);flex-direction:column;display:flex}.auth-social[hidden]{display:none}.auth-google-btn{gap:var(--space-3)}.auth-google-btn__glyph{flex:none}.auth-divider{align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--color-border);flex:1}.auth-callback-wait{padding:var(--space-10) 0;justify-content:center;display:flex}.auth-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=820px){.auth--signup{grid-template-columns:1fr;max-width:28rem}.auth--signup .auth__side{display:none}}@media (width<=768px){.auth-page{padding:calc(4rem + var(--space-6)) var(--container-pad) var(--space-8)}.auth__panel{padding:var(--space-8) var(--space-6)}}@media (width<=700px){.auth--login{grid-template-columns:1fr;max-width:28rem}.auth--login .auth__side{display:none}}@media (width<=480px){.auth-row{grid-template-columns:1fr}}.auth-stat__skel{vertical-align:middle;width:2.5em;height:1em;display:inline-block}
