.auth-wrapper[data-v-93f281bd]{--primary: var(--harmony-primary, #0EA5E9);--primary-hover: var(--harmony-primary-hover, #0284C7);--surface: rgba(17, 17, 23, .92);--surface-light: rgba(255, 255, 255, .03);--surface-hover: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .08);--border-focus: rgba(14, 165, 233, .5);--text: #ffffff;--text-muted: rgba(255, 255, 255, .6);--text-dim: rgba(255, 255, 255, .4);--error: #ef4444;--success: #22c55e;min-height:100vh;width:100%;display:flex;font-family:var(--font-family);background:var(--bg-image) center/cover no-repeat fixed;position:relative;overflow:hidden}.bg-gradient-overlay[data-v-93f281bd]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.auth-container[data-v-93f281bd]{position:relative;z-index:10;min-height:100vh;width:100%;display:flex}.auth-branding[data-v-93f281bd]{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}.brand-card[data-v-93f281bd]{position:relative;z-index:1;background:#ffffff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.06);border-radius:32px;padding:48px 40px;max-width:460px;width:100%;box-shadow:0 0 0 1px #ffffff05 inset,0 24px 48px #00000026}.brand-content[data-v-93f281bd]{text-align:center}.logo-container[data-v-93f281bd]{position:relative;display:inline-block;margin-bottom:24px}.brand-logo[data-v-93f281bd]{width:88px;height:88px}.brand-title[data-v-93f281bd]{font-size:2.5rem;font-weight:700;margin:0 0 12px;line-height:1.1;letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere}.brand-tagline[data-v-93f281bd]{font-size:1.05rem;color:var(--text-muted);line-height:1.6;max-width:320px;margin:0 auto}.auth-panel[data-v-93f281bd]{flex:1;display:flex;align-items:center;justify-content:center;padding:32px}.auth-card[data-v-93f281bd]{width:100%;max-width:420px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:16px;padding:40px;box-shadow:0 24px 48px #00000059}.auth-card.loading-state[data-v-93f281bd]{pointer-events:none;opacity:.7}.mobile-logo[data-v-93f281bd]{display:none;text-align:center;margin-bottom:24px}.mobile-logo img[data-v-93f281bd]{width:56px;height:56px;margin-bottom:8px}.mobile-title[data-v-93f281bd]{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.form-header[data-v-93f281bd]{text-align:center;margin-bottom:32px}.form-header h2[data-v-93f281bd]{font-size:1.75rem;font-weight:600;color:var(--text);margin:0 0 8px}.form-header p[data-v-93f281bd]{font-size:.95rem;color:var(--text-muted);margin:0}.oauth-section[data-v-93f281bd]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.oauth-btn[data-v-93f281bd]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;background:var(--surface-light);border:1px solid var(--border);border-radius:12px;font-size:.95rem;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease;position:relative}.oauth-btn[data-v-93f281bd]:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-focus);transform:translateY(-1px)}.oauth-btn[data-v-93f281bd]:active:not(:disabled){transform:translateY(0)}.oauth-btn[data-v-93f281bd]:disabled{opacity:.5;cursor:not-allowed}.oauth-btn.loading[data-v-93f281bd]{color:transparent}.oauth-icon[data-v-93f281bd]{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.oauth-icon[data-v-93f281bd] svg{width:100%;height:100%}.oauth-spinner[data-v-93f281bd]{position:absolute;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-93f281bd .8s linear infinite}.oauth-google[data-v-93f281bd]:hover{border-color:#4285f4}.oauth-twitch[data-v-93f281bd]:hover{border-color:#9146ff}.oauth-github[data-v-93f281bd]:hover{border-color:var(--text-primary)}.oauth-twitch .oauth-icon[data-v-93f281bd]{color:#9146ff}.oauth-github .oauth-icon[data-v-93f281bd]{color:var(--text-primary)}.divider[data-v-93f281bd]{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.divider[data-v-93f281bd]:before,.divider[data-v-93f281bd]:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.auth-form[data-v-93f281bd]{display:flex;flex-direction:column;gap:20px}.input-group[data-v-93f281bd]{position:relative}.input-group input[data-v-93f281bd]{width:100%;padding:16px 16px 16px 0;background:transparent;border:none;border-bottom:1px solid var(--border);font-size:1rem;color:var(--text);outline:none;transition:border-color .2s ease;caret-color:var(--primary)}.input-group input[data-v-93f281bd]:-webkit-autofill,.input-group input[data-v-93f281bd]:-webkit-autofill:hover,.input-group input[data-v-93f281bd]:-webkit-autofill:focus,.input-group input[data-v-93f281bd]:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px rgba(17,17,23,1) inset!important;-webkit-text-fill-color:var(--text)!important;transition:background-color 5000s ease-in-out 0s;font-size:1rem}.input-group input[data-v-93f281bd]:focus{border-color:var(--primary)}.input-group label[data-v-93f281bd]{position:absolute;left:0;top:16px;font-size:1rem;color:var(--text-muted);pointer-events:none;transition:all .2s ease}.input-group.focused label[data-v-93f281bd],.input-group.has-value label[data-v-93f281bd],.input-group input:not(:placeholder-shown)+label[data-v-93f281bd]{top:-8px;font-size:.75rem;color:var(--primary)}.input-group.error label[data-v-93f281bd]{color:var(--error)}.input-group.error input[data-v-93f281bd]{border-color:var(--error)}.input-line[data-v-93f281bd]{position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}.input-group.focused .input-line[data-v-93f281bd]{width:100%}.error-text[data-v-93f281bd]{position:absolute;bottom:-20px;left:0;font-size:.75rem;color:var(--error)}.error-text.centered[data-v-93f281bd]{position:static;text-align:center;margin-top:8px}.password-toggle[data-v-93f281bd]{position:absolute;right:0;top:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;transition:color .2s ease}.password-toggle[data-v-93f281bd]:hover{color:var(--text)}.password-toggle svg[data-v-93f281bd]{width:20px;height:20px}.form-options[data-v-93f281bd]{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.remember-me[data-v-93f281bd]{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-muted);cursor:pointer}.remember-me input[data-v-93f281bd]{display:none}.checkbox-visual[data-v-93f281bd]{width:18px;height:18px;border:1.5px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remember-me input:checked+.checkbox-visual[data-v-93f281bd]{background:var(--primary);border-color:var(--primary)}.remember-me input:checked+.checkbox-visual[data-v-93f281bd]:after{content:"";width:10px;height:6px;border:2px solid #fff;border-top:none;border-right:none;transform:rotate(-45deg) translateY(-1px)}.forgot-link[data-v-93f281bd]{background:none;border:none;color:var(--primary);font-size:.875rem;cursor:pointer;transition:color .2s ease}.forgot-link[data-v-93f281bd]:hover{color:var(--primary-hover)}.submit-btn[data-v-93f281bd]{width:100%;padding:14px;background:var(--primary);border:none;border-radius:8px;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:background-color .15s ease;position:relative;margin-top:8px}.submit-btn[data-v-93f281bd]:hover:not(:disabled){background:var(--primary-hover)}.submit-btn[data-v-93f281bd]:active:not(:disabled){transform:translateY(0)}.submit-btn[data-v-93f281bd]:disabled{opacity:.7;cursor:not-allowed}.btn-loader[data-v-93f281bd]{display:flex;gap:6px;justify-content:center}.btn-loader .dot[data-v-93f281bd]{width:8px;height:8px;background:#fff;border-radius:50%;animation:bounce-93f281bd 1.4s ease-in-out infinite}.btn-loader .dot[data-v-93f281bd]:nth-child(2){animation-delay:.16s}.btn-loader .dot[data-v-93f281bd]:nth-child(3){animation-delay:.32s}@keyframes bounce-93f281bd{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.switch-mode[data-v-93f281bd]{text-align:center;margin-top:24px;font-size:.9rem;color:var(--text-muted)}.switch-mode button[data-v-93f281bd]{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;margin-left:4px;transition:color .2s ease}.switch-mode button[data-v-93f281bd]:hover{color:var(--primary-hover)}.terms[data-v-93f281bd]{text-align:center;font-size:.8rem;color:var(--text-dim);margin-top:20px;line-height:1.5}.terms a[data-v-93f281bd]{color:var(--primary);text-decoration:none}.terms a[data-v-93f281bd]:hover{text-decoration:underline}.modal-backdrop[data-v-93f281bd]{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-card[data-v-93f281bd]{background:var(--surface);border:1px solid var(--border);border-radius:24px;max-width:420px;width:100%;position:relative;box-shadow:0 32px 64px #00000080}.modal-close[data-v-93f281bd]{position:absolute;top:20px;right:20px;background:var(--surface-light);border:1px solid var(--border);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.modal-close[data-v-93f281bd]:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-focus)}.modal-close svg[data-v-93f281bd]{width:16px;height:16px}.modal-content[data-v-93f281bd]{text-align:center}.modal-content h3[data-v-93f281bd]{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 8px}.modal-description[data-v-93f281bd]{font-size:.95rem;color:var(--text-muted);margin:0 0 28px;line-height:1.6}.modal-form[data-v-93f281bd]{display:flex;flex-direction:column;gap:24px}.reset-modal[data-v-93f281bd]{max-width:440px;padding:48px 40px}.modal-header-decoration[data-v-93f281bd]{position:relative;width:80px;height:80px;margin:0 auto 24px}.decoration-ring[data-v-93f281bd]{position:absolute;inset:0;border:2px solid var(--primary);border-radius:50%;opacity:.2;animation:ringPulse-93f281bd 2s ease-out infinite}.decoration-ring.delay[data-v-93f281bd]{animation-delay:1s}@keyframes ringPulse-93f281bd{0%{transform:scale(1);opacity:.3}to{transform:scale(1.5);opacity:0}}.modal-icon-wrapper[data-v-93f281bd]{position:absolute;inset:8px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.modal-icon-wrapper svg[data-v-93f281bd]{width:32px;height:32px}.modal-input[data-v-93f281bd]{text-align:left}.modal-actions.stacked[data-v-93f281bd]{flex-direction:column;gap:12px}.btn-text-only[data-v-93f281bd]{background:none;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:8px;transition:color .2s ease}.btn-text-only[data-v-93f281bd]:hover{color:var(--text)}.success-animation[data-v-93f281bd]{position:relative;width:80px;height:80px;margin:0 auto 24px}.success-ring[data-v-93f281bd]{position:absolute;inset:0;border:3px solid var(--success);border-radius:50%;animation:successRing-93f281bd .6s ease-out}@keyframes successRing-93f281bd{0%{transform:scale(0);opacity:0}50%{opacity:1}to{transform:scale(1);opacity:1}}.success-icon[data-v-93f281bd]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--success);animation:checkDraw-93f281bd .4s ease-out .3s both}.success-icon svg[data-v-93f281bd]{width:40px;height:40px}@keyframes checkDraw-93f281bd{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.email-preview[data-v-93f281bd]{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;background:var(--surface-light);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;color:var(--text-muted);font-size:.9rem}.email-preview svg[data-v-93f281bd]{width:18px;height:18px;flex-shrink:0}.email-preview span[data-v-93f281bd]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-icon[data-v-93f281bd]{width:64px;height:64px;margin:0 auto 20px;background:var(--surface-light);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--primary)}.modal-icon svg[data-v-93f281bd]{width:32px;height:32px}.modal-icon.shield[data-v-93f281bd]{background:#0ea5e91a}.modal-actions[data-v-93f281bd]{display:flex;gap:12px}.btn-primary[data-v-93f281bd],.btn-secondary[data-v-93f281bd]{flex:1;padding:14px 20px;border-radius:12px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary[data-v-93f281bd]{background:var(--primary);border:none;color:#fff}.btn-primary[data-v-93f281bd]:hover:not(:disabled){background:var(--primary-hover)}.btn-primary[data-v-93f281bd]:disabled{opacity:.5;cursor:not-allowed}.btn-primary.full-width[data-v-93f281bd]{width:100%}.btn-secondary[data-v-93f281bd]{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.btn-secondary[data-v-93f281bd]:hover:not(:disabled){background:var(--surface-light);color:var(--text)}.code-input-container[data-v-93f281bd]{text-align:center}.code-input[data-v-93f281bd]{width:100%;padding:16px;background:var(--surface-light);border:1px solid var(--border);border-radius:12px;font-size:1.75rem;font-family:SF Mono,Fira Code,monospace;letter-spacing:.3em;text-align:center;color:var(--text);outline:none;transition:border-color .2s ease}.code-input[data-v-93f281bd]:focus{border-color:var(--primary)}.code-input.error[data-v-93f281bd]{border-color:var(--error)}.code-input[data-v-93f281bd]::placeholder{color:var(--text-dim);letter-spacing:.3em}.toggle-recovery[data-v-93f281bd]{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:color .2s ease}.toggle-recovery[data-v-93f281bd]:hover:not(:disabled){color:var(--primary)}.modal-enter-active[data-v-93f281bd],.modal-leave-active[data-v-93f281bd]{transition:opacity .25s ease}.modal-enter-active .modal-card[data-v-93f281bd],.modal-leave-active .modal-card[data-v-93f281bd]{transition:transform .25s ease,opacity .25s ease}.modal-enter-from[data-v-93f281bd],.modal-leave-to[data-v-93f281bd]{opacity:0}.modal-enter-from .modal-card[data-v-93f281bd],.modal-leave-to .modal-card[data-v-93f281bd]{transform:scale(.95) translateY(10px);opacity:0}@keyframes spin-93f281bd{to{transform:rotate(360deg)}}@media (max-width: 1024px){.auth-container[data-v-93f281bd]{flex-direction:column}.auth-branding[data-v-93f281bd]{padding:32px 24px 24px}.brand-card[data-v-93f281bd]{padding:32px 28px;max-width:100%;border-radius:24px}.brand-title[data-v-93f281bd]{font-size:2.25rem}.brand-logo[data-v-93f281bd]{width:64px;height:64px}.logo-container[data-v-93f281bd]{margin-bottom:16px}.brand-tagline[data-v-93f281bd]{margin-bottom:20px;font-size:.95rem}}@media (max-width: 768px){.auth-branding[data-v-93f281bd]{display:none}.auth-panel[data-v-93f281bd]{padding:0;align-items:flex-start}.auth-card[data-v-93f281bd]{max-width:100%;min-height:100vh;border-radius:0;padding:60px 24px 40px;display:flex;flex-direction:column}.mobile-logo[data-v-93f281bd]{display:block}.form-header[data-v-93f281bd]{margin-bottom:28px}.form-header h2[data-v-93f281bd]{font-size:1.5rem}.form-header p[data-v-93f281bd]{font-size:.9rem}.oauth-section[data-v-93f281bd]{gap:10px}.oauth-btn[data-v-93f281bd]{padding:14px 16px}.switch-mode[data-v-93f281bd]{margin-top:auto;padding-top:24px}.modal-card[data-v-93f281bd]{margin:0;max-width:100%;min-height:100vh;border-radius:0;display:flex;flex-direction:column;justify-content:center}.reset-modal[data-v-93f281bd]{padding:40px 24px}}@media (max-width: 480px){.auth-card[data-v-93f281bd]{padding:48px 20px 32px}.form-options[data-v-93f281bd]{flex-direction:column;align-items:flex-start;gap:12px}.forgot-link[data-v-93f281bd]{align-self:flex-start}}.powered-by[data-v-93f281bd]{position:fixed;bottom:16px;right:20px;z-index:20;font-size:.75rem;color:var(--text-dim);text-decoration:none;opacity:.6;transition:opacity .2s ease,color .2s ease}.powered-by[data-v-93f281bd]:hover{opacity:1;color:var(--text-muted)}.powered-by strong[data-v-93f281bd]{font-weight:600;color:var(--primary)}@supports (padding-top: env(safe-area-inset-top)){@media (max-width: 768px){.auth-card[data-v-93f281bd]{padding-top:calc(60px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}.modal-card[data-v-93f281bd]{padding-top:calc(40px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}}}
