.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;border-radius:.75rem;transition:all .2s ease;cursor:pointer;border:none;font-family:inherit;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.5rem 1rem;font-size:.875rem;height:2.25rem}.btn-md{padding:.625rem 1.5rem;font-size:1rem;height:2.75rem}.btn-lg{padding:.875rem 2rem;font-size:1.125rem;height:3.5rem}.btn-primary{background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;box-shadow:0 4px 6px #7c3aed33}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#4f46e5);box-shadow:0 6px 12px #7c3aed4d;transform:translateY(-2px)}.btn-secondary{background:#fff;color:#7c3aed;border:2px solid transparent}.btn-secondary:hover:not(:disabled){background:#f3f4f6}.btn-outline{background:transparent;color:#e2e8f0;border:1px solid #475569}.btn-outline:hover:not(:disabled){background:#4755691a;border-color:#7c3aed;color:#fff}.btn-icon-left,.btn-icon-right{display:flex;align-items:center;justify-content:center}.landing-page{min-height:100vh;background:#020617;color:#f8fafc;overflow-x:hidden}.navbar{position:fixed;top:0;width:100%;z-index:50;background:#020617cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(71,85,105,.3)}.navbar-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:4rem;display:flex;align-items:center;justify-content:space-between}.navbar-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer}.logo-icon{width:2rem;height:2rem;border-radius:.5rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff}.logo-text{font-size:1.125rem;font-weight:700}.navbar-links{display:none;gap:2rem}@media (min-width: 768px){.navbar-links{display:flex}}.nav-link{font-size:.875rem;font-weight:500;color:#cbd5e1;background:none;border:none;cursor:pointer;transition:color .2s}.nav-link:hover{color:#fff}.navbar-actions{display:flex;align-items:center;gap:1rem}.hero-section{position:relative;padding:8rem 1.5rem 5rem;min-height:90vh;display:flex;align-items:center;overflow:hidden;background:#020617}.hero-bg-gradient{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;height:500px;background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%);filter:blur(120px);pointer-events:none}.hero-container{max-width:1280px;margin:0 auto;position:relative;z-index:10;text-align:center}.hero-content{display:flex;flex-direction:column;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:9999px;background:#1e293b80;border:1px solid rgba(71,85,105,.5);color:#a78bfa;font-size:.875rem;font-weight:500;margin-bottom:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default;transition:background .3s}.hero-badge:hover{background:#1e293bcc}.badge-pulse{position:relative;width:.5rem;height:.5rem;border-radius:50%;background:#a78bfa}.badge-pulse:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#a78bfa;animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite;opacity:.75}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.hero-title{font-size:3rem;font-weight:700;line-height:1.2;margin-bottom:2rem;letter-spacing:-.02em}@media (min-width: 768px){.hero-title{font-size:4.5rem}}@media (min-width: 1024px){.hero-title{font-size:6rem}}.hero-title-gradient{position:relative;background:linear-gradient(90deg,#a78bfa,#c084fc,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient 3s ease infinite;background-size:200% auto}@keyframes gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-description{font-size:1.25rem;color:#94a3b8;max-width:48rem;margin:0 auto 3rem;line-height:1.6}@media (min-width: 768px){.hero-description{font-size:1.5rem}}.hero-actions{display:flex;flex-direction:column;gap:1.5rem;align-items:center}@media (min-width: 640px){.hero-actions{flex-direction:row}}.features-section{padding:8rem 1.5rem;background:#020617;position:relative}.section-container{max-width:1280px;margin:0 auto}.section-header{text-align:center;margin-bottom:5rem}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}@media (min-width: 768px){.section-title{font-size:3rem}}.section-description{font-size:1.25rem;color:#94a3b8;max-width:42rem;margin:0 auto}.bento-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;grid-auto-rows:minmax(180px,auto)}@media (min-width: 768px){.bento-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.bento-grid{grid-template-columns:repeat(4,1fr)}}.bento-item{background:#0f172a80;border:1px solid rgba(124,58,237,.2);border-radius:1.5rem;padding:2rem;position:relative;overflow:hidden;transition:all .3s ease}.bento-item:hover{border-color:#7c3aed66}.bento-large{grid-column:span 1;grid-row:span 1}@media (min-width: 768px){.bento-large{grid-column:span 2;grid-row:span 2}}.bento-medium{grid-column:span 1}@media (min-width: 768px){.bento-medium{grid-column:span 2}}.bento-small{grid-column:span 1}.bento-wide{grid-column:span 1;display:flex;align-items:center;justify-content:space-between}@media (min-width: 768px){.bento-wide{grid-column:span 2}}.bento-glow{position:absolute;top:0;right:0;width:16rem;height:16rem;background:#7c3aed1a;border-radius:50%;filter:blur(80px);margin:-4rem -4rem 0 0;transition:all .5s}.bento-item:hover .bento-glow{background:#7c3aed33}.bento-content{position:relative;z-index:10;height:100%;display:flex;flex-direction:column;justify-content:space-between}.feature-icon,.feature-icon-large{display:none}.feature-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.feature-title-large{font-size:1.875rem;font-weight:700;margin-bottom:1rem}.feature-description{font-size:.875rem;color:#94a3b8}.feature-description-large{font-size:1.125rem;color:#94a3b8;line-height:1.6}.terminal-preview{margin-top:2rem;background:#02061780;border-radius:.75rem;padding:1rem;border:1px solid rgba(71,85,105,.3);font-family:Courier New,monospace;font-size:.875rem;color:#34d399}.terminal-line{margin-bottom:.25rem}.user-avatars{display:flex;margin-top:1.5rem;margin-left:-.75rem}.avatar{width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid #0f172a;background:#1e293b;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#64748b;margin-left:-.75rem}.avatar-count{color:#fff}.categories-section{padding:8rem 1.5rem;background:#0f172a;position:relative;overflow:hidden}.categories-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#6d28d908;pointer-events:none}.categories-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:4rem}@media (min-width: 768px){.categories-header{flex-direction:row;align-items:flex-end;justify-content:space-between}}.categories-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:2rem}@media (min-width: 768px){.categories-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.categories-grid{grid-template-columns:repeat(4,1fr)}}.category-card{height:100%;background:#020617;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:2rem;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all .3s ease;cursor:pointer}.category-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0006}.category-glow{position:absolute;top:0;right:0;width:8rem;height:8rem;border-radius:50%;filter:blur(60px);margin:-2.5rem -2.5rem 0 0;transition:all .5s}.category-blue .category-glow{background:#3b82f60d}.category-emerald .category-glow{background:#10b9810d}.category-amber .category-glow{background:#f59e0b0d}.category-red .category-glow{background:#ef44440d}.category-card:hover .category-glow{opacity:.2}.category-number{display:none}.category-icon-wrapper{width:3.5rem;height:3.5rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:transform .3s}.category-card:hover .category-icon-wrapper{transform:scale(1.1)}.category-blue .category-icon-wrapper{background:#3b82f61a;color:#60a5fa}.category-emerald .category-icon-wrapper{background:#10b9811a;color:#34d399}.category-amber .category-icon-wrapper{background:#f59e0b1a;color:#fbbf24}.category-red .category-icon-wrapper{background:#ef44441a;color:#f87171}.category-icon{width:1.5rem;height:1.5rem}.cta-section{padding:8rem 1.5rem;background:#020617;position:relative}.cta-section:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40rem;height:40rem;background:radial-gradient(circle,rgba(124,58,237,.15) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.cta-container{max-width:1152px;margin:0 auto;position:relative;z-index:10}.cta-card{background:linear-gradient(135deg,#6d28d9,#4f46e5);border-radius:3rem;padding:4rem 3rem;position:relative;overflow:hidden;box-shadow:0 20px 60px #6d28d94d}@media (min-width: 768px){.cta-card{padding:5rem 4rem}}@media (min-width: 1024px){.cta-card{padding:6rem 5rem}}.cta-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(https://grainy-gradients.vercel.app/noise.svg);opacity:.2;mix-blend-mode:overlay}.cta-content{position:relative;z-index:10;max-width:56rem;margin:0 auto;text-align:center}.cta-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:9999px;color:#fff;font-size:.875rem;font-weight:600;margin-bottom:2rem;border:1px solid rgba(255,255,255,.2)}.cta-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2}@media (min-width: 768px){.cta-title{font-size:3.5rem}}@media (min-width: 1024px){.cta-title{font-size:4rem}}.cta-description{font-size:1.125rem;color:#ffffffe6;line-height:1.7;margin-bottom:3rem}@media (min-width: 768px){.cta-description{font-size:1.25rem}}.cta-features{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem;text-align:left}@media (min-width: 768px){.cta-features{flex-direction:row;justify-content:center;gap:2rem}}.cta-feature{display:flex;align-items:center;gap:.75rem;color:#fff;font-size:.875rem;font-weight:500}@media (min-width: 768px){.cta-feature{font-size:1rem}}.cta-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}@media (min-width: 640px){.cta-actions{flex-direction:row;justify-content:center;gap:1.5rem}}.cta-button-primary{background:#fff!important;color:#6d28d9!important;border:none!important;font-weight:700;box-shadow:0 10px 30px #0003}.cta-button-primary:hover{background:#f3f4f6!important;transform:translateY(-2px);box-shadow:0 15px 40px #0000004d}.cta-button-secondary{border-color:#fff6!important;color:#fff!important;background:#ffffff1a!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cta-button-secondary:hover{background:#fff3!important;border-color:#fff9!important}.important-section{padding:8rem 1.5rem;background:#0f172a;overflow:hidden;position:relative}.important-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ef444405;pointer-events:none}.important-grid{display:grid;grid-template-columns:1fr;gap:4rem;align-items:start}@media (min-width: 1024px){.important-grid{grid-template-columns:1fr 1fr;align-items:center}}.important-text{max-width:100%}.important-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;background:#ef44441a;color:#f87171;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;border:1px solid rgba(239,68,68,.2)}.important-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2}@media (min-width: 768px){.important-title{font-size:3rem}}.important-title-muted{color:#64748b}.important-description{font-size:1.125rem;color:#94a3b8;margin-bottom:2rem;line-height:1.6}.important-checklist{display:flex;flex-direction:column;gap:1rem}.checklist-item{display:flex;align-items:center;gap:.75rem;color:#cbd5e1}.checklist-icon{color:#10b981;flex-shrink:0}.important-cards{display:flex;flex-direction:column;gap:1.5rem}.important-card{background:#020617;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(71,85,105,.5);padding:2rem;border-radius:1.5rem;box-shadow:0 10px 30px #0000004d;transition:all .3s ease;cursor:default;position:relative;z-index:1}.important-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0006;z-index:10}.important-card-blue{border-color:#3b82f64d}.important-card-blue:hover{border-color:#3b82f699;background:#3b82f60d}.important-card-emerald{border-color:#10b9814d}.important-card-emerald:hover{border-color:#10b98199;background:#10b9810d}.important-card-red{border-color:#ef44444d}.important-card-red:hover{border-color:#ef444499;background:#ef44440d}.important-card-icon{display:none}.important-card-title{font-size:1.125rem;font-weight:700;color:#fff;margin-bottom:.75rem}.important-card-desc{font-size:.875rem;color:#94a3b8;line-height:1.5}.how-it-works-section{padding:8rem 1.5rem;background:#020617;position:relative}.section-container-narrow{max-width:1024px;margin:0 auto}.timeline{position:relative;margin-top:4rem}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#7c3aed00,#7c3aed80 20%,#7c3aed80 80%,#7c3aed00);transform:translate(-50%);display:none}@media (min-width: 768px){.timeline-line{display:block}}.timeline-item{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:4rem;position:relative}@media (min-width: 768px){.timeline-item{grid-template-columns:1fr auto 1fr;gap:3rem}}.timeline-item-left .timeline-content{order:1}.timeline-item-left .timeline-icon-wrapper{order:2}.timeline-item-left .timeline-empty{order:3}.timeline-item-right .timeline-empty{order:1}.timeline-item-right .timeline-icon-wrapper{order:2}.timeline-item-right .timeline-content{order:3}.timeline-content{display:flex;align-items:center}.timeline-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:2rem;position:relative;overflow:hidden;transition:all .3s}.timeline-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.timeline-card-violet:hover{border-color:#7c3aed80}.timeline-card-emerald:hover{border-color:#10b98180}.timeline-card-amber:hover{border-color:#f59e0b80}.timeline-card-blue:hover{border-color:#3b82f680}.timeline-step-number{position:absolute;top:1rem;right:1rem;font-size:3rem;font-weight:700;opacity:.1}.timeline-card-violet .timeline-step-number{color:#7c3aed}.timeline-card-emerald .timeline-step-number{color:#10b981}.timeline-card-amber .timeline-step-number{color:#f59e0b}.timeline-card-blue .timeline-step-number{color:#3b82f6}.timeline-title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem;color:#fff}.timeline-description{color:#94a3b8;line-height:1.6}.timeline-dot-wrapper,.timeline-dot{display:none}.timeline-icon-wrapper{position:relative;z-index:10;flex-shrink:0;display:block}.timeline-icon{width:4rem;height:4rem;border-radius:1rem;background:#0f172a;border:4px solid #020617;box-shadow:0 10px 30px #00000080;display:flex;align-items:center;justify-content:center;position:relative}.timeline-icon-glow{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:1rem;filter:blur(16px);z-index:-1}.timeline-icon-violet{color:#a78bfa}.timeline-icon-violet .timeline-icon-glow{background:#7c3aed4d}.timeline-icon-emerald{color:#34d399}.timeline-icon-emerald .timeline-icon-glow{background:#10b9814d}.timeline-icon-amber{color:#fbbf24}.timeline-icon-amber .timeline-icon-glow{background:#f59e0b4d}.timeline-icon-blue{color:#60a5fa}.timeline-icon-blue .timeline-icon-glow{background:#3b82f64d}.footer{background:#0f172a;border-top:1px solid rgba(71,85,105,.3);padding:5rem 1.5rem 2.5rem}.footer-container{max-width:1280px;margin:0 auto}.footer-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:3rem;margin-bottom:4rem}@media (min-width: 768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.footer-brand{grid-column:span 1}@media (min-width: 768px){.footer-brand{grid-column:span 2}}.footer-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.footer-description{color:#94a3b8;max-width:28rem;line-height:1.6;font-size:1.125rem}.footer-title{font-weight:700;margin-bottom:1.5rem;font-size:1.125rem}.footer-links ul{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:1rem}.footer-links button,.footer-links a{color:#94a3b8;background:none;border:none;cursor:pointer;transition:color .2s;font-size:1rem;padding:0;text-align:left}.footer-links button:hover,.footer-links a:hover{color:#a78bfa}.footer-email{display:flex;align-items:center;gap:.75rem;color:#94a3b8;text-decoration:none;transition:color .2s;margin-bottom:1.5rem}.footer-email:hover{color:#a78bfa}.footer-social{display:flex;gap:1rem}.social-link{width:3rem;height:3rem;border-radius:50%;background:#0f172a;border:1px solid rgba(71,85,105,.3);display:flex;align-items:center;justify-content:center;color:#64748b;text-decoration:none;transition:all .3s}.social-link:hover{color:#fff;border-color:#7c3aed;background:#7c3aed}.footer-bottom{border-top:1px solid rgba(71,85,105,.3);padding-top:2rem;display:flex;flex-direction:column;gap:1rem;align-items:center;color:#64748b}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-legal{display:flex;gap:2rem}.footer-legal a{color:#64748b;text-decoration:none;transition:color .2s}.footer-legal a:hover{color:#cbd5e1}.input-wrapper{display:flex;flex-direction:column;gap:.5rem}.input-label{font-size:.875rem;font-weight:500;color:#e2e8f0}.input-container{position:relative}.input{width:100%;padding:.75rem 1rem;background:#0f172a80;border:1px solid rgba(71,85,105,.5);border-radius:.75rem;color:#fff;font-size:1rem;transition:all .2s ease;font-family:inherit}.input-with-icon{padding-left:3rem}.input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.input::-moz-placeholder{color:#64748b}.input::placeholder{color:#64748b}.input:-webkit-autofill,.input:-webkit-autofill:hover,.input:-webkit-autofill:focus,.input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px rgba(15,23,42,.5) inset!important;-webkit-text-fill-color:#ffffff!important;caret-color:#fff;-webkit-transition:background-color 9999s ease-out 0s;transition:background-color 9999s ease-out 0s}.input-error:-webkit-autofill,.input-error:-webkit-autofill:hover,.input-error:-webkit-autofill:focus,.input-error:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px rgba(127,29,29,.22) inset!important;-webkit-text-fill-color:#ffffff!important}.input-error{border-color:#ef4444;background:#7f1d1d38}.input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444429}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#64748b;display:flex;align-items:center;justify-content:center}.input-error-text{display:inline-flex;align-items:center;gap:.45rem;width:-moz-fit-content;width:fit-content;max-width:100%;font-size:.8rem;color:#fecaca;background:#ef44441f;border:1px solid rgba(248,113,113,.35);border-radius:.6rem;padding:.4rem .55rem;line-height:1.25}.input-wrapper-error .input-label{color:#fecaca}.input-wrapper-error .input-icon{color:#fca5a5}.input-error-dot{width:.42rem;height:.42rem;border-radius:999px;background:#f87171;box-shadow:0 0 0 3px #f8717133;flex-shrink:0}.card{border-radius:1.5rem;transition:all .3s ease}.card-default{background:#0f172a80;border:1px solid rgba(71,85,105,.3)}.card-glass{background:#0f172acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(71,85,105,.3)}.card:hover{border-color:#7c3aed4d}.form-alert{margin-top:-.2rem;display:flex;align-items:flex-start;gap:.55rem;border-radius:.75rem;padding:.62rem .75rem;font-size:.82rem;line-height:1.35;animation:formAlertIn .22s ease}.form-alert svg{flex-shrink:0;margin-top:.05rem}.form-alert-error{color:#fecaca;background:#ef444421;border:1px solid rgba(248,113,113,.35)}.form-alert-success{color:#bbf7d0;background:#22c55e1f;border:1px solid rgba(74,222,128,.3)}@keyframes formAlertIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.login-page{min-height:100vh;background:#020617;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden}.login-bg-gradient{position:absolute;top:25%;left:25%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.login-bg-gradient-2{position:absolute;bottom:25%;right:25%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.login-container{width:100%;max-width:28rem;position:relative;z-index:10}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:3rem;height:3rem;border-radius:1rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 1rem;box-shadow:0 8px 16px #7c3aed40}.login-title{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:.5rem}.login-subtitle{color:#94a3b8}.login-card{padding:2rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-options{display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.remember-me{display:flex;align-items:center;gap:.5rem;color:#cbd5e1;cursor:pointer}.remember-me input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:#7c3aed}.forgot-password{color:#a78bfa;background:none;border:none;cursor:pointer;transition:color .2s;padding:0;font-size:.875rem}.forgot-password:hover{color:#c4b5fd}.login-button{width:100%}.divider{position:relative;text-align:center;color:#64748b;font-size:.875rem}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#4755694d}.divider:before{left:0}.divider:after{right:0}.social-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.5rem;background:#0f172a80;border:1px solid rgba(71,85,105,.5);border-radius:.75rem;color:#e2e8f0;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.social-button:hover{background:#0f172acc;border-color:#475569cc}.login-footer{text-align:center;margin-top:1.5rem;color:#94a3b8;font-size:.875rem}.register-link{color:#a78bfa;background:none;border:none;cursor:pointer;font-weight:500;transition:color .2s;padding:0;font-size:.875rem;text-decoration:underline}.register-link:hover{color:#c4b5fd}.register-page{min-height:100vh;background:#020617;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden}.register-bg-gradient{position:absolute;top:25%;left:25%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.register-bg-gradient-2{position:absolute;bottom:25%;right:25%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.register-container{width:100%;max-width:28rem;position:relative;z-index:10}.register-header{text-align:center;margin-bottom:2rem}.register-logo{width:3rem;height:3rem;border-radius:1rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 1rem;box-shadow:0 8px 16px #7c3aed40}.register-title{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:.5rem}.register-subtitle{color:#94a3b8}.register-card{padding:2rem}.register-form{display:flex;flex-direction:column;gap:1.25rem}.agreement-wrapper{display:flex;flex-direction:column;gap:.5rem}.agreement-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.checkbox-wrapper{position:relative;flex-shrink:0;margin-top:.125rem}.custom-checkbox{width:1rem;height:1rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;border:1px solid rgba(71,85,105,.5);background:#0f172a80;transition:all .2s}.custom-checkbox:checked{border-color:#7c3aed;background:#7c3aed}.custom-checkbox:hover{border-color:#a78bfa}.checkbox-checkmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .2s}.custom-checkbox:checked+.checkbox-checkmark{opacity:1}.agreement-text{font-size:.875rem;color:#94a3b8;line-height:1.4;transition:color .2s}.agreement-label:hover .agreement-text{color:#cbd5e1}.agreement-error{font-size:.875rem;color:#ef4444;margin-left:1.75rem}.register-button{width:100%}.register-footer{text-align:center;margin-top:1.5rem;color:#94a3b8;font-size:.875rem}.login-link{color:#a78bfa;background:none;border:none;cursor:pointer;font-weight:500;transition:color .2s;padding:0;font-size:.875rem;text-decoration:underline}.login-link:hover{color:#c4b5fd}.forgot-password-page{min-height:100vh;background:#020617;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden}.forgot-password-bg-gradient{position:absolute;top:22%;left:18%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(59,130,246,.18) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.forgot-password-bg-gradient-2{position:absolute;bottom:20%;right:18%;width:22rem;height:22rem;background:radial-gradient(circle,rgba(16,185,129,.12) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.forgot-password-container{width:100%;max-width:30rem;position:relative;z-index:1}.forgot-password-header{text-align:center;margin-bottom:2rem}.forgot-password-logo{width:3rem;height:3rem;border-radius:1rem;background:linear-gradient(135deg,#0ea5e9,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 1rem;box-shadow:0 8px 16px #0ea5e940}.forgot-password-title{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:.5rem}.forgot-password-subtitle{color:#94a3b8}.forgot-password-card{padding:2rem}.forgot-password-form{display:flex;flex-direction:column;gap:1.5rem}.forgot-password-submit{width:100%}.forgot-password-back{margin:1rem auto 0;display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;color:#cbd5e1;cursor:pointer;font-size:.95rem;transition:color .2s ease}.forgot-password-back:hover{color:#fff}.reset-password-page{min-height:100vh;background:#020617;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden}.reset-password-bg-gradient{position:absolute;top:20%;left:18%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.reset-password-bg-gradient-2{position:absolute;bottom:18%;right:20%;width:24rem;height:24rem;background:radial-gradient(circle,rgba(14,165,233,.14) 0%,transparent 70%);filter:blur(100px);pointer-events:none}.reset-password-container{width:100%;max-width:30rem;position:relative;z-index:1}.reset-password-header{text-align:center;margin-bottom:2rem}.reset-password-logo{width:3rem;height:3rem;border-radius:1rem;background:linear-gradient(135deg,#7c3aed,#0ea5e9);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 1rem;box-shadow:0 8px 16px #7c3aed40}.reset-password-title{font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:.5rem}.reset-password-subtitle{color:#94a3b8}.reset-password-card{padding:2rem}.reset-password-form{display:flex;flex-direction:column;gap:1.5rem}.reset-password-submit{width:100%}.reset-password-back{margin:1rem auto 0;display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;color:#cbd5e1;cursor:pointer;font-size:.95rem;transition:color .2s ease}.reset-password-back:hover{color:#fff}.app-shell{position:relative;isolation:isolate;background:radial-gradient(900px 500px at 10% -10%,rgba(14,165,233,.2),transparent 65%),radial-gradient(700px 420px at 90% -5%,rgba(16,185,129,.12),transparent 68%),linear-gradient(180deg,#020617,#030712 56%,#01040d)}.app-shell-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.app-shell-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(148,163,184,.045) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.04) 1px,transparent 1px);background-size:62px 62px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.75) 0%,transparent 75%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.75) 0%,transparent 75%);opacity:.35}.app-shell-particles{position:absolute;top:-24vh;right:0;bottom:0;left:0}.app-shell-particle{position:absolute;left:var(--x);top:-20vh;opacity:var(--opacity);color:#7dd3fce0;font-size:var(--size);font-weight:700;font-family:Consolas,Courier New,monospace;letter-spacing:.08em;text-shadow:0 0 8px rgba(56,189,248,.42),0 0 18px rgba(16,185,129,.16);animation:app-shell-fall var(--duration) linear infinite;animation-delay:var(--delay);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;will-change:transform,opacity}.app-shell-particle:nth-child(3n){color:#34d399cc}.dashboard-main{position:relative;z-index:1}@keyframes app-shell-fall{0%{opacity:0;transform:translate3d(0,-10vh,0) rotate(0)}8%{opacity:var(--opacity)}50%{transform:translate3d(var(--drift),56vh,0) rotate(14deg)}to{opacity:0;transform:translate3d(calc(var(--drift) * -.25),132vh,0) rotate(28deg)}}@media (prefers-reduced-motion: reduce){.app-shell-particle{animation-duration:calc(var(--duration) + 8s);opacity:calc(var(--opacity) + .08)}}.dashboard-page{display:flex;min-height:100vh;background:#020617;color:#f8fafc}.dashboard-sidebar{width:16rem;background:#0f172a;border-right:1px solid rgba(71,85,105,.3);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:40}.dashboard-main{flex:1;margin-left:16rem;padding:2rem}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-title{font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.dashboard-subtitle{color:#94a3b8}.header-actions{display:flex;align-items:center;gap:1rem}.user-avatar{width:2.5rem;height:2.5rem;border-radius:.75rem;overflow:hidden;border:2px solid rgba(124,58,237,.5);cursor:pointer}.user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.stat-blue{border-color:#3b82f64d}.courses-section{margin-bottom:2rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:700}.view-all-btn{font-size:.875rem;color:#a78bfa;background:none;border:none;cursor:pointer;font-weight:500;transition:color .2s;font-family:inherit}.view-all-btn:hover{color:#c4b5fd}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.course-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:1.5rem;transition:all .3s}.course-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000004d}.course-blue:hover{border-color:#3b82f680}.course-emerald:hover{border-color:#10b98180}.course-red:hover{border-color:#ef444480}.course-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.course-header h3{font-size:1.125rem;font-weight:700}.difficulty{font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:9999px}.difficulty-easy{background:#10b9811a;color:#34d399}.difficulty-medium{background:#f59e0b1a;color:#fbbf24}.difficulty-hard{background:#ef44441a;color:#f87171}.course-description{font-size:.875rem;color:#94a3b8;margin-bottom:1rem;line-height:1.5}.course-progress{margin-bottom:1rem}.activity-section h2{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.activity-list{display:flex;flex-direction:column;gap:1rem;max-height:26rem;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:.75rem}.activity-icon{width:2.5rem;height:2.5rem;border-radius:.5rem;flex-shrink:0}.activity-success .activity-icon{background:#10b9811a}.activity-info .activity-icon{background:#3b82f61a}.activity-achievement .activity-icon{background:#f59e0b1a}.activity-title{font-size:.875rem;font-weight:500;color:#fff}.activity-time{font-size:.75rem;color:#64748b}@media (max-width: 768px){.dashboard-sidebar{width:100%;height:auto;position:relative}.dashboard-main{margin-left:0}.sidebar-nav{flex-direction:row;overflow-x:auto}}.exercises-table{width:100%;border-collapse:collapse;background:#0f172a;border-radius:1rem;overflow:hidden}.exercises-table th,.exercises-table td{padding:1rem;text-align:left;border-bottom:1px solid rgba(71,85,105,.3)}.exercises-table th{background:#1e293b80;font-weight:600;color:#94a3b8}.exercises-table tr:last-child td{border-bottom:none}.exercises-table tr:hover{background:#1e293b4d}.congrats-message{text-align:center;padding:3rem;background:#0f172a;border-radius:1rem;border:1px solid rgba(16,185,129,.3);color:#34d399;font-size:1.5rem;font-weight:700}.sort-select{background:#1e293b;color:#f8fafc;border:1px solid rgba(71,85,105,.3);padding:.5rem;border-radius:.5rem;margin-left:1rem;cursor:pointer}.dashboard-content{max-width:1400px;margin:0 auto}.dashboard-content .dashboard-header{padding:.25rem 0 1.25rem;border-bottom:1px solid rgba(71,85,105,.24)}.dashboard-content .dashboard-title{margin:0;letter-spacing:.2px}.dashboard-content .dashboard-subtitle{margin-top:.4rem}.dashboard-content .stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:stretch}.dashboard-content .stat-card{border-radius:.9rem;padding:1.1rem 1.2rem;justify-content:center;min-height:112px}.dashboard-content .stat-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px #02061752}.dashboard-content .stat-content{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.35rem;width:100%}.dashboard-content .stat-value{margin-bottom:.2rem;font-size:1.7rem;font-variant-numeric:tabular-nums;line-height:1.05}.dashboard-content .courses-section,.dashboard-content .activity-section{background:#0f172a;border:1px solid rgba(71,85,105,.28);border-radius:1rem;padding:1rem 1.1rem}.dashboard-content .section-header{margin-bottom:1rem;gap:1rem;padding-bottom:.85rem;border-bottom:1px solid rgba(71,85,105,.24)}.dashboard-content .section-header h2,.dashboard-content .activity-section h2{margin:0;font-size:1.2rem}.dashboard-content .section-tools{display:flex;align-items:center;gap:.75rem}.dashboard-content .sort-control{display:flex;align-items:center}.dashboard-content .sort-label{color:#94a3b8;font-size:.875rem}.dashboard-content .sort-select{margin-left:.6rem}.dashboard-content .section-loading{color:#94a3b8;padding:.2rem 0 .6rem}.dashboard-content .table-scroll{overflow-x:auto}.dashboard-content .exercises-table{border:1px solid rgba(71,85,105,.24)}.dashboard-content .exercises-table th,.dashboard-content .exercises-table td{padding:.85rem .95rem}.dashboard-content .exercises-table th:last-child,.dashboard-content .exercises-table td:last-child{text-align:right}.dashboard-content .activity-section{margin-top:1.15rem}.dashboard-content .activity-section h2{margin-bottom:.9rem}.dashboard-content .activity-list{gap:.75rem;max-height:24rem;padding-right:.1rem}.dashboard-content .activity-item{border-radius:.85rem;padding:.9rem 1rem;border-color:#47556942;background:linear-gradient(180deg,#0f172ae0,#0f172aa3);align-items:flex-start;transition:border-color .2s ease,transform .2s ease}.dashboard-content .activity-item:hover{border-color:#60a5fa59;transform:translateY(-1px)}.dashboard-content .activity-placeholder{min-height:60px;justify-content:center;align-items:center;color:#94a3b8}.dashboard-content .activity-placeholder.activity-error{color:#fca5a5;border-color:#f8717157;background:#7f1d1d2e}.dashboard-content .activity-icon{width:.72rem;height:.72rem;margin-top:1rem;border-radius:999px;background:#60a5fa;box-shadow:0 0 0 5px #60a5fa24}.dashboard-content .activity-module .activity-icon{background:#34d399;box-shadow:0 0 0 5px #34d39924}.dashboard-content .activity-course .activity-icon{background:#60a5fa;box-shadow:0 0 0 5px #60a5fa24}.dashboard-content .activity-content{display:flex;flex-direction:column;gap:.4rem;width:100%;min-width:0}.dashboard-content .activity-item.activity-course{align-items:center}.dashboard-content .activity-item.activity-course .activity-icon{margin-top:0}.dashboard-content .activity-item.activity-course .activity-content{gap:0}.dashboard-content .activity-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.dashboard-content .activity-title{margin:0;line-height:1.4;font-size:.9rem;font-weight:600}.dashboard-content .activity-time{margin-top:.04rem;white-space:nowrap;font-variant-numeric:tabular-nums;color:#94a3b8;font-size:.75rem}.dashboard-content .activity-subtitle{display:block;color:#94a3b8;margin-top:.08rem;font-size:.78rem;line-height:1.3}@media (max-width: 860px){.dashboard-content .section-header{align-items:flex-start;flex-direction:column}.dashboard-content .section-tools{width:100%;justify-content:space-between}.dashboard-content .activity-title-row{flex-direction:column;gap:.3rem}.dashboard-content .activity-time{white-space:normal}}.profile-page{display:flex;min-height:100vh;background:#020617;color:#f8fafc}.profile-sidebar{width:16rem;background:#0f172a;border-right:1px solid rgba(71,85,105,.3);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:40}.sidebar-header{padding:1.5rem}.sidebar-logo{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700}.logo-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.sidebar-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.nav-item{padding:.75rem 1rem;border-radius:.75rem;background:none;border:none;color:#94a3b8;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left;font-family:inherit}.nav-item:hover{background:#7c3aed1a;color:#fff}.nav-item.active{background:#7c3aed33;color:#fff}.sidebar-footer{padding:1rem;border-top:1px solid rgba(71,85,105,.3)}.nav-item.logout{color:#f87171}.nav-item.logout:hover{background:#ef44441a}.profile-main{flex:1;margin-left:16rem;padding:2rem}.profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.profile-avatar-section{display:flex;align-items:center;gap:1.5rem}.profile-avatar{width:5rem;height:5rem;border-radius:1rem;overflow:hidden;border:3px solid rgba(124,58,237,.5)}.profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-name{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.profile-email{color:#94a3b8;margin-bottom:.5rem}.profile-meta{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:.875rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;justify-content:center}.stat-icon{display:none}.stat-content{text-align:center}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-violet{border-color:#7c3aed4d}.stat-emerald{border-color:#10b9814d}.stat-amber{border-color:#f59e0b4d}.edit-section{margin-bottom:2rem}.edit-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:2rem}.edit-card h2{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.edit-form{display:flex;flex-direction:column;gap:1.5rem}.profile-textarea{width:100%;padding:.75rem 1rem;background:#0f172a80;border:1px solid rgba(71,85,105,.5);border-radius:.75rem;color:#fff;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.profile-textarea:focus{outline:none;border-color:#7c3aed}.profile-content{display:flex;flex-direction:column;gap:2rem}.bio-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:2rem}.bio-card h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.bio-card p{color:#cbd5e1;line-height:1.6}.achievements-section h2{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.achievement-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;gap:1rem;position:relative;transition:all .3s}.achievement-card.unlocked{border-color:#7c3aed80}.achievement-card.locked{opacity:.5}.achievement-card:hover{transform:translateY(-2px)}.achievement-icon{font-size:2rem;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:#7c3aed1a;border-radius:.75rem}.achievement-content h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}.achievement-content p{font-size:.875rem;color:#94a3b8}.achievement-badge{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.125rem}.profile-avatar{display:flex;flex-direction:column;align-items:center;gap:10px}.profile-avatar-img{width:96px;height:96px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid rgba(167,139,250,.6)}.avatar-change-btn{cursor:pointer;font-weight:600;font-size:.9rem;padding:6px 14px;border-radius:12px;color:#a78bfa;border:1px solid rgba(167,139,250,.5);background:#0f172a99;transition:all .2s ease}.avatar-change-btn:hover{color:#c4b5fd;border-color:#a78bfae6;background:#0f172acc}.avatar-file-input{display:none}.avatar-loading{font-size:.85rem;color:#94a3b8}.profile-avatar-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.profile-avatar-img{width:96px;height:96px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid rgba(124,58,237,.5)}.confirm-modal.danger .confirm-header{color:#f87171}.btn-save.danger{background:#ef4444}.confirm-header{display:flex;align-items:center;gap:10px}.data-table th.role-col,.data-table th.exercises-col,.data-table th.actions-col,.data-table td.role-col,.data-table td.exercises-col,.data-table td.actions-col{text-align:center}.stat-value{text-align:center;width:100%;display:block}.admin-main{padding:2rem;color:#f8fafc;width:100vw;max-width:100vw;box-sizing:border-box}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.admin-title{font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.admin-subtitle{color:#94a3b8}.admin-freeze-trigger.btn-primary{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 6px 14px #2563eb47}.admin-freeze-trigger.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 8px 18px #2563eb57}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1rem;padding:1.5rem;display:flex;align-items:center;gap:1rem}.stat-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center}.stat-violet .stat-icon{background:#7c3aed1a;color:#a78bfa}.stat-emerald .stat-icon{background:#10b9811a;color:#34d399}.stat-amber .stat-icon{background:#f59e0b1a;color:#fbbf24}.stat-blue .stat-icon{background:#3b82f61a;color:#60a5fa}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{font-size:.875rem;color:#94a3b8}.admin-content{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:1.5rem;width:100%;max-width:100vw;box-sizing:border-box}.content-header{display:flex;gap:1rem;margin-bottom:1.5rem}.data-table{overflow-x:auto;width:100%;min-width:0;box-sizing:border-box}.data-table table{width:100%;border-collapse:collapse;min-width:100%}.data-table th{text-align:center;padding:.75rem 1rem;font-size:.875rem;font-weight:600;color:#94a3b8;border-bottom:1px solid rgba(71,85,105,.3)}.data-table td{padding:1rem;border-bottom:1px solid rgba(71,85,105,.2);font-size:.875rem}.data-table tr:hover{background:#4755691a}.role-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.role-badge.role-admin{background:#7c3aed26;color:#a78bfa;border:1px solid rgba(124,58,237,.35)}.role-badge.role-user{background:#10b9811f;color:#34d399;border:1px solid rgba(16,185,129,.28)}.action-buttons{display:flex;gap:.5rem;justify-content:center;align-items:center}.action-btn{width:2rem;height:2rem;border-radius:.5rem;background:#47556933;border:none;color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.action-btn:hover{background:#7c3aed33;color:#fff}.action-btn.danger:hover{background:#ef444433;color:#f87171}.action-btn.success:hover{background:#10b98133;color:#34d399}.action-btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{width:360px;background:#0f0f14;color:#fff;border-radius:14px;padding:18px;box-shadow:0 20px 60px #00000073;border:1px solid rgba(255,255,255,.08)}.modal-title{margin:0 0 10px;font-size:18px}.modal-select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#151521;color:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.btn-cancel{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff;padding:9px 12px;border-radius:10px;cursor:pointer}.btn-save{background:#7c3aed;border:none;color:#fff;padding:9px 12px;border-radius:10px;cursor:pointer}.course-freeze-modal{--freeze-color: #60a5fa;--freeze-bg: rgba(59, 130, 246, .14);--freeze-bg-hover: rgba(59, 130, 246, .24);--freeze-border: rgba(96, 165, 250, .4);width:min(980px,94vw);max-height:88vh;padding:0;overflow:hidden}.course-freeze-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.2rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.course-freeze-header-actions{display:flex;gap:.5rem}.course-freeze-subtitle{margin:.4rem 0 0;font-size:.85rem;color:#9ca3af}.course-freeze-error{margin:.8rem 1.2rem 0;padding:.55rem .75rem;border-radius:.7rem;background:#ef444426;border:1px solid rgba(248,113,113,.35);color:#fca5a5;font-size:.82rem}.course-freeze-layout{display:grid;grid-template-columns:340px 1fr;min-height:520px;max-height:calc(88vh - 92px)}.course-freeze-list{border-right:1px solid rgba(255,255,255,.08);overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#10101a}.course-item{border:1px solid rgba(148,163,184,.25);border-radius:.9rem;padding:.8rem;background:#0f172a80;cursor:pointer;transition:border-color .2s,transform .2s,background .2s}.course-item:hover{border-color:#7c3aed8c;background:#0f172ac7}.course-item.active{border-color:#7c3aed;background:#7c3aed1f}.course-item-top{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.course-item-title{font-size:.92rem;font-weight:600}.course-item-meta{margin-top:.4rem;font-size:.77rem;color:#94a3b8}.course-item-actions{margin-top:.7rem}.freeze-chip{font-size:.7rem;padding:.18rem .5rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.freeze-chip.active{color:#34d399;background:#10b98126;border-color:#10b98152}.freeze-chip.frozen{color:var(--freeze-color);background:var(--freeze-bg);border-color:var(--freeze-border)}.mini-freeze-btn{border:1px solid transparent;border-radius:.65rem;font-size:.78rem;font-weight:600;padding:.35rem .65rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:all .2s}.mini-freeze-btn:disabled{opacity:.65;cursor:not-allowed}.mini-freeze-btn.freeze{color:var(--freeze-color);background:var(--freeze-bg);border-color:var(--freeze-border)}.mini-freeze-btn.unfreeze{color:#34d399;background:#10b98121;border-color:#10b98147}.mini-freeze-btn.freeze:hover:not(:disabled){background:var(--freeze-bg-hover)}.mini-freeze-btn.unfreeze:hover:not(:disabled){background:#10b98133}.course-freeze-details{padding:1rem 1rem 1.2rem;overflow-y:auto;background:#0f0f14}.course-details-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.2rem 0 .9rem;border-bottom:1px solid rgba(255,255,255,.08)}.course-details-head h3{margin:0;font-size:1.05rem}.course-details-head p{margin:.45rem 0 0;color:#9ca3af;font-size:.84rem;max-width:520px}.course-modules-head{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.course-modules-head h4{margin:0;font-size:.95rem}.course-modules-head span{font-size:.8rem;color:#94a3b8}.module-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.65rem}.module-item{display:flex;justify-content:space-between;align-items:center;gap:.8rem;border:1px solid rgba(148,163,184,.22);border-radius:.8rem;padding:.75rem .8rem;background:#0f172a73}.module-item.frozen{border-color:var(--freeze-border);background:var(--freeze-bg)}.module-title{font-size:.88rem;font-weight:600}.module-meta{margin-top:.25rem;font-size:.76rem;color:#94a3b8}.course-freeze-empty{color:#94a3b8;font-size:.85rem;padding:.75rem}@media (max-width: 1024px){.course-freeze-layout{grid-template-columns:1fr}.course-freeze-list{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);max-height:260px}}.assignment-page{display:flex;min-height:100vh;background:#020617;color:#f8fafc}.assignment-sidebar{width:16rem;background:#0f172a;border-right:1px solid rgba(71,85,105,.3);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:40}.assignment-main{flex:1;margin-left:16rem;padding:2rem}.assignment-container{max-width:1400px;margin:0 auto}.assignment-header{margin-bottom:2rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#94a3b8;margin-bottom:1rem}.breadcrumb-item.active{color:#fff}.breadcrumb-separator{color:#64748b}.assignment-title{font-size:1.875rem;font-weight:700;margin-bottom:1rem}.assignment-meta{display:flex;gap:1.5rem;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.5rem;color:#94a3b8;font-size:.875rem}.assignment-content{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 1024px){.assignment-content{grid-template-columns:2fr 1fr}}.assignment-left,.assignment-right{display:flex;flex-direction:column;gap:1.5rem}.description-card,.requirements-card,.code-sample-card,.submission-card,.status-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:2rem}.description-card h2,.requirements-card h2,.code-sample-card h2,.submission-card h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.description-card p{color:#cbd5e1;line-height:1.6}.requirements-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.requirements-list li{display:flex;align-items:flex-start;gap:.75rem;color:#cbd5e1}.requirements-list li svg{color:#34d399;flex-shrink:0;margin-top:.125rem}.code-block{background:#020617;border:1px solid rgba(71,85,105,.5);border-radius:.75rem;padding:1.5rem;overflow-x:auto}.code-block pre{margin:0;font-family:Courier New,monospace;font-size:.875rem;line-height:1.6}.code-block code{color:#60a5fa}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#e2e8f0;margin-bottom:.5rem}.answer-textarea{width:100%;padding:.75rem 1rem;background:#0f172a80;border:1px solid rgba(71,85,105,.5);border-radius:.75rem;color:#fff;font-size:.875rem;font-family:inherit;resize:vertical;line-height:1.6;transition:border-color .2s}.answer-textarea:focus{outline:none;border-color:#7c3aed}.file-upload{position:relative}.file-input{position:absolute;opacity:0;width:0;height:0}.file-label{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.5rem;background:#0f172a80;border:1px dashed rgba(71,85,105,.5);border-radius:.75rem;color:#94a3b8;cursor:pointer;transition:all .2s}.file-label:hover{border-color:#7c3aed;color:#fff}.submit-button{width:100%;margin-top:1rem}.status-card h3{font-size:1rem;font-weight:600;margin-bottom:1rem}.status-item{display:flex;align-items:flex-start;gap:1rem}.status-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-pending{background:#f59e0b1a;color:#fbbf24}.status-label{font-weight:600;margin-bottom:.25rem}.status-text{font-size:.875rem;color:#94a3b8}.privacy-page{min-height:100vh;background:#020617;color:#f8fafc}.privacy-navbar{position:fixed;top:0;width:100%;z-index:50;background:#020617cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(71,85,105,.3)}.privacy-navbar-container{max-width:980px;margin:0 auto;height:4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.privacy-back{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(71,85,105,.45);background:#0f172a99;color:#e2e8f0;padding:.5rem .75rem;border-radius:.75rem;cursor:pointer;transition:.2s;white-space:nowrap}.privacy-back:hover{border-color:#a78bfab3;background:#0f172ad9}.privacy-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.privacy-logo-icon{width:2rem;height:2rem;border-radius:.5rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff}.privacy-logo-text{font-size:1.125rem;font-weight:800}.privacy-navbar-actions{display:flex;align-items:center;gap:.75rem}.privacy-nav-btn{border:1px solid rgba(71,85,105,.45);background:transparent;color:#cbd5e1;padding:.55rem .9rem;border-radius:.75rem;cursor:pointer;transition:.2s}.privacy-nav-btn:hover{color:#fff;border-color:#a78bfab3}.privacy-main{position:relative;padding:7rem 1.5rem 3.5rem;overflow:hidden}.privacy-bg-glow{position:absolute;top:-140px;left:50%;transform:translate(-50%);width:900px;height:520px;background:radial-gradient(circle,rgba(124,58,237,.22) 0%,transparent 70%);filter:blur(120px);pointer-events:none}.privacy-container{max-width:980px;margin:0 auto;position:relative;z-index:2}.privacy-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1.25rem;flex-wrap:wrap}.privacy-title-wrap{display:flex;align-items:center;gap:1rem}.privacy-title-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}.privacy-title{font-size:2rem;font-weight:800;line-height:1.15;margin-bottom:.35rem}.privacy-subtitle{color:#94a3b8;line-height:1.6;max-width:46rem}.privacy-meta-badge{display:inline-flex;align-items:center;border:1px solid rgba(71,85,105,.35);background:#0f172a99;color:#cbd5e1;padding:.45rem .75rem;border-radius:999px;font-size:.9rem}.privacy-card{background:#0f172abf;border:1px solid rgba(71,85,105,.35);border-radius:1.25rem;padding:1.25rem;margin-top:1rem;box-shadow:0 20px 60px #00000040}.privacy-card h2{font-size:1.15rem;font-weight:800;margin-bottom:.75rem}.privacy-card p{color:#cbd5e1;line-height:1.7}.privacy-card ul{margin-top:.75rem;padding-left:1.2rem;color:#cbd5e1}.privacy-card li{margin:.35rem 0}.privacy-contact{border-color:#a78bfa59}.privacy-email{display:inline-flex;align-items:center;gap:.5rem;margin-top:.8rem;color:#a78bfa;text-decoration:none;font-weight:600}.privacy-email:hover{color:#c4b5fd;text-decoration:underline}.privacy-bottom-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap}.privacy-secondary,.privacy-primary{border-radius:.95rem;padding:.75rem 1rem;cursor:pointer;transition:.2s;font-weight:700}.privacy-secondary{background:transparent;border:1px solid rgba(71,85,105,.45);color:#e2e8f0}.privacy-secondary:hover{border-color:#a78bfab3;background:#0f172aa6}.privacy-primary{border:none;color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 14px 40px #7c3aed40}.privacy-primary:hover{transform:translateY(-1px);box-shadow:0 18px 55px #7c3aed52}.privacy-footer{background:#0f172a;border-top:1px solid rgba(71,85,105,.3);padding:2rem 1.5rem 2.5rem}.privacy-footer-container{max-width:1280px;margin:0 auto}.privacy-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#94a3b8}.privacy-footer-legal{display:flex;gap:1rem;flex-wrap:wrap}.privacy-footer-legal button{color:#94a3b8;background:none;border:none;cursor:pointer;transition:.2s;padding:0;font-size:1rem}.privacy-footer-legal button:hover{color:#a78bfa}@media (max-width: 640px){.privacy-title{font-size:1.6rem}.privacy-navbar-actions{display:none}}.terms-page{min-height:100vh;background:#020617;color:#f8fafc}.terms-navbar{position:fixed;top:0;width:100%;z-index:50;background:#020617cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(71,85,105,.3)}.terms-navbar-container{max-width:980px;margin:0 auto;height:4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.terms-back{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(71,85,105,.45);background:#0f172a99;color:#e2e8f0;padding:.5rem .75rem;border-radius:.75rem;cursor:pointer;transition:.2s;white-space:nowrap}.terms-back:hover{border-color:#a78bfab3;background:#0f172ad9}.terms-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.terms-logo-icon{width:2rem;height:2rem;border-radius:.5rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff}.terms-logo-text{font-size:1.125rem;font-weight:800}.terms-navbar-actions{display:flex;align-items:center;gap:.75rem}.terms-nav-btn{border:1px solid rgba(71,85,105,.45);background:transparent;color:#cbd5e1;padding:.55rem .9rem;border-radius:.75rem;cursor:pointer;transition:.2s}.terms-nav-btn:hover{color:#fff;border-color:#a78bfab3}.terms-main{position:relative;padding:7rem 1.5rem 3.5rem;overflow:hidden}.terms-bg-glow{position:absolute;top:-140px;left:50%;transform:translate(-50%);width:900px;height:520px;background:radial-gradient(circle,rgba(124,58,237,.22) 0%,transparent 70%);filter:blur(120px);pointer-events:none}.terms-container{max-width:980px;margin:0 auto;position:relative;z-index:2}.terms-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1.25rem;flex-wrap:wrap}.terms-title-wrap{display:flex;align-items:center;gap:1rem}.terms-title-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}.terms-title{font-size:2rem;font-weight:800;line-height:1.15;margin-bottom:.35rem}.terms-subtitle{color:#94a3b8;line-height:1.6;max-width:46rem}.terms-meta-badge{display:inline-flex;align-items:center;border:1px solid rgba(71,85,105,.35);background:#0f172a99;color:#cbd5e1;padding:.45rem .75rem;border-radius:999px;font-size:.9rem}.terms-card{background:#0f172abf;border:1px solid rgba(71,85,105,.35);border-radius:1.25rem;padding:1.25rem;margin-top:1rem;box-shadow:0 20px 60px #00000040}.terms-card h2{font-size:1.15rem;font-weight:800;margin-bottom:.75rem}.terms-card p{color:#cbd5e1;line-height:1.7}.terms-card ul{margin-top:.75rem;padding-left:1.2rem;color:#cbd5e1}.terms-card li{margin:.35rem 0}.terms-warning{border-color:#f8717159}.terms-warning-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.terms-warning-head h2{margin:0}.terms-bottom-actions{display:flex;gap:.75rem;justify-content:space-between;align-items:center;margin-top:1.5rem;flex-wrap:wrap}.terms-secondary-link{color:#a78bfa;text-decoration:none;font-weight:700}.terms-secondary-link:hover{color:#c4b5fd;text-decoration:underline}.terms-primary{border-radius:.95rem;padding:.75rem 1rem;cursor:pointer;transition:.2s;font-weight:800;border:none;color:#fff;background:linear-gradient(135deg,#7c3aed,#6366f1);box-shadow:0 14px 40px #7c3aed40}.terms-primary:hover{transform:translateY(-1px);box-shadow:0 18px 55px #7c3aed52}.terms-footer{background:#0f172a;border-top:1px solid rgba(71,85,105,.3);padding:2rem 1.5rem 2.5rem}.terms-footer-container{max-width:1280px;margin:0 auto}.terms-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#94a3b8}.terms-footer-legal{display:flex;gap:1rem;flex-wrap:wrap}.terms-footer-legal a{color:#94a3b8;text-decoration:none;transition:.2s}.terms-footer-legal a:hover{color:#a78bfa;text-decoration:underline}@media (max-width: 640px){.terms-title{font-size:1.6rem}.terms-navbar-actions{display:none}.terms-bottom-actions{justify-content:flex-start}}.vulnerabilities-page{display:flex;min-height:100vh;background:#020617;color:#f8fafc}.vulnerabilities-sidebar{width:16rem;background:#0f172a;border-right:1px solid rgba(71,85,105,.3);display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:40}.vulnerabilities-main{flex:1;margin-left:16rem;padding:2rem}.vulnerabilities-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1.5rem}.page-title{font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.page-subtitle{color:#94a3b8}.header-actions{display:flex;gap:1rem;align-items:center}.categories-filter{display:flex;gap:.75rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:.5rem}.category-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:.75rem;color:#94a3b8;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit;white-space:nowrap}.category-btn:hover{border-color:#7c3aed80;color:#fff}.category-btn.active{background:#7c3aed33;border-color:#7c3aed;color:#fff}.category-count{padding:.125rem .5rem;background:#4755694d;border-radius:9999px;font-size:.75rem}.category-btn.active .category-count{background:#7c3aed4d}.vulnerabilities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.vulnerability-card{background:#0f172a;border:1px solid rgba(71,85,105,.3);border-radius:1.5rem;padding:1.5rem;transition:all .3s;display:flex;flex-direction:column}.vulnerability-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000004d}.vulnerability-card.vuln-frozen{border-color:#f59e0b59;background:linear-gradient(180deg,#f59e0b14,#0f172af0)}.vuln-blue:hover{border-color:#3b82f680}.vuln-emerald:hover{border-color:#10b98180}.vuln-amber:hover{border-color:#f59e0b80}.vuln-red:hover{border-color:#ef444480}.vuln-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.vuln-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center}.vuln-icon-blue{background:#3b82f61a;color:#60a5fa}.vuln-icon-emerald{background:#10b9811a;color:#34d399}.vuln-icon-amber{background:#f59e0b1a;color:#fbbf24}.vuln-icon-red{background:#ef44441a;color:#f87171}.severity-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.severity-critical{background:#ef44441a;color:#f87171}.severity-high{background:#f59e0b1a;color:#fbbf24}.severity-medium{background:#eab3081a;color:#facc15}.maintenance-badge{padding:.25rem .7rem;border-radius:9999px;font-size:.72rem;font-weight:700;background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.vuln-title{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.vuln-description{font-size:.875rem;color:#94a3b8;line-height:1.5;margin-bottom:1.5rem;flex:1}.vuln-progress{margin-bottom:1.5rem}.progress-info{display:flex;justify-content:space-between;font-size:.75rem;color:#64748b;margin-bottom:.5rem}.progress-bar{height:.5rem;background:#4755694d;border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#6366f1);border-radius:9999px;transition:width .3s}.vuln-actions{display:flex;gap:.75rem}.learn-more-btn{flex:1;padding:.5rem 1rem;background:none;border:1px solid rgba(71,85,105,.5);border-radius:.75rem;color:#94a3b8;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.learn-more-btn:hover{border-color:#7c3aed80;color:#fff}.exercises-page{--surface: #0f172a;--border: rgba(71, 85, 105, .3);--text-main: #f8fafc;--text-muted: #94a3b8;--freeze-color: #60a5fa;--freeze-bg: rgba(59, 130, 246, .14);--freeze-border: rgba(96, 165, 250, .4);max-width:1120px;margin:0 auto;padding:.25rem 0 .75rem;display:flex;flex-direction:column;gap:1rem;color:var(--text-main)}.exercises-header{padding:1.55rem 1.6rem;border-radius:1.15rem;border:1px solid rgba(124,58,237,.26);background:linear-gradient(145deg,#7c3aed21,#0f172ae6)}.exercises-code-badge{display:inline-flex;align-items:center;justify-content:center;padding:.26rem .7rem;margin-bottom:.85rem;border-radius:999px;border:1px solid rgba(124,58,237,.4);background:#7c3aed24;color:#c4b5fd;font-size:.72rem;font-weight:700;letter-spacing:.4px}.exercises-title{margin:0;font-size:clamp(1.4rem,2.4vw,2.05rem);line-height:1.2}.exercises-description{margin:.65rem 0 0;max-width:780px;font-size:.94rem;line-height:1.62;color:var(--text-muted)}.course-maintenance-banner{border:1px solid var(--freeze-border);background:var(--freeze-bg);color:var(--freeze-color);border-radius:.95rem;padding:.78rem .95rem;font-size:.88rem}.course-progress-card{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:.95rem 1.05rem}.course-progress-info{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.58rem;font-size:.82rem;color:var(--text-muted)}.course-progress-bar{height:.54rem;overflow:hidden;border-radius:999px;background:#334155a6}.course-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#6366f1);transition:width .28s ease}.exercises-board{border:1px solid var(--border);background:var(--surface);border-radius:1rem;padding:1rem}.exercises-board-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.95rem;padding-bottom:.78rem;border-bottom:1px solid rgba(71,85,105,.24)}.exercises-board-head h2{margin:0;font-size:1.08rem;font-weight:700}.exercises-board-head span{font-size:.8rem;color:var(--text-muted)}.exercises-list{display:flex;flex-direction:column;gap:.72rem}.exercise-row{display:grid;grid-template-columns:52px 1fr auto;gap:1rem;border:1px solid rgba(71,85,105,.24);border-radius:.9rem;background:linear-gradient(180deg,#0f172aeb,#0f172aad);padding:.95rem;transition:border-color .2s ease,transform .2s ease}.exercise-row:hover{border-color:#7c3aed7a;transform:translateY(-1px)}.exercise-row.is-frozen{border-color:var(--freeze-border);background:linear-gradient(180deg,#0f172af2,#3b82f614)}.exercise-left{display:flex;align-items:flex-start;justify-content:center;margin-top:1em}.exercise-order{width:2.2rem;height:2.2rem;border-radius:.68rem;display:flex;align-items:center;justify-content:center;background:#7c3aed2b;color:#c4b5fd;font-size:.86rem;font-weight:700}.exercise-main{min-width:0}.exercise-topline{display:flex;align-items:center;gap:.65rem;min-height:2.15rem}.exercise-row-title{margin:0;font-size:.99rem;font-weight:600;line-height:1.35}.module-state-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--freeze-border);background:var(--freeze-bg);color:var(--freeze-color);padding:.2rem .56rem;font-size:.68rem;font-weight:700;letter-spacing:.15px;flex-shrink:0}.exercise-row-description{margin:.26rem 0 0;color:#cbd5e1;font-size:.84rem;line-height:1.55}.exercise-right{min-width:136px;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.7rem}.difficulty-badge{border-radius:999px;padding:.23rem .58rem;font-size:.67rem;font-weight:700;letter-spacing:.35px;text-transform:uppercase}.difficulty-beginner{background:#10b98129;color:#34d399}.difficulty-intermediate{background:#f59e0b29;color:#fbbf24}.difficulty-advanced{background:#ef444429;color:#f87171}.difficulty-unknown{background:#64748b33;color:#cbd5e1}.exercise-open-btn.btn{min-width:120px}.board-empty{border:1px dashed rgba(71,85,105,.45);border-radius:.9rem}@media (max-width: 860px){.exercise-row{grid-template-columns:46px 1fr;gap:.85rem}.exercise-right{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;min-width:0;padding-left:2.95rem}}@media (max-width: 580px){.exercises-header{padding:1.2rem 1.05rem}.course-progress-card,.exercises-board{padding:.84rem}.exercise-topline{flex-wrap:wrap;align-items:flex-start}.exercise-right{padding-left:0}}.exercise-task-page{max-width:1040px;margin:0 auto;padding:.25rem 0 1rem;display:flex;flex-direction:column;gap:1rem;color:#f8fafc}.exercise-task-header{border-radius:1.15rem;border:1px solid rgba(124,58,237,.26);background:linear-gradient(145deg,#7c3aed21,#0f172aeb);padding:1.45rem 1.55rem}.task-header-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.88rem;flex-wrap:wrap}.exercise-order-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(124,58,237,.4);background:#7c3aed24;color:#c4b5fd;border-radius:999px;padding:.24rem .7rem;font-size:.72rem;font-weight:700;letter-spacing:.4px}.task-difficulty-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.23rem .62rem;font-size:.67rem;font-weight:700;letter-spacing:.35px;text-transform:uppercase}.task-difficulty-badge.difficulty-beginner{background:#10b98129;color:#34d399}.task-difficulty-badge.difficulty-intermediate{background:#f59e0b29;color:#fbbf24}.task-difficulty-badge.difficulty-advanced{background:#ef444429;color:#f87171}.task-difficulty-badge.difficulty-unknown{background:#64748b33;color:#cbd5e1}.exercise-task-title{margin:0;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.22}.exercise-task-description{margin:.65rem 0 0;max-width:780px;color:#94a3b8;font-size:.94rem;line-height:1.62}.exercise-task-grid{display:grid;grid-template-columns:1fr;gap:.92rem}.task-card,.theory-card{border:1px solid rgba(71,85,105,.3);border-radius:1rem;background:#0f172a;padding:1.2rem}.task-card h2,.theory-card h2{margin:0;font-size:1.02rem;font-weight:700}.task-card p,.theory-card p{margin:.7rem 0 0;color:#cbd5e1;font-size:.9rem;line-height:1.62}.theory-text{white-space:pre-line}.exercise-task-actions{border:1px solid rgba(71,85,105,.25);border-radius:1rem;background:#0f172a;padding:.9rem;display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.task-action-btn.btn{min-width:188px}.complete-btn.btn.btn-outline{border-color:#22c55e66;color:#86efac}.complete-btn.btn.btn-outline:hover:not(:disabled){border-color:#22c55e8c;background:#22c55e1f;color:#bbf7d0}.complete-btn.is-completed.btn.btn-outline:disabled{opacity:1;border-color:#34d39973;color:#34d399;background:#10b9811f}.page-loading,.page-empty{text-align:center;padding:3.2rem 1.2rem;color:#64748b}@media (max-width: 640px){.exercise-task-header{padding:1.2rem 1rem}.task-card,.theory-card,.exercise-task-actions{padding:.85rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.app{min-height:100vh;background:#020617;color:#f8fafc;overflow-x:hidden}html,body{background:#01040d;overflow-x:hidden;overscroll-behavior-y:none;max-width:100vw}#root{min-height:100vh;background:#01040d}
