@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25322b;background:#f7f8f5;font-synthesis:none;font-size:15px;line-height:1.6;--muted: #606d63;--line: #dfe4dc;--green: #345a45;--surface: #fff;--soft: #edf1e9}*{box-sizing:border-box}body{margin:0}button{font:inherit;-webkit-tap-highlight-color:transparent;cursor:pointer;border:0;background:none;color:inherit}input{font:inherit;-webkit-tap-highlight-color:transparent}textarea{font:inherit;-webkit-tap-highlight-color:transparent;width:100%;background:#fff;border:1px solid #d6dfd0;border-radius:5px;padding:15px;resize:vertical;font-size:13px;line-height:1.8;color:inherit;transition:border-color .18s ease,box-shadow .18s ease}a{-webkit-tap-highlight-color:transparent;color:inherit;text-decoration:none}summary{-webkit-tap-highlight-color:transparent;cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible{outline:2px solid #527b5c;outline-offset:4px}a:focus-visible{outline:2px solid #527b5c;outline-offset:4px}summary:focus-visible{outline:2px solid #527b5c;outline-offset:4px}input:focus-visible{outline:2px solid #527b5c;outline-offset:4px}textarea:focus-visible{outline:2px solid #527b5c;outline-offset:4px}button[hidden],[hidden]{display:none!important}h1{margin:0;font-size:30px;font-weight:550;letter-spacing:-1px;line-height:1.2}h2{margin:0;font-weight:550;letter-spacing:-.6px;line-height:1.35;font-size:28px}h3{margin:0;font-size:15px;font-weight:650}p{margin:0}p+p{margin-top:12px}code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}p code{background:var(--soft);font-size:.9em;padding:2px 4px;border-radius:3px}small{font-size:11px}summary::marker{color:#8a948a}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:10px;top:-100px;background:#fff;padding:10px;z-index:99}.skip-link:focus{top:10px}.text-button{font-size:12px;padding:3px 0;border-bottom:1px solid transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.text-button:hover{color:var(--green);border-bottom-color:currentColor}.icon-button{font-size:24px;line-height:1;padding:8px}.menu-toggle{display:none}.secondary-button{font-size:12px;line-height:1.3;border-radius:5px;padding:10px 15px;display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:38px;border:1px solid #cfd8cc;background:transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.primary-button{font-size:12px;line-height:1.3;border-radius:5px;padding:10px 15px;display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:38px;background:#345a45;color:#fff;border:1px solid #345a45;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.secondary-button:hover{background:#eaf0e6}.primary-button:hover{background:#264633}.lesson-pane{min-width:0}.fine-print{font-size:10px;color:var(--muted);margin-top:18px!important}.muted{color:var(--muted)}.primary-button:not(:disabled):active{transform:translateY(1px)}.secondary-button:not(:disabled):active{transform:translateY(1px)}.text-button:not(:disabled):active{transform:translateY(1px)}textarea:focus{border-color:#9eae97;box-shadow:0 0 0 2px #345a450c}#run-code.is-running{display:inline-flex;align-items:center;justify-content:center;gap:8px}#run-code.is-running:before{content:"";width:12px;height:12px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:run-progress .8s linear infinite;flex-shrink:0}@media(max-width:700px){h1{font-size:26px}h2{font-size:25px}.menu-toggle{display:block;font-size:18px;padding:4px}}@media(min-width:1080px)and (orientation:landscape){.with-snippet #answer-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 40px;align-items:start}}@media(min-width:1600px)and (orientation:landscape){.with-snippet #answer-area{column-gap:56px}}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 40px;background:#f7f8f5;position:sticky;top:0;z-index:10;justify-content:flex-start;gap:20px}.brand{display:flex;align-items:center;gap:13px;font-weight:650;font-size:15px;line-height:1.35;letter-spacing:.2px;margin-right:auto}.brand-mark{height:36px;width:36px;display:grid;place-items:center;font-family:Georgia,serif;color:var(--green);font-size:25px;font-style:italic}.brand-sub{display:block;font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:2px}.top-meta{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted);margin-left:auto}.dot{color:#a6b2a6}.layout{min-height:calc(100vh - 80px);display:block}.sidebar{border-right:1px solid var(--line);padding:32px 20px 24px;overflow-y:auto;scrollbar-width:thin;position:fixed;top:80px;left:0;width:310px;height:calc(100dvh - 80px);z-index:20;transform:translate(-100%);visibility:hidden;transition:transform .28s cubic-bezier(.16,1,.3,1),visibility 0s linear .28s;display:flex;flex-direction:column;background:#f7f8f5;border-right-color:var(--line);box-shadow:none}.sidebar-section-label{font-size:10px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin:0 10px 9px}.task-link{display:block;padding:8px 10px;font-size:12px;line-height:1.45;border-left:2px solid transparent;margin:2px 0;color:#657266;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.task-link:hover{background:#edf1e9;color:#345a45}.task-link.current{color:#274d34;background:#edf1e9;border-left-color:#4e7856;font-weight:550}.task-link small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:3px}main{min-width:0;width:100%;max-width:740px;padding:36px 28px;margin:0 auto;min-height:calc(100vh - 80px);display:flex;flex-direction:column}.lesson-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 28px}.workspace{gap:32px;align-items:start;display:block;flex:1 0 auto}.status-dot{height:5px;width:5px;border-radius:50%;background:#a3afa0}.sidebar.open{transform:translate(0);visibility:visible;transition:transform .28s cubic-bezier(.16,1,.3,1),visibility 0s linear 0s}.sidebar-toggle{position:fixed;top:96px;left:0;width:32px;height:44px;border:1.5px solid var(--line);border-left:none;border-radius:0 8px 8px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--green);z-index:25;padding:0;transition:transform .28s cubic-bezier(.16,1,.3,1),background-color .15s ease,color .15s ease,border-color .15s ease;background:#f7f8f5;border-color:var(--line);box-shadow:none}.sidebar-toggle:hover{color:#1e3a28;background:#eef0ec;border-color:#d3d8d0}.sidebar-toggle.open{transform:translate(310px)}.sidebar-toggle .toggle-chevron{display:block;transition:transform .28s cubic-bezier(.16,1,.3,1)}.sidebar-toggle.open .toggle-chevron{transform:rotate(180deg)}.lesson-header h1{font-size:13px;letter-spacing:0;font-weight:500;color:var(--muted)}.sidebar .sidebar-section-label{margin:0 0 14px;color:var(--muted)}.sidebar .task-link{color:#59635c}.sidebar .task-link:hover{background:#eef0ec;color:#25322b}.sidebar .task-link.current{background:#e8ebe5;color:#25322b;border-left-color:#758078}.site-footer{margin-top:40px;padding:20px 0 0;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:24px;font-size:11px;line-height:1.65;color:var(--muted)}.site-footer p{margin:0;flex:1}.site-footer a{text-decoration:underline;text-underline-offset:3px}.site-footer>a{white-space:nowrap}@media(min-width:1550px){.workspace{gap:48px}}@media(max-width:1200px){.sidebar{padding:28px 14px}.workspace{gap:22px}}@media(max-width:980px){.lesson-header{align-items:flex-start}}@media(max-width:700px){.topbar{height:64px;gap:12px;padding:0 14px}.brand{font-size:13px}.brand-mark{width:30px;height:30px;font-size:21px}.brand-sub{font-size:10px}.top-meta{gap:0;font-size:10px;display:none}.layout{min-height:calc(100vh - 64px)}.sidebar{top:64px;height:calc(100dvh - 64px);width:290px}main{padding:28px 20px;min-height:calc(100dvh - 64px)}.lesson-header{gap:14px;margin-bottom:20px}.workspace{gap:24px}.top-meta>.dot{display:none}.top-meta>button{display:none}.sidebar.open{display:flex}.topbar .icon-button{min-width:32px;min-height:38px}.sidebar-toggle{height:38px;width:30px;top:13px}.sidebar-toggle.open{transform:translate(290px);top:76px}.site-footer{flex-direction:column;gap:10px;margin-top:24px;padding-top:18px}body:has(#sidebar-toggle:not([hidden])) .topbar{padding-left:44px}}@media(min-width:1080px)and (orientation:landscape){main.expanded{max-width:1280px;padding:36px 44px}.workspace.has-results,.workspace.has-review{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:40px;align-items:start}.workspace.has-results .results-pane{margin-top:0;position:sticky;top:104px;max-height:calc(100vh - 132px);overflow:auto}.workspace.has-results .output{max-height:calc(100vh - 205px);font-size:16px;line-height:1.9}#review-panel{position:sticky;top:104px;min-width:0;max-height:calc(100vh - 132px);overflow:auto}#review-panel .solution{margin-top:0;padding:24px;line-height:1.8}.workspace.has-review textarea{min-height:260px}}@media(min-width:1600px)and (orientation:landscape){main.expanded{max-width:1460px;padding:44px 64px}.workspace.has-results,.workspace.has-review{gap:56px}}.footer-links{display:flex;flex-wrap:wrap;gap:8px 16px}.task-context{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);margin-bottom:10px;justify-content:space-between}.task-context span:first-child{font-variant-numeric:tabular-nums;letter-spacing:1px}.task-context span:last-child{text-align:right}.prompt{color:#36433a;margin:14px 0 24px;font-size:16px;line-height:1.65}.context-details{font-size:12px;color:#637263;margin:0 0 18px}.desktop-task{font-size:12px;margin:16px 0;color:#637263}.context-details summary{margin-bottom:8px;color:var(--green);font-size:11px}.desktop-task summary{font-size:12px;margin-bottom:8px;color:var(--green)}.editor-shell{background:#fff;border:1px solid #d6dfd0;border-radius:6px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.cm-editor{min-height:110px;font-size:18px!important}.cm-scroller{overflow:auto;min-height:110px;max-height:400px}.editor-toolbar{display:flex;align-items:center;border-top:1px solid #e5eae0;gap:8px;padding:12px 16px;justify-content:flex-end}.editor-toolbar>div{display:flex;gap:8px}.manual-note{font-size:11px;color:var(--muted);line-height:1.6;margin-top:12px}.support-actions{display:flex;justify-content:flex-start;gap:24px;padding:14px 0 4px}.support-actions .text-button{font-size:12px;color:#5a745e}.hint{display:flex;gap:12px;font-size:12px;color:#576b59;margin-top:12px}.hint>span{font-size:10px;border:1px solid #cbd8c6;border-radius:50%;height:20px;min-width:20px;text-align:center}.solution{margin-top:16px;background:#edf2e9;padding:18px;border-radius:5px;font-size:13px}.solution h3{font-size:12px;margin-bottom:10px}.solution pre{margin:10px 0}.solution p{font-size:12px;color:#536856}.solution button{margin-top:16px}.feedback{border-left:2px solid;padding:10px 14px;margin-top:16px;font-size:13px;animation:gentle-reveal .2s cubic-bezier(.2,.7,.3,1)}.feedback strong{font-size:13px;font-weight:550}.feedback p{margin-top:5px;line-height:1.7;font-size:13px}.feedback.success{background:#edf3e8;border-color:#597c53;color:#355232}.feedback.error{background:#faf0e8;border-color:#bf8252;color:#875530}.feedback.neutral{background:#eef1ea;border-color:#a3b39a;color:#52634c}.results-pane{border:1px solid #dde4d7;border-radius:6px;background:#fcfdf9;top:110px;min-width:0;position:static;margin-top:20px}.runtime-bar{align-items:center;gap:7px;padding:13px 16px;font-size:10px;color:#65745c;border-bottom:1px solid var(--line);display:none}.runtime-bar button{margin-left:auto;font-size:10px}.status-dot.ready{background:#719266}.status-dot.loading{background:#bca372}.status-dot.error{background:#b77c57}.result-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:0 16px}.result-tabs button{border-bottom:2px solid transparent;position:relative;bottom:-1px;color:var(--muted);font-size:12px;padding:8px 0;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.result-tabs button[aria-selected=true]{border-bottom-color:#78956e;color:#3e603f}.result-tabs span{padding-left:3px;color:var(--muted);font-size:10px}.empty-state{padding:28px 18px;font-size:12px;color:var(--muted);line-height:1.8}.output{margin:0;overflow:auto;min-height:0;max-height:250px;padding:14px 18px;font-size:17px}.output-error{color:#a54f3a}.output-warning{color:#92682d}.output-message{color:#577852}#output-panel canvas{display:block;width:100%;height:auto}#objects-panel{padding:8px 14px;max-height:550px;overflow:auto}.object{padding:10px 0;border-bottom:1px solid #e5ebdf}.object:last-child{border-bottom:0}.object summary{font-size:12px;font-family:SFMono-Regular,Consolas,monospace}.object small{font-size:9px;color:var(--muted);font-family:DM Sans,sans-serif;margin-left:7px}.object pre{font-size:11px;margin:10px 0}.vector-cells{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.vector-cell{border:1px solid #d9e2d1;border-radius:3px;padding:4px 7px;min-width:38px}.vector-cell span{display:block;font-size:9px;color:var(--muted)}.vector-cell strong{font-family:Consolas,monospace;font-size:11px;font-weight:400}.vector-cell:hover,.cell:hover{background:#edf3e8}.vector-cell.selected,.cell.selected{background:#dde9d6;border-color:#90a885}.cell-readout{font-size:10px;font-family:Consolas,monospace;color:var(--green);margin:8px 0;overflow-wrap:anywhere}.table-scroll{overflow:auto;margin:10px 0}.object-table{border-collapse:collapse;font-size:10px;text-align:center;width:100%}.object-table th{font-weight:450;color:var(--muted);padding:5px}.object-table td{border:1px solid #dde6d5;padding:0}.cell{padding:7px 6px;width:100%;font-size:11px;font-family:Consolas,monospace}.question-code{background:#fff;border:1px solid var(--line);border-radius:5px;padding:18px;margin:0 0 22px}.choices{border:0;margin:0 0 20px;padding:0;display:grid;gap:10px}.choice{display:flex;gap:12px;border:1px solid #d9e1d2;border-radius:5px;padding:14px 16px;cursor:pointer;font-size:13px;background:#fcfdf9;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.choice:has(input:checked){border-color:#78956e;background:#edf1e9}.choice input{accent-color:#345a45;margin-top:4px}.written-label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}#compare-answer{margin-top:18px}.editor-toolbar .primary-button{min-width:110px;font-size:14px}.task-help{margin-top:18px;font-size:12px;color:var(--muted)}.task-help .solution{color:#3b513a}.answer-contract{font-size:11px;color:#5c6e54;margin:-10px 0 20px}.answer-contract summary{cursor:pointer;width:fit-content}.answer-contract p{font-size:12px;line-height:1.7;margin-top:8px}.task-footer{position:sticky;top:80px;z-index:9;background:#f7f8f5;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:8px 0;margin:0 0 16px;border-top:none;border-bottom:1px solid var(--line)}.task-footer .previous{display:inline-flex;align-items:center;justify-content:center;min-height:38px;font-size:13px;white-space:nowrap;border-radius:5px;padding:8px 14px;text-decoration:none;font-weight:500;line-height:1.3;color:var(--muted);transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.task-footer .next{display:inline-flex;align-items:center;justify-content:center;min-height:38px;font-size:13px;white-space:nowrap;border-radius:5px;padding:8px 14px;text-decoration:none;font-weight:500;line-height:1.3;color:var(--green);transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.task-footer .previous:hover{color:var(--green);text-decoration:underline}.task-footer .next:hover{color:#1d3e29;text-decoration:underline}.task-footer .next.primary-button{background:var(--green);color:#fff;border:1px solid var(--green);font-size:13px;text-decoration:none}.task-footer .next.primary-button:hover{background:#264633;color:#fff;text-decoration:none}#task-heading,#solution{scroll-margin-top:140px}.task-footer .previous:active,.task-footer .next:active{transform:translateY(1px)}.editor-shell:focus-within{border-color:#9eae97;box-shadow:0 0 0 2px #345a450c}.solution.is-new{animation:gentle-reveal .2s cubic-bezier(.2,.7,.3,1)}@media(max-width:700px){.task-context{font-size:9px}.prompt{font-size:15px}.cm-editor{font-size:16px!important}.support-actions{padding-top:18px}.output{font-size:16px}.choice{font-size:12px}.editor-toolbar .primary-button{padding:10px 12px;min-width:100px}.editor-toolbar .secondary-button{font-size:11px;padding:10px 12px}.task-footer{top:64px;padding:6px 0;margin:0 0 12px;font-size:12px}.task-footer .previous,.task-footer .next{min-height:36px;font-size:12px;padding:6px 10px}#task-heading{scroll-margin-top:120px}}@media(min-width:1080px)and (orientation:landscape){.with-snippet .question-code{grid-column:1;grid-row:1 / 3;margin:0;font-size:16px;line-height:2;padding:24px;position:sticky;top:104px}.with-snippet .choices{grid-column:2;grid-row:1;margin:0}.with-snippet #check-choice{grid-column:2;grid-row:2;justify-self:start}.with-snippet .choice{font-size:14px;padding:16px}.with-snippet #task-body{max-width:760px}}.start-screen{max-width:660px;width:100%;margin:0 auto;padding:8px 0 28px}.course-picker{display:flex;align-items:center;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}.course-picker #course-label{font-size:12px;color:#667168;white-space:nowrap}.course-dropdown{position:relative;flex:1;min-width:0}#course-unit{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;min-height:44px;width:100%;text-align:left;background:transparent;border:1px solid #ccd2c9;border-radius:5px;padding:10px 12px}#course-unit[data-pointer-focus]:focus-visible{outline:none}#course-unit:hover,#course-unit[aria-expanded=true]{background:#eef0ec;border-color:#a5afa3}#course-unit svg{flex-shrink:0;transition:transform .16s ease}#course-unit[aria-expanded=true] svg{transform:rotate(180deg)}#course-options{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;max-height:280px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#f7f8f5;border:1px solid #ccd2c9;border-radius:6px;padding:5px;box-shadow:0 8px 20px #25322b12}#course-options [role=option]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:3px;cursor:pointer;font-size:14px;line-height:1.4;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}#course-options [role=option]:hover{background:#e8ebe5;outline:none}#course-options [role=option]:focus{background:#e8ebe5;outline:none}#course-options [aria-selected=true]{background:#edf0e9}.course-option-copy{display:flex;flex-direction:column;gap:3px}.course-option-weeks{font-size:11px;color:var(--muted)}.course-option-check{flex-shrink:0;visibility:hidden}[aria-selected=true]>.course-option-check{visibility:visible}.unit-intro{padding:32px 0 28px}.unit-intro h1{font-size:32px;font-weight:550;letter-spacing:-.8px;line-height:1.25}.unit-intro p{font-size:14px;line-height:1.6;color:#647067;margin-top:10px}.unit-intro #unit-source{font-size:12px;color:var(--muted);margin-top:8px}.study-paths{border-top:1px solid var(--line)}.study-path{display:flex;align-items:center;gap:20px;padding:22px 16px;border-bottom:1px solid var(--line);transition:background-color .15s ease}.study-path:hover{background:#ecefe9}.path-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.path-title{font-size:17px;font-weight:550}.path-description{font-size:13px;color:#667168;line-height:1.45}.path-count{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.path-arrow{font-size:20px;color:#536057}.study-path .path-arrow{transition:transform .18s ease}.study-path:focus-visible .path-arrow{transform:translate(3px)}@media(max-width:700px){.start-screen{padding:0 0 20px}.course-picker{display:block;padding-bottom:20px}.course-picker #course-label{display:block;margin-bottom:8px}#course-unit{font-size:14px}.unit-intro{padding:26px 0 24px}.unit-intro h1{font-size:28px}.study-path{gap:12px;padding:18px 16px;position:relative}.path-copy{padding-bottom:22px}.path-count{position:absolute;left:16px;bottom:16px;font-size:11px}}dialog{border:1px solid #d4dfcd;border-radius:8px;background:#fafbf8;color:inherit;padding:0;max-width:700px;width:calc(100% - 40px);max-height:85vh;box-shadow:0 12px 60px #20302426}dialog::backdrop{background:#22312155;backdrop-filter:blur(2px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fafbf8;z-index:1}.dialog-header h2{font-size:20px}#info-body{padding:24px 26px;overflow:auto;font-size:13px}#info-body h3{margin-top:24px;margin-bottom:10px}#info-body .map-row{display:grid;grid-template-columns:1fr auto;font-size:12px;padding:14px 0;border-bottom:1px solid var(--line);gap:3px 12px}.map-row strong{font-weight:550}.map-row span:nth-child(2){grid-column:1;color:var(--muted);font-size:11px}.map-row span:last-child{grid-row:1/3;grid-column:2;align-self:center;color:var(--green)}.course-ready{margin:12px 0 24px}.future-list div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.future-list div span:last-child{color:var(--muted);white-space:nowrap}#task-source-link{font-size:11px;color:#60775c;padding:2px 0}.source-note{font-size:13px;color:#62745c;margin-bottom:18px}#source-body{padding:24px 26px}.source-link{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #dfe4dc;color:#345a45;font-size:13px}.source-link:hover{color:#1d3e29;text-decoration:underline;text-underline-offset:3px}dialog[open]{animation:dialog-reveal .2s cubic-bezier(.2,.7,.3,1)}dialog[open]::backdrop{animation:backdrop-reveal .18s ease}#materials-dialog{max-width:560px;background:var(--bg, #f7f8f5)}#materials-title:focus{outline:none}#materials-body{padding:22px 26px 26px;font-size:14px;line-height:1.65}#materials-body p+p{margin-top:16px}#materials-continue{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:fit-content;margin:24px 0 0 auto;min-height:44px;padding:0;font-size:13px;font-weight:650;color:#25322b}#materials-continue span{transition:transform .16s ease}#materials-continue:hover span{transform:translate(3px)}.footer-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.footer-links .text-button{font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;padding:0}.materials-header-link{order:2;flex-shrink:0;display:grid;place-items:center;color:var(--muted);width:44px;height:44px;border-radius:5px;transition:background-color .16s ease,color .16s ease}.materials-header-link:hover{color:#25322b;background:#eef0ec}@media(max-width:700px){.dialog-header,#info-body{padding:18px 20px}#materials-body{padding:18px 20px 22px}}main.privacy-page{display:block;max-width:740px;min-height:100vh;margin:0 auto;padding:40px 28px 72px}.privacy-back{font-size:13px;color:var(--muted)}.privacy-page header{margin:40px 0 32px}.privacy-page h1{font-size:42px;line-height:1.15;letter-spacing:-1px;margin:0 0 12px}.privacy-page header p{color:var(--muted)}.privacy-page section{margin:28px 0}.privacy-page h2{font-size:19px;line-height:1.4;margin:0 0 12px}.privacy-page p{font-size:14px;line-height:1.8;margin:10px 0}.privacy-page a{text-decoration:underline;text-underline-offset:3px}.privacy-date{border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}@media(max-width:700px){main.privacy-page{padding:28px 20px 40px}.privacy-page header{margin-top:32px}.privacy-page h1{font-size:34px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}#course-unit svg{transition:none}#course-options{animation:none}.study-path{transition:none}.primary-button:not(:disabled):active{transform:none}.secondary-button:not(:disabled):active{transform:none}.text-button:not(:disabled):active{transform:none}.task-footer .previous:active,.task-footer .next:active{transform:none}.study-path:focus-visible .path-arrow{transform:none}*:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.study-path:hover .path-arrow,.brand:hover .brand-mark{transform:none}}@media(hover:hover){.brand-mark{transition:transform .2s ease}.study-path:hover .path-arrow{transform:translate(3px)}.brand:hover .brand-mark{transform:rotate(-5deg)}}@supports (interpolate-size: allow-keywords){details{interpolate-size:allow-keywords}details::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .2s ease,opacity .18s ease,content-visibility .2s allow-discrete}details[open]::details-content{block-size:auto;opacity:1}}@keyframes gentle-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-reveal{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-reveal{0%{opacity:0}to{opacity:1}}@keyframes run-progress{to{transform:rotate(360deg)}}
