:root{color:#22231f;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f5f0e6;--paper-deep:#ebe2d2;--surface:#fffdf8;--surface-muted:#f0eadf;--ink:#22231f;--muted:#65645d;--rule:#d5ccbc;--rule-strong:#aca18f;--teal:#176b63;--teal-dark:#0e4e49;--teal-soft:#dcebe5;--amber:#d39a2d;--amber-soft:#f7e6b9;--brick:#a84e3f;--brick-soft:#f0d9d1;--violet:#6e5a91;--violet-soft:#e7e0ef;--code:#17201f;--code-muted:#263331;--code-text:#eef5ef;--shadow:0 12px 32px #43362314;--text-caption:.75rem;--text-meta:.8125rem;--text-small:.875rem;--text-body:1rem;--text-lead:1.125rem;--display-landing:clamp(3rem, 4.3vw, 4.4rem);--display-page:clamp(2.25rem, 3.8vw, 3.8rem);--display-section:clamp(1.55rem, 2.2vw, 2.25rem);--display-card:clamp(1.35rem, 1.7vw, 1.875rem);--workshop-topbar-height:4.25rem;--lesson-header-height:3.5rem;background:#f5f0e6;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-width:320px;min-height:100%;font-size:100%}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);margin:0;font-size:1.0625rem;line-height:1.6}button,input,select,textarea{font:inherit}button,select,input,textarea{color:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{border:0}a{color:inherit;text-decoration:none}p,h1,h2,h3,dl,dd{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.025em;font-family:Georgia,Times New Roman,serif;font-weight:700;line-height:1.08}h1{font-size:var(--display-page)}h2{font-size:var(--display-section)}h3{font-size:1.25rem}:focus-visible{outline-offset:3px;outline:3px solid #187d73}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus,legend[tabindex="-1"]:focus{outline:none}::selection{color:#fff;background:var(--teal)}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:100;color:#fff;background:var(--teal-dark);border-radius:5px;padding:.65rem .9rem;position:fixed;top:.65rem;left:.65rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow,.kicker{color:var(--teal-dark);font-size:var(--text-meta);letter-spacing:.015em;text-transform:none;align-items:center;gap:.45rem;margin:0 0 .7rem;font-weight:760;display:flex}.primary-action,.secondary-action,.danger-button,.text-action{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:.55rem;min-height:46px;padding:.7rem 1.05rem;font-size:.92rem;font-weight:760;line-height:1.2;display:inline-flex}.primary-action{color:#fff;background:var(--teal);border:1px solid var(--teal)}.primary-action:hover{background:var(--teal-dark);border-color:var(--teal-dark)}.secondary-action{color:var(--ink);border:1px solid var(--rule-strong);background:0 0}.secondary-action:hover{background:var(--surface-muted)}.text-action{min-height:40px;color:var(--teal-dark);background:0 0;border-radius:3px;padding-inline:.35rem}.danger-button{color:#8a342a;background:#fff8f4;border:1px solid #c98677}button:disabled,.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.55}.primary-action--wide{width:100%}.language-symbol{border:1px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:800;line-height:1;display:inline-flex}.language-symbol svg{stroke-width:1.75px;width:58%;height:58%}.language-symbol--small{width:31px;height:31px;font-size:1rem}.language-symbol--large{width:64px;height:64px;font-size:1.85rem}.language-symbol--cpp{color:#286f91;background:#e0edf2}.language-symbol--csharp{color:var(--violet);background:var(--violet-soft)}.language-symbol--java{color:var(--brick);background:var(--brick-soft)}.language-symbol--python{color:#76500b;background:var(--amber-soft)}.symbol-strip{align-items:center;gap:.25rem;display:inline-flex}.symbol-strip .language-symbol{border-radius:4px}.symbol-strip--compact{gap:.15rem}.brand{color:var(--ink);align-items:center;gap:.8rem;display:inline-flex}.brand__name{flex-direction:column;line-height:1.12;display:flex}.brand__name b{letter-spacing:-.02em;font-size:1.02rem}.brand__name small{color:var(--muted);font-size:var(--text-caption);margin-top:.18rem}.onboarding{background:var(--surface);grid-template-columns:minmax(390px,.9fr) minmax(520px,1.1fr);min-height:100vh;display:grid}.onboarding__story{background:var(--paper-deep);border-right:1px solid var(--rule);flex-direction:column;align-self:start;min-width:0;min-height:100vh;padding:clamp(1.5rem,3vw,2.5rem);display:flex;position:sticky;top:0}.hero-copy{max-width:680px;margin:auto 0;padding-block:clamp(1.5rem,2.5vw,2.5rem)}.hero-copy h1{max-width:15ch;font-size:var(--display-landing);margin-bottom:1rem}.hero-copy>p:not(.kicker){color:#4f4e48;max-width:650px;font-size:var(--text-lead)}.hero-console{max-width:620px;color:var(--code-text);background:var(--code);border:1px solid #394743;border-radius:7px;gap:.65rem;margin-top:1.25rem;padding:1rem 1.15rem;display:grid}.hero-console__label{color:#aab8b3;align-items:center;gap:.6rem;font-size:.78rem;display:flex}.hero-console code,.console-result{font:600 .98rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.console-result{color:#9dd5c6}.brand-meaning{border-top:1px solid var(--rule-strong);grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;max-width:650px;padding-top:.9rem;display:grid}.brand-meaning>p{color:var(--muted);grid-column:1/-1;margin-bottom:0;font-size:.82rem}.brand-meaning>div{align-items:center;gap:.55rem;min-width:0;display:flex}.brand-meaning span:not(.language-symbol){flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand-meaning b{font-size:.88rem}.brand-meaning small{color:var(--muted);font-size:.74rem}.onboarding__form{background:var(--surface);justify-content:center;align-items:center;min-width:0;min-height:100vh;padding:clamp(1.25rem,1.7vw,2rem);display:flex}.landing-card,.setup-card{width:min(100%,780px)}.landing-card>h2,.setup-card>h2{margin-bottom:.7rem;font-size:clamp(1.75rem,2.6vw,2.15rem)}.setup-intro{max-width:700px;color:var(--muted)}.landing-promises{border-top:1px solid var(--rule);gap:0;margin:1.2rem 0 1.5rem;display:grid}.landing-promises article{border-bottom:1px solid var(--rule);gap:.75rem;padding:.75rem 0;display:flex}.landing-promises svg{color:var(--teal);flex:none;margin-top:.2rem}.landing-promises span{flex-direction:column;display:flex}.landing-promises b{font-size:.95rem}.landing-promises small{color:var(--muted);font-size:var(--text-small)}.landing-section-heading,.section-heading-open,.station-records__heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem;display:flex}.landing-section-heading small{color:var(--teal-dark);letter-spacing:.05em;font-size:.72rem;font-weight:750}.landing-section-heading h3{margin:.25rem 0 0}.landing-section-heading>p,.section-heading-open>p,.station-records__heading>p{max-width:420px;color:var(--muted);font-size:var(--text-small);margin:0}.landing-schools{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.landing-schools a{text-align:left;border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:.8rem;min-height:62px;padding:.65rem .85rem;display:flex}.landing-schools a:hover,.landing-schools a.is-selected{background:var(--teal-soft);border-color:var(--teal)}.landing-schools span{flex-direction:column;min-width:0;line-height:1.3;display:flex}.landing-schools small{color:var(--muted);font-size:var(--text-meta)}.landing-schools em{color:#79570d;font-size:var(--text-caption);margin-left:auto;font-style:normal;font-weight:800}.landing-actions{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.github-intake{background:var(--surface-muted);border:1px solid var(--rule);border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;margin:1rem 0;padding:.75rem;display:grid}.github-intake>span{width:42px;height:42px;color:var(--teal);border:1px solid var(--rule);border-radius:50%;place-items:center;display:grid}.github-intake b{font-size:.9rem}.github-intake p{color:var(--muted);font-size:var(--text-small);margin:.15rem 0 0}.github-intake button{color:#fff;background:var(--teal);cursor:pointer;border-radius:6px;align-items:center;gap:.45rem;min-height:44px;padding:.55rem .75rem;display:inline-flex}.selection-description,.guided-check-note{background:var(--surface-muted);border-left:3px solid var(--teal);gap:.8rem;margin:1rem 0 1.5rem;padding:1rem;display:flex}.selection-description span{color:var(--muted);font-size:var(--text-small);flex-direction:column;display:flex}.selection-description b{color:var(--ink)}.field-label,.goal-picker legend{font-size:var(--text-small);margin:1.2rem 0 .45rem;font-weight:750;display:block}.text-input,.codebook-search input{background:var(--surface);border:1px solid var(--rule-strong);border-radius:6px;width:100%;min-height:50px;padding:.75rem .9rem}.goal-picker{border:0;margin:1.3rem 0;padding:0}.goal-picker>button,.goal-picker>div button{text-align:left;border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:7px;min-width:130px;min-height:68px;margin:0 .55rem .55rem 0;padding:.7rem}.goal-picker button.is-selected,.goal-picker button[aria-pressed=true]{background:var(--teal-soft);border-color:var(--teal)}.goal-picker button span{color:var(--muted);font-size:.72rem;display:block}.fine-print{color:var(--muted);align-items:center;gap:.35rem;margin:.8rem 0 0;font-size:.72rem;display:flex}.intake-card{max-width:760px}.intake-progress{margin-bottom:2rem}.intake-progress>span{color:var(--muted);margin-bottom:.55rem;font-size:.76rem;font-weight:720;display:block}.intake-progress>div{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.intake-progress i{background:var(--paper-deep);border-radius:4px;height:5px;display:block}.intake-progress i.is-filled{background:var(--teal)}.intake-question{border:0;min-width:0;margin:0;padding:0}.intake-question legend,.intake-question>h2{max-width:680px;color:var(--ink);letter-spacing:-.025em;margin-bottom:.8rem;font:700 clamp(1.8rem,3.2vw,2.55rem)/1.12 Georgia,Times New Roman,serif}.intake-question>p{color:var(--muted);margin-bottom:1.4rem}.intake-option{background:var(--surface);border:1px solid var(--rule-strong);cursor:pointer;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:.8rem;min-height:72px;margin-bottom:.65rem;padding:.85rem 1rem;display:grid}.intake-option:hover,.intake-option.is-selected,.intake-course-option:hover,.intake-course-option.is-selected{background:var(--teal-soft);border-color:var(--teal)}.intake-option:focus-within,.intake-course-option:focus-within{outline-offset:3px;outline:3px solid #187d73}.intake-option input,.intake-course-option input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.intake-option span{flex-direction:column;display:flex}.intake-option b,.intake-course-option b{font-size:.9rem}.intake-option small,.intake-course-option small{color:var(--muted);font-size:var(--text-small)}.intake-option>i{color:#fff;border:1px solid var(--rule-strong);background:0 0;border-radius:50%;place-items:center;width:28px;height:28px;font-style:normal;display:grid}.intake-option.is-selected>i{background:var(--teal);border-color:var(--teal)}.intake-course-options{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.intake-course-option{background:var(--surface);border:1px solid var(--rule-strong);cursor:pointer;border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;min-height:112px;padding:1rem;display:grid;position:relative}.intake-course-option>span:not(.language-symbol){flex-direction:column;display:flex}.intake-course-option em{color:var(--teal-dark);font-size:.72rem;font-style:normal;font-weight:800;position:absolute;top:.55rem;right:.65rem}.intake-actions{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.intake-actions>div{align-items:center;gap:.55rem;display:flex}.workshop-shell{background:var(--paper);min-height:100vh}.workshop-topbar{z-index:40;background:var(--surface);border-bottom:1px solid var(--rule);position:sticky;top:0}.workshop-topbar__inner{width:min(100% - 2rem,1500px);min-height:var(--workshop-topbar-height);grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,3rem);margin-inline:auto;display:grid;position:relative}.workshop-nav{align-self:stretch;align-items:stretch;gap:.25rem;display:flex}.workshop-nav a{min-width:96px;color:var(--muted);border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.86rem;font-weight:680;display:flex}.workshop-nav a:hover,.workshop-nav a.is-active{color:var(--teal-dark);border-bottom-color:var(--teal)}.workshop-topbar__tools{align-items:center;gap:.55rem;display:flex}.track-switcher{background:var(--surface-muted);border:1px solid var(--rule);border-radius:6px;align-items:center;gap:.35rem;min-height:44px;padding:.25rem .5rem;display:flex}.track-switcher select{appearance:none;cursor:pointer;background:0 0;border:0;min-width:70px;font-size:.78rem;font-weight:750}.learning-area-chip{min-height:44px;color:var(--teal-dark);background:var(--surface-muted);border:1px solid var(--rule);white-space:nowrap;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.78rem;font-weight:750;display:inline-flex}.workshop-stat{min-height:44px;color:var(--muted);border-left:1px solid var(--rule);align-items:center;gap:.3rem;padding:.4rem .6rem;font-size:.75rem;display:inline-flex}.workshop-stat svg{color:var(--amber)}.identity-chip,.github-topbar,.workshop-profile-link,.workshop-settings-link{min-height:44px;color:var(--ink);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .65rem;font-size:.75rem;display:inline-flex}.identity-chip.is-active,.workshop-profile-link.is-active,.workshop-settings-link.is-active{color:var(--teal-dark);border-color:var(--teal)}.mobile-menu{border:1px solid var(--rule);background:0 0;border-radius:6px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:none}.app-frame{min-width:0}.workshop-page,.content-page{width:min(100% - 2.5rem, var(--page-max,76rem));padding:var(--page-y,clamp(2.75rem, 4vw, 4.5rem)) 0;margin-inline:auto}.course-catalog{--page-max:78rem;--page-y:clamp(2.25rem, 3vw, 3rem)}.course-catalog .workshop-page-heading{margin-bottom:clamp(1.75rem,2.5vw,2.5rem)}.learner-home{--page-max:72rem;--page-y:clamp(2.5rem, 3.5vw, 4rem)}.course-outline{--page-max:70rem;--page-y:clamp(2.5rem, 3.5vw, 4rem)}.content-page{--page-max:68rem;--page-y:clamp(2.5rem, 3.5vw, 4rem)}.workshop-page-heading{text-align:center;max-width:50rem;margin:0 auto clamp(2.25rem,3.5vw,3.5rem)}.workshop-page-heading .eyebrow{justify-content:center}.workshop-page-heading h1{margin-bottom:1.2rem}.workshop-page-heading>p:last-child{max-width:62ch;color:var(--muted);margin-inline:auto;font-size:1.05rem}.catalog-filters{border-bottom:1px solid var(--rule-strong);flex-wrap:wrap;gap:0;margin-bottom:1.6rem;display:flex}.catalog-filters button{min-height:46px;color:var(--muted);cursor:pointer;background:0 0;border-bottom:3px solid #0000;padding:.6rem 1.1rem}.catalog-filters button:hover,.catalog-filters button.is-active{color:var(--teal-dark);border-bottom-color:var(--teal)}.course-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width>=1280px){.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-card{padding:1.25rem}.course-card__heading{gap:.75rem}.course-card dl>div{grid-template-columns:110px 1fr;gap:.75rem}}.course-card{background:var(--surface);border:1px solid var(--rule-strong);border-top:5px solid var(--teal);border-radius:7px;flex-direction:column;min-width:0;padding:clamp(1.3rem,2vw,1.75rem);display:flex}.course-card--python{border-top-color:var(--amber)}.course-card--cpp{border-top-color:#286f91}.course-card--csharp{border-top-color:var(--violet)}.course-card--java{border-top-color:var(--brick)}.course-card--continuing{box-shadow:0 10px 24px #43362312}.course-card--locked{background:color-mix(in srgb, var(--surface) 74%, var(--surface-muted));border-right-color:var(--rule);border-bottom-color:var(--rule);border-left-color:var(--rule);box-shadow:none}.course-card--locked .language-symbol,.course-card--locked .course-card__progress>i{filter:saturate(.68)}.course-card--locked .course-card__progress>i b{background:var(--rule-strong)}.course-card--locked>.primary-action{color:var(--teal-dark);border-color:var(--teal);background:0 0}.course-card--locked>.primary-action:hover{color:#fff;background:var(--teal-dark);border-color:var(--teal-dark)}.course-card__heading{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.course-card__heading span:not(.language-symbol){color:var(--muted);font-size:var(--text-meta)}.course-card__heading h2,.course-card__heading h3{font-size:var(--display-card);margin:.2rem 0 0}.course-card>p{color:var(--muted);font-size:.9375rem}.course-card__prerequisites{background:#fff8e8;border:1px solid #ddc990;border-radius:6px;margin:-.35rem 0 1.2rem;padding:.85rem .9rem}.course-card__prerequisites>b{color:#6c4b0c;font-size:var(--text-meta);align-items:center;gap:.45rem;display:flex}.course-card__prerequisites ul{margin:.55rem 0 0;padding-left:1.15rem}.course-card__prerequisites li{color:var(--muted);font-size:var(--text-meta);line-height:1.45}.course-card__prerequisites li+li{margin-top:.25rem}.course-card dl{border-top:1px solid var(--rule);margin:0 0 1.5rem}.course-card dl>div{border-bottom:1px solid var(--rule);grid-template-columns:150px 1fr;gap:1rem;padding:.75rem 0;display:grid}.course-card dt{color:var(--muted);font-size:var(--text-meta)}.course-card dd{font-size:var(--text-small);margin:0}.course-card__progress{margin-top:auto;margin-bottom:1rem}.course-card__progress>span{justify-content:space-between;margin-bottom:.4rem;font-size:.75rem;display:flex}.course-card__progress small{color:var(--muted)}.course-card__progress>i,.home-course-row>i,.daily-goal-open>i,.course-hero__action>i{background:var(--paper-deep);border-radius:4px;height:6px;display:block;overflow:hidden}.course-card__progress>i b,.home-course-row>i b,.daily-goal-open>i b,.course-hero__action>i span{background:var(--teal);height:100%;display:block}.course-card>.primary-action{align-self:flex-start}.guided-project-list{margin-top:clamp(3rem,4.5vw,4.25rem)}.section-heading-open h2{margin:.25rem 0 0}.guided-project-row{border-top:1px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.1rem 0;display:grid}.guided-project-row:last-child{border-bottom:1px solid var(--rule)}.guided-project-row:hover b{color:var(--teal-dark)}.guided-project-row>span:not(.language-symbol){flex-direction:column;display:flex}.guided-project-row small{color:var(--muted);font-size:var(--text-caption)}.guided-project-row p{color:var(--muted);font-size:var(--text-small);margin:.1rem 0 0}.guided-project-row strong{font-size:var(--text-meta);align-items:center;gap:.4rem;display:flex}.learner-welcome{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.learner-welcome h1{letter-spacing:-.045em;margin-bottom:.7rem;font-family:Inter,ui-sans-serif,sans-serif;font-size:clamp(2.25rem,3.5vw,3.4rem)}.learner-welcome>div>p:last-child{color:var(--muted);margin:0}.daily-goal-open{background:var(--surface);border:1px solid var(--rule);border-radius:6px;width:min(280px,100%);padding:.85rem .95rem}.daily-goal-open span{margin-bottom:.55rem;font-size:.75rem;font-weight:750;display:block}.continue-panel{background:var(--surface);border:1px solid var(--rule-strong);border-left:7px solid var(--teal);box-shadow:var(--shadow);border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,3vw,2rem);padding:clamp(1.35rem,2.5vw,2rem);display:grid}.continue-panel--python{border-left-color:var(--amber)}.continue-panel--cpp{border-left-color:#286f91}.continue-panel--csharp{border-left-color:var(--violet)}.continue-panel--java{border-left-color:var(--brick)}.continue-panel h2{letter-spacing:-.03em;margin-bottom:.45rem;font-family:Inter,ui-sans-serif,sans-serif;font-size:clamp(1.55rem,2.2vw,2.1rem)}.continue-panel p:last-child{color:var(--muted);margin:0;font-size:.86rem}.learner-home-grid{grid-template-columns:1.25fr .75fr;gap:1rem;margin-top:1rem;display:grid}.activity-panel,.review-open{background:var(--surface);border:1px solid var(--rule);border-radius:7px;padding:1.2rem}.activity-panel .section-heading-open{align-items:center}.activity-panel .section-heading-open>b{color:var(--brick);font-size:var(--text-meta)}.activity-days{grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}.activity-days>div{color:var(--muted);font-size:var(--text-caption);place-items:center;gap:.35rem;display:grid}.activity-days i{background:var(--surface-muted);border:1px solid var(--rule);border-radius:50%;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.activity-days .has-study i{color:#fff;background:var(--teal);border-color:var(--teal)}.activity-panel>p,.review-open>p{color:var(--muted);font-size:var(--text-meta);margin:1rem 0 0}.review-open>div{align-items:flex-start;gap:.8rem;display:flex}.review-open>div>svg{color:var(--teal)}.review-open h2{letter-spacing:-.02em;margin-bottom:0;font-family:Inter,ui-sans-serif,sans-serif;font-size:1.25rem}.learner-home .section-heading-open h2{letter-spacing:-.03em;font-family:Inter,ui-sans-serif,sans-serif;font-size:clamp(1.45rem,2vw,1.85rem)}.review-open a,.section-heading-open a{min-height:40px;color:var(--teal-dark);align-items:center;gap:.35rem;margin-top:.8rem;font-size:.8rem;font-weight:750;display:inline-flex}.home-course-list{margin-top:clamp(2.75rem,4.5vw,3.75rem)}.home-course-row{border-top:1px solid var(--rule);grid-template-columns:auto minmax(180px,1fr) minmax(140px,.7fr) auto;align-items:center;gap:1rem;min-height:76px;display:grid}.home-course-row:last-child{border-bottom:1px solid var(--rule)}.home-course-row>span:not(.language-symbol){flex-direction:column;display:flex}.home-course-row small{color:var(--muted);font-size:var(--text-caption)}.home-course-row>strong{color:var(--teal-dark);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.back-link{min-height:40px;color:var(--teal-dark);align-items:center;gap:.4rem;margin-bottom:1.4rem;font-size:.82rem;font-weight:720;display:inline-flex}.course-hero{background:var(--paper-deep);border:1px solid var(--rule-strong);border-top:6px solid var(--teal);border-radius:7px;grid-template-columns:auto 1fr minmax(230px,.34fr);align-items:center;gap:clamp(1rem,3vw,2.2rem);padding:clamp(1.5rem,2.5vw,2.2rem);display:grid}.course-hero--python{border-top-color:var(--amber)}.course-hero--cpp{border-top-color:#286f91}.course-hero--csharp{border-top-color:var(--violet)}.course-hero--java{border-top-color:var(--brick)}.course-hero h1{margin-bottom:.6rem;font-size:clamp(2.25rem,3.5vw,3.4rem)}.course-hero p:last-of-type{color:var(--muted);margin-bottom:.6rem}.course-hero>div>span{color:var(--muted);font-size:var(--text-meta)}.course-hero__action{border-left:1px solid var(--rule);padding-left:1.5rem}.course-hero__action>b{font-size:var(--text-meta);display:block}.course-hero__action>small{color:var(--muted);font-size:var(--text-caption);margin:.15rem 0 .45rem;display:block}.course-hero__action>i{margin-bottom:.85rem}.course-modules{max-width:62rem;margin:clamp(1.75rem,3vw,2.5rem) auto 0}.module-row{border-top:1px solid var(--rule-strong)}.module-row:last-child{border-bottom:1px solid var(--rule-strong)}.module-row__summary{text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:1rem;width:100%;min-height:72px;padding:.75rem .6rem;display:grid}.module-row__summary:hover,.module-row.is-current .module-row__summary{background:#fffdf8b8}.module-number{width:42px;height:42px;color:var(--teal-dark);border:1px solid var(--rule-strong);border-radius:50%;place-items:center;font-size:.86rem;font-weight:800;display:grid}.module-row.is-complete .module-number{color:#fff;background:var(--teal);border-color:var(--teal)}.module-row__summary>span:nth-child(2){flex-direction:column;display:flex}.module-row__summary small{color:var(--muted);font-size:var(--text-caption)}.module-row__summary b{font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.module-row__summary p{color:var(--muted);font-size:var(--text-small);margin:.2rem 0 0}.module-row__summary strong{color:var(--muted);font-size:var(--text-meta)}.module-row__summary[aria-expanded=true]>svg{transform:rotate(180deg)}.module-lessons{background:var(--surface);border:1px solid var(--rule);border-radius:6px;margin:0 0 1.4rem 4.2rem}.module-lessons>a,.module-lessons>div.is-locked{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.8rem;min-height:58px;padding:.6rem .9rem;display:grid}.module-lessons>a:last-of-type,.module-lessons>div.is-locked:last-of-type{border-bottom:0}.module-lessons>a:hover,.module-lessons>a.is-current{background:var(--teal-soft)}.module-lessons>a>span,.module-lessons>div.is-locked>span{border:1px solid var(--rule);border-radius:50%;place-items:center;width:28px;height:28px;font-size:.7rem;display:grid}.module-lessons b{font-size:var(--text-small)}.module-lessons small{color:var(--muted);font-size:var(--text-meta)}.module-lessons>div.is-locked{color:#4e4d47;background:var(--surface-muted)}.module-finish-callout{background:#eff8f4;border:1px solid #75aa9e;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin:-.55rem 0 1.4rem 4.2rem;padding:1rem;display:flex}.module-completion-status{color:var(--teal-dark);background:#eff8f4;border-left:4px solid #4f8f81;margin:-.2rem 0 1.2rem;padding:.85rem 1rem;font-weight:700}.module-finish-callout span{flex-direction:column;gap:.2rem;display:flex}.module-finish-callout small{color:var(--muted);font-size:var(--text-small)}.module-finish-callout .primary-action{flex:none}.page-heading{max-width:900px;margin-bottom:1.5rem}.page-heading h1{margin-bottom:.6rem;font-size:clamp(2rem,2.6vw,2.8rem)}.page-heading>div>p:last-child{color:var(--muted)}.practice-hero{background:var(--surface);border:1px solid var(--rule-strong);border-left:6px solid var(--teal);border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem;padding:1.25rem;display:grid}.practice-hero small{color:var(--muted);font-size:var(--text-meta)}.practice-hero h2{margin:.3rem 0 .45rem}.practice-hero p{color:var(--muted);margin:0;font-size:1rem}.practice-plan{margin-top:2rem}.practice-plan .section-heading-open>p{text-align:right}.practice-plan ol{border-top:1px solid var(--rule-strong);margin:0;padding:0;list-style:none}.practice-plan li{border-bottom:1px solid var(--rule);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:76px;display:grid}.practice-plan li>span{width:30px;height:30px;color:var(--teal-dark);background:var(--teal-soft);font-size:var(--text-caption);border-radius:50%;place-items:center;font-weight:800;display:grid}.practice-plan li>div{flex-direction:column;gap:.2rem;min-width:0;display:flex}.practice-plan li small{color:var(--muted);font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-plan li strong{color:var(--teal-dark);font-size:var(--text-caption)}.practice-plan__note{color:var(--muted);font-size:var(--text-small);margin:1rem 0 0}.practice-plain-note{color:var(--teal-dark);background:var(--teal-soft);border-left:4px solid var(--teal);align-items:flex-start;gap:.8rem;margin-top:1rem;padding:1rem 1.1rem;display:flex}.practice-plain-note p{font-size:var(--text-small);margin:0}.codebook-tools{grid-template-columns:1fr 340px;gap:1rem;margin-bottom:1.5rem;display:grid}.codebook-search{align-items:center;display:flex;position:relative}.codebook-search>svg{color:var(--muted);position:absolute;left:.9rem}.codebook-search input{padding-left:2.8rem}.codebook-search button{cursor:pointer;background:0 0;place-items:center;width:44px;height:44px;display:grid;position:absolute;right:.65rem}.codebook-unlocks{background:var(--surface-muted);border:1px solid var(--rule);border-radius:6px;flex-direction:column;justify-content:center;padding:.65rem 1rem;display:flex}.codebook-unlocks small,.codebook-unlocks span{color:var(--muted);font-size:var(--text-caption)}.codebook-unlocks b{font-size:var(--text-small)}.glossary-grid{background:var(--rule-strong);border:1px solid var(--rule-strong);grid-template-columns:1fr 1fr;gap:1px;display:grid}.glossary-entry{background:var(--surface);min-width:0;position:relative}.glossary-entry>summary{cursor:pointer;grid-template-columns:auto 1fr;gap:.7rem;min-height:92px;padding:.9rem 3rem .9rem 1rem;list-style:none;display:grid}.glossary-entry>summary::-webkit-details-marker{display:none}.glossary-entry>summary:after{content:"+";color:var(--muted);font:700 1.1rem/1 ui-monospace,monospace;position:absolute;top:1rem;right:1rem}.glossary-entry[open]>summary:after{content:"−"}.glossary-entry>summary>svg{color:var(--teal);margin-top:.15rem}.glossary-entry h2{font-size:var(--text-body);margin:0 0 .2rem}.glossary-entry summary p{color:var(--muted);font-size:var(--text-meta);margin:0;line-height:1.45}.glossary-entry__content{border-top:1px solid var(--rule);padding:0 1rem 1rem}.glossary-number{color:var(--muted);font:700 var(--text-caption) ui-monospace, monospace;position:absolute;bottom:.65rem;right:2.65rem}.glossary-example,.glossary-example-lock{background:var(--code);border-radius:5px;flex-direction:column;gap:.4rem;padding:.8rem;display:flex}.glossary-example small{color:#9fafaa;font-size:var(--text-caption)}.glossary-example code{overflow-wrap:anywhere;color:#b8e6d6;font:var(--text-meta) ui-monospace, monospace}.glossary-example-lock{color:var(--muted);background:var(--surface-muted);font-size:var(--text-meta);flex-direction:row}.glossary-example-lock span{flex-direction:column;display:flex}.codebook-empty{text-align:center;background:var(--surface);border:1px solid var(--rule);padding:4rem 1rem}.codebook-more{background:var(--surface);border:1px solid var(--rule-strong);border-top:0;padding:1rem}.record-grid{background:var(--rule-strong);border:1px solid var(--rule-strong);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:4rem;display:grid}.record-grid article{background:var(--surface);align-items:center;gap:1rem;padding:1.4rem;display:flex}.record-grid svg{color:var(--teal)}.record-grid span,.station-records__name,.station-records__count{flex-direction:column;display:flex}.record-grid b{font-family:Georgia,serif;font-size:1.7rem}.record-grid small,.station-records small{color:var(--muted);font-size:var(--text-meta)}.station-records__grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.station-records__grid article{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:1.4rem}.station-records__name{flex-direction:row;align-items:center;gap:.7rem}.station-records__count{margin:1rem 0}.station-records__bar{background:var(--paper-deep);border-radius:4px;height:6px;margin-bottom:1rem;overflow:hidden}.station-records__bar span{background:var(--station-accent,var(--teal));height:100%;display:block}.account-panel,.backup-panel,.training-goal-panel,.settings-panel{border-top:1px solid var(--rule-strong);grid-template-columns:auto 1fr auto;align-items:start;gap:1.2rem;padding:1.4rem 0;display:grid}.settings-panel:last-child,.backup-panel:last-child{border-bottom:1px solid var(--rule-strong)}.account-panel__icon{width:48px;height:48px;color:var(--teal);background:var(--teal-soft);border-radius:50%;place-items:center;display:grid}.account-panel small,.backup-panel small,.training-goal-panel small,.settings-panel small{color:var(--muted);font-size:var(--text-caption)}.account-panel h2,.backup-panel h2,.training-goal-panel h2,.settings-panel h2{margin:.25rem 0 .4rem;font-size:1.45rem}.account-panel p,.backup-panel p,.training-goal-panel p,.settings-panel p{color:var(--muted);font-size:var(--text-small);margin:0}.account-panel__actions,.backup-panel__actions,.training-goal-panel__options{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.account-panel__status,.backup-panel__status{color:var(--teal-dark)!important;margin-top:.6rem!important}.settings-panel--danger{color:#7b3027}.auth-notice{z-index:120;width:min(100% - 2rem,650px);color:var(--teal-dark);box-shadow:var(--shadow);background:#eff8f4;border:1px solid #75aa9e;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.85rem 1rem;font-size:.82rem;display:grid;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.auth-notice button{cursor:pointer;background:0 0;place-items:center;width:44px;height:44px;display:grid}.sync-dialog-backdrop{width:min(100% - 2rem,712px);max-width:none;max-height:calc(100dvh - 2rem);color:var(--ink);background:0 0;border:0;place-items:center;padding:1rem;overflow:auto}.sync-dialog-backdrop[open]{display:grid}.sync-dialog-backdrop::backdrop{background:#22231f9e}.sync-dialog{background:var(--surface);border:1px solid var(--rule-strong);width:min(100%,680px);max-height:calc(100vh - 2rem);box-shadow:var(--shadow);border-radius:8px;padding:2rem;overflow:auto}.sync-dialog__icon{width:52px;height:52px;color:var(--teal);background:var(--teal-soft);border-radius:50%;place-items:center;display:grid}.sync-dialog h2{margin:1rem 0 .7rem}.sync-dialog>div>p:last-child,.sync-dialog__fine-print{color:var(--muted)}.sync-dialog__records{grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0;display:grid}.sync-dialog__records article{background:var(--surface-muted);border:1px solid var(--rule);flex-direction:column;padding:1rem;display:flex}.sync-dialog__records small,.sync-dialog__records span{color:var(--muted);font-size:.7rem}.sync-dialog__actions{flex-wrap:wrap;gap:.55rem;display:flex}.sync-dialog__fine-print{gap:.5rem;margin:1rem 0 0;font-size:.7rem;display:flex}.route-message-page{background:var(--paper);flex-direction:column;gap:3rem;min-height:100vh;padding:clamp(2rem,6vw,5rem);display:flex}.route-message-card{background:var(--surface);border:1px solid var(--rule-strong);border-radius:7px;width:min(100%,760px);margin:auto;padding:clamp(1.5rem,4vw,3rem)}.route-message-card--inside{margin-block:2rem}.route-message-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.25rem;display:flex}.lesson-overlay{min-height:100dvh;color:var(--ink);background:var(--paper);grid-template-rows:auto 1fr;display:grid}@media (width>=921px){.course-card .language-symbol--large{width:56px;height:56px;font-size:1.6rem}.continue-panel .language-symbol--large{width:72px;height:72px;font-size:2rem}.course-hero .language-symbol--large{width:84px;height:84px;font-size:2.35rem}}@media (width<=1080px){.mobile-menu{display:inline-flex}.workshop-nav{z-index:60;background:var(--surface);border:1px solid var(--rule-strong);box-shadow:var(--shadow);border-radius:7px;flex-direction:column;align-items:stretch;padding:.5rem;display:none;position:absolute;top:100%;left:0;right:0}.workshop-nav.is-open{display:flex}.workshop-nav a{border-bottom:0;border-left:3px solid #0000;justify-content:flex-start;min-height:48px}.workshop-nav a.is-active{background:var(--teal-soft);border-left-color:var(--teal)}}@media (width<=1280px){.workshop-topbar .brand__name,.workshop-stat:first-of-type{display:none}}@media (width<=1180px){.workshop-topbar__inner{grid-template-columns:auto auto 1fr}.workshop-topbar__tools{justify-self:end}.learning-area-chip{color:#0000;justify-content:center;width:44px;min-width:44px;padding:0;font-size:0;overflow:hidden}.learning-area-chip svg{color:var(--teal-dark)}.workshop-nav a{min-width:82px}.course-hero{grid-template-columns:auto 1fr}.course-hero__action{border-top:1px solid var(--rule);border-left:0;grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 0 0;display:grid}.course-hero__action>i{margin:0}}@media (width<=920px){.onboarding{grid-template-columns:1fr}.onboarding__story{border-right:0;border-bottom:1px solid var(--rule);min-height:auto;padding:2rem;position:relative}.hero-copy{margin:0;padding-block:3rem}.onboarding__form{min-height:auto;padding:3rem 2rem}.intake-page .intake-form{order:-1}.course-grid,.learner-home-grid,.glossary-grid,.station-records__grid{grid-template-columns:1fr}.continue-panel{grid-template-columns:auto 1fr}.continue-panel .primary-action{grid-column:1/-1;justify-self:start}.codebook-tools{grid-template-columns:1fr}.record-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){body{font-size:1rem}.brand-meaning{grid-template-columns:1fr 1fr}.workshop-topbar__inner{gap:.45rem;width:min(100% - 1rem,1500px)}.workshop-topbar .symbol-strip .language-symbol:nth-child(n+3),.workshop-stat,.identity-chip span,.github-topbar span{display:none}.workshop-topbar__tools{gap:.3rem}.track-switcher{gap:0;width:52px;min-width:52px;padding:.2rem .3rem}.track-switcher>.language-symbol,.track-switcher>svg:last-child{display:none}.track-switcher select{width:100%;min-width:0;font-size:.8125rem;display:block}.identity-chip,.github-topbar,.workshop-profile-link,.workshop-settings-link{width:44px;padding:0}.workshop-page,.content-page{width:min(100% - 1.25rem, var(--page-max,76rem));padding-block:2.25rem}.landing-schools,.intake-course-options{grid-template-columns:1fr}.landing-section-heading,.section-heading-open,.station-records__heading,.learner-welcome{flex-direction:column;align-items:flex-start;gap:.65rem}.github-intake{grid-template-columns:auto 1fr}.github-intake button{grid-column:1/-1;justify-content:center;justify-self:stretch}.guided-project-row{grid-template-columns:auto 1fr}.guided-project-row strong{grid-column:2}.course-card dl>div{grid-template-columns:1fr;gap:.2rem}.course-hero{grid-template-columns:1fr}.course-hero__action{grid-column:1;grid-template-columns:1fr}.module-row__summary{grid-template-columns:auto 1fr auto}.module-row__summary strong{grid-column:2}.module-row__summary>svg{grid-area:1/3}.module-lessons{margin-left:0}.module-finish-callout{flex-direction:column;align-items:stretch;margin-left:0}.module-lessons>a,.module-lessons>div.is-locked{grid-template-columns:auto 1fr auto}.module-lessons small{grid-column:2}.module-lessons>a>svg{grid-area:1/3/span 2}.home-course-row{grid-template-columns:auto 1fr auto;padding:.7rem 0}.home-course-row>i{grid-column:2/-1;width:100%}.home-course-row>strong{grid-column:2/-1}.activity-days{gap:.2rem}.activity-days i{width:30px;height:30px}.practice-hero{grid-template-columns:auto 1fr}.practice-hero .primary-action{grid-column:1/-1;justify-self:start}.practice-plan .section-heading-open>p{text-align:left}.practice-plan li{grid-template-columns:34px minmax(0,1fr);gap:.8rem;padding:.8rem 0}.practice-plan li strong{grid-column:2}.record-grid{grid-template-columns:1fr}.account-panel,.backup-panel,.training-goal-panel,.settings-panel{grid-template-columns:auto 1fr}.account-panel__actions,.backup-panel__actions,.training-goal-panel__options,.settings-panel>button{grid-column:1/-1;justify-content:flex-start}.sync-dialog__records{grid-template-columns:1fr}.intake-actions{flex-direction:column-reverse;align-items:stretch}.intake-actions>div{justify-content:space-between}.intake-actions>.primary-action{width:100%}}@media (width<=420px){.onboarding__story,.onboarding__form{padding:1.25rem}.hero-copy{padding-block:2rem}.hero-copy h1{font-size:clamp(2.5rem,12.5vw,3rem)}.brand__name{display:none}.workshop-topbar .brand{justify-content:center;min-width:44px;min-height:44px}.workshop-topbar .symbol-strip .language-symbol:nth-child(n+2){display:none}.catalog-filters{background:var(--rule);border:1px solid var(--rule);gap:1px}.catalog-filters button{background:var(--surface);flex:calc(50% - 1px);min-width:0;padding-inline:.45rem}.language-symbol--large{width:62px;height:62px}.continue-panel{grid-template-columns:1fr}.continue-panel .primary-action{grid-column:1}.activity-days span{font-size:var(--text-caption)}.module-row__summary{gap:.65rem}.module-number{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.workshop-topbar{display:none!important}body,.lesson-overlay{color:#000;background:#fff}}.portfolio-page{max-width:76rem}.portfolio-hero{border-bottom:1px solid var(--rule-strong);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,4vw,3.5rem) 0;display:grid}.portfolio-hero h1{max-width:17ch;margin:.25rem 0 .75rem;font-size:clamp(2.5rem,5vw,5.5rem);line-height:.98}.portfolio-hero>div:first-child>p:last-child{max-width:64ch;color:var(--muted);margin:0}.portfolio-hero__identity{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);align-items:center;gap:.8rem;min-width:16rem;padding:1rem 0;display:flex}.portfolio-hero__identity>svg{color:var(--teal)}.portfolio-hero__identity span{flex-direction:column;min-width:0;display:flex}.portfolio-hero__identity small,.portfolio-summary small{color:var(--muted);font-size:var(--text-caption)}.portfolio-hero__identity b{overflow-wrap:anywhere}.portfolio-state,.portfolio-local-notice{background:var(--surface);border:1px solid var(--rule-strong);border-radius:7px;grid-template-columns:auto minmax(0,1fr);gap:1rem;margin-top:2rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.portfolio-state>svg,.portfolio-local-notice>svg{color:var(--teal);margin-top:.2rem}.portfolio-state h2,.portfolio-local-notice h2,.portfolio-layout h2,.portfolio-disclosure h2{margin:.2rem 0 .7rem;font-size:clamp(1.65rem,3vw,2.35rem)}.portfolio-state p:not(.eyebrow),.portfolio-local-notice p:not(.eyebrow),.portfolio-summary>p:not(.eyebrow),.portfolio-source>p:not(.eyebrow){max-width:70ch;color:var(--muted)}.portfolio-state .primary-action{width:fit-content;margin-top:.6rem}.portfolio-local-notice{color:var(--teal-dark);background:#eff8f4;border-color:#75aa9e}.portfolio-layout{border-bottom:1px solid var(--rule-strong);grid-template-columns:minmax(17rem,.7fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem);padding:clamp(3rem,6vw,5rem) 0;display:grid}.portfolio-summary ol{border-top:1px solid var(--rule);margin:1.5rem 0 0;padding:0;list-style:none}.portfolio-summary li{border-bottom:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding:.9rem 0;display:grid}.portfolio-summary li>svg{color:var(--teal);margin-top:.15rem}.portfolio-summary li span{flex-direction:column;display:flex}.portfolio-source{min-width:0}.portfolio-source pre{max-width:100%;max-height:38rem;color:var(--code-text);background:var(--code);white-space:pre;border:1px solid #40504b;border-radius:7px;margin:1rem 0 0;padding:1.25rem;font:.9rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.portfolio-disclosure{max-width:58rem;padding:clamp(3rem,6vw,5rem) 0 2rem}.portfolio-disclosure ul{color:var(--muted);gap:.65rem;margin:1.25rem 0;padding-left:1.25rem;display:grid}.portfolio-certificate-note{color:#704d12;background:#fff5d8;border:1px solid #d4b563;border-radius:6px;grid-template-columns:auto 1fr;gap:.7rem;margin:1.5rem 0;padding:1rem;display:grid}.portfolio-certificate-note p{margin:0}.portfolio-confirmation{grid-template-columns:auto 1fr;align-items:start;gap:.65rem;margin:1.2rem 0;font-weight:700;display:grid}.portfolio-confirmation input{width:20px;height:20px;accent-color:var(--teal);margin-top:.15rem}.portfolio-download:disabled{cursor:not-allowed;opacity:.5}.portfolio-download-status{min-height:1.5rem;color:var(--teal-dark);font-size:var(--text-small);margin:.75rem 0 0}.portfolio-footer{border-top:1px solid var(--rule);padding:1.5rem 0 0}.portfolio-footer a{color:var(--teal-dark);font-weight:760}@media (width<=920px){.portfolio-layout{grid-template-columns:1fr}}@media (width<=700px){.portfolio-hero{grid-template-columns:1fr;gap:1.5rem}.portfolio-hero__identity{min-width:0}}.course-hero--continuing{background:var(--surface);box-shadow:none;align-items:start;padding:clamp(1.15rem,2vw,1.65rem)}.course-hero--continuing>.language-symbol{margin-top:.15rem}.course-hero--continuing>.language-symbol--large{width:64px;height:64px}.course-hero--continuing h1{font-size:clamp(2.1rem,3vw,2.8rem)}.course-hero--continuing>div:nth-child(2){max-width:60ch}.course-hero--continuing .course-hero__action{align-self:stretch}.course-hero--continuing .course-hero__action>i span{background:var(--teal)}.course-locked-label{color:#6c4b0c;min-height:46px;font-size:var(--text-meta);background:#fff8e8;border:1px solid #d8b96e;border-radius:7px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem .85rem;font-weight:750;line-height:1.35;display:inline-flex}.course-prerequisites{border:1px solid #dbc78f;border-left:5px solid var(--amber);background:#fffaf0;border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(25rem,1.08fr);align-items:center;gap:clamp(1.25rem,3vw,2rem);max-width:62rem;margin:1rem auto 0;padding:clamp(1rem,2vw,1.35rem);display:grid}.course-prerequisites h2{max-width:20ch;margin:.1rem 0 .45rem;font-size:clamp(1.4rem,1.8vw,1.7rem)}.course-prerequisites>div>p:last-child{max-width:52ch;color:var(--muted);font-size:var(--text-small);margin:0}.course-prerequisites ol{background:var(--surface);border:1px solid #ddcfaa;border-radius:6px;margin:0;padding:0;list-style:none}.course-prerequisites li{border-bottom:1px solid var(--rule);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:52px;padding:.4rem .75rem;display:grid}.course-prerequisites li:last-child{border-bottom:0}.course-prerequisites li>span{color:#76500b;background:var(--amber-soft);border:1px solid #d8b96e;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.course-prerequisites li>b{font-size:var(--text-small);line-height:1.35}.course-prerequisites li>a{min-height:44px;color:var(--teal-dark);font-size:var(--text-meta);align-items:center;gap:.35rem;padding-inline:.35rem;font-weight:750;display:inline-flex}.course-prerequisites li.is-complete>span{color:#fff;background:var(--teal);border-color:var(--teal)}.locked-route-prerequisites{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:1.25rem 0;padding:0;list-style:none}.locked-route-prerequisites li{color:var(--muted);font-size:var(--text-small);padding:.65rem 0 .65rem 1.15rem;position:relative}.locked-route-prerequisites li+li{border-top:1px solid var(--rule)}.locked-route-prerequisites li:before{content:"";background:var(--amber);border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:1.15rem;left:.15rem}.course-hero--continuing~.course-modules{max-width:64rem;margin-top:clamp(1.5rem,2.5vw,2rem)}.course-hero--continuing~.course-modules .section-heading-open{margin-bottom:1.35rem}.course-hero--continuing~.course-modules .module-row{background:var(--surface);border:1px solid var(--rule);border-radius:7px;margin-bottom:.75rem}.course-hero--continuing~.course-modules .module-row:last-child{border-bottom:1px solid var(--rule);margin-bottom:0}.course-hero--continuing~.course-modules .module-row.is-current{border-color:#75aa9e;box-shadow:0 0 0 1px #176b6314}.course-hero--continuing~.course-modules .module-row:not(.is-complete):has(.module-number svg){background:color-mix(in srgb, var(--surface) 76%, var(--surface-muted));border-color:var(--rule);box-shadow:none}.course-hero--continuing~.course-modules .module-row__summary{border-radius:6px;min-height:72px;padding:.75rem 1rem}.course-hero--continuing~.course-modules .module-row__summary:hover,.course-hero--continuing~.course-modules .module-row.is-current .module-row__summary{background:#f7fbf9}.course-hero--continuing~.course-modules .module-row:not(.is-complete):has(.module-number svg) .module-row__summary:hover{background:var(--surface-muted)}.course-hero--continuing~.course-modules .module-row__summary>svg{color:var(--muted);transition:transform .16s}.course-hero--continuing~.course-modules .module-row:not(.is-complete) .module-number:has(svg){color:var(--muted);background:var(--surface-muted);border-color:var(--rule)}.course-hero--continuing~.course-modules .module-lessons{background:var(--surface);border:0;border-top:1px solid var(--rule);border-radius:0 0 6px 6px;margin:0}.course-hero--continuing~.course-modules .module-lessons>a,.course-hero--continuing~.course-modules .module-lessons>div.is-locked{min-height:62px;padding:.7rem 1.2rem .7rem 1.3rem}.course-hero--continuing~.course-modules .module-lessons>a{box-shadow:inset 3px 0 #0000}.course-hero--continuing~.course-modules .module-lessons>a:hover{background:#f4faf7}.course-hero--continuing~.course-modules .module-lessons>a.is-current,.course-hero--continuing~.course-modules .module-lessons>a[aria-current=step]{background:var(--teal-soft);box-shadow:inset 3px 0 var(--teal)}.course-hero--continuing~.course-modules .module-lessons>a>span:has(svg){color:#fff;background:var(--teal);border-color:var(--teal)}.course-hero--continuing~.course-modules .module-lessons>a>svg{color:var(--teal-dark)}.course-hero--continuing~.course-modules .module-lessons>div.is-locked{color:var(--muted);background:#faf7f0}.course-hero--continuing~.course-modules .module-lessons>div.is-locked>span{color:var(--muted);background:var(--surface-muted)}.course-hero--continuing~.course-modules .module-lessons>div.is-locked b{color:#4e4d47}.course-hero--continuing~.course-modules .module-finish-callout{border:0;border-top:1px solid #75aa9e;border-radius:0 0 6px 6px;margin:0;padding:1rem 1.2rem}@media (width<=1180px){.course-hero--continuing .course-hero__action>b{grid-area:1/1}.course-hero--continuing .course-hero__action>small{grid-area:2/1;margin:0}.course-hero--continuing .course-hero__action>i{grid-area:1/2/span 2;width:100%}.course-hero--continuing .course-hero__action>.primary-action,.course-hero--continuing .course-hero__action>.course-locked-label{grid-area:1/3/span 2}}@media (width<=700px){.course-hero--continuing{gap:1.1rem}.course-hero--continuing .course-hero__action>b,.course-hero--continuing .course-hero__action>small,.course-hero--continuing .course-hero__action>i,.course-hero--continuing .course-hero__action>.primary-action,.course-hero--continuing .course-hero__action>.course-locked-label{grid-area:auto/1}.course-hero--continuing .course-hero__action>.primary-action,.course-hero--continuing .course-hero__action>.course-locked-label{justify-self:start}.course-prerequisites{grid-template-columns:1fr;gap:1.1rem}.course-hero--continuing~.course-modules .module-row__summary,.course-hero--continuing~.course-modules .module-lessons>a,.course-hero--continuing~.course-modules .module-lessons>div.is-locked{padding-inline:.9rem}}@media (width<=390px){.course-outline:has(.course-hero--continuing){width:calc(100% - 1rem);padding-block:1.35rem 2rem}.course-outline:has(.course-hero--continuing) .back-link{margin-bottom:.8rem}.course-hero--continuing>.language-symbol--large{width:52px;height:52px;font-size:1.5rem}.course-hero--continuing{gap:.85rem;padding:1rem}.course-hero--continuing h1{margin-bottom:.5rem;font-size:clamp(2rem,10.5vw,2.35rem)}.course-hero--continuing p:last-of-type{font-size:.9rem;line-height:1.5}.course-hero--continuing>div>span{line-height:1.45;display:block}.course-hero--continuing .course-hero__action{gap:.6rem;padding-top:.85rem}.course-hero--continuing .course-hero__action>.primary-action,.course-hero--continuing .course-hero__action>.course-locked-label{justify-self:stretch;width:100%}.course-locked-label{text-align:center;padding-inline:.7rem}.course-prerequisites{border-left-width:4px;gap:.85rem;margin-top:.75rem;padding:1rem}.course-prerequisites h2{max-width:none;font-size:1.4rem}.course-prerequisites li{grid-template-columns:30px minmax(0,1fr);gap:.6rem;padding:.65rem}.course-prerequisites li>a{grid-column:2;justify-self:start;margin-top:-.3rem}.course-hero--continuing~.course-modules{margin-top:2rem}.course-hero--continuing~.course-modules .section-heading-open{margin-bottom:1rem}.course-hero--continuing~.course-modules .section-heading-open h2{font-size:1.55rem}.course-hero--continuing~.course-modules .module-row{margin-bottom:.6rem}.course-hero--continuing~.course-modules .module-row__summary{align-items:start;gap:.625rem;min-height:0;padding:.85rem .75rem}.course-hero--continuing~.course-modules .module-number{width:34px;height:34px;margin-top:.1rem}.course-hero--continuing~.course-modules .module-row__summary b{font-size:1.08rem;line-height:1.25}.course-hero--continuing~.course-modules .module-row__summary p{font-size:.8rem;line-height:1.45}.course-hero--continuing~.course-modules .module-row__summary strong{font-size:.7rem;line-height:1.35}.course-hero--continuing~.course-modules .module-lessons>a,.course-hero--continuing~.course-modules .module-lessons>div.is-locked{gap:.625rem;min-height:62px;padding:.7rem .75rem}.course-hero--continuing~.course-modules .module-lessons b{line-height:1.3}.course-hero--continuing~.course-modules .module-lessons small{font-size:.72rem;line-height:1.35}.course-hero--continuing~.course-modules .module-finish-callout{padding:.85rem}.course-hero--continuing~.course-modules .module-finish-callout .primary-action{width:100%}.course-hero--continuing~.course-modules .module-completion-status{font-size:var(--text-small);padding:.75rem .8rem}}
