@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary:#6c5ce7;--primary-light:#a29bfe;--primary-dark:#5241c5;--accent:#00cec9;--accent-light:#55efc4;--bg-dark:#0a0a1a;--bg-card:#12122a;--bg-card-hover:#1a1a3e;--bg-glass:#12122ab3;--text:#f0f0f8;--text-muted:#88a;--text-dim:#557;--success:#00b894;--warning:#fdcb6e;--danger:#ff6b6b;--border:#6c5ce733;--border-light:#ffffff14;--gradient-primary:linear-gradient(135deg, #6c5ce7, #a29bfe);--gradient-accent:linear-gradient(135deg, #00cec9, #55efc4);--gradient-hero:linear-gradient(135deg, #0a0a1a 0%, #1a0a3a 50%, #0a0a1a 100%);--gradient-card:linear-gradient(145deg, #6c5ce71a, #00cec90d);--radius:12px;--radius-lg:20px;--radius-xl:28px;--shadow:0 4px 30px #0000004d;--shadow-glow:0 0 40px #6c5ce726;--shadow-card:0 8px 32px #0006}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:var(--primary-light);text-decoration:none;transition:color .2s}a:hover{color:var(--accent)}.navbar{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);background:#0a0a1ad9;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex;position:fixed;top:0;left:0;right:0}.navbar-brand{background:var(--gradient-primary);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:1.4rem;font-weight:800}.navbar-links{align-items:center;gap:1rem;display:flex}.navbar-links a,.navbar-links button{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;transition:all .2s}.navbar-links a:hover,.navbar-links button:hover{color:var(--text);background:#ffffff0d}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #6c5ce766}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6c5ce780}.btn-accent{background:var(--gradient-accent);color:var(--bg-dark);box-shadow:0 4px 15px #00cec94d}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00cec966}.btn-outline{color:var(--primary-light);border:1px solid var(--primary);background:0 0}.btn-outline:hover{background:#6c5ce71a}.btn-danger{color:var(--danger);background:#ff6b6b26;border:1px solid #ff6b6b4d}.btn-danger:hover{background:#ff6b6b40}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-lg{border-radius:var(--radius-lg);padding:1rem 2.5rem;font-size:1.1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;transition:all .3s}.card:hover{background:var(--bg-card-hover);border-color:var(--border);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-light);border-radius:var(--radius-xl)}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text);background:#ffffff0d;outline:none;padding:.85rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6c5ce726}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}.form-group select option{background:var(--bg-card);color:var(--text)}.hero{text-align:center;background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle,#6c5ce726 0%,#0000 70%);border-radius:50%;width:600px;height:600px;animation:8s ease-in-out infinite float;position:absolute;top:-40%;right:-20%}.hero:after{content:"";background:radial-gradient(circle,#00cec91a 0%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:10s ease-in-out infinite reverse float;position:absolute;bottom:-30%;left:-15%}.hero-content{z-index:1;max-width:800px;position:relative}.hero-badge{color:var(--primary-light);background:#6c5ce726;border:1px solid #6c5ce74d;border-radius:50px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.85rem;display:inline-flex}.hero h1{letter-spacing:-1px;margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:900;line-height:1.1}.hero h1 .gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero p{color:var(--text-muted);max-width:600px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:1.25rem}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.features{max-width:1200px;margin:0 auto;padding:6rem 2rem}.section-title{text-align:center;margin-bottom:4rem}.section-title h2{margin-bottom:1rem;font-size:2.5rem;font-weight:800}.section-title p{color:var(--text-muted);max-width:500px;margin:0 auto;font-size:1.1rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.feature-card{text-align:center;padding:2.5rem 2rem}.feature-icon{margin-bottom:1.5rem;font-size:3rem;display:block}.feature-card h3{margin-bottom:.75rem;font-size:1.2rem}.feature-card p{color:var(--text-muted);font-size:.95rem;line-height:1.7}.pricing{max-width:1000px;margin:0 auto;padding:6rem 2rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1.5rem;display:grid}.pricing-card{text-align:center;padding:2.5rem 2rem;position:relative}.pricing-card.featured{border-color:var(--primary);box-shadow:var(--shadow-glow)}.pricing-card .plan-name{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);margin-bottom:.5rem;font-size:.85rem}.pricing-card .price{margin-bottom:.25rem;font-size:3rem;font-weight:900}.pricing-card .price-period{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.pricing-card ul{text-align:left;margin-bottom:2rem;list-style:none}.pricing-card ul li{color:var(--text-muted);align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.pricing-card ul li:before{content:"✓";color:var(--accent);font-weight:700}.divider{text-align:center;color:var(--text-muted);align-items:center;margin:.5rem 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--border-light);flex:1}.divider:before{margin-right:.5em}.divider:after{margin-left:.5em}.btn-google{color:#333;background:#fff;border:1px solid #ddd;justify-content:center;align-items:center;gap:.75rem;font-weight:500;transition:all .2s;display:flex}.btn-google:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 15px #ffffff1a}.btn-google img{width:20px;height:20px}.auth-page{background:var(--gradient-hero);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{width:100%;max-width:420px;padding:2.5rem}.auth-card h1{text-align:center;margin-bottom:.5rem;font-size:1.8rem}.auth-card .subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem}.auth-card form{flex-direction:column;gap:1.25rem;display:flex}.auth-card .auth-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.9rem}.error-msg{color:var(--danger);border-radius:var(--radius);text-align:center;background:#ff6b6b1a;border:1px solid #ff6b6b4d;padding:.75rem 1rem;font-size:.9rem}.dashboard{max-width:1200px;margin:0 auto;padding:5rem 2rem 2rem}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.dashboard-header h1{font-size:2rem;font-weight:800}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.course-card{cursor:pointer}.course-card .course-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:50px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-level{color:var(--primary-light);background:#6c5ce726}.badge-profile{color:var(--accent);background:#00cec926}.course-card h3{margin-bottom:.5rem;font-size:1.15rem;line-height:1.4}.course-card .course-topic{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.course-card .course-date{color:var(--text-dim);font-size:.8rem}.empty-state{text-align:center;grid-column:1/-1;padding:4rem 2rem}.empty-state .empty-icon{margin-bottom:1.5rem;font-size:4rem;display:block}.empty-state h3{margin-bottom:.75rem;font-size:1.3rem}.empty-state p{color:var(--text-muted);margin-bottom:2rem}.generate-page{max-width:700px;margin:0 auto;padding:5rem 2rem 3rem}.generate-hero{text-align:center;margin-bottom:2.5rem}.generate-hero h1{letter-spacing:-.5px;margin-bottom:.75rem;font-size:2.4rem;font-weight:900}.generate-hero .subtitle{color:var(--text-muted);max-width:550px;margin:0 auto;font-size:1.05rem;line-height:1.7}.generate-card{padding:2.5rem}.generate-form{flex-direction:column;gap:1.5rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.loading-overlay{z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#0a0a1af2;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.loading-overlay h2{margin-bottom:.5rem;font-size:1.5rem}.loading-spinner{border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;width:60px;height:60px;margin-bottom:1.5rem;animation:.8s linear infinite spin}.loading-overlay p{color:var(--text-muted);font-size:1.1rem}.loading-overlay .loading-sub{color:var(--text-dim);max-width:400px;margin-top:.5rem;font-size:.9rem}.course-viewer{grid-template-columns:300px 1fr;min-height:100vh;padding-top:64px;display:grid}.course-sidebar{background:var(--bg-card);border-right:1px solid var(--border-light);height:calc(100vh - 64px);padding:1.5rem;position:sticky;top:64px;overflow-y:auto}.course-sidebar h2{color:var(--primary-light);margin-bottom:1rem;font-size:1.1rem;line-height:1.4}.progress-label{color:var(--text-dim);margin-bottom:1rem;font-size:.8rem}.sidebar-unit{margin-bottom:.75rem}.sidebar-unit-title{text-transform:uppercase;color:var(--text-dim);letter-spacing:.05em;flex-direction:column;gap:.1rem;margin-bottom:.25rem;padding:.5rem .5rem .25rem;font-size:.75rem;font-weight:700;display:flex}.sidebar-unit-title .unit-number{color:var(--accent);letter-spacing:.1em;font-size:.65rem}.sidebar-lesson{border-radius:var(--radius);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.82rem;line-height:1.3;transition:all .2s;display:flex}.sidebar-lesson:hover{color:var(--text);background:#ffffff0d}.sidebar-lesson.active{color:var(--primary-light);background:#6c5ce726;font-weight:600}.sidebar-lesson.completed{color:var(--success)}.sidebar-lesson .lesson-status{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:7px;height:7px}.sidebar-lesson.completed .lesson-status{background:var(--success)}.sidebar-lesson.active .lesson-status{background:var(--primary)}.sidebar-lesson .lesson-number{color:var(--text-dim);flex-shrink:0;min-width:1.8rem;font-size:.7rem;font-weight:600}.sidebar-lesson.overview-link{color:var(--primary-light);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.course-content{max-width:880px;padding:2.5rem 3rem}.lesson-header{border-bottom:1px solid var(--border-light);margin-bottom:2rem;padding-bottom:1.5rem}.lesson-breadcrumb{text-transform:uppercase;color:var(--text-dim);letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.lesson-breadcrumb .unit-label{color:var(--accent);font-weight:700}.breadcrumb-sep{color:var(--text-dim)}.lesson-header h1{align-items:baseline;gap:.6rem;margin-bottom:0;font-size:1.8rem;font-weight:800;display:flex}.lesson-header h1 .lesson-num{color:var(--primary-light);opacity:.7;font-size:1.2rem;font-weight:700}.content-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem;transition:border-color .3s}.content-card:hover{border-color:var(--border)}.block-tag{text-transform:uppercase;letter-spacing:.08em;border-radius:50px;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:inline-flex}.block-icon{font-size:.9rem}.block-idea{border-left:3px solid var(--warning)}.block-idea .block-tag{color:var(--warning);background:#fdcb6e1a}.block-idea .idea-text{color:var(--text);font-size:1.1rem;font-style:italic;font-weight:500;line-height:1.7}.block-theory{border-left:3px solid var(--primary-light)}.block-theory .block-tag{color:var(--primary-light);background:#6c5ce71a}.block-example{border-left:3px solid var(--accent)}.block-example .block-tag{color:var(--accent);background:#00cec91a}.block-activity{border-left:3px solid var(--success)}.block-activity .block-tag{color:var(--success);background:#00b8941a}.block-test{border-left:3px solid var(--primary)}.block-test .block-tag{color:var(--primary-light);background:#6c5ce71a}.block-body{color:var(--text);white-space:pre-wrap;line-height:1.8}.course-overview{animation:.5s fadeIn}.course-header-card{text-align:center;background:var(--gradient-card);margin-bottom:2rem;padding:2.5rem}.course-header-card h1{margin-bottom:.75rem;font-size:2rem;font-weight:900;display:block}.course-desc{color:var(--text-muted);max-width:600px;margin:0 auto 1.5rem;font-size:1.05rem;line-height:1.7}.course-tags{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.tag{border-radius:50px;align-items:center;gap:.4rem;padding:.4rem 1rem;font-size:.82rem;font-weight:600;display:inline-flex}.tag-nivel{color:var(--primary-light);background:#6c5ce726}.tag-duracion{color:var(--accent);background:#00cec926}.tag-perfil{color:var(--warning);background:#fdcb6e26}.objectives-card{margin-bottom:2rem;padding:2rem}.objectives-card h2{margin-bottom:1.25rem;font-size:1.3rem}.objectives-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.objectives-list li{color:var(--text);align-items:flex-start;gap:.6rem;font-size:.95rem;line-height:1.6;display:flex}.objectives-list li:before{content:"✅";flex-shrink:0;margin-top:.15rem;font-size:.85rem}.course-map{margin-bottom:1rem}.course-map h2{margin-bottom:.5rem;font-size:1.3rem}.map-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.units-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.unit-map-card{cursor:default;padding:1.5rem;transition:all .3s}.unit-map-card:hover{border-color:var(--border);box-shadow:var(--shadow-glow)}.unit-map-number{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.5rem;font-size:.7rem;font-weight:700}.unit-map-card h3{margin-bottom:.5rem;font-size:1rem;line-height:1.4}.unit-map-desc{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem;line-height:1.5}.unit-map-lessons{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.quiz-question{margin-bottom:1.25rem}.quiz-pregunta{margin-bottom:.75rem;font-weight:600;line-height:1.5}.quiz-options{flex-direction:column;gap:.5rem;display:flex}.quiz-option{border-radius:var(--radius);border:1px solid var(--border-light);cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;align-items:center;gap:.75rem;padding:.75rem 1rem;font-family:inherit;font-size:.92rem;transition:all .2s;display:flex}.quiz-option .opt-letter{width:26px;height:26px;color:var(--text-muted);background:#ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.quiz-option:hover{border-color:var(--primary);background:#6c5ce70d}.quiz-option.selected{border-color:var(--primary);background:#6c5ce71a}.quiz-option.selected .opt-letter{color:var(--primary-light);background:#6c5ce74d}.quiz-option.correct{border-color:var(--success);color:var(--success);background:#00b8941a}.quiz-option.correct .opt-letter{color:var(--success);background:#00b8944d}.quiz-option.incorrect{border-color:var(--danger);color:var(--danger);background:#ff6b6b1a}.quiz-option.incorrect .opt-letter{color:var(--danger);background:#ff6b6b4d}.quiz-result{text-align:center;border-radius:var(--radius-lg);margin-top:1rem;padding:1.5rem}.quiz-result.passed{color:var(--success);background:#00b8941a;border:1px solid #00b8944d}.quiz-result.failed{color:var(--danger);background:#ff6b6b1a;border:1px solid #ff6b6b4d}.final-sections{animation:.5s fadeIn}.eval-section{margin-bottom:3rem}.eval-section h1{margin-bottom:.5rem;font-size:2rem;font-weight:900}.eval-desc{color:var(--text-muted);margin-bottom:2rem;line-height:1.6}.project-section{border-top:1px solid var(--border-light);margin-bottom:3rem;padding-top:2rem}.project-section h2{margin-bottom:.5rem;font-size:1.5rem}.project-desc{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.6}.sources-section{border-top:1px solid var(--border-light);margin-bottom:3rem;padding-top:2rem}.sources-section h2{margin-bottom:1.25rem;font-size:1.5rem}.sources-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.source-item{border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-muted);background:#ffffff05;padding:.85rem 1rem;font-size:.92rem;line-height:1.5}.source-item strong{color:var(--text)}.source-item a{color:var(--accent);font-weight:600}.source-desc{color:var(--text-dim)}.lesson-nav{border-top:1px solid var(--border-light);justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:2rem;display:flex}.footer{text-align:center;color:var(--text-dim);border-top:1px solid var(--border-light);padding:3rem 2rem;font-size:.85rem}.progress-bar{background:#ffffff0d;border-radius:10px;width:100%;height:6px;margin:.75rem 0 .5rem;overflow:hidden}.progress-fill{background:var(--gradient-primary);border-radius:10px;height:100%;transition:width .5s}@media (width<=768px){.course-viewer{grid-template-columns:1fr}.course-sidebar{border-right:none;border-bottom:1px solid var(--border-light);height:auto;max-height:40vh;position:relative;top:0}.course-content{padding:1.5rem}.form-row{grid-template-columns:1fr}.hero h1{font-size:2.2rem}.navbar{padding:0 1rem}.generate-card{padding:1.5rem}.units-grid{grid-template-columns:1fr}.course-header-card h1{font-size:1.5rem}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(20px,-30px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s forwards fadeIn}
