:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--page:#fbfbf9;--panel:#fff;--panel-strong:#f2f2ed;--ink:#171923;--muted:#60636f;--soft:#d8d9d2;--border:#e5e2d8;--brand:#e10098;--brand-dark:#a80072;--green:#178a55;--code-bg:#15161f;--code-line:#222432;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html{background:var(--page)}body{min-width:320px;color:var(--ink);background:linear-gradient(90deg, #e100980f, transparent 34rem), var(--page);margin:0}button,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);min-height:100vh;display:grid}.content-area{width:100%;min-width:0;padding:clamp(1rem,3vw,2.5rem)}.lesson-panel{width:min(100%,72rem);margin:0 auto}.sidebar{border-right:1px solid var(--border);background:#fbfbf9eb;flex-direction:column;gap:1rem;height:100vh;padding:1.25rem;display:flex;position:sticky;top:0}.brand{grid-template-columns:2.6rem minmax(0,1fr);align-items:center;gap:.85rem;display:grid}.brand-logo{width:2.6rem;height:2.6rem}.eyebrow{color:var(--brand-dark);margin:0;font-size:1.15rem;font-weight:750}.brand p{color:var(--muted);margin:0;font-size:.85rem}.mobile-picker{display:none}.progress-panel{border:1px solid var(--border);background:var(--panel);padding:.9rem}.progress-copy{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.86rem;display:flex}.progress-copy strong{color:var(--ink)}.progress-track{background:var(--panel-strong);height:.42rem;margin-top:.75rem;overflow:hidden}.progress-track span{background:var(--brand);height:100%;transition:width .18s;display:block}.course-list{scrollbar-width:thin;flex-direction:column;flex:1;gap:.55rem;min-height:0;margin-right:-.75rem;padding-right:.75rem;display:flex;overflow-y:auto}.course-item{text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:2rem minmax(0,1fr) 3.25rem;align-items:center;gap:.2rem;width:100%;padding:.82rem;display:grid}.course-item:hover{background:#e100980f}.course-item.is-active{box-shadow:inset .22rem 0 0 var(--brand);background:#fff;border-color:#e1009857}.course-number{color:var(--brand-dark);place-items:center;font-weight:780;display:inline-grid}.course-meta{min-width:0}.course-meta strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;display:block;overflow:hidden}.course-state{border:1px solid var(--border);color:var(--muted);place-items:center;padding:.16rem .45rem;font-size:.72rem}.course-state.is-complete{color:var(--green);border-color:#178a553d}.lesson-header{border-bottom:1px solid var(--border);padding:1.25rem 0 1.5rem}.lesson-kicker{flex-wrap:wrap;gap:.5rem;margin-bottom:.9rem;display:flex}.lesson-kicker span{border:1px solid var(--border);background:var(--panel);color:var(--muted);padding:.24rem .55rem;font-size:.78rem;font-weight:700}.lesson-kicker .done-pill{color:var(--green);border-color:#178a553d}.lesson-header h2{max-width:min(100%,22ch);margin:0;font-size:clamp(1.25rem,3vw,2.5rem);line-height:1.08}.lesson-header p{max-width:48rem;color:var(--muted);margin:1rem 0 0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.75}.tab-list{border-bottom:1px solid var(--border);gap:.4rem;padding-top:1rem;display:flex}.tab-button{color:var(--muted);background:0 0;border:0;border-bottom:.22rem solid #0000;padding:.82rem 1rem;font-weight:760}.tab-button.is-active{border-color:var(--brand);color:var(--ink)}.tab-panel{padding:1.8rem 0 3rem}.section-stack{gap:1.65rem;max-width:58rem;display:grid}.content-section{padding:.35rem 0}.content-section h3{margin:0 0 .75rem;font-size:1.18rem;line-height:1.35}.content-section p{max-width:56rem;color:var(--muted);margin:.65rem 0;font-size:1rem;line-height:1.85}.feature-grid{gap:1.25rem;max-width:58rem;margin:2rem 0;display:grid}.feature-card{background:#ffffff9e;border-bottom:1px solid #64646426;border-left:3px solid #e100986b;padding:.8rem 1rem}.feature-card h4{margin:0 0 .4rem;font-size:.98rem;line-height:1.35}.feature-card p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.7}.code-stack{gap:1rem;margin-top:2rem;display:grid}.code-card{background:var(--code-bg);border:1px solid #2f3140;border-radius:6px;margin:0;overflow:hidden}.code-card figcaption{color:#f4efff;border-bottom:1px solid #2f3140;justify-content:space-between;align-items:center;gap:1rem;padding:.72rem .9rem;display:flex}.code-card figcaption code{color:#f6a9df;font-size:.78rem}.code-card pre{margin:0;padding:1rem 0;overflow-x:auto}.code-card code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.88rem;line-height:1.65}.code-line{color:#e6e6ec;grid-template-columns:3rem minmax(max-content,1fr);min-height:1.72rem;padding-right:1rem;display:grid}.code-line.is-marked{background:var(--code-line)}.line-number{color:#71758a;text-align:right;-webkit-user-select:none;user-select:none;padding-right:.75rem}.line-content{white-space:pre}.token-comment{color:#8ca08f}.token-keyword{color:#ff83d1}.token-string{color:#ffd27d}.token-punctuation{color:#8ab4ff}.review-list{gap:.8rem;display:grid}.review-item{border:1px solid var(--border);background:var(--panel)}.review-item summary{cursor:pointer;align-items:center;gap:.6rem;padding:1rem;font-weight:760;list-style:none;display:flex}.review-item summary::-webkit-details-marker{display:none}.review-item summary span{color:var(--brand-dark);flex:none}.review-item p{border-top:1px solid var(--border);color:var(--muted);margin:0;padding:1rem}.complete-actions{justify-content:flex-start;margin-top:1.2rem;display:flex}.complete-button{background:var(--brand);color:#fff;border:0;min-width:9.4rem;padding:.88rem 1.2rem;font-weight:800}.complete-button:hover{background:var(--brand-dark)}.complete-button.is-complete{color:#fff;cursor:default;background:#b8bac4}@media (width<=900px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.mobile-picker{gap:.38rem;display:grid}.mobile-picker span{color:var(--muted);font-size:.82rem;font-weight:720}.mobile-picker select{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--ink);border-radius:0;padding:.82rem}.course-list{display:none}.content-area{padding:1rem}.lesson-header h2{max-width:none;font-size:clamp(2.2rem,12vw,3.4rem)}}
