.login-root-container{background:#1a1a2e;width:100vw;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}#login-page{grid-template-columns:1fr 1fr;height:100vh;display:grid}.left-panel{background:linear-gradient(135deg,#d4d0dc 0%,#c8c4d0 50%,#bbb7c5 100%);flex-direction:column;justify-content:space-between;padding:40px 48px;display:flex;position:relative;overflow:hidden}.left-panel .logo{color:#1a1a2e;z-index:10;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex;position:relative}.characters-wrapper{z-index:10;flex:1;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.left-panel .footer-links{color:#50465ab3;z-index:10;gap:28px;font-size:13px;display:flex;position:relative}.left-panel .footer-links a{color:inherit;text-decoration:none;transition:color .2s}.left-panel .footer-links a:hover{color:#333}.left-panel:after{content:"";filter:blur(80px);background:#b4aac840;border-radius:50%;width:260px;height:260px;position:absolute;top:20%;right:15%}.left-panel:before{content:"";filter:blur(100px);background:#c8c3d233;border-radius:50%;width:350px;height:350px;position:absolute;bottom:15%;left:10%}.right-panel{background:#fff;justify-content:center;align-items:center;padding:40px;display:flex}.form-container{width:100%;max-width:400px}.sparkle-icon{justify-content:center;margin-bottom:24px;display:flex}.sparkle-icon svg{width:32px;height:32px}.form-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:36px;display:flex}.form-header h1{color:#1a1a2e;letter-spacing:-.5px;margin-bottom:6px;font-size:28px;font-weight:700}.form-header p{color:#888;font-size:14px}.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-group .input-wrapper{position:relative}.form-group input{color:#1a1a2e;background:0 0;border:none;border-bottom:1.5px solid #e0e0e0;outline:none;width:100%;height:48px;padding:0 40px 0 0;font-family:inherit;font-size:15px;transition:border-color .3s}.form-group input:focus{border-bottom-color:#5b21b6}.form-group input::placeholder{color:#ccc}.form-group input[type=password]:not(:-moz-placeholder-shown){letter-spacing:2px;font-family:inherit}.form-group input[type=password]:not(:placeholder-shown){letter-spacing:2px;font-family:inherit}.toggle-password{cursor:pointer;color:#666;background:0 0;border:none;padding:6px;transition:color .2s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.toggle-password:hover{color:#333}.form-options{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.remember-me{color:#555;cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.remember-me input[type=checkbox]{accent-color:#5b21b6;cursor:pointer;width:16px;height:16px}.forgot-link{color:#5b21b6;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s}.forgot-link:hover{opacity:.8}.btn-login{color:#fff;cursor:pointer;background:#1a1a2e;border:1.5px solid #1a1a2e;border-radius:25px;width:100%;height:50px;margin-bottom:14px;font-family:inherit;font-size:15px;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.btn-login:disabled{opacity:.7;cursor:not-allowed}.btn-login .btn-text{transition:all .3s;display:inline-block}.btn-login .btn-hover-content{color:#fff;opacity:0;background:#5b21b6;border-radius:25px;justify-content:center;align-items:center;gap:8px;transition:all .3s;display:flex;position:absolute;inset:0}.btn-login:not(:disabled):hover .btn-text{opacity:0;transform:translate(40px)}.btn-login:not(:disabled):hover .btn-hover-content{opacity:1}.btn-google{color:#333;cursor:pointer;background:#f5f5f5;border:1.5px solid #e0e0e0;border-radius:25px;width:100%;height:50px;font-family:inherit;font-size:15px;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.btn-google .btn-text{align-items:center;gap:10px;transition:all .3s;display:inline-flex}.btn-google .btn-hover-content{color:#fff;opacity:0;background:#5b21b6;border-radius:25px;justify-content:center;align-items:center;gap:8px;transition:all .3s;display:flex;position:absolute;inset:0}.btn-google:hover .btn-text{opacity:0;transform:translate(40px)}.btn-google:hover .btn-hover-content{opacity:1}.google-icon{width:18px;height:18px}.signup-link{text-align:center;color:#888;margin-top:32px;font-size:13px}.signup-link a{color:#1a1a2e;font-weight:600;text-decoration:none}.signup-link a:hover{text-decoration:underline}.characters-scene{transform-origin:50%;width:480px;height:360px;position:relative;transform:scale(.8)}.character{transform-origin:bottom;transition:all .7s ease-in-out;position:absolute;bottom:0}.char-purple{z-index:1;background:#6c3ff5;border-radius:10px 10px 0 0;width:170px;height:370px;left:60px}.char-black{z-index:2;background:#2d2d2d;border-radius:8px 8px 0 0;width:115px;height:290px;left:220px}.char-orange{z-index:3;background:#ff9b6b;border-radius:115px 115px 0 0;width:230px;height:190px;left:0}.char-yellow{z-index:4;background:#e8d754;border-radius:68px 68px 0 0;width:135px;height:215px;left:290px}.eyes{transition:all .7s ease-in-out;display:flex;position:absolute}.eyeball{background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:height .15s;display:flex;overflow:hidden}.pupil{background:#2d2d2d;border-radius:50%;transition:transform .1s ease-out}.bare-pupil{background:#2d2d2d;border-radius:50%;width:12px;height:12px;transition:transform .7s ease-in-out}.yellow-mouth{background:#2d2d2d;border-radius:2px;width:50px;height:4px;transition:all .7s ease-in-out;position:absolute}@keyframes shakeHead{0%,to{translate:0}10%{translate:-9px}20%{translate:7px}30%{translate:-6px}40%{translate:5px}50%{translate:-4px}60%{translate:3px}70%{translate:-2px}80%{translate:1px}90%{translate:-.5px}}.eyes.shake-head,.yellow-mouth.shake-head,.orange-mouth.shake-head{animation:.8s cubic-bezier(.36,.07,.19,.97) both shakeHead}.orange-mouth{opacity:0;border:3px solid #2d2d2d;border-top:none;border-radius:0 0 14px 14px;width:28px;height:14px;transition:all .7s ease-in-out;position:absolute}.orange-mouth.visible{opacity:1}.error-msg{color:#dc2626;background:#dc262614;border:1px solid #dc262633;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:none}.form-group input.error{border-bottom-color:#dc2626}.form-group label.error-label{color:#dc2626}@media (max-width:900px){#login-page{grid-template-columns:1fr}.left-panel{display:none}}
