:root{color-scheme:light;--canvas:#f7f8fb;--surface:#fff;--surface-subtle:#eef2f8;--ink:#111827;--ink-soft:#526071;--line:#d7dee9;--line-strong:#b8c2d1;--accent:#2157d5;--accent-strong:#1744ad;--accent-soft:#e8efff;--accent-ink:#103783;--success:#18794e;--danger:#b42318;--shadow:0 18px 45px #11182714;--radius-sm:.35rem;--radius-md:.7rem;--radius-lg:1rem;--content-width:72rem;--font-sans:Inter, "Segoe UI", "IBM Plex Sans", Arial, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--canvas:#0d1117;--surface:#141a23;--surface-subtle:#19212c;--ink:#edf2f7;--ink-soft:#a9b4c4;--line:#2b3543;--line-strong:#455267;--accent:#86a7ff;--accent-strong:#aec3ff;--accent-soft:#1b2b55;--accent-ink:#dce6ff;--success:#5fd09b;--danger:#ff8c83;--shadow:0 22px 52px #00000047}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas);min-width:20rem;overflow-x:clip}body{background:var(--canvas);min-width:20rem;min-height:100vh;color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65;overflow-x:clip}main{min-height:calc(100vh - 10rem)}main:focus{outline:none}h1,h2,h3,p,dl,dd,ol,ul{margin-block-start:0}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;text-wrap:balance;font-weight:700;line-height:1.12}h1{font-size:clamp(2.65rem,7vw,5.8rem)}h2{font-size:clamp(1.85rem,4vw,3.2rem)}h3{letter-spacing:-.02em;font-size:clamp(1.05rem,2vw,1.25rem)}p,li,dd{text-wrap:pretty}a{color:var(--accent-strong);text-underline-offset:.18em;text-decoration-thickness:.08em}button,input,select,textarea{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}img,svg{max-width:100%;display:block}code,pre{font-family:var(--font-mono)}pre{border:1px solid var(--line);border-radius:var(--radius-md);max-width:100%;overflow-x:auto}.content-table-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.content-table-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.content-table-scroll>table{min-width:100%}.shell{width:min(100% - 2rem, var(--content-width));margin-inline:auto}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:#fff;min-height:2.75rem;transition:transform .18s var(--ease);padding:.55rem .85rem;font-weight:700;position:fixed;inset-block-start:.75rem;inset-inline-start:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.file-button:focus-within{outline:3px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:3px}.global-state-message{z-index:50;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);max-width:min(28rem,100vw - 2rem);box-shadow:var(--shadow);color:var(--ink);margin:0;padding:.7rem .9rem;font-size:.84rem;position:fixed;bottom:1rem;right:1rem}.global-state-message:empty{display:none}.global-state-message[data-tone=error]{border-color:var(--danger);color:var(--danger)}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--canvas);position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1.25rem;min-height:4.5rem;display:flex;position:relative}.brand{min-height:2.75rem;color:var(--ink);letter-spacing:-.025em;align-items:center;gap:.65rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.desktop-nav ul,.mobile-menu ul{align-items:center;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.desktop-nav a,.mobile-menu a{border-radius:var(--radius-sm);min-height:2.75rem;color:var(--ink-soft);transition:background-color .18s var(--ease), color .18s var(--ease);align-items:center;padding-inline:.7rem;font-size:.91rem;font-weight:650;text-decoration:none;display:inline-flex}.desktop-nav a:hover,.desktop-nav a[aria-current=page],.mobile-menu a:hover,.mobile-menu a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink)}.desktop-nav a[aria-current=page],.mobile-menu a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent)}.site-header__actions{align-items:center;gap:.5rem;display:flex}.theme-toggle,.mobile-menu summary,.global-search>summary{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:2.75rem;min-height:2.75rem;color:var(--ink);transition:border-color .18s var(--ease), background-color .18s var(--ease);justify-content:center;align-items:center;gap:.45rem;padding:.45rem .7rem;font-size:.85rem;font-weight:650;display:inline-flex}.theme-toggle:hover,.mobile-menu summary:hover,.global-search>summary:hover{border-color:var(--line-strong);background:var(--surface-subtle)}.theme-toggle__short,.mobile-menu{display:none}.mobile-menu summary{list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.global-search>summary{cursor:pointer;list-style:none}.global-search>summary::-webkit-details-marker{display:none}.global-search__panel{z-index:30;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--canvas);width:min(38rem,100vw - 2rem);max-height:min(38rem,100vh - 6rem);box-shadow:var(--shadow);padding:1rem;position:absolute;inset-block-start:calc(100% + .65rem);inset-inline-end:0;overflow-y:auto}.global-search__panel label{color:var(--ink);margin-bottom:.45rem;font-size:.88rem;font-weight:700;display:block}.global-search__panel input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.75rem;color:var(--ink);padding-inline:.75rem}.global-search__status{color:var(--ink-soft);margin:.7rem 0 0;font-size:.8rem}.global-search__panel ul{gap:.15rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.global-search__panel li[hidden]{display:none}.global-search__panel a{border-radius:var(--radius-sm);color:var(--ink);gap:.3rem;padding:.75rem;text-decoration:none;display:grid}.global-search__panel a:hover,.global-search__panel a:focus-visible{background:var(--accent-soft)}.global-search__result-heading{justify-content:space-between;align-items:baseline;gap:1rem;min-width:0;display:flex}.global-search__result-heading strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search__result-heading small{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:.64rem}.global-search__result-context{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.mobile-menu nav{border-bottom:1px solid var(--line);background:var(--canvas);box-shadow:var(--shadow);padding:.75rem 1rem 1rem;position:absolute;inset-block-start:calc(100% + 1px);inset-inline:0}.mobile-menu ul{align-items:stretch;gap:.25rem}.mobile-menu a{justify-content:space-between;width:100%;padding-inline:.85rem}.hero{grid-template-columns:minmax(0,1.18fr) minmax(19rem,.82fr);align-items:center;gap:clamp(2.5rem,7vw,6.5rem);padding-block:clamp(4rem,9vw,8rem);display:grid}.hero__copy{max-width:45rem}.eyebrow,.reasoning-rail__label{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:1rem;font-size:.76rem;font-weight:700}.hero h1{max-width:11ch;margin-bottom:1.6rem}.hero__lead{max-width:39rem;color:var(--ink-soft);margin-bottom:2rem;font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.55}.hero__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:2.5rem;display:flex}.button,.text-link{justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;font-weight:700;display:inline-flex}.button{border-radius:var(--radius-sm);transition:background-color .18s var(--ease), transform .18s var(--ease);border:1px solid #0000;padding:.65rem 1rem;text-decoration:none}.button--primary{background:var(--accent-strong);color:#fff}.button--primary:hover{background:var(--accent);transform:translateY(-1px)}.text-link{color:var(--ink);text-decoration-color:var(--line-strong)}.text-link:hover{color:var(--accent-strong);text-decoration-color:currentColor}.hero__facts{flex-wrap:wrap;gap:1.5rem 2.5rem;margin-bottom:0;display:flex}.hero__facts div{max-width:13rem}.hero__facts dt{color:var(--ink);font-family:var(--font-mono);margin-bottom:.25rem;font-size:.95rem;font-weight:700}.hero__facts dd{color:var(--ink-soft);margin:0;font-size:.88rem}.reasoning-rail{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow);padding:clamp(1.35rem,3vw,2rem);position:relative}.reasoning-rail h2{margin-bottom:1.75rem;font-size:clamp(1.45rem,2.5vw,2rem)}.reasoning-rail ol{margin:0;padding:0;list-style:none}.reasoning-rail li{border-top:1px solid var(--line);grid-template-columns:2.25rem minmax(0,1fr);gap:.75rem;padding-block:.95rem;display:grid}.reasoning-rail__number{color:var(--accent-strong);font-family:var(--font-mono);padding-top:.1rem;font-size:.76rem;font-weight:700}.reasoning-rail h3{margin-bottom:.3rem;font-size:1rem}.reasoning-rail li p{color:var(--ink-soft);margin-bottom:0;font-size:.9rem;line-height:1.5}.course-principles{border-top:1px solid var(--line);padding-block:clamp(3rem,7vw,6rem)}.section-heading{grid-template-columns:minmax(10rem,.55fr) minmax(0,1.45fr);align-items:start;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4rem);display:grid}.section-heading h2{max-width:18ch;margin-bottom:0}.principles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;display:grid}.principles-grid article{border-top:2px solid var(--line-strong);padding-top:1.25rem}.principles-grid__index{color:var(--accent-strong);font-family:var(--font-mono);margin-bottom:2rem;font-size:.78rem;font-weight:700}.principles-grid h3{margin-bottom:.75rem}.principles-grid article>p:last-child{color:var(--ink-soft);margin-bottom:0}.site-footer{border-top:1px solid var(--line);margin-top:4rem}.site-footer__inner{min-height:7rem;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1.5rem;font-size:.9rem;display:flex}.site-footer p{margin-bottom:0}.site-footer strong{color:var(--ink)}@media (width<=58rem){.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu ul{flex-direction:column}}@media (width<=52rem){.hero{grid-template-columns:1fr;align-items:start;gap:3rem}.hero h1{max-width:13ch}.section-heading,.principles-grid{grid-template-columns:1fr}.section-heading{gap:0}.principles-grid{gap:2.5rem}}@media (width<=36rem){.shell{width:min(100% - 1.25rem, var(--content-width))}.site-header__inner{min-height:4rem}.mobile-menu summary{padding-inline:.6rem}.theme-toggle__long{display:none}.theme-toggle__short{display:inline}.global-search__panel{border-radius:var(--radius-sm);width:auto;max-height:calc(100vh - 5rem);inset-inline:0}.hero{padding-block:3.5rem}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions>*{width:100%}.text-link{justify-content:flex-start}.hero__facts{flex-direction:column}.reasoning-rail{padding:1.15rem}.site-footer__inner{flex-direction:column;justify-content:center;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-block{border-top:1px solid var(--line);padding-block:clamp(3rem,7vw,6rem)}.page-intro{border-bottom:1px solid var(--line);padding-block:clamp(4rem,9vw,7.5rem)}.page-intro h1{max-width:14ch;margin-bottom:1.5rem;font-size:clamp(2.65rem,6vw,5rem)}.page-intro>p:not(.eyebrow),.page-intro>div>p:not(.eyebrow){max-width:44rem;color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.25rem)}.page-intro .button{margin-top:1rem}.page-context-links{flex-wrap:wrap;gap:.6rem 1.25rem;margin-top:1.5rem;font-size:.9rem;display:flex}.page-context-links a{color:var(--ink-soft);text-underline-offset:.22em}.page-context-links a:hover{color:var(--accent-strong)}.page-intro--with-gauge{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.button--secondary,.text-button,.language-switch button,.lesson-progress button,.problem-status select{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.button--secondary:hover,.text-button:hover,.language-switch button:hover,.lesson-progress button:hover{border-color:var(--accent);color:var(--accent-strong)}.button--danger{background:var(--danger);color:#fff}.text-button{border-radius:var(--radius-sm);min-height:2.75rem;padding:.55rem .8rem;font-weight:700}.text-button--danger{color:var(--danger)}.course-layout{grid-template-columns:14rem minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);padding-block:clamp(3rem,7vw,6rem);display:grid}.course-stage-nav{max-height:calc(100vh - 8rem);position:sticky;top:6rem;overflow-y:auto}.course-stage-nav>p{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;font-size:.78rem;font-weight:800}.course-stage-nav ol,.lesson-list,.knowledge-map ol,.practice-ladder ol,.reference-index ul,.activity-grid{margin:0;padding:0;list-style:none}.course-stage-nav a{color:var(--ink-soft);padding-block:.36rem;font-size:.83rem;line-height:1.35;text-decoration:none;display:block}.course-stage-nav a:hover{color:var(--accent-strong)}.course-stage{padding-block:0 4rem;scroll-margin-top:6rem}.course-stage+.course-stage{border-top:1px solid var(--line);padding-top:3.5rem}.course-stage>header{grid-template-columns:6rem minmax(0,1fr);column-gap:1.25rem;margin-bottom:1.5rem;display:grid}.course-stage>header h2,.course-stage>header p:last-child{grid-column:2}.course-stage>header h2{margin-bottom:.55rem;font-size:clamp(1.65rem,3vw,2.35rem)}.course-stage>header p:last-child{max-width:46rem;color:var(--ink-soft)}.course-stage__number{color:var(--accent-strong);font-family:var(--font-mono);grid-area:1/1/span 2;font-size:.78rem;font-weight:750}.lesson-list{border-top:1px solid var(--line)}.lesson-list li{border-bottom:1px solid var(--line)}.lesson-list a{min-height:5.5rem;color:var(--ink);grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;text-decoration:none;display:grid}.lesson-list a:hover strong{color:var(--accent-strong)}.lesson-list__order{color:var(--ink-soft);font-family:var(--font-mono);font-size:.78rem}.lesson-list strong,.lesson-list small{display:block}.lesson-list small{color:var(--ink-soft);margin-top:.25rem;line-height:1.45}.lesson-list__state{color:var(--ink-soft);white-space:nowrap;padding-inline-start:1rem;font-size:.8rem}[data-progress-state=completed] .lesson-list__state,[data-progress-state=completed] [data-lesson-state-label]{color:var(--success)}[data-progress-state=ready] .lesson-list__state,[data-progress-state=ready] [data-lesson-state-label]{color:var(--accent-strong)}.lesson-shell{grid-template-columns:13rem minmax(0,48rem);justify-content:center;align-items:start;gap:clamp(2.5rem,6vw,6rem);padding-block:clamp(2.5rem,7vw,6rem);display:grid}.lesson-sidebar{color:var(--ink-soft);grid-area:1/1;font-size:.82rem;position:sticky;top:6rem}.lesson-article{grid-area:1/2;min-width:0}.back-link{margin-bottom:1.5rem;display:inline-block}.lesson-sidebar__stage{color:var(--ink);font-weight:750}.lesson-sidebar dl>div{border-top:1px solid var(--line);grid-template-columns:4rem 1fr;gap:.5rem;padding-block:.45rem;display:grid}.lesson-sidebar dd{color:var(--ink);margin:0}.lesson-context-links,.lesson-prerequisites{margin-top:2rem}.lesson-context-links h2,.lesson-prerequisites h2{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem;font-size:.78rem}.lesson-prerequisites ul{padding-left:1rem}.lesson-context-links ul{margin:0;padding:0;list-style:none}.lesson-context-links li+li{margin-top:.45rem}.lesson-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.language-switch{border:1px solid var(--line);border-radius:var(--radius-sm);gap:.25rem;margin:0;padding:.2rem;display:inline-flex}.language-switch legend{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.language-switch button{border-radius:calc(var(--radius-sm) - .1rem);border-color:#0000;min-height:2.75rem;padding-inline:.8rem}.language-switch button[aria-pressed=true],.lesson-progress button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.lesson-outcomes{border-left:3px solid var(--accent);background:var(--surface-subtle);margin-bottom:2.5rem;padding:1.25rem 1.4rem}.lesson-outcomes p{margin-bottom:.5rem;font-weight:750}.lesson-outcomes ul{margin-bottom:0;padding-left:1.2rem}.lesson-title h1{max-width:16ch;margin-bottom:1.25rem;font-size:clamp(2.35rem,5vw,4.15rem)}.lesson-title>p:last-child{color:var(--ink-soft);margin-bottom:3rem;font-size:1.18rem}.lesson-title__back,.lesson-body>h1{display:none}.lesson-body h2{border-top:1px solid var(--line);margin-top:3.5rem;margin-bottom:1rem;padding-top:1rem;font-size:clamp(1.45rem,3vw,2rem)}.lesson-body h3{margin-top:2rem}.lesson-body p,.lesson-body li{max-width:70ch}.lesson-body code:not(pre code),.binary-lab code{border:1px solid var(--line);background:var(--surface-subtle);border-radius:.25rem;padding:.12rem .3rem;font-size:.9em}.code-frame{border:1px solid var(--line);border-radius:var(--radius-md);background:#111827;margin-block:1rem 2rem;overflow:hidden}.code-toolbar{color:#cbd5e1;min-height:2.75rem;font-family:var(--font-mono);border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding-inline:.35rem;font-size:.75rem;display:flex}.code-toolbar button{color:#f8fafc;background:0 0;border:0;border-radius:.25rem;min-height:2.75rem;padding-inline:.65rem}.code-language-switch{align-items:center;display:flex}.code-language-switch button[aria-pressed=true]{color:#fff;background:#2f4160}.code-copy{margin-left:auto}.code-toolbar button:hover{background:#263244}.code-frame pre{border:0;border-radius:0;margin:0;padding:1rem;font-size:.86rem;line-height:1.65}html[data-code-language=cpp] [data-code-language=python],html[data-code-language=python] [data-code-language=cpp]{display:none!important}.lesson-progress{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);margin-top:4rem;padding:1.25rem}.lesson-progress__label{margin-bottom:.75rem;font-weight:750}.lesson-progress__actions{flex-wrap:wrap;gap:.5rem;display:flex}.lesson-progress button{border-radius:var(--radius-sm);min-height:2.75rem;padding-inline:.85rem}.lesson-practice{border-top:1px solid var(--line-strong);margin-top:3.5rem;padding-top:2.5rem}.lesson-practice>header{max-width:42rem}.lesson-practice>header>p:last-child{color:var(--ink-soft)}.lesson-practice ol{border-top:1px solid var(--line);margin:1.75rem 0 1.25rem;padding:0;list-style:none}.lesson-practice li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(11rem,13rem);align-items:start;gap:1.5rem;padding-block:1.25rem;display:grid}.lesson-practice h3{margin-bottom:.45rem;font-size:1.05rem}.lesson-practice li p:not(.lesson-practice__meta){color:var(--ink-soft);margin-bottom:.45rem;font-size:.9rem}.lesson-practice__meta{color:var(--ink-soft);font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;gap:.35rem .8rem;margin-bottom:.45rem;font-size:.7rem;display:flex}[data-problem-readiness-label]{color:var(--ink-soft);line-height:1.4;display:block}[data-problem-readiness=ready] [data-problem-readiness-label]{color:var(--success)}.lesson-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.lesson-navigation a{border-top:2px solid var(--line-strong);min-height:5rem;color:var(--ink);padding:1rem;text-decoration:none}.lesson-navigation a:last-child{text-align:right}.lesson-navigation small,.lesson-navigation strong{display:block}.lesson-navigation small{color:var(--ink-soft);margin-bottom:.3rem}.progress-overview{padding-block:1rem}.progress-overview__heading,.activity__heading,.data-controls{justify-content:space-between;align-items:end;gap:2rem;display:flex}.progress-overview__heading h2,.progress-overview__heading h3{margin-bottom:0}.progress-summary{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin-block:2.5rem;display:grid}.progress-summary div{border-right:1px solid var(--line);padding:1.1rem 1.25rem}.progress-summary div:last-child{border-right:0}.progress-summary dt{color:var(--ink-soft);font-size:.78rem}.progress-summary dd{color:var(--ink);font-family:var(--font-mono);margin:.2rem 0 0;font-size:1.25rem;font-weight:750}.activity{max-width:50rem}.activity__heading{align-items:baseline}.activity__heading h3{margin-bottom:0}.activity__heading p{color:var(--ink-soft);margin-bottom:0;font-size:.83rem}.activity-grid{grid-template-rows:repeat(7,.78rem);grid-auto-columns:.78rem;grid-auto-flow:column;gap:.22rem;width:max-content;margin:0;display:grid}.activity-chart{grid-template-columns:2.1rem max-content;align-items:start;gap:.5rem;margin-top:1rem;padding-bottom:.25rem;display:grid;overflow-x:auto}.activity-weekdays{color:var(--ink-soft);grid-template-rows:repeat(7,.78rem);gap:.22rem;margin:0;padding:0;font-size:.58rem;line-height:.78rem;list-style:none;display:grid}.activity-range{color:var(--ink-soft);margin:.4rem 0 0 2.6rem;font-size:.72rem}.activity-grid span{border:1px solid var(--line);background:var(--surface-subtle);border-radius:.16rem;width:.78rem;height:.78rem;display:block}.activity-grid span[data-activity-level="1"],.activity-legend i[data-level="1"]{background:#c7d7ff}.activity-grid span[data-activity-level="2"],.activity-legend i[data-level="2"]{background:#7095ed}.activity-grid span[data-activity-level="3"],.activity-legend i[data-level="3"]{background:var(--accent-strong)}.activity-legend{color:var(--ink-soft);align-items:center;gap:.3rem;margin-top:.65rem;font-size:.72rem;display:flex}.activity-legend i{border:1px solid var(--line);background:var(--surface-subtle);border-radius:.16rem;width:.78rem;height:.78rem}.data-controls{align-items:start}.data-controls>div:first-child{max-width:40rem}.data-controls__actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.file-button{cursor:pointer}.file-button input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.state-message{min-height:1.5rem;color:var(--success);flex-basis:100%;margin-bottom:0}.state-message[data-tone=error]{color:var(--danger)}.reset-dialog{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:min(100% - 2rem,32rem);color:var(--ink);box-shadow:var(--shadow);padding:1.5rem}.reset-dialog::backdrop{background:#0d11179e}.reset-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.reference-prerequisites ul{margin:.25rem 0 0;padding:0;list-style:none}.reference-prerequisites li{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;font-size:.72rem;display:flex}.reference-prerequisites li a{color:var(--ink-soft)}[data-prerequisite-state=completed] [data-prerequisite-label]{color:var(--success)}.practice-ladder{border-bottom:1px solid var(--line);padding-block:3rem}.practice-ladder h2{margin-bottom:2rem}.practice-ladder ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.practice-ladder li{border-top:2px solid var(--line-strong);padding-top:1rem}.practice-ladder strong,.practice-ladder span{display:block}.practice-ladder span{color:var(--ink-soft);margin-top:.5rem;font-size:.9rem}.practice-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.8rem;margin-bottom:1rem;display:grid}.practice-filter-panel>summary{display:none}.practice-provider-summary{border-block:1px solid var(--line-strong);flex-wrap:wrap;gap:0;margin:0 0 2rem;display:flex}.practice-provider-summary div{min-width:8rem;margin-right:1.25rem;padding:.9rem 1.25rem .9rem 0}.practice-provider-summary dt{color:var(--ink-soft);text-transform:uppercase;font-size:.72rem;font-weight:700}.practice-provider-summary dd{font-family:var(--font-display);margin:.2rem 0 0;font-size:1.45rem;font-weight:700}.practice-filters label span{color:var(--ink-soft);margin-bottom:.35rem;font-size:.75rem;font-weight:700;display:block}.practice-filters input,.practice-filters select,.problem-status select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.75rem;color:var(--ink);padding-inline:.65rem}.filter-result,.verification-note{color:var(--ink-soft);font-size:.83rem}.verification-note{border-left:2px solid var(--accent);padding-left:.75rem}.practice-group{margin-top:3.5rem}.practice-group>h2{margin-bottom:1rem;font-size:clamp(1.4rem,3vw,2rem)}.table-scroll{border-top:1px solid var(--line-strong);max-width:100%;overflow-x:auto}.practice-table{border-collapse:collapse;text-align:left;width:100%;min-width:58rem}.practice-table th,.practice-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:.8rem .7rem}.practice-table th{color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}.practice-table td{font-size:.84rem}.practice-table td:first-child{min-width:24rem}.practice-table td:first-child>a,.practice-table td:first-child>small,.practice-table td>strong,.practice-table td>span,.practice-table td>a{display:block}.task-note{color:var(--ink-soft);margin-top:.45rem}.task-note summary{width:fit-content;color:var(--accent-strong);cursor:pointer}.task-note p{max-width:52ch;margin:.45rem 0 0;line-height:1.5}.leetcode-collection{margin-top:2rem}.collection-index{border-block:1px solid var(--line-strong);padding-block:1.25rem}.collection-index>p{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:0 0 1rem;font-size:.75rem;font-weight:700}.collection-index ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.collection-index a{min-height:2.75rem;color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;padding-block:.3rem;font-size:.83rem;display:flex}.collection-index a:hover{color:var(--accent-strong)}.collection-index a span{color:var(--ink-faint);font-family:var(--font-mono)}.collection-group{margin-top:clamp(3.5rem,8vw,6rem);scroll-margin-top:6rem}.collection-group>header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.35rem 2rem;margin-bottom:1rem;display:grid}.collection-group>header p{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;margin:0;font-size:.72rem;font-weight:700}.collection-group>header h2{margin:0;font-size:clamp(1.55rem,3vw,2.25rem)}.collection-group>header>span{color:var(--ink-soft);font-size:.85rem}.collection-task-list{border-top:2px solid var(--line-strong);margin:0;padding:0;list-style:none}.collection-task-list>li{border-bottom:1px solid var(--line);grid-template-columns:3rem minmax(16rem,1fr) minmax(15rem,.75fr) minmax(11rem,.55fr);align-items:center;gap:1rem;padding-block:1rem;display:grid}.collection-task-order{color:var(--ink-faint);font-family:var(--font-mono);font-size:.82rem}.collection-task-main a,.collection-task-main small,.collection-task-stage a,.collection-task-stage small{display:block}.collection-task-main a{font-weight:700}.collection-task-main small,.collection-task-stage small{color:var(--ink-soft);margin-top:.25rem;font-size:.78rem;line-height:1.4}.practice-table td>small{margin-top:.35rem}.problem-prerequisites a{color:inherit}.practice-table td:first-child>small{color:var(--ink-soft);margin-top:.25rem;line-height:1.45}.progress-gauge{background:conic-gradient(var(--accent) var(--gauge-progress,0deg), var(--surface-subtle) 0deg);border-radius:50%;flex:none;place-items:center;width:10rem;height:10rem;display:grid}.progress-gauge:before{border:1px solid var(--line);background:var(--canvas);content:"";border-radius:50%;grid-area:1/1;width:7.4rem;height:7.4rem}.progress-gauge>div{z-index:1;text-align:center;grid-area:1/1}.progress-gauge strong,.progress-gauge span{display:block}.progress-gauge strong{font-family:var(--font-mono);font-size:1.35rem}.progress-gauge span{color:var(--ink-soft);font-size:.78rem}.reference-category-nav{padding-bottom:1.5rem}.reference-category-nav ol{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.reference-category-nav li+li{border-left:1px solid var(--line)}.reference-category-nav a{min-height:4.5rem;color:var(--ink);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;font-size:.82rem;font-weight:700;line-height:1.35;text-decoration:none;display:flex}.reference-category-nav a:hover{background:var(--surface-subtle);color:var(--accent-strong)}.reference-category-nav small{color:var(--ink-soft);font-family:var(--font-mono)}.reference-directory{padding-bottom:6rem}.reference-directory>section{border-top:1px solid var(--line);grid-template-columns:minmax(13rem,.42fr) minmax(0,1.58fr);gap:clamp(2rem,5vw,5rem);padding-block:3rem;scroll-margin-top:6rem;display:grid}.reference-directory>section>header h2{margin-bottom:.7rem;font-size:clamp(1.55rem,3vw,2.3rem)}.reference-directory>section>header p:last-child{color:var(--ink-soft);font-size:.9rem}.reference-directory__entries{margin:0;padding:0;list-style:none}.reference-directory__entries>li{border-top:1px solid var(--line);scroll-margin-top:6rem}.reference-directory__entries>li:last-child{border-bottom:1px solid var(--line)}.reference-directory__entries a{min-height:7rem;color:var(--ink);grid-template-columns:minmax(9.5rem,.55fr) minmax(0,1.45fr) auto;align-items:start;gap:1.25rem;padding-block:1rem;text-decoration:none;display:grid}.reference-directory__entries a:hover strong,.reference-directory__entries a:hover>span:last-child{color:var(--accent-strong)}.reference-directory__entries strong,.reference-directory__entries small,.reference-directory__entries a>span:nth-child(2)>span{display:block}.reference-directory__entries strong{line-height:1.35}.reference-directory__entries small{color:var(--ink-soft);margin-top:.35rem;font-size:.68rem;line-height:1.45}.reference-directory__entries a>span:nth-child(2)>span{color:var(--ink-soft);font-size:.86rem}.reference-directory__entries a>span:last-child{color:var(--ink-soft)}.reference-topic-header .back-link{margin-bottom:2rem;display:inline-block}.reference-topic-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:start;gap:clamp(2.5rem,6vw,6rem);padding-block:1rem 5rem;display:grid}.reference-topic-content{min-width:0;max-width:48rem}.reference-topic-content>section{border-top:1px solid var(--line);padding-block:2rem}.reference-topic-content>section:first-child{border-top:0}.reference-topic-content h2{margin-bottom:1rem;font-size:clamp(1.35rem,3vw,1.85rem)}.reference-topic-content h3{margin:1.75rem 0 .75rem;font-size:1rem}.reference-topic-content p,.reference-topic-content ol{color:var(--ink-soft)}.reference-topic-content ol{margin:0;padding-left:1.35rem}.reference-topic-content ul{margin:0;padding-left:1.2rem}.reference-topic-content li{color:var(--ink-soft);margin-block:.65rem}.reference-deep-dive{scroll-margin-top:6rem}.reference-topic-mobile-toc{display:none}.reference-deep-dive__lead{max-width:68ch;font-size:1.04rem}.reference-invariant{border-left:3px solid var(--accent);background:var(--surface-subtle);margin-block:1.5rem;padding:1rem 1.15rem}.reference-invariant h3{margin-top:0}.reference-invariant p{margin-bottom:0}.reference-implementations{margin-top:2rem}.reference-implementations>p{max-width:65ch}.reference-code-example h4{margin:1.25rem 0 .75rem;font-size:.88rem}.reference-code-pair .code-frame{margin-bottom:0}.reference-callout{background:var(--surface);margin-bottom:1rem;border-left:4px solid var(--accent)!important;padding:1.35rem 1.5rem!important}.reference-callout h2{margin-bottom:.55rem}.reference-callout p:last-child{color:var(--ink-soft);margin-bottom:0}.reference-topic-sidebar{border-left:1px solid var(--line);padding-left:1.25rem;position:sticky;top:6rem}.reference-topic-sidebar section{border-top:1px solid var(--line);padding-block:1rem}.reference-topic-sidebar section:first-child{border-top:0;padding-top:0}.reference-topic-sidebar h2{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem}.reference-topic-sidebar p,.reference-topic-sidebar li{color:var(--ink-soft);font-size:.78rem}.reference-topic-sidebar ul{margin:0;padding:0;list-style:none}.reference-topic-sidebar li+li{margin-top:.5rem}.reference-topic-sidebar li span{font-size:.68rem;display:block}.reference-topic-navigation{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));padding-block:0 6rem;display:grid}.reference-topic-navigation a{min-height:5.5rem;color:var(--ink);padding-block:1rem;text-decoration:none;display:block}.reference-topic-navigation a:last-child{text-align:right}.reference-topic-navigation small,.reference-topic-navigation strong{display:block}.reference-topic-navigation small{color:var(--ink-soft);font-size:.7rem}@media (width<=60rem){.reference-directory>section,.reference-topic-layout{grid-template-columns:1fr}.reference-directory>section{gap:1.5rem}.reference-directory>section>header{max-width:42rem}.reference-topic-sidebar{border-top:1px solid var(--line);border-left:0;padding:1rem 0 0;position:static}.reference-topic-mobile-toc{border-block:1px solid var(--line);margin-block:1rem 0;padding-block:1.5rem;display:block}.reference-topic-mobile-toc h2{margin-bottom:.75rem}.reference-topic-mobile-toc ol{margin:0;padding-left:1.35rem}.reference-topic-mobile-toc li+li{margin-top:.55rem}.reference-topic-sidebar-toc{display:none}}@media (width<=52rem){.reference-category-nav ol{grid-template-columns:1fr}.reference-category-nav li+li{border-top:1px solid var(--line);border-left:0}.reference-category-nav a{min-height:3.75rem}.reference-directory__entries a{grid-template-columns:minmax(0,1fr) auto;min-height:0}.reference-directory__entries a>span:nth-child(2){grid-column:1/-1}.reference-directory__entries a>span:last-child{grid-area:1/2}}@media (width<=36rem){.reference-topic-layout{padding-bottom:3.5rem}.reference-topic-navigation{grid-template-columns:1fr;padding-bottom:4rem}.reference-topic-navigation a:last-child{border-top:1px solid var(--line);text-align:left}}.binary-lab{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-md);background:var(--surface);margin-top:4rem;padding:clamp(1.25rem,4vw,2rem)}.binary-lab__heading h2{border-top:0;margin-top:0;padding-top:0}.binary-array{grid-template-columns:repeat(8,minmax(2.8rem,1fr));gap:.35rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.binary-array li{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-subtle);text-align:center;padding:.55rem .3rem}.binary-array span,.binary-array small{display:block}.binary-array small{color:var(--ink-soft);font-family:var(--font-mono);font-size:.65rem}.binary-array li[data-binary-state=mid]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.binary-array li[data-binary-state=result]{border-color:var(--success);background:color-mix(in srgb, var(--success) 12%, var(--surface));color:var(--success);font-weight:700}.binary-array li[data-binary-state=discarded]{opacity:.35}.binary-lab__explanation{min-height:3.5rem;color:var(--ink-soft)}.binary-lab__controls{flex-wrap:wrap;gap:.55rem;display:flex}.binary-lab__controls button{min-height:2.75rem}@media (width<=64rem){.course-layout,.lesson-shell{grid-template-columns:minmax(0,1fr)}.lesson-sidebar,.lesson-article{grid-area:auto/1;min-width:0}.lesson-title__back{display:inline-block}.lesson-sidebar__back{display:none}.course-stage-nav,.lesson-sidebar{max-height:none;position:static}.course-stage-nav ol{gap:.35rem 1rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.course-stage-nav li{flex:none}.lesson-sidebar{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;padding-bottom:1rem;display:grid}.practice-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=52rem){.page-intro--with-gauge,.data-controls{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.progress-summary,.practice-ladder ol{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-summary div:nth-child(2){border-right:0}.progress-summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}.data-controls__actions{justify-content:flex-start}.collection-index ol{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-task-list>li{grid-template-columns:2.5rem minmax(0,1fr)}.collection-task-stage,.collection-task-list .problem-status{grid-column:2}}@media (width<=36rem){.page-intro{padding-block:3.5rem}.page-intro h1,.lesson-title h1{font-size:clamp(2.25rem,12vw,3.3rem)}.reference-topic-header h1{font-size:clamp(2rem,9vw,2.65rem)}.course-stage>header{grid-template-columns:1fr}.course-stage>header h2,.course-stage>header p:last-child,.course-stage__number{grid-area:auto/1}.lesson-list a{grid-template-columns:2rem minmax(0,1fr);padding-block:.8rem}.lesson-list__state{grid-column:2;padding-left:0}.lesson-sidebar,.practice-filters,.progress-summary,.practice-ladder ol,.lesson-navigation,.lesson-practice li{grid-template-columns:1fr}.practice-filter-panel{border-block:1px solid var(--line-strong);margin-bottom:1rem}.practice-filter-panel>summary{min-height:2.75rem;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-weight:750;display:flex}.practice-filter-panel>summary small{color:var(--ink-soft);font-size:.72rem;font-weight:650}.practice-filter-panel:not([open])>.practice-filters{display:none}.practice-filter-panel[open]>.practice-filters{padding-block:.75rem 1rem}.task-note summary{align-items:center;min-height:2.75rem;display:inline-flex}.progress-summary div,.progress-summary div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.progress-summary div:last-child{border-bottom:0}.progress-overview__heading,.activity__heading{flex-direction:column;align-items:flex-start}.activity{max-width:100%;padding-bottom:.5rem;overflow-x:auto}.collection-index ol,.collection-group>header{grid-template-columns:1fr}.collection-group>header>span{margin-top:.35rem}.binary-array{grid-template-columns:repeat(4,minmax(2.6rem,1fr))}.lesson-navigation a:last-child{text-align:left}}
