.landing{--lp-green: #006B3F;--lp-green-light: #00894F;--lp-green-dark: #004D2C;--lp-gold: #FCD116;--lp-gold-light: #FDE047;--lp-red: #CE1126;--lp-black: #0f172a;--lp-gray-50: #f8fafc;--lp-gray-100: #f1f5f9;--lp-gray-200: #e2e8f0;--lp-gray-300: #cbd5e1;--lp-gray-400: #94a3b8;--lp-gray-500: #64748b;--lp-gray-600: #475569;--lp-gray-700: #334155;--lp-gray-800: #1e293b;--lp-gray-900: #0f172a;--lp-radius: 12px;--lp-radius-lg: 16px;--lp-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--lp-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--lp-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--lp-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--lp-gray-900);background:#fff;overflow-x:hidden}.lp-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.fade-in.visible{opacity:1;transform:translateY(0)}.lp-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 0;transition:all .3s ease;background:transparent}.lp-nav.scrolled{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 3px #00000014;padding:.65rem 0}.lp-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.lp-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:800;font-size:1.35rem;color:var(--lp-black)}.lp-logo:hover{text-decoration:none}.lp-logo-icon{color:var(--lp-gold);font-size:1.5rem;line-height:1}.lp-logo-img{width:36px;height:36px;object-fit:contain;flex-shrink:0}.lp-nav .lp-logo{color:#fff}.lp-nav.scrolled .lp-logo{color:var(--lp-black)}.lp-nav-links{display:flex;gap:2rem;align-items:center}.lp-nav-links a{color:#ffffffd9;text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.lp-nav-links a:hover{color:#fff;text-decoration:none}.lp-nav.scrolled .lp-nav-links a{color:var(--lp-gray-600)}.lp-nav.scrolled .lp-nav-links a:hover{color:var(--lp-green)}.lp-nav-cta{display:flex;gap:.75rem;align-items:center}.lp-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:101}.lp-hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:all .3s}.lp-nav.scrolled .lp-hamburger span{background:var(--lp-gray-700)}.lp-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.lp-hamburger.open span:nth-child(2){opacity:0}.lp-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.lp-btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;background:var(--lp-green);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:all .2s}.lp-btn-primary:hover{background:var(--lp-green-light);transform:translateY(-1px);box-shadow:0 4px 12px #006b3f4d;text-decoration:none}.lp-btn-ghost{display:inline-flex;padding:.65rem 1rem;background:transparent;color:#ffffffe6;border:none;border-radius:8px;font-weight:500;font-size:.95rem;text-decoration:none;transition:all .2s}.lp-btn-ghost:hover{background:#ffffff1a;text-decoration:none}.lp-nav.scrolled .lp-btn-ghost{color:var(--lp-gray-700)}.lp-nav.scrolled .lp-btn-ghost:hover{background:var(--lp-gray-100)}.lp-btn-outline{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;background:transparent;color:var(--lp-green);border:2px solid var(--lp-green);border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:all .2s}.lp-btn-outline:hover{background:var(--lp-green);color:#fff;text-decoration:none}.lp-btn-white{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;background:#fff;color:var(--lp-green);border:none;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:all .2s}.lp-btn-white:hover{background:var(--lp-gray-100);transform:translateY(-1px);box-shadow:0 4px 12px #00000026;text-decoration:none}.lp-btn-lg{padding:.85rem 2rem;font-size:1.05rem;border-radius:10px}.lp-btn-block{width:100%;justify-content:center}.lp-btn-icon{display:inline-flex;width:18px;height:18px}.lp-btn-icon.play{width:14px;height:14px}.lp-hero{position:relative;padding:10rem 0 4rem;text-align:center;overflow:hidden}.lp-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0}.lp-hero-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0a3d1fd1,#004b2cbf 40%,#006b3fb3,#34d3998c);z-index:1}.lp-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 600px 400px at 15% 40%,rgba(252,209,22,.18) 0%,transparent 70%),radial-gradient(ellipse 500px 500px at 85% 20%,rgba(255,255,255,.08) 0%,transparent 60%),radial-gradient(ellipse 400px 300px at 50% 90%,rgba(52,211,153,.15) 0%,transparent 60%),radial-gradient(ellipse 200px 200px at 70% 60%,rgba(252,209,22,.1) 0%,transparent 50%);z-index:2}.lp-hero-shapes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.lp-hero-shape{position:absolute;border-radius:50%;opacity:0;animation:lpShapeFloat 20s ease-in-out infinite}.lp-hero-shape:nth-child(1){width:300px;height:300px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(252,209,22,.12),transparent 70%);animation-delay:0s;animation-duration:18s}.lp-hero-shape:nth-child(2){width:200px;height:200px;bottom:10%;left:5%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);animation-delay:3s;animation-duration:22s}.lp-hero-shape:nth-child(3){width:150px;height:150px;top:30%;right:15%;background:radial-gradient(circle,rgba(52,211,153,.1),transparent 70%);animation-delay:6s;animation-duration:16s}.lp-hero-shape:nth-child(4){width:100px;height:100px;top:60%;left:20%;background:radial-gradient(circle,rgba(252,209,22,.08),transparent 70%);animation-delay:9s;animation-duration:24s}.lp-hero-shape:nth-child(5){width:250px;height:250px;top:10%;left:40%;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;background:radial-gradient(circle,rgba(255,255,255,.04),transparent 70%);animation-delay:2s;animation-duration:25s}.lp-hero-shape:nth-child(6){width:180px;height:180px;bottom:20%;right:30%;border-radius:40% 60% 65% 35%/40% 45% 55% 60%;background:radial-gradient(circle,rgba(252,209,22,.06),transparent 70%);animation-delay:5s;animation-duration:20s}@keyframes lpShapeFloat{0%{opacity:0;transform:translate(0) scale(.8) rotate(0)}10%{opacity:1}50%{transform:translate(30px,-20px) scale(1.1) rotate(15deg)}90%{opacity:1}to{opacity:0;transform:translate(-20px,30px) scale(.8) rotate(-10deg)}}.lp-hero-bg-decor{position:absolute;bottom:-2px;left:0;right:0;height:80px;z-index:3;overflow:hidden}.lp-hero-bg-decor:before{content:"";position:absolute;bottom:0;left:-5%;right:-5%;height:80px;background:var(--lp-bg);border-radius:50% 50% 0 0/100% 100% 0 0}.lp-hero-inner{position:relative;z-index:10}.lp-badge{display:inline-block;padding:.4rem 1rem;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:100px;color:var(--lp-gold-light);font-size:.85rem;font-weight:600;margin-bottom:1.5rem;letter-spacing:.02em}.lp-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.15;color:#fff;margin-bottom:1.5rem;letter-spacing:-.02em}.lp-gradient-text{background:linear-gradient(135deg,var(--lp-gold) 0%,var(--lp-gold-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lp-hero-sub{font-size:clamp(1rem,2vw,1.2rem);color:#ffffffd9;max-width:640px;margin:0 auto 2rem;line-height:1.65}.lp-hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}.lp-hero .lp-btn-outline{color:#fff;border-color:#fff6}.lp-hero .lp-btn-outline:hover{background:#ffffff26;border-color:#fff9;color:#fff}.lp-hero-note{font-size:.85rem;color:#fff9}.lp-hero-visual-wrap{position:relative;z-index:10;margin-top:3rem}.lp-hero-visual{perspective:1200px}.lp-mockup{background:#fff;border-radius:var(--lp-radius-lg);box-shadow:var(--lp-shadow-xl),0 0 0 1px #0000000d;overflow:hidden;max-width:900px;margin:0 auto;transform:rotateX(2deg);transition:transform .4s ease}.lp-mockup:hover{transform:rotateX(0)}.lp-mockup-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:var(--lp-gray-100);border-bottom:1px solid var(--lp-gray-200)}.lp-dot{width:10px;height:10px;border-radius:50%}.lp-dot.red{background:#ef4444}.lp-dot.gold{background:#f59e0b}.lp-dot.green{background:#22c55e}.lp-mockup-url{margin-left:12px;padding:4px 12px;background:#fff;border-radius:6px;font-size:.8rem;color:var(--lp-gray-500);flex:1;max-width:300px}.lp-mockup-body{padding:1.5rem}.lp-mock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--lp-gray-200)}.lp-mock-logo{display:flex;align-items:center;gap:.35rem;font-weight:800;font-size:1.1rem;color:var(--lp-green)}.lp-mock-logo-img{width:22px;height:22px;object-fit:contain}.lp-mock-logo:first-letter{color:var(--lp-gold)}.lp-mock-user{font-size:.8rem;color:var(--lp-gray-500);padding:4px 10px;background:var(--lp-gray-100);border-radius:6px}.lp-mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.lp-mock-card{padding:1rem;border-radius:var(--lp-radius);text-align:center}.lp-mock-card.card-green{background:#ecfdf5}.lp-mock-card.card-gold{background:#fefce8}.lp-mock-card.card-red{background:#fff1f2}.lp-mock-card-icon{display:flex;align-items:center;justify-content:center;margin-bottom:.4rem;color:var(--lp-gray-700)}.lp-mock-card-title{font-weight:700;font-size:.85rem;color:var(--lp-gray-800)}.lp-mock-card-stat{font-size:.75rem;color:var(--lp-gray-500);margin-top:.2rem}.lp-mock-curriculum{background:var(--lp-gray-50);border-radius:var(--lp-radius);padding:1rem}.lp-mock-section-title{font-weight:700;font-size:.85rem;color:var(--lp-gray-700);margin-bottom:.75rem}.lp-mock-levels{display:flex;gap:.5rem;flex-wrap:wrap}.lp-mock-level{padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;background:#fff;color:var(--lp-gray-600);border:1px solid var(--lp-gray-200)}.lp-mock-level.active{background:var(--lp-green);color:#fff;border-color:var(--lp-green)}.lp-stats{padding:3rem 0;background:#fff;border-bottom:1px solid var(--lp-gray-200)}.lp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}.lp-stat-number{display:block;font-size:2.5rem;font-weight:800;color:var(--lp-green);letter-spacing:-.02em;line-height:1.2}.lp-stat-label{font-size:.9rem;color:var(--lp-gray-500);font-weight:500}.lp-section{padding:5rem 0}.lp-section-alt{background:var(--lp-gray-50)}.lp-section-header{text-align:center;max-width:620px;margin:0 auto 3.5rem}.lp-overline{display:inline-block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--lp-green);margin-bottom:.75rem}.lp-section-header h2{font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:800;color:var(--lp-gray-900);margin-bottom:.75rem;letter-spacing:-.02em;line-height:1.2}.lp-section-header p{font-size:1.1rem;color:var(--lp-gray-500);line-height:1.6}.lp-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.lp-feature-card{background:#fff;padding:2rem;border-radius:var(--lp-radius-lg);border:1px solid var(--lp-gray-200);transition:all .3s ease}.lp-feature-card:hover{border-color:var(--lp-green);box-shadow:var(--lp-shadow-lg);transform:translateY(-4px)}.lp-feature-icon{width:48px;height:48px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.lp-feature-icon svg{width:24px;height:24px;color:var(--lp-green)}.lp-feature-card h3{font-size:1.1rem;font-weight:700;color:var(--lp-gray-900);margin-bottom:.5rem}.lp-feature-card p{font-size:.95rem;color:var(--lp-gray-500);line-height:1.6}.lp-workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}.lp-workflow:before{content:"";position:absolute;top:32px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--lp-green),var(--lp-gold));z-index:0}.lp-workflow-step{text-align:center;position:relative;z-index:1}.lp-step-number{width:64px;height:64px;background:var(--lp-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;margin:0 auto 1.25rem;box-shadow:0 4px 12px #006b3f4d}.lp-step-content h3{font-size:1.05rem;font-weight:700;color:var(--lp-gray-900);margin-bottom:.5rem}.lp-step-content p{font-size:.9rem;color:var(--lp-gray-500);line-height:1.6}.lp-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.lp-testimonial{background:#fff;padding:2rem;border-radius:var(--lp-radius-lg);border:1px solid var(--lp-gray-200);transition:box-shadow .3s}.lp-testimonial:hover{box-shadow:var(--lp-shadow-lg)}.lp-stars{display:flex;gap:2px;margin-bottom:1rem}.lp-star{width:18px;height:18px;color:var(--lp-gold);display:inline-flex}.lp-star svg{width:100%;height:100%}.lp-quote{font-size:.95rem;color:var(--lp-gray-700);line-height:1.7;margin-bottom:1.5rem;font-style:italic}.lp-testimonial-author{display:flex;align-items:center;gap:.75rem}.lp-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--lp-green),var(--lp-green-light));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.lp-author-name{font-weight:600;font-size:.9rem;color:var(--lp-gray-900)}.lp-author-role{font-size:.8rem;color:var(--lp-gray-500)}.lp-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:stretch}.lp-price-card{background:#fff;border-radius:var(--lp-radius-lg);border:1px solid var(--lp-gray-200);padding:2.5rem 2rem;display:flex;flex-direction:column;position:relative;transition:all .3s}.lp-price-card:hover{box-shadow:var(--lp-shadow-lg)}.lp-price-card.featured{border-color:var(--lp-green);box-shadow:var(--lp-shadow-lg);transform:scale(1.04)}.lp-price-card.featured:hover{box-shadow:var(--lp-shadow-xl)}.lp-price-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--lp-green);color:#fff;padding:.3rem 1rem;border-radius:100px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.lp-price-header{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid var(--lp-gray-200);margin-bottom:1.5rem}.lp-price-header h3{font-size:1.25rem;font-weight:700;color:var(--lp-gray-900);margin-bottom:.5rem}.lp-price{font-size:2.5rem;font-weight:800;color:var(--lp-gray-900);line-height:1.2}.lp-price span{font-size:1rem;font-weight:500;color:var(--lp-gray-500)}.lp-price-header p{font-size:.9rem;color:var(--lp-gray-500);margin-top:.25rem}.lp-price-features{list-style:none;padding:0;margin:0 0 2rem;flex:1}.lp-price-features li{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0;font-size:.9rem;color:var(--lp-gray-700)}.lp-check{width:20px;height:20px;color:var(--lp-green);flex-shrink:0;margin-top:1px}.lp-check svg{width:100%;height:100%}.lp-cta{padding:5rem 0;background:linear-gradient(135deg,var(--lp-green-dark) 0%,var(--lp-green) 50%,var(--lp-green-light) 100%);text-align:center}.lp-cta h2{font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:800;color:#fff;margin-bottom:1rem;letter-spacing:-.02em}.lp-cta p{font-size:1.1rem;color:#fffc;max-width:550px;margin:0 auto 2rem;line-height:1.6}.lp-footer{background:var(--lp-gray-900);color:var(--lp-gray-400);padding-top:4rem}.lp-footer-inner{display:grid;grid-template-columns:1.5fr 2fr;gap:4rem;padding-bottom:3rem}.lp-footer-brand .lp-logo{color:#fff;margin-bottom:1rem}.lp-footer-brand p{font-size:.9rem;line-height:1.6;max-width:280px}.lp-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.lp-footer-col h4{color:#fff;font-size:.9rem;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.lp-footer-col a{display:block;color:var(--lp-gray-400);text-decoration:none;font-size:.9rem;padding:.3rem 0;transition:color .2s}.lp-footer-col a:hover{color:#fff;text-decoration:none}.lp-footer-bottom{border-top:1px solid var(--lp-gray-800);padding:1.5rem 0}.lp-footer-bottom p{font-size:.8rem;text-align:center;color:var(--lp-gray-500)}@media(max-width:1024px){.lp-features-grid,.lp-testimonials,.lp-pricing{grid-template-columns:repeat(2,1fr)}.lp-price-card.featured{transform:scale(1)}.lp-workflow{grid-template-columns:repeat(2,1fr);gap:2.5rem}.lp-workflow:before{display:none}}@media(max-width:768px){.lp-nav-links,.lp-nav-cta{display:none}.lp-hamburger{display:flex}.lp-nav-links.open{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--lp-gray-900);z-index:100;align-items:center;justify-content:center;gap:2rem}.lp-nav-links.open a{color:#fff;font-size:1.3rem}.lp-hero{padding:8rem 0 3rem}.lp-hero h1{font-size:2rem}.lp-hero-sub{font-size:1rem}.lp-hero-shapes{display:none}.lp-hero-bg-decor{height:40px}.lp-stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.lp-stat-number{font-size:2rem}.lp-features-grid,.lp-testimonials,.lp-pricing,.lp-workflow{grid-template-columns:1fr}.lp-section{padding:3.5rem 0}.lp-section-header{margin-bottom:2.5rem}.lp-mock-grid{grid-template-columns:1fr;gap:.75rem}.lp-mockup-body{padding:1rem}.lp-mock-levels{gap:.35rem}.lp-footer-inner{grid-template-columns:1fr;gap:2.5rem}.lp-footer-links{grid-template-columns:repeat(3,1fr)}.lp-hero-actions{flex-direction:column;align-items:center}}@media(max-width:480px){.lp-footer-links{grid-template-columns:1fr;gap:1.5rem}.lp-stats-grid{grid-template-columns:1fr 1fr}.lp-mock-grid{grid-template-columns:repeat(3,1fr)}}.info-hero{padding:10rem 0 4rem;background:linear-gradient(135deg,var(--lp-green-dark) 0%,var(--lp-green) 60%,var(--lp-green-light) 100%);color:#fff;text-align:center}.info-hero h1{font-size:2.75rem;font-weight:800;margin:0 0 .75rem;letter-spacing:-.02em}.info-hero p{font-size:1.15rem;opacity:.9;max-width:600px;margin:0 auto}.info-section{padding:5rem 0}.info-section--alt{background:var(--lp-gray-50)}.info-section--cta{background:linear-gradient(135deg,var(--lp-green-dark),var(--lp-green));color:#fff;padding:4rem 0}.info-section--cta h2{font-size:2rem;margin-bottom:.5rem}.info-section--cta p{opacity:.9;font-size:1.1rem;margin-bottom:2rem}.info-section-title{text-align:center;font-size:2rem;font-weight:700;margin-bottom:3rem;color:var(--lp-gray-900)}.info-section--alt .info-section-title,.info-section--cta .info-section-title{color:inherit}.info-grid{display:grid;gap:3rem}.info-grid--2{grid-template-columns:1fr 1fr}.info-grid--3{grid-template-columns:repeat(3,1fr)}.info-grid h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--lp-green-dark)}.info-grid p{line-height:1.7;color:var(--lp-gray-600);margin-bottom:1rem}.info-card{background:#fff;border-radius:var(--lp-radius);padding:2rem;box-shadow:var(--lp-shadow);transition:transform .2s,box-shadow .2s}.info-card:hover{transform:translateY(-4px);box-shadow:var(--lp-shadow-lg)}.info-card-icon{font-size:2rem;margin-bottom:1rem}.info-card h3{font-size:1.15rem;font-weight:600;margin-bottom:.5rem;color:var(--lp-gray-900)}.info-card p{font-size:.95rem;line-height:1.6;color:var(--lp-gray-500)}.info-prose{max-width:820px;margin:0 auto;line-height:1.8;color:var(--lp-gray-600)}.info-prose h2{font-size:1.4rem;font-weight:700;color:var(--lp-gray-900);margin:2.5rem 0 .75rem}.info-prose h3{font-size:1.15rem;font-weight:600;color:var(--lp-gray-800);margin:2rem 0 .5rem}.info-prose p{margin-bottom:1rem}.info-prose ul{margin:.5rem 0 1.5rem 1.5rem}.info-prose ul li{margin-bottom:.5rem}.info-prose a{color:var(--lp-green);text-decoration:underline}.info-cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.privacy-content{max-width:780px}.privacy-date{background:var(--lp-gray-100);padding:.75rem 1rem;border-radius:var(--lp-radius);font-size:.9rem;margin-bottom:2rem;color:var(--lp-gray-600)}.contact-info-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.contact-info-item{display:flex;gap:1rem;align-items:flex-start}.contact-info-icon{font-size:1.5rem;flex-shrink:0;width:2.5rem;text-align:center}.contact-info-item h3{font-size:.95rem;font-weight:600;color:var(--lp-gray-900);margin-bottom:.25rem}.contact-info-item p,.contact-info-item a{font-size:.95rem;color:var(--lp-gray-500)}.contact-info-item a:hover{color:var(--lp-green)}.contact-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.contact-form-group{display:flex;flex-direction:column;gap:.4rem}.contact-form-group label{font-size:.9rem;font-weight:600;color:var(--lp-gray-700)}.contact-form-group input,.contact-form-group select,.contact-form-group textarea{padding:.75rem 1rem;border:1.5px solid var(--lp-gray-200);border-radius:var(--lp-radius);font-size:.95rem;font-family:inherit;color:var(--lp-gray-900);background:#fff;transition:border-color .2s,box-shadow .2s}.contact-form-group input:focus,.contact-form-group select:focus,.contact-form-group textarea:focus{outline:none;border-color:var(--lp-green);box-shadow:0 0 0 3px #006b3f1f}.contact-form-group textarea{resize:vertical;min-height:120px}@media(max-width:768px){.info-hero{padding:8rem 0 3rem}.info-hero h1{font-size:2rem}.info-grid--2,.info-grid--3{grid-template-columns:1fr}.info-section{padding:3rem 0}}@media(max-width:480px){.info-hero h1{font-size:1.6rem}.info-hero p{font-size:1rem}.info-card{padding:1.5rem}}.tg-toc-section{padding:3rem 0 1rem}.tg-toc h2{text-align:center;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--lp-gray-900)}.tg-toc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.tg-toc-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--lp-gray-50);border:1.5px solid var(--lp-gray-200);border-radius:var(--lp-radius);color:var(--lp-gray-700);font-size:.85rem;font-weight:500;text-decoration:none;transition:border-color .2s,background .2s,transform .2s}.tg-toc-item:hover{border-color:var(--lp-green);background:#fff;transform:translateY(-2px)}.tg-toc-icon{flex-shrink:0;width:1.15rem;height:1.15rem;color:var(--lp-green)}.tg-toc-icon svg{width:100%;height:100%;display:block}.tg-accordion{display:flex;flex-direction:column;gap:.75rem;max-width:900px;margin:0 auto}.tg-accordion-item{background:#fff;border-radius:var(--lp-radius);border:1.5px solid var(--lp-gray-200);overflow:hidden;transition:border-color .2s,box-shadow .2s}.tg-accordion-item.open{border-color:var(--lp-green);box-shadow:var(--lp-shadow)}.tg-accordion-header{width:100%;display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}.tg-accordion-header:hover{background:var(--lp-gray-50)}.tg-accordion-icon{flex-shrink:0;width:1.5rem;height:1.5rem;color:var(--lp-green)}.tg-accordion-icon svg{width:100%;height:100%;display:block}.tg-accordion-title{flex:1;font-size:1.1rem;font-weight:600;color:var(--lp-gray-900)}.tg-accordion-arrow{font-size:1.5rem;font-weight:300;color:var(--lp-gray-400);flex-shrink:0;line-height:1}.tg-accordion-body{display:none;padding:0 1.5rem 1.5rem;color:var(--lp-gray-600);line-height:1.7}.tg-accordion-item.open .tg-accordion-body{display:block}.tg-accordion-body p{margin-bottom:.75rem}.tg-accordion-body h4{color:var(--lp-gray-900);margin-bottom:.25rem}.tg-steps{display:flex;flex-direction:column;gap:1.25rem;margin:1rem 0 1.5rem}.tg-step{display:flex;gap:1rem;align-items:flex-start}.tg-step-num{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--lp-green);color:#fff;font-size:.85rem;font-weight:700;border-radius:50%}.tg-step h4{font-size:1rem;font-weight:600;color:var(--lp-gray-900);margin-bottom:.25rem}.tg-step p{margin-bottom:0}.tg-subtitle{font-size:1.05rem;font-weight:600;color:var(--lp-green-dark);margin:1.5rem 0 .5rem;padding-bottom:.35rem;border-bottom:2px solid var(--lp-gray-100)}.tg-tip{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-left:4px solid var(--lp-green);padding:1rem 1.25rem;border-radius:0 var(--lp-radius) var(--lp-radius) 0;margin:1.25rem 0;font-size:.93rem}.tg-list{margin:.5rem 0 1rem 1.25rem}.tg-list li{margin-bottom:.5rem}.tg-tips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.tg-tip-card{background:var(--lp-gray-50);border-radius:var(--lp-radius);padding:1.25rem;border:1px solid var(--lp-gray-200)}.tg-tip-card h4{font-size:1rem;margin-bottom:.5rem;color:var(--lp-gray-900);display:flex;align-items:center;gap:.5rem}.tg-tip-card p{font-size:.9rem;margin-bottom:0;color:var(--lp-gray-500);line-height:1.6}.tg-card-icon{display:inline-flex;width:1.2rem;height:1.2rem;color:var(--lp-green);flex-shrink:0}.tg-card-icon svg{width:100%;height:100%}.tg-tip-icon{display:inline-flex;width:1rem;height:1rem;color:var(--lp-green);vertical-align:middle;margin-right:.15rem}.tg-tip-icon svg{width:100%;height:100%}@media(max-width:768px){.tg-toc-grid{grid-template-columns:repeat(2,1fr)}.tg-tips-grid{grid-template-columns:1fr}.tg-accordion-header{padding:1rem 1.25rem}.tg-accordion-body{padding:0 1.25rem 1.25rem}}@media(max-width:480px){.tg-toc-grid{grid-template-columns:1fr}.tg-toc-item{font-size:.8rem;padding:.6rem .75rem}.tg-accordion-title{font-size:.95rem}}.doc-arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:1.5rem 0}.doc-arch-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;text-align:center}.doc-arch-card h4{margin:.75rem 0 .5rem;font-size:1.05rem}.doc-arch-card p{margin:0;font-size:.9rem;color:#555}.doc-arch-icon{display:inline-flex;width:2.25rem;height:2.25rem;color:var(--lp-green)}.doc-arch-icon svg{width:100%;height:100%}.doc-code-block{background:#1e293b;color:#e2e8f0;border-radius:8px;padding:1rem 1.25rem;overflow-x:auto;font-size:.82rem;line-height:1.6;margin:1rem 0}.doc-code-block code{font-family:Fira Code,Cascadia Code,Consolas,monospace;white-space:pre}.doc-subtitle{font-size:1rem;margin:1.75rem 0 .5rem;color:var(--lp-green);font-weight:600}.doc-list{padding-left:1.5rem;margin:.75rem 0;line-height:1.8}.doc-list li{margin-bottom:.35rem;font-size:.92rem}.doc-steps{display:flex;flex-direction:column;gap:1.25rem;margin:1rem 0}.doc-step{display:flex;gap:1rem;align-items:flex-start}.doc-step-label{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--lp-green);color:#fff;font-weight:700;font-size:.9rem}.doc-step h4{margin:0 0 .4rem;font-size:.95rem}.doc-step p{margin:.5rem 0 0;font-size:.88rem;color:#555}.doc-table-wrap{overflow-x:auto;margin:1rem 0}.doc-table{width:100%;border-collapse:collapse;font-size:.88rem}.doc-table th,.doc-table td{padding:.65rem 1rem;border:1px solid #e0e0e0;text-align:left}.doc-table th{background:#f1f5f9;font-weight:600;color:#334155}.doc-table td code{background:#f1f5f9;padding:.1rem .35rem;border-radius:4px;font-size:.82rem;color:#0f172a}.doc-callout{display:flex;gap:.75rem;align-items:flex-start;background:#f0fdf4;border-left:4px solid var(--lp-green);border-radius:0 8px 8px 0;padding:1rem 1.25rem;margin:1.25rem 0;font-size:.9rem;line-height:1.6}.doc-callout-icon{flex-shrink:0;display:inline-flex;width:1.25rem;height:1.25rem;color:var(--lp-green);margin-top:.1rem}.doc-callout-icon svg{width:100%;height:100%}.doc-also-see{display:flex;align-items:center;gap:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.9rem 1.25rem;font-size:.9rem}.doc-also-see a{color:var(--lp-green);font-weight:600;text-decoration:underline}.doc-also-icon{flex-shrink:0;display:inline-flex;width:1.25rem;height:1.25rem;color:var(--lp-green)}.doc-also-icon svg{width:100%;height:100%}@media(max-width:768px){.doc-arch-grid{grid-template-columns:1fr}.doc-code-block{font-size:.75rem;padding:.75rem 1rem}}@media(max-width:480px){.doc-step{flex-direction:column;gap:.5rem}.doc-also-see{flex-direction:column;text-align:center}}:root{--green: #006B3F;--green-light: #00894F;--gold: #FCD116;--red: #CE1126;--black: #1a1a1a;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-500: #6b7280;--gray-700: #374151;--radius: 8px;--shadow: 0 1px 3px rgba(0,0,0,.12)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--gray-50);color:var(--black);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg{max-width:100%;height:auto}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.app-header{background:var(--green);color:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header h1{font-size:1.25rem}.app-header h1 a{color:#fff}.header-right{display:flex;align-items:center;gap:1rem}.user-badge{background:#ffffff26;padding:.25rem .75rem;border-radius:999px;font-size:.85rem}.btn-link{background:none;border:none;color:var(--gold);cursor:pointer;font-size:.85rem}.breadcrumbs{padding:.75rem 1.5rem;background:var(--gray-100);font-size:.85rem;border-bottom:1px solid var(--gray-200)}.breadcrumbs a{color:var(--green)}.page{min-height:100vh}.page main{padding:1.5rem;max-width:1000px;margin:0 auto}.page h2{margin-bottom:1rem;color:var(--green)}.loading{text-align:center;padding:3rem;color:var(--gray-500)}.page-shell main.page-main{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 3rem}.page-hero{position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 500px 300px at 85% 30%,rgba(252,209,22,.15),transparent 70%),radial-gradient(ellipse 300px 200px at 10% 80%,rgba(255,255,255,.06),transparent 60%)}.page-hero-inner{position:relative;max-width:1200px;margin:0 auto;padding:1.5rem 1.5rem 1.25rem}.page-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-bottom:.5rem;font-size:.82rem}.page-breadcrumbs a{color:#ffffffb3;text-decoration:none;transition:color .15s}.page-breadcrumbs a:hover{color:#fff;text-decoration:none}.page-breadcrumbs span{color:#ffffff80}.page-bc-sep{margin:0 .4rem;color:#ffffff59}.page-hero h1{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.2rem;letter-spacing:-.01em}.page-hero p{color:#ffffffb3;font-size:.9rem;margin:0}.btn-back{background:none;border:1px solid var(--gray-200);color:var(--gray-700);padding:.4rem .85rem;border-radius:8px;font-size:.85rem;cursor:pointer;margin-bottom:1.25rem;transition:all .15s}.btn-back:hover{background:var(--gray-50);border-color:var(--gray-300)}.login-page{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#006b3f,#00894f 40%,#34d399);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 600px 400px at 80% 20%,rgba(252,209,22,.12),transparent 70%),radial-gradient(ellipse 400px 300px at 15% 85%,rgba(255,255,255,.06),transparent 60%),radial-gradient(circle 2px at 20% 30%,rgba(255,255,255,.15) 1px,transparent 1px),radial-gradient(circle 2px at 60% 70%,rgba(255,255,255,.1) 1px,transparent 1px),radial-gradient(circle 2px at 80% 40%,rgba(255,255,255,.1) 1px,transparent 1px)}.login-panel{position:relative;width:100%;max-width:420px;padding:1.5rem}.login-brand{text-align:center;margin-bottom:1.5rem}.login-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#fff;color:var(--green);font-weight:800;font-size:1.5rem;border-radius:16px;box-shadow:0 4px 16px #00000026;margin-bottom:.75rem}.login-logo-img{width:72px;height:72px;object-fit:contain;margin-bottom:.75rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.login-brand h1{color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.login-tagline{color:#ffffffb3;font-size:.9rem}.login-card{background:#fff;padding:2rem 2rem 1.5rem;border-radius:16px;box-shadow:0 8px 32px #00000026,0 0 0 1px #ffffff1a}.login-card h2{color:var(--black);font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;text-align:center}.login-card form{display:flex;flex-direction:column;gap:1rem;text-align:left}.login-card label{font-size:.85rem;font-weight:600;color:var(--gray-700);display:flex;flex-direction:column;gap:.3rem}.login-card input{padding:.65rem .85rem;border:1px solid var(--gray-200);border-radius:10px;font-size:.95rem;background:var(--gray-50);transition:all .15s}.login-card input:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #006b3f1a}.login-card button{background:var(--green);color:#fff;border:none;padding:.75rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background .15s}.login-card button:hover{background:var(--green-light)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:1rem;font-size:.85rem;line-height:1.8}.login-footer a{color:var(--green)}.login-trial-note{text-align:center;font-size:.8rem;color:var(--gray-500);margin-top:.75rem;margin-bottom:0}.login-card select{padding:.65rem .75rem;border:1px solid var(--gray-200);border-radius:8px;font-size:.9rem;background:var(--gray-50)}.login-card select:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #006b3f1a}.error{color:var(--red);font-size:.85rem}.sub-container{max-width:640px;margin:0 auto;padding:2rem 1.25rem 3rem;text-align:center}.sub-heading{font-size:1.5rem;font-weight:700;color:#fff;margin:1.5rem 0 .25rem}.sub-subheading{font-size:.9rem;color:#fffc;margin-bottom:1.5rem}.sub-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.sub-plan{position:relative;background:#fff;border:2px solid var(--gray-200);border-radius:12px;padding:1.25rem .75rem;cursor:pointer;transition:all .15s;text-align:center}.sub-plan:hover{border-color:var(--green)}.sub-plan--selected{border-color:var(--green);background:#006b3f08;box-shadow:0 0 0 3px #006b3f1f}.sub-plan--popular{border-color:var(--green)}.sub-plan-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--green);color:#fff;font-size:.65rem;font-weight:700;padding:2px 10px;border-radius:10px;white-space:nowrap;text-transform:uppercase}.sub-plan h3{font-size:.9rem;margin:0 0 .5rem;color:var(--gray-700)}.sub-plan-price{margin-bottom:.25rem}.sub-plan-amount{font-size:1.3rem;font-weight:700;color:var(--black)}.sub-plan-note{font-size:.75rem;color:var(--gray-500);margin-left:2px}.sub-plan-days{font-size:.75rem;color:var(--gray-500);margin:0}.sub-features{background:var(--gray-50);border-radius:12px;padding:1.25rem 1.5rem;text-align:left;margin-bottom:1.5rem}.sub-features h4{margin:0 0 .75rem;font-size:.9rem;color:var(--black)}.sub-features ul{margin:0;padding-left:1.25rem}.sub-features li{font-size:.85rem;color:var(--gray-700);line-height:1.8}.sub-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;border-radius:10px;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:background .15s}.sub-btn--primary{background:var(--green);color:#fff}.sub-btn--primary:hover{background:var(--green-light)}.sub-btn--full{width:100%}.sub-btn:disabled{opacity:.6;cursor:not-allowed}.sub-expired-banner{display:flex;align-items:flex-start;gap:.75rem;text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.sub-expired-banner strong{color:#991b1b}.sub-expired-banner p{margin:.25rem 0 0;font-size:.85rem;color:#7f1d1d}.sub-banner-icon{width:1.5rem;height:1.5rem;flex-shrink:0;color:#dc2626;margin-top:2px}.sub-active-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:.75rem 1.25rem;margin-bottom:1.25rem;font-size:.87rem;color:#166534}.sub-secure{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.78rem;color:#ffffffa6;margin-top:1rem}.sub-lock-icon{width:.9rem;height:.9rem}.sub-account-info{font-size:.82rem;color:#ffffffb3;margin-top:.5rem}.sub-card{background:#fff;border-radius:16px;padding:2.5rem 2rem}.sub-card--center{text-align:center}.sub-card--success h2{color:var(--green);margin:1rem 0 .5rem}.sub-check-icon{width:3rem;height:3rem;color:var(--green)}.sub-error{text-align:center;margin-bottom:.75rem}.sub-container .login-footer{color:#ffffffb3}.sub-container .login-footer a{color:#fff}.sub-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--gray-200);border-top-color:var(--green);border-radius:50%;animation:subSpin .8s linear infinite;margin:0 auto 1rem}@keyframes subSpin{to{transform:rotate(360deg)}}@media(max-width:600px){.sub-plans{grid-template-columns:1fr}.sub-container{padding:1.5rem 1rem 2rem}}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.level-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:transform .15s;border-left:4px solid var(--green)}.level-card:hover{transform:translateY(-2px);text-decoration:none}.level-card h3{color:var(--green);margin-bottom:.25rem}.grade-range{color:var(--gray-500);font-size:.85rem}.cur-subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.cur-subject-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden}.cur-subject-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold);border-radius:0 4px 4px 0;transition:width .2s}.cur-subject-card:hover{text-decoration:none;box-shadow:0 4px 16px #0000001a,0 0 0 1px #0000000f;transform:translateY(-2px)}.cur-subject-card:hover:before{width:5px}.cur-subject-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border-radius:12px;flex-shrink:0}.cur-subject-body{flex:1;min-width:0}.cur-subject-body h3{font-size:.95rem;font-weight:600;color:var(--black);margin-bottom:.15rem}.cur-subject-meta{font-size:.8rem;color:var(--gray-500)}.cur-card-arrow{color:var(--gray-300);transition:all .2s;flex-shrink:0}.cur-subject-card:hover .cur-card-arrow,.cur-strand-card:hover .cur-card-arrow{color:var(--green);transform:translate(3px)}.cur-strand-list{display:flex;flex-direction:column;gap:.75rem}.cur-strand-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden}.cur-strand-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green);border-radius:0 4px 4px 0;transition:width .2s}.cur-strand-card:hover{text-decoration:none;box-shadow:0 4px 16px #0000001a,0 0 0 1px #0000000f;transform:translateY(-1px)}.cur-strand-card:hover:before{width:5px}.cur-strand-num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;background:#d1fae5;color:#065f46;border-radius:10px;font-weight:700;font-size:1rem;flex-shrink:0}.cur-strand-body{flex:1;min-width:0}.cur-strand-body h3{font-size:.95rem;font-weight:600;color:var(--black);margin:0}.cur-lessons-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.25rem;margin-bottom:1.25rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;font-size:.9rem;color:#065f46}.cur-lessons-banner-left{display:flex;align-items:center;gap:.5rem}.cur-lessons-banner-link{display:flex;align-items:center;gap:.35rem;font-weight:600;color:var(--green);font-size:.85rem;white-space:nowrap}.cur-lessons-banner-link:hover{text-decoration:none;gap:.5rem}.cur-strand-detail{display:flex;flex-direction:column;gap:1.5rem}.cur-substrand{background:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;overflow:hidden}.cur-substrand-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-bottom:1px solid #d1fae5}.cur-substrand-header h3{font-size:1rem;font-weight:600;color:#065f46;margin:0}.cur-substrand-header svg{color:#059669;flex-shrink:0}.cur-cs{padding:1.25rem;border-bottom:1px solid var(--gray-100)}.cur-cs:last-child{border-bottom:none}.cur-cs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.cur-cs-title{font-size:.9rem;font-weight:500;color:var(--black);line-height:1.5}.cur-cs-code{display:inline-block;background:linear-gradient(135deg,#d1fae5,#a7f3d0);padding:.15rem .55rem;border-radius:6px;font-family:monospace;font-size:.78rem;font-weight:700;color:#065f46;margin-right:.5rem;white-space:nowrap}.cur-cs-progress{display:flex;align-items:center;padding:.2rem .65rem;border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap;background:var(--gray-100);color:var(--gray-500);flex-shrink:0}.cur-cs-progress.complete{background:#d1fae5;color:#065f46}.cur-indicator-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.cur-indicator{padding:.6rem 0;border-bottom:1px solid var(--gray-100);transition:background .15s}.cur-indicator:last-child{border-bottom:none}.cur-indicator:hover{background:#fafbfc}.cur-indicator--done{opacity:.65}.cur-indicator-label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.88rem;line-height:1.5}.cur-checkbox{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;border:2px solid var(--gray-300);border-radius:6px;margin-top:.15rem;transition:all .15s;cursor:pointer;flex-shrink:0}.cur-checkbox:hover{border-color:var(--green)}.cur-checkbox--checked{background:var(--green);border-color:var(--green);color:#fff}.cur-ind-code{display:inline-block;background:var(--gray-100);padding:.1rem .4rem;border-radius:4px;font-family:monospace;font-size:.78rem;color:var(--green);white-space:nowrap;flex-shrink:0}.cur-indicator--done .cur-ind-code{background:var(--green);color:#fff}.cur-ind-desc{color:var(--gray-700)}.cur-cs-lessons{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.75rem;padding:.6rem .85rem;background:#f0fdf4;border-radius:10px;font-size:.82rem;color:#065f46}.cur-cs-lessons svg{flex-shrink:0}.cur-cs-lessons-label{font-weight:600;margin-right:.25rem}.cur-cs-lesson-link{padding:.15rem .5rem;background:#d1fae5;border-radius:6px;color:#065f46;font-weight:500;transition:background .15s}.cur-cs-lesson-link:hover{background:#a7f3d0;text-decoration:none}.dash-topbar{background:#fff;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:50}.dash-topbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.5rem}.dash-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.dash-logo:hover{text-decoration:none}.dash-logo-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--green);color:#fff;font-weight:800;font-size:1rem;border-radius:8px}.dash-logo-img{width:34px;height:34px;object-fit:contain;border-radius:6px;flex-shrink:0}.dash-logo-text{font-weight:700;font-size:1.15rem;color:var(--black)}.dash-topbar-right{display:flex;align-items:center;gap:1rem}.dash-user-pill{display:flex;align-items:center;gap:.6rem;padding:.3rem .75rem .3rem .3rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:100px}.dash-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--green),var(--green-light));color:#fff;font-weight:700;font-size:.85rem;border-radius:50%}.dash-user-info{display:flex;flex-direction:column;line-height:1.2}.dash-user-name{font-weight:600;font-size:.82rem;color:var(--black)}.dash-user-role{font-size:.7rem;color:var(--gray-500);text-transform:capitalize}.dash-signout{background:none;border:1px solid var(--gray-200);color:var(--gray-500);padding:.35rem .85rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s}.dash-signout:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--black)}.topbar-credit-badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--green);color:#fff;padding:.3rem .7rem;border-radius:2rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .2s;white-space:nowrap}.topbar-credit-badge:hover{background:var(--green-light)}.topbar-credit-badge.low{background:#dc2626}.topbar-credit-badge.low:hover{background:#b91c1c}.topbar-credit-badge.mobile{margin:.5rem 1rem 0}.topbar-credit-buy{background:#fff;color:var(--green);padding:.05rem .4rem;border-radius:1rem;font-size:.65rem;font-weight:700;margin-left:.15rem}.topbar-credit-badge.low .topbar-credit-buy{color:#dc2626}.topbar-nav-desktop{display:flex;align-items:center;gap:.25rem;margin-left:1.5rem}.topbar-nav-link{padding:.4rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;color:var(--gray-500);text-decoration:none;transition:all .15s;white-space:nowrap}.topbar-nav-link:hover{color:var(--green);background:var(--gray-50);text-decoration:none}.topbar-nav-link.active{color:var(--green);background:#ecfdf5;font-weight:600}.hamburger-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;padding:0;transition:all .2s}.hamburger-btn:hover{background:var(--gray-50)}.hamburger-line{display:block;width:18px;height:2px;background:var(--gray-700);border-radius:2px;transition:all .3s ease}.hamburger-btn.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:mobile-overlay-in .2s ease-out}@keyframes mobile-overlay-in{0%{opacity:0}to{opacity:1}}.mobile-menu{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;background:#fff;z-index:100;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.mobile-menu.open{transform:translate(0)}.mobile-menu-user{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--gray-100);background:linear-gradient(135deg,#f0fdf4,#ecfdf5)}.mobile-menu-avatar{width:44px!important;height:44px!important;font-size:1rem!important}.mobile-menu-name{font-weight:700;font-size:.95rem;color:var(--black)}.mobile-menu-role{font-size:.78rem;color:var(--gray-500);text-transform:capitalize}.mobile-menu-nav{flex:1;padding:.5rem 0;display:flex;flex-direction:column}.mobile-menu-link{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.92rem;color:var(--gray-700);text-decoration:none;font-weight:500;transition:all .15s;border-left:3px solid transparent}.mobile-menu-link:hover{background:var(--gray-50);color:var(--green);text-decoration:none}.mobile-menu-link.active{color:var(--green);background:#f0fdf4;font-weight:600;border-left-color:var(--green)}.mobile-menu-link svg{flex-shrink:0;color:inherit;opacity:.7}.mobile-menu-link.active svg{opacity:1}.mobile-menu-footer{padding:1rem 1.25rem;border-top:1px solid var(--gray-100)}.mobile-menu-logout{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem .75rem;background:none;border:1px solid var(--gray-200);border-radius:8px;color:var(--red);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s}.mobile-menu-logout:hover{background:#fef2f2;border-color:#fecaca}.dash-hero{background:linear-gradient(135deg,var(--green) 0%,#00894f 50%,#34d399 100%);position:relative;overflow:hidden}.dash-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 500px 300px at 85% 30%,rgba(252,209,22,.15),transparent 70%),radial-gradient(ellipse 300px 200px at 10% 80%,rgba(255,255,255,.06),transparent 60%)}.dash-hero-inner{position:relative;max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 2rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.dash-hero h1{font-size:1.65rem;font-weight:700;color:#fff;margin-bottom:.25rem;letter-spacing:-.01em}.dash-hero-text p{color:#ffffffbf;font-size:.95rem}.dash-hero-date{color:#fff9;font-size:.82rem;white-space:nowrap}.dash-credit-badge{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:.45rem .85rem;border-radius:2rem;font-size:.82rem;font-weight:600;text-decoration:none;border:1px solid rgba(255,255,255,.2);transition:background .2s;position:relative;margin-left:auto;margin-right:1.5rem;margin-top:-.5rem;margin-bottom:.5rem;align-self:flex-end;max-width:max-content}.dash-credit-badge:hover{background:#ffffff40}.dash-credit-badge.low{background:#dc26264d;border-color:#dc262680}.dash-credit-badge.low:hover{background:#dc262673}.dash-credit-buy{background:#fff;color:var(--green);padding:.1rem .5rem;border-radius:1rem;font-size:.7rem;font-weight:700;margin-left:.25rem}.credit-packages{flex-wrap:wrap}.sub-plan-savings{position:absolute;top:-10px;right:8px;background:#059669;color:#fff;font-size:.65rem;font-weight:700;padding:.15rem .6rem;border-radius:1rem;text-transform:uppercase}.credit-cost-list{list-style:none;padding:0;margin:0}.credit-cost-list li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f0f0f0;font-size:.88rem}.credit-cost-list li:last-child{border-bottom:none}.dash-main{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 3rem}.nav-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.nav-card-grid--3{grid-template-columns:repeat(3,1fr)}.nav-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;transition:all .2s ease;text-decoration:none;position:relative;overflow:hidden}.nav-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0;transition:width .2s}.nav-card:hover{text-decoration:none;box-shadow:0 4px 12px #00000014,0 0 0 1px #0000000f;transform:translateY(-2px)}.nav-card:hover:before{width:5px}.nav-card--green:before{background:var(--green)}.nav-card--gold:before{background:var(--gold)}.nav-card--teal:before{background:#0d9488}.nav-card--purple:before{background:#7c3aed}.nav-card--red:before{background:var(--red)}.nav-card--blue:before{background:#1a3a5c}.nav-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border-radius:12px}.nav-card--green .nav-card-icon{background:#d1fae5;color:#065f46}.nav-card--gold .nav-card-icon{background:#fef3c7;color:#92400e}.nav-card--teal .nav-card-icon{background:#ccfbf1;color:#0f766e}.nav-card--purple .nav-card-icon{background:#ede9fe;color:#5b21b6}.nav-card--red .nav-card-icon{background:#fee2e2;color:#991b1b}.nav-card--blue .nav-card-icon{background:#dbeafe;color:#1e40af}.nav-card-body h3{font-size:.95rem;font-weight:600;color:var(--black);margin-bottom:.1rem}.nav-card-body p{font-size:.8rem;color:var(--gray-500);margin:0}.nav-card-arrow{margin-left:auto;color:var(--gray-300);transition:all .2s;flex-shrink:0}.nav-card:hover .nav-card-arrow{color:var(--green);transform:translate(3px)}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.dash-stat{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;text-align:center}.dash-stat-num{display:block;font-size:1.75rem;font-weight:700;color:var(--green);line-height:1.2}.dash-stat-lbl{font-size:.78rem;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em;font-weight:500}.dash-section{margin-bottom:2rem}.dash-section-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dash-section-hdr h2{font-size:1.1rem;font-weight:600;color:var(--black);margin:0;display:flex;align-items:center}.dash-view-all{display:flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:500;color:var(--green);transition:gap .15s}.dash-view-all:hover{gap:.5rem;text-decoration:none}.dash-curriculum{margin-top:.5rem}.dash-curriculum-sub{color:var(--gray-500);font-size:.9rem;margin-bottom:1.25rem;margin-top:-.5rem}.curriculum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.curriculum-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000d,0 0 0 1px #0000000a;transition:all .2s ease;text-decoration:none}.curriculum-card:hover{text-decoration:none;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.curriculum-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-radius:10px}.curriculum-card-body h3{font-size:.92rem;font-weight:600;color:var(--black);margin-bottom:.1rem}.curriculum-card-range{font-size:.78rem;color:var(--gray-500)}.curriculum-card-arrow{margin-left:auto;color:var(--gray-300);transition:all .15s;flex-shrink:0}.curriculum-card:hover .curriculum-card-arrow{color:var(--green);transform:translate(2px)}.indicator-check{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.indicator-check input[type=checkbox]{margin-top:.3rem;accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.indicator-done{opacity:.6}.indicator-done .ind-code{background:var(--green);color:#fff}.progress-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;text-align:center}.stat-number{display:block;font-size:2rem;font-weight:700;color:var(--green);line-height:1.2}.stat-label{color:var(--gray-500);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;font-weight:500}.progress-list{display:flex;flex-direction:column;gap:1rem}.progress-card{background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;border-left:4px solid var(--green)}.progress-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-card-header h3{color:var(--black);font-size:1rem}.progress-level{background:var(--gray-100);padding:.15rem .5rem;border-radius:4px;font-size:.75rem;color:var(--gray-700)}.progress-bar-container{background:var(--gray-200);border-radius:999px;height:8px;overflow:hidden;margin-bottom:.5rem}.progress-bar{background:var(--green);height:100%;border-radius:999px;transition:width .3s ease}.progress-detail{color:var(--gray-500);font-size:.8rem}.student-progress-table{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;overflow:hidden}.student-progress-table table{width:100%;border-collapse:collapse}.student-progress-table th{text-align:left;padding:.75rem 1rem;background:var(--gray-100);font-size:.8rem;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:.03em}.student-progress-table td{padding:.75rem 1rem;border-top:1px solid var(--gray-200);font-size:.9rem}.student-progress-table tr:hover td{background:#f8fdf8}.student-name-cell strong{color:var(--black)}.indicator-count{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}.indicator-count.active{background:#d4edda;color:#155724}.indicator-count.none{background:var(--gray-200);color:var(--gray-500)}.page-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.page-header-row h2{margin:0}.btn-primary{background:var(--green);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s}.btn-primary:hover{background:var(--green-light)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-text{color:var(--green);font-size:.85rem}.empty-state{text-align:center;padding:3rem;color:var(--gray-500);background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a}.empty-state .btn-primary{display:inline-block;margin-top:1rem;text-decoration:none}.assignment-list{display:flex;flex-direction:column;gap:.75rem}.assignment-card{display:block;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;border-left:4px solid var(--gold);transition:all .2s ease}.assignment-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014,0 0 0 1px #0000000f}.assignment-card-link{display:block;text-decoration:none;color:inherit}.assignment-card-link:hover{text-decoration:none}.assignment-card-header{display:flex;justify-content:space-between;align-items:center}.assignment-card h3{color:var(--black);font-size:1rem}.assignment-card-actions{display:flex;gap:.75rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--gray-200)}.due-date{font-size:.8rem;color:var(--red);font-weight:500}.assignment-meta{color:var(--gray-500);font-size:.8rem;margin-top:.25rem}.assignment-preview{color:var(--gray-700);font-size:.9rem;margin-top:.5rem}.assignment-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.assignment-detail-actions{display:flex;gap:.75rem;flex-shrink:0}.assignment-edit-form{margin:1rem 0}.assignment-edit-actions{display:flex;gap:.75rem;align-items:center}.create-form{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.create-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;color:var(--gray-700)}.create-form input,.create-form select,.create-form textarea{padding:.6rem .75rem;border:1px solid var(--gray-200);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--gray-50);transition:all .15s}.create-form input:focus,.create-form select:focus,.create-form textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #006b3f1a}.assignment-detail-meta{display:flex;gap:1rem;color:var(--gray-500);font-size:.85rem;margin-bottom:1.5rem;flex-wrap:wrap}.assignment-instructions{background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;margin-bottom:1.5rem}.assignment-instructions h3{color:var(--green);margin-bottom:.5rem}.assignment-instructions p{white-space:pre-wrap}.submission-form{background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;margin-bottom:1.5rem}.submission-form h3{color:var(--green);margin-bottom:.75rem}.submission-form textarea{width:100%;padding:.75rem;border:1px solid var(--gray-200);border-radius:10px;font-family:inherit;font-size:.95rem;resize:vertical;margin-bottom:.75rem;background:var(--gray-50);transition:all .15s}.submission-form textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #006b3f1a}.submissions-section{margin-top:1.5rem}.submissions-section h3{color:var(--green);margin-bottom:1rem}.submission-card{background:#fff;padding:1rem;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;margin-bottom:.75rem;border-left:3px solid var(--gray-300)}.submission-card.graded{border-left-color:var(--green)}.submission-card.ungraded{border-left-color:var(--gold)}.submission-card.submitted{border-left-color:var(--green-light)}.submission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem}.submission-header span{color:var(--gray-500)}.submission-card p{white-space:pre-wrap;font-size:.9rem}.grade-display{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-200)}.grade-badge{background:var(--green);color:#fff;font-weight:700;padding:.2rem .6rem;border-radius:var(--radius);font-size:.85rem}.grade-badge-large{background:var(--green);color:#fff;font-weight:700;padding:.4rem 1rem;border-radius:var(--radius);font-size:1.2rem;display:inline-block;margin-bottom:.5rem}.grade-feedback-inline{color:var(--gray-700);font-size:.85rem;font-style:italic}.btn-edit-grade{font-size:.8rem;margin-left:auto}.grade-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-200)}.grade-form-row{display:flex;gap:1rem;flex-wrap:wrap}.grade-form-row label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;gap:.25rem}.grade-input{width:80px;padding:.4rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:1rem;text-align:center}.grade-input:focus{outline:2px solid var(--green);border-color:transparent}.grade-feedback-label{flex:1;min-width:200px}.grade-feedback-textarea{width:100%;padding:.4rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-family:inherit;font-size:.9rem;resize:vertical}.grade-feedback-textarea:focus{outline:2px solid var(--green);border-color:transparent}.grade-form-actions{display:flex;gap:.75rem;align-items:center;margin-top:.75rem}.btn-sm{padding:.35rem .9rem;font-size:.85rem}.grade-result{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-200)}.grade-feedback-display{margin-top:.5rem}.grade-feedback-display p{white-space:pre-wrap;color:var(--gray-700);font-style:italic;margin-top:.25rem}.graded-meta{font-size:.8rem;color:var(--gray-500);display:block;margin-top:.5rem}.pending-grade{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-200);color:var(--gray-500);font-style:italic;font-size:.9rem}.my-submission-section{margin-top:1.5rem}.my-submission-section h3{color:var(--green);margin-bottom:.75rem}.lesson-list{display:flex;flex-direction:column;gap:.75rem}.lesson-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;border-left:3px solid var(--green);overflow:hidden;transition:all .2s ease}.lesson-card:hover{box-shadow:0 4px 12px #00000014,0 0 0 1px #0000000f}.lesson-card-link{display:block;padding:1rem;color:inherit;text-decoration:none}.lesson-card-link:hover{background:var(--gray-50);text-decoration:none}.lesson-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.lesson-card-header h3{font-size:1rem;margin:0}.lesson-meta{color:var(--gray-500);font-size:.8rem;white-space:nowrap}.lesson-preview{color:var(--gray-700);font-size:.85rem;margin-top:.5rem;line-height:1.4}.lesson-card-actions{display:flex;gap:.75rem;padding:.5rem 1rem;border-top:1px solid var(--gray-100);background:var(--gray-50)}.btn-danger{color:var(--red)!important}.lesson-viewer{max-width:800px}.lesson-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.lesson-viewer-meta{display:flex;gap:1rem;align-items:center;color:var(--gray-500);font-size:.85rem;margin:.5rem 0 1.5rem}.lesson-cs-tag{background:var(--green);color:#fff;font-size:.75rem;padding:.15rem .5rem;border-radius:var(--radius);font-weight:600}.lesson-body{line-height:1.7;font-size:.95rem;color:var(--black)}.lesson-body h2{font-size:1.3rem;margin:1.5rem 0 .5rem;color:var(--green)}.lesson-body h3{font-size:1.1rem;margin:1.25rem 0 .5rem}.lesson-body h4{font-size:1rem;margin:1rem 0 .5rem}.lesson-body p{margin-bottom:.75rem}.lesson-body ul,.lesson-body ol{margin:.5rem 0 1rem 1.5rem}.lesson-body li{margin-bottom:.3rem}.lesson-body blockquote{border-left:4px solid var(--gold);padding:.75rem 1rem;margin:1rem 0;background:#fffbeb;color:var(--gray-700);border-radius:0 8px 8px 0;font-size:.93rem}.lesson-body blockquote strong:first-child{display:block;margin-bottom:.25rem;font-size:.95rem}.lesson-body h2+p,.lesson-body h3+p{margin-top:.25rem}.lesson-body h4{font-size:1rem;margin:1.25rem 0 .5rem;color:var(--gray-700)}.lesson-body code{background:var(--gray-100);padding:.15rem .4rem;border-radius:4px;font-size:.9em;font-family:Consolas,Monaco,monospace}.lesson-body hr{border:none;border-top:1px solid var(--gray-200);margin:1.5rem 0}.lesson-body strong{font-weight:700}.lesson-editor{max-width:800px}.lesson-editor label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem;margin-bottom:1rem}.lesson-editor input,.lesson-editor select{padding:.5rem;border:1px solid var(--gray-200);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--gray-50);transition:all .15s}.lesson-editor input:focus,.lesson-editor select:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #006b3f1a}.editor-tabs{display:flex;gap:0;border-bottom:2px solid var(--gray-200);margin-bottom:0}.editor-tab{background:none;border:none;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--gray-500);border-bottom:2px solid transparent;margin-bottom:-2px}.editor-tab.active{color:var(--green);border-bottom-color:var(--green)}.lesson-textarea{width:100%;padding:.75rem;border:1px solid var(--gray-200);border-radius:0 0 10px 10px;font-family:Consolas,Monaco,monospace;font-size:.9rem;line-height:1.6;resize:vertical;min-height:300px;background:var(--gray-50);transition:all .15s}.lesson-textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #006b3f1a}.lesson-preview-panel{border:1px solid var(--gray-200);border-radius:0 0 10px 10px;padding:1rem;min-height:300px;background:#fff}.editor-actions{display:flex;gap:.75rem;align-items:center;margin-top:1rem}.action-lessons{border-left:3px solid var(--green)}.lesson-header-btns{display:flex;gap:.5rem;align-items:center}.btn-ai{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:10px;border:none;cursor:pointer;font-size:.9rem;font-weight:600;font-family:inherit;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;transition:all .2s;box-shadow:0 2px 8px #6366f140}.btn-ai:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 16px #6366f159;transform:translateY(-1px)}.btn-ai svg{flex-shrink:0}.btn-ai-lg{padding:.65rem 1.5rem;font-size:1rem}.ai-wizard{max-width:800px}.ai-wizard-header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.ai-wizard-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;flex-shrink:0;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.ai-wizard-header h2{margin:0 0 .25rem;font-size:1.3rem}.ai-wizard-header p{margin:0;color:var(--gray-500);font-size:.95rem;line-height:1.5}.ai-wizard-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem;margin-bottom:1rem}.ai-wizard-form input,.ai-wizard-form select,.ai-wizard-form textarea{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--gray-50);transition:all .15s}.ai-wizard-form input:focus,.ai-wizard-form select:focus,.ai-wizard-form textarea:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11f}.ai-wizard-form textarea{resize:vertical;min-height:80px;line-height:1.5}.ai-wizard-actions{display:flex;gap:.75rem;align-items:center;margin-top:.5rem}.ai-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.ai-loading h3{margin:1.5rem 0 .5rem;font-size:1.2rem}.ai-loading p{color:var(--gray-500);font-size:.95rem}.ai-loading-spinner{width:48px;height:48px;border-radius:50%;border:4px solid var(--gray-200);border-top-color:#6366f1;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-preview-header{margin-bottom:1.5rem}.ai-preview-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;margin-bottom:.75rem}.ai-preview-header h2{margin:0 0 .5rem;font-size:1.3rem}.ai-preview-header p{margin:0;color:var(--gray-500);font-size:.95rem}.ai-preview-body{border:1px solid var(--gray-200);border-radius:12px;padding:1.5rem;background:#fff;margin-bottom:1.5rem;max-height:600px;overflow-y:auto}.ai-preview-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.btn-ai-sm{padding:.35rem .75rem;font-size:.8rem}.btn-outline{background:#fff;color:var(--gray-700);border:1px solid var(--gray-200);padding:.35rem .75rem;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.btn-outline:hover{border-color:var(--gray-400);background:var(--gray-50)}.btn-sm{padding:.35rem .75rem;font-size:.8rem;border-radius:10px}.lesson-viewer-actions{display:flex;gap:.5rem;align-items:center}.quiz-section{margin-top:2rem;border:1px solid var(--gray-200);border-radius:12px;padding:1.5rem;background:#fff}.quiz-header{margin-bottom:1.5rem}.quiz-header h3{margin:.5rem 0;font-size:1.15rem}.quiz-header-actions{display:flex;gap:.5rem;align-items:center;margin-top:.75rem}.quiz-questions{display:flex;flex-direction:column;gap:1.25rem}.quiz-question{border:1px solid var(--gray-100);border-radius:10px;padding:1rem;background:var(--gray-50);transition:box-shadow .15s}.quiz-question:hover{box-shadow:0 2px 8px #0000000f}.quiz-q-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.quiz-q-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0}.quiz-q-type{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);padding:.15rem .5rem;border-radius:10px;background:var(--gray-200)}.quiz-q-text{margin:0 0 .5rem;font-weight:500;line-height:1.5}.quiz-options{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}.quiz-option{padding:.4rem .75rem;border-radius:8px;background:#fff;border:1px solid var(--gray-200);font-size:.9rem;transition:all .15s}.quiz-option--correct{background:#ecfdf5;border-color:#10b981;color:#065f46;font-weight:600}.quiz-answer{margin-top:.5rem;padding:.5rem .75rem;border-radius:8px;background:#ecfdf5;border:1px solid #a7f3d0;font-size:.85rem}.quiz-answer strong{color:#065f46}.quiz-explanation{color:var(--gray-600)}.ai-grade-prompt{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:.875rem 1rem;border-radius:10px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px dashed #c4b5fd}.btn-ai-grade{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:8px;border:none;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px #7c3aed40}.btn-ai-grade:hover{background:linear-gradient(135deg,#6d28d9,#4f46e5);box-shadow:0 4px 14px #7c3aed59;transform:translateY(-1px)}.ai-grade-prompt-hint{font-size:.82rem;color:#6d28d9;font-style:italic}.ai-grade-loading{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.25rem;border-radius:10px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;animation:ai-grade-pulse 2s ease-in-out infinite}@keyframes ai-grade-pulse{0%,to{opacity:1}50%{opacity:.7}}.ai-grade-loading-spinner{width:28px;height:28px;border-radius:50%;border:3px solid #e0d4fc;border-top-color:#7c3aed;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.ai-grade-loading-text{display:flex;flex-direction:column;gap:.15rem}.ai-grade-loading-text strong{font-size:.9rem;color:#5b21b6}.ai-grade-loading-text span{font-size:.8rem;color:#7c3aed}.ai-grade-result{margin-top:1rem;margin-bottom:1rem;padding:1.25rem;border-radius:12px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;animation:ai-grade-appear .3s ease-out}@keyframes ai-grade-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ai-grade-result-header{display:flex;gap:.6rem;align-items:center;margin-bottom:.75rem}.ai-grade-result-icon{flex-shrink:0}.ai-grade-score{font-size:1.3rem;font-weight:700;color:#6366f1;margin-left:auto}.ai-grade-feedback{font-size:.88rem;color:var(--gray-700);line-height:1.55;margin:0 0 .75rem;padding:.75rem;background:#fff9;border-radius:8px}.ai-grade-details{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ai-grade-list{font-size:.85rem;padding:.625rem .75rem;border-radius:8px}.ai-grade-list strong{display:flex;align-items:center;gap:.35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.35rem}.ai-grade-list ul{margin:0;padding-left:1.25rem}.ai-grade-list li{margin-bottom:.25rem;line-height:1.45}.ai-grade-strengths{background:#065f460f}.ai-grade-strengths strong,.ai-grade-strengths li{color:#065f46}.ai-grade-improvements{background:#92400e0f}.ai-grade-improvements strong,.ai-grade-improvements li{color:#92400e}.ai-grade-note{margin:.75rem 0 0;font-size:.8rem;color:var(--gray-500);font-style:italic}.submission-body{white-space:pre-wrap;font-size:.9rem}.ai-playground-toggle-area{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.ai-playground-toggle{display:flex;align-items:center;gap:.6rem;width:100%;padding:.875rem 1.25rem;border-radius:12px;border:2px dashed #c4b5fd;background:linear-gradient(135deg,#faf5ff,#f3e8ff);color:#6d28d9;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.ai-playground-toggle:hover{border-color:#8b5cf6;background:linear-gradient(135deg,#f3e8ff,#ede9fe);box-shadow:0 2px 12px #7c3aed1f}.ai-playground-toggle.active{border-style:solid;border-color:#8b5cf6;background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.ai-playground-toggle-hint{font-weight:400;font-size:.82rem;color:#8b5cf6;margin-left:auto}.ai-playground{margin-top:1rem;border-radius:16px;border:1px solid #ddd6fe;overflow:hidden;background:#fff;box-shadow:0 4px 24px #7c3aed14;animation:ai-playground-in .3s ease-out}@keyframes ai-playground-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-playground-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff}.ai-playground-header-left{display:flex;align-items:center;gap:.75rem}.ai-playground-avatar{width:38px;height:38px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center}.ai-playground-avatar svg{stroke:#fff}.ai-playground-header h3{margin:0;font-size:.95rem;font-weight:700}.ai-playground-status{font-size:.78rem;opacity:.85}.ai-playground-header .btn-link{color:#fffc;font-size:.8rem}.ai-playground-header .btn-link:hover{color:#fff}.ai-playground-chat{max-height:420px;overflow-y:auto;padding:1.25rem;background:#faf8ff}.ai-playground-welcome{text-align:center;padding:1rem .5rem}.ai-playground-welcome-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#f3e8ff,#ede9fe);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.ai-playground-welcome h4{margin:0 0 .35rem;color:#5b21b6;font-size:1.05rem}.ai-playground-welcome p{color:var(--gray-600);font-size:.88rem;margin:0 0 1rem;line-height:1.5}.ai-playground-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.ai-suggestion-chip{display:inline-block;padding:.45rem .85rem;border-radius:999px;border:1px solid #ddd6fe;background:#fff;color:#6d28d9;font-size:.8rem;cursor:pointer;transition:all .15s;text-align:left;line-height:1.35}.ai-suggestion-chip:hover{background:#f3e8ff;border-color:#a78bfa;box-shadow:0 1px 4px #7c3aed1f}.ai-chat-msg{display:flex;gap:.5rem;margin-bottom:.875rem;animation:ai-msg-in .25s ease-out}@keyframes ai-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ai-chat-user{justify-content:flex-end}.ai-chat-avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7c3aed,#6366f1);display:flex;align-items:center;justify-content:center;margin-top:2px}.ai-chat-avatar svg{stroke:#fff}.ai-chat-bubble{max-width:85%;border-radius:14px;padding:.65rem .9rem;font-size:.88rem;line-height:1.55}.ai-chat-user .ai-chat-bubble{background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;border-bottom-right-radius:4px}.ai-chat-user .ai-chat-bubble p{margin:0}.ai-chat-assistant .ai-chat-bubble{background:#fff;color:var(--gray-800);border:1px solid #e9e5f5;border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000000a}.ai-chat-error .ai-chat-bubble{background:#fef2f2;border-color:#fecaca;color:#dc2626}.ai-chat-content p{margin:.3rem 0}.ai-chat-content p:first-child{margin-top:0}.ai-chat-content p:last-child{margin-bottom:0}.ai-chat-content strong{color:#5b21b6}.ai-chat-content ul,.ai-chat-content ol{margin:.3rem 0;padding-left:1.25rem}.ai-chat-content li{margin-bottom:.15rem}.ai-chat-content code{background:#f3e8ff;color:#6d28d9;padding:.1rem .35rem;border-radius:4px;font-size:.82rem}.ai-chat-content blockquote{margin:.4rem 0;padding:.4rem .75rem;border-left:3px solid #c4b5fd;color:var(--gray-600);font-style:italic;background:#faf5ff;border-radius:0 6px 6px 0}.ai-chat-typing{display:flex;align-items:center;gap:4px;padding:.75rem 1rem!important}.ai-typing-dot{width:8px;height:8px;border-radius:50%;background:#a78bfa;animation:ai-typing-bounce 1.4s infinite ease-in-out}.ai-typing-dot:nth-child(2){animation-delay:.2s}.ai-typing-dot:nth-child(3){animation-delay:.4s}@keyframes ai-typing-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.ai-playground-quick-actions{display:flex;gap:.5rem;padding:.5rem 1.25rem;background:#faf8ff;border-top:1px solid #f0ecf9;overflow-x:auto}.ai-quick-btn{padding:.3rem .7rem;border-radius:999px;border:1px solid #ddd6fe;background:#fff;color:#7c3aed;font-size:.78rem;white-space:nowrap;cursor:pointer;transition:all .15s}.ai-quick-btn:hover{background:#f3e8ff;border-color:#a78bfa}.ai-playground-input{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid #e9e5f5;background:#fff}.ai-playground-input input{flex:1;padding:.6rem .875rem;border-radius:10px;border:1px solid #ddd6fe;font-size:.9rem;background:#faf8ff;transition:all .2s}.ai-playground-input input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;background:#fff}.ai-playground-input input::placeholder{color:#a78bfa}.ai-playground-send{width:40px;height:40px;border-radius:10px;border:none;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ai-playground-send:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#4f46e5);box-shadow:0 2px 8px #7c3aed4d}.ai-playground-send:disabled{opacity:.4;cursor:not-allowed}.quiz-type-badge{display:inline-block;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:999px;margin-right:.5rem;vertical-align:middle}.quiz-assignment-banner{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#ede9fe,#e0e7ff);border:1px solid #c7d2fe;padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.quiz-assignment-banner span:last-child{font-size:.9rem;color:var(--gray-700)}.quiz-take-form{margin-top:1.5rem}.quiz-take-form h3{margin-bottom:.25rem}.quiz-take-progress{font-size:.85rem;color:var(--gray-500);margin-bottom:1.5rem}.quiz-take-question{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.quiz-take-q-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.quiz-take-q-text{font-size:1rem;font-weight:500;margin-bottom:.75rem}.quiz-take-options{display:flex;flex-direction:column;gap:.5rem}.quiz-take-option{display:flex;align-items:center;gap:.75rem;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius);padding:.75rem 1rem;cursor:pointer;transition:border-color .15s,background .15s}.quiz-take-option:hover{border-color:#a5b4fc;background:#f5f3ff}.quiz-take-option.selected{border-color:#6366f1;background:#ede9fe}.quiz-take-option input[type=radio]{accent-color:#6366f1;width:18px;height:18px;cursor:pointer}.quiz-take-option span{font-size:.95rem}.quiz-take-input{width:100%;padding:.75rem;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:.95rem;transition:border-color .15s}.quiz-take-input:focus{border-color:#6366f1;outline:none}.quiz-result-summary{font-size:.95rem;color:var(--gray-600);margin:.5rem 0 1rem}.quiz-results-detail{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.quiz-results-detail.compact{margin-top:.5rem;font-size:.9rem}.quiz-result-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:var(--radius);border-left:3px solid transparent}.quiz-result-correct{background:#f0fdf4;border-left-color:#22c55e}.quiz-result-wrong{background:#fef2f2;border-left-color:#ef4444}.quiz-result-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;font-weight:700;flex-shrink:0}.quiz-result-icon.correct{background:#22c55e;color:#fff}.quiz-result-icon.wrong{background:#ef4444;color:#fff}.quiz-result-header{display:flex;align-items:center;gap:.5rem;width:100%}.quiz-result-qnum{font-weight:700;font-size:.85rem;color:var(--gray-500)}.quiz-result-qtext{flex:1;font-weight:500}.quiz-result-answers{width:100%;padding-left:2rem;font-size:.9rem;margin-top:.25rem}.quiz-result-label{font-weight:600;color:var(--gray-500);font-size:.8rem}.quiz-result-explanation{font-size:.85rem;color:var(--gray-500);font-style:italic;margin-top:.25rem}.quiz-result-answer{margin-left:auto;font-size:.85rem;color:var(--gray-500)}.text-success{color:#22c55e;font-weight:600}.text-danger{color:#ef4444;font-weight:600}.grade-badge-large.grade-pass{background:#22c55e}.grade-badge-large.grade-fail{background:#ef4444}.quiz-submission-summary{display:flex;align-items:center;gap:.75rem;margin:.5rem 0}.quiz-submission-score{font-size:.9rem;color:var(--gray-600)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:420px;width:calc(100% - 2rem)}.toast-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:10px;background:#fff;color:var(--gray-800);box-shadow:0 8px 30px #0000001f,0 2px 8px #00000014;pointer-events:auto;animation:toast-slide-in .3s ease-out;border-left:4px solid var(--gray-400);font-size:.9rem;line-height:1.4}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:#22c55e}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{flex-shrink:0;display:flex;align-items:center}.toast-success .toast-icon{color:#22c55e}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:#3b82f6}.toast-message{flex:1;word-break:break-word}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--gray-400);padding:0 .25rem;line-height:1;transition:color .15s}.toast-close:hover{color:var(--gray-700)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:confirm-fade-in .15s ease-out}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:14px;padding:1.75rem;max-width:420px;width:100%;box-shadow:0 20px 60px #0003;animation:confirm-pop-in .2s ease-out}@keyframes confirm-pop-in{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.confirm-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:700;color:var(--black)}.confirm-message{margin:0 0 1.5rem;font-size:.95rem;color:var(--gray-600);line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-cancel{padding:.55rem 1.25rem;border:1px solid var(--gray-200);border-radius:8px;background:#fff;color:var(--gray-700);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.confirm-cancel:hover{background:var(--gray-50);border-color:var(--gray-300)}.confirm-btn{padding:.55rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s}.confirm-primary{background:var(--green);color:#fff}.confirm-primary:hover{background:#0b8457}.confirm-danger{background:#ef4444;color:#fff}.confirm-danger:hover{background:#dc2626}.install-banner{background:var(--gold);color:var(--black);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}.install-banner button{background:var(--green);color:#fff;border:none;padding:.4rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;white-space:nowrap}.install-banner .dismiss{background:transparent;color:var(--gray-700);padding:.4rem}.student-dashboard{display:flex;flex-direction:column;gap:1.5rem}.upcoming-list{display:flex;flex-direction:column;gap:.5rem}.upcoming-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:var(--radius);background:var(--gray-50);text-decoration:none;color:var(--black);transition:background .15s}.upcoming-card:hover{background:var(--gray-100);text-decoration:none}.upcoming-card.overdue{border-left:3px solid var(--red)}.upcoming-info h4{font-size:.95rem;margin-bottom:.15rem}.upcoming-teacher{font-size:.8rem;color:var(--gray-500)}.upcoming-due{font-size:.8rem;color:var(--gray-500);white-space:nowrap}.overdue-text{color:var(--red);font-weight:600}.grades-preview{display:flex;flex-direction:column;gap:.5rem}.grade-preview-card{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--gray-100)}.grade-preview-card:last-child{border-bottom:none}.grade-preview-info h4{font-size:.95rem}.grade-preview-meta{font-size:.8rem;color:var(--gray-500)}.grade-circle{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff;flex-shrink:0}.grade-circle.pass{background:var(--green)}.grade-circle.avg{background:var(--gold);color:var(--black)}.grade-circle.low{background:var(--red)}.lessons-preview{display:flex;flex-direction:column;gap:.5rem}.lesson-preview-card{display:block;padding:.6rem 0;border-bottom:1px solid var(--gray-100);color:var(--black);text-decoration:none}.lesson-preview-card:last-child{border-bottom:none}.lesson-preview-card:hover{color:var(--green)}.lesson-preview-card h4{font-size:.95rem;margin-bottom:.1rem}.lesson-preview-card span{font-size:.8rem;color:var(--gray-500)}.grades-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.grade-filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-tab{background:#fff;border:1px solid var(--gray-200);padding:.4rem .9rem;border-radius:20px;cursor:pointer;font-size:.85rem;color:var(--gray-700);transition:all .15s;font-weight:500}.filter-tab:hover{border-color:var(--green);color:var(--green)}.filter-tab.active{background:var(--green);color:#fff;border-color:var(--green)}.grades-list{display:flex;flex-direction:column;gap:1rem}.grade-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 0 0 1px #0000000a;overflow:hidden}.grade-card.has-grade{border-left:4px solid var(--green)}.grade-card.pending{border-left:4px solid var(--gray-300)}.grade-card-main{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;gap:1rem}.grade-card-info{flex:1;min-width:0}.grade-card-info h3{font-size:1rem;margin-bottom:.25rem}.grade-card-info h3 a{color:var(--black)}.grade-card-info h3 a:hover{color:var(--green)}.grade-card-meta{font-size:.8rem;color:var(--gray-500);display:flex;gap:1rem;flex-wrap:wrap}.grade-score{display:flex;align-items:baseline;font-weight:700;flex-shrink:0;padding:.5rem .75rem;border-radius:var(--radius)}.grade-score.pass{background:#dcfce7;color:#166534}.grade-score.avg{background:#fef9c3;color:#854d0e}.grade-score.low{background:#fecaca;color:#991b1b}.grade-number{font-size:1.5rem}.grade-max{font-size:.9rem;margin-left:2px;opacity:.7}.grade-pending-badge{background:var(--gray-100);color:var(--gray-500);padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap}.grade-card-feedback{padding:.75rem 1.25rem;background:var(--gray-50);font-size:.9rem;border-top:1px solid var(--gray-100)}.grade-card-footer{padding:.5rem 1.25rem;font-size:.75rem;color:var(--gray-500);border-top:1px solid var(--gray-100)}.empty-filter{text-align:center;padding:2rem;color:var(--gray-500)}.cs-lessons{margin-top:.5rem;padding:.5rem .75rem;background:#f0fdf4;border-radius:10px;font-size:.85rem}.cs-lessons-label{color:var(--gray-700);font-weight:600;margin-right:.5rem}.cs-lesson-link{margin-right:.75rem}.subject-lessons-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:var(--green)}.lesson-filters{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}.lesson-search{padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.9rem;flex:1;min-width:180px}.lesson-search:focus{outline:2px solid var(--green);border-color:transparent}.lesson-subject-filter{padding:.5rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:.9rem;background:#fff}.lesson-subject-tag{display:inline-block;background:#ecfdf5;color:var(--green);padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.5rem}@media(pointer:coarse){button,.btn-primary,.btn-ai,.btn-link,.btn-back,.nav-card,.quiz-take-option,.filter-tab,.ai-suggestion-chip,.ai-quick-btn,.dash-signout{min-height:44px}.btn-link,.btn-text{min-height:44px;display:inline-flex;align-items:center}.cur-indicator-label{min-height:44px;padding:.3rem 0}}@media(max-width:1024px){.page-shell main.page-main,.dash-main{padding:1.5rem 1.25rem 2.5rem}.nav-card-grid{grid-template-columns:repeat(2,1fr)}.nav-card-grid--3{grid-template-columns:repeat(3,1fr)}.curriculum-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.cur-subject-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.ai-wizard,.lesson-viewer,.lesson-editor{max-width:100%}.ai-preview-body{max-height:500px}}@media(max-width:768px){.topbar-nav-desktop{display:none}.hamburger-btn{display:flex}.dash-signout{display:none}.dash-hero h1{font-size:1.45rem}.page-hero h1{font-size:1.3rem}.dash-section-hdr h2{font-size:1rem}.dash-topbar-inner{padding:.55rem 1rem}.dash-user-pill{padding:.25rem .5rem .25rem .25rem}.dash-hero-inner{padding:1.75rem 1.25rem 1.5rem}.page-hero-inner{padding:1.25rem}.page-shell main.page-main,.dash-main{padding:1.25rem 1rem 2rem}.nav-card-grid,.nav-card-grid--3,.dash-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.curriculum-grid{grid-template-columns:1fr 1fr;gap:.65rem}.grades-summary,.progress-summary{grid-template-columns:repeat(2,1fr);gap:.75rem}.ai-grade-details{grid-template-columns:1fr 1fr}.page-header-row{flex-wrap:wrap;gap:.75rem}.lesson-header-btns{flex-wrap:wrap;gap:.5rem}.assignment-detail-header{flex-direction:column}.assignment-detail-actions{flex-wrap:wrap}.lesson-viewer-header{flex-direction:column;align-items:flex-start;gap:.75rem}.lesson-viewer-actions{flex-wrap:wrap}.lesson-viewer-meta{flex-wrap:wrap;gap:.5rem}.editor-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.create-form{padding:1.25rem}.grade-form-row{flex-direction:column;gap:.75rem}.grade-feedback-label{min-width:0}.quiz-section{padding:1.25rem}.quiz-result-header{flex-wrap:wrap}.quiz-result-answers{padding-left:1.5rem}.ai-wizard-header{flex-direction:column;gap:.75rem}.ai-wizard-icon{width:48px;height:48px}.ai-preview-actions{flex-wrap:wrap}.ai-playground-chat{max-height:380px}.ai-playground-header{padding:.75rem 1rem}.ai-playground-quick-actions{padding:.5rem 1rem}.ai-playground-input{padding:.65rem .875rem}.submission-header{flex-direction:column;align-items:flex-start;gap:.25rem}.submission-form{padding:1rem}.student-progress-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.student-progress-table table{min-width:500px}.confirm-dialog{padding:1.5rem;max-width:380px}.grade-card-main{gap:.75rem;padding:.875rem 1rem}.grade-card-meta{gap:.5rem}}@media(max-width:600px){.page-shell main.page-main,.dash-main{padding:1rem .875rem 2rem}.dash-hero h1{font-size:1.25rem}.page-hero h1{font-size:1.15rem}.page-hero p{font-size:.82rem}.dash-topbar-inner{padding:.5rem .875rem}.dash-logo-text{font-size:1rem}.dash-logo-mark{width:30px;height:30px;font-size:.85rem;border-radius:7px}.dash-logo-img{width:30px;height:30px}.dash-user-info{display:none}.dash-user-pill{padding:.2rem;background:transparent;border:none}.dash-avatar{width:34px;height:34px;font-size:.8rem}.dash-topbar-right{gap:.5rem}.mobile-menu{width:260px}.dash-hero-inner{flex-direction:column;align-items:flex-start;padding:1.25rem .875rem 1rem;gap:.25rem}.dash-hero-date{display:none}.dash-hero-text p{font-size:.85rem}.page-hero-inner{padding:.875rem}.page-breadcrumbs{font-size:.75rem;margin-bottom:.35rem}.nav-card-grid,.nav-card-grid--3{grid-template-columns:1fr;gap:.625rem}.nav-card{padding:1rem;gap:.75rem}.nav-card-icon{width:42px;height:42px;min-width:42px;border-radius:10px}.nav-card-body h3{font-size:.9rem}.nav-card-body p{font-size:.78rem}.dash-stats{grid-template-columns:repeat(2,1fr);gap:.625rem}.dash-stat{padding:1rem}.dash-stat-num{font-size:1.4rem}.dash-stat-lbl{font-size:.7rem}.curriculum-grid{grid-template-columns:1fr}.curriculum-card{padding:.875rem 1rem}.curriculum-card-icon{width:38px;height:38px;min-width:38px}.curriculum-card-body h3{font-size:.88rem}.level-grid,.cur-subject-grid{grid-template-columns:1fr}.cur-subject-card{padding:1rem}.cur-subject-icon{width:42px;height:42px;min-width:42px}.dash-section-hdr{flex-wrap:wrap;gap:.5rem}.dash-section-hdr h2{font-size:.95rem}.dash-view-all{font-size:.78rem}.progress-summary{grid-template-columns:1fr 1fr;gap:.625rem}.stat-card{padding:1rem}.stat-number{font-size:1.6rem}.progress-card{padding:1rem}.progress-card-header{flex-direction:column;align-items:flex-start;gap:.3rem}.grades-summary{grid-template-columns:repeat(2,1fr);gap:.625rem}.grade-card-main{flex-direction:column;align-items:flex-start;padding:.875rem 1rem}.grade-score{align-self:flex-start}.grade-number{font-size:1.25rem}.grade-card-meta{font-size:.75rem}.grade-filters{gap:.35rem}.filter-tab{padding:.35rem .7rem;font-size:.8rem}.assignment-card{padding:1rem}.assignment-card-header{flex-direction:column;align-items:flex-start;gap:.25rem}.assignment-card h3{font-size:.95rem}.assignment-preview{font-size:.85rem}.assignment-detail-header{flex-direction:column;gap:.5rem}.assignment-detail-meta{font-size:.8rem;gap:.5rem}.assignment-instructions,.create-form{padding:1rem}.create-form label{font-size:.82rem}.create-form input,.create-form select,.create-form textarea{font-size:.9rem;padding:.55rem .65rem}.submission-form{padding:1rem}.submission-card{padding:.875rem}.submission-header{flex-direction:column;align-items:flex-start;gap:.2rem}.grade-form-row{flex-direction:column;gap:.6rem}.grade-feedback-label{min-width:0}.grade-form-actions{flex-wrap:wrap}.ai-grade-prompt{flex-direction:column;align-items:flex-start;gap:.5rem}.ai-grade-result{padding:1rem}.ai-grade-details{grid-template-columns:1fr}.ai-grade-loading{flex-direction:column;text-align:center}.lesson-card-header{flex-direction:column;align-items:flex-start;gap:.2rem}.lesson-meta{white-space:normal}.lesson-viewer-header{flex-direction:column;align-items:flex-start;gap:.5rem}.lesson-viewer-actions{flex-wrap:wrap;width:100%}.lesson-viewer-meta{flex-direction:column;gap:.25rem}.lesson-body{font-size:.9rem}.lesson-body h2{font-size:1.15rem}.lesson-body h3{font-size:1rem}.lesson-filters{flex-direction:column;gap:.5rem}.lesson-search{min-width:0;width:100%}.lesson-subject-filter{width:100%}.lesson-editor label{margin-bottom:.75rem}.lesson-textarea{min-height:200px;font-size:.85rem}.editor-actions{flex-wrap:wrap}.page-header-row{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header-row h2{font-size:1.05rem}.lesson-header-btns{width:100%}.lesson-header-btns .btn-ai,.lesson-header-btns .btn-primary{flex:1;justify-content:center;text-align:center}.quiz-section{padding:1rem;margin-top:1.5rem}.quiz-question{padding:.875rem}.quiz-q-text{font-size:.92rem}.quiz-header-actions{flex-wrap:wrap}.quiz-take-option{padding:.65rem .875rem}.quiz-result-item{padding:.625rem}.quiz-result-answers{padding-left:1rem;font-size:.85rem}.ai-wizard-header{flex-direction:column;text-align:center;align-items:center}.ai-wizard-icon{width:48px;height:48px;border-radius:14px}.ai-wizard-header h2{font-size:1.15rem}.ai-wizard-header p{font-size:.88rem}.ai-wizard-form label{font-size:.85rem}.ai-wizard-actions{flex-wrap:wrap}.ai-wizard-actions .btn-ai{flex:1;justify-content:center}.ai-preview-header h2{font-size:1.15rem}.ai-preview-body{padding:1rem;max-height:400px}.ai-preview-actions{flex-direction:column}.ai-preview-actions .btn-ai,.ai-preview-actions .btn-outline{width:100%;justify-content:center;text-align:center}.ai-loading{padding:2rem .5rem}.ai-loading h3{font-size:1.05rem}.ai-playground-toggle{padding:.75rem 1rem;font-size:.88rem}.ai-playground-toggle-hint{display:none}.ai-playground{border-radius:12px}.ai-playground-header{padding:.75rem .875rem}.ai-playground-avatar{width:32px;height:32px}.ai-playground-header h3{font-size:.88rem}.ai-playground-chat{max-height:300px;padding:.875rem}.ai-playground-welcome{padding:.5rem 0}.ai-playground-welcome-icon{width:48px;height:48px}.ai-playground-welcome h4{font-size:.95rem}.ai-playground-welcome p{font-size:.82rem}.ai-suggestion-chip{font-size:.75rem;padding:.35rem .7rem}.ai-chat-bubble{max-width:92%;padding:.55rem .75rem;font-size:.85rem}.ai-chat-avatar{width:24px;height:24px}.ai-playground-quick-actions{padding:.4rem .875rem;gap:.35rem}.ai-quick-btn{font-size:.72rem;padding:.25rem .55rem}.ai-playground-input{padding:.6rem .75rem;gap:.4rem}.ai-playground-input input{padding:.5rem .75rem;font-size:.85rem}.ai-playground-send{width:38px;height:38px}.quiz-assignment-banner{flex-direction:column;align-items:flex-start;gap:.5rem}.upcoming-card{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem}.upcoming-due{align-self:flex-end}.grade-preview-card{flex-wrap:wrap;gap:.5rem}.grade-circle{width:36px;height:36px;font-size:.78rem}.cur-cs-header{flex-direction:column;gap:.35rem}.cur-cs{padding:1rem}.cur-substrand-header{padding:.875rem 1rem}.cur-lessons-banner{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1rem}.cur-strand-card{padding:.875rem 1rem}.install-banner{flex-direction:column;text-align:center;padding:.75rem 1rem;gap:.5rem}.toast-container{top:.5rem;right:.5rem;max-width:none;width:calc(100% - 1rem)}.toast-item{font-size:.85rem;padding:.75rem .875rem}.confirm-overlay{padding:.75rem}.confirm-dialog{padding:1.25rem;border-radius:12px;max-width:100%}.confirm-title{font-size:1rem}.confirm-message{font-size:.9rem;margin-bottom:1.25rem}.confirm-actions{gap:.5rem}.confirm-cancel,.confirm-btn{flex:1;text-align:center;padding:.6rem 1rem}}@media(max-width:380px){.page-shell main.page-main,.dash-main{padding:.75rem .625rem 1.5rem}.dash-hero h1{font-size:1.1rem}.page-hero h1{font-size:1.05rem}.dash-topbar-inner{padding:.45rem .625rem}.dash-hero-inner{padding:1rem .625rem .875rem}.page-hero-inner{padding:.75rem .625rem}.nav-card{padding:.875rem}.nav-card-body h3{font-size:.85rem}.dash-stats{gap:.5rem}.dash-stat{padding:.875rem .5rem}.dash-stat-num{font-size:1.2rem}.btn-primary{padding:.55rem .9rem;font-size:.85rem}.btn-ai{padding:.45rem .85rem;font-size:.82rem}.assignment-card,.lesson-card-link{padding:.875rem}.grades-summary,.progress-summary{gap:.5rem}.ai-playground-chat{max-height:260px}.ai-suggestion-chip{font-size:.7rem;padding:.3rem .6rem}.quiz-take-option{padding:.55rem .75rem}}@media(max-height:500px)and (orientation:landscape){.dash-hero-inner{padding:1rem 1.25rem .75rem}.page-hero-inner{padding:.75rem 1.25rem}.dash-hero h1{font-size:1.2rem}.page-hero h1{font-size:1.1rem}.page-hero p{display:none}.ai-playground-chat{max-height:200px}.login-brand{margin-bottom:.75rem}.login-logo-mark{width:40px;height:40px;font-size:1.1rem;border-radius:12px}n .login-logo-img{width:48px;height:48px}.login-brand h1{font-size:1.35rem}.login-card{padding:1.25rem}}@media print{.dash-topbar,.page-hero,.btn-back,.btn-primary,.btn-ai,.lesson-header-btns,.lesson-card-actions,.assignment-card-actions,.ai-playground-toggle-area,.toast-container,.install-banner{display:none!important}.page-shell main.page-main{padding:0;max-width:100%}.lesson-body{font-size:12pt}.grade-card,.assignment-card,.progress-card{box-shadow:none;border:1px solid #ddd}}
