.prose[data-astro-cid-h3xj43oc]{max-width:var(--reading-width,720px);font-family:var(--reading-font);font-size:var(--reading-size);line-height:1.8}.prose[data-astro-cid-h3xj43oc] h1,.prose[data-astro-cid-h3xj43oc] h2,.prose[data-astro-cid-h3xj43oc] h3{margin-top:2em;margin-bottom:.7em}.prose[data-astro-cid-h3xj43oc] p,.prose[data-astro-cid-h3xj43oc] ul,.prose[data-astro-cid-h3xj43oc] ol{margin-block:1em}.prose[data-astro-cid-h3xj43oc] a{color:var(--accent);overflow-wrap:anywhere}.prose[data-astro-cid-h3xj43oc] pre,.prose[data-astro-cid-h3xj43oc] .katex-display{padding:1rem;overflow-x:auto}.prose[data-astro-cid-h3xj43oc] .katex-display>.katex{white-space:normal;line-height:1.8}.prose[data-astro-cid-h3xj43oc] .katex-display .formula-parts{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.4em 1em;display:flex}.prose[data-astro-cid-h3xj43oc] .formula-part{max-width:100%}.prose[data-astro-cid-h3xj43oc] table{border-collapse:collapse;display:block;overflow-x:auto}.prose[data-astro-cid-h3xj43oc] table:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prose[data-astro-cid-h3xj43oc] td,.prose[data-astro-cid-h3xj43oc] th{border-bottom:1px solid var(--line);padding:.5em 1em}.prose[data-astro-cid-h3xj43oc] img{max-width:100%;height:auto}.exercise-bank{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:16px;margin-block:0 32px;padding:20px;font:14px/1.5 Manrope Variable,sans-serif;display:grid}.exercise-bank button{border:1px solid var(--line);min-height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}.exercise-bank button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.exercise-bank button:disabled{cursor:default;opacity:.5}.exercise-bank :is(button,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exercise-bank-progress{gap:10px;display:grid}.exercise-bank-count{margin:0;font-size:15px;font-weight:700}.exercise-bank-bar{background:var(--soft);border-radius:3px;height:6px;overflow:hidden}.exercise-bank-bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .3s;display:block}.exercise-bank-actions,.exercise-bank-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.exercise-bank-actions[hidden],.exercise-bank-filters[hidden],.exercise-bank-empty[hidden]{display:none}.exercise-bank .exercise-bank-primary{border-color:var(--accent);background:var(--accent);color:var(--page)}.exercise-bank .exercise-bank-primary:hover:not(:disabled){color:var(--page);filter:brightness(.92)}.exercise-bank-actions .exercise-bank-danger{color:var(--muted);border-color:#0000;margin-inline-start:auto;font-weight:500}.exercise-bank-segments{background:var(--soft);border-radius:10px;padding:3px;display:inline-flex}.exercise-bank .exercise-bank-segments button{border-color:#0000;min-height:38px;padding-inline:14px;font-weight:500}.exercise-bank .exercise-bank-segments button[aria-pressed=true]{border-color:var(--line);background:var(--surface);color:var(--accent);font-weight:700}.exercise-bank-search{flex:220px;align-items:center;display:flex;position:relative}.exercise-bank-search svg{color:var(--muted);pointer-events:none;position:absolute;inset-inline-start:12px}.exercise-bank-search input{box-sizing:border-box;border:1px solid var(--line);background:var(--page);width:100%;min-height:44px;color:var(--text);border-radius:8px;padding:0 12px 0 38px}.exercise-bank-empty{color:var(--muted);margin:0}.exercise-bank-confirm{border-radius:16px;width:420px;max-width:calc(100% - 32px)}.exercise-bank-confirm h2{margin:0 0 8px;font-size:20px}.exercise-bank-confirm p{color:var(--muted);margin:0 0 24px}.exercise-bank-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.exercise-bank .exercise-bank-confirm .exercise-bank-danger{border-color:var(--text);background:var(--text);color:var(--page)}.exercise-bank .exercise-bank-confirm .exercise-bank-danger:hover{color:var(--page);filter:brightness(1.15)}.exercise-topic-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;margin-block:-6px 8px;font:13px/1.5 Manrope Variable,sans-serif;display:flex}.exercise-topic-bar[hidden]{display:none}.exercise-topic-bar button{min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:600}.exercise-topic-bar button:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.exercise-topic-bar button:disabled{color:var(--muted);cursor:default;opacity:.6}.exercise-topic-bar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exercise[data-exercise-modal]>.exercise-disclosure>summary{border-radius:8px;padding-inline:8px}.exercise[data-exercise-modal]>.exercise-disclosure>summary:hover{background:var(--soft)}.exercise[data-exercise-modal] .exercise-title{flex:1;min-width:0}.exercise[data-exercise-modal]>.exercise-disclosure>summary:before{content:"";box-sizing:border-box;border:2px solid var(--line);border-radius:50%;flex:none;order:-1;width:20px;height:20px}.exercise[data-exercise-modal]>.exercise-disclosure>summary:has(.exercise-summary-status:not([hidden])):before{display:none}.exercise[data-exercise-modal] .exercise-summary-status{order:-1;margin:0}.exercise[data-exercise-modal] .exercise-summary-status[data-result=incorrect]{color:var(--muted)}.exercise[data-exercise-modal]>.exercise-disclosure>summary>svg{color:var(--muted);order:3}.exercise-kind{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:1px 10px;font:500 12px/1.5 Manrope Variable,sans-serif}.exercise-modal{border-radius:16px;width:min(760px,100% - 32px);max-height:calc(100dvh - 32px);padding:0;overflow:hidden}.exercise-modal[open]{flex-direction:column;display:flex}.exercise .exercise-modal-header{border-bottom:1px solid var(--line);flex:none;align-items:center;padding:12px 16px 12px 24px}dialog.exercise-modal[open] .exercise-modal-header h2{letter-spacing:normal;border:0;margin:0;padding:0;font:650 16px/1.4 Manrope Variable,sans-serif}.exercise .exercise-modal-header .icon-button{min-width:40px;min-height:40px;color:var(--muted);background:0 0;border:0;flex:none;margin:-4px 0 0;padding:0}.exercise-modal .exercise-body{flex:1;min-height:0;padding:12px 28px 24px;overflow-y:auto}.exercise-modal .exercise-body .exercise-prompt>:first-child{margin-top:0}.exercise-modal-footer{border-top:1px solid var(--line);color:var(--muted);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 20px;font:13px/1.5 Manrope Variable,sans-serif;display:grid}.exercise-modal-footer>:first-child{justify-self:start}.exercise-modal-footer>:last-child{justify-self:end}.exercise .exercise-random-next{flex:none;min-height:36px;margin-inline-start:auto;padding:.4rem .7rem;font-size:.8rem;display:none}.exercise .exercise-feedback-row:has(.exercise-feedback[data-result=correct]) .exercise-random-next,.exercise .exercise-feedback-row:has(.exercise-feedback[data-result=self-correct]) .exercise-random-next{display:inline-flex}.exercise .exercise-modal-footer>button{min-height:40px;padding-inline:12px}.exercise .exercise-modal-footer button:disabled{cursor:default;opacity:.4}@media (width<=600px){.exercise-bank{padding:16px}.exercise-bank-actions .exercise-bank-danger{margin-inline-start:0}.exercise-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.exercise .exercise-modal-header{padding:10px 8px 10px 16px}.exercise .exercise-modal-footer{gap:8px;padding-inline:12px}.exercise-random-next-label{display:none}.exercise .exercise-random-next{min-width:36px;padding-inline:8px}.exercise-modal .exercise-body{padding:12px 18px 20px}}@media (prefers-reduced-motion:reduce){.exercise-bank-bar>span{transition:none}}@media print{.exercise-bank,.exercise-topic-bar,.exercise-kind{display:none}}.print-page{display:none}.print-dialog{border-radius:12px;width:380px;max-width:calc(100vw - 32px)}.print-dialog h2{margin:0;font-size:1.2rem}.print-dialog label{align-items:center;gap:.6rem;min-height:44px;font-size:.9rem;display:flex}.print-dialog label:has(:disabled){color:var(--muted)}.print-dialog .dialog-header{margin-bottom:1rem}.print-dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.print-dialog-actions button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:6px;padding:.5rem 1rem}.print-dialog-actions [value=print]{background:var(--accent);border-color:var(--accent);color:var(--page)}@media print{@page{size:A4;margin:14mm}html,body{--page:white;--surface:white;--soft:#f0eeeb;--text:#111;--muted:#444;--line:#bbb;--accent:#222;--accent-soft:#f3e9e9;--diagram-secondary:#28716c;--code-background:white;color:#111!important;color-scheme:light!important;background:#fff!important}body:has(.print-page)>:not(.print-page),.site-header,.site-footer,.skip-link,.lesson-practice,.page-sections,.print-dialog,astro-dev-toolbar{display:none!important}.course-shell{padding:0;display:block}.course-article{max-width:none;padding:0}.print-page{--code-foreground:#111;--code-token-comment:#555;--code-token-keyword:#8c2d3b;--code-token-string:#14645e;--code-token-string-expression:#14645e;--code-token-constant:#8c2d3b;--code-token-function:#14645e;--code-token-parameter:#111;--code-token-variable:#111;--code-token-property:#14645e;--code-token-type:#6a4385;--code-token-boolean:#8c2d3b;--code-token-operator:#8c2d3b;--code-token-modifier:#8c2d3b;--code-token-punctuation:#111;--code-token-link:#8c2d3b;--code-token-inserted:#14645e;--code-token-deleted:#8c2d3b;--code-token-changed:#111;display:block}.print-page header p{margin-bottom:.5rem;font-size:10pt}.print-page h1{font-family:var(--reading-font);margin-top:0;font-size:22pt}.print-page .prose{max-width:none;font-size:10pt;line-height:1.4}.print-page .prose h2{break-after:avoid;margin-block:1.2em .5em;font-size:15pt}.print-page h3,.print-page h4{break-after:avoid;font-size:11pt}.print-page p{orphans:3;widows:3}.print-page .prose table{width:100%;font-size:9pt;display:table}.print-page tr{break-inside:avoid}.print-page .prose pre{-webkit-print-color-adjust:exact;print-color-adjust:exact;white-space:pre-wrap;overflow-wrap:anywhere;margin-block:.8rem;padding:.5rem;line-height:1.4;display:block!important}.print-page .video-embed{break-inside:avoid}.print-page .video-thumbnail{aspect-ratio:16/9;object-fit:cover;width:100%;display:block;position:static;height:auto!important}.print-page .manim-print-poster{width:100%;height:auto;display:block}.print-page .manim-figure{break-inside:avoid}.print-page .content-tabs>section{padding:0}.print-page .content-tabs>section+section{border-top:1px solid var(--line);margin-top:1rem}.print-page .prose .katex-display{padding:.3rem 0;overflow:visible}.print-page .exercise-disclosure>h3>svg{display:none}.print-appendix,[data-print-practice]{break-before:page}.print-page:not([data-exercises=true]) [data-print-practice],.print-page:not([data-solutions=true]) .print-appendix{display:none}.print-solution{break-inside:avoid;margin-block:1rem}.print-solution h3{margin-block:.8em .3em}.print-solution h4{margin-block:.7em .3em}.print-solution p,.print-solution ul{margin-block:.5em}.print-page .admonition{break-inside:avoid}.print-solution h3>svg{display:none}}.course-sidebar .course-revisions{border-top:1px solid var(--line);margin-top:1rem;padding-top:.5rem}.course-sidebar .course-revisions a{align-items:center}.lesson-practice{margin-top:3rem}.lesson-practice>h2{font-family:var(--reading-font);margin-bottom:1rem;font-size:1.4rem;font-weight:600}.revision-sheet .prose{line-height:1.6}.revision-sheet .prose h2{margin-top:1.6em}.revision-sheet .prose td,.revision-sheet .prose th{padding:.45em .65em}
