.auth-viewport{min-height:100dvh}.signin{isolation:isolate;background:var(--workspace);color:var(--fg);grid-template-rows:auto 1fr auto;display:grid;position:relative}.signin:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(560px 220px at 50% 0%, color-mix(in oklch, var(--brand) 11%, transparent), transparent 72%);height:360px;position:fixed;inset:0 0 auto}.signin-top{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1080px;margin-inline:auto;padding:20px 24px;display:flex}.signin-top-controls{align-items:center;gap:8px;display:inline-flex}.signin-apple-note{border:1px solid var(--line);background:var(--panel);color:var(--fg-muted);border-radius:10px;align-items:flex-start;gap:8px;margin-top:14px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.signin-apple-note svg{flex-shrink:0;margin-top:2px}.signin-home{min-height:36px;color:var(--fg);border-radius:8px;align-items:center;text-decoration:none;display:inline-flex}.signin-home:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.signin-brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:16px;font-weight:650;display:inline-flex}.signin-brand-icon{border-radius:6px;width:24px;height:24px;display:block;box-shadow:0 1px 2px #00000024}.signin-body{justify-content:center;align-items:center;padding:20px 24px 36px;display:flex}.signin-column{width:100%;max-width:360px}.signin-head{text-align:center;margin-bottom:24px}.signin-mark{justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.signin-mark-icon{border-radius:11px;width:44px;height:44px;display:block;box-shadow:0 6px 18px #0f172a24}.signin-head h1{letter-spacing:-.025em;color:var(--fg);margin:0;font-size:24px;font-weight:650;line-height:1.25}.signin-subtitle{color:var(--fg-muted);margin:8px 0 0;font-size:14px;line-height:1.55}.signin-form{gap:14px;display:grid}.signin-form[data-direction=forward]{animation:.18s cubic-bezier(.22,1,.36,1) signin-step-forward}.signin-form[data-direction=back]{animation:.18s cubic-bezier(.22,1,.36,1) signin-step-back}@keyframes signin-step-forward{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes signin-step-back{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.signin-fields{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.signin-fields:disabled{opacity:.72}.signin-field{gap:6px;display:grid}.signin-label{color:var(--fg);font-size:13px;font-weight:500;line-height:1.4}.signin-label-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.signin-link{color:var(--brand-text);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:500;line-height:1.4}.signin-link:hover{text-underline-offset:3px;text-decoration:underline}.signin-link:disabled{opacity:.5;cursor:not-allowed}.signin-countdown{color:var(--fg-subtle);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4}.signin-otp-caption{color:var(--fg-muted);margin:10px 0 0;font-size:13px;line-height:1.5}.signin-otp-sent{color:var(--success-text);margin-top:2px;font-size:12px;line-height:1.45;display:block}.signin-chip{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:8px;max-width:100%;margin-top:12px;padding:4px 10px 4px 5px;font-size:13px;line-height:1.3;display:inline-flex}.signin-chip-avatar{background:var(--brand-subtle);width:22px;height:22px;color:var(--brand-text);border-radius:999px;flex-shrink:0;place-items:center;font-size:11px;font-weight:650;display:inline-grid}.signin-chip-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg);font-weight:500;overflow:hidden}.signin-chip-action{color:var(--brand-text);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:12px;font-weight:500}.signin-chip-action:hover{background:var(--hover)}.otp-slots{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.otp-slots[data-invalid=true]{animation:.26s ease-in-out otp-shake}@keyframes otp-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.otp-slot{border:1px solid var(--line-strong);background:var(--panel);width:100%;height:48px;color:var(--fg);text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;caret-color:var(--brand);border-radius:10px;padding:0;font-size:18px;font-weight:600;transition:border-color .12s,background-color .12s,box-shadow .12s}.otp-slot:hover:not(:disabled){border-color:var(--fg-subtle)}.otp-slot[data-filled=true]{border-color:var(--fg-muted);background:var(--elevated)}.otp-slot:focus{border-color:var(--brand);background:var(--elevated);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 20%, transparent);outline:none}.otp-slots[data-invalid=true] .otp-slot{border-color:var(--danger)}.otp-slot:disabled{opacity:.55;cursor:not-allowed}.auth-input{border:1px solid var(--line);background:var(--panel);width:100%;height:44px;color:var(--fg);border-radius:10px;padding:0 14px;font-size:14px;transition:border-color .14s,box-shadow .14s,background-color .14s}.auth-input::placeholder{color:var(--fg-subtle)}.auth-input:hover:not(:disabled){border-color:var(--line-strong)}.auth-input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 20%, transparent);outline:none}.auth-input[aria-invalid=true]{border-color:var(--danger)}.auth-input:disabled{opacity:.5;cursor:not-allowed}.auth-field-error{color:var(--danger-text);margin:2px 0 0;font-size:12px;line-height:1.45}.auth-error-feedback{border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);background:var(--danger-subtle);color:var(--danger-text);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;line-height:1.5;display:flex}.auth-error-feedback svg{flex-shrink:0;margin-top:2px}.auth-notice{border:1px solid var(--line);background:var(--control);color:var(--fg-muted);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;line-height:1.5;display:flex}.auth-notice[data-tone=warn]{border-color:color-mix(in srgb, var(--warn) 32%, transparent);background:var(--warn-subtle);color:var(--warn-text)}.auth-notice svg{flex-shrink:0;margin-top:2px}.auth-btn{white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:14px;font-weight:550;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.auth-btn-primary{background:var(--brand);color:var(--brand-fg)}.auth-btn-primary:hover:not(:disabled){background:var(--brand-hover)}.auth-btn-primary:active:not(:disabled){background:var(--brand-active)}.auth-btn-secondary{border-color:var(--line);background:var(--panel);color:var(--fg)}.auth-btn-secondary:hover:not(:disabled){border-color:var(--line-strong);background:var(--hover)}.auth-btn-secondary:active:not(:disabled){background:var(--active)}.auth-btn:disabled{pointer-events:none;opacity:.45}.auth-spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:16px;height:16px;animation:.65s linear infinite spin;display:inline-block}.auth-skeleton{gap:12px;padding:8px 0;display:grid}.auth-skeleton-bar{background:var(--control);border-radius:10px;animation:1.5s ease-in-out infinite auth-pulse}@keyframes auth-pulse{0%,to{opacity:1}50%{opacity:.5}}.signin-submit{width:100%;margin-top:2px}.social-sign-in{margin-top:18px}.signin-divider{color:var(--fg-subtle);align-items:center;gap:12px;margin-bottom:14px;font-size:12px;display:flex}.signin-divider:before,.signin-divider:after{content:"";background:var(--line);flex:1;height:1px}.signin-social-list{gap:10px;display:grid}.signin-social{background:var(--panel);justify-content:center;width:100%}.signin-legal{text-align:center;color:var(--fg-subtle);margin:22px 0 0;font-size:12px;line-height:1.6}.signin-legal a{color:var(--fg-muted);text-underline-offset:3px;text-decoration:underline}.signin-legal a:hover{color:var(--fg)}.signin-footer{color:var(--fg-subtle);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;padding:18px 24px 24px;font-size:12px;display:flex}.signin-footer a{color:var(--fg-subtle);text-decoration:none}.signin-footer a:hover{color:var(--fg)}@media (max-width:480px){.signin-top{padding:16px 18px}.signin-body{align-items:flex-start;padding:20px 18px 28px}.otp-slots{gap:6px}.otp-slot{height:44px;font-size:16px}}@media (prefers-reduced-motion:reduce){.signin-form[data-direction=forward],.signin-form[data-direction=back],.otp-slots[data-invalid=true]{animation:none}}
