:root{color-scheme:light;--paper:#f8fafc;--paper-raised:#fff;--paper-muted:#f1f5f9;--paper-warm:#e2e8f0;--surface-elevated:#fff;--ink:#0f172a;--ink-body:#1e293b;--ink-soft:#475569;--ink-faint:#64748b;--line:#e2e8f0;--line-strong:#cbd5e1;--accent:#2563eb;--accent-soft:#eff6ff;--accent-strong:#1d4ed8;--accent-glow:#2563eb24;--blue:#0284c7;--green:#059669;--amber:#d97706;--warning:#d97706;--warning-soft:#fffbeb;--warning-border:#d97706;--warning-border-subtle:#fde68a;--warning-bg:#fffbeb;--warning-title:#92400e;--warning-ink:#451a03;--important-border:#dc2626;--important-border-subtle:#fecaca;--important-bg:#fef2f2;--important-title:#991b1b;--important-ink:#450a0a;--note-border:#2563eb;--note-border-subtle:#bfdbfe;--note-bg:#f8fbff;--note-title:#1e40af;--tip-border:#059669;--tip-border-subtle:#a7f3d0;--tip-bg:#f0fdf4;--tip-title:#065f46;--explore-border:#6366f1;--explore-border-subtle:#c7d2fe;--explore-bg:#f5f7ff;--explore-title:#3730a3;--error:#dc2626;--error-soft:#fef2f2;--success:#059669;--success-soft:#f0fdf4;--code-bg:#f1f5f9;--code-header-bg:#e2e8f0;--code-ink:#0f172a;--code-line:#cbd5e1;--dot-pattern:#0f172a11;--shadow:0 12px 32px -4px #0f172a14, 0 4px 12px -2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-hover:0 14px 28px -6px #2563eb1f, 0 4px 10px -2px #0f172a0d;--color-bg:var(--paper-muted);--color-surface:var(--paper-raised);--color-border:var(--line);--color-text:var(--ink);--color-muted:var(--ink-soft);--color-accent:var(--accent);--serif:"Newsreader", "Charter", "Bitstream Charter", "Iowan Old Style", Georgia, "Times New Roman", serif;--sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", "Fira Code", ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--reading-font-size:17px;--reading-line-height:1.76;--code-font-size:13.75px;--reading-max-width:740px;--reading-max-width-wide:960px;font-family:var(--sans);background:var(--paper);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{color-scheme:dark;--paper:#0b0f17;--paper-raised:#111827;--paper-muted:#1e293b;--paper-warm:#172033;--surface-elevated:#1e293b;--ink:#f8fafc;--ink-body:#e2e8f0;--ink-soft:#94a3b8;--ink-faint:#7e8c9f;--line:#1e293b;--line-strong:#334155;--accent:#60a5fa;--accent-soft:#60a5fa24;--accent-strong:#93c5fd;--accent-glow:#60a5fa33;--blue:#38bdf8;--green:#34d399;--amber:#fbbf24;--warning:#fbbf24;--warning-soft:#231b0c;--warning-border:#f59e0b;--warning-border-subtle:#453012;--warning-bg:#1c160b;--warning-title:#fcd34d;--warning-ink:#fef3c7;--important-border:#f87171;--important-border-subtle:#4c1d1d;--important-bg:#1f1215;--important-title:#fca5a5;--important-ink:#fee2e2;--note-border:#60a5fa;--note-border-subtle:#1e3a5f;--note-bg:#0f1b2d;--note-title:#93c5fd;--tip-border:#34d399;--tip-border-subtle:#143d2f;--tip-bg:#0d1f1a;--tip-title:#6ee7b7;--explore-border:#818cf8;--explore-border-subtle:#282a54;--explore-bg:#14162b;--explore-title:#a5b4fc;--error:#f87171;--error-soft:#1f1215;--success:#34d399;--success-soft:#0d1f1a;--code-bg:#080c14;--code-header-bg:#111827;--code-ink:#e2e8f0;--code-line:#1e293b;--dot-pattern:#94a3b814;--shadow:0 14px 40px #0000008c;--shadow-sm:0 2px 8px #00000059;--shadow-hover:0 14px 32px -4px #0009, 0 0 0 1px #60a5fa40;--color-bg:var(--paper-muted);--color-surface:var(--paper-raised);--color-border:var(--line);--color-text:var(--ink);--color-muted:var(--ink-soft);--color-accent:var(--accent)}:root[data-font-size=large]{--reading-font-size:19.5px;--reading-line-height:1.84;--code-font-size:15.25px}:root[data-font-size=small]{--reading-font-size:15.5px;--reading-line-height:1.72;--code-font-size:12.75px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:1000;background:var(--paper-raised);border:1px solid var(--line-strong);padding:10px 14px;position:absolute;top:8px;left:-999px}.skip-link:focus{left:10px}.topbar{border-bottom:1px solid var(--line);z-index:30;background:color-mix(in srgb, var(--paper-raised) 88%, transparent);-webkit-backdrop-filter:blur(16px)saturate(180%);justify-content:space-between;align-items:center;height:62px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px #0f172a08}.topbar-left{align-items:center;gap:16px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.4px;white-space:nowrap;color:var(--ink);align-items:center;gap:9px;font-size:18.5px;font-weight:600;display:inline-flex}.brand em{color:var(--accent);font-weight:400}.brand-symbol{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);width:24px;height:24px;color:var(--accent);border-radius:6px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex}.topbar-nav{align-items:center;gap:4px;display:flex}.topbar-nav-link{color:var(--ink-soft);white-space:nowrap;border-radius:6px;padding:6px 11px;font-size:12.5px;font-weight:500;text-decoration:none;transition:all .15s}.topbar-nav-link:hover{background:var(--paper-muted);color:var(--ink)}.topbar-nav-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.topbar-edition,.eyebrow,.section-kicker,.sidebar-topline,.sidebar-group-title,.rail-title,.note-mark,.stat-label{font-family:var(--mono);letter-spacing:.09em;color:var(--ink-faint);font-size:10px;font-weight:600}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-tool-link{color:var(--ink-soft);border:1px solid var(--line);background:var(--paper-raised);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:6px 10px;font-size:11.5px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.topbar-tool-link:hover,.topbar-tool-link.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.search-trigger{border:1px solid var(--line);min-width:210px;color:var(--ink-faint);background:var(--paper-muted);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:6px 9px 6px 11px;font-size:12px;transition:all .15s;display:flex}.search-trigger-label{align-items:center;gap:8px;display:flex}kbd{font:10px var(--mono);border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink-soft);border-radius:4px;padding:2px 5px}.icon-button{border:1px solid var(--line);background:var(--paper-raised);cursor:pointer;min-width:34px;height:34px;color:var(--ink-soft);border-radius:6px;padding:0 8px;transition:all .15s}.icon-button:hover,.search-trigger:hover{border-color:var(--accent);color:var(--accent);background:var(--paper-raised)}.mobile-menu-toggle{display:none}.reading-progress-bar{background:linear-gradient(90deg, var(--accent), var(--blue));z-index:45;width:0%;height:2.5px;transition:width 80ms linear;position:fixed;top:62px;left:0}@media (width<=760px){.reading-progress-bar{top:56px}}.app-shell{grid-template-columns:250px minmax(0,1fr) 220px;gap:0;max-width:1480px;min-height:calc(100vh - 62px);margin:0 auto;transition:grid-template-columns .22s cubic-bezier(.16,1,.3,1);display:grid}.app-shell.no-rail,.app-shell.toc-collapsed,:root[data-toc-state=collapsed] .app-shell{grid-template-columns:250px minmax(0,1fr)}.app-shell.sidebar-collapsed,:root[data-sidebar-state=collapsed] .app-shell{grid-template-columns:0 minmax(0,1fr) 220px}.app-shell.sidebar-collapsed.no-rail,.app-shell.sidebar-collapsed.toc-collapsed,:root[data-sidebar-state=collapsed] .app-shell.no-rail,:root[data-sidebar-state=collapsed] .app-shell.toc-collapsed,:root[data-toc-state=collapsed] .app-shell.sidebar-collapsed,:root[data-sidebar-state=collapsed][data-toc-state=collapsed] .app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);scrollbar-width:thin;width:250px;height:calc(100vh - 62px);padding:14px 12px 28px 14px;transition:width .22s cubic-bezier(.16,1,.3,1),opacity .2s,padding .22s;position:sticky;top:62px;overflow-y:auto}@media (width>=761px){.app-shell.sidebar-collapsed .sidebar,:root[data-sidebar-state=collapsed] .app-shell .sidebar{opacity:0;pointer-events:none;border-right:none;width:0;padding:0;overflow:hidden}}.app-shell.toc-collapsed .right-rail,:root[data-toc-state=collapsed] .app-shell .right-rail{display:none}.sidebar-header{border-bottom:1px solid var(--line);margin-bottom:6px;padding:2px 2px 8px}.sidebar-header-row{justify-content:space-between;align-items:center;display:flex}.sidebar-topline{font-family:var(--mono);letter-spacing:.09em;color:var(--ink-faint);text-transform:uppercase;margin:0;font-size:9.5px;font-weight:700}.sidebar-progress-pill{background:var(--paper-muted);border:1px solid var(--line);font-size:9.5px;font-family:var(--mono);color:var(--accent);border-radius:10px;align-items:center;padding:2px 6px;text-decoration:none;transition:all .15s;display:inline-flex}.sidebar-progress-pill:hover{border-color:var(--accent);background:var(--accent-soft)}.sidebar-progress-count{font-family:var(--mono);font-size:9.5px}.sidebar-progress-bar-mini{background:var(--line);border-radius:2px;height:2px;margin-top:6px;overflow:hidden}.sidebar-progress-bar-mini span{background:var(--green);height:100%;transition:width .3s;display:block}.sidebar-quick-nav{border-bottom:1px solid var(--line);align-items:center;gap:3px;margin-bottom:6px;padding:2px 0 8px;display:flex}.sidebar-quick-link{color:var(--ink-soft);background:var(--paper-raised);border:1px solid var(--line);border-radius:4px;flex:1;justify-content:center;align-items:center;gap:4px;padding:4px 2px;font-size:10.5px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-quick-link:hover,.sidebar-quick-link.is-active{border-color:var(--accent);color:var(--accent);background:var(--paper-muted)}.sidebar-quick-link .nav-mark{font-size:10px}.sidebar-mobile-hubs{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:8px;display:none}.sidebar-nav-section-title{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;margin:6px 4px 4px;font-size:9px;font-weight:700}.sidebar-home{color:var(--ink-soft);border-radius:4px;align-items:center;gap:7px;margin-bottom:1px;padding:4px 6px;font-size:11px;text-decoration:none;display:flex}.sidebar-home:hover,.sidebar-home.is-active{background:var(--paper-muted);color:var(--accent)}.nav-mark{width:14px;color:var(--accent);text-align:center;font-size:11px}.sidebar-parts-list{flex-direction:column;gap:2px;display:flex}.sidebar-track-details{border-bottom:1px solid var(--line);margin:1px 0;padding-bottom:4px}.sidebar-track-details:last-of-type{border-bottom:none}.sidebar-track-summary{cursor:pointer;font-family:var(--mono);letter-spacing:.06em;color:var(--ink-faint);text-transform:uppercase;user-select:none;border-radius:4px;justify-content:space-between;align-items:center;padding:4px 5px;font-size:9.5px;list-style:none;display:flex}.sidebar-track-summary::-webkit-details-marker{display:none}.sidebar-track-summary:hover{background:var(--paper-muted);color:var(--ink)}.sidebar-track-left{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.sidebar-track-left span{color:var(--accent);flex-shrink:0;font-size:9px;font-weight:700}.sidebar-track-left strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sidebar-chevron{color:var(--ink-faint);flex-shrink:0;font-size:7px;transition:transform .18s}details[open]>summary .sidebar-chevron{transform:rotate(90deg)}.sidebar-track-content{margin-top:1px;padding-left:2px}.sidebar-lesson-direct{color:var(--ink-soft);border-radius:4px;align-items:center;gap:6px;padding:3px 5px;font-size:11px;font-weight:500;line-height:1.3;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-lesson-direct:hover,.sidebar-lesson-direct.is-active{background:var(--paper-muted);color:var(--accent)}.sidebar-lesson-direct.is-active{font-weight:600}.sidebar-lesson-direct.is-completed{color:var(--ink-soft)}.sidebar-lesson-direct.is-completed .sidebar-status{color:var(--green)}.sidebar-module-details{margin:1px 0}.sidebar-module-summary{color:var(--ink-soft);cursor:pointer;user-select:none;border-radius:4px;justify-content:space-between;align-items:center;padding:3px 5px;font-size:11px;font-weight:500;line-height:1.3;list-style:none;display:flex}.sidebar-module-summary::-webkit-details-marker{display:none}.sidebar-module-summary:hover,.sidebar-module-summary.is-active{background:var(--paper-muted);color:var(--accent)}.sidebar-module-summary.is-active{font-weight:600}.sidebar-module-summary a{color:inherit;flex:1}.sidebar-module-chevron{color:var(--ink-faint);flex-shrink:0;font-size:7px;transition:transform .15s}details[open]>summary .sidebar-module-chevron{transform:rotate(90deg)}.sidebar-lessons{border-left:1px solid var(--line);flex-direction:column;gap:1px;margin:1px 0 3px 8px;padding-left:6px;display:flex}.sidebar-lesson{color:var(--ink-faint);border-radius:3px;align-items:baseline;gap:5px;padding:2.5px 4px;font-size:10.5px;line-height:1.3;text-decoration:none;transition:all .15s;display:flex}.sidebar-lesson:hover,.sidebar-lesson.is-active{color:var(--accent);background:var(--accent-soft)}.sidebar-lesson.is-active{font-weight:600}.sidebar-lesson.is-completed{color:var(--ink-soft)}.sidebar-lesson.is-completed .sidebar-status{color:var(--green)}.sidebar-lesson.is-in-progress .sidebar-status,.sidebar-lesson-direct.is-in-progress .sidebar-status{color:var(--accent)}.sidebar-status{width:8px;color:var(--ink-faint);flex:0 0 8px;font-weight:700}.main-content{min-width:0;padding:32px clamp(20px,3.5vw,48px) 64px}.right-rail{border-left:1px solid var(--line);scrollbar-width:thin;width:220px;height:calc(100vh - 62px);padding:24px 16px 28px;position:sticky;top:62px;overflow-y:auto}.rail-header{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:10px}.rail-title{font:700 9.5px var(--mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;margin:0 0 6px}.rail-meta-row{font:10.5px var(--mono);justify-content:space-between;align-items:center;gap:8px;display:flex}.rail-meta-item{color:var(--ink-soft);align-items:center;gap:4px;display:inline-flex}.rail-reading-progress{color:var(--accent);letter-spacing:.02em;font-weight:600}.right-rail nav{border-left:1px solid var(--line-strong);gap:3px;padding-left:11px;display:grid}.toc-link{color:var(--ink-faint);padding:3px 0;font-size:11.5px;line-height:1.45;text-decoration:none;transition:color .15s}.toc-link:hover{color:var(--accent)}.toc-link.is-active{color:var(--accent);border-left:2px solid var(--accent);margin-left:-12px;padding-left:6px;font-weight:600}.toc-sub{padding-left:9px;font-size:10.75px}.rail-context-section{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.rail-context-title{font:700 9.5px var(--mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;margin:0 0 8px}.rail-context-links{flex-direction:column;gap:6px;display:flex}.rail-context-link{background:var(--paper-muted);border:1px solid var(--line);color:var(--ink-soft);border-radius:4px;padding:6px 8px;font-size:11px;line-height:1.4;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:block}.rail-context-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.rail-context-tags{flex-wrap:wrap;gap:5px;display:flex}.rail-system-pill{font:10px var(--mono);background:var(--paper-muted);border:1px solid var(--line);color:var(--ink-soft);border-radius:3px;padding:2px 6px;text-decoration:none;transition:border-color .15s,color .15s,background .15s}.rail-system-pill:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.rail-actions{border-top:1px dashed var(--line);flex-direction:column;gap:6px;margin-top:20px;padding-top:12px;display:flex}.rail-action-btn{font:10px var(--mono);color:var(--ink-faint);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:3px 0;display:flex}.rail-action-btn:hover{color:var(--accent)}.rail-note{border-top:1px solid var(--line);color:var(--ink-faint);font:italic 12px var(--serif);margin-top:20px;padding-top:13px;line-height:1.5}.home-hero{border:1px solid var(--line);background-color:var(--paper-raised);background-image:radial-gradient(var(--dot-pattern) 1.25px, transparent 1.25px), linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 65%, transparent) 0%, transparent 60%);min-height:365px;box-shadow:var(--shadow-sm);background-position:-1px -1px,0 0;background-size:20px 20px,100% 100%;border-radius:12px;margin-bottom:12px;padding:52px 28px 46px;position:relative;overflow:hidden}.eyebrow{text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;font-weight:700;display:inline-flex}.eyebrow-line{background:var(--accent);border-radius:2px;width:24px;height:2px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.03em;font-weight:500}.home-hero h1{max-width:720px;color:var(--ink);margin:20px 0 18px;font-size:clamp(40px,5vw,66px);line-height:1.03}.home-hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.hero-lede{max-width:610px;color:var(--ink-soft);margin:0;font-size:15.5px;line-height:1.76}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-size:12.5px;font-weight:600;transition:all .16s;display:inline-flex}.button-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow)}.button-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);transform:translateY(-1px)}.button-outline{background:var(--paper-raised);border-color:var(--line-strong);color:var(--ink)}.button-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.button-quiet{border-color:var(--line);color:var(--ink-soft);background:0 0}.button-quiet:hover,.button-quiet[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.button-small{padding:6px 10px;font-size:11px}.text-link{color:var(--accent);font-size:12.5px;font-weight:600;transition:color .15s}.text-link:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.hero-stamp{border:1px solid var(--line-strong);border-top:2.5px solid var(--accent);background:color-mix(in srgb, var(--paper-raised) 90%, transparent);backdrop-filter:blur(8px);color:var(--ink-faint);font:600 9.5px var(--mono);text-align:right;letter-spacing:.1em;box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-end;padding:12px 16px;display:flex;position:absolute;top:32px;right:32px}.hero-stamp strong{font:600 22px var(--mono);color:var(--accent);letter-spacing:-.02em;margin-top:4px}.hero-telemetry{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:32px;padding-top:20px;display:grid}.hero-telemetry-item{flex-direction:column;gap:2px;display:flex}.hero-telemetry-item strong{font:600 18px var(--mono);color:var(--ink);letter-spacing:-.02em}.hero-telemetry-item span{font:500 10.5px var(--mono);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}@media (width<=760px){.hero-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}}.resume-panel{border:1px solid var(--line-strong);border-left:3.5px solid var(--accent);background:var(--paper-raised);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin:18px 0 0;padding:14px 18px;display:flex}.resume-panel h2{font:500 20px var(--serif);margin:5px 0 0}.resume-panel[hidden]{display:none}.home-note-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:14px;padding:16px 0 24px;display:grid}.paper-note{background:var(--paper-raised);border:1px solid var(--line);border-top:2.5px solid var(--accent);box-shadow:var(--shadow-sm);border-radius:8px;padding:18px 18px 16px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative}.paper-note:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.note-mark{color:var(--accent);font-size:9.5px;font-weight:700}.paper-note h3{color:var(--ink);margin:10px 0 6px;font-size:20px}.paper-note p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.65}.content-section{margin-top:48px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.section-heading h2,.content-section>h2{color:var(--ink);margin:6px 0 0;font-size:28px}.section-description{color:var(--ink-soft);margin:7px 0 0;font-size:13.5px}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.track-card,.module-card{border:1px solid var(--line);background:var(--paper-raised);min-height:190px;box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;padding:20px;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.track-card:hover,.module-card:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.track-number{background:var(--accent-soft);font:600 10px var(--mono);color:var(--accent);letter-spacing:.06em;border-radius:4px;align-self:flex-start;align-items:center;padding:2px 8px;display:inline-flex}.track-card h2,.track-card h3{font-size:21px;font-weight:500;font-family:var(--serif);color:var(--ink);margin:12px 0 7px}.track-card p,.module-card p{color:var(--ink-soft);margin:0 0 18px;font-size:12.5px;line-height:1.65}.track-card-foot,.module-card-link{border-top:1px dashed var(--line);color:var(--accent);font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin-top:auto;padding-top:12px;display:flex}.lesson-list{border:1px solid var(--line);background:var(--paper-raised);box-shadow:var(--shadow-sm);border-radius:8px;overflow:hidden}.lesson-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:15px 16px;transition:background .15s;display:flex}.lesson-row:last-child{border-bottom:none}.lesson-row:hover{background:var(--paper-muted)}.lesson-row-number,.project-number{background:var(--accent-soft);height:24px;color:var(--accent);font:600 10.5px var(--mono);border-radius:4px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;display:inline-flex}.lesson-row-main{flex:1;gap:3px;min-width:0;display:grid}.lesson-row-main strong{font:500 17.5px var(--serif);color:var(--ink)}.lesson-row-main small{color:var(--ink-soft);font-size:11.5px;line-height:1.45}.lesson-row-meta{color:var(--ink-faint);font:500 10.5px var(--mono);white-space:nowrap;align-items:center;gap:12px;display:flex}.lesson-row-meta span{color:var(--accent)}.callout-strip{border:1px solid var(--line-strong);border-left:4px solid var(--accent);background:var(--paper-raised);box-shadow:var(--shadow-sm);border-radius:8px;justify-content:space-between;align-items:center;gap:25px;margin-top:48px;padding:24px;display:flex}.callout-strip h2{margin:7px 0 5px;font-size:24px}.callout-strip p{color:var(--ink-soft);max-width:540px;margin:0;font-size:12.5px;line-height:1.6}.interactive-lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.interactive-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.interactive-lab-grid{grid-template-columns:1fr}}.interactive-lab-card{border:1px solid var(--line);background:var(--paper-raised);border-radius:6px;flex-direction:column;padding:16px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.interactive-lab-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.interactive-lab-badge{font:10px var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;margin-bottom:8px;display:inline-flex}.interactive-lab-card h3{font-size:17px;font-family:var(--serif);margin:0 0 6px}.interactive-lab-card p{color:var(--ink-soft);flex:1;margin:0 0 12px;font-size:11px;line-height:1.55}.interactive-lab-meta{font:10px var(--mono);color:var(--accent);border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;display:flex}.reading-layout-container{width:100%;max-width:var(--reading-max-width,740px);margin:0 auto;transition:max-width .22s cubic-bezier(.16,1,.3,1)}:root[data-reading-width=wide] .reading-layout-container{max-width:var(--reading-max-width-wide,960px)}.page-header{border-bottom:1px solid var(--line);margin-bottom:22px;padding:28px 0 24px}.page-header h1{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);margin:12px 0;font-size:clamp(30px,3.8vw,42px);font-weight:500;line-height:1.15}.page-header>p,.lesson-lead{max-width:66ch;color:var(--ink-soft);line-height:1.68;font-size:calc(var(--reading-font-size) * 1.04);margin:0 0 12px}.breadcrumbs{color:var(--ink-faint);font:10.5px var(--mono);flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.breadcrumbs a:hover{color:var(--accent)}.meta-line{color:var(--ink-faint);font:10.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.meta-line span+span:before{content:"·";color:var(--line-strong);margin-right:12px}.alias-note{color:var(--ink-faint);margin:9px 0 0;font-size:11.5px;font-style:italic}.tag-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tag{color:var(--ink-faint);background:var(--paper-muted);border:1px solid var(--line);font:10px var(--mono);border-radius:3px;padding:4px 8px;transition:border-color .15s,color .15s,background .15s}a.tag:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tag-system{color:var(--blue);border-color:color-mix(in srgb, var(--blue) 30%, var(--line))}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.module-card{min-height:180px}.module-card-top{color:var(--accent);font:10px var(--mono);justify-content:space-between;display:flex}.module-card h3{margin:15px 0 7px;font-size:21px}.curriculum-track{margin-top:36px}.empty-note,.muted{color:var(--ink-faint);font-size:13px;line-height:1.65}.small{font-size:11px}.prose{color:var(--ink-body);font-size:var(--reading-font-size);line-height:var(--reading-line-height);font-family:var(--sans)}.prose h2{font-family:var(--serif);font-size:calc(var(--reading-font-size) * 1.48);border-bottom:1px solid var(--line);letter-spacing:-.02em;color:var(--ink);margin:2.35em 0 .7em;padding-bottom:.35em;font-weight:500;line-height:1.26;position:relative}.prose h3{font-family:var(--serif);font-size:calc(var(--reading-font-size) * 1.18);letter-spacing:-.015em;color:var(--ink);margin:1.85em 0 .55em;font-weight:500;line-height:1.34;position:relative}.prose h4{font:600 calc(var(--reading-font-size) * .96) var(--sans);letter-spacing:.01em;color:var(--ink);margin:1.5em 0 .45em;line-height:1.45}.heading-anchor{font-family:var(--mono);color:var(--ink-faint);opacity:0;vertical-align:middle;margin-left:.42em;font-size:.72em;font-weight:400;transition:opacity .15s,color .15s;text-decoration:none!important}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.heading-anchor:focus-visible,.heading-anchor.is-copied{opacity:1}.heading-anchor:hover,.heading-anchor.is-copied{color:var(--accent)}.prose p{color:var(--ink-body);max-width:70ch;font-size:var(--reading-font-size);line-height:var(--reading-line-height);margin:1.3em 0}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{max-width:70ch;color:var(--ink-body);font-size:var(--reading-font-size);line-height:var(--reading-line-height);margin:1.15em 0;padding-left:1.45em}.prose li{font-size:var(--reading-font-size);line-height:var(--reading-line-height);padding:.22em 0}.prose blockquote{border-left:3px solid var(--accent);background:var(--paper-muted);color:var(--ink-soft);border-radius:0 6px 6px 0;margin:24px 0;padding:14px 20px}.callout{border:1px solid var(--line);border-left:3.5px solid var(--accent);background:var(--paper-muted);font-size:calc(var(--reading-font-size) * .92);border-radius:6px;margin:26px 0;padding:15px 18px;line-height:1.68}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout p{color:inherit;font-size:inherit;line-height:inherit;max-width:68ch;margin:6px 0 0}.callout ul,.callout ol{font-size:inherit;line-height:inherit;margin:8px 0 0}.callout li{font-size:inherit;line-height:inherit}.callout-header{font-family:var(--mono);letter-spacing:.08em;align-items:center;gap:7px;margin-bottom:6px;font-size:11px;font-weight:700;line-height:1.2;display:flex}.callout-icon{font-size:13px}.callout-title{letter-spacing:.08em}.callout-warning{border-color:var(--warning-border-subtle);border-left:3.5px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-ink)}.callout-warning .callout-header,.callout-warning strong{color:var(--warning-title)}.callout-important,.callout-caution{border-color:var(--important-border-subtle);border-left:3.5px solid var(--important-border);background:var(--important-bg);color:var(--important-ink)}.callout-important .callout-header,.callout-caution .callout-header,.callout-important strong,.callout-caution strong{color:var(--important-title)}.callout-note{border-color:var(--note-border-subtle);border-left:3.5px solid var(--note-border);background:var(--note-bg);color:var(--ink-body)}.callout-note .callout-header{color:var(--note-title)}.callout-tip{border-color:var(--tip-border-subtle);border-left:3.5px solid var(--tip-border);background:var(--tip-bg);color:var(--ink-body)}.callout-tip .callout-header{color:var(--tip-title)}.callout-explore{border-color:var(--explore-border-subtle);border-left:3.5px solid var(--explore-border);background:var(--explore-bg);color:var(--ink-body)}.callout-explore .callout-header{color:var(--explore-title)}.reading-toolbar{background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 24px;padding:6px 10px;font-size:11px;display:flex}.reading-toolbar-left,.reading-toolbar-right,.reading-toolbar-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.reading-tool-btn{border:1px solid var(--line);font:11px var(--mono);color:var(--ink-soft);cursor:pointer;user-select:none;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:4px 8px;transition:all .15s;display:inline-flex}.reading-tool-btn:hover{background:var(--paper-muted);color:var(--ink);border-color:var(--line-strong)}.reading-tool-btn.is-active,.reading-tool-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.reading-tool-btn .tool-icon{font-size:12px;line-height:1}.reading-tool-btn .tool-icon-text{font-family:var(--serif);font-size:11.5px;line-height:1}.reading-tool-btn .tool-label{font-size:11px;font-weight:500}.reading-tool-badge{background:var(--accent);min-width:16px;height:16px;color:var(--paper-raised);font-family:var(--mono);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-size:9px;font-weight:700;line-height:1;display:none}.sidebar-toggle-btn{cursor:pointer;border-radius:5px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:14px;display:inline-flex}:root[data-focus-mode=true] .topbar,:root[data-focus-mode=true] .sidebar,:root[data-focus-mode=true] .right-rail,:root[data-focus-mode=true] .reading-progress-bar,:root[data-focus-mode=true] .site-footer{display:none!important}:root[data-focus-mode=true] .app-shell{min-height:100vh;max-width:var(--reading-max-width,740px)!important;margin:0 auto!important;display:block!important}:root[data-reading-width=wide][data-focus-mode=true] .app-shell{max-width:var(--reading-max-width-wide,960px)!important}:root[data-focus-mode=true] .main-content{max-width:100%;padding:64px 20px 96px!important}.focus-mode-banner{z-index:100;background:var(--paper-raised);border:1px solid var(--line-strong);box-shadow:var(--shadow);border-radius:24px;padding:4px 6px 4px 14px;animation:.22s cubic-bezier(.16,1,.3,1) fadeInBanner;position:fixed;top:14px;left:50%;transform:translate(-50%)}@keyframes fadeInBanner{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.focus-mode-banner-inner{align-items:center;gap:14px;font-size:11px;display:flex}.focus-mode-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.focus-mode-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent);border-radius:50%;animation:2s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:.4}50%{opacity:1}}.focus-mode-lesson-title{white-space:nowrap;text-overflow:ellipsis;max-width:240px;color:var(--ink-soft);font-size:11px;overflow:hidden}.focus-mode-exit-btn{background:var(--paper-muted);border:1px solid var(--line);color:var(--ink);font-size:11px;font-family:var(--sans);cursor:pointer;border-radius:16px;align-items:center;gap:6px;padding:3px 9px;font-weight:500;transition:all .15s;display:inline-flex}.focus-mode-exit-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.focus-mode-exit-btn kbd{background:var(--paper-raised);padding:1px 4px;font-size:9px}.resume-reading-banner{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));border-left:3px solid var(--accent);border-radius:5px;justify-content:space-between;align-items:center;gap:12px;margin:-10px 0 22px;padding:8px 12px;font-size:12.5px;display:flex}.resume-reading-banner[hidden]{display:none}.resume-reading-action{color:var(--accent);font:600 11.5px var(--mono);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;padding:0;display:inline-flex}.resume-reading-action:hover{text-underline-offset:3px;text-decoration:underline}.resume-reading-dismiss{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font-size:12px}.resume-reading-dismiss:hover{color:var(--ink);background:var(--paper-muted)}.prose :not(pre)>code{font:.85em var(--mono);background:var(--paper-muted);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:.12em .38em}.prose pre,.prose pre.astro-code{border:1px solid var(--code-line);font-family:var(--mono);font-size:var(--code-font-size);tab-size:2;border-radius:6px;margin:22px 0;padding:15px 18px;line-height:1.64;position:relative;overflow-x:auto;white-space:pre!important;word-wrap:normal!important;overflow-wrap:normal!important;background-color:var(--code-bg)!important;color:var(--code-ink)!important}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark,var(--code-ink))!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}:root[data-theme=dark] .prose pre.astro-code{background-color:var(--code-bg)!important}.code-block-header{background:var(--code-header-bg);border:1px solid var(--code-line);font-family:var(--mono);border-bottom:none;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 0;padding:6px 12px;font-size:11px;display:flex}.code-block-header+pre,.prose pre.has-code-header{border-top-left-radius:0!important;border-top-right-radius:0!important;margin-top:0!important}.code-block-lang{align-items:center;gap:8px;display:inline-flex}.code-lang-label{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;font-weight:600}.code-line-count{color:var(--ink-faint);text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.code-block-actions{align-items:center;gap:6px;display:inline-flex}.code-header-btn{background:var(--paper-raised);border:1px solid var(--line-strong);font:10.5px var(--mono);color:var(--ink-soft);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:2.5px 8px;transition:all .15s;display:inline-flex}.code-header-btn:hover,.code-header-btn.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.code-header-btn.is-copied{background:var(--success);border-color:var(--success);color:#fff}.prose pre.has-line-numbers{counter-reset:code-line}.prose pre.has-line-numbers .line:before{counter-increment:code-line;content:counter(code-line);text-align:right;width:2.4em;color:var(--ink-faint);border-right:1px solid var(--code-line);-webkit-user-select:none;user-select:none;opacity:.78;margin-right:1.1em;padding-right:.6em;display:inline-block}.prose pre.is-collapsible{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;margin-bottom:0!important}.prose pre.is-collapsible.is-collapsed{max-height:380px;overflow-y:hidden;-webkit-mask-image:linear-gradient(#000 76%,#0000 100%);mask-image:linear-gradient(#000 76%,#0000 100%)}.code-expand-bar{background:var(--code-header-bg);border:1px solid var(--code-line);border-top:1px dashed var(--code-line);width:100%;font:600 11px var(--mono);color:var(--accent);cursor:pointer;border-radius:0 0 6px 6px;justify-content:center;align-items:center;margin:0 0 22px;padding:7px 12px;transition:background .15s;display:flex}.code-expand-bar:hover{background:var(--accent-soft)}.code-expand-bar:has(+.code-runner-terminal:not([hidden])){border-radius:0;margin-bottom:0}.copy-code-btn{font:10.5px var(--mono);background:var(--paper-raised);color:var(--ink-soft);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;z-index:5;border-radius:4px;padding:3px 8px;transition:opacity .15s,background .15s,color .15s,border-color .15s;position:absolute;top:8px;right:8px}.prose pre:hover .copy-code-btn,.copy-code-btn:focus-visible{opacity:1}.copy-code-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.copy-code-btn.is-copied{background:var(--success);color:#fff;border-color:var(--success);opacity:1}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose img{background:var(--paper-raised);border:1px solid var(--line);max-width:100%;height:auto;margin:22px auto;padding:12px;display:block}.table-scroll{border:1px solid var(--line);background:var(--paper-raised);-webkit-overflow-scrolling:touch;border-radius:6px;width:100%;margin:26px 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;min-width:440px;font-size:calc(var(--reading-font-size) * .86);font-variant-numeric:tabular-nums;margin:0;line-height:1.56;display:table}.prose>table{border:1px solid var(--line);background:var(--paper-raised);border-radius:6px;margin:26px 0;display:block;overflow-x:auto}.prose th,.prose td{border:none;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 14px}.prose th{background:var(--paper-muted);color:var(--ink);letter-spacing:.01em;border-bottom:1.5px solid var(--line-strong);font-size:.93em;font-weight:600}.prose tbody tr:last-child td{border-bottom:none}.prose tbody tr:hover td{background:color-mix(in srgb, var(--paper-muted) 50%, transparent)}.prose td{color:var(--ink-body)}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.katex{color:var(--ink)}.prose .katex-display{text-align:center;max-width:100%;margin:20px 0;padding:10px 0;display:block;overflow:auto hidden}.prose .katex{text-rendering:auto;font-size:1.05em}.prose .katex-display>.katex{text-align:center;font-size:1.15em}.lesson-objectives,.prerequisite-note,.outcomes-block{border:1px solid var(--line);background:var(--paper-muted);max-width:100%;font-size:calc(var(--reading-font-size) * .88);border-radius:6px;margin:22px 0;padding:15px 18px;line-height:1.65}.lesson-objectives strong,.prerequisite-note strong,.outcomes-block h2{font-family:var(--serif);font-size:calc(var(--reading-font-size) * 1.08);color:var(--ink);font-weight:500;display:block}.lesson-objectives ul,.outcomes-block ul{color:var(--ink-body);margin:8px 0 0;padding-left:20px;line-height:1.68}.prerequisite-note{color:var(--ink-soft)}.prerequisite-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.prerequisite-link{background:var(--paper-raised);border:1px solid var(--line);color:var(--ink-body);border-radius:5px;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:flex}.prerequisite-link:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.prerequisite-id{font:600 10.5px var(--mono);background:var(--paper-muted);border:1px solid var(--line);color:var(--ink-soft);border-radius:3px;flex-shrink:0;padding:2px 6px}.prerequisite-link:hover .prerequisite-id{border-color:var(--accent);color:var(--accent)}.prerequisite-title{font-size:calc(var(--reading-font-size) * .86);flex:1;line-height:1.45}.prerequisite-arrow{font-family:var(--mono);color:var(--ink-faint);flex-shrink:0;font-size:12px;transition:transform .15s,color .15s}.prerequisite-link:hover .prerequisite-arrow{color:var(--accent);transform:translate(2px)}.outcomes-block{margin:25px 0}.outcomes-block h2{margin:0}.module-intro{margin-bottom:25px}.lesson-prose{margin-top:24px}.related-systems{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:38px;padding:22px 0}.related-systems h2{font:500 23px var(--serif);margin:7px 0 0}.lesson-actions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:9px;margin:27px 0;padding:17px 0;display:flex}.button.is-complete{background:var(--green)}.saved-indicator{font:10px var(--mono);color:var(--green);margin-left:auto}.lesson-pagination{justify-content:space-between;gap:20px;margin:22px 0 45px;display:flex}.lesson-pagination a{border:1px solid var(--line);background:var(--paper-raised);border-radius:6px;gap:6px;max-width:48%;padding:14px 16px;transition:border-color .15s;display:grid}.lesson-pagination a:hover{border-color:var(--accent)}.lesson-pagination .next-lesson{text-align:right;margin-left:auto}.lesson-pagination small{color:var(--accent);font:9.5px var(--mono);text-transform:uppercase;letter-spacing:.05em}.lesson-pagination strong{font:500 calc(var(--reading-font-size) * 1.02) var(--serif)}.quiz-section{border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:6px;max-width:100%;margin:40px 0;padding:22px}.quiz-section h2{font:500 calc(var(--reading-font-size) * 1.48) var(--serif);margin:7px 0 20px}.quiz-question{border:0;border-top:1px solid var(--line);margin:0;padding:18px 0}.quiz-question legend{font:500 calc(var(--reading-font-size) * 1.02) var(--serif);color:var(--ink);padding:0 0 10px;line-height:1.45}.quiz-option{font-size:calc(var(--reading-font-size) * .88);color:var(--ink-body);cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;padding:8px 10px;line-height:1.55;display:flex}.quiz-option:hover{background:var(--paper-muted)}.quiz-option input{accent-color:var(--accent);margin-top:3px}.quiz-question.is-correct{border-left:2.5px solid var(--green);padding-left:12px}.quiz-question.is-incorrect{border-left:2.5px solid var(--accent);padding-left:12px}.quiz-feedback{font-size:calc(var(--reading-font-size) * .84);color:var(--ink-soft);background:var(--paper-muted);border-radius:4px;margin-top:8px;padding:10px 12px;line-height:1.6}.quiz-footer{border-top:1px solid var(--line);align-items:center;gap:15px;padding-top:13px;display:flex}.quiz-score{font:11px var(--mono);color:var(--green)}.site-footer{border-top:1px solid var(--line);color:var(--ink-faint);font:10px var(--mono);justify-content:space-between;gap:20px;margin-top:60px;padding:20px 0 5px;display:flex}.site-footer a:hover{color:var(--accent)}.progress-summary{border:1px solid var(--line);background:var(--paper-raised);grid-template-columns:repeat(3,1fr);display:grid}.progress-stat{gap:6px;padding:17px 20px;display:grid}.progress-stat+.progress-stat{border-left:1px solid var(--line)}.progress-stat strong{font:500 34px var(--serif)}.progress-stat small{color:var(--ink-faint);font-size:10px}.progress-track-list{gap:12px;display:grid}.progress-track-card{border:1px solid var(--line);background:var(--paper-raised);padding:16px}.progress-track-heading,.progress-module-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-track-heading h3{margin:0 0 12px;font-size:19px}.progress-track-heading span,.progress-module-line span{color:var(--ink-faint);font:10px var(--mono)}.progress-bar{background:var(--paper-muted);border-radius:10px;height:5px;overflow:hidden}.progress-bar span{background:var(--green);height:100%;display:block}.progress-module-list{border-top:1px solid var(--line);gap:8px;margin-top:13px;padding-top:9px;display:grid}.progress-module-line a{color:var(--ink-soft);font-size:12px}.progress-module-line a:hover{color:var(--accent)}.progress-toolbar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;margin-top:43px;padding-top:23px;display:flex}.progress-toolbar h2{font:500 23px var(--serif);margin:6px 0}.progress-toolbar p{color:var(--ink-faint);margin:0;font-size:12px}.toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.file-button input{display:none}.inline-status{min-height:18px;font:10px var(--mono);color:var(--green)}.bookmark-list{gap:8px;display:grid}.bookmark-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:13px 6px;display:flex}.bookmark-row a{font:500 18px var(--serif);flex:1}.bookmark-row a:hover{color:var(--accent)}.bookmark-row small{font:10px var(--mono);color:var(--ink-faint)}.project-list{border-top:1px solid var(--line)}.project-row{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 5px;display:grid}.project-row h2{font:500 19px var(--serif);margin:0 0 4px}.project-row p{color:var(--ink-faint);margin:0;font-size:11px}.project-links{font:10px var(--mono);color:var(--accent);gap:13px;display:flex}.project-links a:hover{text-decoration:underline}.empty-state{flex-direction:column;justify-content:center;align-items:flex-start;min-height:50vh;display:flex}.empty-state h1{margin:15px 0;font-size:48px}.empty-state p{color:var(--ink-soft);margin-bottom:23px}.search-dialog{border:1px solid var(--line-strong);background:var(--paper-raised);width:min(650px,100vw - 30px);max-height:78vh;color:var(--ink);box-shadow:var(--shadow);border-radius:7px;padding:0}.search-dialog::backdrop{backdrop-filter:blur(2px);background:#1818147a}.search-dialog-inner{padding:13px}.search-input-row{border-bottom:1px solid var(--line);color:var(--accent);border-radius:4px;align-items:center;gap:10px;padding:7px 8px 11px;transition:border-color .15s,box-shadow .15s;display:flex}.search-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.search-filters{scrollbar-width:none;align-items:center;gap:6px;padding:8px 4px 4px;display:flex;overflow-x:auto}.search-filter-pill{font:10px var(--mono);background:var(--paper-muted);border:1px solid var(--line);color:var(--ink-faint);cursor:pointer;white-space:nowrap;border-radius:12px;padding:3px 9px;transition:all .15s}.search-filter-pill:hover,.search-filter-pill.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.search-input-row input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:15px}.search-input-row input::placeholder{color:var(--ink-faint)}.search-hint{color:var(--ink-faint);padding:17px 8px;font-size:11px}.search-results{max-height:55vh;overflow:auto}.search-result{border-bottom:1px solid var(--line);gap:5px;padding:12px 9px;display:grid}.search-result:hover,.search-result.is-selected{background:var(--paper-muted)}.search-result strong{font:500 17px var(--serif)}.search-result small{color:var(--accent);font:9px var(--mono)}.search-result span{color:var(--ink-soft);font-size:11px;line-height:1.5}.search-footer{color:var(--ink-faint);font:9px var(--mono);justify-content:flex-end;gap:17px;padding:10px 4px 0;display:flex}.diagram-frame{border:1px solid var(--line);background:var(--paper-raised);margin:22px 0;padding:14px;position:relative}.diagram-frame img{max-width:100%;height:auto;margin:auto;display:block}.diagram-caption{font:10px var(--mono);color:var(--ink-faint);margin-top:9px}.sidebar-backdrop{display:none}@media (width<=1180px){.app-shell,.app-shell.no-rail,.app-shell.toc-collapsed,:root[data-toc-state=collapsed] .app-shell{grid-template-columns:240px minmax(0,1fr)}.app-shell.sidebar-collapsed,.app-shell.sidebar-collapsed.no-rail,.app-shell.sidebar-collapsed.toc-collapsed,:root[data-sidebar-state=collapsed] .app-shell,:root[data-sidebar-state=collapsed] .app-shell.no-rail,:root[data-sidebar-state=collapsed][data-toc-state=collapsed] .app-shell{grid-template-columns:minmax(0,1fr)}.right-rail{display:none}}@media (width<=960px){.topbar-nav{display:none}.sidebar-mobile-hubs{display:block}}@media (width<=760px){.sidebar-toggle-btn{display:none}.sidebar-backdrop{backdrop-filter:blur(2px);z-index:35;opacity:0;pointer-events:none;background:#18181473;transition:opacity .2s;display:block;position:fixed;inset:56px 0 0}.sidebar-backdrop.is-active{opacity:1;pointer-events:auto}.topbar{height:56px;padding:0 14px}.topbar-center,.topbar-tool-text{display:none}.brand{font-size:17px}.search-trigger{min-width:0;padding:7px 9px}.search-trigger-label{font-size:0}.search-trigger-label span{font-size:18px}.search-trigger kbd{display:none}.mobile-menu-toggle{display:inline-block}.app-shell,.app-shell.no-rail{min-height:calc(100vh - 56px);display:block}.sidebar{z-index:40;background:var(--paper);width:min(290px,86vw);height:auto;box-shadow:var(--shadow);transition:transform .2s;position:fixed;top:56px;bottom:0;left:0;transform:translate(-110%)}.sidebar.is-open{transform:translate(0)}.main-content{padding:22px 16px 28px}.home-hero{min-height:0;padding:33px 0 32px}.home-hero h1{font-size:clamp(40px,12vw,58px)}.hero-stamp{display:none}.home-note-grid{grid-template-columns:1fr}.paper-note:nth-child(n){transform:none}.track-grid,.module-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading h2{font-size:26px}.callout-strip,.progress-toolbar{flex-direction:column;align-items:flex-start}.page-header{padding-top:26px}.page-header h1{font-size:40px}.lesson-row{gap:10px}.lesson-row-main strong{font-size:16px}.lesson-row-meta{font-size:9px}.progress-summary{grid-template-columns:1fr}.progress-stat+.progress-stat{border-left:0;border-top:1px solid var(--line)}.project-row{grid-template-columns:24px 1fr}.project-links{grid-column:2}.bookmark-row{flex-wrap:wrap}.bookmark-row a{min-width:65%}.site-footer{flex-direction:column}}@media (width<=600px){.reading-toolbar{flex-direction:column;align-items:stretch;gap:8px}.reading-toolbar-group{justify-content:space-between}.focus-mode-lesson-title{display:none}}@media print{.topbar,.sidebar,.right-rail,.lesson-actions,.lesson-pagination,.site-footer,.search-shell{display:none!important}.app-shell{display:block}.main-content{padding:0}body{color:#000;background:#fff}.prose{max-width:none}a{text-decoration:underline}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.note-selection-toolbar{z-index:50;background:var(--ink);color:var(--paper-raised);border-radius:4px;padding:2px 4px;display:none;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 12px #00000026}.note-selection-toolbar.is-active{display:flex}.note-add-btn{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:11px;font-weight:600}.note-composer-modal{z-index:100;backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.note-composer-modal.is-open{display:flex}.note-composer-card{background:var(--paper-raised);border:1px solid var(--line-strong);width:min(480px,100%);box-shadow:var(--shadow);border-radius:8px;padding:20px}.note-composer-header{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;display:flex}.note-close-btn{cursor:pointer;color:var(--ink-faint);background:0 0;border:none;font-size:14px}.note-quote-preview{border-left:3px solid var(--accent);background:var(--paper-muted);max-height:80px;margin:0 0 12px;padding:8px 12px;font-size:12px;font-style:italic;overflow-y:auto}.note-input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);resize:vertical;border-radius:5px;margin-bottom:14px;padding:10px;font-size:13px}.note-composer-actions{justify-content:flex-end;gap:8px;display:flex}.note-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:600}.note-save-btn{background:var(--ink);color:var(--paper-raised)}.note-cancel-btn{border-color:var(--line);color:var(--ink-soft);background:0 0}.lesson-notes-tray{background:var(--paper-muted);border:1px solid var(--line);border-radius:8px;margin:36px 0 24px;padding:22px}.lesson-notes-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.lesson-notes-header h3{margin:0;font-size:17px}.lesson-notes-sub{color:var(--ink-faint);margin:4px 0 0;font-size:12px}.lesson-notes-count{font-family:var(--mono);color:var(--accent);font-size:11px;font-weight:600}.chapter-note-inline-composer{flex-direction:column;gap:10px;margin:14px 0 20px;display:flex}.note-inline-input{background:var(--paper-raised);border:1px solid var(--line);width:100%;font-family:var(--sans);color:var(--ink);resize:vertical;border-radius:6px;padding:12px 14px;font-size:13.5px;line-height:1.55;transition:border-color .15s,box-shadow .15s}.note-inline-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.chapter-note-inline-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.note-inline-tip{color:var(--ink-faint);font-size:11.5px}.note-inline-save-btn{padding:7px 16px;font-size:12px}.lesson-note-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;margin-bottom:10px;padding:14px}.lesson-note-top{color:var(--ink-faint);justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.lesson-note-delete{color:#ef4444;cursor:pointer;background:0 0;border:none;font-size:11px}.lesson-note-quote{border-left:2px solid var(--accent);background:var(--paper);margin:0 0 8px;padding:6px 10px;font-size:12px;font-style:italic}.lesson-note-text{margin:0;font-size:13px;line-height:1.5}.glossary-popover{z-index:60;background:var(--paper-raised);border:1px solid var(--line-strong);width:300px;box-shadow:var(--shadow);border-radius:8px;padding:14px;display:none;position:absolute}.glossary-popover.is-visible{display:block}.glossary-popover-header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.glossary-popover-title{color:var(--ink);font-size:14px;font-weight:700}.glossary-popover-category{color:var(--accent);text-transform:uppercase;font-size:9px;font-weight:700}.glossary-popover-def{color:var(--ink-soft);margin:0 0 10px;font-size:12px;line-height:1.45}.glossary-popover-footer{border-top:1px dashed var(--line);padding-top:6px;font-size:11px}.glossary-popover-link{color:var(--blue);font-weight:600}.glossary-term-mention{border-bottom:1.5px dotted var(--accent);cursor:help}.code-runner-toolbar{background:var(--code-header-bg);border:1px solid var(--code-line);font-family:var(--mono);border-bottom:none;border-radius:6px 6px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:22px;margin-bottom:0;padding:6px 12px;font-size:11px;display:flex}.code-runner-toolbar+pre{border-top-left-radius:0!important;border-top-right-radius:0!important;margin-top:0!important}.code-runner-badge{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;font-size:10.5px;font-weight:600;display:inline-flex}.code-runner-dot{background:var(--blue);width:7px;height:7px;box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 22%, transparent);border-radius:50%}.code-runner-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.code-runner-btn{background:var(--paper-raised);border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-family:inherit;font-size:10.5px;transition:all .15s;display:inline-flex}.code-runner-btn:hover,.code-runner-btn.is-active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.code-runner-run-btn{background:var(--success);color:#fff;border-color:var(--success);font-weight:600}.code-runner-run-btn:hover{background:color-mix(in srgb, var(--success) 84%, black);border-color:color-mix(in srgb, var(--success) 84%, black);color:#fff}.run-icon{display:block}.code-runner-terminal{background:var(--code-bg);border:1px solid var(--code-line);font-family:var(--mono);border-top:none;border-radius:0 0 6px 6px;margin-top:0;margin-bottom:22px;overflow:hidden}.terminal-bar{background:var(--code-header-bg);border-bottom:1px solid var(--code-line);color:var(--ink-soft);justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;display:flex}.terminal-title{color:var(--ink);align-items:center;gap:6px;font-weight:600;display:flex}.terminal-prompt{color:var(--success);font-weight:700}.terminal-meta{background:var(--paper-muted);color:var(--ink-soft);border-radius:3px;padding:2px 6px;font-size:10px}.terminal-meta.is-running{color:var(--warning);background:var(--warning-soft)}.terminal-meta.is-success{color:var(--success);background:var(--success-soft)}.terminal-meta.is-error{color:var(--error);background:var(--error-soft)}.terminal-controls{align-items:center;gap:6px;display:flex}.terminal-btn{border:1px solid var(--code-line);color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:3px;padding:2px 6px;font-family:inherit;font-size:10px}.terminal-btn:hover{background:var(--code-line);color:var(--code-ink)}.terminal-output{white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto;color:var(--code-ink)!important;background:0 0!important;margin:0!important;padding:12px!important;font-size:12px!important;line-height:1.5!important}details.exercise-solution{border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:6px;margin:20px 0;overflow:hidden}details.exercise-solution>summary{font-family:var(--mono);color:var(--accent);cursor:pointer;user-select:none;background:var(--paper-muted);justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;font-weight:600;transition:background .15s;display:flex}details.exercise-solution>summary:hover{background:var(--accent-soft)}details.exercise-solution[open]>summary{border-bottom:1px solid var(--line)}.exercise-solution-body{padding:16px 20px;font-size:14px;line-height:1.6}.exercise-solution-body h4{color:var(--ink);margin:14px 0 6px;font-size:14px}.exercise-solution-body h4:first-child{margin-top:0}.code-lab-verified-pill{color:#16a34a;background:#16a34a24;border:1px solid #16a34a66;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.code-runner-verify-btn{border-color:var(--accent)!important;color:var(--accent)!important;font-weight:600!important}.code-runner-inline-editor{box-sizing:border-box;width:100%;font:12.5px/1.55 var(--mono);background:var(--code-bg,#0f172a);color:var(--code-ink,#e2e8f0);border:1px solid var(--accent);resize:vertical;border-top:none;border-radius:0 0 6px 6px;outline:none;margin:0;padding:14px 16px}.code-runner-grader{border-bottom:1px solid var(--code-line);background:var(--paper-raised);color:var(--ink);padding:12px 14px;font-size:12px}.code-runner-grader .grader-header{border-bottom:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.code-runner-grader .grader-header.is-pass strong{color:#16a34a}.code-runner-grader .grader-header.is-fail strong{color:#dc2626}.code-runner-grader .grader-checks-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.code-runner-grader .grader-checks-list li{background:var(--paper);border:1px solid var(--line);border-radius:5px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.code-runner-grader .grader-checks-list li.is-pass{border-color:#16a34a59}.code-runner-grader .grader-checks-list li.is-fail{border-color:#dc262659}.code-runner-grader .grader-check-icon{font-family:var(--mono);color:#16a34a;font-weight:700}.code-runner-grader .grader-checks-list li.is-fail .grader-check-icon{color:#dc2626}.code-runner-grader .grader-checks-list li div{flex-direction:column;gap:1px;display:flex}.code-runner-grader .grader-checks-list li small{color:var(--ink-soft);font-size:11px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.diagram-player{border:1px solid var(--line-strong,#cbd5e1);background-color:var(--paper-raised,#fff);background-image:radial-gradient(var(--dot-pattern,#0f172a11) 1.25px, transparent 1.25px);box-shadow:var(--shadow-sm);font-family:var(--sans,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);color:var(--ink,#0f172a);background-position:-1px -1px;background-size:18px 18px;border-radius:10px;flex-direction:column;margin:36px 0;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.diagram-player:hover{border-color:var(--accent,#2563eb);box-shadow:var(--shadow-hover)}.diagram-player:focus-within{border-color:var(--accent,#2563eb)}.diagram-player-header{background-color:var(--paper-muted,#f1f5f9);border-bottom:1px solid var(--line,#e2e8f0);backdrop-filter:blur(8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.diagram-player-title-group{align-items:center;gap:10px;display:flex}.diagram-player-kicker{font-family:var(--mono,ui-monospace, Menlo, Monaco, Consolas, monospace);letter-spacing:.12em;color:var(--accent,#2563eb);text-transform:uppercase;font-size:9.5px;font-weight:700}.diagram-player-domain{font-family:var(--mono,monospace);background:var(--accent-soft,#eff6ff);color:var(--accent,#2563eb);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}.diagram-scenario-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.diagram-scenario-pill{font-family:var(--mono,monospace);border:1px solid var(--line-strong,#cbd5e1);background:var(--paper-raised,#fff);color:var(--ink-soft,#475569);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.diagram-scenario-pill:hover{background:var(--accent-soft,#eff6ff);color:var(--accent,#2563eb);border-color:var(--accent,#2563eb)}.diagram-scenario-pill.is-active{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb);box-shadow:0 1px 4px var(--accent-glow,#2563eb40)}.diagram-scenario-pill[data-badge=failure].is-active{background:var(--error,#dc2626);border-color:var(--error,#dc2626)}.diagram-header-actions{align-items:center;gap:8px;display:flex}.diagram-btn-icon{background:var(--paper-raised,#fff);border:1px solid var(--line-strong,#cbd5e1);color:var(--ink-soft,#475569);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:5px 9px;font-size:12px;transition:all .15s;display:inline-flex}.diagram-btn-icon:hover{background:var(--accent-soft,#eff6ff);color:var(--accent,#2563eb);border-color:var(--accent,#2563eb)}.diagram-player-stage{user-select:none;justify-content:center;align-items:flex-start;min-height:260px;padding:20px 16px;display:flex;position:relative;overflow:auto}.diagram-modal .diagram-player{flex-shrink:0;margin:0 auto;overflow:visible}.diagram-modal .diagram-player-stage{max-height:none;padding:24px 20px}.diagram-player[data-svg-theme=dark] .diagram-player-stage{background-color:#0f172a;background-image:none;padding:16px}.diagram-player-stage svg{border-radius:6px;width:100%;max-width:100%;height:auto;margin:auto;transition:transform .2s;display:block}.diagram-token-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.diagram-token{background:var(--accent,#2563eb);width:14px;height:14px;box-shadow:0 0 0 3px var(--accent-glow,#2563eb4d), 0 2px 8px #0000004d;z-index:20;pointer-events:none;border-radius:50%;margin-top:-7px;margin-left:-7px;transition:transform .3s cubic-bezier(.2,.9,.3,1),opacity .2s;position:absolute}.diagram-token-label{background:var(--ink,#0f172a);color:var(--paper-raised,#fff);font-family:var(--mono,monospace);white-space:nowrap;pointer-events:none;border-radius:3px;padding:1px 5px;font-size:9px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.diagram-player svg [id],.diagram-player svg g,.diagram-player svg rect,.diagram-player svg path{transition:opacity .3s,filter .3s,transform .3s,stroke .3s,stroke-width .3s}.diagram-player svg .is-dimmed{filter:grayscale(80%);opacity:.22!important}.diagram-player svg .is-highlighted{filter:drop-shadow(0 0 7px #2563eb8c);opacity:1!important}.diagram-player svg .is-highlighted-primary{filter:drop-shadow(0 0 8px #0284c7a6)}.diagram-player svg rect.is-highlighted-primary,.diagram-player svg g.is-highlighted-primary>rect:first-of-type{stroke:#0284c7!important;stroke-width:2.5px!important}.diagram-player svg .is-highlighted-accent{filter:drop-shadow(0 0 8px #6366f1a6)}.diagram-player svg rect.is-highlighted-accent,.diagram-player svg g.is-highlighted-accent>rect:first-of-type{stroke:#6366f1!important;stroke-width:2.5px!important}.diagram-player svg .is-highlighted-success{filter:drop-shadow(0 0 8px #059669a6)}.diagram-player svg rect.is-highlighted-success,.diagram-player svg g.is-highlighted-success>rect:first-of-type{stroke:#10b981!important;stroke-width:2.5px!important}.diagram-player svg .is-highlighted-warning{filter:drop-shadow(0 0 8px #d97706a6)}.diagram-player svg rect.is-highlighted-warning,.diagram-player svg g.is-highlighted-warning>rect:first-of-type{stroke:#f59e0b!important;stroke-width:2.5px!important}.diagram-player svg .is-highlighted-error{filter:drop-shadow(0 0 9px #dc2626bf)}.diagram-player svg rect.is-highlighted-error,.diagram-player svg g.is-highlighted-error>rect:first-of-type{stroke:#ef4444!important;stroke-width:2.5px!important}.diagram-player svg .is-active-node{animation:2s ease-in-out infinite diagramPulseNode}@keyframes diagramPulseNode{0%,to{filter:drop-shadow(0 0 4px #2563eb66)}50%{filter:drop-shadow(0 0 12px #2563ebd9)}}.diagram-player svg path.is-flowing,.diagram-player svg line.is-flowing,.diagram-player svg polyline.is-flowing,.diagram-player svg g.is-flowing path,.diagram-player svg g.is-flowing line,.diagram-player svg .is-edge-active path{animation:1.2s linear infinite flowEdge;stroke:var(--accent,#2563eb)!important;stroke-width:2.5px!important;stroke-dasharray:6 4!important}@keyframes flowEdge{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}.diagram-player svg .is-partitioned{stroke:var(--error,#dc2626)!important;stroke-dasharray:4 6!important;opacity:.85!important}.diagram-narrative-card{background-color:var(--paper-raised,#fff);border-top:1px solid var(--line,#e2e8f0);padding:16px 18px;transition:background-color .2s}.diagram-explanation-list{flex-direction:column;gap:10px;display:flex}.diagram-explanation-item{border:1px solid var(--line,#e2e8f0);background-color:var(--paper-muted,#f8fafc);cursor:pointer;border-radius:7px;padding:12px 14px;transition:border-color .18s,background-color .18s,box-shadow .18s}.diagram-explanation-item:hover,.diagram-explanation-item.is-active{border-color:var(--accent,#2563eb);background-color:var(--paper-raised,#fff);box-shadow:0 2px 8px #2563eb14}.diagram-explanation-item:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.diagram-narrative-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.diagram-step-badge{font-family:var(--mono,monospace);letter-spacing:.08em;color:var(--accent,#2563eb);text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.diagram-state-pills{align-items:center;gap:6px;display:flex}.diagram-state-pill{font-family:var(--mono,monospace);background:var(--paper-raised,#fff);border:1px solid var(--line,#e2e8f0);color:var(--ink,#0f172a);border-radius:3px;padding:1px 6px;font-size:10px}.diagram-step-title{font-family:var(--serif,Georgia, serif);font-size:calc(var(--reading-font-size,17px) * .94);color:var(--ink,#0f172a);margin:0 0 4px;font-weight:600;line-height:1.35}.diagram-step-desc{font-size:calc(var(--reading-font-size,17px) * .82);color:var(--ink-soft,#475569);margin:0;line-height:1.55}.diagram-callout{background-color:var(--accent-soft,#eff6ff);border-left:3px solid var(--accent,#2563eb);color:var(--ink,#0f172a);border-radius:0 4px 4px 0;margin-top:8px;padding:7px 11px;font-size:11.5px;line-height:1.45}.diagram-callout strong{color:var(--accent,#2563eb);font-weight:700}.diagram-player-controls{background-color:var(--paper-muted,#f1f5f9);backdrop-filter:blur(8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.diagram-playback-btns{align-items:center;gap:6px;display:flex}.diagram-btn-control{background:var(--paper-raised,#fff);border:1px solid var(--line-strong,#cbd5e1);color:var(--ink,#0f172a);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-width:34px;padding:6px 11px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.diagram-btn-control:hover{border-color:var(--accent,#2563eb);color:var(--accent,#2563eb);background:var(--accent-soft,#eff6ff)}.diagram-btn-control:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:1px}.diagram-btn-control.is-playing{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb)}.diagram-timeline-track{flex:1;align-items:center;gap:6px;max-width:480px;padding:0 8px;display:flex}.diagram-step-pill-btn{background:var(--line-strong,#cbd5e1);cursor:pointer;border:none;border-radius:4px;flex:1;height:8px;padding:0;transition:background-color .2s,transform .15s;position:relative}.diagram-step-pill-btn:hover{background:var(--ink-faint,#64748b);transform:scaleY(1.35)}.diagram-step-pill-btn:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:2px}.diagram-step-pill-btn.is-active{background:var(--accent,#2563eb);transform:scaleY(1.4)}.diagram-step-pill-btn.is-visited{background:color-mix(in srgb, var(--accent,#2563eb) 48%, transparent)}.diagram-extra-controls{align-items:center;gap:8px;display:flex}.diagram-speed-select{font-family:var(--mono,monospace);border:1px solid var(--line-strong,#cbd5e1);background:var(--paper-raised,#fff);color:var(--ink,#0f172a);cursor:pointer;border-radius:5px;padding:4px 6px;font-size:11px;font-weight:600}.diagram-speed-select:focus-visible{outline:2px solid var(--accent,#2563eb)}.diagram-kbd-hint{font-family:var(--mono,monospace);color:var(--ink-faint,#64748b);font-size:10px;display:none}@media (width>=900px){.diagram-kbd-hint{display:inline}}:root[data-theme=dark] .diagram-player{background-color:var(--paper-raised,#111827);background-image:radial-gradient(var(--dot-pattern,#94a3b814) 1.25px, transparent 1.25px);border-color:var(--line-strong,#334155);box-shadow:var(--shadow-sm);color:var(--ink,#f8fafc)}:root[data-theme=dark] .diagram-player-stage>svg:not([data-svg-theme=dark]),:root[data-theme=dark] .diagram-player:not([data-svg-theme=dark]) .diagram-player-stage>img.diagram-static-fallback{filter:invert(.9)hue-rotate(180deg)saturate(1.08);border-radius:6px}:root[data-theme=dark] .diagram-player-stage>svg[data-svg-theme=dark],:root[data-theme=dark] .diagram-player[data-svg-theme=dark] .diagram-player-stage>img.diagram-static-fallback{filter:none;border-radius:6px}:root[data-theme=dark] .diagram-player:hover{border-color:var(--accent,#60a5fa);box-shadow:var(--shadow-hover)}:root[data-theme=dark] .diagram-player-header,:root[data-theme=dark] .diagram-player-controls{background-color:var(--paper-warm,#172033);border-color:var(--line,#1e293b)}:root[data-theme=dark] .diagram-scenario-pill{background:var(--paper-raised,#111827);border-color:var(--line-strong,#334155);color:var(--ink-soft,#94a3b8)}:root[data-theme=dark] .diagram-scenario-pill:hover{background:var(--accent-soft,#60a5fa24);color:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa)}:root[data-theme=dark] .diagram-scenario-pill.is-active{background:var(--accent,#60a5fa);border-color:var(--accent,#60a5fa);color:#0b0f17}:root[data-theme=dark] .diagram-btn-icon,:root[data-theme=dark] .diagram-btn-control,:root[data-theme=dark] .diagram-speed-select{background:var(--paper-raised,#111827);border-color:var(--line-strong,#334155);color:var(--ink,#f8fafc)}:root[data-theme=dark] .diagram-btn-control:hover{border-color:var(--accent,#60a5fa);color:var(--accent,#60a5fa);background:var(--accent-soft,#60a5fa24)}:root[data-theme=dark] .diagram-btn-control.is-playing{background:var(--accent,#60a5fa);color:#0b0f17;border-color:var(--accent,#60a5fa)}:root[data-theme=dark] .diagram-narrative-card{background-color:var(--paper-raised,#111827);border-color:var(--line,#1e293b)}:root[data-theme=dark] .diagram-explanation-item{background-color:var(--paper-warm,#172033);border-color:var(--line-strong,#334155)}:root[data-theme=dark] .diagram-explanation-item:hover,:root[data-theme=dark] .diagram-explanation-item.is-active{background-color:var(--paper-raised,#111827);border-color:var(--accent,#60a5fa);box-shadow:0 2px 10px #60a5fa24}:root[data-theme=dark] .diagram-step-title{color:var(--ink,#f8fafc)}:root[data-theme=dark] .diagram-step-desc{color:var(--ink-soft,#94a3b8)}:root[data-theme=dark] .diagram-callout{background-color:var(--accent-soft,#60a5fa24);border-left-color:var(--accent,#60a5fa);color:var(--ink,#f8fafc)}:root[data-theme=dark] .diagram-timeline-track .diagram-step-pill-btn{background:var(--line-strong,#334155)}:root[data-theme=dark] .diagram-timeline-track .diagram-step-pill-btn.is-active{background:var(--accent,#60a5fa)}:root[data-theme=dark] .diagram-timeline-track .diagram-step-pill-btn.is-visited{background:#60a5fa73}:root[data-theme=dark] .diagram-token{background:var(--accent,#60a5fa);box-shadow:0 0 0 3px #60a5fa59,0 2px 10px #000000b3}@media (prefers-reduced-motion:reduce){.diagram-player svg *,.diagram-token,.diagram-btn-control,.diagram-step-pill-btn{transition:none!important;animation:none!important}.diagram-token{display:none!important}}.diagram-frame{border:1px solid var(--line-strong);background-color:var(--paper-raised);background-image:radial-gradient(var(--dot-pattern,#0f172a11) 1.25px, transparent 1.25px);box-shadow:var(--shadow-sm);background-position:-1px -1px;background-size:18px 18px;border-radius:10px;margin:32px 0;padding:22px 18px 18px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:auto}.diagram-frame:before{content:"SYSTEM ARCHITECTURE BLUEPRINT";font-family:var(--mono);letter-spacing:.12em;color:var(--accent);border-bottom:1px solid var(--line);opacity:.9;margin-bottom:16px;padding-bottom:8px;font-size:9.5px;font-weight:700;display:block}.diagram-frame:hover{border-color:var(--accent);box-shadow:var(--shadow-hover)}.diagram-frame svg,.diagram-frame img{max-width:100%;height:auto;margin:0 auto;transition:transform .2s;display:block}.prose img[src^="/diagrams/"],.prose img[src*="/diagrams/"]{background-color:var(--paper-raised);background-image:radial-gradient(var(--dot-pattern,#0f172a11) 1.25px, transparent 1.25px);border:1px solid var(--line-strong);cursor:zoom-in;max-width:100%;height:auto;box-shadow:var(--shadow-sm);background-position:-1px -1px;background-size:18px 18px;border-radius:10px;margin:32px auto;padding:24px;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .22s;display:block}.prose img[src^="/diagrams/"]:hover,.prose img[src*="/diagrams/"]:hover{border-color:var(--accent);box-shadow:var(--shadow-hover);transform:translateY(-2px)}:root[data-theme=dark] .diagram-frame{background-color:var(--paper-raised,#111827);background-image:radial-gradient(var(--dot-pattern,#94a3b814) 1.25px, transparent 1.25px);border-color:var(--line-strong,#334155);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .diagram-frame>svg:not([data-svg-theme=dark]),:root[data-theme=dark] .diagram-frame>img:not([data-svg-theme=dark]){filter:invert(.9)hue-rotate(180deg)saturate(1.08);border-radius:6px}:root[data-theme=dark] .prose img[src^="/diagrams/"]:not(.diagram-static-fallback),:root[data-theme=dark] .prose img[src*="/diagrams/"]:not(.diagram-static-fallback){filter:invert(.9)hue-rotate(180deg)saturate(1.08);background-color:#f8fafc;border-color:#cbd5e1;box-shadow:0 8px 32px #00000059}:root[data-theme=dark] .prose img[src^="/diagrams/"]:hover,:root[data-theme=dark] .prose img[src*="/diagrams/"]:hover,:root[data-theme=dark] .diagram-frame:hover{border-color:var(--accent)}.diagram-modal{z-index:9999;backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#0f1112e6;flex-direction:column;transition:opacity .22s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.diagram-modal.is-open{opacity:1;pointer-events:auto}.diagram-modal-header{z-index:10;color:#eeece3;background:#151718fa;border-bottom:1px solid #ffffff1f;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:relative}.diagram-modal-title{font-family:var(--serif,Georgia, serif);color:#eeece3;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:180px;margin:0;font-size:15px;font-weight:500;overflow:hidden}.diagram-modal-actions{z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex;position:relative}.diagram-zoom-group{background:#ffffff0d;border:1px solid #ffffff2e;border-radius:4px;align-items:center;display:inline-flex;overflow:hidden}.diagram-zoom-group .diagram-modal-btn{background:0 0;border:none;border-radius:0;justify-content:center;min-width:32px;padding:6px 10px}.diagram-zoom-group .diagram-modal-btn+.diagram-modal-btn{border-left:1px solid #ffffff24}.diagram-zoom-group [data-zoom-reset]{font-variant-numeric:tabular-nums;min-width:52px}.diagram-modal-btn{color:#eeece3;font-family:var(--mono,monospace);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:11px;text-decoration:none;transition:all .15s;display:inline-flex}.diagram-modal-btn:hover{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.diagram-modal-body{cursor:default;flex:1;min-height:0;padding:24px 20px 40px;display:block;overflow:hidden auto}.diagram-modal-img{object-fit:contain;cursor:default;user-select:none;background:#faf8f5;border-radius:8px;max-width:95vw;max-height:85vh;margin:0 auto;padding:16px;display:block;box-shadow:0 16px 64px #000000b3}:root[data-theme=dark] .diagram-modal-img{filter:invert(.9)hue-rotate(180deg)saturate(1.08);background:#faf8f5}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_AMS-Regular.BQhdFMY1.woff2)format("woff2"),url(/_astro/KaTeX_AMS-Regular.DMm9YOAa.woff)format("woff"),url(/_astro/KaTeX_AMS-Regular.DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_astro/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2)format("woff2"),url(/_astro/KaTeX_Caligraphic-Bold.BEiXGLvX.woff)format("woff"),url(/_astro/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2)format("woff2"),url(/_astro/KaTeX_Caligraphic-Regular.CTRA-rTL.woff)format("woff"),url(/_astro/KaTeX_Caligraphic-Regular.wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_astro/KaTeX_Fraktur-Bold.CL6g_b3V.woff2)format("woff2"),url(/_astro/KaTeX_Fraktur-Bold.BsDP51OF.woff)format("woff"),url(/_astro/KaTeX_Fraktur-Bold.BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Fraktur-Regular.CTYiF6lA.woff2)format("woff2"),url(/_astro/KaTeX_Fraktur-Regular.Dxdc4cR9.woff)format("woff"),url(/_astro/KaTeX_Fraktur-Regular.CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_astro/KaTeX_Main-Bold.Cx986IdX.woff2)format("woff2"),url(/_astro/KaTeX_Main-Bold.Jm3AIy58.woff)format("woff"),url(/_astro/KaTeX_Main-Bold.waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_astro/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2)format("woff2"),url(/_astro/KaTeX_Main-BoldItalic.SpSLRI95.woff)format("woff"),url(/_astro/KaTeX_Main-BoldItalic.DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_astro/KaTeX_Main-Italic.NWA7e6Wa.woff2)format("woff2"),url(/_astro/KaTeX_Main-Italic.BMLOBm91.woff)format("woff"),url(/_astro/KaTeX_Main-Italic.3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Main-Regular.B22Nviop.woff2)format("woff2"),url(/_astro/KaTeX_Main-Regular.Dr94JaBh.woff)format("woff"),url(/_astro/KaTeX_Main-Regular.ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_astro/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2)format("woff2"),url(/_astro/KaTeX_Math-BoldItalic.iY-2wyZ7.woff)format("woff"),url(/_astro/KaTeX_Math-BoldItalic.B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_astro/KaTeX_Math-Italic.t53AETM-.woff2)format("woff2"),url(/_astro/KaTeX_Math-Italic.DA0__PXp.woff)format("woff"),url(/_astro/KaTeX_Math-Italic.flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/_astro/KaTeX_SansSerif-Bold.D1sUS0GD.woff2)format("woff2"),url(/_astro/KaTeX_SansSerif-Bold.DbIhKOiC.woff)format("woff"),url(/_astro/KaTeX_SansSerif-Bold.CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/_astro/KaTeX_SansSerif-Italic.C3H0VqGB.woff2)format("woff2"),url(/_astro/KaTeX_SansSerif-Italic.DN2j7dab.woff)format("woff"),url(/_astro/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2)format("woff2"),url(/_astro/KaTeX_SansSerif-Regular.CS6fqUqJ.woff)format("woff"),url(/_astro/KaTeX_SansSerif-Regular.BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Script-Regular.D3wIWfF6.woff2)format("woff2"),url(/_astro/KaTeX_Script-Regular.D5yQViql.woff)format("woff"),url(/_astro/KaTeX_Script-Regular.C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Size1-Regular.mCD8mA8B.woff2)format("woff2"),url(/_astro/KaTeX_Size1-Regular.C195tn64.woff)format("woff"),url(/_astro/KaTeX_Size1-Regular.Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Size2-Regular.Dy4dx90m.woff2)format("woff2"),url(/_astro/KaTeX_Size2-Regular.oD1tc_U0.woff)format("woff"),url(/_astro/KaTeX_Size2-Regular.B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/_astro/KaTeX_Size3-Regular.CTq5MqoE.woff)format("woff"),url(/_astro/KaTeX_Size3-Regular.DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Size4-Regular.Dl5lxZxV.woff2)format("woff2"),url(/_astro/KaTeX_Size4-Regular.BF-4gkZK.woff)format("woff"),url(/_astro/KaTeX_Size4-Regular.DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_astro/KaTeX_Typewriter-Regular.CO6r4hn1.woff2)format("woff2"),url(/_astro/KaTeX_Typewriter-Regular.C0xS9mPB.woff)format("woff"),url(/_astro/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.sidebar-up-next[data-astro-cid-wv7whodv]{background:var(--paper);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:2px;margin-top:8px;padding:7px 9px;text-decoration:none;transition:border-color .15s;display:flex}.sidebar-up-next[data-astro-cid-wv7whodv]:hover{border-color:var(--accent)}.sidebar-up-next-kicker[data-astro-cid-wv7whodv]{font:9.5px var(--mono);letter-spacing:.05em;color:var(--accent);font-weight:700}.sidebar-up-next-title[data-astro-cid-wv7whodv]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.3;overflow:hidden}
