.app-modal.auth-dialog{border-radius:16px;width:min(440px,100vw - 32px);overflow:hidden}.auth-shell{max-height:inherit;display:flex}.auth-pane{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.auth-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;padding:52px 32px 24px;display:flex;overflow-y:auto}.auth-actions{z-index:1;pointer-events:none;justify-content:space-between;display:flex;position:absolute;inset:12px 12px auto}.auth-actions>button{pointer-events:auto}.auth-actions>.auth-icon-button:only-child{margin-left:auto}.auth-icon-button{width:32px;height:32px;color:var(--foreground-secondary);transition:background-color var(--duration-snap) var(--ease-out), color var(--duration-snap) var(--ease-out);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.auth-icon-button:hover{background:var(--fill-ghost-hover);color:var(--foreground)}.auth-icon-button>svg{width:18px;height:18px}.auth-body{animation:motion-fade-up var(--duration-sheet) var(--ease-out) backwards;flex-direction:column;margin-block:auto;display:flex}.auth-heading{text-align:center;flex-direction:column;gap:6px;display:flex}.auth-title{font-family:var(--font-display);letter-spacing:.02em;color:var(--foreground);outline:none;font-size:1.625rem;font-weight:400;line-height:1.3}.auth-subtitle{color:var(--foreground-secondary);overflow-wrap:anywhere;font-size:.875rem;line-height:1.6}.auth-subtitle strong{color:var(--foreground);font-weight:500}.auth-form{flex-direction:column;gap:16px;margin-top:24px;display:flex}.auth-fields{flex-direction:column;gap:16px;display:flex}.auth-compact-brand{font-family:var(--font-brand);letter-spacing:.08em;color:var(--foreground);justify-content:center;align-items:center;gap:9px;margin-bottom:18px;font-size:1.0625rem;font-weight:500;display:flex}.auth-compact-mark{flex-shrink:0;width:26px;height:26px;display:block}@media (min-width:900px){.app-modal.auth-dialog{border-radius:18px;width:min(880px,100vw - 48px)}.auth-shell{min-height:min(600px,100dvh - 48px)}.auth-scroll{padding:56px 48px 28px}.auth-compact-brand{display:none}.auth-heading{text-align:left}}.auth-grabber{display:none}@media (max-width:639px){.app-modal.auth-dialog{border-radius:20px 20px 0 0;width:100vw;max-width:100vw;max-height:calc(100dvh - 12px);margin:auto 0 0}.app-modal.auth-dialog[open]{animation:auth-sheet-in var(--duration-sheet) var(--ease-snap) backwards}.app-modal.auth-dialog[data-closing]{animation:auth-sheet-out var(--duration-base) var(--ease-out) forwards}.auth-grabber{background:var(--fill-control);border-radius:2px;width:36px;height:4px;display:block;position:absolute;top:6px;left:50%;translate:-50%}.auth-scroll{padding:44px 20px calc(20px + var(--sab))}.auth-title{font-size:1.4375rem}}@keyframes auth-sheet-in{0%{translate:0 100%}}@keyframes auth-sheet-out{to{translate:0 100%}}.auth-brand{isolation:isolate;border-right:var(--hairline) solid var(--border);background:color-mix(in srgb, var(--clay) 3%, var(--surface));flex-direction:column;flex-shrink:0;width:380px;padding:24px 28px 28px;display:none;position:relative;overflow:hidden}.auth-brand:before{content:"";z-index:-1;background:radial-gradient(58% 42% at 50% 44%, color-mix(in srgb, var(--clay) 6%, transparent), transparent 72%);position:absolute;inset:0}@media (min-width:900px){.auth-brand{display:flex}}.auth-brand-logo{font-family:var(--font-brand);letter-spacing:.08em;color:var(--foreground);align-items:center;gap:10px;font-size:1.0625rem;font-weight:500;display:flex}.auth-brand-logo>.auth-brand-mark{flex-shrink:0;width:26px;height:26px;display:block}.auth-brand-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:30px;display:flex}.auth-brand-hero>.auth-emblem{animation:auth-emblem-in var(--duration-slow) var(--ease-out) backwards}.auth-brand-quote{animation:motion-fade-up var(--duration-sheet) var(--ease-out) .12s backwards}.auth-brand-quote p{font-family:var(--font-display);letter-spacing:.16em;color:var(--foreground);font-size:1.25rem;line-height:1.5}.auth-brand-quote small{letter-spacing:.06em;color:var(--foreground-tertiary);margin-top:8px;font-size:.75rem;display:block}.auth-brand-foot{letter-spacing:.12em;color:var(--foreground-tertiary);text-align:center;animation:motion-fade calc(var(--duration-slow) + .12s) var(--ease-out) .2s backwards;font-size:.75rem}@keyframes auth-emblem-in{0%{opacity:0;rotate:-24deg;scale:.88}}.auth-emblem{flex-shrink:0;display:inline-block;position:relative}.auth-emblem>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.auth-emblem-ring{color:var(--foreground);animation:180s linear infinite auth-spin}.auth-emblem-lines{stroke:currentColor;stroke-width:4.6px;stroke-linecap:round}.auth-emblem-taiji{animation:48s linear infinite reverse auth-spin}.auth-emblem-yin{fill:var(--foreground)}.auth-emblem-yang{fill:var(--surface)}.auth-emblem-rim{fill:none;stroke:color-mix(in srgb, var(--foreground) 30%, transparent);stroke-width:1.6px}@keyframes auth-spin{to{rotate:360deg}}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-label{color:var(--foreground-secondary);font-size:.8125rem;font-weight:500}.auth-link{color:var(--accent);transition:color var(--duration-snap) var(--ease-out);font-size:.8125rem}.auth-link:hover:not(:disabled){color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.auth-link:disabled{cursor:default;color:var(--foreground-tertiary)}.auth-hint{color:var(--foreground-tertiary);font-size:.75rem;line-height:1.5}.auth-control{border:1px solid var(--border-hover);background:var(--surface);height:44px;transition:border-color var(--duration-snap) var(--ease-out), box-shadow var(--duration-snap) var(--ease-out);border-radius:10px;align-items:center;gap:8px;padding:0 6px 0 12px;display:flex}.auth-control:hover{border-color:color-mix(in srgb, var(--foreground) 30%, transparent)}.auth-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent)}.auth-control[data-invalid]{border-color:var(--danger)}.auth-control[data-invalid]:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 16%, transparent)}.auth-control>svg{width:18px;height:18px;color:var(--foreground-tertiary);transition:color var(--duration-snap) var(--ease-out);flex-shrink:0}.auth-control:focus-within>svg{color:var(--accent)}.auth-control input{min-width:0;height:100%;color:var(--foreground);background:0 0;border:0;flex:1;font-size:.9375rem}.auth-control input::placeholder{color:var(--foreground-tertiary)}.auth-control input:focus-visible{outline:none}.auth-control .auth-icon-button{width:30px;height:30px}.auth-field-error{color:var(--danger);animation:motion-fade var(--duration-base) var(--ease-out) backwards;font-size:.75rem}.auth-tabs{background:var(--fill-field);--tab-radius:7px;--tab-bg:var(--surface);border-radius:10px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.auth-tabs>[role=tab]{height:34px;color:var(--foreground-secondary);transition:color var(--duration-snap) var(--ease-out);border-radius:7px;font-size:.875rem}.auth-tabs>[role=tab]:not(:disabled):hover{color:var(--foreground)}.auth-tabs>[role=tab]:disabled{opacity:.55}.auth-tabs>[role=tab][aria-selected=true]{color:var(--foreground);font-weight:500}.auth-password-slot{flex-direction:column;display:flex;position:relative}.auth-password-slot-fields{transition:opacity var(--duration-snap) var(--ease-out);flex-direction:column;display:flex}.auth-password-slot[data-otp] .auth-password-slot-fields{visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--duration-snap) var(--ease-out), visibility 0s linear var(--duration-snap)}.auth-password-slot-note{color:var(--foreground-tertiary);animation:motion-fade var(--duration-base) var(--ease-out) backwards;align-items:center;margin:0;font-size:.78125rem;line-height:1.6;display:flex;position:absolute;inset:0}.auth-notice{border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.8125rem;line-height:1.55;display:flex}.auth-notice>svg{flex-shrink:0;width:16px;height:16px;margin-top:2px}.auth-notice[data-tone=error]{background:color-mix(in srgb, var(--danger) 9%, transparent);color:var(--danger);animation:auth-shake .38s var(--ease-out) both}.auth-notice[data-tone=success]{background:color-mix(in srgb, var(--success) 10%, transparent);color:var(--success);animation:motion-fade-up var(--duration-base) var(--ease-out) backwards}@keyframes auth-shake{15%{translate:-5px}35%{translate:4px}55%{translate:-3px}75%{translate:2px}}.auth-submit{background:var(--accent);height:44px;color:var(--on-accent);transition:background-color var(--duration-snap) var(--ease-out), opacity var(--duration-snap) var(--ease-out), scale var(--duration-fast) var(--ease-out);border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:.9375rem;font-weight:500;display:flex}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:active:not(:disabled){scale:.985}.auth-submit:disabled{cursor:not-allowed;opacity:.55}.auth-submit[aria-busy=true]{cursor:progress;opacity:.8}.auth-submit .sound-wave-bar{background:var(--on-accent)}.auth-link .sound-wave-bar{background:currentColor;height:12px}.auth-switch{color:var(--foreground-secondary);text-align:center;font-size:.875rem}.auth-switch button{color:var(--accent);transition:color var(--duration-snap) var(--ease-out);margin-left:4px;font-weight:500}.auth-switch button:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.auth-resend{height:32px;color:var(--foreground-secondary);transition:background-color var(--duration-snap) var(--ease-out), color var(--duration-snap) var(--ease-out);border-radius:8px;justify-content:center;align-self:center;align-items:center;gap:6px;padding:0 10px;font-size:.8125rem;display:inline-flex}.auth-resend:hover:not(:disabled){background:var(--fill-ghost-hover);color:var(--foreground)}.auth-resend:disabled{cursor:default;color:var(--foreground-tertiary)}.auth-resend>svg{width:14px;height:14px}.auth-resend:not(:disabled):active>svg{transition:rotate var(--duration-base) var(--ease-out);rotate:-90deg}.auth-legal{color:var(--foreground-tertiary);text-align:center;margin-top:20px;font-size:.75rem;line-height:1.6}.auth-legal a{color:var(--foreground-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-hover);text-decoration-color:var(--border-hover);text-underline-offset:3px;transition:color var(--duration-snap) var(--ease-out)}.auth-legal a:hover{color:var(--foreground)}.auth-otp{width:100%;max-width:21rem;animation:motion-fade-up var(--duration-base) var(--ease-out) backwards;margin-inline:auto}.auth-otp-cells{grid-template-columns:repeat(var(--otp-length,6), minmax(0, 1fr));gap:8px;display:grid}.auth-otp[data-invalid] .auth-otp-cells{animation:auth-shake .38s var(--ease-out) both}.auth-otp input{border:1px solid var(--border-hover);background:var(--surface);width:100%;height:52px;font-family:var(--font-mono);color:var(--foreground);text-align:center;caret-color:var(--accent);transition:border-color var(--duration-snap) var(--ease-out), box-shadow var(--duration-snap) var(--ease-out), background-color var(--duration-snap) var(--ease-out);border-radius:10px;padding:0;font-size:1.375rem;font-weight:500}.auth-otp input:hover:not(:disabled){border-color:color-mix(in srgb, var(--foreground) 30%, transparent)}.auth-otp input:focus,.auth-otp input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.auth-otp input[data-filled]{border-color:color-mix(in srgb, var(--accent) 50%, var(--border-hover));background:color-mix(in srgb, var(--accent) 5%, var(--surface));animation:auth-digit var(--duration-base) var(--ease-overshoot)}.auth-otp input:disabled{opacity:.6}.auth-otp[data-invalid] input{border-color:var(--danger)}@keyframes auth-digit{0%{scale:.86}}@media (max-width:380px){.auth-otp-cells{gap:6px}.auth-otp input{height:48px}}.auth-strength{animation:motion-fade-up var(--duration-base) var(--ease-out) backwards;flex-direction:column;gap:8px;margin-top:2px;display:flex}.auth-strength-meter{align-items:center;gap:10px;display:flex}.auth-strength-bars{flex:1;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.auth-strength-bars>span{background:var(--fill-control);border-radius:2px;height:4px;overflow:hidden}.auth-strength-bars>span>i{background:var(--strength-color);transform-origin:0;height:100%;transition:scale var(--duration-sheet) var(--ease-out), background-color var(--duration-sheet) var(--ease-out);display:block;scale:0 1}.auth-strength-bars>span[data-on]>i{scale:1}.auth-strength-label{min-width:2.5em;color:var(--strength-color);text-align:right;transition:color var(--duration-sheet) var(--ease-out);font-size:.75rem;font-weight:500}.auth-strength[data-score="0"],.auth-strength[data-score="1"]{--strength-color:var(--danger)}.auth-strength[data-score="2"]{--strength-color:var(--warning)}.auth-strength[data-score="3"]{--strength-color:var(--wx-earth)}.auth-strength[data-score="4"]{--strength-color:var(--success)}.auth-strength-checks{color:var(--foreground-tertiary);grid-template-columns:1fr 1fr;gap:4px 12px;font-size:.75rem;display:grid}.auth-strength-checks li{transition:color var(--duration-base) var(--ease-out);align-items:center;gap:6px;display:flex}.auth-strength-checks li:before{content:"";opacity:.5;background:currentColor;border-radius:50%;width:5px;height:5px;margin:0 4.5px}.auth-strength-checks li[data-met]{color:var(--success)}.auth-strength-checks li[data-met]:before{display:none}.auth-strength-checks li>svg{flex-shrink:0;width:14px;height:14px}.auth-strength-checks li>svg :is(path,polyline){stroke-dasharray:24;animation:motion-check-draw .24s var(--ease-out) both}
