:root{
  --sans:'DM Sans',Arial,sans-serif;
  --serif:var(--sans);
  --mono:'Cascadia Code',Consolas,'Liberation Mono',monospace;
  --paper:#faf9f5;
  --ink:#203b34;
  --muted:#56665f;
  --rule:#d8dfd6;
  --blue:#215e49;
  --coral:#bd4d27;
  --forest:#153d35;
  --forest-deep:#102f29;
  --lime:#d9ee91;
  --orange:#ff9468;
  --lavender:#c7bce2;
  --type-small:.875rem;
  --type-body:1rem;
  --type-section:1.5rem;
  --type-title:clamp(2rem,3.5vw,2.75rem);
}

.site-header .brand{gap:0;flex-shrink:0}.site-header .brand-logo{display:block;width:208px;height:52px;max-width:none}.site-footer .footer-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-brand>img{display:block;width:144px;height:36px}.footer-brand>span{display:none}@media(max-width:600px){.site-header .brand-logo{width:184px;height:46px}.site-footer .footer-brand{gap:9px}.footer-brand>img{width:128px;height:32px}}
.site-footer .copyright-notice{color:var(--forest);text-underline-offset:3px}.site-footer .copyright-notice:hover{text-decoration:underline;color:var(--forest)}

.site-footer .footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.site-footer nav{display:flex;gap:20px;flex-wrap:wrap}.site-footer>div{flex-wrap:wrap}@media(max-width:600px){.site-footer .footer-meta{align-items:flex-start}.site-footer nav{gap:18px}}

body{background:var(--paper)}.site-header{max-width:none;background:var(--forest);border-color:#426354;padding:25px max(38px,calc((100vw - 1152px)/2));color:#f2f3e9;gap:30px}.brand{gap:13px}.brand small{color:#bdd0bc;margin-top:6px}.site-header nav{gap:37px}.site-header nav a{color:#c7d7c7;padding:7px 0}.site-header nav a:hover{color:var(--lime)}.site-header nav [aria-current=page]{color:#fff;border-color:var(--orange)}.menu-toggle{color:#fff}.mobile-nav{background:var(--forest);color:#eff2df;border-color:#416352}.mobile-nav [aria-current]{color:var(--lime)}.button{background:var(--forest);border-color:var(--forest);color:#f9f9ed;border-radius:8px;padding:15px 23px;box-shadow:0 3px 0 #0c211d;transition:transform .15s,background .15s}.button:hover{background:#235541;border-color:#235541;transform:translateY(-2px)}.button.outline{box-shadow:none;color:var(--forest);border-color:#96af99;border-radius:6px}.button.outline:hover{background:#e2ead7}.button.light{background:var(--lime);border-color:var(--lime);color:var(--forest);box-shadow:0 3px 0 #0c211d}.plain-link{text-decoration-thickness:1px;text-decoration-color:#9eaf97}.kicker{color:#667d68}.welcome-page main{max-width:none;padding:0;overflow:hidden}.welcome{background:var(--forest);color:#f4f3dd;padding:58px max(38px,calc((100vw - 1152px)/2)) 60px;display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;min-height:680px}.welcome-copy{padding:5px 0}.welcome-note{display:flex;gap:10px;align-items:center;color:#d5e2c7;margin-bottom:28px}.welcome-note>span{width:8px;height:8px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 5px #ff946811}.welcome h1{max-width:560px}.welcome h1 em{color:var(--lime);white-space:nowrap}.welcome-intro{color:#c8d9c6;max-width:430px;margin:27px 0}.start-button{background:var(--orange);border-color:var(--orange);color:#153d35;padding:17px 25px;gap:38px;box-shadow:0 4px 0 #9c4c30;display:inline-flex}.start-button:hover{background:#ffac7e;border-color:#ffac7e;color:#153d35}.welcome-time{color:#adc6ac;margin-top:20px}.welcome .returning-link{color:var(--lime);margin-top:16px}.access-demo{position:relative;border-radius:19px;background:#245749;padding:23px;transform:rotate(1deg);box-shadow:8px 10px 0 #0e2b24;border:1px solid #638365;min-width:0}.demo-top{display:flex;gap:11px;align-items:center;margin-bottom:20px}.demo-top h2{color:#f0f0d9}.demo-spark{color:var(--lime)}.demo-hint{color:var(--orange);margin-left:auto;white-space:nowrap}.note-illustration{position:relative;margin:0 7px 21px;min-height:204px}.note-paper{background:#f5f2d9;padding:18px 20px 17px;transform:rotate(-3deg);color:#254d39;box-shadow:0 5px 0 #112f29;position:relative;clip-path:polygon(0 0,calc(100% - 25px) 0,100% 25px,100% 100%,0 100%);border-radius:3px}.paper-fold{position:absolute;right:0;top:0;width:25px;height:25px;background:#cfdbb4}.paper-owner{display:flex;align-items:center;gap:8px;color:#668063;border-bottom:1px solid #cbd1b5;padding-bottom:10px;margin-right:14px}.paper-owner>svg{width:20px;height:20px;margin-left:auto;color:#3f6749}.avatar{width:29px;height:29px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0}.avatar.alice{background:#dfb0cd;color:#633760}.avatar.bob{background:#a6cbe3;color:#1d4e68}.paper-owner .avatar{width:23px;height:23px}.note-paper h3{margin:13px 0 9px}.note-paper>p{color:#6d7b61}.paper-doodle{position:absolute;bottom:21px;right:16px;color:#a76647;transform:rotate(-8deg)}.note-sticker{position:absolute;right:-12px;top:75px;display:grid;place-items:center;width:87px;height:87px;background:var(--orange);color:#623922;text-align:center;transform:rotate(10deg);border-radius:50%;box-shadow:0 3px 0 #8c4c35}.demo-console{transform:rotate(-1deg)}.demo-console>p{color:#d6e2cd;margin:0 0 10px}.identity-options{display:grid;grid-template-columns:1fr 1.2fr;gap:9px}.identity-options>button{display:flex;align-items:center;gap:9px;border:1px solid #65836a;background:#1d483b;border-radius:8px;padding:11px;color:#eff3df;text-align:left;min-width:0}.identity-options small{display:block;color:#b3c8ac;margin-top:3px}.identity-options [aria-pressed=true]{border-color:var(--lime);background:#346947;box-shadow:inset 0 0 0 1px var(--lime)}.demo-run{background:var(--lime);color:#173e32;border:0;border-radius:7px;width:100%;padding:12px 15px;display:flex;justify-content:space-between;margin-top:12px}.demo-run:hover{background:#eafaad}.access-result{display:flex;gap:10px;align-items:start;min-height:72px;padding:16px 0 0;color:#d2dec6}.result-symbol{flex-shrink:0;border:1px solid #89a080;border-radius:50%;width:20px;height:20px;text-align:center;margin-top:1px}.access-result strong{display:block;color:#f0f3db;margin-bottom:4px}.access-result.allowed .result-symbol{background:var(--lime);color:#214631;border-color:var(--lime)}.access-result.denied .result-symbol{background:var(--orange);color:#663b22;border-color:var(--orange)}.access-result.denied strong{color:#ffc5a2}.demo-disclaimer{color:#a5c2a5;margin-top:9px;text-align:center}.course-ribbon{background:var(--lime);color:#244a32;display:flex;gap:30px;align-items:center;justify-content:center;padding:21px 38px;border-bottom:1px solid #afc176}.course-ribbon>b{color:#5d7e3b}.course-ribbon>a{text-decoration:underline;text-underline-offset:4px;margin-left:35px}.make-section{max-width:1280px;margin:auto;padding:75px 64px 70px;display:grid;grid-template-columns:1fr 1.2fr;gap:85px}.make-heading>p{color:#648065;margin-bottom:19px}.make-heading h2 em{color:#527246}.make-heading>.plain-link{display:inline-block;margin-top:28px}.build-outcomes article{display:flex;gap:21px;border-bottom:1px solid var(--rule);padding:23px 0}.build-outcomes article:first-child{padding-top:0}.build-outcomes article:last-child{border-bottom:0;padding-bottom:0}.outcome-art{width:62px;height:66px;border-radius:15px;display:grid;place-items:center;flex-shrink:0;transform:rotate(-4deg)}.outcome-art>svg{width:36px;height:36px}.outcome-art.orange{background:#ffbd98;color:#784425}.outcome-art.lime{background:#d6e8a3;color:#416138;transform:rotate(3deg)}.outcome-art.lavender{background:#d7c9e4;color:#654e77;transform:rotate(-2deg)}.build-outcomes h3{margin:2px 0 10px}.build-outcomes p{color:var(--muted);max-width:390px}.first-step{background:#e9b99a;max-width:1152px;margin:0 auto 45px;padding:39px 42px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;border-radius:18px;position:relative;border:1px solid #d8a687}.first-step-mark{display:block;margin-bottom:16px;color:#73513b}.first-step p:not(.first-step-info p){color:#7e583f}.first-step h2{margin-top:14px}.first-step-info{align-self:center}.first-step-info>p{color:#6b5949;margin-bottom:14px}.first-step .button{padding:13px 18px;margin-top:4px;gap:24px}.welcome-page .resource-shortcut{max-width:1152px;margin:0 auto 30px;border-top:0;padding-top:0}.site-footer{background:#dce4d3;border:0;max-width:none;padding:26px max(38px,calc((100vw - 1152px)/2));color:#54705a}.site-footer>a{color:#2b503a}.site-footer a:hover{color:#b15231}.inside-page main{max-width:1280px;padding-bottom:75px}.inside-page .page-heading{border-bottom:1px solid var(--rule);padding-bottom:32px;margin-bottom:35px}.breadcrumbs{color:#71836f}.inside-page .simple-heading{background:#dce8cf;padding:30px 32px;border-radius:15px;border:1px solid #bfcfb6}.inside-page .simple-heading h1{max-width:650px}.inside-page .simple-heading .intro{max-width:670px}.resume-box{border-radius:14px;background:var(--forest);box-shadow:5px 5px 0 #c3d0b9}.resume-box>.kicker{color:#d2e4b9}.resume-box p{color:#b8cead}.progress-track{background:#557951;border-radius:10px}.progress-track span{background:var(--lime);border-radius:10px}.lesson-title small{color:#52784e}.lesson-number{color:#b9663b}.lesson-row{padding:26px 16px;border-radius:10px 10px 0 0}.lesson-row:nth-child(odd){background:#e8eddf}.lesson-row.complete{background:#d6e6bd}.course-aside .aside-block{padding-left:10px}.catalog-layout{gap:45px}.lesson-sidebar{border-radius:12px;background:#e3eada;padding:18px}.lesson-sidebar li a{border-color:#c6d2bd}.lesson-sidebar li [aria-current]{color:#27613f}.setup-strip{border-radius:8px;background:#e0e9d3;border-left:3px solid #8faa66}.review-strip{color:#74826e;border-bottom-color:#d1dac9}.instruction-list p{color:#62705f}.instruction-list>li:before{color:#719250}.code-panel{background:#173d35;color:#dbe6cf;border-radius:0 0 10px 10px}.code-label{background:#26513e;color:#d8e8c9;border-radius:10px 10px 0 0}.code-label button{border-radius:5px;border-color:#7e9c77;color:#f0f5dd}.expected{background:#e1edce;border-radius:0 0 9px 9px;border-color:#bed29e}.quiz{border-top:2px solid #bed29e}.quiz label{padding:14px 12px;border-radius:6px}.quiz label:has(input:checked){background:#e0e9d3}.quiz input{accent-color:#4a7b40}.completion-box{background:#e2ebd7;border:1px solid #c9d6ba;border-radius:12px}.article-pagination{border-color:#c6d2bd}.pipeline-tabs{border-radius:12px;overflow:hidden;border-color:#c6d2bd;background:#e2ebd7}.pipeline-tabs [aria-selected=true]{background:#386a4c;color:#f0f5dd}.pipeline-copy>.kicker{color:#65874f}.pipeline-tabs button{color:#5e765c}.pipeline-tabs button>span{opacity:.65}.resources-directory{border:0}.resources-directory>a{padding:27px;border-radius:13px;background:#e1e9d7;border:1px solid #cad5bf;margin-bottom:14px;transition:transform .15s,background .15s}.resources-directory>a:nth-child(2){background:#f0dcc7;border-color:#ddc5ab}.resources-directory>a:nth-child(3){background:#e2dceb;border-color:#ccc0d9}.resources-directory>a:nth-child(4){background:#d6e5df;border-color:#bcd1c6}.resources-directory>a:nth-child(5){background:#e7e9c8;border-color:#d5d8ae}.resources-directory>a:hover{background:#d4e3be;transform:translateX(4px);color:var(--ink)}.resource-label{color:#66805a}.resources-directory p{color:#67745f}.file-icon{background:#cbdcae;border-color:#a7bd8c;color:#416334;border-radius:5px}.template-intro{border-color:#bfd0b2}.template-row{padding-inline:15px}.template-row:nth-child(odd){background:#e9eddf;border-radius:10px}.search-box{background:#f6f7ee;border-color:#b5c5a7;border-radius:9px}.search-box input{color:#24482f}.issue{border-color:#c7d4bc}.issue small{color:#7e8d63}.issue[open]{background:#e5ecda;padding-inline:19px;border-radius:9px}.reading-list article{padding-inline:18px}.reading-list article:nth-child(odd){background:#e8eddf;border-radius:10px}.reading-article .intro{color:#5d715f}.takeaway{background:#e0e8c7;border-color:#92ab52;border-radius:0 10px 10px 0}.scope-note{background:#e9dfc9;border-color:#c79559;border-radius:0 8px 8px 0}.course-table th{background:#dce7cd}.course-table td{border-color:#cdd9c3}.review-date{color:#76876d}.inside-page .resources-start .button{background:var(--forest)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-color:#d37c42;outline-offset:5px}.welcome a:focus-visible,.welcome button:focus-visible{outline-color:#efffae}.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--lime)}@media(min-width:1450px){.welcome{padding-top:75px;padding-bottom:75px;min-height:750px}}@media(max-width:1100px){.welcome{gap:40px;padding:48px 38px 53px}.access-demo{padding:20px}.paper-doodle{right:12px}.note-sticker{right:-12px;width:77px;height:77px}.make-section{padding:58px 38px;gap:50px}.first-step{margin-inline:38px;gap:35px;padding:33px}.welcome-page .resource-shortcut{margin-inline:38px}.course-ribbon{gap:23px}.course-ribbon>a{margin-left:10px}.site-header{padding-inline:38px}.site-footer{padding-inline:38px}}@media(max-width:800px){.site-header{padding:23px 28px}.welcome{padding:40px 28px 45px;gap:25px;min-height:0;grid-template-columns:1fr 1fr}.welcome-note{margin-bottom:22px}.welcome-intro{margin:23px 0}.start-button{padding:14px 19px;gap:22px}.access-demo{padding:16px;border-radius:15px;box-shadow:5px 7px 0 #0e2b24}.demo-top{gap:8px;margin-bottom:17px}.demo-hint{display:none}.note-illustration{margin:0 2px 18px;min-height:193px}.note-paper{padding:15px 13px}.paper-owner{gap:6px}.paper-owner>svg{width:17px;height:17px}.paper-doodle{right:10px;bottom:14px}.note-sticker{width:64px;height:64px;right:-13px;top:75px}.identity-options{grid-template-columns:1fr 1.1fr;gap:6px}.identity-options>button{gap:6px;padding:9px 7px}.identity-options .avatar{width:23px;height:23px}.demo-run{padding:11px 13px}.course-ribbon{gap:18px;padding:19px 28px;flex-wrap:wrap;justify-content:start}.course-ribbon>a{margin-left:auto}.make-section{padding:45px 28px;grid-template-columns:1fr;gap:32px}.make-heading h2 br{display:none}.make-heading>.plain-link{margin-top:17px}.build-outcomes article{gap:20px}.outcome-art{width:58px;height:62px}.build-outcomes p{max-width:none}.first-step{margin-inline:28px;gap:30px;padding:28px;grid-template-columns:1fr 1fr}.first-step .button{gap:15px}.welcome-page .resource-shortcut{margin-inline:28px}.inside-page .page-heading{padding-top:18px}.lesson-sidebar{padding:15px;border-radius:8px}.site-footer{padding-inline:28px}}@media(max-width:600px){.welcome{grid-template-columns:1fr;padding:32px 23px 43px;gap:34px}.welcome-copy{padding:0}.welcome-note{margin-bottom:24px}.welcome-intro{max-width:460px;margin:24px 0}.start-button{padding:16px 23px;gap:35px}.welcome-time{margin-top:18px}.access-demo{max-width:440px;width:100%;padding:21px;justify-self:center;transform:rotate(.6deg);border-radius:17px}.demo-top{gap:10px;margin-bottom:21px}.demo-hint{display:block}.note-illustration{margin:0 6px 23px;min-height:210px}.note-paper{padding:18px}.paper-owner{gap:7px}.paper-owner>svg{width:20px;height:20px}.paper-doodle{bottom:19px;right:15px}.note-sticker{width:79px;height:79px;top:80px;right:-12px}.identity-options{grid-template-columns:1fr 1.2fr;gap:8px}.identity-options>button{padding:12px 9px;gap:8px}.identity-options .avatar{width:29px;height:29px}.demo-run{padding:13px 15px}.course-ribbon{padding:20px 23px;gap:14px;justify-content:space-between}.course-ribbon>a{width:100%;margin:0;padding-top:5px}.make-section{padding:40px 23px 36px;gap:30px}.make-heading>p{margin-bottom:16px}.make-heading h2 br{display:block}.build-outcomes article{gap:16px;padding:23px 0}.outcome-art{width:51px;height:56px;border-radius:12px}.outcome-art>svg{width:31px;height:31px}.build-outcomes h3{margin-bottom:9px}.first-step{grid-template-columns:1fr;gap:25px;margin:0 23px 30px;padding:26px;border-radius:13px}.first-step-mark{margin-bottom:14px}.first-step .button{gap:24px}.welcome-page .resource-shortcut{margin:0 23px 26px}.site-header{padding:21px 23px}.site-footer{padding:24px 23px}.inside-page .simple-heading{padding:24px 22px;border-radius:12px}.lesson-row{padding:23px 11px}.lesson-sidebar{padding:13px}.resources-directory>a{padding:22px}}@media(max-width:360px){.access-demo{padding:16px}.demo-hint{display:none}.paper-doodle{display:none}.note-sticker{right:-10px}.course-ribbon{gap:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(min-width:601px){.paper-doodle{right:100px}}@media(max-width:600px){.paper-doodle{display:none}}.first-step>div:first-child>p{color:#7e583f}.home-paths{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.welcome .home-practice{display:inline-flex;align-items:center;gap:16px;background:transparent;color:#f2f3e9;border:1px solid #8eaf99;box-shadow:none;padding:15px 16px}.welcome .home-practice:hover{background:#235541;border-color:#bdd0bc}.home-paths .start-button{gap:24px}@media(max-width:600px){.home-paths{align-items:stretch;gap:12px}.home-paths>a{justify-content:space-between}.welcome .home-practice{padding:15px 16px}}
