@font-face{font-family:Studio;src:url("../algo-studio/fonts/SourceSans3-Variable.ttf") format("truetype");font-weight:200 900;font-display:swap}:root{--paper:#f8f7f2;--surface:#fff;--ink:#233a34;--muted:#63736c;--line:#e0e5dc;--pine:#173e35;--accent:#d9e9b7;--soft:#eef3e8;--orange:#ad542d;--radius:18px;color-scheme:light;font-family:Studio,system-ui,sans-serif;font-size:17px;line-height:1.6;background:var(--paper);color:var(--ink)}:root[data-theme="dark"]{--paper:#14241f;--surface:#1b3029;--ink:#ecf0e7;--muted:#b3c3b8;--line:#365047;--pine:#9ed7b6;--accent:#c3df9a;--soft:#243e32;--orange:#f0b08c;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid var(--pine);outline-offset:4px}h1,h2,h3,p{margin:0 0 1rem}h1,h2,h3{line-height:1.15;letter-spacing:-0.025em}h1{font-size:clamp(2.25rem,4.2vw,3.8rem);font-weight:650}h2{font-size:1.75rem}h3{font-size:1.2rem}p{max-width:75ch}small,.fine-print{font-size:.83rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;left:16px;padding:12px;background:var(--surface);z-index:100}.skip:focus{top:12px}.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);padding:33px 23px 20px;display:flex;flex-direction:column;z-index:20;overflow-y:auto;overscroll-behavior:contain}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;font-size:1.55rem;letter-spacing:-0.05em;line-height:1.05;margin-bottom:45px}.brand-light{font-weight:350}.brand small{display:block;font-size:.48rem;letter-spacing:.13em;font-weight:650;margin-top:9px;white-space:nowrap}.brand-mark{position:relative;background:#173e35;color:#fff;width:43px;height:43px;display:grid;place-items:center;border-radius:13px;font-size:2rem}.brand-mark span{color:#c7df9f;position:absolute;right:3px;top:3px;font-size:1.1rem}.nav-label,.sidebar-bottom>label,.eyebrow{font-size:.68rem;letter-spacing:.15em;font-weight:700;color:var(--muted)}.nav-label{margin-left:12px;margin-bottom:12px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:11px 12px;display:flex;gap:13px;align-items:center;text-decoration:none;border-radius:10px;font-size:.94rem;color:var(--muted)}.sidebar nav a span{font-size:1.2rem;width:19px;text-align:center}.sidebar nav a[aria-current="page"],.sidebar nav a:hover{background:var(--soft);color:var(--pine)}.sidebar-note{margin-top:auto;padding:30px 12px 24px}.sidebar-note p{font-size:1.3rem;line-height:1.35;font-weight:450;margin:10px 0 12px}.sidebar-note a{font-size:.8rem;color:var(--muted)}.sidebar-note .eyebrow{font-size:.55rem}.sidebar-bottom{border-top:1px solid var(--line);padding-top:18px}.sidebar-bottom select{display:block;width:100%;margin:7px 0;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:7px 10px;color:var(--ink)}.text-button{background:0;border:0;padding:0;color:var(--muted);text-decoration:underline;font-size:.8rem;text-align:left}.site-link{display:block;font-size:.76rem;margin-top:14px;color:var(--muted)}.main-shell{margin-left:252px;min-height:100vh}.topbar{height:78px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px;background:var(--paper)}.breadcrumb{font-size:.84rem;color:var(--muted);display:flex;gap:13px;align-items:center}.breadcrumb strong{color:var(--ink);font-weight:600}.top-actions{display:flex;gap:17px;align-items:center}.search-button{border:0;background:0;color:var(--muted);font-size:.8rem;display:flex;gap:20px;align-items:center}kbd{font-size:.66rem;border:1px solid var(--line);border-radius:5px;padding:2px 6px}.icon-button{background:transparent;border:0;font-size:1.4rem;color:var(--ink);min-width:38px;min-height:38px}.menu-button{display:none}.save-status{font-size:.7rem;color:var(--muted);padding:8px 42px 0;text-align:right;min-height:28px}.save-status.error{color:var(--orange);font-weight:650}main{padding:27px 42px 65px;max-width:1500px;margin:auto;min-height:calc(100vh - 180px)}main:focus{outline:0}footer{display:flex;justify-content:space-between;gap:16px;font-size:.76rem;color:var(--muted);padding:22px 42px;border-top:1px solid var(--line)}.eyebrow{color:var(--pine);margin:0 0 15px;display:block}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:center;padding:15px 0 38px}.hero .lead{font-size:1.05rem;color:var(--muted);max-width:52ch}.hero h1{max-width:15ch}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;text-decoration:none;background:var(--pine);border:1px solid var(--pine);color:var(--paper);border-radius:9px;padding:11px 20px;font-weight:600;font-size:.9rem;min-height:45px}.button.secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.button.ghost{background:0;border-color:var(--line);color:var(--ink)}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.hero-art{position:relative;min-height:280px;display:grid;place-items:center;border:1px solid var(--line);border-radius:24px;background:var(--soft);overflow:hidden}.hero-art svg{width:100%;max-width:340px;height:260px}.hero-art .art-label{position:absolute;bottom:15px;left:20px;font-size:.65rem;color:var(--muted);letter-spacing:.1em}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:38px}.stat{padding:20px 24px}.stat:not(:last-child){border-right:1px solid var(--line)}.stat strong{font-size:1.8rem;display:block;line-height:1.15;font-weight:600}.stat span{font-size:.8rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin:32px 0 18px}.section-heading h2{font-size:1.45rem;margin:0}.section-heading a{font-size:.83rem;color:var(--muted)}.continue-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;border:1px solid var(--line);border-radius:var(--radius);padding:27px 30px;background:var(--surface)}.continue-card h3{font-size:1.5rem;margin-bottom:10px}.continue-card p{color:var(--muted);margin:0}.pill{display:inline-flex;padding:4px 10px;font-size:.66rem;letter-spacing:.06em;border:1px solid var(--line);border-radius:20px;color:var(--muted);white-space:nowrap}.pill.complete{background:var(--soft);color:var(--pine)}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stage-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;display:flex;flex-direction:column;gap:14px;transition:transform .15s,border-color .15s}.stage-card:hover{transform:translateY(-3px);border-color:var(--pine)}.stage-card .stage-number{font-size:.68rem;letter-spacing:.1em;color:var(--muted)}.stage-card h3{margin:0;font-size:1.22rem}.stage-card p{font-size:.86rem;color:var(--muted);margin:0;flex:1}.stage-card small{font-size:.72rem}.meter{height:5px;background:var(--line);border-radius:8px;overflow:hidden}.meter span{display:block;height:100%;background:var(--pine);border-radius:8px}.page-intro{max-width:75ch;margin:10px 0 28px}.page-intro p{color:var(--muted)}.page-intro h1{font-size:2.7rem}.filters{display:flex;gap:12px;align-items:center;margin-bottom:26px;flex-wrap:wrap}.filters input{flex:1;min-width:200px}.filters input,.filters select,input,textarea{border:1px solid var(--line);border-radius:9px;padding:10px 13px;background:var(--surface);color:var(--ink)}.filters select{max-width:270px}.stage-section{margin:32px 0}.stage-title{display:flex;gap:15px;align-items:baseline;margin-bottom:12px}.stage-title .eyebrow{font-size:.66rem;margin:0}.stage-title h2{font-size:1.45rem;margin:0}.lesson-row{display:grid;grid-template-columns:54px 1fr auto;gap:15px;align-items:center;padding:17px 20px;border:1px solid var(--line);border-top:0;background:var(--surface);text-decoration:none}.lesson-row:first-of-type{border-top:1px solid var(--line);border-radius:13px 13px 0 0}.lesson-row:last-child{border-radius:0 0 13px 13px}.lesson-row:hover{background:var(--soft)}.lesson-id{color:var(--muted);font-size:.75rem;font-family:monospace}.lesson-row strong{display:block;font-weight:600;font-size:.96rem}.lesson-row small{display:block;font-size:.72rem;margin-top:4px}.lesson-top{max-width:950px}.lesson-top h1{font-size:clamp(2rem,3.5vw,3rem);max-width:30ch;margin-bottom:18px}.lesson-top .intro{font-size:1.06rem;color:var(--muted)}.lesson-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0}.prerequisites{border-left:3px solid var(--accent);padding:11px 16px;font-size:.85rem;background:var(--soft);margin:18px 0 26px}.prerequisites a{margin-right:8px}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin:27px 0 30px;overflow-x:auto}.tabs a{white-space:nowrap;text-decoration:none;padding:9px 0 14px;font-size:.9rem;color:var(--muted);border-bottom:3px solid transparent}.tabs a[aria-current="page"]{color:var(--pine);border-color:var(--pine);font-weight:650}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:38px;align-items:start}.lesson-body{max-width:80ch}.lesson-body h2{font-size:1.55rem;margin:30px 0 15px}.lesson-body h3{margin:20px 0 10px}.lesson-body p{line-height:1.85}.lesson-body li{margin:8px 0}.lesson-body code{background:var(--soft);padding:2px 5px;border-radius:4px;font-size:.83em}.lesson-aside{position:sticky;top:24px;background:var(--surface);border:1px solid var(--line);padding:21px;border-radius:14px;font-size:.8rem}.lesson-aside h2{font-size:.98rem;margin:0 0 16px}.check-row{display:flex;gap:9px;align-items:flex-start;margin:11px 0}.check-row input{margin-top:7px;accent-color:var(--pine);flex-shrink:0}.lesson-aside .check-row{align-items:center}.lesson-aside .check-row input{margin:0}.lesson-aside .button{width:100%;padding:9px 8px;font-size:.78rem}.callout{border:1px solid var(--line);border-left:4px solid var(--pine);padding:20px 23px;border-radius:0 12px 12px 0;background:var(--soft);margin:25px 0}.callout p:last-child{margin-bottom:0}.callout strong{display:block;margin-bottom:7px}.worked-example{border:1px solid var(--line);padding:24px;border-radius:15px;background:var(--surface);margin:26px 0}.worked-example ol{padding-left:23px}.worked-example .example-result{border-top:1px solid var(--line);padding-top:15px;margin-top:18px;color:var(--pine);font-weight:550}.misconception{border-left-color:var(--orange);background:var(--surface)}.quiz{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:23px;margin:30px 0}.quiz fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}.quiz legend{font-weight:600;font-size:1.05rem;margin-bottom:12px}.quiz label{display:flex;gap:10px;align-items:start;border:1px solid var(--line);padding:12px;border-radius:9px;margin:8px 0}.quiz label:has(input:checked){background:var(--soft);border-color:var(--pine)}.quiz input{margin-top:6px;accent-color:var(--pine)}.feedback{border-radius:9px;padding:15px;background:var(--soft);margin-top:13px}.feedback.incorrect{border-left:3px solid var(--orange)}.resource{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:21px;margin:14px 0}.resource h3{font-size:1.05rem;line-height:1.35;margin:6px 0 14px}.resource .check-row{font-size:.78rem;color:var(--muted)}.video-frame{aspect-ratio:16/9;width:100%;border:0;border-radius:10px;background:#14241f;margin-top:15px}.video-load{width:100%;aspect-ratio:16/9;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--pine)}.video-load span{font-size:2.5rem}.video-load small{max-width:42ch;padding:0 10px;font-size:.75rem}.evidence{display:block;width:100%;min-height:150px;resize:vertical;line-height:1.7;font-size:.9rem}.input-label{display:block;font-size:.84rem;font-weight:600;margin:20px 0 8px}.save-hint{font-size:.72rem;color:var(--muted);margin:7px 0 20px}.lesson-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:38px;padding-top:20px}.lesson-bottom a{font-size:.84rem;max-width:47%}.empty{border:1px dashed var(--line);border-radius:15px;padding:35px;color:var(--muted);text-align:center}.notebook-entry{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:23px;margin:15px 0}.notebook-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}.notebook-entry h2{font-size:1.2rem}.method{max-width:78ch}.method h2{margin-top:32px}.method p{line-height:1.85}.loading{padding:60px;text-align:center;color:var(--muted)}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;width:min(630px,calc(100% - 32px));max-height:88vh}dialog::backdrop{background:#0e261c88;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:18px}.dialog-heading h2{font-size:1.6rem;margin:0}dialog input:not([type="file"]){width:100%;margin:6px 0 16px}dialog label{display:block;font-size:.85rem}dialog hr{border:0;border-top:1px solid var(--line);margin:28px 0}#search-results{max-height:60vh;overflow:auto}#search-results a{display:block;text-decoration:none;padding:14px 8px;border-bottom:1px solid var(--line)}#search-results a:hover{background:var(--soft)}#search-results small{display:block}#import-preview{padding:18px;background:var(--soft);border-radius:10px;margin:15px 0}.note-count{font-variant-numeric:tabular-nums}pre{overflow-x:auto;background:var(--soft);padding:18px;border-radius:12px;font-size:.85rem;line-height:1.65}pre code{padding:0!important;background:none!important}.word-link{color:var(--pine)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pine);margin-right:5px}.stage-description{font-size:.85rem;color:var(--muted)}@media(min-width:1500px){.sidebar{width:270px}.main-shell{margin-left:270px}main{padding-left:65px;padding-right:65px}.hero{gap:80px}}@media(max-width:1100px){.sidebar{width:220px;padding:26px 17px}.main-shell{margin-left:220px}main{padding:25px 27px 50px}.topbar{padding:0 27px}.save-status{padding-right:27px}.hero{gap:25px}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-layout{grid-template-columns:minmax(0,1fr)}.lesson-aside{position:static;display:flex;gap:12px;align-items:center;flex-wrap:wrap;grid-row:1}.lesson-aside h2{width:100%;margin:0}.lesson-aside .button{width:auto}.lesson-aside .fine-print{width:100%;margin:0}.brand{font-size:1.3rem}.sidebar-note p{font-size:1.2rem}}@media(max-width:760px){.sidebar{transform:translateX(-100%);width:260px;box-shadow:15px 0 80px #0003;transition:transform .2s}.sidebar.open{transform:translateX(0)}.main-shell{margin:0}.menu-button{display:block}.topbar{height:65px;padding:0 18px;gap:9px}.breadcrumb{font-size:.75rem;gap:7px;flex:1}.top-actions{gap:3px}.search-button{font-size:0;gap:0}.search-button:before{content:"⌕";font-size:1.5rem}.search-button kbd{display:none}.save-status{padding-right:19px;font-size:.65rem}main{padding:18px 20px 45px}.hero{grid-template-columns:1fr;padding:14px 0 24px;gap:24px}.hero-art{min-height:190px;max-height:210px}.hero-art svg{height:200px}.hero h1{font-size:2.9rem;max-width:17ch}.hero .lead{font-size:.98rem}.stat-row{margin-bottom:25px}.stat{padding:17px 12px}.stat strong{font-size:1.5rem}.stat span{font-size:.68rem}.continue-card{grid-template-columns:1fr;padding:23px}.continue-card h3{font-size:1.3rem}.continue-card .button{justify-self:start}.stage-grid{grid-template-columns:1fr}.stage-card{padding:22px}.section-heading h2{font-size:1.3rem}.section-heading a{font-size:.72rem}.lesson-top h1{font-size:2rem}.lesson-top .intro{font-size:.97rem}.lesson-row{padding:15px 12px;gap:7px;grid-template-columns:40px 1fr}.lesson-row .pill{grid-column:2;justify-self:start}.lesson-row strong{font-size:.94rem}.stage-title{flex-wrap:wrap;gap:7px}.stage-title h2{width:100%}.tabs{gap:20px;margin:21px 0}.lesson-body p{font-size:.97rem;line-height:1.85}.lesson-body h2{font-size:1.35rem}.resource,.worked-example,.quiz{padding:19px}.callout{padding:17px}.lesson-bottom{gap:13px}.lesson-bottom a{font-size:.77rem}footer{padding:20px;display:block;font-size:.72rem}footer a{display:block;margin-top:8px}.sidebar-note{padding:20px 12px}.filters{gap:8px}.filters select{max-width:100%;flex:1}.button-row{align-items:stretch}.page-intro h1{font-size:2.2rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.hero-art{position:relative;min-height:300px;display:grid;place-items:center;overflow:hidden}.orbit{position:absolute;width:270px;height:270px;border:1px solid var(--line);border-radius:50%;transform:rotate(-30deg) scaleX(0.7)}.orbit-two{transform:rotate(35deg) scaleX(0.7);width:320px;height:320px}.art-core{width:145px;height:145px;background:var(--pine);color:var(--paper);border-radius:36px;display:grid;place-items:center;font-size:115px;line-height:1;transform:rotate(-8deg);position:relative}.art-core span{font-size:45px;position:absolute;top:4px;right:12px}.art-label{position:absolute;background:var(--paper);padding:4px 10px;font-size:11px;letter-spacing:2px}.label-one{top:15px;left:25px}.label-two{bottom:35px;left:0}.label-three{right:0;bottom:70px}.art-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#b5cd8a}.dot-one{left:50px;top:90px}.dot-two{right:25px;bottom:100px}.welcome-line{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin:42px 0 20px}.welcome-line h2{font-size:22px}.welcome-line>span{color:var(--muted);font-size:14px}.stage-heading{display:flex;gap:20px;align-items:center}.stage-heading p{color:var(--muted);margin:5px 0 20px}.stage-number{font-size:15px;letter-spacing:1px;color:var(--muted)}.lesson-row>span:nth-child(2){flex:1}.lesson-row small{display:block;color:var(--muted);font-size:13px;font-weight:400;margin-top:5px}.lesson-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:20px;border-top:1px solid var(--line)}.resource-info{padding:20px}.resource-info h3{margin:8px 0 16px}.resource-check,.criteria{font-size:14px;display:block;margin:18px 0}.play-icon{font-size:35px}.review-card{padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:25px 0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.search-result{display:block;padding:16px 4px;border-bottom:1px solid var(--line)}.search-result span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.search-result strong{display:block}.email-signin{margin:22px 0}.email-signin summary{cursor:pointer}#account-area form label,#recovery-form label{display:block;margin:14px 0}#account-status{font-size:13px;color:var(--muted)}.save-status.warning{background:#fce8cb;color:#663c14}details summary{cursor:pointer}details>p{margin-left:8px}.lesson-body p{line-height:1.85}.fine-print{line-height:1.7}input[type="checkbox"],input[type="radio"]{accent-color:var(--pine)}@media(max-width:760px){.welcome-line{display:block}.hero-art{min-height:200px}.hero-art .orbit{width:190px;height:190px}.hero-art .orbit-two{width:220px;height:220px}.art-core{width:110px;height:110px;font-size:90px}.label-one{top:0}.lesson-row .pill{font-size:10px;max-width:100px;text-align:center}.lesson-row small{display:none}.stage-heading{gap:12px}.lesson-top{flex-wrap:wrap}}.stat-row{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-row>div,.stat-row>a{padding:20px 24px;text-decoration:none}.stat-row>div:not(:last-child),.stat-row>a:not(:last-child){border-right:1px solid var(--line)}.stat-row strong{font-size:1.8rem;display:block;line-height:1.2;font-weight:600}.stat-row strong span{font-size:1rem}.stat-row>div>span,.stat-row>a>span{font-size:.8rem;color:var(--muted)}.card-top,.card-bottom{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:var(--muted)}.lesson-row{grid-template-columns:48px minmax(0,1fr) auto 16px}.lesson-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;max-width:none;font-size:.85rem}.page-heading{max-width:85ch;margin:12px 0 30px}.page-heading>p{color:var(--muted);margin-top:20px}.hero-copy{color:var(--muted);font-size:1.06rem;line-height:1.7}.hero em{font-style:normal;color:var(--pine)}.hero h1{max-width:19ch}.evidence>span{display:block;font-size:.85rem;color:var(--muted);margin:8px 0 14px}.evidence textarea{display:block;width:100%;min-height:260px;resize:vertical;line-height:1.7}.lesson-aside ul{list-style:none;padding:0}.lesson-aside li{margin:12px 0}.lesson-aside h3{font-size:1.1rem;line-height:1.3}.lesson-aside hr{border:0;border-top:1px solid var(--line);margin:20px 0}.lesson-meta>span{padding:4px 9px;border:1px solid var(--line);border-radius:5px;font-size:.75rem;color:var(--muted)}.misconception{padding:20px 24px;border-left:3px solid var(--orange);margin:26px 0}.misconception p{margin:8px 0 0}.muted{color:var(--muted)}.feedback:empty{display:none}.pill.done{color:var(--pine);background:var(--soft)}.hero-art .art-label{bottom:auto;left:auto}.hero-art .label-one{top:15px;left:25px}.hero-art .label-two{bottom:35px;left:0}.hero-art .label-three{right:0;bottom:70px}.filters>label:first-child{flex:1}.filters input{width:100%}@media(max-width:760px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-row>div,.stat-row>a{padding:16px}.stat-row>a{border-top:1px solid var(--line)}.stat-row>div:last-child{border-top:1px solid var(--line)}.stat-row>div:nth-child(2){border-right:0}.stat-row strong{font-size:1.5rem}.lesson-row{grid-template-columns:40px minmax(0,1fr) 16px}.lesson-row>.pill{grid-column:2;grid-row:2;max-width:none}.lesson-row>span:last-child{grid-column:3;grid-row:1}.lesson-layout{gap:18px}.lesson-aside{display:block}.section-heading{align-items:start}.section-heading>a{min-width:90px}.hero .button-row .button{flex:1}.hero h1{font-size:2.7rem}.page-heading h1{font-size:2.1rem}.lesson-bottom{flex-wrap:wrap}.lesson-bottom a{max-width:none}.filters>label{width:100%}.filters select{width:100%;max-width:none}.sidebar nav a{min-height:46px}.sidebar{overflow-y:auto}.search-button{min-width:40px;min-height:42px}.lesson-body,.page-heading{overflow-wrap:anywhere}}.sidebar{overflow-y:auto}.top-actions>.button{padding:7px 13px;min-height:36px;font-size:.77rem}@media(max-height:800px) and (min-width:761px){.sidebar-note{display:none}.sidebar-bottom{margin-top:auto}.brand{margin-bottom:28px}}@media(max-width:480px){.breadcrumb span,.breadcrumb strong{display:none}.top-actions{gap:1px}.topbar{gap:4px;padding:0 12px}.breadcrumb{font-size:.7rem}.icon-button{min-width:34px}.top-actions>.button{padding:6px 10px}}@media(max-width:1100px){.lesson-aside{grid-row:auto}}.lesson-code{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:auto;max-width:100%;padding:1.1rem;border:1px solid var(--line);border-radius:10px;font-size:.88rem;line-height:1.65}.solution{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:10px}.solution summary{cursor:pointer;font-weight:600}.solution[open] summary{margin-bottom:1rem}.credential-card{margin:2rem 0;padding:1.5rem;border:1px solid var(--line);border-radius:12px}.credential-topics{line-height:2;overflow-wrap:anywhere}.introduction{max-width:1050px}.intro-hero{max-width:48rem;padding:1rem 0 2rem}.intro-hero h1{line-height:1.12}.intro-hero h1 em{color:var(--pine);font-style:normal}.intro-hero .lead{font-size:1.25rem;line-height:1.7}.introduction>section{padding:2rem 0;border-top:1px solid var(--line)}.introduction h2{max-width:30ch;line-height:1.25;margin:.5rem 0 1.25rem}.introduction>section>p{max-width:78ch}.introduction p{line-height:1.8}.intro-principles,.career-grid,.pay-grid{display:grid;gap:1rem;margin:1.5rem 0}.intro-principles{grid-template-columns:repeat(3,minmax(0,1fr))}.intro-principles>div,.career-card,.pay-card{background:var(--surface);border:1px solid var(--line);padding:1.4rem;border-radius:var(--radius);min-width:0}.intro-principles p{margin-bottom:0}.career-grid,.pay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.career-card h3,.pay-card h3{margin-top:0;line-height:1.35}.career-card p{font-size:.96rem}.career-fit{color:var(--muted)}.employer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 2rem;padding-left:1.3rem}.career-steps{max-width:78ch;padding-left:1.3rem}.career-steps li{padding-left:.5rem;margin:1rem 0}.pay-card{background:var(--soft)}.pay-card h3{font-size:1.8rem;margin:1rem 0}.pay-card small{display:block;font-size:.9rem;font-weight:400;color:var(--muted)}.intro-next{margin-top:1rem}.intro-source-note{max-width:85ch}.hero-intro-link{font-size:.95rem;margin:1.25rem 0 0}@media(max-width:760px){.intro-principles,.career-grid,.pay-grid,.employer-list{grid-template-columns:minmax(0,1fr)}.intro-hero{padding-top:0}.intro-hero .lead{font-size:1.1rem}.introduction>section{padding:1.5rem 0}}.track-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:1.2rem 0}.track-picker select{max-width:100%;padding:.6rem;border-radius:8px;color:var(--ink);background:var(--surface);border:1px solid var(--line)}.scope-note{border-left:4px solid var(--pine);padding:.8rem 1rem;background:var(--soft);margin:1rem 0}.source-map details{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px}.source-map summary{cursor:pointer;font-weight:700}.source-map li{overflow-wrap:anywhere}.pathway-label{display:block;font-size:.8rem;color:var(--muted)}:root[data-studio="voice-ai-studio"]{--ink:#253d5a;--muted:#5b6f87;--pine:#21457a;--accent:#cbdcf4;--soft:#edf3fb}:root[data-studio="voice-ai-studio"][data-theme="dark"]{--paper:#152131;--surface:#1c2c40;--ink:#eef4fb;--muted:#b8c9de;--line:#39516e;--pine:#aecdf4;--accent:#c6ddff;--soft:#243a53}:root[data-studio="child-development-studio"]{--ink:#3a3048;--muted:#75677f;--pine:#5c4675;--accent:#e7dcef;--soft:#f4eff7}:root[data-studio="child-development-studio"][data-theme="dark"]{--paper:#211d28;--surface:#2b2532;--ink:#f2edf8;--muted:#cbbdd6;--line:#504359;--pine:#dbc0ef;--accent:#dec7ef;--soft:#362d40}.breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex-shrink:0}.brand-mark{flex-shrink:0}:root[data-studio="voice-ai-studio"] .brand-mark,:root[data-studio="voice-ai-studio"] .art-core{background:#21457a}:root[data-studio="child-development-studio"] .brand-mark,:root[data-studio="child-development-studio"] .art-core{background:#5c4675}.math-example{padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.lesson-body mjx-container[display="true"],.source-map mjx-container[display="true"],.review-card mjx-container[display="true"]{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:.5rem .15rem;color:inherit}mjx-container:focus-visible{outline:2px solid var(--pine);outline-offset:3px}.resource-assignment{border-left:3px solid var(--line);padding-left:1rem;margin-bottom:1rem}.resource-assignment p{margin:.5rem 0}.resource-assignment ol{padding-left:1.25rem}.assigned-clip{margin:1rem 0}.assigned-clip .video-load{aspect-ratio:auto;min-height:105px;padding:1rem}.assigned-clip .video-load strong{max-width:55ch}.video-frame{min-height:200px}@media(max-width:400px){.resource-info{padding:12px}}.lesson-body .prose-heading{margin-top:1.65rem;margin-bottom:.65rem;line-height:1.3}.lesson-body>p{max-width:66ch}.lesson-body>ol li,.lesson-body>ul li{margin-bottom:.65rem}.studio-code-editor{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:1.2rem 0;background:var(--surface);--code-keyword:#773ba2;--code-string:#216b42;--code-number:#a43f23;--code-comment:#63736c;--code-function:#1d5895}:root[data-theme="dark"] .studio-code-editor{--code-keyword:#d1b0ff;--code-string:#b1dfae;--code-number:#ffc29a;--code-comment:#a6b5c9;--code-function:#93caff}.code-editor-toolbar,.code-edit-actions{padding:.65rem .8rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--line);background:var(--soft);align-items:center;font-size:.85rem}.code-editor-toolbar strong span{margin-left:.6rem;font-weight:400;color:var(--muted)}.code-editor-toolbar>div{display:flex;gap:.4rem;flex-wrap:wrap}.studio-code-editor button{padding:.35rem .6rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px}.code-edit-actions{justify-content:flex-start}.code-editor-body{display:grid;grid-template-columns:3rem minmax(0,1fr)}.studio-code-editor pre,.studio-code-editor textarea,.studio-code-editor code{font:14px/25px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:4;letter-spacing:normal;white-space:pre;word-break:normal;overflow-wrap:normal;margin:0;border:0;border-radius:0;background:transparent}.studio-code-editor .code-gutter{overflow:hidden;padding:16px .65rem;text-align:right;color:var(--muted);background:var(--soft)}.code-gutter span{display:block}.code-editor-surface{position:relative;min-width:0;overflow:hidden}.studio-code-editor .code-preview{padding:16px;height:100%;overflow:auto;color:var(--ink)}.studio-code-editor code{padding:0}.studio-code-editor .code-input{position:absolute;inset:0;height:100%;width:100%;padding:16px;resize:none;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--ink);overflow:auto}.studio-code-editor .code-input::selection{background:#829eaf55}.is-editing .code-preview{position:absolute;inset:0 auto auto 0;width:max-content;min-width:100%;height:auto;overflow:visible;pointer-events:none}.studio-code-editor .py-keyword,.studio-code-editor .py-constant{color:var(--code-keyword)}.studio-code-editor .py-string{color:var(--code-string)}.studio-code-editor .py-number{color:var(--code-number)}.studio-code-editor .py-comment{color:var(--code-comment)}.studio-code-editor .py-function,.studio-code-editor .py-builtin{color:var(--code-function)}.studio-code-editor .code-editor-help,.studio-code-editor .code-editor-status{padding:.5rem .8rem;margin:0;font-size:.8rem}.code-editor-status:empty{display:none}.studio-code-editor [hidden]{display:none}@media(forced-colors:active){.is-editing .code-preview{visibility:hidden}.studio-code-editor .code-input{color:CanvasText;-webkit-text-fill-color:CanvasText}}.studio-code-editor .code-gutter,.code-editor-surface{min-height:0;height:100%}.code-execution{padding:.75rem;border-top:1px solid var(--line)}.code-run-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.7rem 0}.code-run-bar span{color:var(--muted);font-size:.8rem}.code-run-bar [data-code-action="run"]{background:var(--pine);color:var(--surface);font-weight:650}.studio-code-editor .code-run-output,.studio-code-editor .code-setup-output pre,.studio-code-editor .code-recovery pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:20rem;overflow:auto;padding:.8rem;background:var(--soft)}.studio-code-editor .run-error{border-left:3px solid var(--orange)}.studio-code-editor .code-save-status{padding:.5rem .8rem;margin:0;font-size:.8rem;color:var(--muted)}.code-stdin summary,.code-setup-output summary,.code-recovery summary{cursor:pointer;font-size:.85rem}.studio-code-editor .code-stdin-value{white-space:pre-wrap;resize:vertical;border:1px solid var(--line);background:var(--surface);color:var(--ink);width:100%;min-height:5rem;padding:.5rem}.code-recovery{padding:.7rem;border-top:1px solid var(--line)}.code-save-status:empty{display:none}.python-practice-workspace{margin:1.4rem 0}.python-practice-workspace>summary{cursor:pointer;font-weight:650;padding:.8rem 0}