.course-layout{min-height:calc(100vh - var(--header-height));display:flex}.course-content{flex:1;min-width:0;padding:2rem 1.5rem 4rem}@media (width>=1024px){.course-content{margin-left:var(--sidebar-width);padding:2rem 3rem 4rem}}.course-content-inner{gap:3rem;max-width:64rem;margin:0 auto;display:flex}.course-main{flex:1;min-width:0;max-width:50rem}.course-toc-rail{flex-shrink:0;width:14rem;display:none}@media (width>=1280px){.course-toc-rail{display:block}}.course-breadcrumbs{color:var(--lf-slate);align-items:center;gap:.375rem;margin-bottom:1.5rem;font-size:.8125rem;display:flex}.course-breadcrumbs a{color:var(--lf-slate);text-decoration:none;transition:color .15s}.course-breadcrumbs a:hover{color:var(--lf-primary)}.course-breadcrumbs .separator{color:var(--lf-purple-200);font-size:.75rem}.course-breadcrumbs .current{color:var(--lf-charcoal);font-weight:500}.lesson-header{margin-bottom:2.5rem}.lesson-indicator{text-transform:uppercase;letter-spacing:.05em;color:var(--lf-primary);align-items:center;gap:.375rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:inline-flex}.lesson-indicator-dot{background:var(--lf-primary);border-radius:50%;width:6px;height:6px}.lesson-title{letter-spacing:-.025em;color:var(--lf-ink);margin:0 0 .5rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;line-height:1.2}.lesson-subtitle{color:var(--lf-slate);max-width:36rem;font-size:1.0625rem;line-height:1.6}.learn-goals{border:1px solid var(--lf-purple-100);background:var(--lf-purple-50);border-radius:.75rem;margin-bottom:2.5rem;padding:1.25rem 1.5rem}.learn-goals-title{text-transform:uppercase;letter-spacing:.05em;color:var(--lf-primary);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.learn-goals ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.learn-goals li{color:var(--lf-charcoal);align-items:flex-start;gap:.5rem;font-size:.9375rem;line-height:1.5;display:flex}.learn-goals li:before{content:"";background:var(--lf-primary);border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:2px;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z' clip-rule='evenodd'/%3E%3C/svg%3E")}.callout{border-left:4px solid;border-radius:.5rem;margin:1.5rem 0;padding:1rem 1.25rem;font-size:.9375rem;line-height:1.6}.callout-title{align-items:center;gap:.375rem;margin-bottom:.375rem;font-size:.875rem;font-weight:600;display:flex}.callout p{margin:0}.callout p+p{margin-top:.5rem}.callout-tip{border-color:var(--lf-primary);background:var(--lf-purple-50)}.callout-tip .callout-title{color:var(--lf-primary)}.callout-warning{border-color:var(--lf-warning);background:#fffbeb}.callout-warning .callout-title{color:var(--lf-warning)}.callout-info{background:#eff6ff;border-color:#3b82f6}.callout-info .callout-title{color:#3b82f6}.code-buildup{margin:1.5rem 0 2rem}.code-buildup-step{gap:1.25rem;display:flex;position:relative}.code-buildup-step+.code-buildup-step{margin-top:1.5rem}.code-buildup-gutter{flex-direction:column;flex-shrink:0;align-items:center;width:2rem;display:flex}.code-buildup-number{background:var(--lf-primary);color:#fff;z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;display:flex}.code-buildup-line{background:var(--lf-purple-100);flex:1;width:2px;margin-top:.25rem}.code-buildup-body{flex:1;min-width:0;padding-bottom:.5rem}.code-buildup-note{color:var(--lf-charcoal);margin-bottom:.75rem;font-size:.9375rem;line-height:1.6}.code-buildup-body pre{border-radius:.5rem;margin:0;font-size:.8125rem!important}.before-after{grid-template-columns:1fr;gap:1rem;margin:1.5rem 0;display:grid}@media (width>=640px){.before-after{grid-template-columns:1fr 1fr}}.before-after-pane{border:1px solid var(--lf-purple-100);border-radius:.5rem;overflow:hidden}.before-after-label{text-transform:uppercase;letter-spacing:.05em;color:var(--lf-slate);background:var(--lf-paper);border-bottom:1px solid var(--lf-purple-100);padding:.5rem .75rem;font-size:.75rem;font-weight:600}.before-after-pane pre{border-radius:0!important;margin:0!important;font-size:.8125rem!important}.glossary-term{text-decoration:underline dashed;text-decoration-color:var(--lf-purple-200);text-underline-offset:3px;cursor:help;color:inherit}.glossary-tooltip{z-index:9999;background:var(--lf-ink);max-width:min(320px,85vw);color:var(--lf-paper);pointer-events:none;opacity:0;border-radius:.5rem;padding:.625rem .875rem;font-size:.8125rem;line-height:1.5;transition:opacity .15s,transform .15s;position:fixed;transform:translateY(4px);box-shadow:0 4px 20px #00000040}.glossary-tooltip.visible{opacity:1;transform:translateY(0)}.glossary-tooltip:after{content:"";border:6px solid #0000;position:absolute;left:50%;transform:translate(-50%)}.glossary-tooltip.above:after{border-top-color:var(--lf-ink);top:100%}.glossary-tooltip.below:after{border-bottom-color:var(--lf-ink);bottom:100%}.glossary-tooltip-term{color:var(--lf-purple-200);margin-bottom:.25rem;font-weight:600}.quiz{border:1px solid var(--lf-purple-100);background:var(--lf-white);border-radius:.75rem;margin:2rem 0;padding:1.5rem}.quiz-question{color:var(--lf-ink);margin:0 0 1rem;font-size:1rem;font-weight:600;line-height:1.5}.quiz-options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.quiz-option{border:1px solid var(--lf-purple-100);cursor:pointer;text-align:left;width:100%;color:var(--lf-charcoal);background:0 0;border-radius:.5rem;align-items:center;gap:.75rem;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .15s,background-color .15s;display:flex}.quiz-option:hover:not(:disabled){border-color:var(--lf-purple-200);background:var(--lf-purple-50)}.quiz-option.selected{border-color:var(--lf-primary);background:var(--lf-purple-50)}.quiz-option:disabled{cursor:default;opacity:.7}.quiz-option.correct{border-color:var(--lf-success);opacity:1;background:#ecfdf5}.quiz-option.incorrect{border-color:var(--lf-error);opacity:1;background:#fef2f2}.quiz-radio{border:2px solid var(--lf-purple-200);border-radius:50%;flex-shrink:0;width:16px;height:16px;transition:border-color .15s,background-color .15s}.quiz-option.selected .quiz-radio{border-color:var(--lf-primary);background:var(--lf-primary);box-shadow:inset 0 0 0 2.5px #fff}.quiz-option.correct .quiz-radio{border-color:var(--lf-success);background:var(--lf-success);box-shadow:inset 0 0 0 2.5px #fff}.quiz-option.incorrect .quiz-radio{border-color:var(--lf-error);background:var(--lf-error);box-shadow:inset 0 0 0 2.5px #fff}.quiz-actions{gap:.5rem;display:flex}.quiz-btn{cursor:pointer;border:none;border-radius:9999px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:background-color .15s,transform .1s}.quiz-btn:active{transform:scale(.97)}.quiz-btn-check{background:var(--lf-primary);color:#fff}.quiz-btn-check:hover{background:var(--lf-primary-dark)}.quiz-btn-check:disabled{opacity:.5;cursor:default}.quiz-btn-retry{background:var(--lf-paper);color:var(--lf-charcoal);border:1px solid var(--lf-purple-100)}.quiz-btn-retry:hover{background:var(--lf-purple-50)}.quiz-feedback{border-radius:.5rem;margin-top:1rem;padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.quiz-feedback-correct{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.quiz-feedback-incorrect{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.lesson-toc{top:calc(var(--header-height) + 2rem);position:sticky}.lesson-toc-title{color:var(--lf-ink);margin-bottom:.75rem;font-size:.8125rem;font-weight:600}.lesson-toc-list{border-left:1px solid var(--lf-purple-100);margin:0;padding:0;list-style:none}.lesson-toc-item{border-left:2px solid #0000;margin-left:-1px}.lesson-toc-item.active{border-color:var(--lf-primary)}.lesson-toc-link{color:var(--lf-slate);padding:.25rem 0 .25rem .875rem;font-size:.8125rem;line-height:1.5;text-decoration:none;transition:color .15s;display:block}.lesson-toc-link:hover{color:var(--lf-ink)}.lesson-toc-item.active .lesson-toc-link{color:var(--lf-ink);font-weight:500}.lesson-toc-link.depth-3{padding-left:1.75rem}.up-next{border-top:1px solid var(--lf-purple-100);margin-top:3rem;padding-top:2rem}.up-next a{border-radius:.75rem;padding:1rem 1.25rem;text-decoration:none;transition:background-color .15s;display:block}.up-next a:hover{background:var(--lf-purple-50)}.up-next-label{color:var(--lf-slate);align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.8125rem;display:flex}.up-next-title{color:var(--lf-ink);margin-bottom:.25rem;font-size:1.0625rem;font-weight:600}.up-next-desc{color:var(--lf-slate);font-size:.875rem;line-height:1.5}.takeaways{border:1px solid var(--lf-purple-100);background:var(--lf-paper);border-radius:.75rem;margin:2.5rem 0 0;padding:1.25rem 1.5rem}.takeaways-title{text-transform:uppercase;letter-spacing:.05em;color:var(--lf-charcoal);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.takeaways ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.takeaways li{color:var(--lf-charcoal);padding-left:1.25rem;font-size:.9375rem;line-height:1.5;position:relative}.takeaways li:before{content:"✓";color:var(--lf-success);font-weight:700;position:absolute;left:0}.real-world{margin:2rem 0}.real-world-header{background:var(--lf-paper);border:1px solid var(--lf-purple-100);border-bottom:none;border-radius:.5rem .5rem 0 0;justify-content:space-between;align-items:center;padding:.5rem .875rem;font-size:.8125rem;display:flex}.real-world-filename{color:var(--lf-charcoal);font-family:JetBrains Mono,ui-monospace,monospace;font-weight:600}.real-world-link{color:var(--lf-slate);align-items:center;gap:.25rem;font-size:.75rem;text-decoration:none;transition:color .15s;display:flex}.real-world-link:hover{color:var(--lf-primary)}.real-world pre{border-radius:0 0 .5rem .5rem!important;margin:0!important}.real-world-annotations{border:1px solid var(--lf-purple-100);background:var(--lf-purple-50);border-radius:.5rem;margin-top:1rem;padding:1rem 1.25rem}.real-world-annotations dt{color:var(--lf-primary-dark);margin-top:.75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.8125rem;font-weight:600}.real-world-annotations dt:first-child{margin-top:0}.real-world-annotations dd{color:var(--lf-charcoal);margin:.25rem 0 0;font-size:.875rem;line-height:1.5}.course-hero{background:var(--lf-ink);border-radius:0 0 1rem 1rem;margin-bottom:3rem;padding:3.5rem 1.5rem 3rem;position:relative;overflow:hidden}@media (width>=1024px){.course-hero{padding:4.5rem 3rem 3.5rem}}.course-hero-grid{background-image:linear-gradient(#7f77dd1f 1px,#0000 1px),linear-gradient(90deg,#7f77dd1f 1px,#0000 1px);background-size:4rem 4rem;position:absolute;inset:0;mask-image:radial-gradient(60% 80% at 70% 40%,#000 10%,#0000 100%)}.course-hero-inner{max-width:36rem;position:relative}.course-hero-title{letter-spacing:-.03em;color:var(--lf-white);margin:0 0 1rem;font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.15}.course-hero-desc{color:var(--lf-purple-200);margin:0 0 1.5rem;font-size:1rem;line-height:1.7}.course-hero-stats{color:var(--lf-purple-200);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:2rem;font-size:.8125rem;font-weight:600;display:flex}.course-hero-stats .dot{color:#afa9ec4d}.course-hero-cta{color:#fff;background:var(--lf-primary-light);border-radius:9999px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 0 20px #534ab74d}.course-hero-cta:hover{background:var(--lf-primary-glow);transform:translateY(-1px);box-shadow:0 0 30px #7f77dd66}.course-modules{max-width:50rem;margin:0 auto}.course-module{margin-bottom:2.5rem}.course-module-label{text-transform:uppercase;letter-spacing:.05em;color:var(--lf-primary);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.course-module-title{letter-spacing:-.02em;color:var(--lf-ink);margin:0 0 .5rem;font-size:1.375rem;font-weight:700}.course-module-desc{color:var(--lf-slate);margin:0 0 1rem;font-size:.9375rem;line-height:1.5}.course-lesson-list{flex-direction:column;gap:.5rem;display:flex}.course-lesson-card{border:1px solid var(--lf-purple-100);border-radius:.5rem;align-items:center;gap:1rem;padding:.875rem 1rem;text-decoration:none;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s;display:flex}.course-lesson-card:hover{border-color:var(--lf-purple-200);background:var(--lf-purple-50);transform:translateY(-1px);box-shadow:0 2px 8px #3c34890f}.course-lesson-num{background:var(--lf-paper);width:2rem;height:2rem;color:var(--lf-primary);border:1px solid var(--lf-purple-100);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex}.course-lesson-card:hover .course-lesson-num{background:var(--lf-primary);color:#fff;border-color:var(--lf-primary)}.course-lesson-info{flex:1;min-width:0}.course-lesson-title{color:var(--lf-ink);font-size:.9375rem;font-weight:600}.course-lesson-desc{color:var(--lf-slate);margin-top:.125rem;font-size:.8125rem}.course-lesson-chevron{color:var(--lf-purple-200);flex-shrink:0;transition:color .15s,transform .15s}.course-lesson-card:hover .course-lesson-chevron{color:var(--lf-primary);transform:translate(2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.course-hero-inner{animation:.5s ease-out fadeInUp}
