.breadcrumbs{position:fixed;top:56px;left:0;right:0;z-index:90;background:#fff;border-bottom:1px solid var(--border-color)}.breadcrumb-container{max-width:1200px;margin:0 auto;padding:.5rem 2rem}.breadcrumb-list{display:flex;align-items:center;flex-wrap:nowrap;gap:.35rem;list-style:none;padding:0;margin:0;font-size:.85rem}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-link{display:flex;align-items:center;gap:.35rem;color:var(--text-muted);transition:color .2s;text-decoration:none}.breadcrumb-link:hover{color:var(--accent-cyan)}.breadcrumb-home{opacity:.7}.breadcrumb-course{color:var(--text-secondary);font-weight:500}.breadcrumb-separator{display:flex;align-items:center;color:var(--text-muted);opacity:.5}.breadcrumb-current{color:var(--accent-cyan);font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-section-sep,.breadcrumb-section-item{transition:opacity .2s ease}.course-layout{display:flex;justify-content:flex-start;gap:2rem;max-width:1200px;margin:0 auto;padding:100px 2rem 0;position:relative}.progress-sidebar{position:fixed;top:120px;width:320px;height:fit-content;max-height:calc(100vh - 140px);overflow-y:auto;padding:1rem;background:var(--bg-card);border-radius:12px;opacity:0;pointer-events:none;transition:opacity .3s ease;right:calc(50% - 600px + 2rem)}@media(max-width:1280px){.progress-sidebar{right:2rem}}.progress-sidebar.visible{opacity:1;pointer-events:auto}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.progress-header-right{display:flex;align-items:center;gap:.5rem;position:relative}.progress-count{font-size:.875rem;font-weight:600;color:var(--accent-cyan)}.progress-menu{position:relative}.menu-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s}.menu-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.popover{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;box-shadow:0 4px 20px #00000026;padding:.25rem;min-width:180px;z-index:1000;animation:popoverFadeIn .15s ease-out}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .875rem;background:transparent;border:none;border-radius:6px;color:var(--text-primary);font-size:.875rem;font-family:inherit;text-align:left;cursor:pointer;transition:all .15s}.popover-item:hover{background:var(--bg-tertiary)}.reset-button{color:#dc2626}.reset-button:hover{background:#dc26261a}.progress-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:var(--accent-cyan);border-radius:2px;transition:width .3s ease}.section-nav{display:flex;flex-direction:column;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.95rem;color:var(--text-secondary);transition:all .2s;text-decoration:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:#0891b21a;color:var(--accent-cyan)}.nav-item.fully-completed{color:var(--text-muted)}.progress-ring-wrapper{position:relative;width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg{fill:transparent;stroke:var(--bg-tertiary);stroke-width:2}.progress-ring-fill{fill:transparent;stroke:var(--accent-cyan);stroke-width:2;stroke-linecap:round;stroke-dasharray:56.549;stroke-dashoffset:56.549;transition:stroke-dashoffset .4s ease,stroke .3s ease}.progress-ring-wrapper[data-progress="0"] .progress-ring-fill{display:none}.progress-ring-wrapper[data-progress="33"] .progress-ring-fill,.progress-ring-wrapper[data-progress="34"] .progress-ring-fill,.progress-ring-wrapper[data-progress="50"] .progress-ring-fill,.progress-ring-wrapper[data-progress="67"] .progress-ring-fill{stroke:#f59e0b}.progress-ring-wrapper[data-progress="100"] .progress-ring-fill{stroke:#10b981}.check-icon{position:absolute;color:#10b981;opacity:0;transition:opacity .3s ease}.nav-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-upgrade-section{margin-top:.75rem;padding:.75rem;background:linear-gradient(135deg,#9333ea14,#a855f70d);border:1px solid rgba(147,51,234,.2);border-radius:8px}.upgrade-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--accent-orange);margin-bottom:.6rem}.upgrade-pricing{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.price-option{display:flex;align-items:baseline;gap:.15rem}.price-amount{font-size:.9rem;font-weight:700;color:var(--text-primary)}.price-period,.price-divider{font-size:.65rem;color:var(--text-muted)}.price-option.yearly{position:relative}.price-save{position:absolute;top:-10px;right:-8px;font-size:.5rem;font-weight:700;color:#10b981;background:#10b98126;padding:.1rem .3rem;border-radius:3px;white-space:nowrap}.sidebar-upgrade-btn{display:block;width:100%;padding:.5rem .75rem;background:linear-gradient(135deg,var(--accent-orange),var(--accent-red));color:#fff;font-size:.75rem;font-weight:600;border-radius:6px;text-decoration:none;text-align:center;transition:all .2s ease;box-shadow:0 2px 8px #ea580c4d}.sidebar-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ea580c66;background:linear-gradient(135deg,var(--accent-red),var(--accent-orange))}.nav-item.locked{cursor:not-allowed;opacity:.5}.nav-item.locked:hover{background:transparent;color:var(--text-secondary)}.nav-item .lock-icon{flex-shrink:0}.view-certificate-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;margin-top:.75rem;background:linear-gradient(135deg,#ea580c26,#dc262626);border:1px solid rgba(234,88,12,.3);border-radius:8px;color:var(--accent-orange);font-size:.8rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease}.view-certificate-btn:hover{background:linear-gradient(135deg,#ea580c40,#dc262640);border-color:#ea580c80;transform:translateY(-1px)}.view-certificate-btn svg{flex-shrink:0}.course-page{flex:1;padding:20px 0 4rem;max-width:700px;min-width:0;order:1}.course-page .course-header{margin-bottom:3rem}.course-page .course-header.title-page{min-height:70vh;display:flex;flex-direction:column;justify-content:center;margin-bottom:4rem}.course-page .course-header h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.course-page .course-header p{color:var(--text-muted);font-size:1.1rem}.inline-toc{margin-top:3rem}.toc-heading{font-size:1rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.toc-list{list-style:disc;padding-left:1.5rem;display:flex;flex-direction:column;gap:.875rem}.toc-list li{color:var(--text-secondary)}.toc-list li::marker{color:var(--accent-cyan)}.toc-link{color:var(--text-secondary);transition:color .2s;font-size:1rem}.toc-link:hover{color:var(--accent-cyan)}.toc-link.locked{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);cursor:not-allowed}.toc-link.locked svg{opacity:.6}.toc-list li.locked::marker{color:var(--text-muted)}.toc-upgrade-hint{margin-top:1rem;font-size:.85rem;color:var(--text-muted)}.toc-upgrade-hint a{color:var(--accent-orange);font-weight:500}.toc-upgrade-hint a:hover{text-decoration:underline}.course-page .sections{display:flex;flex-direction:column;gap:3rem}.course-page .section{scroll-margin-top:120px;margin-top:8rem!important}.course-page .section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.course-page .section-num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-cyan);color:#fff;border-radius:50%;font-size:.875rem;font-weight:600;flex-shrink:0}.course-page .section-num.section-icon{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.course-page .section-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.course-page .section-content{color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.course-page .section-content p{margin-bottom:1rem;font-size:1.1rem}.course-page .section-content code{background:var(--bg-tertiary);padding:.15rem .4rem;border-radius:4px;font-family:var(--font-mono);font-size:.9em;color:var(--accent-cyan)}.course-page .section-content pre{background:var(--bg-tertiary);padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.course-page .section-content pre code{background:none;padding:0;font-size:.85rem;line-height:1.5}.course-page .section-summary{margin-top:3rem;margin-bottom:2rem}.course-page .section-summary-label{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.course-page .section-summary-text{margin:0;color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.course-page .course-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color);text-align:center}.course-page .course-footer p{color:var(--text-muted);margin-bottom:1rem}.course-page .btn{display:inline-block;padding:.75rem 1.5rem;background:var(--accent-cyan);color:#fff;border-radius:6px;font-weight:500;transition:opacity .2s}.course-page .btn:hover{opacity:.9}.premium-paywall{margin-top:4rem;padding:3rem;background:linear-gradient(135deg,#ea580c0d,#0891b20d);border:2px dashed var(--border-color);border-radius:16px;text-align:center}.paywall-content{max-width:500px;margin:0 auto}.paywall-icon{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;color:var(--accent-orange)}.paywall-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.paywall-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.paywall-lessons{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:2rem;text-align:left}.paywall-lessons-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.locked-lessons-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.locked-lessons-list li{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.locked-lessons-list li svg{color:var(--text-muted);flex-shrink:0}.paywall-actions{display:flex;flex-direction:column;gap:.75rem;align-items:center}.paywall-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:8px;transition:all .2s ease;cursor:pointer;width:100%;max-width:280px}.paywall-btn.primary{background:var(--gradient-primary);color:#fff;border:none}.paywall-btn.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.paywall-btn.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.paywall-btn.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}@media(max-width:1024px){.progress-sidebar{display:none}.course-layout{padding-left:1rem;padding-right:1rem}.course-page{padding:20px .5rem 3rem;padding-bottom:60px;max-width:none}}@media(max-width:640px){.course-layout{padding-top:110px;padding-left:.5rem;padding-right:.5rem}.course-page{padding:20px .25rem 2rem;padding-bottom:60px}.course-page .course-header h1{font-size:1.5rem}.breadcrumbs{top:56px}.breadcrumb-container{padding:.5rem .75rem}.breadcrumb-list{font-size:.75rem}.breadcrumb-current{max-width:none}.breadcrumb-home{width:12px;height:12px}}.mobile-toc-dropdown{display:none;position:fixed;top:56px;right:1rem;z-index:95}@media(max-width:1024px){.mobile-toc-dropdown{display:block}}.mobile-toc-toggle{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s;font-family:inherit;box-shadow:0 1px 4px #0000000f}.mobile-toc-toggle:hover{background:var(--bg-hover);border-color:var(--accent-cyan)}.mobile-toc-label{font-size:.75rem;font-weight:600;color:var(--text-primary)}.mobile-toc-count{font-size:.65rem;font-weight:600;color:var(--accent-cyan);background:#0891b21a;padding:.1rem .35rem;border-radius:3px}.mobile-toc-arrow{color:var(--text-muted);transition:transform .3s ease;width:10px;height:10px}.mobile-toc-dropdown.expanded .mobile-toc-arrow{transform:rotate(180deg)}.mobile-toc-panel{display:none;position:absolute;top:calc(100% + .5rem);right:0;width:300px;max-width:calc(100vw - 2rem);max-height:70vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #00000026;padding:.5rem}.mobile-toc-dropdown.expanded .mobile-toc-panel{display:block;animation:slideDown .25s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-section-list{display:flex;flex-direction:column;gap:.25rem}.mobile-section-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border-radius:8px;text-decoration:none;color:var(--text-secondary);transition:all .2s;font-size:.875rem}.mobile-section-item:hover{background:var(--bg-hover);color:var(--text-primary)}.mobile-section-item.active{background:#0891b21f;color:var(--accent-cyan)}.mobile-section-item.completed{color:var(--text-muted)}.mobile-section-status{position:relative;width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.mobile-section-status svg.ring{transform:rotate(-90deg);width:24px;height:24px}.mobile-section-ring-bg{fill:transparent;stroke:var(--bg-tertiary);stroke-width:2.5}.mobile-section-ring-fill{fill:transparent;stroke:var(--accent-cyan);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:56.549;stroke-dashoffset:56.549;transition:stroke-dashoffset .4s ease,stroke .3s ease}.mobile-section-item[data-progress="33"] .mobile-section-ring-fill,.mobile-section-item[data-progress="34"] .mobile-section-ring-fill,.mobile-section-item[data-progress="50"] .mobile-section-ring-fill,.mobile-section-item[data-progress="67"] .mobile-section-ring-fill{stroke:#f59e0b}.mobile-section-item[data-progress="100"] .mobile-section-ring-fill{stroke:#10b981}.mobile-section-check{position:absolute;color:#10b981;opacity:0;transition:opacity .3s ease}.mobile-section-item.completed .mobile-section-check{opacity:1}.mobile-section-title{flex:1;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-section-num{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;font-size:.65rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.mobile-section-num.mobile-section-icon{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.mobile-section-item.active .mobile-section-num{background:var(--accent-cyan);color:#fff}.mobile-section-item.completed .mobile-section-num{background:#10b98126;color:#10b981}.mobile-section-item.locked{opacity:.5;cursor:not-allowed}.mobile-section-item.locked:hover{background:transparent;color:var(--text-secondary)}.mobile-upgrade-banner{margin-top:.5rem;padding:.75rem;background:linear-gradient(135deg,#9333ea14,#a855f70d);border:1px solid rgba(147,51,234,.2);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mobile-upgrade-info{display:flex;flex-direction:column;gap:.15rem}.mobile-upgrade-title{font-size:.75rem;font-weight:600;color:var(--accent-orange)}.mobile-upgrade-desc{font-size:.65rem;color:var(--text-muted)}.mobile-upgrade-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--accent-orange),var(--accent-red));color:#fff;font-size:.7rem;font-weight:600;border-radius:6px;text-decoration:none;white-space:nowrap;transition:all .2s}.mobile-upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ea580c4d}.mobile-cert-btn{display:none;margin-top:.5rem;padding:.65rem .75rem;background:linear-gradient(135deg,#ea580c1a,#dc26261a);border:1px solid rgba(234,88,12,.2);border-radius:8px;color:var(--accent-orange);font-size:.8rem;font-weight:600;text-decoration:none;text-align:center;transition:all .2s}.mobile-cert-btn svg{vertical-align:middle;margin-right:.5rem}.mobile-cert-btn:hover{background:linear-gradient(135deg,#ea580c26,#dc262626)}.mobile-reset-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.5rem;padding:.65rem .75rem;background:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:8px;color:#dc2626;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.mobile-reset-btn:hover{background:#dc26261f;border-color:#dc26264d}.mobile-reset-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .2s ease;padding:1rem}.confirm-dialog-overlay.visible{opacity:1;visibility:visible}.confirm-dialog{background:#fff;border-radius:16px;padding:1.5rem;max-width:400px;width:100%;box-shadow:0 25px 50px -12px #00000040;transform:scale(.95) translateY(-10px);transition:transform .2s ease}.confirm-dialog-overlay.visible .confirm-dialog{transform:scale(1) translateY(0)}.confirm-dialog-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:700;color:var(--text-primary, #1a202c)}.confirm-dialog-message{margin:0 0 1.5rem;font-size:.9375rem;color:var(--text-secondary, #4a5568);line-height:1.6}.confirm-dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-dialog-btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;border:none;display:inline-flex;align-items:center;gap:.5rem}.confirm-dialog-btn.cancel{background:var(--bg-tertiary, #f5f5f5);color:var(--text-primary, #1a202c)}.confirm-dialog-btn.cancel:hover{background:#e2e8f0}.confirm-dialog-btn.confirm{background:#dc2626;color:#fff}.confirm-dialog-btn.confirm:hover{background:#b91c1c}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid rgba(220,38,38,.2);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.mobile-progress-backdrop{display:none;position:fixed;inset:0;background:#0000004d;z-index:94;opacity:0;transition:opacity .3s ease}.mobile-progress-backdrop.visible{display:block;opacity:1}
