:root{--primary-gradient:linear-gradient(135deg,#7f57f1,#5f2ad0);--secondary-gradient:linear-gradient(135deg,#a17cff,#7f57f1);--glass-bg:rgba(15,23,42,0.8);--glass-border:rgba(148,163,184,0.2);--text-primary:#ffffff;--text-secondary:#e2e8f0;--text-muted:#94a3b8;--success-color:#10b981;--error-color:#ef4444;--input-bg:rgba(30,41,59,0.8);--input-border:rgba(148,163,184,0.2);--shadow-lg:0 25px 50px -12px rgba(0,0,0,0.25);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.auth-container{width:100%;max-width:450px;margin:1rem auto;padding:2.5rem 2rem;background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--shadow-xl);color:var(--text-primary);text-align:center;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;overflow:hidden;animation:fadeInUp .8s ease-out}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--primary-gradient);background-size:400% 400%;animation:gradientShift 8s ease infinite;z-index:-1;opacity:.05}.auth-container:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(127,87,241,.1) 0,transparent 70%);animation:float 6s ease-in-out infinite;z-index:-1}.auth-container h1{font-size:2.2rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary);background:var(--secondary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.025em}.auth-container .subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:2.5rem;opacity:.8}.auth-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.form-group{position:relative}.form-group input{width:100%;padding:1rem 1rem 1rem 3rem;border:2px solid var(--input-border);border-radius:16px;background:var(--input-bg);color:var(--text-primary);font-size:1rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px)}.form-group input:focus{border-color:#7f57f1;outline:none;box-shadow:0 0 0 4px rgba(127,87,241,.1);transform:translateY(-2px)}.form-group input::placeholder{color:var(--text-muted);font-weight:400}.form-group .icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1.2rem;transition:color .3s ease}.form-group input:focus+.icon{color:#7f57f1}.form-group.password-group{position:relative}.form-group.password-group input{padding-right:3rem}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .3s ease;z-index:10}.password-toggle:hover{color:var(--text-primary);background:rgba(255,255,255,.1)}.password-toggle:focus{outline:none;color:#7f57f1}.auth-form button{width:100%;padding:1rem 2rem;border:none;border-radius:16px;background:var(--primary-gradient);background-size:200% 200%;color:white;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;margin-top:.5rem}.auth-form button:hover{background-position:100%;transform:translateY(-2px);box-shadow:0 10px 25px rgba(127,87,241,.3)}.auth-form button:active{transform:translateY(0)}.auth-form button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.auth-form button:hover:before{left:100%}.auth-message{margin:1.5rem 0;padding:1rem 1.5rem;border-radius:12px;font-weight:500;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:.5rem;animation:fadeInUp .5s ease-out}.auth-message.success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:var(--success-color)}.auth-message.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:var(--error-color)}.auth-link{margin-top:2rem;font-size:.95rem;color:var(--text-secondary);line-height:1.6}.auth-link a{color:#7f57f1;text-decoration:none;font-weight:600;position:relative;transition:all .3s ease}.auth-link a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--secondary-gradient);transition:width .3s ease}.auth-link a:hover:after{width:100%}.auth-link a:hover{color:#a17cff}.divider{display:flex;align-items:center;margin:2rem 0;color:var(--text-muted);font-size:.9rem}.divider:after,.divider:before{content:"";flex:1;height:1px;background:var(--input-border)}.divider span{padding:0 1rem}.social-buttons{display:flex;gap:1rem;margin-top:1rem}.social-button{flex:1;padding:.75rem;border:2px solid var(--input-border);border-radius:12px;background:var(--input-bg);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.social-button:hover{border-color:#7f57f1;transform:translateY(-2px);box-shadow:0 5px 15px rgba(127,87,241,.2)}@media screen and (max-width:600px){main{min-height:100vh;align-items:flex-start;padding:5rem 1rem 2rem}.auth-container{padding:2rem 1.5rem;margin:0 auto;border-radius:16px;max-width:100%;min-height:auto}.auth-container h1{font-size:1.6rem;margin-bottom:.25rem}.auth-container .subtitle{font-size:.9rem;margin-bottom:2rem}.auth-form{gap:1rem;margin-bottom:1.25rem}.form-group input{padding:.875rem 1rem .875rem 2.5rem;font-size:.95rem}.form-group .icon{font-size:1.1rem;left:.875rem}.form-group.password-group{position:relative}.form-group.password-group input{padding-right:3rem}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .3s ease;z-index:10}.password-toggle:hover{color:var(--text-primary);background:rgba(255,255,255,.1)}.password-toggle:focus{outline:none;color:#7f57f1}.auth-form button{padding:.875rem 1.5rem;font-size:1rem}.social-buttons{flex-direction:column;gap:.75rem}.social-button{padding:.75rem;font-size:.9rem}.auth-message{margin:1rem 0;padding:.875rem 1.25rem;font-size:.9rem}.auth-link{margin-top:1.5rem;font-size:.9rem}.divider{margin:1.5rem 0}}@media screen and (max-width:480px){main{padding:4rem .5rem .5rem}.auth-container{padding:1.5rem 1.25rem}.auth-container h1{font-size:1.4rem}.auth-container .subtitle{font-size:.85rem;margin-bottom:1.5rem}.form-group input{padding:.75rem 1rem .75rem 2.25rem;font-size:.9rem}.form-group.password-group input{padding-right:2.5rem}.form-group .icon{font-size:1rem;left:.75rem}.password-toggle{font-size:1.1rem;right:.75rem}}@media screen and (max-height:450px) and (orientation:landscape){body,html{height:auto;min-height:100vh;overflow-x:hidden}main{align-items:flex-start!important;padding-top:1rem;padding-bottom:1rem}.auth-container{margin-top:1rem!important;margin-bottom:1rem!important;padding:2rem 1.5rem}}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}