.nav-auth{display:flex;align-items:center;gap:10px;flex-shrink:0}.auth-signin-btn{display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;border:none;border-radius:100px;padding:9px 20px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all 0.2s;white-space:nowrap;font-family:var(--font-body);letter-spacing:-.01em}.auth-signin-btn:hover{opacity:.85;transform:translateY(-1px)}.auth-signin-btn svg{width:14px;height:14px;flex-shrink:0}.auth-avatar-wrap{position:relative;display:none}.auth-avatar-btn{width:34px;height:34px;border-radius:50%;border:2px solid var(--border-md);overflow:hidden;cursor:pointer;background:var(--surface2);padding:0;transition:all 0.2s;display:flex;align-items:center;justify-content:center}.auth-avatar-btn:hover{border-color:var(--accent);box-shadow:0 0 0 3px rgb(99 91 255 / .12)}.auth-avatar-btn img{width:100%;height:100%;object-fit:cover;border-radius:50%}.auth-avatar-btn .auth-avatar-fallback{font-size:.85rem;font-weight:800;color:var(--accent);text-transform:uppercase;line-height:1}.auth-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);box-shadow:0 12px 40px rgb(17 20 57 / .12),0 2px 8px rgb(17 20 57 / .06);padding:6px;z-index:600;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transition:all 0.2s cubic-bezier(.16,1,.3,1);pointer-events:none}.auth-dropdown.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.auth-dropdown-header{padding:12px 14px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.auth-dropdown-name{font-size:.88rem;font-weight:700;color:var(--navy);letter-spacing:-.02em;line-height:1.3}.auth-dropdown-email{font-size:.72rem;color:var(--text-3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-sm);font-size:.82rem;font-weight:600;color:var(--text-2);text-decoration:none;cursor:pointer;transition:all 0.15s;border:none;background:none;width:100%;text-align:left;font-family:var(--font-body)}.auth-dropdown-item:hover{background:var(--surface2);color:var(--navy)}.auth-dropdown-item svg{width:16px;height:16px;flex-shrink:0;opacity:.6}.auth-dropdown-item:hover svg{opacity:1}.auth-dropdown-divider{height:1px;background:var(--border);margin:4px 8px}.auth-dropdown-item.auth-signout{color:var(--red)}.auth-dropdown-item.auth-signout:hover{background:rgb(239 68 68 / .06);color:var(--red)}.auth-modal-overlay{position:fixed;inset:0;background:rgb(17 20 57 / .5);backdrop-filter:blur(12px);z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;animation:authFadeIn 0.25s ease-out}.auth-modal-overlay.active{display:flex}@keyframes authFadeIn{from{opacity:0}to{opacity:1}}.auth-modal{background:var(--bg2);border-radius:var(--r-xl);padding:44px 40px 36px;max-width:400px;width:100%;position:relative;box-shadow:0 24px 80px rgb(17 20 57 / .18),0 4px 16px rgb(17 20 57 / .06);animation:authSlideUp 0.3s cubic-bezier(.16,1,.3,1)}@keyframes authSlideUp{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:var(--surface2);color:var(--text-3);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;line-height:1}.auth-modal-close:hover{background:var(--surface3);color:var(--navy)}.auth-modal-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px}.auth-modal-logo img{width:32px;height:32px;object-fit:contain}.auth-modal-logo span{font-size:1.2rem;font-weight:800;color:var(--navy);letter-spacing:-.04em}.auth-modal-title{font-size:1.5rem;font-weight:800;color:var(--navy);text-align:center;letter-spacing:-.04em;margin-bottom:8px;line-height:1.2}.auth-modal-subtitle{font-size:.88rem;color:var(--text-3);text-align:center;margin-bottom:32px;line-height:1.5}.auth-social-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:0}.auth-social-btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:280px;height:48px;border-radius:10px;border:1.5px solid var(--border-md);background:var(--bg2);cursor:pointer;transition:all 0.2s;gap:12px;font-family:var(--font-body);font-size:.95rem;font-weight:700;color:var(--navy)}.auth-social-btn:hover{border-color:var(--border-hi);background:var(--surface2);box-shadow:0 4px 16px rgb(17 20 57 / .08);transform:translateY(-1px)}.auth-social-btn:active{transform:translateY(0)}.auth-social-btn svg{width:22px;height:22px;flex-shrink:0}.auth-google-btn.loading{pointer-events:none;opacity:.7}.auth-google-btn.loading::after{content:'';width:16px;height:16px;border:2px solid var(--border-md);border-top-color:var(--accent);border-radius:50%;animation:authSpin 0.6s linear infinite;margin-left:8px}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0}.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}.auth-divider span{font-size:.78rem;font-weight:600;color:var(--text-3);letter-spacing:.02em}.auth-card{animation:authCardIn 0.25s cubic-bezier(.16,1,.3,1)}@keyframes authCardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-form{display:flex;flex-direction:column;gap:0}.auth-field{margin-bottom:16px}.auth-label{display:block;font-size:.82rem;font-weight:700;color:var(--navy);margin-bottom:6px;letter-spacing:-.01em}.auth-input{width:100%;padding:12px 14px;border:1.5px solid var(--border-md);border-radius:10px;font-size:.88rem;font-family:var(--font-body);color:var(--navy);background:var(--bg2);outline:none;transition:border-color 0.2s,box-shadow 0.2s;box-sizing:border-box}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(99 91 255 / .1)}.auth-input::placeholder{color:var(--text-3);opacity:.6}.auth-input.error{border-color:#ef4444;box-shadow:0 0 0 3px rgb(239 68 68 / .08)}.auth-input-wrap{position:relative}.auth-input-wrap .auth-input{padding-right:44px}.auth-eye-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-3);border-radius:6px;transition:all 0.15s;padding:0}.auth-eye-btn:hover{color:var(--navy);background:var(--surface2)}.auth-forgot-link{display:inline-block;margin-top:6px;font-size:.78rem;font-weight:700;color:var(--accent);text-decoration:none;transition:opacity 0.15s}.auth-forgot-link:hover{opacity:.75;text-decoration:underline}.auth-submit-btn{width:100%;padding:14px 24px;border-radius:100px;border:none;background:linear-gradient(135deg,#7c5cfc 0%,#635bff 50%,#5046e5 100%);color:#fff;font-size:.95rem;font-weight:800;font-family:var(--font-body);cursor:pointer;transition:all 0.25s;letter-spacing:-.01em;margin-top:4px;position:relative;overflow:hidden}.auth-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgb(99 91 255 / .35)}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{pointer-events:none;opacity:.65}.auth-submit-btn.loading{pointer-events:none;color:#fff0}.auth-submit-btn.loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2.5px solid rgb(255 255 255 / .3);border-top-color:#fff;border-radius:50%;animation:authSpin 0.6s linear infinite}.auth-toggle{text-align:center;margin-top:20px;font-size:.82rem;color:var(--text-3);font-weight:600}.auth-toggle-link{color:var(--accent);font-weight:800;text-decoration:none;transition:opacity 0.15s}.auth-toggle-link:hover{text-decoration:underline;opacity:.8}.auth-form-message{display:none;padding:10px 14px;border-radius:10px;font-size:.8rem;font-weight:600;line-height:1.4;margin-bottom:14px;text-align:center}.auth-form-message.error{display:block;background:rgb(239 68 68 / .08);border:1px solid rgb(239 68 68 / .2);color:#dc2626}.auth-form-message.success{display:block;background:rgb(34 197 94 / .08);border:1px solid rgb(34 197 94 / .2);color:#16a34a}.auth-modal-terms{margin-top:16px;text-align:center;font-size:.72rem;color:var(--text-3);line-height:1.5}.auth-modal-terms a{color:var(--accent);text-decoration:none}.auth-modal-terms a:hover{text-decoration:underline}.auth-built-by{text-align:center;font-size:.68rem;color:var(--text-3);margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.auth-built-by a{color:var(--text-3);text-decoration:none;font-weight:600}.auth-built-by a:hover{color:var(--accent)}.auth-otp-container{display:flex;justify-content:center;gap:8px;margin:8px 0 20px}.auth-otp-input{width:48px;height:56px;text-align:center;font-size:1.4rem;font-weight:800;font-family:var(--font-mono,'DM Mono',monospace);color:var(--navy);background:var(--bg2);border:1.5px solid var(--border-md);border-radius:10px;outline:none;transition:border-color 0.2s,box-shadow 0.2s,background 0.2s;caret-color:var(--accent);box-sizing:border-box}.auth-otp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgb(99 91 255 / .12);background:#fff}.auth-otp-input.filled{border-color:var(--accent);background:rgb(99 91 255 / .04)}.auth-otp-input.error{border-color:#ef4444;box-shadow:0 0 0 3px rgb(239 68 68 / .08);animation:otpShake 0.4s ease-out}@keyframes otpShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.auth-otp-input.success{border-color:#22c55e;background:rgb(34 197 94 / .06)}.auth-resend-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:.8rem;color:var(--text-3);font-weight:600}.auth-resend-btn{background:none;border:none;color:var(--accent);font-weight:800;font-size:.8rem;font-family:var(--font-body);cursor:pointer;padding:2px 4px;border-radius:4px;transition:all 0.15s}.auth-resend-btn:hover{text-decoration:underline;opacity:.8}.auth-resend-btn:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.auth-resend-timer{color:var(--text-3);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.auth-verify-email-display{color:var(--navy);font-weight:700}.mobile-auth-section{padding:20px 0 0;border-top:1px solid rgb(17 20 57 / .08);margin-top:12px}.mobile-auth-user{display:none;align-items:center;gap:12px;padding:12px 0;margin-bottom:12px}.mobile-auth-user.active{display:flex}.mobile-auth-avatar{width:44px;height:44px;border-radius:50%;border:2px solid var(--border-md);overflow:hidden;flex-shrink:0;background:var(--surface2);display:flex;align-items:center;justify-content:center}.mobile-auth-avatar img{width:100%;height:100%;object-fit:cover}.mobile-auth-avatar .auth-avatar-fallback{font-size:1rem;font-weight:800;color:var(--accent)}.mobile-auth-info{flex:1;min-width:0}.mobile-auth-name{font-size:1rem;font-weight:700;color:var(--navy);letter-spacing:-.02em}.mobile-auth-email{font-size:.78rem;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-auth-links{display:flex;flex-direction:column;gap:0}.mobile-auth-link{display:flex;align-items:center;gap:10px;padding:14px 0;font-size:1.1rem;font-weight:700;color:var(--text-2);text-decoration:none;border-bottom:1px solid rgb(17 20 57 / .06);letter-spacing:-.02em}.mobile-auth-link svg{width:18px;height:18px;opacity:.5}.mobile-auth-link.signout{color:var(--red);border-bottom:none}.mobile-signin-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px;border-radius:100px;border:1.5px solid var(--border-md);background:var(--bg2);color:var(--navy);font-size:.95rem;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:all 0.2s;letter-spacing:-.01em}.mobile-signin-btn:hover{border-color:var(--border-hi);background:var(--surface2)}.mobile-signin-btn svg{width:20px;height:20px;flex-shrink:0}@media (max-width:900px){.nav-auth .auth-signin-btn{display:none}.auth-avatar-wrap{display:none!important}}@media (max-width:480px){.auth-modal{padding:32px 20px 24px;border-radius:var(--r-lg);margin:12px}.auth-modal-title{font-size:1.3rem}.auth-social-btn{height:44px}.auth-submit-btn{padding:13px 20px;font-size:.9rem}.auth-input{padding:11px 12px;font-size:.85rem}.auth-otp-container{gap:6px}.auth-otp-input{width:42px;height:50px;font-size:1.2rem}}