@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--primary-blue: #2563eb;--primary-blue-dark: #1e40af;--primary-blue-light: #3b82f6;--gradient-start: #1e3a8a;--gradient-middle: #2563eb;--gradient-end: #3b82f6;--success-green: #10b981;--danger-red: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #9ca3af;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #f9fafb;--border-light: #e5e7eb;--border-medium: #d1d5db;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--particle-blue: rgba(59, 130, 246, .8);--particle-purple: rgba(147, 51, 234, .7);--shape-blue: rgba(59, 130, 246, .15);--shape-purple: rgba(147, 51, 234, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}@media (prefers-color-scheme: dark){:root{--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-light: #9ca3af;--bg-page: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--border-light: #334155;--border-medium: #475569;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--particle-blue: rgba(96, 165, 250, .9);--particle-purple: rgba(168, 85, 247, .8);--shape-blue: rgba(59, 130, 246, .2);--shape-purple: rgba(147, 51, 234, .18)}}*{margin:0;padding:0;box-sizing:border-box;transition:background-color .3s ease,color .3s ease,border-color .3s ease}body.login-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-page);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;overflow-x:hidden;overflow-y:auto}body.login-page:before{content:"";position:fixed;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,var(--shape-blue) 0%,var(--shape-purple) 50%,transparent 70%);top:-300px;left:-300px;animation:floatShape1 25s ease-in-out infinite;z-index:0}body.login-page:after{content:"";position:fixed;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,var(--shape-purple) 0%,var(--shape-blue) 50%,transparent 70%);bottom:-250px;right:-250px;animation:floatShape2 22s ease-in-out infinite;z-index:0}@keyframes floatShape1{0%,to{transform:translate(0) scale(1) rotate(0)}33%{transform:translate(80px,60px) scale(1.15) rotate(120deg)}66%{transform:translate(-40px,80px) scale(.95) rotate(240deg)}}@keyframes floatShape2{0%,to{transform:translate(0) scale(1) rotate(0)}33%{transform:translate(-70px,-50px) scale(1.12) rotate(-120deg)}66%{transform:translate(50px,-70px) scale(.92) rotate(-240deg)}}.particle-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.particle{position:fixed;bottom:-50px;border-radius:50%;opacity:0;animation:floatParticle 15s ease-in-out infinite;box-shadow:0 0 20px #3b82f64d}.particle-1{width:18px;height:18px;background:radial-gradient(circle,#3b82f6cc,#3b82f64d);left:5%;animation-delay:0s;animation-duration:16s}.particle-2{width:22px;height:22px;background:radial-gradient(circle,#9333eab3,#9333ea40);left:15%;animation-delay:2s;animation-duration:18s}.particle-3{width:14px;height:14px;background:radial-gradient(circle,#3b82f6d9,#3b82f659);left:25%;animation-delay:4s;animation-duration:20s}.particle-4{width:20px;height:20px;background:radial-gradient(circle,#9333eabf,#9333ea4d);left:35%;animation-delay:1s;animation-duration:17s}.particle-5{width:24px;height:24px;background:radial-gradient(circle,#3b82f6b3,#3b82f640);left:45%;animation-delay:3s;animation-duration:19s}.particle-6{width:16px;height:16px;background:radial-gradient(circle,#9333eacc,#9333ea4d);left:55%;animation-delay:5s;animation-duration:21s}.particle-7{width:19px;height:19px;background:radial-gradient(circle,#3b82f6bf,#3b82f64d);left:65%;animation-delay:2.5s;animation-duration:18s}.particle-8{width:21px;height:21px;background:radial-gradient(circle,#9333eab3,#9333ea40);left:75%;animation-delay:4.5s;animation-duration:20s}.particle-9{width:15px;height:15px;background:radial-gradient(circle,#3b82f6cc,#3b82f659);left:85%;animation-delay:1.5s;animation-duration:17s}.particle-10{width:17px;height:17px;background:radial-gradient(circle,#9333eabf,#9333ea4d);left:95%;animation-delay:3.5s;animation-duration:19s}.particle-11{width:23px;height:23px;background:radial-gradient(circle,#3b82f6b3,#3b82f640);left:10%;animation-delay:6s;animation-duration:22s}.particle-12{width:18px;height:18px;background:radial-gradient(circle,#9333eacc,#9333ea4d);left:20%;animation-delay:7s;animation-duration:16s}.particle-13{width:20px;height:20px;background:radial-gradient(circle,#3b82f6bf,#3b82f64d);left:30%;animation-delay:8s;animation-duration:18s}.particle-14{width:16px;height:16px;background:radial-gradient(circle,#9333eab3,#9333ea40);left:40%;animation-delay:5.5s;animation-duration:20s}.particle-15{width:22px;height:22px;background:radial-gradient(circle,#3b82f6cc,#3b82f659);left:50%;animation-delay:9s;animation-duration:17s}.particle-16{width:19px;height:19px;background:radial-gradient(circle,#9333eabf,#9333ea4d);left:60%;animation-delay:6.5s;animation-duration:19s}.particle-17{width:21px;height:21px;background:radial-gradient(circle,#3b82f6b3,#3b82f640);left:70%;animation-delay:7.5s;animation-duration:21s}.particle-18{width:15px;height:15px;background:radial-gradient(circle,#9333eacc,#9333ea4d);left:80%;animation-delay:8.5s;animation-duration:18s}.particle-19{width:24px;height:24px;background:radial-gradient(circle,#3b82f6bf,#3b82f64d);left:90%;animation-delay:9.5s;animation-duration:20s}.particle-20{width:17px;height:17px;background:radial-gradient(circle,#9333eab3,#9333ea40);left:12%;animation-delay:10s;animation-duration:19s}@keyframes floatParticle{0%{bottom:-50px;opacity:0;transform:translate(0) scale(.3)}10%{opacity:.8}20%{transform:translate(30px) scale(.8)}40%{transform:translate(-20px) scale(1.2)}60%{transform:translate(40px) scale(1)}80%{opacity:.6;transform:translate(-30px) scale(.9)}95%{opacity:.2}to{bottom:110vh;opacity:0;transform:translate(20px) scale(.4)}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;z-index:1}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,#2563eb08,#f9fafb00);z-index:0}.login-card{position:relative;z-index:1;width:100%;max-width:440px;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:40px 32px;box-shadow:var(--shadow-lg);animation:fadeInUp .6s ease-out;border:1px solid var(--border-light)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo{display:flex;justify-content:center;margin-bottom:32px}.login-logo-img{width:72px;height:72px;-o-object-fit:contain;object-fit:contain;animation:logoFloat 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(102,126,234,.25))}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.login-header{text-align:center;margin-bottom:32px}.login-title{font-size:20px;font-weight:800;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.02em}.login-subtitle{font-size:12px;font-weight:500;color:var(--text-secondary)}.method-selection{display:flex;flex-direction:column;gap:16px}.google-card{position:relative;border-radius:var(--radius-lg);padding:16px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-sm);background:var(--bg-card);border:3px solid transparent;background-clip:padding-box}.google-card:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--radius-lg);background:linear-gradient(0deg,transparent 0%,transparent 100%),linear-gradient(90deg,#4285f4,#ea4335,#fbbc05,#34a853,#4285f4,#ea4335,#fbbc05,#34a853,#4285f4 200%);background-size:400% 100%;background-position:0% 0%;animation:flowBorder 6s linear infinite;z-index:-1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:3px}.google-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 24px -6px #4285f44d,0 8px 16px -8px #ea433533}.google-card:hover:before{animation:flowBorder 3s linear infinite}.school-card{position:relative;border-radius:var(--radius-lg);padding:16px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-sm);background:var(--bg-card);border:3px solid transparent;background-clip:padding-box}.school-card:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--radius-lg);background:linear-gradient(0deg,transparent 0%,transparent 100%),linear-gradient(90deg,#00843d,gold,#dc143c,#1e40af,#00843d,gold,#dc143c,#1e40af,#00843d 200%);background-size:400% 100%;background-position:0% 0%;animation:flowBorder 6s linear infinite;z-index:-1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:3px}.school-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 24px -6px #00843d4d,0 8px 16px -8px #dc143c33}.school-card:hover:before{animation:flowBorder 3s linear infinite}@keyframes flowBorder{0%{background-position:0% 0%}to{background-position:400% 0%}}.method-card:active{transform:translateY(-2px) scale(.98)}.google-icon{background:linear-gradient(135deg,#4285f41a,#ea43351a,#fbbc051a,#34a8531a,#4285f41a)}.google-card:hover .google-icon{animation:iconPulse .6s ease-in-out;background:linear-gradient(135deg,#4285f433,#ea433533,#fbbc0533,#34a85333,#4285f433)}.school-icon{background:linear-gradient(135deg,#00843d1a,#ffd70026,#dc143c1a);padding:8px}.school-card:hover .school-icon{animation:iconPulse .6s ease-in-out;background:linear-gradient(135deg,#00843d2e,#ffd70040,#dc143c2e)}.method-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.method-icon svg{width:24px;height:24px}.method-content{flex:1}.method-title{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.method-desc{font-size:11px;color:var(--text-secondary)}.method-arrow{width:20px;height:20px;color:var(--text-light);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.method-card:hover .method-arrow{transform:translate(6px) scale(1.1);color:var(--primary-blue)}.form-group{margin-bottom:20px}.form-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-label svg{width:16px;height:16px;color:var(--primary-blue)}.form-input{width:100%;padding:12px 16px;background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-primary);transition:all .3s ease;outline:none}.form-input::-moz-placeholder{color:var(--text-light);font-weight:400}.form-input::placeholder{color:var(--text-light);font-weight:400}.form-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px #2563eb1a}.form-input:hover:not(:focus){border-color:#cbd5e1}.input-with-icon{position:relative}.input-with-icon .form-input{padding-right:48px}.input-icon-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;padding:6px;cursor:pointer;color:var(--text-light);transition:color .3s ease;display:flex;align-items:center;justify-content:center}.input-icon-btn:hover{color:var(--primary-blue)}.input-icon-btn svg{width:20px;height:20px}.form-hint{display:block!important;font-size:.62rem!important;color:#6b7280!important;margin-top:4px!important;line-height:1.3!important;font-weight:400!important;font-style:italic!important;opacity:.85!important;letter-spacing:.01em!important}body.dark-mode .form-hint,.login-page:is([data-theme=dark]) .form-hint{color:#9ca3af!important;opacity:.8!important}@media (prefers-color-scheme: dark){.form-hint{color:#9ca3af!important;opacity:.8!important}}.form-error{display:block!important;font-size:.65rem!important;color:var(--danger-red)!important;margin-top:4px!important;font-weight:500!important;line-height:1.3!important}.btn{width:100%;padding:14px 24px;font-size:13px;font-weight:700;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;outline:none}.btn-primary{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-middle),var(--gradient-end));background-size:200% 200%;color:#fff;box-shadow:0 4px 14px #2563eb66;animation:gradientShift 8s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb80}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-light);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:var(--primary-blue);color:var(--primary-blue);box-shadow:var(--shadow-md)}.btn svg{width:20px;height:20px}.checkbox-wrapper{display:flex;align-items:center;margin:16px 0}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 0}.checkbox-label:hover{color:var(--text-primary)}.checkbox-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:22px;height:22px;border:2.5px solid var(--border-medium);border-radius:7px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;background:var(--bg-card);flex-shrink:0;box-shadow:0 1px 3px #0000000a}.checkbox-input:hover{border-color:var(--primary-blue);transform:scale(1.05);box-shadow:0 0 0 4px #2563eb14,0 2px 4px #0000000f}.checkbox-input:checked{background:linear-gradient(135deg,var(--gradient-middle) 0%,var(--gradient-end) 100%);border-color:var(--primary-blue);box-shadow:0 0 0 4px #2563eb1f,0 4px 8px #2563eb26}.checkbox-input:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);width:11px;height:11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;animation:checkmarkPop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes checkmarkPop{0%{opacity:0;transform:translate(-50%,-50%) scale(0) rotate(-12deg)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(3deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}.checkbox-input:focus{outline:none;box-shadow:0 0 0 4px #2563eb33,0 0 0 1px var(--primary-blue)}.checkbox-input:focus:checked{box-shadow:0 0 0 4px #2563eb40,0 4px 8px #2563eb33}.checkbox-input:active{transform:scale(.92)}body.dark-mode .checkbox-input{border-color:var(--border-light);background:#1e293bcc;box-shadow:0 1px 3px #0003}body.dark-mode .checkbox-input:hover{border-color:var(--primary-blue-light);box-shadow:0 0 0 4px #60a5fa26,0 2px 4px #0000004d}body.dark-mode .checkbox-input:checked{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-color:var(--primary-blue-light);box-shadow:0 0 0 4px #60a5fa33,0 4px 8px #60a5fa40}body.dark-mode .checkbox-input:focus{box-shadow:0 0 0 4px #60a5fa4d,0 0 0 1px var(--primary-blue-light)}@media (prefers-color-scheme: dark){.checkbox-input{border-color:var(--border-light);background:#1e293bcc;box-shadow:0 1px 3px #0003}.checkbox-input:hover{border-color:var(--primary-blue-light);box-shadow:0 0 0 4px #60a5fa26,0 2px 4px #0000004d}.checkbox-input:checked{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-color:var(--primary-blue-light);box-shadow:0 0 0 4px #60a5fa33,0 4px 8px #60a5fa40}.checkbox-input:focus{box-shadow:0 0 0 4px #60a5fa4d,0 0 0 1px var(--primary-blue-light)}}.divider{position:relative;text-align:center;margin:24px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-light)}.divider span{position:relative;background:var(--bg-card);padding:0 16px;font-size:11px;font-weight:500;color:var(--text-light)}.alert{padding:14px 16px;border-radius:var(--radius-md);margin-bottom:20px;display:flex;align-items:flex-start;gap:12px;animation:slideDown .4s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert svg{width:20px;height:20px;flex-shrink:0;margin-top:1px}.alert-success{background:#ecfdf5;border-left:4px solid var(--success-green);color:#065f46}.alert-success svg{color:var(--success-green)}.alert-error{background:#fef2f2;border-left:4px solid var(--danger-red);color:#991b1b}.alert-error svg{color:var(--danger-red)}.alert-text{flex:1;font-size:12px;font-weight:500;line-height:1.5}.login-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light)}.login-footer p{font-size:11px;color:var(--text-light)}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scale-up-smooth{animation:scaleUpSmooth .6s cubic-bezier(.34,1.56,.64,1) forwards;transform-origin:center center}@keyframes scaleUpSmooth{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.scale-up-ease{animation:scaleUpEase .5s cubic-bezier(.4,0,.2,1) forwards;transform-origin:center center}@keyframes scaleUpEase{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.hidden{display:none}.view-transition{transition:opacity .3s ease,transform .3s ease}#googleLoginView,#standardLoginView{opacity:0;transform:scale(.92);animation:scaleUpContainer .5s cubic-bezier(.34,1.56,.64,1) forwards;will-change:transform,opacity}#googleLoginView.hidden,#standardLoginView.hidden{display:none}@keyframes scaleUpContainer{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}#methodSelectionView{transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);will-change:transform,opacity}#methodSelectionView.hidden{display:none}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.login-card{padding:32px 24px}.login-title{font-size:18px}.login-logo-img{width:64px;height:64px}}.cf-turnstile{display:flex;justify-content:center;margin:20px 0}#pwa-install-modal{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#pwa-install-modal>div{background:var(--bg-card);box-shadow:0 20px 60px #0000004d}.pwa-icon-container{width:96px;height:96px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.pwa-icon-container img{width:80px;height:80px;border-radius:var(--radius-md)}.pwa-install-btn{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-middle),var(--gradient-end));box-shadow:0 4px 14px #2563eb66}.pwa-install-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb80}.theme-toggle{position:fixed;top:20px;right:20px;z-index:100;width:48px;height:48px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border-light);box-shadow:var(--shadow-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);outline:none}.theme-toggle:hover{transform:scale(1.1);box-shadow:var(--shadow-lg);border-color:var(--primary-blue)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{width:24px;height:24px;color:var(--text-primary);transition:all .3s ease}.theme-toggle .sun-icon{display:none}.theme-toggle .moon-icon,body.dark-mode .theme-toggle .sun-icon{display:block}body.dark-mode .theme-toggle .moon-icon,body.light-mode .theme-toggle .sun-icon{display:none}body.light-mode .theme-toggle .moon-icon{display:block}@media (max-width: 480px){.theme-toggle{width:44px;height:44px;top:16px;right:16px}.theme-toggle svg{width:22px;height:22px}}body.dark-mode{--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-light: #9ca3af;--bg-page: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--border-light: #334155;--border-medium: #475569;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--particle-blue: rgba(96, 165, 250, .9);--particle-purple: rgba(168, 85, 247, .8);--shape-blue: rgba(59, 130, 246, .2);--shape-purple: rgba(147, 51, 234, .18)}body.light-mode{--text-primary: #1f2937;--text-secondary: #6b7280;--text-light: #9ca3af;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #f9fafb;--border-light: #e5e7eb;--border-medium: #d1d5db;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--particle-blue: rgba(59, 130, 246, .8);--particle-purple: rgba(147, 51, 234, .7);--shape-blue: rgba(59, 130, 246, .15);--shape-purple: rgba(147, 51, 234, .12)}body.dark-mode .login-card{box-shadow:0 20px 60px -10px #0009,0 0 0 1px #ffffff0d}body.dark-mode .particle{box-shadow:0 0 25px var(--particle-blue)}body.dark-mode .form-input{background:var(--bg-page)}body.dark-mode .form-input:focus{box-shadow:0 0 0 3px #60a5fa33}body.dark-mode .btn-primary{box-shadow:0 4px 14px #60a5fa66}body.dark-mode .btn-primary:hover{box-shadow:0 6px 20px #60a5fa80}body.dark-mode .method-card:hover{box-shadow:0 12px 24px -6px #60a5fa4d}body.dark-mode .alert-error{background:#dc262626;border-color:#dc262666}body.dark-mode .alert-success{background:#10b98126;border-color:#10b98166}body.dark-mode .login-logo-img{filter:drop-shadow(0 4px 12px rgba(96,165,250,.3))}body.dark-mode .login-footer p{color:var(--text-secondary)}@media (prefers-color-scheme: dark){.login-card{box-shadow:0 20px 60px -10px #0009,0 0 0 1px #ffffff0d}.particle{box-shadow:0 0 25px var(--particle-blue)}.form-input{background:var(--bg-page)}.form-input:focus{box-shadow:0 0 0 3px #60a5fa33}.btn-primary{box-shadow:0 4px 14px #60a5fa66}.btn-primary:hover{box-shadow:0 6px 20px #60a5fa80}.method-card:hover{box-shadow:0 12px 24px -6px #60a5fa4d}.alert-error{background:#dc262626;border-color:#dc262666}.alert-success{background:#10b98126;border-color:#10b98166}.login-logo-img{filter:drop-shadow(0 4px 12px rgba(96,165,250,.3))}.login-footer p{color:var(--text-secondary)}}.password-strength{margin-top:12px;padding:12px;background:var(--bg-card-hover);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.strength-bars{display:flex;gap:6px;margin-bottom:8px}.strength-bar{flex:1;height:4px;background:var(--border-light);border-radius:2px;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.strength-bar.weak{background:#ef4444}.strength-bar.medium{background:#f59e0b}.strength-bar.strong{background:#10b981}.strength-text{font-size:11px;font-weight:600;margin-bottom:10px;transition:color .2s ease}.strength-text.weak{color:#ef4444}.strength-text.medium{color:#f59e0b}.strength-text.strong{color:#10b981}.strength-criteria{display:flex;flex-direction:column;gap:6px}.criteria-item{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-secondary);transition:all .2s ease}.criteria-item.met{color:#10b981}.criteria-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.criteria-item.met .criteria-icon{color:#10b981}.biometric-card{border:2px solid transparent;background:linear-gradient(var(--bg-card),var(--bg-card)) padding-box,linear-gradient(135deg,#8b5cf6,#3b82f6,#06b6d4,#8b5cf6) border-box;position:relative;overflow:hidden}.biometric-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#8b5cf6,#3b82f6,#06b6d4,#8b5cf6,#8b5cf6);background-size:400% 100%;opacity:0;transition:opacity .3s ease;animation:flowBorder 6s linear infinite;z-index:-1;border-radius:var(--radius-md);pointer-events:none}.biometric-card:hover:before{opacity:.4;animation-duration:3s}.biometric-icon{background:linear-gradient(135deg,#8b5cf6,#06b6d4)}.biometric-icon svg{stroke:#fff}.info-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;cursor:help;color:var(--text-light);transition:color .2s ease}.info-icon:hover{color:var(--primary-blue)}.custom-tooltip{position:fixed;background:#1f2937;color:#fff;padding:8px 12px;border-radius:var(--radius-sm);font-size:11px;line-height:1.4;max-width:250px;z-index:9999;box-shadow:0 4px 12px #0000004d;pointer-events:none;white-space:nowrap}.custom-tooltip:before{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #1f2937}body.dark-mode .password-strength{background:#ffffff0d;border-color:var(--border-light)}body.dark-mode .strength-bar{background:#ffffff1a}body.dark-mode .custom-tooltip{background:#374151}body.dark-mode .custom-tooltip:before{border-top-color:#374151}
