body{font-family:Consolas,Monaco,Courier New,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Consolas,Monaco,Courier New,monospace;min-height:100vh;display:flex;align-items:center;justify-content:center;transition:all .5s ease;position:relative;overflow-x:hidden;overflow-y:auto}.grid-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.scanline{position:fixed;top:0;left:0;width:100%;height:2px;z-index:0;opacity:.5;animation:scan 4s linear infinite}@keyframes scan{0%{top:0}to{top:100%}}.ripple-container{position:fixed;top:50%;left:50%;width:100%;height:100%;pointer-events:none;z-index:0}.ripple-wave{position:absolute;top:50%;left:50%;width:100px;height:100px;border-radius:50%;border:2px solid;opacity:0;transform:translate(-50%,-50%);animation:rippleExpand 4s ease-out infinite}.ripple-wave:nth-child(2){animation-delay:1.3s}.ripple-wave:nth-child(3){animation-delay:2.6s}@keyframes rippleExpand{0%{width:100px;height:100px;opacity:.6}to{width:1000px;height:1000px;opacity:0}}.glow-orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.4;animation:floatOrb 6s ease-in-out infinite;pointer-events:none}.glow-orb-1{width:200px;height:200px;top:-50px;left:-50px;animation-delay:0s}.glow-orb-2{width:150px;height:150px;bottom:-30px;right:-30px;animation-delay:2s}@keyframes floatOrb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-20px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.scan-beam{position:fixed;width:100%;height:100px;background:linear-gradient(to bottom,transparent,rgba(167,139,250,.1),transparent);top:-100px;left:0;z-index:1;pointer-events:none;animation:scanBeam 5s ease-in-out infinite}@keyframes scanBeam{0%{top:-100px}50%{top:100%}to{top:-100px}}.particle-line{stroke:#a78bfa33;stroke-width:1;opacity:0;animation:fadeInOut 3s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:0}50%{opacity:.5}}.breathing-glow{animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{box-shadow:0 0 20px #a78bfa4d}50%{box-shadow:0 0 40px #a78bfa99}}.particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}.back-home{position:fixed;top:30px;left:30px;z-index:100;text-decoration:none;font-size:14px;padding:10px 20px;border:1px solid;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.back-home:hover{transform:translate(-5px)}.logo{text-align:center;margin-bottom:40px;position:relative}.logo img{width:80px;height:80px;border-radius:50%;border:2px solid;margin-bottom:15px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.logo h1{font-size:28px;font-weight:600;letter-spacing:2px;margin-bottom:5px;animation:glitch 5s infinite}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,2px)}94%{transform:translate(2px,-2px)}96%{transform:translate(-2px,-2px)}}.logo p{font-size:14px;opacity:.7}.hacker-text{font-size:12px;font-family:monospace;opacity:.5;margin-bottom:20px;text-align:center;min-height:20px;transition:opacity .3s ease}.success-message{position:fixed;top:20px;right:20px;padding:15px 25px;border-radius:10px;font-size:14px;opacity:0;transform:translate(400px);transition:all .3s;z-index:1000}.success-message.show{opacity:1;transform:translate(0)}.loading{display:none;margin:20px auto;width:40px;height:40px;position:relative}.loading.show{display:block}.loading-circle{width:100%;height:100%;border-radius:50%;border:3px solid;border-top-color:transparent;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.divider{text-align:center;margin:30px 0;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:40%;height:1px}.divider:before{left:0}.divider:after{right:0}.divider span{font-size:13px;padding:0 15px}body.light-theme{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#2c3e50}.light-theme .ripple-wave{border-color:#3498db4d}.light-theme .glow-orb{background:radial-gradient(circle,rgba(52,152,219,.3),transparent)}.light-theme .scan-beam{background:linear-gradient(to bottom,transparent,rgba(52,152,219,.1),transparent)}.light-theme .particle-line{stroke:#3498db33}.light-theme .breathing-glow{animation:breatheLight 3s ease-in-out infinite}@keyframes breatheLight{0%,to{box-shadow:0 0 20px #3498db4d}50%{box-shadow:0 0 40px #3498db99}}.light-theme .back-home{color:#3498db;border-color:#3498db4d;background:#fff9}.light-theme .back-home:hover{background:#3498db33;border-color:#3498db}.light-theme .scanline{background:linear-gradient(transparent,rgba(52,152,219,.3),transparent)}.light-theme .logo img{border-color:#3498db;box-shadow:0 0 20px #3498db4d}.light-theme .logo h1{color:#1a1a1a}.light-theme .hacker-text{color:#3498db}.light-theme .logo p{color:#2c3e50}.light-theme .loading-circle{border-color:#3498db;border-top-color:transparent}.light-theme .divider:before,.light-theme .divider:after{background:#3498db33}.light-theme .divider span{color:#2c3e50;background:#fffc}.light-theme .success-message{background:#2ecc71e6;color:#fff;border:1px solid #27ae60}.light-theme .particles circle{fill:#3498db4d}body.dark-theme{background:linear-gradient(135deg,#0f0f1e,#1a1a2e);color:#e0e0e0}.dark-theme .ripple-wave{border-color:#a78bfa4d}.dark-theme .glow-orb{background:radial-gradient(circle,rgba(167,139,250,.3),transparent)}.dark-theme .back-home{color:#a78bfa;border-color:#a78bfa4d;background:#1a1a2e99}.dark-theme .back-home:hover{background:#a78bfa33;border-color:#a78bfa}.dark-theme .scanline{background:linear-gradient(transparent,rgba(167,139,250,.2),transparent)}.dark-theme .logo img{border-color:#a78bfa;box-shadow:0 0 20px #a78bfa4d}.dark-theme .logo h1{color:#fff;text-shadow:0 0 10px rgba(167,139,250,.5)}.dark-theme .hacker-text{color:#a78bfa}.dark-theme .logo p{color:#b8b8d1}.dark-theme .loading-circle{border-color:#a78bfa;border-top-color:transparent}.dark-theme .divider:before,.dark-theme .divider:after{background:#a78bfa33}.dark-theme .divider span{color:#b8b8d1;background:#1a1a2ecc}.dark-theme .success-message{background:#a78bfae6;color:#fff;border:1px solid #8b5cf6}.dark-theme .particles circle{fill:#a78bfa33}@media(max-width:768px){.back-home{top:15px;left:15px;padding:8px 15px;font-size:12px}.logo h1{font-size:24px}.logo img{width:70px;height:70px}}@media(max-width:480px){.back-home{padding:5px 10px;font-size:10px;border-radius:6px}.logo h1{font-size:22px}.logo img{width:60px;height:60px}.hacker-text{font-size:10px}}.snow-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.snowflake{position:absolute;top:-20px;color:#fff;text-shadow:0 0 5px rgba(255,255,255,.8);animation:snowfall linear infinite}@keyframes snowfall{to{transform:translateY(100vh) rotate(360deg)}}.fog-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.fog-layer{position:absolute;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(200,200,200,.3) 25%,rgba(200,200,200,.3) 75%,transparent 100%);animation:fogMove 30s linear infinite}.fog-layer:nth-child(2){animation-duration:40s;animation-delay:10s;opacity:.5}.fog-layer:nth-child(3){animation-duration:50s;animation-delay:20s;opacity:.3}@keyframes fogMove{0%{transform:translate(-50%)}to{transform:translate(0)}}.stars-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;box-shadow:0 0 3px #fff;animation:starTwinkle ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.moon{position:absolute;width:100px;height:100px;display:none;animation:moonFloat 6s ease-in-out infinite}.moon-core{width:100%;height:100%;background:radial-gradient(circle at 30% 30%,#fff8dc,khaki);border-radius:50%;box-shadow:0 0 40px #fff8dc99,0 0 80px #fff8dc4d}@keyframes moonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.weather-status{position:fixed;top:60px;right:30px;padding:10px 20px;background:#000000b3;color:#fff;border-radius:8px;font-size:13px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .3s;pointer-events:none}body.weather-snowy{background:linear-gradient(135deg,#e8eaf6,#c5cae9,#9fa8da)!important}body.weather-stormy{background:linear-gradient(135deg,#424242,#616161,#757575)!important}body.weather-foggy{background:linear-gradient(135deg,#bdbdbd,#e0e0e0,#eee)!important}body.weather-clear-night{background:linear-gradient(135deg,#0a0e27,#1a1a2e,#16213e)!important}.weather-snowy .login-container,.weather-snowy .register-container,.weather-snowy .stat-item,.weather-snowy .category-card,.weather-snowy .learning-card{background:#ffffffe6!important;border-color:#9fa8da66!important}.weather-stormy .login-container,.weather-stormy .register-container{background:#323246e6!important;border-color:#64647880!important;color:#e0e0e0!important}.weather-foggy .login-container,.weather-foggy .register-container{background:#fffc!important;border-color:#b4b4b466!important}@media(max-width:768px){.weather-status{top:50px;right:15px;font-size:11px;padding:8px 15px}.moon{width:70px;height:70px}}.weather-status{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:9998;display:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000004d;transition:opacity .5s ease}.weather-info-card{position:fixed;top:80px;right:20px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;padding:20px;box-shadow:0 8px 32px #00000026;z-index:9997;display:none;min-width:280px;transition:all .5s cubic-bezier(.4,0,.2,1)}.dark-theme .weather-info-card{background:#1a1a2ef2;border:1px solid rgba(167,139,250,.2)}.weather-card-content{display:flex;align-items:center;gap:20px;margin-bottom:12px}.weather-emoji{font-size:48px;line-height:1}.weather-details{flex:1}.weather-temp{font-size:32px;font-weight:700;color:#2c3e50;line-height:1;margin-bottom:8px}.dark-theme .weather-temp{color:#a78bfa}.weather-desc{font-size:14px;color:#7f8c8d;margin-bottom:4px;text-transform:capitalize}.dark-theme .weather-desc{color:#b8b8d1}.weather-location{font-size:12px;color:#95a5a6;display:flex;align-items:center;gap:4px}.dark-theme .weather-location{color:#8b8ba0}.weather-update-time{font-size:11px;color:#bdc3c7;text-align:right;padding-top:12px;border-top:1px solid rgba(0,0,0,.1)}.dark-theme .weather-update-time{color:#6b6b80;border-top-color:#a78bfa1a}@media(max-width:768px){.weather-info-card{right:10px;left:10px;top:70px;min-width:auto}.weather-status{top:70px;font-size:12px;padding:10px 20px}}.weather-location-bar{position:fixed;top:20px;left:20px;background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 16px;border-radius:12px;display:flex;align-items:center;gap:8px;font-size:14px;color:#fff;z-index:998;box-shadow:0 4px 12px #0003;transition:all .3s cubic-bezier(.4,0,.2,1)}body:has(.login-container) .weather-location-bar,body:has(.register-container) .weather-location-bar,.auth-page .weather-location-bar{display:none!important}.register-container{position:relative;z-index:1;width:90%;max-width:500px;padding:50px 40px;border:1px solid;border-radius:20px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000004d;animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:20px;position:relative}.form-label{display:block;font-size:13px;margin-bottom:8px;font-weight:500}.form-input{width:100%;padding:13px 16px 13px 40px;border:1px solid;border-radius:10px;font-size:14px;font-family:Consolas,Monaco,monospace;transition:all .3s;outline:none}.input-icon{position:absolute;left:12px;top:40px;font-size:16px;opacity:.6}.form-input:focus{box-shadow:0 0 0 3px;transform:translateY(-2px)}.password-strength{margin-top:8px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.strength-bar{height:100%;width:0;transition:all .3s;border-radius:2px}.strength-weak{width:33%;background:#ef4444}.strength-medium{width:66%;background:#f59e0b}.strength-strong{width:100%;background:#10b981}.strength-text{font-size:11px;margin-top:5px;opacity:.7}.error-message{color:#ef4444;font-size:11px;margin-top:5px;display:none}.error-message.show{display:block}.terms{margin:20px 0}.terms label{display:flex;align-items:flex-start;font-size:12px;cursor:pointer}.terms input[type=checkbox]{margin-right:10px;margin-top:2px;cursor:pointer;flex-shrink:0}.terms a{text-decoration:none}.terms a:hover{text-decoration:underline}.register-btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:16px;font-weight:600;font-family:Consolas,Monaco,monospace;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:1px;margin-top:10px;position:relative;overflow:hidden}.register-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.register-btn:hover:before{width:300px;height:300px}.register-btn span{position:relative;z-index:1}.register-btn:hover{transform:translateY(-2px)}.register-btn:active{transform:translateY(0)}.register-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-link{text-align:center;font-size:14px}.login-link a{text-decoration:none;font-weight:600;transition:all .3s}.login-link a:hover{text-decoration:underline}.light-theme .register-container{background:#fffc;border-color:#3498db33;color:#2c3e50}.light-theme .form-label{color:#2c3e50}.light-theme .form-input{background:#fffc;border-color:#3498db33;color:#2c3e50}.light-theme .form-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.light-theme .form-input::placeholder{color:#2c3e5080}.light-theme .input-icon{color:#3498db}.light-theme .terms label{color:#2c3e50}.light-theme .terms a{color:#3498db}.light-theme .register-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;box-shadow:0 4px 15px #3498db4d}.light-theme .register-btn:before{background:#fff3}.light-theme .login-link{color:#2c3e50}.light-theme .login-link a{color:#3498db}.dark-theme .register-container{background:#1a1a2ecc;border-color:#a78bfa33;color:#b8b8d1}.dark-theme .form-label{color:#b8b8d1}.dark-theme .form-input{background:#ffffff0d;border-color:#a78bfa33;color:#fff}.dark-theme .form-input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa1a;background:#ffffff14}.dark-theme .form-input::placeholder{color:#b8b8d180}.dark-theme .input-icon{color:#a78bfa}.dark-theme .terms label{color:#b8b8d1}.dark-theme .terms a{color:#a78bfa}.dark-theme .register-btn{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff;box-shadow:0 4px 15px #a78bfa4d}.dark-theme .register-btn:before{background:#ffffff1a}.dark-theme .login-link{color:#b8b8d1}.dark-theme .login-link a{color:#a78bfa}@media(max-width:768px){.register-container{padding:40px 25px;max-width:95%}}@media(max-width:480px){.register-container{padding:35px 20px}.form-input{padding:11px 14px 11px 38px;font-size:13px}.input-icon{font-size:14px;top:38px;left:10px}.register-btn{padding:12px;font-size:14px}.terms label{font-size:11px}}
