@charset "UTF-8";
.curriculum-page{--sidebar:264px;line-height:1.8;color:#303943}
.curriculum-page .site-header{height:68px;padding:0 28px;gap:24px;background:white}.curriculum-page .site-header nav{display:flex;gap:22px}.curriculum-page .site-header nav a{font-size:14px;min-height:44px;display:flex;align-items:center}
.language-switch{display:flex;gap:6px;align-items:center;white-space:nowrap}.language-switch a{display:flex;align-items:center;padding:6px 10px;min-height:44px;font-size:14px;text-decoration:none}.language-switch [aria-current=page]{background:#eef3fb;color:#183f78;border-radius:3px;font-weight:650}
.lesson-sidebar{position:fixed;top:68px;bottom:0;left:0;width:var(--sidebar);overflow-y:auto;background:#fafbfc;border-right:1px solid var(--line);padding:26px 16px}.lesson-sidebar>p{font-size:13px;color:var(--muted);padding-left:12px;margin-bottom:12px}.lesson-sidebar nav,.mobile-lessons nav{display:grid;gap:5px}.lesson-sidebar a,.mobile-lessons nav a{display:flex;align-items:baseline;gap:10px;padding:9px 12px;font-size:14px;color:#47515e;text-decoration:none;border-left:2px solid transparent;line-height:1.65}.lesson-sidebar a span,.mobile-lessons nav a span{font-size:12px;color:#6b7583;flex-shrink:0}.lesson-sidebar a:hover,.lesson-sidebar a[aria-current],.mobile-lessons a[aria-current]{color:#194c96;background:#edf3fc;border-left-color:#2458a6}.mobile-lessons{display:none}
.curriculum-page #main{margin-left:var(--sidebar);min-height:calc(100vh - 125px)}.curriculum-page .wrap{max-width:900px;padding-left:42px;padding-right:42px}.curriculum-page .section{padding-top:32px;padding-bottom:32px;border-bottom:0}.curriculum-page h1{font-size:28px;line-height:1.5;margin-bottom:14px}.curriculum-page h2{font-size:22px;margin:0 0 16px}.curriculum-page h3{font-size:18px}.curriculum-page .lead{font-size:17px;max-width:720px;line-height:1.85}.curriculum-page .eyebrow{font-size:13px;color:#637185;margin-bottom:10px}.curriculum-page .small-text{font-size:14px;color:#626d7a}.curriculum-page .intro h2{margin-top:28px}.curriculum-page li{margin-bottom:8px}.curriculum-page ol,.curriculum-page ul{padding-left:25px}.curriculum-page ol>li{padding-left:5px}
.curriculum-page button,.curriculum-page .button{font:inherit;padding:9px 15px;border:1px solid #b8c6d9;background:white;color:#2458a6;border-radius:3px;line-height:1.6;min-height:44px;cursor:pointer}.curriculum-page .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#2458a6;border-color:#2458a6;color:white}.curriculum-page .button.outline{color:#2458a6;background:white}.curriculum-page button:hover{background:#edf3fc}.curriculum-page .button:hover{background:#194781;color:white}.curriculum-page button:disabled{cursor:default}.curriculum-page .actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.curriculum-page .actions [role=status]:empty{display:none}.curriculum-page .actions [role=status]:not(:empty){order:3;width:100%;margin:0}
.start-note{padding:14px 18px;background:#f6f8fb;border-left:3px solid #bdcce2;font-size:14px}.curriculum-page .module-list{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid var(--line)}.curriculum-page .module-list li{border-bottom:1px solid var(--line);margin:0;padding:0}.module-list a{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:12px;align-items:baseline;padding:17px 8px;text-decoration:none}.module-list a:hover{background:#f6f8fb}.module-list strong{color:#273341;font-weight:650}.module-number{color:#697689;font-size:13px}.module-summary{display:block;color:#626d7a;font-size:14px;margin-top:4px;line-height:1.7}.curriculum-page .module{overflow-wrap:anywhere}.module h1:focus{outline:none}
.outcome{border-left:3px solid #2458a6;background:#f6f8fb;padding:18px 22px;margin:22px 0 14px}.outcome>strong{font-size:14px;color:#2458a6}.outcome>p{margin:5px 0 10px}.example-result{background:white;border:1px solid #e0e5ed;padding:12px 16px;margin:14px 0 10px}.example-result span{display:block;font-size:12px;color:#637185;margin-bottom:4px}.example-result p{white-space:pre-wrap;margin:0;font-size:15px}.outcome .small-text{font-size:12px;margin:0}.lesson-shortcuts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.curriculum-page .lesson-shortcuts button{border:0;padding:6px 0;font-size:14px;background:transparent;text-decoration:underline;text-underline-offset:3px}.learning-step{padding-top:30px;padding-bottom:26px;border-bottom:1px solid var(--line)}.learning-step>ol li{margin-bottom:12px}
.curriculum-page pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#f7f8fa;border:1px solid #dfe4ec;padding:16px 18px;font:inherit;font-size:15px;line-height:1.85;max-width:100%;border-radius:3px}.exercise-material{margin:20px 0}.exercise-material h3{font-size:15px;margin:18px 0 8px;color:#546174}.curriculum-page details{border:1px solid var(--line);padding:13px 17px;margin:16px 0;border-radius:3px}.curriculum-page summary{cursor:pointer;font-weight:600;color:#344a65;min-height:30px;overflow-wrap:anywhere}.curriculum-page details[open]>summary{margin-bottom:16px}.curriculum-page .reference{background:#f8f9fb}.curriculum-page select{width:100%;max-width:100%;font:inherit;padding:9px;border:1px solid #bbc6d4;background:white;color:#344a65;border-radius:3px;margin-bottom:16px;min-height:44px}.curriculum-page select:focus-visible{outline:2px solid #2458a6;outline-offset:3px}.module-record textarea{margin-bottom:14px}.check-line{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;margin:10px 0}.check-line input{margin-top:5px}.lesson-question{border:0;padding:0;margin:0}.lesson-question label{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:12px 0}.lesson-question input{margin-top:6px}.module-pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:25px}.module-pager a{min-height:44px;display:flex;align-items:center;font-size:14px}
.code-workspace{padding:20px;background:#f6f8fb;margin:20px 0}.code-workspace textarea{font-family:ui-monospace,monospace}.code-workspace iframe{width:100%;height:400px;background:white;border:1px solid #b8c6d9}.curriculum-page [role=status]{color:#2458a6;font-size:14px;overflow-wrap:anywhere}.further>h2{font-size:19px}.learning-footer{margin-left:var(--sidebar);padding:18px 30px;border-top:1px solid var(--line);font-size:12px;color:#6b7583;text-align:center}.copy-fallback{position:fixed;bottom:0;right:0;background:white;border:2px solid #2458a6;z-index:30;max-height:70vh;overflow:auto;padding:16px!important}.curriculum-page .skip:focus{z-index:50}.language-warning{max-width:min(520px,calc(100% - 32px));border:1px solid #b8c6d9;padding:24px}.language-warning button{margin:8px 12px 0 0}
@media(max-width:900px){.curriculum-page{--sidebar:220px}.lesson-sidebar{padding:20px 10px}.lesson-sidebar a{font-size:13px;padding:8px}.curriculum-page .wrap{padding-left:26px;padding-right:26px}.curriculum-page .site-header{padding:0 18px;gap:16px}}
@media(max-width:700px){html{scroll-padding-top:108px}.curriculum-page .site-header{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 16px;gap:4px 10px}.curriculum-page .brand{font-size:16px;margin-right:auto}.curriculum-page .site-header nav{order:3;width:100%;gap:24px;margin:0}.curriculum-page .site-header nav a{min-height:28px;font-size:13px}.language-switch a{font-size:12px;padding:4px 7px;min-height:36px}.lesson-sidebar{display:none}.curriculum-page #main,.learning-footer{margin-left:0}.curriculum-page .mobile-lessons{display:block;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:12px 20px;background:#fafbfc}.mobile-lessons nav{max-height:55vh;overflow:auto}.curriculum-page .wrap{padding-left:20px;padding-right:20px}.curriculum-page .section{padding-top:24px}.curriculum-page h1{font-size:25px}.curriculum-page h2{font-size:21px}.outcome{padding:14px 16px}.curriculum-page pre{padding:13px;font-size:15px}.curriculum-page .actions{gap:10px}.curriculum-page .actions .button,.curriculum-page .actions button{font-size:14px}.curriculum-page details{padding:12px}.module-list a{grid-template-columns:24px minmax(0,1fr) 14px;gap:7px}}

.visual-guide{margin:24px 0;border-top:1px solid #dde3eb;padding-top:18px}.walkthrough-shot{margin:0 0 22px;min-width:0}.walkthrough-shot figcaption strong{font-size:17px}.walkthrough-shot figcaption p{margin:6px 0 12px;font-size:15px;line-height:1.75}.screenshot-link{display:block;width:100%;max-width:805px;border:1px solid #d4dce7;border-radius:6px;overflow:hidden;text-decoration:none;background:#f6f8fb}.screenshot-link img{display:block;width:100%;height:auto}.screenshot-link span{display:block;padding:6px 12px;font-size:13px}.screenshot-note{font-size:12px!important;color:#667085;line-height:1.6}.visual-guide details .walkthrough-shot:first-of-type{margin-top:18px}.preview-guide{margin-top:24px!important}#screenshot-dialog{box-sizing:border-box;width:min(1100px,96vw);max-height:94vh;border:1px solid #b8c6d9;padding:16px;overflow:auto}#screenshot-dialog::backdrop{background:rgba(15,23,42,.7)}#screenshot-dialog form{text-align:right;position:sticky;top:0;margin:0 0 12px}#screenshot-dialog button{background:white;border:1px solid #2458a6;min-height:44px;padding:8px 16px}#screenshot-large{display:block;width:100%;height:auto}#screenshot-caption{font-size:15px;line-height:1.7}

.image-pan{max-width:100%;overflow:auto;border:1px solid #d4dce7}#screenshot-large{width:auto;max-width:none;min-width:100%}

.curriculum-page .lesson-mode{font-size:15px;line-height:1.8;margin:12px 0 18px;color:#465469}.lesson-mode a{display:inline-block}.visual-guide .visual-step{background:#fff;margin:10px 0}.visual-step .walkthrough-shot{margin:0}.visual-guide>h3{margin:0 0 12px}.visual-guide .common-visuals{margin:0}.visual-step summary{line-height:1.7}.visual-step[open]>summary{color:#194c96}
