:root{--font-size: 16px;--ink: #1b2a4a;--ink-light: #2e4a7a;--cobalt: #2d6cdf;--cobalt-light: #4d88f0;--bone: #f4f0e8;--oatmeal: #eae5d8;--sand: #d5ccba;--warm-text: #3a3226;--background: var(--bone);--foreground: var(--ink)}:root[data-theme=dark]{--ink: #e8eaf0;--ink-light: #c2c9d8;--cobalt: #6f9dfb;--cobalt-light: #8fb4ff;--bone: #12151c;--oatmeal: #1c212b;--sand: #2b323f;--warm-text: #c8ccd6;--background: var(--bone);--foreground: var(--ink)}:root{--surface: #ffffff;--surface-border: var(--oatmeal)}:root[data-theme=dark]{--surface: #1a1f29;--surface-border: #2b323f}:root{--band: var(--ink);--band-text: var(--bone)}:root[data-theme=dark]{--band: #1c2740;--band-text: #f4f0e8}:root{--nav-scrolled-bg: rgba(244, 240, 232, .92);--nav-scrolled-shadow: 0 1px 0 rgba(27, 42, 74, .08)}:root[data-theme=dark]{--nav-scrolled-bg: rgba(18, 21, 28, .92);--nav-scrolled-shadow: 0 1px 0 rgba(255, 255, 255, .08)}:root{--callout-bg: var(--cobalt-light);--callout-text: var(--ink)}:root[data-theme=dark]{--callout-bg: #243459;--callout-text: #e8eaf0}:root{--button-muted-bg: #2e4a7a;--button-muted-text: var(--band-text)}:root[data-theme=dark]{--button-muted-bg: #2e4a7a}:root{--quiz-correct: #3f6b2f;--quiz-wrong: #8a3324}:root[data-theme=dark]{--quiz-correct: #8fbf6f;--quiz-wrong: #e8927c}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{transition:background-color .2s ease,color .2s ease}@media(prefers-reduced-motion:reduce){body{transition:none}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-size:var(--font-size);-webkit-text-size-adjust:100%}body{background:var(--background);color:var(--foreground);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.hidden{display:none!important}@media(min-width:768px){.md\:flex{display:flex!important}.md\:inline-flex{display:inline-flex!important}.md\:hidden{display:none!important}}@media(min-width:1040px){.nav-desktop\:flex{display:flex!important}.nav-desktop\:inline-flex{display:inline-flex!important}.nav-desktop\:hidden{display:none!important}}.learn-content{font-family:Fraunces,Georgia,serif;font-size:18px;line-height:1.7;color:var(--ink)}.learn-content p{margin:.9rem 0}.learn-content h2{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin:2.6rem 0 .7rem;color:var(--ink)}.learn-content h2 .n{color:var(--course-accent);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;margin-right:.5rem;vertical-align:.15em}.learn-content h3{font-size:1.1rem;margin:1.8rem 0 .5rem}.learn-content a{color:var(--cobalt);text-decoration:underline;text-underline-offset:2px}.learn-content em.term{font-style:normal;font-weight:600;color:var(--course-accent);border-bottom:1px dotted var(--course-accent)}.learn-content code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.84em;background:var(--oatmeal);padding:.12em .38em;border-radius:3px}.learn-content pre{background:var(--oatmeal);border:1px solid var(--surface-border);border-radius:10px;padding:1rem 1.1rem;overflow-x:auto;font-size:.8rem;line-height:1.6;font-family:ui-monospace,Menlo,Consolas,monospace}.learn-content pre code{background:none;padding:0;font-size:1em}.learn-content .cm{color:var(--warm-text);opacity:.8}.learn-content .kw{color:var(--course-accent)}.learn-content .st{color:#3f6b2f}:root[data-theme=dark] .learn-content .st{color:#8fbf6f}.learn-content aside{border-left:3px solid var(--course-accent);background:var(--oatmeal);padding:.85rem 1.1rem;margin:1.5rem 0;border-radius:0 8px 8px 0;font-size:.95rem}.learn-content aside .lbl{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--warm-text);display:block;margin-bottom:.25rem}.learn-content .anatomy{border:1px solid var(--surface-border);border-radius:10px;overflow:hidden;margin:1.6rem 0}.learn-content .anatomy .row{display:grid;grid-template-columns:9rem 1fr;border-top:1px solid var(--surface-border)}.learn-content .anatomy .row:first-child{border-top:none}.learn-content .anatomy .k{background:var(--oatmeal);padding:.65rem .85rem;font-weight:600;color:var(--course-accent);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem}.learn-content .anatomy .v{padding:.65rem .85rem;font-size:.92rem}.learn-content .flow,.learn-content .spine{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem}.learn-content .flow .box,.learn-content .spine .node{border:1.5px solid var(--course-accent);border-radius:6px;padding:.45rem .7rem}.learn-content .flow .arr,.learn-content .spine .sep{color:var(--course-accent)}.learn-content .card,.learn-content .recall,.learn-content .checklist,.learn-content .refnote{border:1px solid var(--surface-border);border-radius:10px;padding:.9rem 1.1rem;margin:1.2rem 0;background:var(--surface);font-size:.95rem}.learn-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.92rem}.learn-content th,.learn-content td{border:1px solid var(--surface-border);padding:.55rem .7rem;text-align:left}.learn-content th{background:var(--oatmeal);font-weight:600}.learn-content ul,.learn-content ol{padding-left:1.4rem;margin:.9rem 0}.learn-content li{margin:.35rem 0}.learn-content aside.warn{border-left-color:#8a3324}.learn-content aside.warn .lbl{color:#8a3324}:root[data-theme=dark] .learn-content aside.warn{border-left-color:#e8927c}:root[data-theme=dark] .learn-content aside.warn .lbl{color:#e8927c}.learn-content .loop,.learn-content .diagram,.learn-content .arch{border:1px solid var(--surface-border);border-radius:10px;padding:1.1rem;margin:1.4rem 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.85;overflow-x:auto}.learn-content .loop .lbl,.learn-content .diagram .lbl,.learn-content .arch .lbl{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-text);display:block;margin-bottom:.6rem}.learn-content .step,.learn-content .mgr,.learn-content .sup,.learn-content .u{color:var(--course-accent);font-weight:600}.learn-content .loop .arr,.learn-content .diagram .arr,.learn-content .arch .arr{color:var(--course-accent)}.learn-content .arch .cap{color:#3f6b2f}:root[data-theme=dark] .learn-content .arch .cap{color:#8fbf6f}.learn-content .vs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.learn-content .vs .card{font-size:.92rem}.learn-content .vs .card .tag{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.4rem;color:var(--course-accent)}.learn-content .card.bad{border-color:#8a3324}.learn-content .card.bad .tag{color:#8a3324}.learn-content .card.good{border-color:#3f6b2f}.learn-content .card.good .tag{color:#3f6b2f}:root[data-theme=dark] .learn-content .card.bad{border-color:#e8927c}:root[data-theme=dark] .learn-content .card.bad .tag{color:#e8927c}:root[data-theme=dark] .learn-content .card.good{border-color:#8fbf6f}:root[data-theme=dark] .learn-content .card.good .tag{color:#8fbf6f}.learn-content .split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.learn-content .col{border:1px solid var(--surface-border);border-radius:10px;padding:.9rem 1.1rem;border-top:3px solid var(--course-accent)}.learn-content .col h3{margin:.1rem 0 .5rem;font-size:1rem;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--course-accent)}.learn-content .col.action{border-top-color:#8a3324}.learn-content .col.action h3{color:#8a3324}.learn-content .col.context{border-top-color:#3f6b2f}.learn-content .col.context h3{color:#3f6b2f}:root[data-theme=dark] .learn-content .col.action{border-top-color:#e8927c}:root[data-theme=dark] .learn-content .col.action h3{color:#e8927c}:root[data-theme=dark] .learn-content .col.context{border-top-color:#8fbf6f}:root[data-theme=dark] .learn-content .col.context h3{color:#8fbf6f}.learn-content .split .cap{margin:.5rem 0;font-size:.9rem;color:var(--ink);font-weight:400}.learn-content .split .cap b{color:var(--course-accent)}.learn-content .layers{border:1px solid var(--surface-border);border-radius:10px;overflow:hidden;margin:1.6rem 0;font-size:.9rem}.learn-content .layers .L{display:grid;grid-template-columns:9rem 1fr;border-top:1px solid var(--surface-border)}.learn-content .layers .L:first-child{border-top:none}.learn-content .layers .n{background:var(--oatmeal);padding:.65rem .85rem;font-weight:600;color:var(--course-accent);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}.learn-content .layers .d{padding:.65rem .85rem}.learn-content .map{border:1px solid var(--surface-border);border-radius:10px;overflow:hidden;margin:1.6rem 0}.learn-content .map .row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--surface-border)}.learn-content .map .row:first-child{border-top:none}.learn-content .map .q{background:var(--oatmeal);padding:.55rem .8rem;font-style:italic;font-size:.88rem}.learn-content .map .a{padding:.55rem .8rem;font-size:.88rem}.learn-content .map .a b{color:var(--course-accent)}.learn-content .milestone{text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;color:#3f6b2f;border:1px solid #3f6b2f;border-radius:10px;padding:.8rem;margin:2rem 0;background:#3f6b2f14}:root[data-theme=dark] .learn-content .milestone{color:#8fbf6f;border-color:#8fbf6f;background:#8fbf6f1a}.learn-content .bridge{border:1px solid var(--surface-border);background:var(--oatmeal);border-radius:10px;padding:.9rem 1.1rem;margin:1.6rem 0;font-size:.95rem}.learn-content .bridge .lbl{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--course-accent);display:block;margin-bottom:.3rem}.learn-content .dec{color:var(--course-accent)}.learn-content .ok{color:#3f6b2f;font-weight:600}:root[data-theme=dark] .learn-content .ok{color:#8fbf6f}.learn-content .mm,.learn-content .cc{border-left:3px solid var(--course-accent);background:var(--oatmeal);border-radius:0 8px 8px 0;padding:.85rem 1.1rem;margin:1.4rem 0;font-size:.95rem}.learn-content .mm .lbl,.learn-content .cc .lbl{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--course-accent);display:block;margin-bottom:.3rem}.learn-content .primary{background:var(--oatmeal);border-radius:10px;padding:.9rem 1.1rem;margin:1.6rem 0;font-size:.95rem}.learn-content .primary .lbl{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--warm-text);display:block;margin-bottom:.3rem}.learn-content .ask{border:1px dashed var(--surface-border);border-radius:10px;padding:.85rem 1.1rem;margin:1.6rem 0;font-size:.95rem;font-style:italic}.learn-content footer{margin-top:3rem;border-top:2px solid var(--ink);padding-top:1rem;font-size:.92rem;color:var(--warm-text)}.learn-content .links a{color:var(--cobalt);text-decoration:none;border-bottom:1px solid var(--cobalt)}.learn-content .tag{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-text)}.learn-content .t4{font-size:.72rem;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--warm-text);letter-spacing:.1em}.learn-content .gloss{columns:2;column-gap:1.8rem;margin:1rem 0;font-size:.9rem}@media(max-width:640px){.learn-content .gloss{columns:1}}.learn-content .gloss dt{font-weight:600;color:var(--course-accent);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;break-after:avoid}.learn-content .gloss dd{margin:0 0 .7rem;break-before:avoid}.learn-content .review{border:1px solid var(--surface-border);border-radius:10px;padding:1rem 1.2rem;margin:1.4rem 0;background:var(--surface)}.learn-content .review ol{margin:.4rem 0 .2rem}.learn-content .review li{margin:.6rem 0;font-size:.95rem}.learn-content .review summary{cursor:pointer;color:var(--course-accent);font-size:.85rem;font-family:ui-monospace,Menlo,Consolas,monospace}.learn-content .ans{color:var(--warm-text);font-size:.88rem;display:block;margin-top:.2rem}.learn-content .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0}.learn-content .chip{border:1px solid var(--surface-border);border-radius:20px;padding:.32rem .85rem;font-size:.85rem}.learn-content .chip b{color:var(--course-accent)}.learn-content .refs{display:flex;flex-wrap:wrap;gap:.6rem;margin:.7rem 0}.learn-content .refs a{font-size:.85rem;border:1px solid var(--course-accent);border-radius:8px;padding:.3rem .7rem;text-decoration:none}.learn-content .spine .l{color:var(--course-accent);font-weight:600}.learn-content .win{color:var(--warm-text)}.learn-content .grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.4rem 0}@media(max-width:640px){.learn-content .grid{grid-template-columns:1fr}}.learn-content .grid .card h3{margin:0 0 .4rem;font-size:1rem;color:var(--course-accent);font-family:ui-monospace,Menlo,Consolas,monospace}.learn-content .rule{font-size:.92rem;background:var(--oatmeal);border-left:3px solid var(--course-accent);padding:.6rem .85rem;border-radius:0 8px 8px 0;margin:1rem 0}.learn-content table,.learn-content .anatomy,.learn-content .loop,.learn-content .diagram,.learn-content .arch,.learn-content .layers,.learn-content .map{display:block;overflow-x:auto}@media(max-width:640px){.learn-content{font-size:17px}.learn-content .anatomy .row,.learn-content .vs,.learn-content .split,.learn-content .layers .L,.learn-content .map .row{grid-template-columns:1fr}}.learn-content table.cmp td:first-child,.learn-content table.params td:first-child{font-weight:600;color:var(--ink)}.learn-content .tier{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--course-accent);margin:2.2rem 0 .5rem;font-weight:600}.learn-content .patterns{border:1px solid var(--surface-border);border-radius:10px;overflow:hidden;margin:1.6rem 0}.learn-content .patterns .row{display:grid;grid-template-columns:9rem 1fr;border-top:1px solid var(--surface-border)}.learn-content .patterns .row:first-child{border-top:none}.learn-content .patterns .k{background:var(--oatmeal);padding:.65rem .85rem;font-weight:600;color:var(--course-accent);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem}.learn-content .patterns .v{padding:.65rem .85rem;font-size:.92rem}@media(max-width:640px){.learn-content .patterns .row{grid-template-columns:1fr}}@media(max-width:900px){.learn-sidebar{display:none!important}.learn-drawer-toggle{display:inline-flex!important}}@media print{html,body{background:#fff!important;color:#111!important}header,nav,footer,.learn-sidebar,.learn-drawer,.learn-drawer-toggle,.learn-no-print{display:none!important}main,article{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.learn-content{font-size:11pt;line-height:1.5;color:#111!important}.learn-content h1,.learn-content h2,.learn-content h3{color:#111!important;break-after:avoid;page-break-after:avoid}.learn-content pre,.learn-content table,.learn-content .anatomy,.learn-content aside,.learn-content .card,.learn-content .quiz{break-inside:avoid;page-break-inside:avoid}.learn-content pre,.learn-content code{background:#f4f4f4!important;color:#111!important;border:1px solid #dddddd!important;white-space:pre-wrap!important;word-wrap:break-word!important}.learn-content a{color:#111!important;text-decoration:underline}.learn-content a[href^=http]:after{content:" (" attr(href) ")";font-size:.82em;word-break:break-all}.learn-print-notice{display:block!important;margin-top:24pt;padding-top:10pt;border-top:1px solid #cccccc;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:8.5pt;line-height:1.5;color:#444!important}@page{margin:18mm 16mm}}.learn-print-notice{display:none}
