body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-blue:#2563eb;--primary-blue-dark:#1d4ed8;--primary-blue-darker:#1e3a8a;--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-muted:#94a3b8;--surface:#fff;--surface-hover:#f9fafb;--surface-muted:#f8fafc;--surface-border:#e5e7eb;--surface-border-hover:#d1d5db;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--gradient-hero:linear-gradient(135deg,#f8fafc,#f1f5f9 50%,#e2e8f0);--gradient-primary:linear-gradient(135deg,#2563eb,#1d4ed8);--gradient-glass:#ffffffd9;--font-system:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 2px 4px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 25px #0000001f;--shadow-xl:0 20px 40px #00000026;--transition-fast:0.2s ease;--transition-smooth:0.3s cubic-bezier(0.4,0,0.2,1);--container-max-width:1200px}*{box-sizing:border-box}body{background:#fff;background:var(--surface);color:#1a1a1a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font-system);line-height:1.6;margin:0;padding:0}.container{max-width:var(--container-max-width);padding:0 var(--space-4)}@media (min-width:768px){.container{padding:0 2rem;padding:0 var(--space-8)}}.text-primary{color:#1a1a1a;color:var(--text-primary)}.text-secondary{color:#6b7280;color:var(--text-secondary)}.text-muted{color:#94a3b8;color:var(--text-muted)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2563eb,#1d4ed8);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.surface-glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd9;background:var(--gradient-glass);border:1px solid #fff3}.cta-button{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative;transition:all var(--transition-smooth);white-space:nowrap}.cta-button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.cta-button--sm{border-radius:var(--radius-sm);font-size:var(--text-sm);min-height:32px;padding:var(--space-2) var(--space-4)}.cta-button--md{border-radius:var(--radius-md);font-size:var(--text-base);min-height:40px;padding:var(--space-3) var(--space-5)}.cta-button--lg{border-radius:var(--radius-lg);font-size:var(--text-lg);min-height:48px;padding:var(--space-4) var(--space-8)}.cta-button--primary{background:var(--primary-blue);box-shadow:0 4px 16px #2563eb40,0 2px 8px #2563eb26;color:var(--surface)}.cta-button--primary:before{background:linear-gradient(135deg,#ffffff1a,#0000 50%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity var(--transition-smooth)}.cta-button--primary:hover:not(:disabled){background:var(--primary-blue-dark);box-shadow:0 8px 24px #2563eb59,0 4px 12px #2563eb40;transform:translateY(-2px)}.cta-button--primary:hover:not(:disabled):before{opacity:1}.cta-button--primary:active:not(:disabled){transform:translateY(0)}.cta-button--secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #e2e8f0cc;box-shadow:var(--shadow-sm);color:var(--text-secondary)}.cta-button--secondary:hover:not(:disabled){background:#fffffff2;border-color:#cbd5e1cc;box-shadow:var(--shadow-md);color:var(--text-primary);transform:translateY(-1px)}.cta-button--secondary:active:not(:disabled){transform:translateY(0)}.cta-button--ghost{background:#0000;border:1px solid #0000;color:var(--text-secondary)}.cta-button--ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--surface-border);color:var(--primary-blue)}.cta-button--ghost:active:not(:disabled){background:var(--surface-muted)}.header{background:var(--surface);border-bottom:1px solid var(--surface-border);transition:box-shadow var(--transition-fast)}.header:hover{box-shadow:var(--shadow-sm)}.header__logo{align-items:center;display:flex;text-decoration:none;transition:opacity var(--transition-fast)}.header__logo:hover{opacity:.8}.header__logo-img{display:block;height:40px;margin:0;max-width:260px;object-fit:contain;vertical-align:middle;width:auto}.header__nav--desktop{align-items:center;display:none;gap:var(--space-8)}.header__nav-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--text-base);font-weight:500;padding:var(--space-2) 0;transition:color var(--transition-fast)}.header__nav-button:hover{color:var(--primary-blue)}.header__auth-section{align-items:center;display:flex;gap:var(--space-4)}.header__welcome{color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;margin-right:var(--space-2)}.header__mobile-menu-button{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-xl);height:44px;justify-content:center;transition:color var(--transition-fast);width:44px}.header__mobile-menu-button:hover{color:var(--text-primary)}.header__mobile-menu{background:var(--surface);border-bottom:1px solid var(--surface-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-4);left:0;padding:var(--space-4);position:absolute;right:0;top:100%}.header__mobile-nav-item{background:none;border:none;color:var(--text-secondary);cursor:pointer;display:block;font-size:var(--text-base);font-weight:500;padding:var(--space-3) 0;text-align:left;text-decoration:none;transition:color var(--transition-fast);width:100%}.header__mobile-nav-item:hover{color:var(--primary-blue)}.header__mobile-nav-item.cta-button{margin:var(--space-2) 0;text-align:center}@media (min-width:768px){.header .container{padding:0 var(--space-8)}.header__nav--desktop{display:flex}.header__mobile-menu,.header__mobile-menu-button{display:none}}.section{position:relative;width:100%}.section--white{background:var(--surface)}.section--muted{background:var(--surface-muted)}.section--gradient{background:var(--gradient-hero);overflow:hidden;position:relative}.section--gradient:before{background:radial-gradient(600px circle at 20% 30%,#3b82f614 0,#0000 40%),radial-gradient(800px circle at 80% 70%,#6366f10f 0,#0000 40%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.section--gradient .container{position:relative;z-index:1}.section--sm{padding:var(--space-8) 0}.section--md{padding:var(--space-12) 0}.section--lg{padding:var(--space-16) 0}.section--xl{padding:var(--space-20) 0}@media (min-width:768px){.section--sm{padding:var(--space-12) 0}.section--md{padding:var(--space-16) 0}.section--lg{padding:var(--space-20) 0}.section--xl{padding:6rem 0}}.video-player{height:100%;width:100%}.video-player__container{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);height:0;overflow:hidden;padding-bottom:56.25%;position:relative;transition:all var(--transition-smooth);width:100%}.video-player:hover .video-player__container{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.video-player__iframe{border-radius:var(--radius-lg);height:100%;left:0;position:absolute;top:0;width:100%}.video-player--square .video-player__container{padding-bottom:100%}.video-player--vertical .video-player__container{padding-bottom:177.78%}.video-player--sm .video-player__container{max-width:400px}.video-player--md .video-player__container{max-width:600px}.video-player--lg .video-player__container{max-width:800px}@media (max-width:768px){.video-player__container{border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.video-player:hover .video-player__container{box-shadow:var(--shadow-md);transform:none}}.hero__content,.hero__video-layout{position:relative;z-index:1}.hero__video-layout{grid-gap:var(--space-16);align-items:center;display:grid;gap:var(--space-16);grid-template-columns:1fr 1fr}.hero__video-container{align-items:center;display:flex;justify-content:center}.hero__content-sidebar{display:flex;flex-direction:column;justify-content:center;text-align:left}.hero--video-sidebar .hero__content-sidebar{margin:0;max-width:none}.hero--video-sidebar.hero--centered .hero__content-sidebar{text-align:left}.hero--centered .hero__content{margin:0 auto;max-width:900px;text-align:center}.hero__pre-title{font-size:var(--text-xl);font-weight:650;letter-spacing:.1em;margin:0 0 var(--space-4) 0;text-transform:uppercase}.hero__title{color:var(--text-primary);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 var(--space-3) 0}.hero--md .hero__title{font-size:var(--text-3xl)}.hero--lg .hero__title{font-size:var(--text-4xl)}.hero--xl .hero__title{font-size:var(--text-5xl)}.hero__subtitle{color:var(--text-secondary);font-size:var(--text-lg);font-weight:500;line-height:1.5;margin:0 0 var(--space-8) 0}.hero__actions{align-items:center;display:flex;flex-direction:column;gap:var(--space-8)}@media (min-width:768px){.hero--md .hero__title{font-size:var(--text-4xl)}.hero--lg .hero__title{font-size:var(--text-5xl)}.hero--xl .hero__title{font-size:4rem}.hero__subtitle{font-size:var(--text-xl)}.hero__actions{gap:var(--space-12)}}@media (min-width:1024px){.hero--xl .hero__title{font-size:5rem}}@media (max-width:1024px){.hero__video-layout{gap:var(--space-12);grid-template-columns:1fr;text-align:center}.hero--video-sidebar.hero--centered .hero__content-sidebar,.hero__content-sidebar{text-align:center}}@media (max-width:768px){.hero__video-layout{gap:var(--space-8)}}.hero__video-top-layout{align-items:center;display:flex;flex-direction:column;gap:var(--space-6);position:relative;z-index:1}.hero--video-top.section--xl{padding-top:var(--space-4)!important}@media (min-width:768px){.hero--video-top.section--xl{padding-top:var(--space-4)!important}}.hero__video-container-top{display:flex;justify-content:center;max-width:800px;width:100%}.hero__content-above{text-align:center;width:100%}.hero--video-top .hero__pre-title{font-size:var(--text-3xl);margin-bottom:var(--space-3);margin-top:0}.hero--video-top .hero__title{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.hero--video-top .hero__subtitle{font-size:var(--text-xs);margin-bottom:0;opacity:.8}.hero__actions-horizontal{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr);margin-left:auto;margin-right:auto;margin-top:var(--space-6);max-width:1000px}@media (max-width:1024px){.hero__actions-horizontal{gap:var(--space-4);grid-template-columns:repeat(2,1fr);max-width:600px}}@media (max-width:768px){.hero--video-top .hero__pre-title{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.hero--video-top .hero__title{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.hero--video-top .hero__subtitle{font-size:var(--text-xs)}}.hero__video-right-layout{grid-gap:var(--space-12);align-items:flex-start;display:grid;gap:var(--space-12);grid-template-columns:1fr 1fr;position:relative;z-index:1}.hero__content-left{display:flex;flex-direction:column;justify-content:flex-start;text-align:left}.hero__video-container-right{align-items:flex-start;display:flex;justify-content:center}.hero__actions-vertical{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6);max-width:400px}.hero--video-right .hero__content-left{margin:0;max-width:none}.hero--video-right .hero__pre-title{font-size:var(--text-3xl);margin-bottom:var(--space-3);margin-top:0}.hero--video-right .hero__title{font-size:var(--text-3xl);margin-bottom:var(--space-2)}.hero--video-right .hero__subtitle{font-size:var(--text-base);margin-bottom:0}.hero--video-right.section--xl{padding-top:var(--space-6)!important}@media (min-width:768px){.hero--video-right.section--xl{padding-top:var(--space-6)!important}}@media (max-width:1024px){.hero__video-right-layout{gap:var(--space-8);grid-template-columns:1fr;text-align:center}.hero__content-left{text-align:center}.hero__actions-vertical{margin-left:auto;margin-right:auto;max-width:500px}}@media (max-width:640px){.hero__video-top-layout{gap:var(--space-4)}.hero__actions-horizontal{gap:var(--space-3);grid-template-columns:1fr;margin-top:var(--space-4);max-width:400px}.hero__video-container-top{max-width:100%}.hero--video-top .hero__pre-title{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.hero--video-top .hero__title{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.hero--video-top .hero__subtitle{font-size:var(--text-xs)}.hero__video-right-layout{gap:var(--space-6)}.hero__actions-vertical{gap:var(--space-2);margin-top:var(--space-4);max-width:100%}.hero--video-right .hero__pre-title{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.hero--video-right .hero__title{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.hero--video-right .hero__subtitle{font-size:var(--text-sm)}}.hero__video-split-layout{display:flex;flex-direction:column;gap:var(--space-8);position:relative;z-index:1}.hero__split-top{grid-gap:var(--space-12);align-items:flex-start;display:grid;gap:var(--space-12);grid-template-columns:2fr 3fr}.hero__content-split{align-self:center;display:flex;flex-direction:column;justify-content:flex-start;text-align:left}.hero__video-container-split{align-items:flex-start;display:flex;justify-content:center}.hero__actions-split{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr);margin-left:auto;margin-right:auto;margin-top:var(--space-4);max-width:1000px}.hero--video-split .hero__content-split{margin:0;max-width:none}.hero--video-split .hero__pre-title{font-size:var(--text-3xl);margin-bottom:var(--space-3);margin-top:0}.hero--video-split .hero__title{font-size:var(--text-5xl);margin-bottom:var(--space-2)}.hero--video-split .hero__subtitle{font-size:var(--text-base);margin-bottom:0}.hero--video-split.section--xl{padding-top:var(--space-6)!important}@media (min-width:768px){.hero--video-split.section--xl{padding-top:var(--space-6)!important}}@media (max-width:1024px){.hero__split-top{gap:var(--space-6);grid-template-columns:1fr}.hero__content-split{text-align:left}.hero__actions-split{gap:var(--space-4);grid-template-columns:repeat(2,1fr);max-width:600px}}@media (max-width:640px){.hero__video-split-layout{gap:var(--space-6)}.hero__split-top{gap:var(--space-4)}.hero__actions-split{gap:var(--space-3);grid-template-columns:1fr;margin-top:var(--space-3);max-width:400px}.hero--video-split .hero__pre-title{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.hero--video-split .hero__title{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.hero--video-split .hero__subtitle{font-size:var(--text-sm)}}.free-value-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;padding:var(--space-6);position:relative;text-align:center;transition:all var(--transition-smooth)}.free-value-card:hover:not(.free-value-card--coming-soon){border-color:var(--primary-blue);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.free-value-card--coming-soon{cursor:not-allowed;opacity:.7}.free-value-card--coming-soon:hover{border-color:var(--surface-border);box-shadow:none;transform:none}.free-value-card__icon{display:block;font-size:3rem;margin-bottom:var(--space-4)}.free-value-card__title{color:var(--text-primary);font-size:var(--text-xl);font-weight:600;margin:0 0 var(--space-3) 0}.free-value-card__description{color:var(--text-secondary);flex-grow:1;font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-6) 0}.free-value-card__cta{margin-top:auto}.free-value-card__cta .cta-button{justify-content:center;width:100%}.free-value-card__coming-soon{background:var(--text-muted);border-radius:var(--radius-md);color:var(--surface);display:inline-block;font-size:var(--text-sm);font-weight:600;margin-top:auto;padding:var(--space-2) var(--space-4)}@media (max-width:768px){.free-value-card{padding:var(--space-5)}.free-value-card__icon{font-size:2.5rem;margin-bottom:var(--space-3)}.free-value-card__title{font-size:var(--text-lg)}}.compact-tool-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;min-height:200px;padding:var(--space-5);position:relative;text-align:center;transition:all var(--transition-smooth)}.compact-tool-card:hover:not(.compact-tool-card--coming-soon){border-color:var(--primary-blue);box-shadow:var(--shadow-md);transform:translateY(-2px)}.compact-tool-card--coming-soon{cursor:not-allowed;opacity:.7}.compact-tool-card--coming-soon:hover{border-color:var(--surface-border);box-shadow:none;transform:none}.compact-tool-card__header{align-items:center;display:flex;flex-direction:column;margin-bottom:var(--space-3)}.compact-tool-card__icon{display:block;font-size:2.5rem;margin-bottom:var(--space-2)}.compact-tool-card__title{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;line-height:1.2;margin:0}.compact-tool-card__description{color:var(--text-secondary);flex-grow:1;font-size:var(--text-sm);line-height:1.4;margin:0 0 var(--space-4) 0}.compact-tool-card__footer{margin-top:auto}.compact-tool-card__cta{justify-content:center;width:100%}.compact-tool-card__coming-soon{background:var(--text-muted);border-radius:var(--radius-sm);color:var(--surface);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;padding:var(--space-2) var(--space-3);text-transform:uppercase}@media (max-width:768px){.compact-tool-card{min-height:180px;padding:var(--space-4)}.compact-tool-card__icon{font-size:2rem;margin-bottom:var(--space-2)}.compact-tool-card__title{font-size:var(--text-base)}.compact-tool-card__description{font-size:var(--text-xs)}}.auth-container,.auth-page,.login-form-container,.register-form-container{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-brand{margin-bottom:2rem;text-align:center}.auth-brand h1{color:#fff;font-weight:700;margin-bottom:.5rem}.auth-brand p{color:#ffffffe6;margin:0}.auth-card,.login-form,.register-form{background:var(--background);border-radius:12px;box-shadow:0 20px 40px #0000001a;padding:3rem;width:100%}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h2{color:var(--text-primary);margin-bottom:.5rem}.auth-header p{color:var(--text-secondary);margin:0}.auth-form{margin-bottom:1.5rem}.auth-footer{text-align:center}.login-form h2,.register-form h2{color:var(--text-primary);margin-bottom:.5rem;text-align:center}.login-form p,.register-form p{color:var(--text-secondary);margin-bottom:2rem;text-align:center}.form-group label{color:var(--text-primary)}.form-group input,.form-group select{background:var(--background);border:2px solid var(--border);border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);outline:none}.form-group input:disabled,.form-group select:disabled{background-color:var(--surface);color:var(--text-secondary);cursor:not-allowed}.submit-btn,.submit-button{background:var(--primary-color);border:none;border-radius:8px;color:#fff;margin-bottom:1.5rem;transition:background-color .3s ease,transform .2s ease}.back-to-login-btn,.submit-btn,.submit-button{cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;width:100%}.back-to-login-btn{background:var(--surface);border:2px solid var(--border);border-radius:8px;color:var(--text-primary);transition:all .3s ease}.back-to-login-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.link-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:1rem;text-decoration:none;transition:color .3s ease}.link-btn:hover{color:#1d4ed8;text-decoration:underline}.submit-btn:hover:not(:disabled),.submit-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-2px)}.submit-btn:disabled,.submit-button:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:var(--error-color);margin-bottom:1.5rem;padding:1rem}.error-message ul{margin:0;padding-left:1.25rem}.error-message li{margin-bottom:.25rem}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.success-icon{font-size:2rem;margin-bottom:.5rem}.success-message p{color:#166534;margin:.25rem 0}.form-footer{color:var(--text-secondary);text-align:center}.form-footer p{margin-bottom:.5rem}.form-footer a{color:var(--primary-color);font-weight:500;text-decoration:none}.form-footer a:hover{text-decoration:underline}.loading-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.loading-spinner{color:var(--text-secondary);font-size:1.125rem}.unauthorized-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem;text-align:center}.unauthorized-container h2{color:var(--error-color);margin-bottom:1rem}.unauthorized-container p{color:var(--text-secondary)}.auth-logo{height:auto;margin-bottom:1rem;max-width:200px}.auth-card{max-width:500px;width:100%}.form-row{display:flex}.form-row .form-group{flex:1 1}.validation-message{display:block;font-size:.875rem;margin-top:.25rem}.validation-message.success{color:#10b981}.validation-message.error{color:#ef4444}.form-group input.valid{border-color:#10b981}.form-group input.invalid{border-color:#ef4444}.enrollment-info{background:#f8fafc;border-left:4px solid var(--primary-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.enrollment-info h3{color:var(--text-primary);margin-bottom:1rem;margin-top:0}.enrollment-info p{color:var(--text-secondary);margin:.5rem 0}@media (max-width:768px){.auth-page,.login-form-container,.register-form-container{padding:1rem}.auth-card,.login-form,.register-form{padding:2rem}.form-row{flex-direction:column;gap:0}}.tutoring-page{color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.6;margin:0;padding:0}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.header{background:#fff;border-bottom:1px solid #e5e7eb;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header .container{align-items:center;display:flex;height:64px;justify-content:space-between}.logo{color:#2563eb;font-size:1.5rem;font-weight:700;text-decoration:none}.desktop-nav{align-items:center;display:none;gap:2rem}.nav-button{background:none;border:none;color:#4b5563;cursor:pointer;font-size:1rem;padding:.5rem 0;transition:color .2s}.nav-button:hover{color:#2563eb}.mobile-menu-button{align-items:center;background:none;border:none;color:#4b5563;cursor:pointer;display:flex;font-size:1.5rem;height:44px;justify-content:center;width:44px}.mobile-menu{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;left:0;padding:1rem;position:absolute;right:0;top:100%}.mobile-nav-item{background:none;border:none;color:#4b5563;cursor:pointer;font-size:1rem;padding:.75rem 0;text-align:left;text-decoration:none;transition:color .2s}.mobile-nav-item:hover{color:#2563eb}.tutoring-hero{background:linear-gradient(135deg,#f8fafc,#f1f5f9 50%,#e2e8f0);overflow:hidden;padding:2rem 0 3rem;position:relative}.tutoring-hero:before{background:radial-gradient(600px circle at 20% 30%,#3b82f614 0,#0000 40%),radial-gradient(800px circle at 80% 70%,#6366f10f 0,#0000 40%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.tutoring-hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#6366f1);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:600;letter-spacing:.1em;margin:0 0 1rem;position:relative;text-align:center;text-transform:uppercase;z-index:1}.tutoring-hero h1{color:#1e293b;font-size:2.75rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem;position:relative;z-index:1}.tutoring-hero-center{text-align:center}.tutoring-hero-subtitle{color:#64748b;font-size:1.25rem;font-weight:500;margin:0 0 1.5rem;position:relative;z-index:1}.tutoring-hero-content{display:flex;flex-direction:column;gap:2rem;position:relative;z-index:1}.value-props{display:flex;flex-direction:column;gap:.75rem;max-width:400px;width:100%}.value-item{align-items:center;color:#374151;font-size:1rem;gap:.75rem;padding:.75rem}.pricing-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd9;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;display:flex;flex-direction:column;justify-content:space-between;max-width:260px;overflow:hidden;padding:1.25rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.pricing-card:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.pricing-card:hover{box-shadow:0 20px 40px #0000001f,0 8px 16px #0000000f;transform:translateY(-4px)}.price-container{align-items:center;display:flex;flex-direction:column;margin:0 0 .5rem}.original-price{font-size:.8rem;line-height:1;margin-bottom:-.5rem}.price{color:#1e40af;font-size:1.9rem;font-weight:700;letter-spacing:-.02em}.price-details{color:#64748b;font-size:.8rem;font-weight:500;line-height:1.3;margin:0 0 .3rem;padding:0 .75rem}.terms-note{color:#94a3b8;font-weight:400;margin-bottom:.3rem;margin-top:.2rem}.limited-note,.terms-note{font-size:.7rem;text-align:center}.limited-note{color:#f59e0b;font-weight:600;letter-spacing:.03em;margin:.3rem 0 .5rem;text-transform:uppercase}.card-btn-container{align-items:center;display:flex;flex-direction:column;margin-bottom:0;margin-top:auto;padding:0 .5rem}.cta-button{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;min-height:40px;padding:.6rem 1.2rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.cta-button.primary{background:#1e40af;box-shadow:0 4px 16px #1e40af40,0 2px 8px #1e40af26;color:#fff;overflow:hidden;position:relative}.cta-button.primary:before{background:linear-gradient(135deg,#ffffff1a,#0000 50%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.cta-button.primary:hover{background:#1d4ed8;box-shadow:0 8px 24px #1e40af59,0 4px 12px #1e40af40;transform:translateY(-2px)}.cta-button.primary:hover:before{opacity:1}.cta-button.secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #e2e8f0cc;box-shadow:0 2px 8px #0000000a;color:#475569}.cta-button.secondary:hover{background:#fffffff2;border-color:#cbd5e1cc;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.how-it-works{background:#fff;padding:4rem 0}.how-it-works h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 3rem;text-align:center}.steps{display:flex;flex-direction:column;gap:2rem}.step{align-items:flex-start;display:flex;gap:1rem}.step-number{align-items:center;background:#2563eb;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.step h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.step p{color:#6b7280;margin:0}.faq{background:#f8fafc;padding:4rem 0}.faq h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 3rem;text-align:center}.faq-list{display:flex;flex-direction:column;gap:.5rem}.faq-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;transition:all .2s ease}.faq-item:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.faq-question{align-items:center;background:none;border:none;color:#1a1a1a;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;padding:1rem 1.5rem;text-align:left;transition:background-color .2s ease;width:100%}.faq-question:hover{background:#f9fafb}.faq-question:focus{outline:2px solid #2563eb;outline-offset:-2px}.faq-icon{color:#6b7280;flex-shrink:0;font-size:.75rem;margin-left:1rem;transition:transform .2s ease}.faq-icon.open{transform:rotate(180deg)}.faq-answer{animation:slideDown .3s ease-out;padding:0 1.5rem 1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.faq-answer p{color:#6b7280;line-height:1.6;margin:0}.faq-answer ul{margin:1rem 0;padding-left:1.5rem}.faq-answer li{color:#6b7280;margin-bottom:.5rem}.faq-answer .highlight{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;color:#92400e;font-weight:600;margin:1rem 0;padding:.75rem}.faq-preview-container{position:relative}.faq-preview{display:flex;flex-direction:column;gap:.5rem;opacity:.5;pointer-events:none}.view-more-overlay{align-items:flex-end;background:linear-gradient(180deg,#f8fafc00,#f8fafcb3 40%,#f8fafcf2 80%,#f8fafc);bottom:0;display:flex;height:120px;justify-content:center;left:0;padding-bottom:1.5rem;position:absolute;right:0}.view-more-button{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:12px;box-shadow:0 8px 25px #2563eb4d;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:700;gap:.75rem;letter-spacing:.5px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.view-more-button:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);box-shadow:0 12px 35px #2563eb66;transform:translateY(-2px)}.view-more-button .arrow{font-size:.875rem;transition:transform .2s ease}.view-more-button .arrow.down{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1px)}}.view-less-container{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem;text-align:center}.view-less-button{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.view-less-button:hover{background:#e5e7eb;border-color:#9ca3af}.view-less-button .arrow.up{transform:rotate(180deg)}.faq-list.extended{animation:fadeInUp .5s ease-out;margin-top:.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.view-more-overlay{height:100px;padding-bottom:1rem}.view-more-button{font-size:.9rem;gap:.5rem;padding:.875rem 1.5rem}.faq-preview-container{margin-top:1rem}}.philosophy{background:#f8fafc;padding:4rem 0}.philosophy h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 3rem;text-align:center}.philosophy-intro{margin:0 auto 3rem;max-width:600px;text-align:center}.philosophy-intro p{color:#6b7280;line-height:1.6;margin:0 0 1rem}.philosophy-content{align-items:center;display:flex;flex-direction:column;gap:2.5rem;margin-bottom:3rem}.philosophy-footer{margin:0 auto;max-width:600px;text-align:center}.philosophy-footer p{color:#6b7280;line-height:1.6;margin:0}.philosophy-item{background:none;border:none;border-radius:0;margin-left:auto;margin-right:auto;max-width:600px;padding:0;position:relative;text-align:left;width:100%}.philosophy-item:not(:last-child):after{background:#e5e7eb;content:"";display:block;height:1px;margin:2rem auto 0;opacity:.7;width:60%}.philosophy-item h3{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:left}.philosophy-item p{color:#6b7280;font-size:1.1rem;margin:0;text-align:left}.referral-program{background:#fff;padding:4rem 0}.referral-program h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 3rem;text-align:center}.referral-hero{margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.referral-hero p{color:#6b7280;margin:0}.referral-benefits{display:flex;flex-direction:column;gap:2rem;margin:0 auto 3rem;max-width:600px}.benefit-card{align-items:flex-start;display:flex;gap:1rem}.benefit-card .step-number{align-items:center;background:#2563eb;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.benefit-card h4{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.benefit-card p{color:#6b7280;margin:0}.referral-examples{margin:0 auto;max-width:600px;text-align:center}.referral-examples h4{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.referral-examples ul{list-style:none;margin:0;padding:0}.referral-examples li{color:#6b7280;margin-bottom:.75rem}.pricing-details{background:#f8fafc;padding:4rem 0}.pricing-details h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 3rem;text-align:center}.pricing-intro{color:#6b7280;margin:0 auto 3rem;max-width:600px;text-align:center}.value-breakdown{margin:0 auto 3rem;max-width:700px}.value-breakdown h3{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin:0 0 2rem;text-align:center}.value-list{display:flex;flex-direction:column;gap:.5rem}.value-item{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;padding:.75rem 1rem}.checkmark{color:#059669;font-size:1.125rem;margin-top:.125rem}.value-item strong{color:#1a1a1a;display:block;font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.value-note{color:#6b7280;font-size:.9rem}.guarantee-highlight{margin:0 auto;max-width:600px;text-align:center}.guarantee-highlight h4{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.guarantee-highlight p{color:#6b7280;margin:0}.total-value{margin:0 auto;max-width:600px;text-align:center}.total-value h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.total-value p{color:#6b7280;margin:0 0 1rem}.savings-badge{background:#f3f4f6;border-radius:6px;color:#374151;display:inline-block;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.pricing-grid{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.pricing-card.main-offer{background:#f8fafc;border:2px solid #2563eb;border-radius:12px;padding:2rem}.pricing-header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:2rem;text-align:center}.pricing-header h3{color:#2563eb;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.price-display{flex-direction:column}.price{color:#2563eb;font-size:3rem;font-weight:900;margin:0}.price-note{color:#6b7280;font-size:.9rem}.pricing-features ul{list-style:none;margin:0;padding:0}.pricing-features li{color:#374151;padding:.5rem 0}.guarantee-badge{background:#10b981;border-radius:8px;color:#fff;margin-top:2rem;padding:1rem;text-align:center}.offer-comparison h3{color:#374151;font-size:1.25rem;font-weight:700;margin:0 0 1.5rem}.comparison-table{display:flex;flex-direction:column;gap:1rem}.comparison-row{grid-gap:1rem;align-items:center;background:#f8fafc;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr auto auto;padding:1rem}.guarantee-details h3{color:#374151;font-size:1.25rem;font-weight:700;margin:0 0 1.5rem}.guarantee-points{display:flex;flex-direction:column;gap:1.5rem}.guarantee-point{align-items:flex-start;display:flex;gap:1rem}.point-icon{flex-shrink:0;font-size:2rem}.guarantee-point h4{color:#1a1a1a;font-size:1.125rem;font-weight:700;margin:0 0 .5rem}.guarantee-point p{color:#6b7280;line-height:1.5;margin:0}.final-cta{background:#fff;padding:4rem 0;text-align:center}.final-cta h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 .75rem}.final-cta p{color:#6b7280;font-size:1.125rem;margin:0 0 2rem}.cta-buttons{align-items:center;display:flex;flex-direction:column;gap:1rem}.footer{background:#f8fafc;border-top:1px solid #e5e7eb;padding:2rem 0;text-align:center}.footer p{color:#6b7280;font-size:.9rem;margin:.25rem 0}.footer a{color:#2563eb;text-decoration:none}@media (min-width:768px){.container{padding:0 2rem}.desktop-nav{display:flex}.mobile-menu-button{display:none}.hero h1{font-size:3rem}.hero-content{align-items:center;flex-direction:column;gap:3rem;justify-content:center}.value-props{flex:1 1;max-width:none}.pricing-card{flex-shrink:0}.steps{margin:0 auto;max-width:600px}.faq-list{margin:0 auto;max-width:800px}.cta-buttons{flex-direction:row;justify-content:center}}@media (min-width:1024px){.hero{padding:4rem 0}.faq,.final-cta,.how-it-works{padding:5rem 0}.steps{flex-direction:row;gap:3rem}.step{flex:1 1;flex-direction:column;text-align:center}.faq-list{margin:0 auto;max-width:800px}.pricing-grid{gap:2rem;grid-template-columns:1fr}}@media (max-width:768px){.faq-question{font-size:.95rem;padding:.875rem 1rem}.faq-answer{padding:0 1rem .875rem}.faq-icon{font-size:.7rem}.faq-list{gap:.375rem}.pricing-grid,.referral-benefits{grid-template-columns:1fr}.pricing-grid{gap:2rem}.comparison-row{gap:.5rem;grid-template-columns:1fr;text-align:center}.philosophy-content{gap:1.5rem;grid-template-columns:1fr}.referral-benefits{flex-direction:column;gap:2rem}.value-item{padding:1rem}.value-item strong{font-size:1rem}}.pricing-cards-row{align-items:stretch;display:flex;flex-direction:row;gap:2rem;justify-content:center;margin-bottom:2rem}.pricing-card.free-card{border-color:#10b981}.pricing-card.free-card .price{color:#10b981}@media (max-width:768px){.pricing-cards-row{align-items:center;flex-direction:column;gap:2rem}.pricing-card{max-width:320px;padding:1.75rem 2rem}.hero{padding:1.5rem 0 2.5rem}}.value-cost{font-size:1.05rem!important;margin-left:1rem}@media (max-width:768px){.value-cost{font-size:1rem;margin-left:.5rem}}.navbar-logo{display:block;height:40px;margin:0;max-width:260px;object-fit:contain;vertical-align:middle;width:auto}.my-story{background:#fff;padding:4rem 0}.my-story h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 3rem;text-align:center}.about-content{align-items:flex-start;display:flex;gap:3rem;margin-top:2rem}.about-text{flex:1 1;margin-left:2rem;max-width:600px}.about-text p{color:#6b7280;line-height:1.6;margin-bottom:1.5rem}.about-image{flex:0 0 350px;text-align:center}.about-image img{border-radius:12px;box-shadow:0 10px 30px #0000001a;height:auto;width:100%}@media (max-width:768px){.about-content{flex-direction:column;gap:2rem}.about-text{margin-left:0}.about-image{flex:none;margin:0 auto;max-width:280px}}.community{background:#f8fafc;padding:4rem 0}.community h2{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 3rem;text-align:center}.community-intro{margin:0 auto 3rem;max-width:600px;text-align:center}.community-intro p{color:#6b7280;font-size:1.125rem;line-height:1.6;margin:0}.community-features{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.community-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;text-align:center;transition:all .2s ease}.community-item:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1a;transform:translateY(-2px)}.community-icon{display:block;font-size:2.5rem;margin-bottom:1rem}.community-item h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.community-item p{color:#6b7280;line-height:1.6;margin:0}.community-cta{background:#fff;border:2px solid #2563eb;border-radius:12px;margin:0 auto;max-width:500px;padding:2rem;text-align:center}.community-cta p{color:#374151;font-size:1.125rem;margin:0}@media (max-width:768px){.community-features{gap:1.5rem;grid-template-columns:1fr}.community-cta,.community-item{padding:1.5rem}}.guarantee-disclaimer{font-size:.85rem}.guarantee-disclaimer,.guarantee-disclaimer-2{color:#6b7280;margin-left:auto;margin-right:auto;margin-top:1.5rem;max-width:700px;text-align:center}.guarantee-disclaimer-2{font-size:.55rem}.value-list-table{display:flex;flex-direction:column;gap:0;margin:0 auto;width:100%}.value-row{align-items:flex-start;display:flex;flex-direction:row;padding:.18rem 0}.value-row:last-child{border-bottom:none}.checkmark{color:#2563eb}.checkmark,.golden-checkmark{flex-shrink:0;font-size:1.1rem;font-weight:700;margin-right:.75rem;margin-top:.2rem}.golden-checkmark{color:#e3aa00}.value-desc{flex:1 1 auto;min-width:0}.value-desc strong{color:#222;display:block;font-size:1.08rem;font-weight:700;margin-bottom:-.3rem}.value-note{color:#94a3b8;display:block;font-size:.6rem;font-weight:400;margin-bottom:-.25rem}.dark-color{color:#505050!important}.value-cost{align-self:center;color:#2563eb;flex-shrink:0;font-size:1.08rem;font-weight:700;margin-left:1.5rem;white-space:nowrap}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#0f172a,#1e293b 50%,#334155);bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gold-highlight{align-items:center;background:linear-gradient(90deg,#fffbe6,#fff0c2);border:.5px solid #f2c94c;border-radius:12px;box-shadow:0 2px 8px #f2c94c4d;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;margin-top:10px;padding:12px 16px;transform:translateX(-2%);width:100%;width:104%}.life-changing-label{color:#d4af37;font-size:.9rem;font-weight:600;margin-left:4px}.modal-container{animation:slideUp .3s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 32px 64px -12px #0006,0 0 0 1px #ffffff1a,inset 0 1px 0 #fff3;max-height:90vh;max-width:900px;overflow:hidden;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:#0000;box-shadow:0 2px 12px #1e40af12;justify-content:space-between;padding:2rem 2rem 1.5rem;position:relative;z-index:2}.modal-header,.modal-header-left{align-items:center;display:flex;flex-direction:row}.modal-header-left{gap:1.1rem}.enroll-logo{flex-shrink:0;height:auto;max-width:200px}.modal-title{color:#1e293b;flex:1 1;font-size:1.45rem;font-weight:800;letter-spacing:-.01em;text-align:center}.modal-title span{color:#1e293b;font-weight:600}.modal-close{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;background:#ffffffe6;border:1px solid #e2e8f099;border-radius:12px;box-shadow:0 4px 12px #0000001a;color:#64748b;display:flex;font-size:2rem;font-size:1.25rem;font-weight:400;height:40px;justify-content:center;position:absolute;right:16px;text-decoration:none;top:16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:40px}.modal-close:hover{background:#fff;box-shadow:0 6px 16px #00000026;color:#475569;transform:scale(1.05)}.modal-body{max-height:calc(90vh - 160px);overflow-y:auto;padding:0 2.5rem 2.5rem}.enrollment-info,.free-lesson-info{margin-bottom:2rem;margin-top:1.5rem}.lesson-summary,.program-summary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#f8fafce6,#f1f5f9cc);border:1px solid #e2e8f099;border-radius:20px;box-shadow:0 8px 32px #00000014,inset 0 1px 0 #fff3;padding:2rem}.lesson-summary h3,.program-summary h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.lesson-summary ul,.program-summary ul{list-style:none;margin:0 0 1.5rem;padding:0}.lesson-summary li,.program-summary li{color:#475569;font-size:.95rem;line-height:1.5;padding:.5rem 0}.lesson-summary li strong,.program-summary li strong{color:#1e293b}.price-display{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;justify-content:center;padding:1rem}.original-price{color:#94a3b8;font-size:1rem;font-weight:500;text-decoration:line-through}.current-price{color:#1e40af;font-size:1.5rem;font-weight:700}.savings{background:#1e40af;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.lesson-highlight{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;justify-content:center;padding:1rem}.free-badge{background:#1e40af;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.duration{color:#64748b;font-size:.95rem;font-weight:500}.enrollment-form,.free-lesson-form{display:flex;flex-direction:column;gap:2rem}.form-section{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #e2e8f099;border-radius:16px;box-shadow:0 4px 16px #0000000a;padding:2rem}.form-section h4{border-bottom:1px solid #f1f5f9;color:#1e293b;font-size:1.125rem;margin:0 0 1.25rem;padding-bottom:.75rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{background:#fff;border-radius:8px;font-family:inherit;font-size:.95rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a}.form-group textarea{min-height:80px;resize:vertical}.form-footer{border-top:1px solid #f1f5f9;margin-top:1rem;padding-top:1.5rem}.commitment-note,.guarantee-note{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem;text-align:center}.commitment-note strong,.guarantee-note strong{color:#92400e;display:block;font-size:1rem;margin-bottom:.5rem}.commitment-note p,.guarantee-note p{color:#78350f;font-size:.9rem;line-height:1.5;margin:0}.guarantee-note small{color:#a16207;display:block;font-size:.8rem;margin-top:.5rem}.form-actions{align-items:center}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;justify-content:center;letter-spacing:-.01em;line-height:1.3;min-height:48px;padding:.875rem 2rem;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:#1e40af;box-shadow:0 4px 16px #1e40af40,0 2px 8px #1e40af26}.btn-primary:hover{background:#1d4ed8;box-shadow:0 8px 24px #1e40af59,0 4px 12px #1e40af40;transform:translateY(-2px)}.btn-secondary{background:#fff;box-shadow:0 2px 8px #0000000a}.btn-secondary:hover{background:#f8fafc;border-color:#9ca3af;box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.btn-primary.disabled,.btn-primary:disabled{cursor:not-allowed!important;opacity:.6!important}.btn-primary.disabled,.btn-primary.disabled:hover,.btn-primary:disabled,.btn-primary:disabled:hover{background:#9ca3af!important;box-shadow:none!important;color:#6b7280!important;transform:none!important}.btn-secondary.disabled,.btn-secondary:disabled{cursor:not-allowed!important;opacity:.6!important}.btn-secondary.disabled,.btn-secondary.disabled:hover,.btn-secondary:disabled,.btn-secondary:disabled:hover{background:#f3f4f6!important;border-color:#e5e7eb!important;box-shadow:none!important;color:#9ca3af!important;transform:none!important}@media (max-width:768px){.modal-overlay{padding:.5rem}.modal-container{border-radius:20px;max-height:95vh;max-width:100%}.modal-header{flex-direction:column;gap:1rem;padding:2rem 2rem 1.25rem;text-align:center}.modal-header .logo{height:40px}.modal-header h2{font-size:1.5rem}.modal-close{font-size:1.125rem;height:40px;right:2rem;top:2rem;width:40px}.modal-body{padding:0 2rem 2rem}.form-section,.lesson-summary,.program-summary{padding:1.5rem}.form-row{gap:.75rem;grid-template-columns:1fr}.lesson-highlight,.price-display{flex-direction:column;gap:.75rem}.form-actions{flex-direction:column-reverse;gap:.75rem}.btn-primary,.btn-secondary{padding:1rem 1.5rem;width:100%}}@media (max-width:480px){.modal-header h2{font-size:1.25rem;line-height:1.4}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:.625rem}}.tutoring-dashboard{background-color:#f0f2f5;display:grid;grid-template-columns:240px 1fr 300px;height:100vh;overflow:hidden}.left-sidebar{background-color:#fff;border-right:1px solid #e0e0e0;padding:2rem}.left-sidebar .logo img{margin-bottom:2rem;width:100%}.left-sidebar nav ul{list-style:none;margin:0;padding:0}.left-sidebar nav ul li a{border-radius:8px;color:#4a4a4a;display:block;font-weight:500;margin-bottom:.5rem;padding:1rem;text-decoration:none}.left-sidebar nav ul li a.active,.left-sidebar nav ul li a:hover{background-color:#e8f0fe;color:#1a73e8}.main-content{-ms-overflow-style:none;overflow-y:auto;padding:2rem;scrollbar-width:none}.main-content::-webkit-scrollbar{display:none}.dsb-lesson-header{background:var(--primary-color);border-radius:16px;box-shadow:0 2px 8px #0000001a;color:#fff;margin:-2rem -.5rem 2rem;padding:1.75rem 2.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dsb-lesson-details{color:#ffffffd9;font-size:.9rem;font-weight:500;justify-content:space-between;line-height:1.4;margin-bottom:.5rem}.dsb-lesson-details,.dsb-lesson-details-left,.dsb-lesson-details-right{align-items:center;display:flex}.dsb-section-name{color:#fffffff2;font-weight:600}.dsb-unit-name{font-weight:500;margin-left:1rem}.dsb-lesson-label{color:#ffffffe6;font-weight:500}.dsb-lesson-title{color:#fff;font-size:1.5rem;font-weight:600;line-height:1.3;margin:0}.ss-lesson-path{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:500px;min-height:80vh;padding:3rem 2rem;position:relative;transform:translateX(0)}.ss-lesson{margin:1.5rem 0;z-index:1}.dsb-lesson-wrapper,.ss-lesson{cursor:pointer;position:relative}.dsb-lesson-wrapper{height:80px;margin:0 auto 1rem;transition:transform .2s ease;width:80px}.dsb-lesson-wrapper:hover{transform:translateY(-3px)}.dsb-lesson-node{align-items:center;background:var(--primary-color);display:flex;justify-content:center;top:0;z-index:1}.dsb-lesson-back-circle,.dsb-lesson-node{border-radius:50%;height:70px;left:0;position:absolute;width:80px}.dsb-lesson-back-circle{background:color-mix(in srgb,var(--primary-color) 70%,#000);top:5px;z-index:0}.dsb-start-button{background:var(--primary-color);border-radius:20px;font-size:.8rem;left:50%;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;top:-45px;transform:translateX(-50%);z-index:10}.dsb-lesson-content,.dsb-start-button{color:#fff;font-weight:700;position:absolute}.dsb-lesson-content{align-items:center;display:flex;height:100%;justify-content:center;left:0;top:0;width:100%;z-index:2}.dsb-lesson-number{font-size:1.2rem;font-weight:700}.dsb-lesson-icon,.dsb-lesson-number{color:#fff;line-height:1;margin:0;padding:0}.dsb-lesson-icon{align-items:center;display:flex;font-size:1.4rem;justify-content:center}.chest-icon{height:90px;left:7px;object-fit:contain;position:relative;top:-15px;transition:transform .3s ease;width:90px}.chest-icon.flipped{left:-7px;transform:scaleX(-1)}.ss-lesson.available .dsb-lesson-node{background:var(--primary-color)}.ss-lesson.available .dsb-lesson-back-circle{background:color-mix(in srgb,var(--primary-color) 70%,#000)}.ss-lesson.available .dsb-lesson-node.checkpoint{background:#f59e0b}.ss-lesson.available .dsb-lesson-back-circle.checkpoint{background:color-mix(in srgb,#f59e0b 70%,#000)}.ss-lesson.completed .dsb-lesson-node.checkpoint{background:#f59e0b}.ss-lesson.completed .dsb-lesson-back-circle.checkpoint{background:color-mix(in srgb,#f59e0b 70%,#000)}.ss-lesson.locked .dsb-lesson-node.checkpoint{background:#f59e0b}.ss-lesson.locked .dsb-lesson-back-circle.checkpoint{background:color-mix(in srgb,#f59e0b 70%,#000)}.ss-lesson.completed .dsb-lesson-node{background:var(--secondary-color)}.ss-lesson.completed .dsb-lesson-back-circle{background:color-mix(in srgb,var(--secondary-color) 70%,#000)}.ss-lesson.locked{cursor:not-allowed;opacity:.6}.ss-lesson.locked .dsb-lesson-node{background:var(--text-secondary)}.ss-lesson.locked .dsb-lesson-back-circle{background:color-mix(in srgb,var(--text-secondary) 70%,#000)}.ss-lesson.locked:hover .dsb-lesson-node{transform:none}.ss-lesson.selected:before{background:#6b728033;border:3px solid var(--text-secondary);border-radius:50%;content:"";height:100px;left:50%;pointer-events:none;position:absolute;top:45%;transform:translate(-50%,-50%);width:100px;z-index:-1}.dsb-unit-break{align-items:center;display:flex;justify-content:center;margin:2rem 0 1rem;position:relative;width:100%}.dsb-unit-break:before{color:#9ca3af;content:"—————————————————————————————————";font-size:1rem;left:50%;opacity:.5;position:absolute;transform:translate(-50%,-80%);white-space:nowrap;z-index:0}.dsb-unit-title{background:#f0f2f5;color:#6b7280;font-size:.9rem;font-weight:500;letter-spacing:.5px;padding:.5rem 2rem;position:relative;text-align:center;transform:translateY(-20px);z-index:1}.dsb-section-selector-btn{background:#ffffff26;border:1px solid #ffffff4d;border-radius:15px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;margin-right:1rem;padding:.5rem 1rem;transition:all .2s ease}.dsb-section-selector-btn:hover{background:#ffffff40;border-color:#ffffff80}.dsb-section-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.dsb-section-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:800px;overflow:hidden;width:90%}.dsb-section-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem 2rem}.dsb-section-modal-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.dsb-section-modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:.5rem}.dsb-section-modal-close:hover{background:#f3f4f6;color:#374151}.dsb-section-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));max-height:60vh;overflow-y:auto;padding:1.5rem}.dsb-section-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:1.5rem;transition:all .2s ease}.dsb-section-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.dsb-section-card.current{background:#f0f9ff;border-color:var(--primary-color)}.dsb-section-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.dsb-section-card-header h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.dsb-section-difficulty{background:var(--primary-color);border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.dsb-section-description{color:#6b7280;font-size:.9rem;line-height:1.4;margin:0 0 1rem}.dsb-section-card-footer{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}.dsb-section-subject{color:var(--primary-color);font-weight:500}.dsb-section-time{color:#6b7280;font-weight:500}@media (max-width:768px){.tutoring-dashboard{grid-template-columns:1fr;grid-template-rows:auto 1fr}.left-sidebar,.right-sidebar{display:none}.ss-lesson-path{padding:2rem 1rem;transform:none}.dsb-lesson-node{height:52px;left:10px;top:14px;width:60px}.dsb-lesson-back-circle{height:52px;left:10px;top:17px;width:60px}.ss-lesson.selected:before{height:80px;top:45%;transform:translate(-50%,-50%);width:80px}.dsb-lesson-number{font-size:1rem}.dsb-lesson-icon{font-size:1.2rem}.chest-icon{height:40px;width:40px}}.right-sidebar{background-color:#fff;border-left:1px solid #e0e0e0;padding:2rem}.dsb-stats-container{padding:1.25rem}.dsb-stats-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem}.dsb-stats-header h2{color:#374151;font-size:1.25rem;font-weight:600;margin:0}.dsb-progress-circle{position:relative}.dsb-stat-item{align-items:center;background:#f9fafb;border-left:3px solid var(--primary-color);border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;margin-bottom:.5rem;min-height:auto;padding:.75rem 1rem;transition:all .2s ease}.dsb-stat-item:hover{background:#f3f4f6;box-shadow:0 2px 4px #0000001a;transform:translateX(2px)}.dsb-stat-icon{flex-shrink:0;font-size:1.25rem;margin-right:.75rem;text-align:center;width:1.5rem}.dsb-stat-content{flex:1 1;min-width:0}.dsb-stat-label{color:#6b7280;font-size:.875rem;font-weight:500;line-height:1.2;margin-bottom:.125rem}.dsb-stat-value{color:#111827;font-size:1rem;font-weight:500;line-height:1.2}.dsb-daily-progress-bar{background:#e5e7eb;border-radius:2px;height:4px;margin-top:.375rem;overflow:hidden;width:100%}.dsb-daily-progress-fill{background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:2px;height:100%;transition:width .5s ease}.dsb-stat-item.dsb-streak{border-left-color:#f59e0b}.dsb-stat-item.dsb-gems{border-left-color:#8b5cf6}.dsb-stat-item.dsb-daily-goal{border-left-color:#ef4444}.dsb-stat-item.dsb-tutor{border-left-color:#06b6d4}.dsb-stat-item.dsb-session{border-left-color:#84cc16}.lm-lesson-manager{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.lm-lesson-manager-loading{color:#64748b;padding:4rem;text-align:center}.lm-lesson-manager-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0;padding:2rem}.lm-lesson-manager-header h2{color:#1e293b;font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.lm-lesson-manager-header p{color:#64748b;margin:0}.lm-lesson-manager-content{display:flex;min-height:600px}.lm-sections-sidebar{background:#f8fafc;border-right:1px solid #e2e8f0;overflow-y:auto;width:300px}.lm-sections-sidebar h3{border-bottom:1px solid #e2e8f0;color:#374151;font-size:1.1rem;font-weight:600;margin:0;padding:1.5rem}.lm-sections-list{padding:1rem}.lm-section-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;margin-bottom:.75rem;padding:1rem;transition:all .2s ease}.lm-section-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a;transform:translateY(-1px)}.lm-section-item.active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626}.lm-section-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:.5rem}.lm-section-header h4{color:#1e293b;font-size:1rem;font-weight:600;margin:0}.lm-section-subject{background:#3b82f6;border-radius:4px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.lm-section-description{color:#64748b;font-size:.875rem;line-height:1.4;margin:0}.lm-main-content{flex:1 1;overflow-y:auto;padding:2rem}.lm-empty-selection{color:#64748b;padding:4rem 2rem;text-align:center}.lm-empty-selection h3{color:#374151;margin:0 0 1rem}.lm-empty-state{color:#9ca3af;font-style:italic;padding:2rem;text-align:center}.lm-units-section{margin-bottom:3rem}.lm-units-section h3{color:#1e293b;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.lm-units-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.lm-unit-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:1.5rem;transition:all .2s ease}.lm-unit-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.lm-unit-card.active{background:#eff6ff;border-color:#3b82f6;box-shadow:0 44px 12px #3b82f626}.lm-unit-card h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.lm-unit-card p{color:#64748b;font-size:.875rem;line-height:1.4;margin:0 0 1rem}.lm-unit-meta{color:#9ca3af;display:flex;font-size:.75rem;font-weight:500;gap:1rem}.lm-lessons-section h3{color:#1e293b;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.lm-lessons-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.lm-lessons-list{display:flex;flex-direction:column;gap:1rem}.lm-lesson-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .2s ease}.lm-lesson-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.lm-lesson-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:.75rem}.lm-lesson-header h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0}.lm-lesson-actions{display:flex;gap:.5rem}.lm-lesson-description{color:#64748b;line-height:1.4;margin:0 0 1rem}.lm-lesson-meta{color:#9ca3af;display:flex;font-size:.75rem;font-weight:500;gap:1rem}.btn{padding:.5rem 1rem}.lm-lesson-title-with-handle{align-items:center;display:flex;gap:.75rem}.lm-drag-handle{font-size:1.2rem}.lm-lesson-card.dragging{background:#eff6ff;border-color:#3b82f6;box-shadow:0 8px 24px #00000026;opacity:.8;transform:rotate(2deg)}.lm-lessons-list.dragging-over{background:#f8fafc;border-radius:8px;margin:-.5rem;padding:.5rem}.lm-unit-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.lm-unit-drag-handle{position:absolute;right:.75rem;top:.75rem;z-index:1}.lm-unit-card{position:relative}.lm-unit-card.dragging{background:#eff6ff;border-color:#3b82f6;box-shadow:0 8px 24px #00000026;opacity:.8;transform:rotate(1deg) scale(1.02)}.lm-units-grid.dragging-over{background:#f8fafc;border-radius:8px;margin:-.5rem;padding:.5rem}.section-manager{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-manager-loading{color:#64748b;padding:4rem;text-align:center}.section-manager-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:2rem}.section-manager-header h2{color:#1e293b;font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.section-manager-header p{color:#64748b;margin:0}.empty-state p{margin:0 0 2rem}.sections-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));padding:2rem}.section-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease}.section-card:hover{border-color:#3b82f6;box-shadow:0 8px 25px #3b82f61a;transform:translateY(-2px)}.section-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.section-card-header h3{color:#1e293b;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.section-subject{background:#3b82f6;border-radius:6px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.section-actions{display:flex;gap:.5rem}.section-description{color:#64748b;line-height:1.5;margin:0 0 1rem}.section-meta{display:flex;flex-wrap:wrap;font-size:.75rem;font-weight:500;gap:.75rem}.section-meta span{background:#f1f5f9;border-radius:4px;color:#475569;padding:.25rem .5rem}.section-difficulty{background:#fef3c7!important;color:#92400e!important}.section-hours{background:#ddd6fe!important;color:#5b21b6!important}.section-order{background:#ecfdf5!important;color:#065f46!important}.section-status.published{background:#dcfce7!important;color:#166534!important}.section-status.draft{background:#fee2e2!important;color:#991b1b!important}.section-form{max-height:calc(90vh - 120px);overflow-y:auto;padding:2rem}.section-title-with-handle{align-items:flex-start;display:flex;gap:.75rem}.section-drag-handle{border-radius:4px;color:#9ca3af;cursor:grab;font-size:1.2rem;margin-top:.1rem;padding:.25rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.section-drag-handle:hover{background:#f1f5f9;color:#3b82f6}.section-drag-handle:active{cursor:grabbing}.section-card.dragging{background:#eff6ff;border-color:#3b82f6;box-shadow:0 8px 24px #00000026;opacity:.8;transform:rotate(1deg) scale(1.02)}.sections-grid.dragging-over{background:#f8fafc;border-radius:8px;margin:-.5rem;padding:.5rem}.unit-manager{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.unit-manager-loading{color:#64748b;padding:4rem;text-align:center}.unit-manager-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:2rem}.unit-manager-header h2{color:#1e293b;font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.unit-manager-header p{color:#64748b;margin:0}.header-actions{align-items:center;display:flex;gap:1rem}.section-selector{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;min-width:200px;padding:.75rem 1rem}.section-selector:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.selected-section-info{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:1.5rem 2rem}.selected-section-info h3{color:#374151;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.selected-section-info p{color:#64748b;margin:0}.empty-state{color:#64748b;padding:4rem 2rem}.empty-state h3{color:#374151;font-size:1.5rem;margin:0 0 1rem}.empty-state p{font-size:1.1rem;margin:0 0 1rem}.units-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:2rem}.unit-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;transition:all .2s ease}.unit-card:hover{border-color:#3b82f6;box-shadow:0 8px 25px #3b82f61a;transform:translateY(-2px)}.unit-card-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.unit-card-header h3{color:#1e293b;font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.unit-order{background:#10b981;border-radius:6px;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.unit-actions{display:flex;gap:.5rem}.unit-description{color:#64748b;line-height:1.5;margin:0 0 1rem}.unit-meta{display:flex;flex-wrap:wrap;font-size:.75rem;font-weight:500;gap:.75rem}.unit-meta span{background:#f1f5f9;border-radius:4px;color:#475569;padding:.25rem .5rem}.unit-hours{background:#ddd6fe!important;color:#5b21b6!important}.unit-status.published{background:#dcfce7!important;color:#166534!important}.unit-status.draft{background:#fee2e2!important;color:#991b1b!important}.form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.form-modal{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;max-width:500px;overflow:hidden;width:90vw}.form-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.form-header h3{color:#1e293b;font-size:1.3rem;font-weight:600;margin:0}.close-btn{color:#64748b;font-size:1.5rem;padding:.25rem}.unit-form{max-height:calc(90vh - 120px);overflow-y:auto;padding:2rem}.form-group input,.form-group select,.form-group textarea{transition:border-color .2s ease}.selected-section{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#374151;font-weight:500;padding:.75rem}.form-actions{margin-top:1.5rem}.btn-sm{padding:.375rem .75rem}.unit-title-with-handle{align-items:flex-start;display:flex;gap:.75rem}.unit-drag-handle{border-radius:4px;color:#9ca3af;cursor:grab;font-size:1.2rem;margin-top:.1rem;padding:.25rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.unit-drag-handle:hover{background:#f1f5f9;color:#3b82f6}.unit-drag-handle:active{cursor:grabbing}.unit-card.dragging{background:#eff6ff;border-color:#3b82f6;box-shadow:0 8px 24px #00000026;opacity:.8;transform:rotate(1deg) scale(1.02)}.units-grid.dragging-over{background:#f8fafc;border-radius:8px;margin:-.5rem;padding:.5rem}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.question-display{background:#fff;color:#1f2937;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:space-between;max-height:100%;overflow:hidden;position:relative;width:100%}.question-header{background:#fff;flex-direction:column;flex-shrink:0;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.progress-bar{background:#e5e7eb;border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden;width:100%}.progress-fill{background:#3b82f6;height:100%;transition:width .3s ease}.question-counter{color:#6b7280;font-size:.875rem;font-weight:500;text-align:center;white-space:nowrap;width:100%}.question-text{display:flex;flex:1 1;flex-direction:column;justify-content:center;margin-bottom:2rem;text-align:center}.question-text h2{color:#1f2937;font-size:1.5rem;font-weight:600;line-height:1.3;margin:0 8rem 1rem}.question-image{border-radius:8px;margin:1rem auto;max-height:200px;max-width:100%}.answer-section{margin-bottom:2rem}.multiple-choice.columns-1,.multiple-selection.columns-1,.true-false{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:500px}.multiple-choice.columns-2,.multiple-choice.columns-3,.multiple-choice.columns-4,.multiple-choice.columns-5,.multiple-choice.columns-6,.multiple-selection.columns-2,.multiple-selection.columns-3,.multiple-selection.columns-4,.multiple-selection.columns-5,.multiple-selection.columns-6{grid-gap:1rem;align-items:start;display:grid;gap:1rem;margin:0 auto}.multiple-choice.columns-2{grid-template-columns:repeat(2,1fr);max-width:700px}.multiple-choice.columns-3{grid-template-columns:repeat(3,1fr);max-width:900px}.multiple-choice.columns-4{grid-template-columns:repeat(4,1fr);max-width:1100px}.multiple-choice.columns-5{grid-template-columns:repeat(5,1fr);max-width:1300px}.multiple-choice.columns-6{grid-template-columns:repeat(6,1fr);max-width:1500px}.multiple-selection.columns-2{grid-template-columns:repeat(2,1fr);max-width:700px}.multiple-selection.columns-3{grid-template-columns:repeat(3,1fr);max-width:900px}.multiple-selection.columns-4{grid-template-columns:repeat(4,1fr);max-width:1100px}.multiple-selection.columns-5{grid-template-columns:repeat(5,1fr);max-width:1300px}.multiple-selection.columns-6{grid-template-columns:repeat(6,1fr);max-width:1500px}.multiple-selection.columns-2 .selection-instructions,.multiple-selection.columns-3 .selection-instructions,.multiple-selection.columns-4 .selection-instructions,.multiple-selection.columns-5 .selection-instructions,.multiple-selection.columns-6 .selection-instructions{grid-column:1/-1;margin-bottom:0}.multiple-choice.columns-2 .option-label.full-width,.multiple-choice.columns-3 .option-label.full-width,.multiple-choice.columns-4 .option-label.full-width,.multiple-choice.columns-5 .option-label.full-width,.multiple-choice.columns-6 .option-label.full-width,.multiple-selection.columns-2 .option-label.full-width,.multiple-selection.columns-3 .option-label.full-width,.multiple-selection.columns-4 .option-label.full-width,.multiple-selection.columns-5 .option-label.full-width,.multiple-selection.columns-6 .option-label.full-width{grid-column:1/-1}.multiple-choice.has-incomplete-row,.multiple-selection.has-incomplete-row{justify-items:center}.option-label{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;color:#1f2937;cursor:pointer;display:flex;font-size:1.1rem;padding:1rem 1.5rem;transition:all .2s ease}.option-label:hover{background:#f3f4f6;border-color:#3b82f6}.option-label input[type=checkbox],.option-label input[type=radio]{margin-right:1rem;transform:scale(1.2)}.option-label input[type=checkbox]:checked+.option-text,.option-label input[type=radio]:checked+.option-text{font-weight:600}.no-options{color:#6b7280;font-style:italic;text-align:center}.short-answer{margin:0 auto;max-width:400px}.answer-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;color:#1f2937;font-size:1.1rem;padding:1rem 1.5rem;text-align:center;width:100%}.answer-input::placeholder{color:#9ca3af}.answer-input:focus{background:#fff;border-color:#3b82f6;outline:none}.essay-answer{margin:0 auto;max-width:600px}.essay-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;color:#1f2937;font-size:1rem;min-height:150px;padding:1rem 1.5rem;resize:vertical;width:100%}.essay-input::placeholder{color:#9ca3af}.essay-input:focus{background:#fff;border-color:#3b82f6;outline:none}.word-count{color:#6b7280;font-size:.875rem;margin-top:.5rem;text-align:right}.concept-step-content{display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:1rem;text-align:center}.concept-step-indicator{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:1rem}.concept-text{display:flex;flex:1 1;flex-direction:column;justify-content:center;margin-bottom:2rem;min-height:0}.concept-text h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.concept-step-text{background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px;color:#1f2937;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:800px;padding:2rem}.concept-navigation{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;bottom:1rem;flex-shrink:0;gap:1rem;justify-content:space-between;margin:1rem;min-height:60px;padding:1rem;position:-webkit-sticky;position:sticky;z-index:20}.back-btn,.concept-navigation{align-items:center;display:flex!important}.back-btn{background:#f3f4f6!important;border:2px solid #e5e7eb!important;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#6b7280!important;font-size:1.5rem;font-weight:600;height:48px;justify-content:center;padding:0;visibility:visible!important;width:48px}.back-btn:hover:not(:disabled){background:#e5e7eb!important;border-color:#3b82f6!important;color:#3b82f6!important;transform:translateY(-1px)}.back-btn:disabled{background:#f9fafb!important;border-color:#e5e7eb!important;color:#d1d5db!important;cursor:not-allowed;display:flex!important;opacity:.4!important;transform:none;visibility:visible!important}.concept-continue-btn{align-items:center;background:#3b82f6;border:2px solid #3b82f6;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;font-weight:600;height:48px;justify-content:center;padding:0;transition:all .2s ease;width:48px}.concept-continue-btn:hover{background:#2563eb;border-color:#2563eb;transform:translateY(-1px)}.go-back-btn{align-items:center;background:#f3f4f6;border:2px solid #e5e7eb;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#6b7280;cursor:pointer;display:flex;font-size:1.2rem;font-weight:500;height:40px;justify-content:center;left:1rem;padding:0;position:absolute;top:5rem;transition:all .2s ease;width:40px;z-index:10}.go-back-btn:hover{background:#e5e7eb;border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px)}.question-content-wrapper{flex:1 1;margin-bottom:1rem;overflow-y:auto;padding:0 1rem}.submit-section{background:#fff;border-top:1px solid #e5e7eb;bottom:0;flex-shrink:0;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;text-align:center;z-index:20}.submit-btn{background:#3b82f6;border:2px solid #3b82f6;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:150px;padding:1rem 2rem;transition:all .2s ease}.submit-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px)}.submit-btn:disabled{background:#d1d5db;border-color:#d1d5db;cursor:not-allowed;opacity:.5;transform:none}.explanation-section{background:#fff;border-top:1px solid #e5e7eb;bottom:0;display:flex;flex-direction:column;flex-shrink:0;max-height:180px;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;text-align:left;transition:max-height .3s ease;z-index:20}.explanation-section.expanded{max-height:450px}.explanation-content{flex:1 1;overflow-y:auto;padding:.5rem}.inline-toggle-btn{background:none;border:none;color:#3b82f6;cursor:pointer;display:block;font-size:.875rem;margin-top:.5rem;padding:0;text-align:left;text-decoration:underline;transition:all .2s ease}.inline-toggle-btn:hover{color:#2563eb;text-decoration:none}.result-banner{align-items:center;border-radius:12px;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem}.result-banner.correct{background:#dcfce7;border:2px solid #10b981}.result-banner.incorrect{background:#fee2e2;border:2px solid #ef4444}.result-icon{font-size:2rem;font-weight:700}.result-banner.correct .result-icon{color:#10b981}.result-banner.incorrect .result-icon{color:#ef4444}.result-content{align-items:center;display:flex;flex:1 1;gap:1rem}.result-actions{flex-shrink:0}.result-text h3{font-size:1.3rem;margin:0 0 .5rem}.result-text .explanation-text{line-height:1.5;margin:0}.video-solution{background:#f3f4f6;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.video-solution h4{color:#374151;margin:0 0 .5rem}.video-solution a{color:#3b82f6;text-decoration:none}.video-solution a:hover{text-decoration:underline}.hints-section{background:#fef3c7;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.hints-section h4{color:#92400e;margin:0 0 .5rem}.hints-section ul{margin:0;padding-left:1.5rem}.hints-section li{color:#92400e;margin-bottom:.25rem}.next-section{text-align:center}.next-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.next-btn:hover{background:#2563eb;transform:translateY(-2px)}.question-placeholder{align-items:center;background:#ffffff1a;border:2px dashed #ffffff4d;border-radius:12px;display:flex;flex:1 1;justify-content:center;margin:2rem 0;padding:3rem;text-align:center}.question-placeholder p{color:#ffffffb3;font-style:italic;margin:0}@media (max-width:768px){.question-display{min-height:100vh;padding:1rem}.question-content-wrapper{margin-bottom:.5rem;padding:0 .5rem}.question-text h2{font-size:1.2rem;margin:0 1rem 1rem}.multiple-choice,.multiple-selection.list-layout,.true-false{gap:.75rem}.multiple-selection.grid-layout{grid-template-columns:1fr;max-width:500px}.multiple-selection.grid-layout .option-label.full-width{grid-column:1}.option-label{font-size:.95rem;padding:.75rem 1rem}.concept-step-content{padding:.5rem}.concept-step-text{font-size:.95rem;margin:0 auto;padding:1rem}.concept-navigation{bottom:.5rem;margin:.5rem}.submit-section{padding:.5rem 1rem}.explanation-section{max-height:140px;padding:.5rem}.explanation-section.expanded{max-height:350px}.explanation-content{padding:.25rem}}.selection-instructions{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:1rem;font-weight:500;margin-bottom:1rem;padding:.75rem;text-align:center}.katex-display{margin:1rem 0!important;text-align:center!important}.katex,.katex-display{max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important}.concept-step-text .katex-display,.question-text .katex-display{box-sizing:border-box!important;max-width:calc(100vw - 4rem)!important}@media (max-width:768px){.concept-step-text .katex-display,.question-text .katex-display{max-width:calc(100vw - 2rem)!important}}code[class*=language-],pre[class*=language-]{word-wrap:normal;background:none;color:#000;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;-webkit-hyphens:none;hyphens:none;line-height:1.5;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-break:normal;word-spacing:normal}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{background:#b3d4fc;text-shadow:none}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:#ffffff80;color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.dsl-set-name-section{border-bottom:1px solid #e5e7eb;padding:0 24px 16px}.dsl-set-name-section label{color:#1f2937;display:block;font-size:.9rem;margin-bottom:8px}.dsl-set-name-input{border:1px solid #d1d5db;border-radius:4px;font-size:.9rem;margin-top:4px;padding:8px 12px;width:100%}.dsl-set-name-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.dsl-editor-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1002}.dsl-editor-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:90%}.dsl-editor-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:20px 30px}.dsl-editor-header h3{color:#495057;font-size:1.25rem;font-weight:600;margin:0}.dsl-close-btn{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:24px;padding:5px;transition:background-color .2s}.dsl-close-btn:hover{background:#e9ecef;color:#495057}.dsl-editor-content{gap:20px;overflow-y:auto}.dsl-editor-content,.dsl-editor-input{display:flex;flex:1 1;flex-direction:column}.dsl-editor-input{padding:20px}.dsl-input-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.available-variables{background:#e9ecef;border-radius:4px;color:#6c757d;font-size:12px;padding:4px 8px}.dsl-input-header h4{color:#495057;font-size:1.1rem;font-weight:600;margin:0}.dsl-editor-wrapper{display:flex;flex:1 1;flex-direction:column;gap:15px;width:100%}.dsl-code-editor{color:#495057;flex:1 1;font-family:Monaco,Consolas,Courier New,monospace;font-size:14px;line-height:1.5;tab-size:2;width:100%}.dsl-code-editor pre,.dsl-code-editor textarea{background:#0000!important;border:none!important;outline:none!important}.dsl-code-editor .token.keyword{color:#06c!important;font-weight:700!important}.dsl-code-editor .token.function{color:#2a2!important;font-weight:600!important}.dsl-code-editor .token.variable{color:#c60!important;font-weight:500!important}.dsl-code-editor .token.number{color:#c00!important;font-weight:400!important}.dsl-code-editor .token.string{color:#93c!important;font-weight:400!important}.dsl-code-editor .token.punctuation{color:#666!important}.dsl-code-editor::placeholder{color:#6c757d;font-style:italic}.dsl-syntax-guide{background:#e8f4fd;border:1px solid #b3d9ff;border-radius:6px;font-size:13px;padding:12px}.dsl-syntax-guide h5{color:#0056b3;font-size:14px;font-weight:600;margin:0 0 8px}.syntax-examples{display:flex;flex-direction:column;gap:4px}.syntax-examples div{color:#495057;font-family:Monaco,Consolas,Courier New,monospace;font-size:12px}.syntax-examples code.keyword{background:none;color:#007bff;font-weight:600;padding:0}.syntax-examples code.operation{background:none;color:#28a745;font-weight:500;padding:0}.syntax-examples code.render{background:#f8f9fa;border-radius:2px;color:#6f42c1;font-weight:500;padding:1px 4px}.dsl-code-editor:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.dsl-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:14px;margin-top:10px;padding:10px}.dsl-editor-testing{background:#f8f9fa;border-radius:0 0 8px 8px;border-top:1px solid #dee2e6;display:flex;flex-direction:column;flex-shrink:0;padding:20px}.dsl-editor-testing h4{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 15px}.dsl-test-input{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.dsl-test-input label{color:#495057;font-size:14px;font-weight:600}.dsl-variable-input{border:1px solid #ced4da;border-radius:4px;color:#495057;font-size:14px;padding:10px}.dsl-variable-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.dsl-test-loading{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:40px}.dsl-test-result{display:flex;flex-direction:column;gap:20px}.dsl-test-latex{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;padding:15px}.dsl-test-latex h5{color:#0056b3;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.dsl-test-raw{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:15px}.dsl-test-raw h5{color:#495057;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.dsl-test-raw code{background:#fff;border:1px solid #e9ecef;border-radius:4px;color:#e83e8c;display:block;font-family:Monaco,Consolas,Courier New,monospace;font-size:14px;padding:10px;word-break:break-all}.dsl-test-empty{color:#6c757d;padding:40px;text-align:center}.dsl-test-empty p{font-size:14px;margin:10px 0}.variable-suggestions{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-top:20px;padding:15px}.variable-suggestions p{color:#495057;font-size:14px;margin:0 0 10px}.variable-chips{display:flex;flex-wrap:wrap;gap:8px}.variable-chip{background:#007bff;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.variable-chip:hover{background:#0056b3;transform:translateY(-1px)}.loading-spinner{border:3px solid #f3f3f3;border-top-color:#007bff;height:32px;margin-bottom:15px;width:32px}.math-display{border:1px solid #cce7ff;border-radius:4px;font-family:Times New Roman,serif;font-size:16px;padding:10px}.dsl-usage-example{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;padding:15px}.dsl-usage-example h5{color:#155724;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.dsl-usage-example p{color:#155724;font-size:14px;margin:5px 0}.dsl-usage-example code{background:#f8f9fa;border-radius:3px;color:#e83e8c;font-family:Monaco,Consolas,Courier New,monospace;font-size:13px;padding:2px 6px}.dsl-editor-templates{background:#f8f9fa;border-top:1px solid #dee2e6;padding:20px 30px}.dsl-editor-templates h4{color:#495057;font-size:1rem;font-weight:600;margin:0 0 15px}.dsl-template-buttons{display:flex;flex-wrap:wrap;gap:10px}.dsl-template-btn{background:#fff;border:1px solid #ced4da;border-radius:4px;color:#495057;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.dsl-template-btn:hover{background:#007bff;border-color:#007bff;color:#fff}.dsl-editor-actions{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:15px;justify-content:flex-end;padding:20px 30px}.btn{font-size:14px;gap:8px;padding:8px 20px;transition:all .2s}.btn-sm{font-size:13px;padding:6px 12px}.btn-primary{background:#007bff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#6c757d;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}@media (max-width:768px){.dsl-editor-container{max-height:95vh;width:95%}.dsl-editor-content{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.dsl-editor-input{border-bottom:1px solid #dee2e6;border-right:none}.dsl-editor-actions,.dsl-editor-header,.dsl-editor-templates{padding:15px 20px}.dsl-template-buttons{flex-direction:column}.dsl-template-btn{width:100%}}.dsl-code-editor .syntax-error-line{background-color:#ff00001a!important;border-left:3px solid #dc3545!important;display:block!important;margin-left:-15px!important;padding-left:5px!important;padding-right:15px!important}.dsl-syntax-error{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:14px;margin-top:10px;padding:10px}.dsl-editor-wrapper{position:relative}.error-lines-overlay{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.error-line-highlight{background-color:#ef44441a;border-left:3px solid #ef4444;left:15px;pointer-events:none;position:absolute;right:15px}.dsl-variable-manager-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1001}.dsl-variable-manager-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;height:90vh;max-width:1200px;width:90vw}.manager-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.manager-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;line-height:1;padding:4px}.close-btn:hover{background:#f3f4f6;color:#374151}.manager-content{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:1fr 2fr;overflow-y:auto;padding:24px}.sets-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.section-header h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0}.empty-state{color:#6b7280;padding:40px 20px}.empty-state p{margin:8px 0}.sets-list{display:flex;flex-direction:column;gap:16px}.variable-set-card{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:16px}.set-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.set-header h5{color:#1f2937;font-size:1rem;font-weight:500;margin:0}.set-actions{display:flex;gap:8px}.set-info{display:flex;flex-direction:column;gap:12px}.variables-preview{color:#374151}.variables-preview strong{display:block;font-size:.875rem;margin-bottom:4px}.code-preview{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151;font-family:Courier New,monospace;font-size:.8rem;margin:0;overflow-x:auto;padding:8px;white-space:pre-wrap}.assigned-questions{color:#6b7280;font-size:.875rem}.assignment-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.assignment-section h4{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 16px}.conflicts-warning{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:16px}.conflicts-warning h5{color:#dc2626;font-size:1rem;margin:0 0 12px}.conflict-item{color:#dc2626;font-size:.875rem;line-height:1.4;margin-bottom:8px}.questions-assignment{display:flex;flex-direction:column;gap:16px}.question-assignment-row{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:16px;justify-content:space-between;padding:16px}.question-assignment-row.has-conflicts{background:#fef2f2;border-color:#fecaca}.question-info{flex:1 1}.question-info strong{color:#1f2937;display:block;font-size:.9rem;margin-bottom:4px}.question-preview{color:#6b7280;display:block;font-size:.875rem;line-height:1.4}.question-conflicts{margin-top:8px}.conflict-warning{color:#dc2626!important;font-weight:500}.set-checkboxes{display:flex;flex-direction:column;gap:8px;min-width:200px}.set-checkbox{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:8px;padding:4px 0}.set-checkbox input[type=checkbox]{cursor:pointer;margin:0}.set-checkbox:hover{color:#1f2937}.manager-footer{border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:flex-end;padding:16px 24px}.btn{border-radius:4px;justify-content:center;padding:8px 16px;transition:all .15s ease}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.loading{align-items:center;color:#6b7280;display:flex;font-size:1rem;justify-content:center;padding:40px}@media (max-width:768px){.dsl-variable-manager-modal{height:95vh;width:95vw}.manager-content{gap:16px;grid-template-columns:1fr}.question-assignment-row{align-items:stretch;flex-direction:column}.set-checkboxes{min-width:auto}}.template-manager-modal{max-height:80vh;max-width:800px;overflow-y:auto}.template-manager-actions{margin-bottom:1rem;text-align:right}.templates-list{-webkit-overflow-scrolling:touch;max-height:400px;overflow-y:auto;transform:translateZ(0)}.template-item{background:#f9f9f9;border:1px solid #ddd;border-radius:8px;margin-bottom:1rem;padding:1rem}.template-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.template-header h4{color:#333;font-size:1.1rem;margin:0}.template-actions{display:flex;gap:.5rem}.template-details{display:flex;font-size:.9rem;gap:1rem;margin-bottom:.5rem}.template-type{background:#e3f2fd;color:#1976d2}.template-points,.template-type{border-radius:4px;font-weight:500;padding:.2rem .5rem}.template-points{background:#f3e5f5;color:#7b1fa2}.template-variable-set{background:#e8f5e8;border-radius:4px;color:#388e3c;font-weight:500;padding:.2rem .5rem}.template-preview{color:#666;font-size:.9rem;font-style:italic;margin-bottom:.5rem}.template-macros{color:#333;font-size:.85rem}.template-macros strong{color:#000}.empty-state{color:#666;font-style:italic;padding:2rem;text-align:center}.template-editor-modal{max-height:90vh;max-width:900px;overflow-y:auto}.template-editor-body{max-height:70vh;overflow-y:auto}.template-editor-modal-wrapper .lesson-edit-modal-overlay{background:#000000b3!important;z-index:1100!important}.option-input{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.option-input input{flex:1 1}.remove-option-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.25rem .5rem}.remove-option-btn:hover{background:#c82333}.add-option-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:.5rem;padding:.5rem 1rem}.add-option-btn:hover{background:#218838}.detected-macros{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:1rem;padding:1rem}.detected-macros h4{color:#333;font-size:1rem;margin:0 0 .5rem}.detected-macros p{color:#666;font-size:.9rem;margin:0 0 .5rem}.macro-list{display:flex;flex-wrap:wrap;gap:.5rem}.macro-tag{background:#007bff;border-radius:4px;color:#fff;font-family:monospace;font-size:.85rem;padding:.25rem .5rem}.macro-input-modal{max-width:500px}.macro-inputs{margin-bottom:1.5rem}.macro-inputs .form-group label{font-weight:700;margin-bottom:.25rem}.macro-inputs .form-group label code{background:#f8f9fa;border-radius:3px;color:#d73a49;font-size:.9rem;padding:.2rem .4rem}.macro-help{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1rem}.macro-help h4{color:#333;font-size:.95rem;margin:0 0 .5rem}.macro-help ul{margin:0;padding-left:1.2rem}.macro-help li{color:#666;font-size:.9rem;margin-bottom:.25rem}.macro-help strong{background:#e9ecef;border-radius:3px;font-family:monospace;padding:.1rem .3rem}.template-selector-modal{max-height:80vh;max-width:700px}.template-selector-list{-webkit-overflow-scrolling:touch;max-height:400px;overflow-y:auto;transform:translateZ(0)}.template-selector-item{background:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;margin-bottom:1rem;padding:1rem;transition:border-color .15s ease,background-color .15s ease;will-change:border-color,background-color}.template-selector-item:hover{background:#f8f9ff;border-color:#007bff}.template-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.template-selector-header h4{color:#333;font-size:1.1rem;margin:0}.template-selector-details{display:flex;gap:.5rem}.template-selector-preview{color:#666;font-size:.9rem;line-height:1.4;margin-bottom:.5rem}.template-selector-macros{color:#333;font-size:.85rem}.template-selector-macros strong{color:#000}.lesson-edit-modal-overlay{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.template-editor-modal{z-index:1100!important}.template-editor-modal .lesson-edit-modal-overlay{background:#000000b3!important;z-index:1100!important}.lesson-edit-modal-content{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;overflow:hidden;will-change:transform}.lesson-edit-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1rem 1.5rem}.lesson-edit-modal-header h3{color:#333;font-size:1.25rem;margin:0}.lesson-edit-modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;width:2rem}.lesson-edit-modal-close:hover{color:#000}.lesson-edit-modal-body{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:1.5rem;transform:translateZ(0)}.lesson-edit-modal-footer{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.5rem}.movable-container{position:relative}.movable-container.move-mode{cursor:crosshair}.movable-item{position:relative;transition:opacity .2s ease,filter .2s ease,background-color .2s ease,border-color .2s ease}.movable-item.being-moved{filter:brightness(.8);opacity:.6}.movable-item.dimmed{filter:grayscale(.3);opacity:.4}.movable-item-content{height:100%;width:100%}.move-button{align-items:center;background:#3b82f6;border:none;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;opacity:0;position:absolute;transition:opacity .2s ease,background-color .2s ease;width:24px;z-index:100}.movable-item:hover .move-button{opacity:1}.move-button.cancel{background:#ef4444;opacity:1}.move-button:hover{background:#2563eb}.move-button.cancel:hover{background:#dc2626}.move-button-top-right{right:4px;top:4px}.move-button-top-left{left:4px;top:4px}.move-button-bottom-right{bottom:4px;right:4px}.move-button-bottom-left{bottom:4px;left:4px}.move-gap-detector{align-items:center;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;min-height:8px;min-width:8px;transition:all .2s ease}.movable-container.move-mode .move-gap-detector:hover{background:#3b82f61a;border-radius:4px}.move-placeholder{animation:pulse-placeholder 1.5s ease-in-out infinite;background:#3b82f60d;border:2px dashed #3b82f6;border-radius:6px;margin:4px 0;min-height:60px;transition:all .2s ease}.move-placeholder,.move-placeholder-content{align-items:center;display:flex;justify-content:center;width:100%}.move-placeholder-content{height:100%}.move-placeholder-plus{align-items:center;background:#fff;border:2px solid #3b82f6;border-radius:50%;box-shadow:0 2px 4px #3b82f633;color:#3b82f6;display:flex;font-size:24px;font-weight:700;height:32px;justify-content:center;width:32px}@keyframes pulse-placeholder{0%,to{background:#3b82f60d;border-color:#3b82f6}50%{background:#3b82f61a;border-color:#2563eb}}@media (max-width:768px){.move-button{font-size:14px;height:28px;width:28px}.move-placeholder{min-height:50px}.move-placeholder-plus{font-size:20px;height:28px;width:28px}}.movable-container.flex-layout{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem}.movable-container.flex-layout .move-gap-detector{align-self:stretch;height:auto;min-width:16px}.movable-container.grid-layout{grid-gap:.75rem;display:grid;gap:.75rem}.movable-container.grid-layout .move-gap-detector{min-height:16px;width:auto}.movable-wrapper{position:relative}.movable-wrapper.has-pending-moves{padding-bottom:80px}.movable-item.preview-move{background:#fef3c7;border:2px dashed #f59e0b;opacity:.8}.movable-item.preview-move .movable-item-content{filter:brightness(.95)}.batch-actions-fixed{bottom:20px;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:9999}.batch-actions-container{align-items:center;animation:slideUpIn .3s ease-out;background:#fff;border:2px solid #3b82f6;border-radius:12px;box-shadow:0 10px 25px #00000026;display:flex;gap:16px;padding:12px 16px;pointer-events:auto}.batch-actions-info{color:#374151;font-size:14px;font-weight:500}.batch-actions-buttons{display:flex;gap:8px}.batch-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;padding:8px 16px;transition:all .2s ease}.batch-action-btn:disabled{cursor:not-allowed;opacity:.6}.batch-cancel-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.batch-cancel-btn:hover:not(:disabled){background:#e5e7eb}.batch-confirm-btn{background:#3b82f6;color:#fff}.batch-confirm-btn:hover:not(:disabled){background:#2563eb}@keyframes slideUpIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.batch-actions-container{gap:12px;padding:10px 12px}.batch-actions-info{font-size:13px}.batch-action-btn{font-size:13px;padding:6px 12px}}.lesson-form-content{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;overflow:visible;position:relative;transform:translateZ(0)}.lesson-form{overflow:visible;padding:2rem}.form-section{margin-bottom:2rem}.form-section h4{border-bottom:2px solid #e2e8f0;color:#374151;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:.75rem;transition:border-color .15s ease;width:100%;will-change:border-color}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group small{font-size:.75rem;margin-top:.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group input[type=checkbox]{margin-right:.5rem;width:auto}.questions-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.questions-header h4{border:none;margin:0;padding:0}.questions-header-actions{display:flex;gap:.5rem}.empty-questions{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#9ca3af;font-style:italic;padding:2rem;text-align:center}.questions-list{contain:layout style;display:flex;flex-direction:column;gap:1.5rem;overflow:visible;transform:translateZ(0)}.question-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;contain:layout;padding:1.5rem;will-change:auto}.question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.question-header span{color:#374151;font-weight:600}.question-actions{display:flex;gap:.5rem}.preview-question{align-items:center;background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .75rem;transition:background-color .15s ease;will-change:background-color}.preview-question:hover:not(:disabled){background:#2563eb}.preview-question:disabled{background:#9ca3af;cursor:not-allowed}.remove-question{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .75rem}.remove-question:hover{background:#dc2626}.duplicate-question{align-items:center;background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .75rem;transition:all .2s ease}.duplicate-question:hover{background:#059669}.dsl-variables-btn{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .75rem;transition:all .2s ease}.dsl-variables-btn:hover{background:#007bff;border-color:#007bff;color:#fff}.dsl-variables-btn.has-variables{background:#d4edda;border-color:#c3e6cb;color:#155724}.dsl-variables-btn.has-variables:hover{background:#28a745;border-color:#28a745;color:#fff}.dsl-variables-indicator{background:#e7f3ff;border:1px solid #b3d9ff;border-left:4px solid #007bff;border-radius:6px;margin:10px 0;padding:12px}.dsl-badge{align-items:center;background:#007bff;border-radius:4px;color:#fff;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-bottom:8px;padding:4px 10px}.dsl-variables-indicator small{color:#0056b3;display:block;font-style:italic;margin-top:5px}.concept-steps-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:.5rem;padding:1rem}.concept-step-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;padding:1rem}.concept-step-item:last-child{margin-bottom:0}.concept-step-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.concept-step-header span{color:#374151;font-size:.875rem;font-weight:600}.remove-step-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.875rem;height:24px;justify-content:center;line-height:1;width:24px}.remove-step-btn:hover{background:#dc2626}.concept-step-item textarea{border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;min-height:80px;padding:.75rem;resize:vertical;width:100%}.concept-step-item textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.add-step-btn{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.add-step-btn:hover{background:#059669}.form-group small{color:#6b7280;display:block;font-size:.8rem;margin-bottom:.5rem}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.question-preview-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.question-preview-modal{background:#fff;border-radius:16px;box-shadow:0 8px 16px #00000026;max-height:95vh;max-width:800px;overflow:hidden;width:95vw}.preview-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem 1.5rem}.preview-header h3{color:#374151;font-size:1.1rem;font-weight:600;margin:0}.preview-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem}.preview-close:hover{color:#374151}.preview-content{max-height:calc(95vh - 120px);overflow-y:auto;padding:0}.preview-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem 1.5rem;text-align:center}.field-hint,.preview-note{color:#6b7280;font-style:italic}.field-hint{font-size:.75rem;font-weight:400}.question-navigation-centered{contain:layout;margin:2rem auto;max-width:1000px;overflow:visible;transform:translateZ(0)}.question-navigation-centered,.question-navigation-external{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;position:relative;z-index:1}.question-navigation-external{margin:2rem 0}.question-navigation{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem}.question-nav-header{padding:1rem 1rem 0;text-align:center}.question-navigation h5,.question-navigation-centered h5,.question-navigation-external h5{color:#374151;font-size:1rem;font-weight:600;margin:0}.question-nav-subtitle{color:#6b7280;font-size:.75rem;font-style:italic;margin:.25rem 0 0}.reorder-actions{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem}.btn-sm{font-size:.75rem;padding:.5rem 1rem}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}.question-nav-list.pending-reorder{background:#fffbeb;border:2px dashed #f59e0b}.question-nav-card.pending{background:#fef3c7;border-color:#f59e0b;transform:scale(1.02);transition:all .2s ease}.number-transition{align-items:center;display:flex;font-size:.75rem;gap:.25rem}.original-number{color:#ef4444;text-decoration:line-through}.arrow{color:#6b7280;font-weight:700}.new-number{color:#10b981;font-weight:700}.question-nav-list{align-items:flex-start;contain:layout;display:flex;flex-wrap:wrap;gap:.75rem;padding:1.5rem 1rem 1rem;position:relative;transform:translateZ(0)}.question-nav-card{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 3px #0000001a;contain:layout;cursor:pointer;flex-shrink:0;max-width:200px;min-width:120px;padding:.75rem;position:relative;transition:border-color .15s ease;width:140px;will-change:border-color}.question-nav-card:hover{border-color:#3b82f6}.question-nav-card.dragging{background:#eff6ff;border-color:#3b82f6;box-shadow:0 8px 24px #00000026;opacity:.8;transform:rotate(2deg)}.question-nav-list.dragging-over{background:#f0f9ff;border:2px dashed #3b82f6;border-radius:8px}.question-nav-header-drag{gap:.5rem}.lm-drag-handle{border-radius:4px;color:#9ca3af;cursor:grab;font-size:1rem;padding:.25rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.lm-drag-handle:hover{background:#f1f5f9;color:#3b82f6}.lm-drag-handle:active{cursor:grabbing}.question-nav-number{color:#3b82f6;font-size:.875rem;font-weight:600;margin-bottom:.25rem;text-align:center}.question-nav-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:.6rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.lesson-form{padding:1rem}.form-row{grid-template-columns:1fr}.questions-header{align-items:stretch;flex-direction:column;gap:1rem}.questions-header-actions{justify-content:center}.question-nav-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.question-nav-list .lm-unit-card{max-width:150px;min-width:100px;padding:.5rem}.question-nav-number{font-size:.75rem}.question-nav-number .original-number{font-size:.65rem}.question-nav-number .arrow{font-size:.5rem}.question-nav-preview{-webkit-line-clamp:1;font-size:.55rem}.question-actions{flex-wrap:wrap;gap:.25rem}.question-actions button{flex:1 1;min-width:0}}.question-nav-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:.75rem}.group-actions,.save-actions{align-items:center;display:flex;gap:.5rem}.question-group{contain:layout;margin-bottom:.5rem;position:relative}.question-group.expanded{flex-shrink:0;max-width:100%;width:-webkit-fit-content;width:fit-content}.question-group.dragging{box-shadow:0 8px 25px #00000026;transform:rotate(3deg);z-index:1000}.question-group.dragging .question-group-header{background:#0284c7;color:#fff}.question-group.dragging .question-group-header .group-label{color:#fff}.question-group.dragging .group-drag-handle{background:#fff3;color:#fff}.question-group-header{align-items:center;background:#e0f2fe;border:1px solid #0284c7;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;margin-bottom:.25rem;padding:.5rem .75rem;transition:background-color .2s ease}.question-group-header:hover{background:#bae6fd}.question-group-header .group-expand-icon{font-size:.75rem;margin-right:.5rem;transition:transform .2s ease}.group-drag-handle{background:#0f172a1a;border-radius:3px;color:#0c4a6e;cursor:grab;font-size:.75rem;padding:.25rem;transition:background-color .2s ease}.group-drag-handle:hover{background:#0f172a33}.group-drag-handle:active{cursor:grabbing}.question-group-header .group-label{color:#0c4a6e;flex:1 1;font-size:.875rem;font-weight:600}.group-actions-inline{display:flex;gap:.25rem;margin-left:auto}.btn-icon{background:none;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;padding:.25rem;transition:background-color .2s ease}.btn-icon:hover{background:#0000001a}.question-group-items{background:#0284c70d;border:1px solid #0284c733;border-radius:4px;box-sizing:border-box;display:flex;flex-wrap:nowrap;gap:.75rem;margin-top:.5rem;max-width:100%;padding:.75rem;width:-webkit-fit-content;width:fit-content}.question-group-items .question-nav-card{flex-shrink:0;max-width:200px;min-width:140px;width:140px}.question-nav-card.grouped{border-left:3px solid #0284c7;margin-bottom:0;min-height:60px}.question-nav-card.selected{background:#dbeafe;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.question-nav-card.selected.grouped{border-left-color:#1d4ed8}.question-nav-card.drag-preview-target{position:relative}.question-nav-card.drag-preview-target:before{background:#3b82f61a;border:2px dashed #3b82f6;border-radius:8px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px;z-index:1}.question-group.drag-preview-target{position:relative}.question-group.drag-preview-target:before{background:#3b82f61a;border:2px dashed #3b82f6;border-radius:8px;bottom:-2px;content:"";left:-2px;pointer-events:none;position:absolute;right:-2px;top:-2px;z-index:1}.question-nav-header-drag{align-items:center;display:flex;justify-content:center;margin-bottom:.5rem}.question-card-actions{bottom:4px;display:flex;gap:2px;opacity:0;position:absolute;right:4px;transition:opacity .2s ease}.question-nav-card:hover .question-card-actions{opacity:1}.btn-nav-icon{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;color:#495057;cursor:pointer;display:flex;font-size:10px;height:18px;justify-content:center;line-height:1;min-width:18px;padding:2px 4px;transition:all .2s ease}.btn-nav-icon:hover{background:#007bff;border-color:#007bff;color:#fff}.btn-nav-icon-danger{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.btn-nav-icon-danger:hover{background:#dc3545;border-color:#dc3545;color:#fff}.correct-answers-selection{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:1rem;padding:1rem}.correct-answers-selection>label{color:#374151!important;display:block!important;font-weight:600!important;margin-bottom:.75rem!important}.checkbox-options{display:flex;flex-direction:column;gap:.5rem}.checkbox-option{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;display:flex!important;font-weight:400!important;gap:.5rem;margin-bottom:0!important;padding:.5rem;transition:all .2s ease}.checkbox-option:hover{background:#f3f4f6;border-color:#9ca3af}.checkbox-option input[type=checkbox]{cursor:pointer;flex-shrink:0;margin:0!important;width:auto!important}.checkbox-option span{color:#374151;flex:1 1;font-size:.875rem}.layout-controls{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;display:flex;gap:1rem;margin:1rem 0;padding:.75rem}.layout-controls label{color:#374151;font-weight:500;margin:0}.column-count-input{font-size:.875rem;padding:.5rem!important;text-align:center;width:80px!important}.layout-controls small{color:#6b7280;font-size:.75rem;margin:0}.correct-answer-and-layout{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.correct-answer-section{align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;display:flex;gap:1rem;padding:.75rem}.correct-answer-section label{color:#166534;font-weight:500;margin:0}.correct-answer-section input{border-color:#bbf7d0!important;font-size:.875rem;padding:.5rem!important;text-align:center;width:80px!important}.option-layout-flags{background-color:#fffbeb;border:1px solid #fbbf24;border-radius:4px;padding:.75rem}.option-layout-flags>label{color:#92400e;font-weight:500;margin:0 0 .5rem}.option-config{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;display:flex;gap:1rem;padding:.5rem}.option-config:hover{background-color:#f8fafc}.option-config .checkbox-option{background:#0000;border:none;flex-shrink:0;margin:0;min-width:auto;padding:0}.option-config .checkbox-option:hover{background:#0000}.correct-indicator{color:#10b981;font-weight:700;min-width:20px}.long-indicator{color:#f59e0b;font-size:.875rem;font-weight:700;min-width:30px}.option-text{color:#374151;flex:1 1;font-size:.875rem}.lesson-edit-page{background:#f8fafc;min-height:100vh;padding:2rem}.lesson-edit-error,.lesson-edit-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:3rem;margin-bottom:1rem;width:3rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.lesson-edit-loading p{color:#64748b;font-size:1.1rem;margin:0}.lesson-edit-error h2{color:#dc2626;margin:0 0 1rem}.lesson-edit-error p{color:#64748b;margin:0 0 2rem}.lesson-edit-breadcrumb{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:2rem}.breadcrumb-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:inherit;padding:0;text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:#2563eb;text-decoration:underline}.breadcrumb-separator{color:#9ca3af;font-weight:400}.breadcrumb-item{color:#64748b}.breadcrumb-current{color:#1e293b;font-weight:500}.lesson-edit-header{margin-bottom:2rem}.lesson-edit-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin:0 0 .5rem}.lesson-edit-context{color:#64748b;font-size:1rem;margin:0}.lesson-edit-context strong{color:#374151}.lesson-edit-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:visible;position:relative}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.btn-secondary:hover{background:#e2e8f0}@media (max-width:768px){.lesson-edit-page{padding:1rem}.lesson-edit-breadcrumb{flex-wrap:wrap;gap:.25rem}.lesson-edit-header h1{font-size:1.5rem}.lesson-edit-context{font-size:.875rem}}.admin-dashboard{background-color:#f8fafc;min-height:100vh}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.admin-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.admin-header p{font-size:1.1rem;margin:0;opacity:.9}.admin-nav{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;overflow-x:auto;padding:1rem 2rem}.nav-btn{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.nav-btn:hover{background-color:#f1f5f9;color:#334155}.nav-btn.active{background-color:#3b82f6;color:#fff}.admin-content{margin:0 auto;max-width:1200px;padding:2rem}.lesson-timer{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #00000026;min-width:200px;padding:.75rem 1rem;position:fixed;right:20px;top:80px;transition:all .3s ease;z-index:1000}.timer-content{align-items:center;display:flex;gap:.75rem}.timer-icon{font-size:1.25rem;opacity:.8}.timer-display{flex:1 1}.timer-time{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.timer-label{color:#64748b;font-size:.8rem;font-weight:500}.timer-progress{background-color:#e2e8f0;border-radius:2px;height:4px;margin-top:.75rem;overflow:hidden;width:100%}.timer-progress-bar{background:linear-gradient(90deg,#10b981,#3b82f6);border-radius:2px;height:100%;transition:width 1s ease}.timer-normal{border-color:#e2e8f0}.timer-normal .timer-progress-bar{background:linear-gradient(90deg,#10b981,#3b82f6)}.timer-warning{background-color:#fef3c7;border-color:#f59e0b}.timer-warning .timer-time{color:#92400e}.timer-warning .timer-progress-bar{background:linear-gradient(90deg,#f59e0b,#d97706)}.timer-critical{animation:pulse-critical 1s infinite;background-color:#fee2e2;border-color:#ef4444}.timer-critical .timer-time{color:#dc2626}.timer-critical .timer-progress-bar{background:linear-gradient(90deg,#ef4444,#dc2626)}@keyframes pulse-critical{0%,to{box-shadow:0 2px 8px #ef444433;transform:scale(1)}50%{box-shadow:0 4px 16px #ef44444d;transform:scale(1.02)}}@media (max-width:768px){.lesson-timer{left:10px;min-width:auto;padding:.5rem .75rem;right:10px;top:70px}.timer-content{gap:.5rem}.timer-icon,.timer-time{font-size:1rem}.timer-label{font-size:.75rem}.timer-progress{height:3px;margin-top:.5rem}}.lesson-page{background:linear-gradient(135deg,#f0f2f5,#e8f0fe);display:flex;flex-direction:column;min-height:100vh;position:relative}.navbar-trigger{background:#0000;cursor:pointer;height:60px;left:0;position:fixed;right:0;top:0;z-index:99}.navbar-trigger:hover{background:#0000000d}.navbar-trigger:after{background:#0003;border-radius:0 0 2px 2px;content:"";height:4px;left:50%;opacity:.3;position:absolute;top:0;transform:translateX(-50%);transition:opacity .3s ease;width:40px}.navbar-trigger:hover:after{opacity:.6}.lesson-header{align-items:center;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;gap:1rem;left:0;padding:1rem 2rem;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .3s ease-in-out;z-index:100}.lesson-header.visible,.lesson-header:hover,.navbar-trigger:hover+.lesson-header{transform:translateY(0)}.checkpoint-badge{background:#f59e0b;border-radius:20px;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-left:auto;padding:.5rem 1rem;text-transform:uppercase}.time-up-warning{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-weight:500;margin-bottom:1rem;padding:1rem;text-align:center}.back-button{background:#f0f2f5;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.back-button:hover{background:#e8f0fe}.lesson-header h1{color:#2b2b2b;font-size:1.5rem;margin:0}.lesson-content{bottom:0;display:flex;flex:1 1;flex-direction:column;left:0;overflow:hidden;padding:0;position:absolute;right:0;top:0;width:100%}.lesson-completed,.lesson-empty,.lesson-error,.lesson-loading{align-self:center;background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000001a;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:auto;max-width:500px;padding:3rem;text-align:center}.lesson-loading{color:#666;font-size:1.2rem}.lesson-empty h2,.lesson-error h2{color:#e74c3c;margin-bottom:1rem}.celebration-page{align-items:center;background:#fff;bottom:0;display:flex;height:100vh;justify-content:center;left:0;overflow:hidden;padding:2rem 2rem 4rem;position:fixed;right:0;top:0}.celebration-content{animation:celebration-fade-in .6s ease-out;max-width:600px;padding:1rem;position:relative;text-align:center;width:100%;z-index:1}@keyframes celebration-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.celebration-icon{animation:celebration-pulse 1.5s ease-in-out infinite;font-size:4rem;margin-bottom:1rem}@keyframes celebration-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.celebration-title{color:#2563eb;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.lesson-title{color:#1d4ed8;font-size:1.5rem;font-weight:600;margin-bottom:2rem}.completion-stats{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-around;margin:2rem 0;padding:1.5rem}.stat-item{text-align:center}.stat-value{color:#2563eb;font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-label{color:#666;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.completion-message{color:#374151;line-height:1.6;margin:2rem 0}.completion-message p{margin:.5rem 0}.completion-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0 1rem}.continue-btn,.restart-btn{border:none;border-radius:12px;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:150px;padding:1rem 2rem;transition:all .3s ease}.continue-btn{background:#2563eb;box-shadow:0 4px 12px #2563eb4d;color:#fff}.continue-btn:hover{background:#1d4ed8;box-shadow:0 6px 16px #2563eb66;transform:translateY(-2px)}.restart-btn{background:#f8f9fa;border:2px solid #e9ecef;color:#2b2b2b}.restart-btn:hover{background:#e9ecef;transform:translateY(-1px)}.lesson-completed h1{color:#2563eb;font-size:2rem;margin-bottom:1rem}.lesson-completed h2{color:#2b2b2b;margin-bottom:1rem}.back-btn{background:#f0f2f5;border:none;border-radius:8px;color:#2b2b2b;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.back-btn:hover{background:#e8f0fe}@media (max-width:768px){.lesson-header{padding:.75rem 1rem}.lesson-header h1{font-size:1.2rem}.navbar-trigger{height:50px}.lesson-content{padding:0}.celebration-content,.lesson-completed,.lesson-empty,.lesson-error,.lesson-loading{margin:1rem;padding:2rem}.celebration-content{max-width:90%}.celebration-title{font-size:2rem}.lesson-title{font-size:1.2rem}.completion-stats{flex-direction:column;gap:1rem}.stat-value{font-size:1.5rem}.completion-actions{flex-direction:column;gap:1rem}.continue-btn,.restart-btn{width:100%}}.testing-page{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem 1rem}.testing-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;margin:0 auto;max-width:1200px;overflow:hidden}.testing-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center}.testing-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.testing-header p{font-size:1.1rem;margin:0;opacity:.9}.testing-content{padding:2rem}.examples-section{margin-bottom:2rem}.examples-section h3{color:#333;font-size:1.3rem;margin:0 0 1rem}.example-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.example-button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.example-button:hover{background:#5a6fd8;box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.input-section{margin-bottom:2rem}.input-section h3{color:#333;font-size:1.3rem;margin:0 0 1rem}.template-input{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:8px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;padding:1rem;resize:vertical;transition:border-color .2s ease;width:100%}.template-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.template-input::placeholder{color:#6c757d;font-style:italic}.generate-section{margin-bottom:2rem;text-align:center}.generate-button{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;min-width:200px;padding:1rem 2rem;transition:all .2s ease}.generate-button:hover:not(:disabled){box-shadow:0 6px 20px #28a7454d;transform:translateY(-2px)}.generate-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.error-section{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:2rem;padding:1.5rem}.error-section h3{color:#721c24;margin:0 0 1rem}.error-content pre{background:#721c241a;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;margin:0;padding:1rem;white-space:pre-wrap}.result-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:2rem}.result-section h3{border-bottom:2px solid #667eea;color:#333;font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.5rem}.result-section h4{color:#495057;font-size:1.2rem;margin:1.5rem 0 .75rem}.latex-output{margin-bottom:2rem}.math-display{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:2rem}.latex-source,.parameters-output,.raw-output{margin-bottom:1.5rem}.latex-content,.parameters-content,.raw-content{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.4;margin:0;overflow-x:auto;padding:1rem;white-space:pre-wrap}.steps-output{margin-bottom:1.5rem}.steps-list{background:#fff;border:1px solid #dee2e6;border-radius:6px;margin:0;padding:1.5rem}.steps-list li{color:#495057;line-height:1.5;margin-bottom:.5rem}.steps-list li:last-child{margin-bottom:0}@media (max-width:768px){.testing-page{padding:1rem .5rem}.testing-header{padding:1.5rem}.testing-header h1{font-size:2rem}.testing-content{padding:1.5rem}.example-buttons{flex-direction:column}.template-input{font-size:.85rem}.generate-button{width:100%}}.math-left-align mjx-container[jax=CHTML][display=true]{text-align:left!important}:root{--primary-color:var(--primary-blue);--secondary-color:#3bd9c1;--accent-color:var(--warning);--error-color:var(--error);--success-color:var(--success);--warning-color:var(--warning);--background:var(--surface);--border:var(--surface-border)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;margin-bottom:.5rem}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}.math-content{margin:1rem 0}.math-inline{display:inline}.math-display{display:block;margin:1.5rem 0;text-align:center}@media (max-width:768px){h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}
/*# sourceMappingURL=main.5d8fccad.css.map*/