.auth-backdrop{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;animation:.18s ease-out auth-fade;display:flex;position:fixed;inset:0}.auth-dialog{background:var(--surface);width:100%;max-width:600px;max-height:92vh;color:var(--text);padding:8px 20px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;outline:none;animation:.24s cubic-bezier(.2,.8,.2,1) auth-up;overflow-y:auto}.auth-grip{background:var(--divider);border-radius:2px;width:36px;height:4px;margin:0 auto 12px;display:block}.auth-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.auth-head__text{flex:1;min-width:0}.auth-title{font-size:20px;font-weight:700;line-height:26px}.auth-sub{color:var(--text-muted);margin-top:2px;font-size:13px;line-height:18px}.auth-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.auth-close:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.auth-stack{flex-direction:column;gap:12px;display:flex}.auth-muted{color:var(--text-secondary);white-space:pre-line;margin:0;font-size:14px;line-height:20px}.auth-strong{margin:0;font-size:16px;font-weight:600}.auth-fine{color:var(--text-muted);text-align:center;margin:4px 0 0;font-size:11px;line-height:15px}.auth-note{color:var(--primary-text);margin:0;font-size:13px;line-height:18px}.auth-error{color:var(--danger-text);margin:0;font-size:13px;line-height:18px}.auth-seg{background:var(--surface-variant);border-radius:12px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.auth-seg__item{height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:14px;font-weight:600}.auth-seg__item.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000002e}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field__label{color:var(--text-secondary);font-size:12px;font-weight:500}.auth-field__err{color:var(--danger-text);font-size:12px}.auth-input{border:1px solid var(--input-border);background:var(--card-bg);height:44px;color:var(--text);border-radius:12px;outline:none;padding:0 14px;font-size:16px}.auth-input:focus{border-color:var(--primary)}.auth-input-wrap{display:flex;position:relative}.auth-input-wrap .auth-input{flex:1;min-width:0;padding-right:84px}.auth-input-tail{align-items:center;gap:2px;display:flex;position:absolute;top:0;bottom:0;right:6px}.auth-icon-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.auth-icon-btn:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.auth-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.auth-legal{margin-top:-6px}.auth-legal a{color:var(--primary-text);text-decoration:none}.auth-legal a:hover{text-decoration:underline}.auth-skip{height:32px;color:var(--text-muted);flex:none;padding:0 10px;font-size:15px}.auth-input.is-bad{border-color:var(--danger)}.auth-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.auth-btn:disabled{opacity:.55;cursor:default}.auth-btn--block{width:100%}.auth-btn--primary{background:var(--primary);color:#fff}.auth-btn--secondary{background:var(--card-bg);color:var(--text);border-color:var(--input-border)}.auth-btn--ghost{color:var(--text-secondary);background:0 0}.auth-btn--danger-ghost{color:var(--danger-text);background:0 0}.auth-row-end{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.auth-link{cursor:pointer;color:var(--primary-text);background:0 0;border:0;align-self:flex-end;margin:-3px -8px;padding:5px 8px;font-size:13px;font-weight:500}.auth-link--center{color:var(--text-muted);align-self:center}.auth-link:disabled{opacity:.5;cursor:default}.auth-or{color:var(--text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--divider);flex:1;height:1px}.auth-account{flex-direction:column;gap:14px;display:flex}.auth-account__row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-account__email{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.auth-spinner{border:2px solid color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite auth-spin}@keyframes auth-fade{0%{opacity:0}}@keyframes auth-up{0%{opacity:.6;transform:translateY(24px)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-backdrop,.auth-dialog,.auth-spinner{animation:none}}@media (width>=1024px){.auth-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f122273;align-items:center;padding:40px}.auth-dialog{border-radius:var(--r-xl);border:1px solid var(--hairline);max-width:480px;max-height:min(86vh,860px);box-shadow:var(--shadow-lg);animation:auth-pop .2s var(--ease);padding:24px 28px}.auth-grip{display:none}.auth-title{letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:28px}.auth-sub{font-size:13px;line-height:20px}.auth-seg{background:var(--surface-2);border-radius:10px}.auth-seg__item{border-radius:8px;height:32px;font-size:14px;font-weight:500}.auth-seg__item.is-on{box-shadow:var(--shadow-xs)}.auth-input{background:var(--surface);border-color:var(--hairline-strong);height:40px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);border-radius:10px;font-size:14px}.auth-input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.auth-btn{height:40px;transition:background .15s var(--ease), box-shadow .15s var(--ease);border-radius:10px;font-size:14px;font-weight:500}.auth-btn--primary:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 88%, #fff)}.auth-btn--secondary{background:var(--surface);border-color:var(--hairline-strong)}.auth-btn--secondary:hover:not(:disabled){background:var(--surface-2);box-shadow:var(--shadow-xs)}.auth-btn--ghost:hover:not(:disabled),.auth-close:hover{background:var(--surface-2)}.auth-close{border-radius:8px}}@keyframes auth-pop{0%{opacity:0;transform:scale(.98)}}
