@seaverse/auth-sdk 0.4.3 โ†’ 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -482,9 +482,29 @@ The SDK provides beautiful login modal components with dark and light themes:
482
482
 
483
483
  | Theme | Design Style | Use Cases |
484
484
  |------|---------|---------|
485
- | **Dark** ๐ŸŒ™ | Dynamic grid gradient + glassmorphism | Tech products, gaming platforms, dark interface apps |
485
+ | **Dark** ๐ŸŒ™ | Modern glassmorphism with brand color (#00E599) | Tech products, gaming platforms, dark interface apps |
486
486
  | **Light** โ˜€๏ธ | Elevated card design + soft shadows | Business apps, content platforms, light interface apps |
487
487
 
488
+ #### Login Flow Design
489
+
490
+ The dark theme login interface features a **dual-view system** with progressive disclosure:
491
+
492
+ **New Style View (Default)**:
493
+ 1. **Initial View**: Shows OAuth login buttons (Google primary, GitHub/Discord secondary) with brand green (#00E599) for the primary action
494
+ 2. **Email Option**: A "Sign in with Email" button allows users to switch to traditional email/password login
495
+ 3. **Smart View Reset**: When navigating from signup or other forms back to login, automatically resets to this modern OAuth-first view
496
+
497
+ **Old Style View (On-Demand)**:
498
+ 1. **Traditional Form**: Activated by clicking "Sign in with Email", displays the classic email and password input fields
499
+ 2. **Complete Experience**: Includes "Welcome back." title, signup link, and all familiar login elements
500
+ 3. **Back Navigation**: Users can easily return to the OAuth options view with "Back to other options" button
501
+
502
+ This dual-view design:
503
+ - โœจ Prioritizes OAuth login for better conversion rates
504
+ - ๐Ÿ”„ Keeps traditional email login accessible when needed
505
+ - ๐ŸŽฏ Reduces cognitive load with clear, focused interfaces
506
+ - ๐Ÿ“ฑ Provides smooth transitions between authentication methods
507
+
488
508
  #### Basic Usage
489
509
 
490
510
  ```typescript
@@ -1797,7 +1817,20 @@ MIT ยฉ [SeaVerse Team](mailto:support@seaverse.com)
1797
1817
 
1798
1818
  ## Changelog
1799
1819
 
1800
- ### v0.3.6 (Current Version)
1820
+ ### v0.4.4 (Current Version)
1821
+ - ๐ŸŽจ **Login UI Redesign**: Dual-view login system with progressive disclosure
1822
+ - **New Style View (Default)**: Modern OAuth-first interface with brand color #00E599
1823
+ - Google as primary button, GitHub/Discord as secondary options
1824
+ - "Sign in with Email" toggle for traditional login
1825
+ - Automatically shown when returning to login from other views
1826
+ - **Old Style View (On-Demand)**: Classic email/password form
1827
+ - Activated by clicking "Sign in with Email"
1828
+ - Complete traditional login experience with "Welcome back." title
1829
+ - "Back to other options" button to return to OAuth view
1830
+ - Enhanced visual design: improved input fields, button states, and typography
1831
+ - Smooth view transitions with CSS-scoped styling for each mode
1832
+
1833
+ ### v0.3.6
1801
1834
  - ๐Ÿงน **Code Cleanup**: Remove desktop application OAuth callback related functionality
1802
1835
  - Remove `oauthDesktopURL` configuration option
1803
1836
  - Simplify OAuth flow, unified use of `returnUrl` parameter
@@ -1 +1 @@
1
- :root{--font-display:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;--color-neon-green:#10b981;--color-text-primary:#ffffff;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--gradient-neon:linear-gradient(135deg,#10b981 0%,#06b6d4 100%);}.auth-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn 0.3s ease-out;overflow:hidden;}.auth-modal.hidden{display:none;}@keyframes modalFadeIn{from{opacity:0;}to{opacity:1;}}.auth-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}.auth-modal-content{position:relative;z-index:10;display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:900px;max-height:90vh;background:#0d0d0d;border:1px solid rgba(255,255,255,0.08);border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,0.8);overflow:hidden;animation:modalSlideUp 0.4s cubic-bezier(0.4,0,0.2,1);transition:max-width 0.3s ease;}.auth-modal-content:has(#loginForm:not(.hidden)){grid-template-columns:1fr auto;max-width:none;width:auto;}.auth-modal-content:has(#loginForm:not(.hidden)) .auth-modal-right{width:auto;min-width:0;}.auth-modal-content:has(#authMessage:not(.hidden)){grid-template-columns:1fr;max-width:480px;}.auth-modal-content:has(#authMessage:not(.hidden)) .auth-modal-left{display:none;}@keyframes modalSlideUp{from{opacity:0;transform:translateY(30px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}.auth-modal-left{position:relative;display:flex;flex-direction:column;padding:32px;background:#000;overflow:hidden;border-right:1px solid rgba(255,255,255,0.05);}.auth-modal-left::before{content:'';position:absolute;inset:-50%;width:200%;height:200%;background:radial-gradient(at 0% 0%,rgba(99,102,241,0.3) 0px,transparent 50%),radial-gradient(at 50% 0%,rgba(139,92,246,0.3) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(236,72,153,0.3) 0px,transparent 50%),radial-gradient(at 0% 50%,rgba(16,185,129,0.3) 0px,transparent 50%),radial-gradient(at 100% 50%,rgba(244,63,94,0.3) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(236,72,153,0.3) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(139,92,246,0.3) 0px,transparent 50%);filter:blur(80px);animation:meshRotate 20s linear infinite;opacity:0.6;}@keyframes meshRotate{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.auth-modal-left::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");opacity:0.4;mix-blend-mode:overlay;pointer-events:none;}.auth-modal-logo{display:flex;align-items:center;gap:10px;z-index:10;position:relative;}.auth-modal-logo .logo-icon{width:28px;height:28px;filter:drop-shadow(0 0 10px rgba(16,185,129,0.3));}.auth-modal-logo .logo-text{font-family:var(--font-display);font-size:18px;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(0,0,0,0.5);}.auth-modal-decoration{position:absolute;inset:0;overflow:hidden;pointer-events:none;}.auth-modal-decoration .glow-orb-1{position:absolute;width:400px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,0.05) 0%,transparent 70%);border-radius:50%;filter:blur(60px);animation:breathe 8s ease-in-out infinite;pointer-events:none;}@keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.5;}50%{transform:translate(-50%,-50%) scale(1.2);opacity:0.8;}}.auth-modal-decoration .glow-orb-2{position:absolute;width:300px;height:300px;top:20%;right:-10%;background:radial-gradient(circle,rgba(139,92,246,0.08) 0%,transparent 70%);border-radius:50%;filter:blur(50px);animation:breathe 10s ease-in-out infinite;animation-delay:2s;pointer-events:none;}.auth-modal-branding{margin-top:auto;margin-bottom:48px;z-index:10;position:relative;}.auth-modal-branding .branding-title{font-family:var(--font-display);font-size:36px;font-weight:700;line-height:1.15;margin-bottom:12px;color:#ffffff;letter-spacing:-0.02em;text-shadow:0 2px 10px rgba(0,0,0,0.3);}.auth-modal-branding .branding-subtitle{font-size:14px;color:rgba(255,255,255,0.8);max-width:260px;line-height:1.6;}.auth-modal-right{position:relative;display:flex;flex-direction:column;padding:56px 48px 42px 48px;background:#121212;overflow-y:auto;max-height:90vh;}.auth-modal-right::-webkit-scrollbar{width:6px;}.auth-modal-right::-webkit-scrollbar-track{background:transparent;}.auth-modal-right::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:3px;}.auth-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.2s ease;z-index:20;border-radius:8px;}.auth-modal-close:hover{background:rgba(255,255,255,0.1);color:#ffffff;}.auth-form-view{animation:formFadeIn 0.3s ease-out;}#loginForm .form-input{width:360px;}@keyframes formFadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}.auth-form-view.hidden{display:none;}.auth-form-header{margin-bottom:28px;text-align:center;}.auth-form-title{font-family:var(--font-display);font-size:26px;font-weight:700;margin-bottom:8px;color:#ffffff;letter-spacing:-0.02em;}.auth-form-subtitle{font-size:14px;color:var(--color-text-secondary);}.auth-form{display:flex;flex-direction:column;gap:16px;}.form-group{display:flex;flex-direction:column;gap:6px;}.form-label{font-size:12px;font-weight:500;color:var(--color-text-primary);letter-spacing:0.02em;text-transform:uppercase;opacity:0.9;}.form-input{width:100%;height:40px;padding:0 14px;font-family:var(--font-sans);font-size:14px;color:var(--color-text-primary);background:rgba(30,30,30,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:8px;outline:none;transition:all 0.2s ease;}.form-input::placeholder{color:rgba(255,255,255,0.35);}.form-input:hover{border-color:rgba(255,255,255,0.15);}.form-input:focus{border-color:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,0.15);background:rgba(30,30,30,0.9);}.form-input:invalid:not(:placeholder-shown){border-color:#ff006e;}.form-input[type="textarea"],textarea.form-input{min-height:100px;resize:vertical;font-family:inherit;line-height:1.5;padding:12px 14px;}.char-count{font-size:12px;color:rgba(255,255,255,0.5);text-align:right;margin-top:4px;}.auth-modal-light .char-count{color:rgba(0,0,0,0.4);}.icon-mail{position:relative;z-index:2;color:#10b981;filter:drop-shadow(0 0 10px rgba(16,185,129,0.4));animation:floatIcon 4s ease-in-out infinite;}.forgot-password-icon:has(.icon-mail) .icon-glow{background:radial-gradient( circle,rgba(16,185,129,0.25) 0%,rgba(6,182,212,0.15) 40%,transparent 70% );}#applyInviteReason{position:relative;min-height:120px;padding:14px 16px;background:rgba(20,20,20,0.6);transition:all 0.3s ease;}#applyInviteReason:focus{background:rgba(20,20,20,0.8);border-color:rgba(16,185,129,0.5);box-shadow:0 0 0 3px rgba(16,185,129,0.15),0 0 20px rgba(16,185,129,0.15),inset 0 1px 0 rgba(255,255,255,0.05);}.form-group:has(#applyInviteReason) .char-count{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:rgba(161,161,170,0.7);text-align:right;margin-top:8px;padding:4px 0;display:block;float:right;position:relative;transition:all 0.3s ease;letter-spacing:0.02em;}.form-group:has(#applyInviteReason) .char-count::before{content:'';position:absolute;bottom:0;left:0;height:2px;width:var(--progress-width,0%);background:linear-gradient(90deg,#10b981,#06b6d4);transition:width 0.3s ease,box-shadow 0.3s ease,background 0.3s ease;box-shadow:0 0 8px rgba(16,185,129,0.5);}.form-group:has(#applyInviteReason) .char-count[data-progress="low"]{color:rgba(251,191,36,0.9);}.form-group:has(#applyInviteReason) .char-count[data-progress="low"]::before{background:linear-gradient(90deg,rgba(251,191,36,0.8),rgba(251,191,36,0.6));box-shadow:0 0 8px rgba(251,191,36,0.5);}.form-group:has(#applyInviteReason) .char-count[data-progress="medium"]{color:rgba(16,185,129,0.9);}.form-group:has(#applyInviteReason) .char-count[data-progress="medium"]::before{background:linear-gradient(90deg,#10b981,#06b6d4);box-shadow:0 0 10px rgba(16,185,129,0.6);}.form-group:has(#applyInviteReason) .char-count[data-progress="high"]{color:rgba(239,68,68,0.9);}.form-group:has(#applyInviteReason) .char-count[data-progress="high"]::before{background:linear-gradient(90deg,rgba(239,68,68,0.8),rgba(239,68,68,0.6));box-shadow:0 0 10px rgba(239,68,68,0.6);}.auth-modal-light .icon-mail{color:#059669;filter:drop-shadow(0 0 8px rgba(5,150,105,0.3));}.auth-modal-light .forgot-password-icon:has(.icon-mail) .icon-glow{background:radial-gradient( circle,rgba(16,185,129,0.15) 0%,rgba(6,182,212,0.1) 40%,transparent 70% );}.auth-modal-light #applyInviteReason{background:rgba(255,255,255,0.8);border-color:rgba(16,185,129,0.2);color:#0a0a0a;}.auth-modal-light #applyInviteReason:focus{background:rgba(255,255,255,0.95);border-color:rgba(16,185,129,0.5);box-shadow:0 0 0 3px rgba(16,185,129,0.12),0 0 20px rgba(16,185,129,0.1),inset 0 1px 0 rgba(255,255,255,0.8);}.auth-modal-light .form-group:has(#applyInviteReason) .char-count{color:rgba(82,82,91,0.8);}.input-with-icon{position:relative;display:flex;align-items:center;}.input-with-icon .form-input{padding-right:40px;}.input-icon-btn{position:absolute;right:8px;background:transparent;border:none;color:rgba(255,255,255,0.4);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:color 0.2s ease;border-radius:4px;}.input-icon-btn:hover{color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.05);}.input-icon-btn .hidden{display:none;}.strength-text{font-size:12px;color:var(--color-text-tertiary);font-weight:500;display:flex;align-items:center;gap:6px;margin-top:4px;}.form-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}.form-group-header .form-label{margin-bottom:0;}.forgot-password-link{font-size:13px;font-weight:500;color:rgba(255,255,255,0.5);text-decoration:none;transition:all 0.25s ease;position:relative;}.forgot-password-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#10b981;transition:width 0.3s ease;}.forgot-password-link:hover{color:#10b981;}.forgot-password-link:hover::after{width:100%;}.link-primary{color:var(--color-neon-green);text-decoration:none;font-weight:600;transition:all 0.2s ease;position:relative;text-shadow:0 0 10px rgba(0,255,136,0.3);}.link-primary::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:var(--color-neon-green);transform:scaleX(0);transform-origin:right;transition:transform 0.3s ease;}.link-primary:hover{color:#00ff88;text-shadow:0 0 20px rgba(0,255,136,0.5);}.link-primary:hover::after{transform:scaleX(1);transform-origin:left;}.btn-auth-primary{width:100%;height:44px;padding:0 24px;font-family:var(--font-sans);font-size:14px;font-weight:600;color:#000;background:var(--gradient-neon);border:none;border-radius:10px;cursor:pointer;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(16,185,129,0.25);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;}.btn-auth-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.2) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-auth-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,185,129,0.35);}.btn-auth-primary:hover::before{opacity:1;}.btn-auth-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(16,185,129,0.25);}.btn-auth-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none;}.btn-auth-primary .btn-text{position:relative;z-index:2;}.btn-auth-primary .btn-loader{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;}.btn-auth-primary .btn-loader.hidden{display:none;}.spinner{width:20px;height:20px;fill:none;stroke-width:3;animation:spin 0.8s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.spinner-track{stroke:rgba(0,0,0,0.2);}.spinner-circle{stroke:#000;stroke-dasharray:50;stroke-dashoffset:50;animation:spinDash 1.2s ease-in-out infinite;}@keyframes spinDash{0%{stroke-dashoffset:50;}50%{stroke-dashoffset:12.5;}100%{stroke-dashoffset:50;}}.invite-code-icon{position:relative;width:80px;height:80px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:rgba(52,211,153,0.1);border-radius:12px;}.invite-code-icon .icon-glow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(52,211,153,0.2) 0%,transparent 70%);border-radius:50%;animation:pulseGlow 3s ease-in-out infinite;filter:blur(15px);}.invite-code-icon .icon-star{position:relative;z-index:2;color:#34d399;filter:drop-shadow(0 0 10px rgba(52,211,153,0.4));animation:floatIcon 4s ease-in-out infinite;}.forgot-password-icon{position:relative;width:100px;height:100px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;}.forgot-password-icon .icon-glow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(16,185,129,0.25) 0%,transparent 70%);border-radius:50%;animation:pulseGlow 3s ease-in-out infinite;filter:blur(15px);}@keyframes pulseGlow{0%,100%{opacity:0.5;transform:scale(0.95);}50%{opacity:0.8;transform:scale(1.05);}}.forgot-password-icon .icon-lock{position:relative;z-index:2;color:#10b981;filter:drop-shadow(0 0 10px rgba(16,185,129,0.4));animation:floatIcon 4s ease-in-out infinite;}@keyframes floatIcon{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}.btn-forgot-password{display:flex;align-items:center;justify-content:center;gap:8px;}.btn-forgot-password .btn-arrow{transition:transform 0.3s ease;}.btn-forgot-password:hover .btn-arrow{transform:translateX(4px);}.auth-footer{margin-top:24px;text-align:center;}.forgot-footer{display:flex;justify-content:center;}.back-to-login{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:all 0.2s ease;padding:8px 12px;border-radius:6px;}.back-to-login:hover{color:var(--color-neon-green);background:rgba(16,185,129,0.05);}.back-to-login svg{transition:transform 0.3s ease;}.back-to-login:hover svg{transform:translateX(-4px);}.invite-code-divider{position:relative;text-align:center;margin:32px 0 20px 0;font-size:11px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:0.08em;display:flex;align-items:center;gap:12px;}.invite-code-divider::before,.invite-code-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);}.btn-apply-invite{width:100%;height:44px;padding:0 24px;font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--color-text-secondary);background:rgba(30,30,30,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:10px;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}.btn-apply-invite::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.05) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-apply-invite:hover{border-color:rgba(255,255,255,0.2);background:rgba(40,40,40,0.9);color:var(--color-text-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3);}.btn-apply-invite:hover::before{opacity:1;}.btn-apply-invite:active{transform:translateY(0);}.auth-modal-light .invite-code-icon{background:rgba(52,211,153,0.08);}.auth-modal-light .invite-code-icon .icon-star{color:#059669;filter:drop-shadow(0 2px 8px rgba(5,150,105,0.3));}.auth-modal-light .btn-apply-invite{background:rgba(255,255,255,0.9);border:1.5px solid rgba(0,0,0,0.08);color:rgba(0,0,0,0.6);box-shadow:0 2px 4px rgba(0,0,0,0.04),0 0 0 1px rgba(255,255,255,0.8) inset;}.auth-modal-light .btn-apply-invite:hover{background:#ffffff;border-color:rgba(16,185,129,0.2);color:#0a0a0a;box-shadow:0 4px 8px rgba(0,0,0,0.06),0 0 0 1px rgba(16,185,129,0.1) inset;transform:translateY(-1px);}.auth-modal-light .invite-code-divider{color:rgba(0,0,0,0.35);}.auth-modal-light .invite-code-divider::before,.auth-modal-light .invite-code-divider::after{background:linear-gradient(to right,transparent,rgba(0,0,0,0.1),transparent);}.auth-footer-divider{margin-top:32px;padding:28px 20px 0 20px;position:relative;text-align:center;isolation:isolate;}.auth-footer-divider::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:85%;height:2px;background:linear-gradient( 90deg,transparent 0%,rgba(16,185,129,0.15) 15%,rgba(16,185,129,0.5) 30%,rgba(6,182,212,0.6) 50%,rgba(16,185,129,0.5) 70%,rgba(16,185,129,0.15) 85%,transparent 100% );filter:blur(0.5px);animation:energyFlow 4s ease-in-out infinite;}.auth-footer-divider::after{content:'';position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:70%;height:8px;background:radial-gradient( ellipse at center,rgba(16,185,129,0.25) 0%,rgba(6,182,212,0.15) 40%,transparent 70% );filter:blur(6px);animation:glowPulse 3s ease-in-out infinite;opacity:0.6;}@keyframes energyFlow{0%,100%{opacity:0.7;transform:translateX(-50%) scaleX(1);}50%{opacity:1;transform:translateX(-50%) scaleX(1.02);}}@keyframes glowPulse{0%,100%{opacity:0.4;transform:translateX(-50%) scaleY(0.8);}50%{opacity:0.8;transform:translateX(-50%) scaleY(1.2);}}.auth-footer-text{font-size:13.5px;font-weight:400;color:rgba(161,161,170,0.85);letter-spacing:0.02em;line-height:1.6;margin:0;position:relative;z-index:1;}.auth-link{color:#10b981;font-weight:600;text-decoration:none;position:relative;display:inline-block;padding:6px 14px;border-radius:6px;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);background:rgba(16,185,129,0.05);border:1px solid rgba(16,185,129,0.2);margin-left:6px;letter-spacing:0.01em;isolation:isolate;}.auth-link::before{content:'';position:absolute;inset:-1px;border-radius:6px;padding:1px;background:linear-gradient( 135deg,transparent 0%,rgba(16,185,129,0.4) 25%,rgba(6,182,212,0.5) 50%,rgba(16,185,129,0.4) 75%,transparent 100% );-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity 0.4s ease;animation:shimmerRotate 3s linear infinite paused;}@keyframes shimmerRotate{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}.auth-link::after{content:'';position:absolute;bottom:3px;left:14px;right:14px;height:2px;background:linear-gradient( 90deg,rgba(16,185,129,0.8),rgba(6,182,212,0.9),rgba(16,185,129,0.8) );border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);filter:blur(0.5px);box-shadow:0 0 8px rgba(16,185,129,0.6),0 0 12px rgba(6,182,212,0.4);}.auth-link:hover{color:#00ffaa;background:rgba(16,185,129,0.12);border-color:rgba(6,182,212,0.5);transform:translateY(-2px) scale(1.02);text-shadow:0 0 10px rgba(16,185,129,0.6),0 0 20px rgba(6,182,212,0.4),0 0 30px rgba(16,185,129,0.2);box-shadow:0 4px 20px rgba(16,185,129,0.3),0 0 40px rgba(6,182,212,0.15),inset 0 1px 0 rgba(255,255,255,0.1);}.auth-link:hover::before{opacity:1;animation-play-state:running;}.auth-link:hover::after{transform:scaleX(1);}.auth-link:active{transform:translateY(0) scale(0.98);background:rgba(16,185,129,0.18);border-color:rgba(16,185,129,0.6);box-shadow:0 2px 12px rgba(16,185,129,0.4),inset 0 2px 8px rgba(0,0,0,0.2);}.auth-link:focus-visible{outline:none;border-color:rgba(16,185,129,0.8);box-shadow:0 0 0 3px rgba(16,185,129,0.3),0 0 20px rgba(16,185,129,0.4),inset 0 1px 0 rgba(255,255,255,0.15);}@media (max-width:768px){.auth-footer-divider{margin-top:28px;padding-top:24px;}.auth-footer-divider::before{width:90%;}.auth-footer-text{font-size:13px;}.auth-link{padding:8px 16px;margin-left:4px;}.auth-link::after{left:16px;right:16px;}}.auth-modal-light .auth-footer-divider::before{background:linear-gradient( 90deg,transparent 0%,rgba(16,185,129,0.2) 15%,rgba(16,185,129,0.35) 30%,rgba(6,182,212,0.4) 50%,rgba(16,185,129,0.35) 70%,rgba(16,185,129,0.2) 85%,transparent 100% );}.auth-modal-light .auth-footer-divider::after{background:radial-gradient( ellipse at center,rgba(16,185,129,0.15) 0%,rgba(6,182,212,0.1) 40%,transparent 70% );}.auth-modal-light .auth-footer-text{color:rgba(82,82,91,0.9);}.auth-modal-light .auth-link{color:#059669;background:rgba(16,185,129,0.08);border-color:rgba(16,185,129,0.25);}.auth-modal-light .auth-link::before{background:linear-gradient( 135deg,transparent 0%,rgba(16,185,129,0.5) 25%,rgba(6,182,212,0.6) 50%,rgba(16,185,129,0.5) 75%,transparent 100% );}.auth-modal-light .auth-link:hover{color:#047857;background:rgba(16,185,129,0.15);border-color:rgba(6,182,212,0.4);text-shadow:0 0 8px rgba(16,185,129,0.4),0 0 16px rgba(6,182,212,0.3);box-shadow:0 4px 16px rgba(16,185,129,0.25),0 0 30px rgba(6,182,212,0.1),inset 0 1px 0 rgba(255,255,255,0.6);}.auth-modal-light .auth-link:active{background:rgba(16,185,129,0.22);box-shadow:0 2px 10px rgba(16,185,129,0.3),inset 0 2px 6px rgba(0,0,0,0.1);}.auth-message-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;}.message-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;border-radius:50%;background:rgba(16,185,129,0.1);color:#10b981;}.message-icon svg{filter:drop-shadow(0 0 10px rgba(16,185,129,0.3));animation:successPulse 2s ease-in-out infinite;}@keyframes successPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}.message-title{font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:12px;color:#ffffff;}.message-text{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px;line-height:1.6;}.divider{position:relative;text-align:center;margin:24px 0 20px 0;font-size:11px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:0.08em;display:flex;align-items:center;gap:12px;}.divider::before,.divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);}.social-buttons-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.btn-social{height:44px;padding:0 16px;margin:0;font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--color-text-primary);background:rgba(30,30,30,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:10px;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;}.btn-social::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.05) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-social:hover{border-color:rgba(255,255,255,0.2);background:rgba(40,40,40,0.9);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3);}.btn-social:hover::before{opacity:1;}.btn-social:active{transform:translateY(0);}.btn-social svg{width:20px;height:20px;flex-shrink:0;}.btn-social span{position:relative;z-index:2;white-space:nowrap;}.btn-social-full{width:100%;height:44px;padding:0 16px;font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--color-text-primary);background:rgba(30,30,30,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:10px;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;}.btn-social-full::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.05) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-social-full:hover{border-color:rgba(255,255,255,0.2);background:rgba(40,40,40,0.9);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3);}.btn-social-full:hover::before{opacity:1;}.btn-social-full:active{transform:translateY(0);}.btn-social-full svg{width:20px;height:20px;flex-shrink:0;}.btn-social-full span{position:relative;z-index:2;}@media (max-width:768px){.auth-modal-content{grid-template-columns:1fr;max-width:100%;max-height:100vh;border-radius:0;}.auth-modal-left{display:none;}.auth-modal-right{max-height:100vh;padding:24px;}.auth-form-title{font-size:22px;}#loginForm .form-input{width:100%;}.btn-auth-primary{height:48px;font-size:15px;}.social-buttons-grid{grid-template-columns:1fr;gap:10px;}.btn-social,.btn-social-full{height:48px;}}@media (max-width:480px){.auth-modal{padding:0;}.auth-modal-content{border-radius:0;max-height:100vh;}.auth-modal-right{padding:20px 16px;}.auth-form-header{margin-bottom:20px;}}.auth-modal-light{}.auth-modal-light .auth-modal-backdrop{background:rgba(255,255,255,0.75);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);}.auth-modal-light .auth-modal-content{background:linear-gradient(135deg,#fdfbf7 0%,#f8f6f2 100%);border:1px solid rgba(16,185,129,0.1);box-shadow:0 50px 100px rgba(0,0,0,0.12),0 20px 40px rgba(0,0,0,0.08),0 0 0 1px rgba(255,255,255,0.9) inset;}.auth-modal-light .auth-modal-left{background:linear-gradient(135deg,#ffffff 0%,#faf9f7 100%);border-right:1px solid rgba(16,185,129,0.08);box-shadow:2px 0 20px rgba(0,0,0,0.03),0 0 0 1px rgba(16,185,129,0.05) inset;}.auth-modal-light .auth-modal-left::before{background:radial-gradient(at 0% 0%,rgba(16,185,129,0.08) 0px,transparent 50%),radial-gradient(at 50% 0%,rgba(6,182,212,0.06) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(16,185,129,0.08) 0px,transparent 50%),radial-gradient(at 0% 50%,rgba(52,211,153,0.05) 0px,transparent 50%),radial-gradient(at 100% 50%,rgba(6,182,212,0.06) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(16,185,129,0.07) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(52,211,153,0.06) 0px,transparent 50%);filter:blur(60px);opacity:0.9;}.auth-modal-light .auth-modal-left::after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");opacity:0.6;mix-blend-mode:multiply;}.auth-modal-light .auth-modal-logo .logo-icon{filter:drop-shadow(0 2px 8px rgba(16,185,129,0.25));}.auth-modal-light .auth-modal-logo .logo-text{color:#0a0a0a;text-shadow:0 1px 2px rgba(16,185,129,0.1);}.auth-modal-light .auth-modal-decoration .glow-orb-1{background:radial-gradient(circle,rgba(16,185,129,0.08) 0%,transparent 70%);filter:blur(80px);}.auth-modal-light .auth-modal-decoration .glow-orb-2{background:radial-gradient(circle,rgba(6,182,212,0.06) 0%,transparent 70%);filter:blur(70px);}.auth-modal-light .auth-modal-branding .branding-title{color:#0a0a0a;text-shadow:0 2px 12px rgba(16,185,129,0.12);background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.auth-modal-light .auth-modal-branding .branding-subtitle{color:rgba(0,0,0,0.6);}.auth-modal-light .auth-modal-right{background:rgba(255,255,255,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-2px 0 20px rgba(0,0,0,0.03);}.auth-modal-light .auth-modal-right::-webkit-scrollbar-thumb{background:rgba(16,185,129,0.2);}.auth-modal-light .auth-modal-right::-webkit-scrollbar-thumb:hover{background:rgba(16,185,129,0.3);}.auth-modal-light .auth-modal-close{color:rgba(0,0,0,0.4);}.auth-modal-light .auth-modal-close:hover{background:rgba(16,185,129,0.08);color:#0a0a0a;}.auth-modal-light .auth-form-title{color:#0a0a0a;background:linear-gradient(135deg,#0a0a0a 0%,#2a2a2a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.auth-modal-light .auth-form-subtitle{color:rgba(0,0,0,0.5);}.auth-modal-light .form-label{color:#0a0a0a;opacity:0.7;}.auth-modal-light .form-input{color:#0a0a0a;background:rgba(255,255,255,0.9);border:1.5px solid rgba(0,0,0,0.08);box-shadow:0 1px 2px rgba(0,0,0,0.02),0 0 0 1px rgba(255,255,255,0.8) inset;}.auth-modal-light .form-input::placeholder{color:rgba(0,0,0,0.3);}.auth-modal-light .form-input:hover{border-color:rgba(16,185,129,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.03),0 0 0 1px rgba(16,185,129,0.05) inset;}.auth-modal-light .form-input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,0.12),0 2px 8px rgba(16,185,129,0.08);background:#ffffff;}.auth-modal-light .form-input:invalid:not(:placeholder-shown){border-color:#ff006e;box-shadow:0 0 0 3px rgba(255,0,110,0.1);}.auth-modal-light .input-icon-btn{color:rgba(0,0,0,0.4);}.auth-modal-light .input-icon-btn:hover{color:rgba(0,0,0,0.7);}.auth-modal-light .forgot-password-link{color:#10b981;}.auth-modal-light .forgot-password-link:hover{color:#059669;text-shadow:0 0 8px rgba(16,185,129,0.2);}.auth-modal-light .strength-text{color:rgba(0,0,0,0.45);}.auth-modal-light .btn-auth-primary{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#ffffff;border:none;box-shadow:0 4px 12px rgba(16,185,129,0.25),0 2px 4px rgba(16,185,129,0.15),0 0 0 1px rgba(255,255,255,0.3) inset;}.auth-modal-light .btn-auth-primary:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 6px 16px rgba(16,185,129,0.3),0 3px 6px rgba(16,185,129,0.2),0 0 0 1px rgba(255,255,255,0.4) inset;transform:translateY(-1px);}.auth-modal-light .btn-auth-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(16,185,129,0.2),0 1px 3px rgba(16,185,129,0.15);}.auth-modal-light .btn-auth-primary:disabled{background:linear-gradient(135deg,rgba(16,185,129,0.4) 0%,rgba(5,150,105,0.4) 100%);box-shadow:none;}.auth-modal-light .btn-forgot-password{background:linear-gradient(135deg,#10b981 0%,#059669 100%);}.auth-modal-light .btn-forgot-password:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);}.auth-modal-light .btn-forgot-password .btn-arrow{filter:drop-shadow(0 0 4px rgba(255,255,255,0.5));}.auth-modal-light .divider{color:rgba(0,0,0,0.35);}.auth-modal-light .divider::before,.auth-modal-light .divider::after{background:linear-gradient(to right,transparent,rgba(0,0,0,0.1),transparent);}.auth-modal-light .btn-social,.auth-modal-light .btn-social-full{background:rgba(255,255,255,0.9);border:1.5px solid rgba(0,0,0,0.08);color:#1a1a1a;box-shadow:0 2px 4px rgba(0,0,0,0.04),0 0 0 1px rgba(255,255,255,0.8) inset;}.auth-modal-light .btn-social:hover,.auth-modal-light .btn-social-full:hover{background:#ffffff;border-color:rgba(16,185,129,0.2);box-shadow:0 4px 8px rgba(0,0,0,0.06),0 0 0 1px rgba(16,185,129,0.1) inset;transform:translateY(-1px);}.auth-modal-light .btn-social:active,.auth-modal-light .btn-social-full:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,0.04),0 0 0 1px rgba(0,0,0,0.05) inset;}.auth-modal-light .link-primary{color:#10b981;}.auth-modal-light .link-primary:hover{color:#059669;text-shadow:0 0 8px rgba(16,185,129,0.2);}.auth-modal-light .forgot-password-icon{background:linear-gradient(135deg,rgba(16,185,129,0.08) 0%,rgba(6,182,212,0.06) 100%);box-shadow:0 8px 24px rgba(16,185,129,0.12),0 0 0 1px rgba(16,185,129,0.1) inset;}.auth-modal-light .forgot-password-icon .icon-glow{background:radial-gradient(circle,rgba(16,185,129,0.15) 0%,transparent 70%);}.auth-modal-light .forgot-password-icon .icon-lock{color:#10b981;filter:drop-shadow(0 2px 8px rgba(16,185,129,0.2));}.auth-modal-light .forgot-password-icon .lock-shackle{animation:shakeLock 2s ease-in-out infinite;}.auth-modal-light .back-to-login{color:rgba(0,0,0,0.6);}.auth-modal-light .back-to-login:hover{color:#10b981;}.auth-modal-light .back-to-login svg{color:rgba(0,0,0,0.4);}.auth-modal-light .back-to-login:hover svg{color:#10b981;}.auth-modal-light .auth-message-content{background:linear-gradient(135deg,rgba(16,185,129,0.05) 0%,rgba(6,182,212,0.03) 100%);box-shadow:0 8px 32px rgba(16,185,129,0.12),0 0 0 1px rgba(16,185,129,0.1) inset;}.auth-modal-light .message-icon{background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 8px 24px rgba(16,185,129,0.3),0 0 0 4px rgba(16,185,129,0.1);}.auth-modal-light .message-icon svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));}.auth-modal-light .message-title{color:#0a0a0a;background:linear-gradient(135deg,#0a0a0a 0%,#2a2a2a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.auth-modal-light .message-text{color:rgba(0,0,0,0.6);}
1
+ :root{--font-display:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;--color-neon-green:#10b981;--color-text-primary:#ffffff;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--gradient-neon:linear-gradient(135deg,#10b981 0%,#06b6d4 100%);}.auth-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:modalFadeIn 0.3s ease-out;overflow:hidden;}.auth-modal.hidden{display:none;}@keyframes modalFadeIn{from{opacity:0;}to{opacity:1;}}.auth-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}.auth-modal-content{position:relative;z-index:10;display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:900px;max-height:90vh;background:#0d0d0d;border:1px solid rgba(255,255,255,0.08);border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,0.8);overflow:hidden;animation:modalSlideUp 0.4s cubic-bezier(0.4,0,0.2,1);transition:max-width 0.3s ease;}.auth-modal-content:has(#loginForm:not(.hidden)){grid-template-columns:1fr auto;max-width:none;width:auto;}.auth-modal-content:has(#loginForm:not(.hidden)) .auth-modal-right{width:auto;min-width:0;}.auth-modal-content:has(#newStyleLoginView:not(.hidden)) .auth-modal-right{width:auto;}.auth-modal-content:has(#oldStyleLoginView:not(.hidden)) .auth-modal-right{width:auto;}.auth-modal-content:has(#authMessage:not(.hidden)){grid-template-columns:1fr;max-width:480px;}.auth-modal-content:has(#authMessage:not(.hidden)) .auth-modal-left{display:none;}@keyframes modalSlideUp{from{opacity:0;transform:translateY(30px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}.auth-modal-left{position:relative;display:flex;flex-direction:column;padding:32px;background:#000;overflow:hidden;border-right:1px solid rgba(255,255,255,0.05);}.auth-modal-left::before{content:'';position:absolute;inset:-50%;width:200%;height:200%;background:radial-gradient(at 0% 0%,rgba(99,102,241,0.3) 0px,transparent 50%),radial-gradient(at 50% 0%,rgba(139,92,246,0.3) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(236,72,153,0.3) 0px,transparent 50%),radial-gradient(at 0% 50%,rgba(16,185,129,0.3) 0px,transparent 50%),radial-gradient(at 100% 50%,rgba(244,63,94,0.3) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(236,72,153,0.3) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(139,92,246,0.3) 0px,transparent 50%);filter:blur(80px);animation:meshRotate 20s linear infinite;opacity:0.6;}@keyframes meshRotate{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.auth-modal-left::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");opacity:0.4;mix-blend-mode:overlay;pointer-events:none;}.auth-modal-logo{display:flex;align-items:center;gap:10px;z-index:10;position:relative;}.auth-modal-logo .logo-icon{width:28px;height:28px;filter:drop-shadow(0 0 10px rgba(16,185,129,0.3));}.auth-modal-logo .logo-text{font-family:var(--font-display);font-size:18px;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(0,0,0,0.5);}.auth-modal-decoration{position:absolute;inset:0;overflow:hidden;pointer-events:none;}.auth-modal-decoration .glow-orb-1{position:absolute;width:400px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,0.05) 0%,transparent 70%);border-radius:50%;filter:blur(60px);animation:breathe 8s ease-in-out infinite;pointer-events:none;}@keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.5;}50%{transform:translate(-50%,-50%) scale(1.2);opacity:0.8;}}.auth-modal-decoration .glow-orb-2{position:absolute;width:300px;height:300px;top:20%;right:-10%;background:radial-gradient(circle,rgba(139,92,246,0.08) 0%,transparent 70%);border-radius:50%;filter:blur(50px);animation:breathe 10s ease-in-out infinite;animation-delay:2s;pointer-events:none;}.auth-modal-branding{margin-top:auto;margin-bottom:48px;z-index:10;position:relative;}.auth-modal-branding .branding-title{font-family:var(--font-display);font-size:36px;font-weight:700;line-height:1.15;margin-bottom:12px;color:#ffffff;letter-spacing:-0.02em;text-shadow:0 2px 10px rgba(0,0,0,0.3);}.auth-modal-branding .branding-subtitle{font-size:14px;color:rgba(255,255,255,0.8);max-width:260px;line-height:1.6;}.auth-modal-right{position:relative;display:flex;flex-direction:column;padding:56px 48px 42px 48px;background:#1e1e1e;overflow-y:auto;max-height:90vh;}.auth-modal-right::-webkit-scrollbar{width:6px;}.auth-modal-right::-webkit-scrollbar-track{background:transparent;}.auth-modal-right::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:3px;}.auth-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.2s ease;z-index:20;border-radius:8px;}.auth-modal-close:hover{background:rgba(255,255,255,0.1);color:#ffffff;}.auth-form-view{animation:formFadeIn 0.3s ease-out;}#loginForm .form-input{width:360px;}@keyframes formFadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}.auth-form-view.hidden{display:none;}.new-style-login-view{max-width:400px;margin:0 auto;animation:formFadeIn 0.3s ease-out;}.new-style-login-view.hidden{display:none;}.new-style-login-view .auth-form-header{margin-bottom:32px;text-align:center;}.new-style-login-view .auth-form-title{font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:8px;color:#ffffff;letter-spacing:-0.02em;}.new-style-login-view .auth-form-subtitle{font-size:14px;color:rgba(161,161,170,1);}.new-style-login-view .auth-form{display:flex;flex-direction:column;gap:12px;}.new-style-login-view .btn-auth-primary{width:100%;height:56px;padding:0 24px;font-size:16px;font-weight:700;color:#000;background:#00E599;border:none;border-radius:12px;box-shadow:0 0 20px rgba(0,229,153,0.2);display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;}.new-style-login-view .btn-auth-primary:hover{background:#00cc88;transform:scale(1.02);}.new-style-login-view .btn-auth-primary:active{transform:scale(0.95);}.new-style-login-view .btn-auth-primary svg{width:20px;height:20px;}.new-style-login-view .social-buttons-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}.new-style-login-view .btn-social{height:48px;background:rgba(43,45,49,1);border:1px solid rgba(113,113,122,1);border-radius:12px;color:rgba(161,161,170,1);}.new-style-login-view .btn-social:hover{background:rgba(53,55,60,1);border-color:rgba(161,161,170,1);color:#ffffff;}.new-style-login-view .divider{font-size:12px;color:rgba(113,113,122,1);margin:24px 0 20px 0;}.new-style-login-view .divider::before,.new-style-login-view .divider::after{height:1px;background:rgba(82,82,91,1);}.btn-email-toggle{width:100%;height:48px;padding:0 16px;font-family:var(--font-sans);font-size:14px;font-weight:500;color:rgba(209,213,219,1);background:transparent;border:1px solid rgba(107,114,128,1);border-radius:12px;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px;}.btn-email-toggle:hover{border-color:rgba(156,163,175,1);color:#ffffff;}.btn-email-toggle svg{color:rgba(156,163,175,1);}.terms-text{font-size:12px;color:rgba(113,113,122,1);text-align:center;line-height:1.5;}.terms-link{color:rgba(113,113,122,1);text-decoration:underline;transition:color 0.2s ease;}.terms-link:hover{color:rgba(156,163,175,1);}.old-style-login-view{animation:formFadeIn 0.3s ease-out;}.old-style-login-view.hidden{display:none;}.old-style-login-view .auth-form-header{margin-bottom:28px;text-align:center;}.old-style-login-view .auth-form-title{font-family:var(--font-display);font-size:26px;font-weight:700;margin-bottom:8px;color:#ffffff;letter-spacing:-0.02em;}.old-style-login-view .auth-form-subtitle{font-size:14px;color:var(--color-text-secondary);}.old-style-login-view .form-input{width:360px;}.btn-back{width:100%;height:32px;padding:0 12px;font-family:var(--font-sans);font-size:14px;font-weight:500;color:rgba(156,163,175,1);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;}.btn-back:hover{color:#ffffff;}.btn-back svg{transition:transform 0.3s ease;}.btn-back:hover svg{transform:translateX(-4px);}.auth-form-header{margin-bottom:28px;text-align:center;}.auth-form-title{font-family:var(--font-display);font-size:26px;font-weight:700;margin-bottom:8px;color:#ffffff;letter-spacing:-0.02em;}.auth-form-subtitle{font-size:14px;color:var(--color-text-secondary);}.auth-form{display:flex;flex-direction:column;gap:16px;}.form-group{display:flex;flex-direction:column;gap:6px;}.form-label{font-size:12px;font-weight:500;color:var(--color-text-primary);letter-spacing:0.02em;text-transform:uppercase;opacity:0.9;}.form-input{width:100%;height:40px;padding:0 14px;font-family:var(--font-sans);font-size:14px;color:var(--color-text-primary);background:rgba(30,30,30,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:8px;outline:none;transition:all 0.2s ease;}.form-input::placeholder{color:rgba(255,255,255,0.35);}.form-input:hover{border-color:rgba(255,255,255,0.15);}.form-input:focus{border-color:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,0.15);background:rgba(30,30,30,0.9);}.form-input:invalid:not(:placeholder-shown){border-color:#ff006e;}.form-input[type="textarea"],textarea.form-input{min-height:100px;resize:vertical;font-family:inherit;line-height:1.5;padding:12px 14px;}.char-count{font-size:12px;color:rgba(255,255,255,0.5);text-align:right;margin-top:4px;}.auth-modal-light .char-count{color:rgba(0,0,0,0.4);}.icon-mail{position:relative;z-index:2;color:#10b981;filter:drop-shadow(0 0 10px rgba(16,185,129,0.4));animation:floatIcon 4s ease-in-out infinite;}.forgot-password-icon:has(.icon-mail) .icon-glow{background:radial-gradient( circle,rgba(16,185,129,0.25) 0%,rgba(6,182,212,0.15) 40%,transparent 70% );}#applyInviteReason{position:relative;min-height:120px;padding:14px 16px;background:rgba(20,20,20,0.6);transition:all 0.3s ease;}#applyInviteReason:focus{background:rgba(20,20,20,0.8);border-color:rgba(16,185,129,0.5);box-shadow:0 0 0 3px rgba(16,185,129,0.15),0 0 20px rgba(16,185,129,0.15),inset 0 1px 0 rgba(255,255,255,0.05);}.form-group:has(#applyInviteReason) .char-count{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:rgba(161,161,170,0.7);text-align:right;margin-top:8px;padding:4px 0;display:block;float:right;position:relative;transition:all 0.3s ease;letter-spacing:0.02em;}.form-group:has(#applyInviteReason) .char-count::before{content:'';position:absolute;bottom:0;left:0;height:2px;width:var(--progress-width,0%);background:linear-gradient(90deg,#10b981,#06b6d4);transition:width 0.3s ease,box-shadow 0.3s ease,background 0.3s ease;box-shadow:0 0 8px rgba(16,185,129,0.5);}.form-group:has(#applyInviteReason) .char-count[data-progress="low"]{color:rgba(251,191,36,0.9);}.form-group:has(#applyInviteReason) .char-count[data-progress="low"]::before{background:linear-gradient(90deg,rgba(251,191,36,0.8),rgba(251,191,36,0.6));box-shadow:0 0 8px rgba(251,191,36,0.5);}.form-group:has(#applyInviteReason) .char-count[data-progress="medium"]{color:rgba(16,185,129,0.9);}.form-group:has(#applyInviteReason) .char-count[data-progress="medium"]::before{background:linear-gradient(90deg,#10b981,#06b6d4);box-shadow:0 0 10px rgba(16,185,129,0.6);}.form-group:has(#applyInviteReason) .char-count[data-progress="high"]{color:rgba(239,68,68,0.9);}.form-group:has(#applyInviteReason) .char-count[data-progress="high"]::before{background:linear-gradient(90deg,rgba(239,68,68,0.8),rgba(239,68,68,0.6));box-shadow:0 0 10px rgba(239,68,68,0.6);}.auth-modal-light .icon-mail{color:#059669;filter:drop-shadow(0 0 8px rgba(5,150,105,0.3));}.auth-modal-light .forgot-password-icon:has(.icon-mail) .icon-glow{background:radial-gradient( circle,rgba(16,185,129,0.15) 0%,rgba(6,182,212,0.1) 40%,transparent 70% );}.auth-modal-light #applyInviteReason{background:rgba(255,255,255,0.8);border-color:rgba(16,185,129,0.2);color:#0a0a0a;}.auth-modal-light #applyInviteReason:focus{background:rgba(255,255,255,0.95);border-color:rgba(16,185,129,0.5);box-shadow:0 0 0 3px rgba(16,185,129,0.12),0 0 20px rgba(16,185,129,0.1),inset 0 1px 0 rgba(255,255,255,0.8);}.auth-modal-light .form-group:has(#applyInviteReason) .char-count{color:rgba(82,82,91,0.8);}.input-with-icon{position:relative;display:flex;align-items:center;}.input-with-icon .form-input{padding-right:40px;}.input-icon-btn{position:absolute;right:8px;background:transparent;border:none;color:rgba(255,255,255,0.4);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:color 0.2s ease;border-radius:4px;}.input-icon-btn:hover{color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.05);}.input-icon-btn .hidden{display:none;}.strength-text{font-size:12px;color:var(--color-text-tertiary);font-weight:500;display:flex;align-items:center;gap:6px;margin-top:4px;}.form-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}.form-group-header .form-label{margin-bottom:0;}.forgot-password-link{font-size:12px;font-weight:500;color:#00E599;text-decoration:none;transition:all 0.2s ease;position:relative;}.forgot-password-link:hover{color:#00cc88;}.link-primary{color:var(--color-neon-green);text-decoration:none;font-weight:600;transition:all 0.2s ease;position:relative;text-shadow:0 0 10px rgba(0,255,136,0.3);}.link-primary::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:var(--color-neon-green);transform:scaleX(0);transform-origin:right;transition:transform 0.3s ease;}.link-primary:hover{color:#00ff88;text-shadow:0 0 20px rgba(0,255,136,0.5);}.link-primary:hover::after{transform:scaleX(1);transform-origin:left;}.btn-auth-primary{width:100%;height:56px;padding:0 24px;font-family:var(--font-sans);font-size:16px;font-weight:700;color:#000;background:#00E599;border:none;border-radius:12px;cursor:pointer;transition:all 0.2s ease;position:relative;overflow:hidden;box-shadow:0 0 20px rgba(0,229,153,0.2);display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;}.btn-auth-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.2) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-auth-primary:hover{background:#00cc88;transform:scale(1.02);}.btn-auth-primary:hover::before{opacity:1;}.btn-auth-primary:active{transform:scale(0.95);}.btn-auth-primary svg{width:20px;height:20px;flex-shrink:0;}.btn-auth-primary svg path{fill:rgba(0,0,0,0.8);}.btn-auth-primary:disabled{opacity:0.6;cursor:not-allowed;transform:none;}.btn-auth-primary .btn-text{position:relative;z-index:2;}.btn-auth-primary .btn-loader{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;}.btn-auth-primary .btn-loader.hidden{display:none;}.spinner{width:20px;height:20px;fill:none;stroke-width:3;animation:spin 0.8s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.spinner-track{stroke:rgba(0,0,0,0.2);}.spinner-circle{stroke:#000;stroke-dasharray:50;stroke-dashoffset:50;animation:spinDash 1.2s ease-in-out infinite;}@keyframes spinDash{0%{stroke-dashoffset:50;}50%{stroke-dashoffset:12.5;}100%{stroke-dashoffset:50;}}.invite-code-icon{position:relative;width:80px;height:80px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:rgba(52,211,153,0.1);border-radius:12px;}.invite-code-icon .icon-glow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(52,211,153,0.2) 0%,transparent 70%);border-radius:50%;animation:pulseGlow 3s ease-in-out infinite;filter:blur(15px);}.invite-code-icon .icon-star{position:relative;z-index:2;color:#34d399;filter:drop-shadow(0 0 10px rgba(52,211,153,0.4));animation:floatIcon 4s ease-in-out infinite;}.forgot-password-icon{position:relative;width:100px;height:100px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;}.forgot-password-icon .icon-glow{position:absolute;inset:-10px;background:radial-gradient(circle,rgba(16,185,129,0.25) 0%,transparent 70%);border-radius:50%;animation:pulseGlow 3s ease-in-out infinite;filter:blur(15px);}@keyframes pulseGlow{0%,100%{opacity:0.5;transform:scale(0.95);}50%{opacity:0.8;transform:scale(1.05);}}.forgot-password-icon .icon-lock{position:relative;z-index:2;color:#10b981;filter:drop-shadow(0 0 10px rgba(16,185,129,0.4));animation:floatIcon 4s ease-in-out infinite;}@keyframes floatIcon{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}.btn-forgot-password{display:flex;align-items:center;justify-content:center;gap:8px;}.btn-forgot-password .btn-arrow{transition:transform 0.3s ease;}.btn-forgot-password:hover .btn-arrow{transform:translateX(4px);}.auth-footer{margin-top:24px;text-align:center;}.forgot-footer{display:flex;justify-content:center;}.back-to-login{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:all 0.2s ease;padding:8px 12px;border-radius:6px;}.back-to-login:hover{color:var(--color-neon-green);background:rgba(16,185,129,0.05);}.back-to-login svg{transition:transform 0.3s ease;}.back-to-login:hover svg{transform:translateX(-4px);}.invite-code-divider{position:relative;text-align:center;margin:32px 0 20px 0;font-size:11px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:0.08em;display:flex;align-items:center;gap:12px;}.invite-code-divider::before,.invite-code-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);}.btn-apply-invite{width:100%;height:44px;padding:0 24px;font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--color-text-secondary);background:rgba(30,30,30,0.8);border:1px solid rgba(255,255,255,0.1);border-radius:10px;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}.btn-apply-invite::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.05) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-apply-invite:hover{border-color:rgba(255,255,255,0.2);background:rgba(40,40,40,0.9);color:var(--color-text-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.3);}.btn-apply-invite:hover::before{opacity:1;}.btn-apply-invite:active{transform:translateY(0);}.auth-modal-light .invite-code-icon{background:rgba(52,211,153,0.08);}.auth-modal-light .invite-code-icon .icon-star{color:#059669;filter:drop-shadow(0 2px 8px rgba(5,150,105,0.3));}.auth-modal-light .btn-apply-invite{background:rgba(255,255,255,0.9);border:1.5px solid rgba(0,0,0,0.08);color:rgba(0,0,0,0.6);box-shadow:0 2px 4px rgba(0,0,0,0.04),0 0 0 1px rgba(255,255,255,0.8) inset;}.auth-modal-light .btn-apply-invite:hover{background:#ffffff;border-color:rgba(16,185,129,0.2);color:#0a0a0a;box-shadow:0 4px 8px rgba(0,0,0,0.06),0 0 0 1px rgba(16,185,129,0.1) inset;transform:translateY(-1px);}.auth-modal-light .invite-code-divider{color:rgba(0,0,0,0.35);}.auth-modal-light .invite-code-divider::before,.auth-modal-light .invite-code-divider::after{background:linear-gradient(to right,transparent,rgba(0,0,0,0.1),transparent);}.auth-footer-divider{margin-top:32px;padding:28px 20px 0 20px;position:relative;text-align:center;isolation:isolate;}.auth-footer-divider::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:85%;height:2px;background:linear-gradient( 90deg,transparent 0%,rgba(16,185,129,0.15) 15%,rgba(16,185,129,0.5) 30%,rgba(6,182,212,0.6) 50%,rgba(16,185,129,0.5) 70%,rgba(16,185,129,0.15) 85%,transparent 100% );filter:blur(0.5px);animation:energyFlow 4s ease-in-out infinite;}.auth-footer-divider::after{content:'';position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:70%;height:8px;background:radial-gradient( ellipse at center,rgba(16,185,129,0.25) 0%,rgba(6,182,212,0.15) 40%,transparent 70% );filter:blur(6px);animation:glowPulse 3s ease-in-out infinite;opacity:0.6;}@keyframes energyFlow{0%,100%{opacity:0.7;transform:translateX(-50%) scaleX(1);}50%{opacity:1;transform:translateX(-50%) scaleX(1.02);}}@keyframes glowPulse{0%,100%{opacity:0.4;transform:translateX(-50%) scaleY(0.8);}50%{opacity:0.8;transform:translateX(-50%) scaleY(1.2);}}.auth-footer-text{font-size:13.5px;font-weight:400;color:rgba(161,161,170,0.85);letter-spacing:0.02em;line-height:1.6;margin:0;position:relative;z-index:1;}.auth-link{color:#10b981;font-weight:600;text-decoration:none;position:relative;display:inline-block;padding:6px 14px;border-radius:6px;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);background:rgba(16,185,129,0.05);border:1px solid rgba(16,185,129,0.2);margin-left:6px;letter-spacing:0.01em;isolation:isolate;}.auth-link::before{content:'';position:absolute;inset:-1px;border-radius:6px;padding:1px;background:linear-gradient( 135deg,transparent 0%,rgba(16,185,129,0.4) 25%,rgba(6,182,212,0.5) 50%,rgba(16,185,129,0.4) 75%,transparent 100% );-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity 0.4s ease;animation:shimmerRotate 3s linear infinite paused;}@keyframes shimmerRotate{0%{background-position:0% 50%;}100%{background-position:200% 50%;}}.auth-link::after{content:'';position:absolute;bottom:3px;left:14px;right:14px;height:2px;background:linear-gradient( 90deg,rgba(16,185,129,0.8),rgba(6,182,212,0.9),rgba(16,185,129,0.8) );border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);filter:blur(0.5px);box-shadow:0 0 8px rgba(16,185,129,0.6),0 0 12px rgba(6,182,212,0.4);}.auth-link:hover{color:#00ffaa;background:rgba(16,185,129,0.12);border-color:rgba(6,182,212,0.5);transform:translateY(-2px) scale(1.02);text-shadow:0 0 10px rgba(16,185,129,0.6),0 0 20px rgba(6,182,212,0.4),0 0 30px rgba(16,185,129,0.2);box-shadow:0 4px 20px rgba(16,185,129,0.3),0 0 40px rgba(6,182,212,0.15),inset 0 1px 0 rgba(255,255,255,0.1);}.auth-link:hover::before{opacity:1;animation-play-state:running;}.auth-link:hover::after{transform:scaleX(1);}.auth-link:active{transform:translateY(0) scale(0.98);background:rgba(16,185,129,0.18);border-color:rgba(16,185,129,0.6);box-shadow:0 2px 12px rgba(16,185,129,0.4),inset 0 2px 8px rgba(0,0,0,0.2);}.auth-link:focus-visible{outline:none;border-color:rgba(16,185,129,0.8);box-shadow:0 0 0 3px rgba(16,185,129,0.3),0 0 20px rgba(16,185,129,0.4),inset 0 1px 0 rgba(255,255,255,0.15);}@media (max-width:768px){.auth-footer-divider{margin-top:28px;padding-top:24px;}.auth-footer-divider::before{width:90%;}.auth-footer-text{font-size:13px;}.auth-link{padding:8px 16px;margin-left:4px;}.auth-link::after{left:16px;right:16px;}}.auth-modal-light .auth-footer-divider::before{background:linear-gradient( 90deg,transparent 0%,rgba(16,185,129,0.2) 15%,rgba(16,185,129,0.35) 30%,rgba(6,182,212,0.4) 50%,rgba(16,185,129,0.35) 70%,rgba(16,185,129,0.2) 85%,transparent 100% );}.auth-modal-light .auth-footer-divider::after{background:radial-gradient( ellipse at center,rgba(16,185,129,0.15) 0%,rgba(6,182,212,0.1) 40%,transparent 70% );}.auth-modal-light .auth-footer-text{color:rgba(82,82,91,0.9);}.auth-modal-light .auth-link{color:#059669;background:rgba(16,185,129,0.08);border-color:rgba(16,185,129,0.25);}.auth-modal-light .auth-link::before{background:linear-gradient( 135deg,transparent 0%,rgba(16,185,129,0.5) 25%,rgba(6,182,212,0.6) 50%,rgba(16,185,129,0.5) 75%,transparent 100% );}.auth-modal-light .auth-link:hover{color:#047857;background:rgba(16,185,129,0.15);border-color:rgba(6,182,212,0.4);text-shadow:0 0 8px rgba(16,185,129,0.4),0 0 16px rgba(6,182,212,0.3);box-shadow:0 4px 16px rgba(16,185,129,0.25),0 0 30px rgba(6,182,212,0.1),inset 0 1px 0 rgba(255,255,255,0.6);}.auth-modal-light .auth-link:active{background:rgba(16,185,129,0.22);box-shadow:0 2px 10px rgba(16,185,129,0.3),inset 0 2px 6px rgba(0,0,0,0.1);}.auth-message-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;}.message-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;border-radius:50%;background:rgba(16,185,129,0.1);color:#10b981;}.message-icon svg{filter:drop-shadow(0 0 10px rgba(16,185,129,0.3));animation:successPulse 2s ease-in-out infinite;}@keyframes successPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}.message-title{font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:12px;color:#ffffff;}.message-text{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px;line-height:1.6;}.divider{position:relative;text-align:center;margin:24px 0 20px 0;font-size:12px;font-weight:600;color:rgba(113,113,122,1);letter-spacing:0.08em;display:flex;align-items:center;gap:16px;}.divider::before,.divider::after{content:'';flex:1;height:1px;background:rgba(82,82,91,1);}.social-buttons-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.btn-social{height:48px;padding:0 16px;margin:0;font-family:var(--font-sans);font-size:14px;font-weight:500;color:rgba(161,161,170,1);background:rgba(43,45,49,1);border:1px solid rgba(113,113,122,1);border-radius:12px;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;}.btn-social::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.05) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-social:hover{border-color:rgba(161,161,170,1);background:rgba(53,55,60,1);color:#ffffff;}.btn-social:hover::before{opacity:1;}.btn-social:active{transform:scale(0.95);}.btn-social svg{width:20px;height:20px;flex-shrink:0;}.btn-social span{position:relative;z-index:2;white-space:nowrap;}.btn-social-full{width:100%;height:48px;padding:0 16px;font-family:var(--font-sans);font-size:14px;font-weight:500;color:rgba(161,161,170,1);background:rgba(43,45,49,1);border:1px solid rgba(113,113,122,1);border-radius:12px;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;}.btn-social-full::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,0.05) 50%,transparent 100%);opacity:0;transition:opacity 0.3s ease;}.btn-social-full:hover{border-color:rgba(161,161,170,1);background:rgba(53,55,60,1);color:#ffffff;}.btn-social-full:hover::before{opacity:1;}.btn-social-full:active{transform:scale(0.95);}.btn-social-full svg{width:20px;height:20px;flex-shrink:0;}.btn-social-full span{position:relative;z-index:2;}@media (max-width:768px){.auth-modal-content{grid-template-columns:1fr;max-width:100%;max-height:100vh;border-radius:0;}.auth-modal-left{display:none;}.auth-modal-right{max-height:100vh;padding:24px;}.auth-form-title{font-size:22px;}#loginForm .form-input{width:100%;}.btn-auth-primary{height:48px;font-size:15px;}.social-buttons-grid{grid-template-columns:1fr;gap:10px;}.btn-social,.btn-social-full{height:48px;}.new-style-login-view,.old-style-login-view{max-width:100%;}.new-style-login-view .social-buttons-grid{grid-template-columns:1fr;}.new-style-login-view .btn-email-toggle{height:48px;}.old-style-login-view .form-input{width:100%;}}@media (max-width:480px){.auth-modal{padding:0;}.auth-modal-content{border-radius:0;max-height:100vh;}.auth-modal-right{padding:20px 16px;}.auth-form-header{margin-bottom:20px;}.auth-form-title{font-size:20px;}.new-style-login-view .btn-email-toggle{height:44px;}}.auth-modal-light{}.auth-modal-light .auth-modal-backdrop{background:rgba(255,255,255,0.75);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);}.auth-modal-light .auth-modal-content{background:linear-gradient(135deg,#fdfbf7 0%,#f8f6f2 100%);border:1px solid rgba(16,185,129,0.1);box-shadow:0 50px 100px rgba(0,0,0,0.12),0 20px 40px rgba(0,0,0,0.08),0 0 0 1px rgba(255,255,255,0.9) inset;}.auth-modal-light .auth-modal-left{background:linear-gradient(135deg,#ffffff 0%,#faf9f7 100%);border-right:1px solid rgba(16,185,129,0.08);box-shadow:2px 0 20px rgba(0,0,0,0.03),0 0 0 1px rgba(16,185,129,0.05) inset;}.auth-modal-light .auth-modal-left::before{background:radial-gradient(at 0% 0%,rgba(16,185,129,0.08) 0px,transparent 50%),radial-gradient(at 50% 0%,rgba(6,182,212,0.06) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(16,185,129,0.08) 0px,transparent 50%),radial-gradient(at 0% 50%,rgba(52,211,153,0.05) 0px,transparent 50%),radial-gradient(at 100% 50%,rgba(6,182,212,0.06) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(16,185,129,0.07) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(52,211,153,0.06) 0px,transparent 50%);filter:blur(60px);opacity:0.9;}.auth-modal-light .auth-modal-left::after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");opacity:0.6;mix-blend-mode:multiply;}.auth-modal-light .auth-modal-logo .logo-icon{filter:drop-shadow(0 2px 8px rgba(16,185,129,0.25));}.auth-modal-light .auth-modal-logo .logo-text{color:#0a0a0a;text-shadow:0 1px 2px rgba(16,185,129,0.1);}.auth-modal-light .auth-modal-decoration .glow-orb-1{background:radial-gradient(circle,rgba(16,185,129,0.08) 0%,transparent 70%);filter:blur(80px);}.auth-modal-light .auth-modal-decoration .glow-orb-2{background:radial-gradient(circle,rgba(6,182,212,0.06) 0%,transparent 70%);filter:blur(70px);}.auth-modal-light .auth-modal-branding .branding-title{color:#0a0a0a;text-shadow:0 2px 12px rgba(16,185,129,0.12);background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.auth-modal-light .auth-modal-branding .branding-subtitle{color:rgba(0,0,0,0.6);}.auth-modal-light .auth-modal-right{background:rgba(255,255,255,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:-2px 0 20px rgba(0,0,0,0.03);}.auth-modal-light .auth-modal-right::-webkit-scrollbar-thumb{background:rgba(16,185,129,0.2);}.auth-modal-light .auth-modal-right::-webkit-scrollbar-thumb:hover{background:rgba(16,185,129,0.3);}.auth-modal-light .auth-modal-close{color:rgba(0,0,0,0.4);}.auth-modal-light .auth-modal-close:hover{background:rgba(16,185,129,0.08);color:#0a0a0a;}.auth-modal-light .auth-form-title{color:#0a0a0a;background:linear-gradient(135deg,#0a0a0a 0%,#2a2a2a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.auth-modal-light .auth-form-subtitle{color:rgba(0,0,0,0.5);}.auth-modal-light .form-label{color:#0a0a0a;opacity:0.7;}.auth-modal-light .form-input{color:#0a0a0a;background:rgba(255,255,255,0.9);border:1.5px solid rgba(0,0,0,0.08);box-shadow:0 1px 2px rgba(0,0,0,0.02),0 0 0 1px rgba(255,255,255,0.8) inset;}.auth-modal-light .form-input::placeholder{color:rgba(0,0,0,0.3);}.auth-modal-light .form-input:hover{border-color:rgba(16,185,129,0.2);box-shadow:0 2px 4px rgba(0,0,0,0.03),0 0 0 1px rgba(16,185,129,0.05) inset;}.auth-modal-light .form-input:focus{border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,0.12),0 2px 8px rgba(16,185,129,0.08);background:#ffffff;}.auth-modal-light .form-input:invalid:not(:placeholder-shown){border-color:#ff006e;box-shadow:0 0 0 3px rgba(255,0,110,0.1);}.auth-modal-light .input-icon-btn{color:rgba(0,0,0,0.4);}.auth-modal-light .input-icon-btn:hover{color:rgba(0,0,0,0.7);}.auth-modal-light .forgot-password-link{color:#10b981;}.auth-modal-light .forgot-password-link:hover{color:#059669;text-shadow:0 0 8px rgba(16,185,129,0.2);}.auth-modal-light .strength-text{color:rgba(0,0,0,0.45);}.auth-modal-light .btn-auth-primary{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#ffffff;border:none;box-shadow:0 4px 12px rgba(16,185,129,0.25),0 2px 4px rgba(16,185,129,0.15),0 0 0 1px rgba(255,255,255,0.3) inset;}.auth-modal-light .btn-auth-primary:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 6px 16px rgba(16,185,129,0.3),0 3px 6px rgba(16,185,129,0.2),0 0 0 1px rgba(255,255,255,0.4) inset;transform:translateY(-1px);}.auth-modal-light .btn-auth-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(16,185,129,0.2),0 1px 3px rgba(16,185,129,0.15);}.auth-modal-light .btn-auth-primary:disabled{background:linear-gradient(135deg,rgba(16,185,129,0.4) 0%,rgba(5,150,105,0.4) 100%);box-shadow:none;}.auth-modal-light .btn-forgot-password{background:linear-gradient(135deg,#10b981 0%,#059669 100%);}.auth-modal-light .btn-forgot-password:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);}.auth-modal-light .btn-forgot-password .btn-arrow{filter:drop-shadow(0 0 4px rgba(255,255,255,0.5));}.auth-modal-light .divider{color:rgba(0,0,0,0.35);}.auth-modal-light .divider::before,.auth-modal-light .divider::after{background:linear-gradient(to right,transparent,rgba(0,0,0,0.1),transparent);}.auth-modal-light .btn-social,.auth-modal-light .btn-social-full{background:rgba(255,255,255,0.9);border:1.5px solid rgba(0,0,0,0.08);color:#1a1a1a;box-shadow:0 2px 4px rgba(0,0,0,0.04),0 0 0 1px rgba(255,255,255,0.8) inset;}.auth-modal-light .btn-social:hover,.auth-modal-light .btn-social-full:hover{background:#ffffff;border-color:rgba(16,185,129,0.2);box-shadow:0 4px 8px rgba(0,0,0,0.06),0 0 0 1px rgba(16,185,129,0.1) inset;transform:translateY(-1px);}.auth-modal-light .btn-social:active,.auth-modal-light .btn-social-full:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,0.04),0 0 0 1px rgba(0,0,0,0.05) inset;}.auth-modal-light .link-primary{color:#10b981;}.auth-modal-light .link-primary:hover{color:#059669;text-shadow:0 0 8px rgba(16,185,129,0.2);}.auth-modal-light .forgot-password-icon{background:linear-gradient(135deg,rgba(16,185,129,0.08) 0%,rgba(6,182,212,0.06) 100%);box-shadow:0 8px 24px rgba(16,185,129,0.12),0 0 0 1px rgba(16,185,129,0.1) inset;}.auth-modal-light .forgot-password-icon .icon-glow{background:radial-gradient(circle,rgba(16,185,129,0.15) 0%,transparent 70%);}.auth-modal-light .forgot-password-icon .icon-lock{color:#10b981;filter:drop-shadow(0 2px 8px rgba(16,185,129,0.2));}.auth-modal-light .forgot-password-icon .lock-shackle{animation:shakeLock 2s ease-in-out infinite;}.auth-modal-light .back-to-login{color:rgba(0,0,0,0.6);}.auth-modal-light .back-to-login:hover{color:#10b981;}.auth-modal-light .back-to-login svg{color:rgba(0,0,0,0.4);}.auth-modal-light .back-to-login:hover svg{color:#10b981;}.auth-modal-light .auth-message-content{background:linear-gradient(135deg,rgba(16,185,129,0.05) 0%,rgba(6,182,212,0.03) 100%);box-shadow:0 8px 32px rgba(16,185,129,0.12),0 0 0 1px rgba(16,185,129,0.1) inset;}.auth-modal-light .message-icon{background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 8px 24px rgba(16,185,129,0.3),0 0 0 4px rgba(16,185,129,0.1);}.auth-modal-light .message-icon svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2));}.auth-modal-light .message-title{color:#0a0a0a;background:linear-gradient(135deg,#0a0a0a 0%,#2a2a2a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.auth-modal-light .message-text{color:rgba(0,0,0,0.6);}
package/dist/index.cjs CHANGED
@@ -2806,6 +2806,97 @@ class AuthModal {
2806
2806
  const container = document.createElement('div');
2807
2807
  container.id = 'loginForm';
2808
2808
  container.className = 'auth-form-view';
2809
+ // NEW STYLE VIEW (OAuth-first, shown by default)
2810
+ const newStyleView = this.createNewStyleLoginView();
2811
+ container.appendChild(newStyleView);
2812
+ // OLD STYLE VIEW (Traditional email/password, hidden by default)
2813
+ const oldStyleView = this.createOldStyleLoginView();
2814
+ container.appendChild(oldStyleView);
2815
+ return container;
2816
+ }
2817
+ /**
2818
+ * Create new style login view (OAuth-first)
2819
+ */
2820
+ createNewStyleLoginView() {
2821
+ const view = document.createElement('div');
2822
+ view.id = 'newStyleLoginView';
2823
+ view.className = 'new-style-login-view';
2824
+ // Header
2825
+ const header = document.createElement('div');
2826
+ header.className = 'auth-form-header';
2827
+ const title = document.createElement('h2');
2828
+ title.className = 'auth-form-title';
2829
+ title.textContent = 'Welcome back';
2830
+ const subtitle = document.createElement('p');
2831
+ subtitle.className = 'auth-form-subtitle';
2832
+ subtitle.textContent = 'Please choose a login method to continue';
2833
+ header.appendChild(title);
2834
+ header.appendChild(subtitle);
2835
+ view.appendChild(header);
2836
+ // Form container
2837
+ const form = document.createElement('div');
2838
+ form.className = 'auth-form';
2839
+ // OAuth buttons - only show if enabled
2840
+ const hasOAuth = this.options.enableOAuth &&
2841
+ (this.options.enableOAuth.google || this.options.enableOAuth.discord || this.options.enableOAuth.github);
2842
+ if (hasOAuth) {
2843
+ // Google button (full width, primary style)
2844
+ if (this.options.enableOAuth?.google) {
2845
+ const googleBtn = this.createSocialButton('google', 'Continue with Google', 'login', true);
2846
+ googleBtn.className = 'btn-auth-primary';
2847
+ form.appendChild(googleBtn);
2848
+ }
2849
+ // Social buttons grid (GitHub + Discord)
2850
+ const socialGrid = document.createElement('div');
2851
+ socialGrid.className = 'social-buttons-grid';
2852
+ if (this.options.enableOAuth?.github) {
2853
+ const githubBtn = this.createSocialButton('github', 'GitHub', 'login');
2854
+ socialGrid.appendChild(githubBtn);
2855
+ }
2856
+ if (this.options.enableOAuth?.discord) {
2857
+ const discordBtn = this.createSocialButton('discord', 'Discord', 'login');
2858
+ socialGrid.appendChild(discordBtn);
2859
+ }
2860
+ if (socialGrid.children.length > 0) {
2861
+ form.appendChild(socialGrid);
2862
+ }
2863
+ // Divider
2864
+ const divider = document.createElement('div');
2865
+ divider.className = 'divider';
2866
+ divider.textContent = 'or continue with';
2867
+ form.appendChild(divider);
2868
+ }
2869
+ // "Sign in with Email" button
2870
+ const emailBtn = document.createElement('button');
2871
+ emailBtn.type = 'button';
2872
+ emailBtn.id = 'showOldStyleLogin';
2873
+ emailBtn.className = 'btn-email-toggle';
2874
+ emailBtn.innerHTML = `
2875
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2876
+ <path d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
2877
+ </svg>
2878
+ <span>Sign in with Email</span>
2879
+ `;
2880
+ form.appendChild(emailBtn);
2881
+ // Terms text
2882
+ const termsText = document.createElement('p');
2883
+ termsText.className = 'terms-text';
2884
+ termsText.innerHTML = `
2885
+ By clicking continue, you agree to our
2886
+ <a href="#" class="terms-link">Terms of Service</a> and
2887
+ <a href="#" class="terms-link">Privacy Policy</a>.
2888
+ `;
2889
+ form.appendChild(termsText);
2890
+ view.appendChild(form);
2891
+ return view;
2892
+ }
2893
+ /**
2894
+ * Create old style login view (Traditional email/password form with original CSS)
2895
+ */
2896
+ createOldStyleLoginView() {
2897
+ const view = document.createElement('div');
2898
+ view.id = 'oldStyleLoginView';
2899
+ view.className = 'old-style-login-view hidden';
2809
2900
  // Header
2810
2901
  const header = document.createElement('div');
2811
2902
  header.className = 'auth-form-header';
@@ -2823,7 +2914,7 @@ class AuthModal {
2823
2914
  subtitle.appendChild(signupLink);
2824
2915
  header.appendChild(title);
2825
2916
  header.appendChild(subtitle);
2826
- container.appendChild(header);
2917
+ view.appendChild(header);
2827
2918
  // Form
2828
2919
  const form = document.createElement('form');
2829
2920
  form.id = 'loginFormElement';
@@ -2877,28 +2968,25 @@ class AuthModal {
2877
2968
  // Social buttons grid (Google + GitHub)
2878
2969
  const socialGrid = document.createElement('div');
2879
2970
  socialGrid.className = 'social-buttons-grid';
2880
- // Google button - only if enabled
2881
2971
  if (this.options.enableOAuth?.google) {
2882
2972
  const googleBtn = this.createSocialButton('google', 'Google', 'login');
2883
2973
  socialGrid.appendChild(googleBtn);
2884
2974
  }
2885
- // GitHub button - only if configured
2886
2975
  if (this.options.enableOAuth?.github) {
2887
2976
  const githubBtn = this.createSocialButton('github', 'Github', 'login');
2888
2977
  socialGrid.appendChild(githubBtn);
2889
2978
  }
2890
- // Only add grid if it has buttons
2891
2979
  if (socialGrid.children.length > 0) {
2892
2980
  form.appendChild(socialGrid);
2893
2981
  }
2894
- // Discord button (full width) - only if configured
2982
+ // Discord button (full width)
2895
2983
  if (this.options.enableOAuth?.discord) {
2896
2984
  const discordBtn = this.createSocialButton('discord', 'Discord', 'login', true);
2897
2985
  form.appendChild(discordBtn);
2898
2986
  }
2899
2987
  }
2900
- container.appendChild(form);
2901
- return container;
2988
+ view.appendChild(form);
2989
+ return view;
2902
2990
  }
2903
2991
  createSignupForm() {
2904
2992
  const container = document.createElement('div');
@@ -3506,17 +3594,46 @@ class AuthModal {
3506
3594
  // Backdrop click to close
3507
3595
  const backdrop = this.modal.querySelector('.auth-modal-backdrop');
3508
3596
  backdrop?.addEventListener('click', () => this.hide());
3509
- // View switching
3510
- const showSignup = this.modal.querySelector('#showSignup');
3511
- showSignup?.addEventListener('click', (e) => {
3512
- e.preventDefault();
3513
- this.switchView('signup');
3597
+ // Email form toggle
3598
+ const showEmailForm = this.modal.querySelector('#showEmailForm');
3599
+ showEmailForm?.addEventListener('click', () => {
3600
+ const emailForm = this.modal.querySelector('#emailLoginForm');
3601
+ const emailBtn = this.modal.querySelector('#showEmailForm');
3602
+ emailForm?.classList.remove('hidden');
3603
+ emailBtn?.classList.add('hidden');
3604
+ // Update header
3605
+ const title = this.modal.querySelector('#loginForm .auth-form-title');
3606
+ const subtitle = this.modal.querySelector('#loginForm .auth-form-subtitle');
3607
+ if (title)
3608
+ title.textContent = 'Sign in with Email';
3609
+ if (subtitle)
3610
+ subtitle.textContent = 'Enter your details below';
3514
3611
  });
3612
+ const backToSocialLogin = this.modal.querySelector('#backToSocialLogin');
3613
+ backToSocialLogin?.addEventListener('click', () => {
3614
+ const emailForm = this.modal.querySelector('#emailLoginForm');
3615
+ const emailBtn = this.modal.querySelector('#showEmailForm');
3616
+ emailForm?.classList.add('hidden');
3617
+ emailBtn?.classList.remove('hidden');
3618
+ // Restore header
3619
+ const title = this.modal.querySelector('#loginForm .auth-form-title');
3620
+ const subtitle = this.modal.querySelector('#loginForm .auth-form-subtitle');
3621
+ if (title)
3622
+ title.textContent = 'Welcome back';
3623
+ if (subtitle)
3624
+ subtitle.textContent = 'Please choose a login method to continue';
3625
+ });
3626
+ // View switching
3515
3627
  const showLogin = this.modal.querySelector('#showLogin');
3516
3628
  showLogin?.addEventListener('click', (e) => {
3517
3629
  e.preventDefault();
3518
3630
  this.switchView('login');
3519
3631
  });
3632
+ const showSignup = this.modal.querySelector('#showSignup');
3633
+ showSignup?.addEventListener('click', (e) => {
3634
+ e.preventDefault();
3635
+ this.switchView('signup');
3636
+ });
3520
3637
  const forgotPasswordLink = this.modal.querySelector('#forgotPasswordLink');
3521
3638
  forgotPasswordLink?.addEventListener('click', (e) => {
3522
3639
  e.preventDefault();
@@ -3570,6 +3687,11 @@ class AuthModal {
3570
3687
  }
3571
3688
  });
3572
3689
  });
3690
+ // Login view style switching
3691
+ const showOldStyleLogin = this.modal.querySelector('#showOldStyleLogin');
3692
+ showOldStyleLogin?.addEventListener('click', () => {
3693
+ this.showOldStyleLogin();
3694
+ });
3573
3695
  // Form submissions
3574
3696
  const loginForm = this.modal.querySelector('#loginFormElement');
3575
3697
  loginForm?.addEventListener('submit', (e) => this.handleLogin(e));
@@ -3670,6 +3792,32 @@ class AuthModal {
3670
3792
  const targetView = this.modal.querySelector(`#${viewMap[view]}`);
3671
3793
  targetView?.classList.remove('hidden');
3672
3794
  this.currentView = view;
3795
+ // When switching to login view, reset to new style
3796
+ if (view === 'login') {
3797
+ this.showNewStyleLogin();
3798
+ }
3799
+ }
3800
+ /**
3801
+ * Show new style login view (OAuth-first)
3802
+ */
3803
+ showNewStyleLogin() {
3804
+ if (!this.modal)
3805
+ return;
3806
+ const newStyleView = this.modal.querySelector('#newStyleLoginView');
3807
+ const oldStyleView = this.modal.querySelector('#oldStyleLoginView');
3808
+ newStyleView?.classList.remove('hidden');
3809
+ oldStyleView?.classList.add('hidden');
3810
+ }
3811
+ /**
3812
+ * Show old style login view (traditional email/password form)
3813
+ */
3814
+ showOldStyleLogin() {
3815
+ if (!this.modal)
3816
+ return;
3817
+ const newStyleView = this.modal.querySelector('#newStyleLoginView');
3818
+ const oldStyleView = this.modal.querySelector('#oldStyleLoginView');
3819
+ newStyleView?.classList.add('hidden');
3820
+ oldStyleView?.classList.remove('hidden');
3673
3821
  }
3674
3822
  async handleLogin(e) {
3675
3823
  e.preventDefault();