.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}.shared-progress{margin:20px 0}.shared-progress>.row{font-size:var(--text-small);margin-bottom:10px}.shared-progress progress{appearance:none;background:var(--border);border:0;border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.shared-progress progress::-webkit-progress-bar{background:var(--border)}.shared-progress progress::-webkit-progress-value{background:var(--vine)}.shared-progress progress::-moz-progress-bar{background:var(--vine)}.guide-callout{background:var(--sage);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-body);align-items:flex-start;gap:20px;margin:28px 0;padding:24px;display:flex}.guide-callout>img{object-fit:contain;flex:none;width:50px;height:78px}.guide-callout strong{margin-bottom:8px;display:block}.guide-callout p:last-child{margin-bottom:0}.guide-callout>div>div{color:var(--muted)}.shared-code{background:var(--soil);color:var(--on-soil);border-radius:var(--radius);margin:24px 0;overflow:hidden}.shared-code>.row{border-bottom:1px solid color-mix(in srgb, var(--on-soil) 20%, transparent);font-size:var(--text-small);padding:13px 20px}.shared-code button{color:var(--on-soil);font-size:var(--text-small);background:0 0;border:0;align-items:center;gap:8px;padding:4px;display:flex}.shared-code pre{margin:0;padding:22px;overflow:auto}.shared-code code{font-size:var(--text-body);white-space:pre;line-height:1.7}.visual-flow{gap:26px;margin:38px 0;padding:0;list-style:none;display:flex}.visual-flow>li{text-align:center;flex:1;padding:22px 10px;position:relative}.flow-art{border-radius:var(--radius);background:var(--sage);width:72px;height:72px;color:var(--vine);justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.visual-flow strong{font-size:var(--text-body);display:block}.visual-flow p{font-size:var(--text-small);color:var(--muted);margin:10px 0 0}.flow-connector{color:var(--vine);position:absolute;top:48px;right:-24px}.lesson-row{border-bottom:1px solid var(--border);transition:background var(--motion-duration);align-items:center;gap:15px;padding:20px;display:flex}.lesson-row:last-child{border-bottom:0}.lesson-row:hover,.lesson-row.active{background:var(--sage)}.lesson-number{border:1px solid var(--border);border-radius:var(--radius);width:34px;height:34px;font-size:var(--text-small);color:var(--muted);flex:none;justify-content:center;align-items:center;display:flex}.lesson-number.complete{background:var(--vine);color:var(--on-vine);border-color:var(--vine)}.lesson-row-copy{flex:1;min-width:0}.lesson-row-copy strong{font-size:var(--text-body);line-height:1.4;display:block}.lesson-row-copy small{font-size:var(--text-small);color:var(--muted);margin-top:5px;display:block}.course-card{flex-direction:column;display:flex;overflow:hidden}.course-art{background:var(--paper);border-bottom:1px solid var(--border);height:220px;padding:10px 20px 30px;display:block;position:relative}.course-art img{object-fit:contain;width:100%;height:100%}.course-art>span{font-size:var(--text-small);color:var(--muted);position:absolute;bottom:14px;left:20px}.course-card-copy{flex-direction:column;flex:1;padding:26px;display:flex}.course-card-copy h3{margin:18px 0 12px}.course-card-copy>p{font-size:var(--text-body);margin-bottom:20px}.course-card-copy>.inline-link{margin-top:auto}.knowledge-check{margin:32px 0}.knowledge-check h3{font-size:var(--text-h3)}.knowledge-check fieldset{border:0;margin:20px 0;padding:0}.knowledge-check label{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:var(--text-body);align-items:center;gap:13px;margin:10px 0;padding:15px 18px;display:flex}.knowledge-check label.selected{border-color:var(--vine);background:var(--paper)}.knowledge-check label>span{flex:1}.knowledge-check input{accent-color:var(--vine);flex:none;width:16px;height:16px}.quiz-feedback{color:var(--vine);margin:20px 0 0}.learn-hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:65px;padding-block:65px;display:grid}.learn-hero h1{font-size:clamp(38px, 4.5vw, var(--text-h1))}.learn-hero .lead{max-width:620px}.learning-facts{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:28px;display:flex}.learning-facts>span{align-items:center;gap:7px;display:flex}.learning-facts svg{color:var(--vine)}.learning-hero-art{background:var(--paper);border-radius:calc(var(--radius) * 2);padding:20px 10px 65px;position:relative}.learning-hero-art>img{object-fit:contain;width:100%;height:300px}.art-label{text-align:center;font:var(--weight-display) 22px/1.4 var(--font-display);color:var(--vine);display:block;transform:rotate(-4deg)}.hero-lesson-ticket{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-raised);padding:20px 65px 20px 22px;position:absolute;bottom:-10px;left:24px;right:24px}.hero-lesson-ticket .eyebrow{font-size:var(--text-small);margin-bottom:8px}.hero-lesson-ticket>strong{font:var(--weight-display) var(--text-h3) / 1.2 var(--font-display);display:block}.hero-lesson-ticket>span:last-of-type{font-size:var(--text-small);color:var(--muted);margin-top:8px;display:block}.hero-lesson-ticket>a{background:var(--vine);width:36px;height:36px;color:var(--on-vine);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.featured-course{background:var(--sage);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1.1fr;gap:70px;margin-top:25px;padding:36px;display:grid}.featured-course h2{margin-top:20px}.featured-course p{max-width:500px}.foundation-preview{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);align-self:center;overflow:hidden}.foundation-preview>.inline-link{padding:18px 20px}.learning-toolbar{justify-content:space-between;align-items:flex-end;gap:25px;display:flex}.learning-toolbar .field{width:320px}.learning-result-count{margin:24px 0}.course-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.learning-guides-band{background:var(--soil);color:var(--on-soil);padding:50px 0}.learning-guides-band>.container{grid-template-columns:1fr .85fr;align-items:center;gap:70px;display:grid}.learning-guides-band .eyebrow{color:var(--sprout)}.learning-guides-band p:last-child{max-width:600px;margin:0}.learning-guide-trio{justify-content:center;align-items:flex-end;gap:30px;display:flex}.learning-guide-trio>div{text-align:center;flex:1}.learning-guide-trio img{object-fit:contain;object-position:bottom;width:100%;height:170px;margin-bottom:16px}.learning-guide-trio strong{font-size:var(--text-body)}.course-hero{grid-template-columns:1.15fr 1fr;align-items:center;gap:70px;padding-block:35px;display:grid}.course-hero>img{object-fit:contain;width:100%;height:340px}.course-content{grid-template-columns:1.5fr 1fr;gap:55px;display:grid}.curriculum-list{overflow:hidden}.course-content aside>.card h3{font-size:var(--text-h3)}.course-content aside>.card>p{margin:22px 0 0}.related-learning{border-top:1px solid var(--border)}.lesson-layout{grid-template-columns:295px minmax(0,1fr);align-items:start;gap:65px;padding-bottom:80px;display:grid}.lesson-sidebar{max-height:calc(100svh - 130px);padding-right:8px;position:sticky;top:110px;overflow:auto}.lesson-sidebar>.inline-link{font-size:var(--text-body)}.lesson-sidebar .lesson-row{border-radius:var(--radius);border:0;align-items:flex-start;gap:8px;padding:10px 6px}.lesson-sidebar .lesson-row>svg{display:none}.lesson-sidebar .lesson-row-copy{padding-top:3px}.lesson-sidebar .lesson-row-copy strong{font-size:var(--text-small);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lesson-sidebar .lesson-row-copy{min-width:0}.learning-course-nav>details{border-bottom:1px solid var(--border)}.learning-course-nav>details>summary{cursor:pointer;justify-content:space-between;gap:10px;padding:12px 6px;font-weight:700;display:flex}.learning-course-nav>details>summary small{color:var(--muted);font-weight:500}.learning-course-nav>details[open]>summary{color:var(--vine)}.learning-mobile-nav{display:none}.lesson-sidebar .lesson-row-copy small{font-size:var(--text-small)}.lesson-sidebar>.small{margin:24px 0 0}.lesson-sidebar .lesson-number{width:27px;height:27px}.lesson-article{min-width:0;max-width:790px}.lesson-article>header{padding:15px 0 26px}.lesson-article h1{font-size:var(--text-h1)}.lesson-byline{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.lesson-byline img{object-fit:contain;width:32px;height:42px}.lesson-illustration{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 36px;padding:22px}.lesson-illustration img{object-fit:contain;width:100%;height:300px}.lesson-prose{font-size:var(--text-body);line-height:1.85}.lesson-prose>pre{max-width:100%;overflow-x:auto}.lesson-prose .guide-callout>div{min-width:0}.lesson-prose .shared-code{max-width:100%}.lesson-prose h2{font-size:calc(var(--text-h2) - 6px);margin:28px 0 14px}.lesson-prose h3{font-size:var(--text-h3);margin:22px 0 12px}.lesson-prose p{margin-bottom:16px}.lesson-prose li{margin-bottom:10px;padding-left:6px}.lesson-prose ul,.lesson-prose ol{margin-bottom:26px;padding-left:25px}.lesson-prose a{color:var(--vine);text-underline-offset:4px;text-decoration:underline}.lesson-prose code{background:var(--paper);border-radius:4px;padding:2px 5px;font-size:max(14px,.9em)}.lesson-prose .shared-code code{font-size:var(--text-body);background:0 0;padding:0}.lesson-prose .guide-callout{line-height:1.7}.lesson-prose table{font-size:var(--text-small);display:block;overflow:auto}.lesson-prose .guide-callout>div>div>p:last-child{margin:0}.lesson-completion{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:25px;margin-top:40px;padding:28px 0;display:flex}.lesson-completion h3{font-size:var(--text-h3)}.lesson-completion p{font-size:var(--text-small);margin:0}.lesson-completion .button{flex:none}.lesson-tabs{border-bottom:1px solid var(--border);gap:8px;margin:24px 0;padding-bottom:8px;display:flex;overflow-x:auto}.lesson-tabs button{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);color:var(--muted);font:inherit;cursor:pointer;flex:none;padding:10px 16px}.lesson-tabs button[aria-selected=true]{background:var(--sage);border-color:var(--vine);color:var(--vine);font-weight:700}.learning-activity{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);max-width:740px;padding:24px}.learning-activity-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-activity h2{font-family:var(--font-display);margin:10px 0}.activity-done{color:var(--vine);font-weight:700;font-size:var(--text-small)}.course-activity-count{color:var(--vine);font-size:var(--text-small);margin-top:8px;font-weight:600}.activity-task{margin-top:22px}.activity-task h3{font-size:var(--text-h3);margin:8px 0 16px}.activity-step{color:var(--muted);font-size:var(--text-small)}.activity-options,.activity-diagram-parts{border:0;gap:10px;margin:18px 0;padding:0;display:grid}.activity-options label,.activity-options button,.activity-diagram-parts button{text-align:left;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);width:100%;font:inherit;cursor:pointer;align-items:center;gap:12px;padding:12px 14px;display:flex}.activity-options .selected,.activity-diagram-parts .selected{border-color:var(--vine);background:var(--sage)}.activity-task input:not([type=radio]):not([type=checkbox]),.activity-task select{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);width:100%;min-width:0;color:var(--ink);font:inherit;padding:11px 12px}.activity-feedback,.activity-output{background:var(--sage);border-radius:var(--radius);white-space:pre-wrap;padding:14px 16px}.activity-match-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;margin:12px 0;display:grid}.activity-terminal-line{background:var(--soil);color:var(--on-soil);border-radius:var(--radius);align-items:center;gap:10px;padding:12px;display:flex}.activity-terminal-line input{color:var(--on-soil)!important;background:0 0!important;border:0!important}.activity-actions{align-items:center;gap:16px;margin-top:15px;display:flex}.activity-diagram-stage{position:relative}.activity-diagram-stage>button{border:2px solid var(--canvas);background:var(--vine);width:32px;height:32px;color:var(--canvas);cursor:pointer;border-radius:50%;font-weight:700;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0003}.activity-diagram-stage>button.visited{background:var(--soil)}.activity-diagram{max-width:100%;height:auto;display:block}.activity-memory{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.activity-memory button{border:1px solid var(--border);border-radius:var(--radius);background:var(--sage);min-height:80px;font:inherit;cursor:pointer}.activity-retry{margin-top:20px}@media (max-width:650px){.learning-activity{padding:16px}.activity-match-row{grid-template-columns:1fr;gap:6px}.activity-memory{grid-template-columns:repeat(3,minmax(0,1fr))}}.lesson-pagination{justify-content:space-between;gap:30px;margin-top:30px;display:flex}.lesson-pagination a{flex-direction:column;gap:8px;max-width:48%;display:flex}.lesson-pagination a:last-child{text-align:right;align-items:flex-end}.lesson-pagination a>span{font-size:var(--text-small);color:var(--muted)}.lesson-pagination strong{font-size:var(--text-body);align-items:center;gap:8px;display:flex}@media (max-width:1050px){.learn-hero{gap:35px}.learning-hero-art>img{height:260px}.course-grid{grid-template-columns:1fr 1fr}.featured-course{gap:30px}.learning-guides-band>.container{gap:35px}.course-content{gap:30px}.lesson-layout{grid-template-columns:295px minmax(0,1fr);gap:32px}.lesson-sidebar .lesson-row{gap:8px;padding:10px 6px}.lesson-completion{flex-wrap:wrap}.visual-flow{gap:18px}.flow-connector{right:-20px}}@media (min-width:761px) and (max-width:900px){.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{display:none}}@media (max-width:900px){.learning-mobile-nav{width:100%;display:block}.learning-mobile-nav>summary{width:fit-content;color:var(--vine);cursor:pointer;font-weight:700}.learning-mobile-nav>.learning-course-nav{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius);max-height:60svh;margin-top:10px;padding:10px;overflow:auto}.learning-mobile-nav .lesson-row-copy{min-width:0}.learning-mobile-nav .lesson-row-copy strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@media (max-width:760px){.learn-hero{grid-template-columns:1fr;gap:35px;padding-block:40px}.learn-hero h1{font-size:36px}.learning-hero-art{margin-bottom:22px}.learning-hero-art>img{height:250px}.art-label{font-size:20px}.hero-lesson-ticket{padding:18px 55px 18px 18px;left:14px;right:14px}.hero-lesson-ticket .eyebrow{letter-spacing:.04em}.learning-facts{gap:13px 18px}.featured-course{grid-template-columns:1fr;gap:26px;padding:24px}.featured-course h2{font-size:30px}.foundation-preview .lesson-row{gap:12px;padding:16px}.learning-toolbar{flex-direction:column;align-items:stretch;gap:22px}.learning-toolbar .field{width:100%}.learning-toolbar .tabs{width:fit-content}.learning-toolbar .tabs button{padding-inline:10px}.course-grid{grid-template-columns:1fr;gap:22px}.course-art{height:220px}.course-card-copy{padding:24px}.learning-guides-band>.container{grid-template-columns:1fr;gap:30px}.learning-guide-trio{gap:20px}.learning-guide-trio img{height:140px}.course-hero{grid-template-columns:1fr;gap:20px;padding-block:18px}.course-hero>img{height:240px}.course-content{grid-template-columns:1fr;gap:30px}.lesson-layout{grid-template-columns:1fr;padding-bottom:50px}.lesson-sidebar{max-height:none;padding:0;position:static;overflow:visible}.lesson-sidebar>nav,.lesson-sidebar>.small{display:none}.lesson-sidebar>.shared-progress{margin:12px 0}.lesson-article>header{padding-top:0}.lesson-article h1{font-size:38px}.lesson-illustration{margin-bottom:26px;padding:16px}.lesson-illustration img{height:225px}.lesson-prose h2{font-size:28px}.lesson-byline{gap:12px}.guide-callout{gap:14px;padding:20px}.guide-callout>img{width:40px;height:64px}.shared-code>.row{gap:12px;padding:12px 16px}.shared-code pre{padding:18px}.visual-flow{flex-direction:column;gap:20px;margin:30px 0}.visual-flow>li{text-align:left;grid-template-columns:60px 1fr;align-items:center;gap:0 16px;padding:5px 0;display:grid}.flow-art{grid-row:1/3;width:60px;height:60px;margin:0}.visual-flow p{margin-top:6px}.flow-connector{display:none}.knowledge-check{padding:22px}.knowledge-check label{padding:13px}.lesson-pagination{gap:20px}.lesson-pagination strong{align-items:flex-start}.lesson-completion .button{width:100%}}.learning-signup-slot{margin-top:24px;margin-bottom:56px}.learning-signup{grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:clamp(24px,4vw,44px);display:grid}.learning-signup-intro{align-items:center;gap:22px;display:flex}.learning-signup-intro>img{object-fit:contain;flex-shrink:0;width:94px;height:140px}.learning-signup h2{font-size:var(--text-h3);margin:0 0 12px}.learning-signup-intro p:last-child{margin:0}.learning-signup-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.learning-signup form{min-width:0}.learning-signup .field input{background:var(--canvas);width:100%;min-width:0}.learning-signup-consent{align-items:flex-start;gap:10px;margin:16px 0;font-size:15px;line-height:1.5;display:flex}.learning-signup-consent input{flex:none;margin-top:4px}.learning-signup-consent a{text-underline-offset:3px;text-decoration:underline}.learning-signup form>.button{margin-top:8px}.learning-signup-switch{font-size:var(--text-small);margin-top:16px;display:block}.learning-signup-preview{margin:14px 0 0}.learning-signup-feedback p{margin:12px 0 20px}.learning-signup-compact{grid-template-columns:1fr;gap:24px;margin:30px 0}.learning-signup-compact .learning-signup-intro>img{width:64px;height:100px}.learning-signup-compact .learning-signup-fields{grid-template-columns:1fr 1fr}@media (max-width:900px){.learning-signup{grid-template-columns:1fr;gap:24px}.learning-signup-intro>img{width:72px;height:110px}}@media (max-width:540px){.learning-signup-fields,.learning-signup-compact .learning-signup-fields{grid-template-columns:1fr}.learning-signup form>.button{width:100%}.learning-signup-intro{align-items:flex-start;gap:16px}.learning-signup-intro>img{width:52px;height:88px}}.lesson-topbar{padding-block:10px;display:block}.lesson-topbar-main{justify-content:space-between;align-items:center;gap:20px;min-width:0;display:flex}.lesson-topbar-main .breadcrumbs{flex-wrap:wrap;flex:1;gap:8px;min-width:0;margin:0;padding:8px 0}.lesson-topbar-main .breadcrumbs svg,.learning-signup-inline{flex-shrink:0}.learning-signup-inline>.button{white-space:nowrap}.learning-signup-inline .dialog{text-align:left}.learning-signup-inline .dialog .learning-signup{margin-bottom:0}.lesson-sidebar{padding-top:0}@media (max-width:1050px){.lesson-topbar-main{flex-wrap:wrap}}@media (max-width:760px){.lesson-topbar-main{gap:12px}.lesson-sidebar{display:none}}.lesson-topbar{top:var(--lesson-header-height,83px);z-index:15;background:var(--canvas);border-bottom:1px solid var(--border);margin-bottom:20px;position:sticky}.lesson-sidebar{top:calc(var(--lesson-header-height,83px) + var(--lesson-bar-height,110px) + 16px);max-height:calc(100svh - var(--lesson-header-height,83px) - var(--lesson-bar-height,110px) - 32px)}@media (max-width:760px){.lesson-topbar{top:var(--lesson-header-height,69px);padding-block:8px}.lesson-topbar-main{gap:8px}.lesson-topbar-main .breadcrumbs{flex:0 0 100%;padding-block:0}}.lesson-article>.lesson-cover{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px;padding:0 0 12px;display:grid}.lesson-cover h1{font-size:clamp(38px, 4vw, var(--text-h1))}.lesson-cover .lead{font-size:var(--text-body)}.lesson-cover .lesson-illustration{background:0 0;border:0;border-radius:0;margin:0;padding:0}.lesson-cover .lesson-illustration img{aspect-ratio:auto;width:100%;height:auto;display:block}.lesson-cover .lesson-byline{gap:12px;margin-top:20px}@media (max-width:760px){.lesson-article>.lesson-cover{grid-template-columns:1fr;gap:10px;padding-top:0}.lesson-cover h1{font-size:clamp(38px,9vw,46px)}.lesson-cover .lesson-illustration img{aspect-ratio:auto;height:auto}}.lesson-prose>.guide-callout{margin-block:20px}.lesson-prose>h2:first-child,.lesson-prose>h3:first-child{margin-top:12px}.lesson-cover-copy h1{margin-bottom:12px}.lesson-cover-copy .lead{margin-bottom:0}.lesson-cover .lesson-byline{margin-top:12px}
