:root{--bg:#f5f7fb;--surface-1:#fff;--surface-2:#eef2f7;--surface-3:#e7edf5;--border:#dfe6ef;--border-strong:#c8d4e2;--text-primary:#152238;--text-secondary:#40516b;--text-muted:#75839a;--accent:#159c93;--interactive:#2d6cdf;--info-bg:#edf4ff;--info-border:#cbdaf0;--info-text:#1f56b9;--success-bg:#f4fbfa;--success-border:#c8e5e1;--success-text:#159c93;--warning-bg:#fffdf8;--warning-border:#eadfca;--warning-text:#b87918;--danger-bg:snow;--danger-border:#efcfd3;--danger-text:#c55252;--takeaway-bg:#f4fbfa;--takeaway-border:#c8e5e1;--takeaway-title:#159c93;--panel-bg:var(--surface-1);--panel-border:var(--border);--card-bg:var(--surface-1);--card-border:var(--border);--callout-info-bg:var(--info-bg);--callout-info-border:var(--info-border);--callout-success-bg:var(--success-bg);--callout-success-border:var(--success-border);--callout-warning-bg:var(--warning-bg);--callout-warning-border:var(--warning-border);--callout-danger-bg:var(--danger-bg);--callout-danger-border:var(--danger-border);--demo-bg:var(--surface-2);--demo-border:var(--border-strong);--diagram-bg:var(--demo-bg);--diagram-surface:var(--surface-1);--diagram-border:var(--border-strong);--diagram-connection:var(--text-secondary);--diagram-connection-muted:var(--text-muted);--diagram-accent:var(--interactive);--diagram-accent-soft:var(--info-bg);--canvas:var(--bg);--surface:var(--surface-1);--surface-muted:var(--surface-2);--surface-blue:var(--info-bg);--ink:var(--text-primary);--ink-soft:var(--text-secondary);--ink-muted:var(--text-muted);--line:var(--border);--line-strong:var(--border-strong);--navy:#173b68;--blue:var(--interactive);--blue-deep:#1f56b9;--teal:var(--accent);--teal-soft:#dff5f1;--surface-teal:var(--success-bg);--surface-teal-subtle:#f8fcfb;--border-teal:var(--success-border);--amber:var(--warning-text);--amber-soft:#fff2d8;--surface-warning:var(--warning-bg);--border-warning:var(--warning-border);--surface-danger:var(--danger-bg);--border-danger:var(--danger-border);--border-blue:var(--info-border);--danger:var(--danger-text);--on-accent:#fff;--on-primary:#fff;--button-primary-bg:var(--navy);--button-primary-hover-bg:#205184;--button-primary-active-bg:#173b68;--button-primary-border:transparent;--button-primary-text:var(--on-primary);--button-primary-shadow:0 7px 15px #173b6824;--button-secondary-bg:var(--surface-1);--button-secondary-hover-bg:var(--surface-2);--button-secondary-active-bg:var(--surface-3);--button-secondary-border:var(--border);--button-secondary-hover-border:var(--border-strong);--button-secondary-text:var(--text-secondary);--button-ghost-text:var(--text-secondary);--button-ghost-hover-bg:var(--surface-2);--button-ghost-active-bg:var(--surface-3);--button-disabled-bg:var(--surface-2);--button-disabled-border:var(--border);--button-disabled-text:var(--text-muted);--button-icon-active-bg:var(--surface-3);--topbar-bg:#f5f7fbf0;--topbar-border:#dfe6efd1;--progress-track:#dce5ee;--code-bg:#17263b;--code-text:#c5d8ef;--focus-ring:#2d6cdf59;--shadow-sm:0 2px 10px #1c33540d;--shadow-md:0 14px 36px #1c335414;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--content-width:1180px;--border-subtle:var(--border);--border-emphasis:var(--border-strong);--surface-subtle:var(--surface-2);--surface-accent:var(--info-bg);--accent-primary:var(--interactive);--accent-info:var(--accent);--accent-warning:var(--warning-text);--accent-danger:var(--danger-text);--radius-control:var(--radius-sm);--radius-section:var(--radius-md);--radius-visual:var(--radius-lg);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--motion-fast:.16s;--motion-standard:.24s;--content-max:var(--content-width);color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}html[data-theme=dark]{--bg:#0d1726;--surface-1:#131f31;--surface-2:#18263a;--surface-3:#20334b;--border:#2a3b52;--border-strong:#40556e;--text-primary:#e6edf7;--text-secondary:#a3b1c4;--text-muted:#74859b;--accent:#52cdbd;--interactive:#61a8f8;--info-bg:#152d4b;--info-border:#315477;--info-text:#8fc1ff;--success-bg:#112823;--success-border:#28594f;--success-text:#52cdbd;--warning-bg:#282317;--warning-border:#594821;--warning-text:#e8c978;--danger-bg:#2f2029;--danger-border:#68434c;--danger-text:#ff9da7;--on-primary:#fff;--button-primary-bg:#24577f;--button-primary-hover-bg:#2e6b99;--button-primary-active-bg:#1d466b;--button-primary-text:#eaf4ff;--button-primary-shadow:0 7px 15px #00000047;--button-secondary-bg:var(--surface-1);--button-secondary-hover-bg:var(--surface-2);--button-secondary-active-bg:var(--surface-3);--button-secondary-border:var(--border);--button-secondary-hover-border:var(--border-strong);--button-secondary-text:var(--text-secondary);--button-ghost-text:var(--text-secondary);--button-ghost-hover-bg:var(--surface-2);--button-ghost-active-bg:var(--surface-3);--button-disabled-bg:var(--surface-2);--button-disabled-border:var(--border);--button-disabled-text:var(--text-muted);--button-icon-active-bg:var(--surface-3);--takeaway-bg:#112823;--takeaway-border:#28594f;--takeaway-title:#55cfbd;--panel-bg:var(--surface-1);--panel-border:var(--border);--card-bg:var(--surface-1);--card-border:var(--border);--callout-info-bg:var(--info-bg);--callout-info-border:var(--info-border);--callout-success-bg:var(--success-bg);--callout-success-border:var(--success-border);--callout-warning-bg:var(--warning-bg);--callout-warning-border:var(--warning-border);--callout-danger-bg:var(--danger-bg);--callout-danger-border:var(--danger-border);--demo-bg:var(--surface-2);--demo-border:var(--border-strong);--navy:#2d6198;--blue-deep:#a6ccff;--teal-soft:#1d403e;--surface-teal-subtle:#173732;--amber-soft:#3a301c;--on-accent:#071b18;--topbar-bg:#0d1726f0;--topbar-border:#40556eb8;--progress-track:#2b3d54;--code-bg:#0f1724;--code-text:#d5e4f7;--focus-ring:#61a8f88c;--shadow-sm:0 2px 10px #00000038;--shadow-md:0 14px 36px #0000004d;color-scheme:dark}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px}body{background:var(--canvas);min-width:320px;color:var(--ink);transition:background-color var(--motion-standard) ease, color var(--motion-standard) ease;margin:0;font-size:15px;line-height:1.7;overflow-x:hidden}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin-top:0}p{color:var(--ink-soft)}@media (width<=680px){body{font-size:14px}}ul,ol{margin:0;padding:0;list-style:none}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.site-shell{width:min(100% - 48px, var(--content-width));margin:0 auto}.site-header{border-bottom:1px solid #dfe6efb3;justify-content:space-between;align-items:center;min-height:84px;display:flex}.brand{color:var(--navy);align-items:center;gap:11px;display:inline-flex}.brand__mark{background:var(--navy);border-radius:9px;flex-direction:column;justify-content:center;gap:4px;width:31px;height:31px;padding:6px 5px;display:inline-flex;box-shadow:0 5px 12px #173b6829}.brand__mark i{background:var(--on-primary);border-radius:20px;width:20px;height:3px;display:block}.brand__mark i:first-child{background:var(--teal);width:12px}.brand__mark i:last-child{background:#7eaff4;width:16px}.brand__text{flex-direction:column;line-height:1.2;display:flex}.brand__text strong{letter-spacing:.04em;font-size:15px}.brand__text small{color:var(--ink-muted);letter-spacing:.08em;margin-top:4px;font-size:10px}.site-header__nav{color:var(--ink-soft);align-items:center;gap:27px;font-size:13px;display:flex}.site-header__nav>a:not(.button){transition:color .16s}.site-header__nav>a:not(.button):hover{color:var(--blue)}.site-footer{border-top:1px solid var(--line);min-height:89px;color:var(--ink-muted);justify-content:space-between;padding:25px 0;display:flex}.brand--footer .brand__text small{letter-spacing:0;max-width:250px}.site-footer__meta{align-items:center;gap:24px;font-size:11px;display:flex}.site-footer__meta>*{white-space:nowrap}.site-footer__meta a:hover{color:var(--blue)}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:9px 17px;font-size:13px;font-weight:650;line-height:1.2;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button--primary{border-color:var(--button-primary-border);background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--button-primary-shadow)}.button--primary:hover{background:var(--button-primary-hover-bg)}.button--nav{border-color:var(--button-primary-border);background:var(--button-primary-bg);min-height:36px;color:var(--button-primary-text);padding:8px 13px}.button--small{min-height:35px;padding:7px 12px;font-size:12px}.button--quiet{border-color:var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-text)}.button--quiet:hover{border-color:var(--button-secondary-hover-border);background:var(--button-secondary-hover-bg)}.button--ghost{color:var(--button-ghost-text);background:0 0;border-color:#0000}.button--ghost:hover{background:var(--button-ghost-hover-bg)}@media (width<=680px){.site-shell{width:min(100% - 32px, var(--content-width))}.site-header{min-height:70px}.site-footer{flex-direction:column;gap:20px}.site-footer__meta{flex-wrap:wrap;gap:14px}}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.eyebrow,.eyebrow-pill{color:var(--teal);letter-spacing:.12em;align-items:center;font-size:11px;font-weight:750;line-height:1.3;display:inline-flex}.eyebrow--small{letter-spacing:.1em;font-size:10px}.eyebrow-row{align-items:center;gap:15px;margin-bottom:21px;display:flex}.eyebrow-pill{border:1px solid var(--success-border);background:var(--success-bg);letter-spacing:.05em;border-radius:100px;gap:7px;padding:6px 10px}.status-dot{background:var(--teal);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #159c9324}.eyebrow-muted{color:var(--ink-muted);font-size:12px}.learn-topbar__actions{flex:none;align-items:center;gap:7px;margin-left:auto;display:flex}.learn-search-entry{flex:none;align-items:center;gap:6px;display:flex}.learn-search-entry__shortcut{border:1px solid var(--line);color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:5px;padding:3px 6px;font-family:inherit;font-size:10px;line-height:1.2}.learn-search-trigger{display:inline-flex}.learn-search-trigger svg{width:18px;height:18px}.learn-search-entry__shortcut{font-variant-numeric:tabular-nums}.topbar-control{border:1px solid var(--topbar-border);width:36px;height:36px;min-height:36px;color:var(--ink-muted);cursor:pointer;transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-fast) ease;background:0 0;border-radius:9px;flex:none;justify-content:center;align-items:center;padding:0}.locale-switcher__trigger,.theme-toggle{display:inline-flex}.topbar-control:hover,.topbar-control:focus-visible{border-color:var(--line-strong);background:var(--surface-muted);color:var(--ink)}.locale-switcher{flex:none;position:relative}.locale-switcher__globe,.theme-toggle__icon{flex:none;width:17px;height:17px}.locale-switcher__menu{z-index:50;border:1px solid var(--line);background:var(--surface);width:190px;box-shadow:var(--shadow-md);visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--motion-fast) ease, transform var(--motion-fast) ease;border-radius:10px;gap:3px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)}.locale-switcher.is-open .locale-switcher__menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.locale-switcher__option{width:100%;min-height:34px;color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-size:12px;display:flex}.locale-switcher__option:hover,.locale-switcher__option:focus-visible,.locale-switcher__option.is-selected{background:var(--surface-muted);color:var(--ink)}.locale-switcher__option.is-selected{font-weight:700}.locale-switcher__option svg{width:15px;height:15px;color:var(--teal);flex:none}.theme-toggle__icon--moon{display:none}html[data-theme=dark] .theme-toggle__icon--moon{display:block}html[data-theme=dark] .theme-toggle__icon--sun{display:none}@media (width<=900px){.learn-search-entry--desktop{display:none}.topbar-control{width:40px;height:40px;min-height:40px}}@media (prefers-reduced-motion:reduce){.topbar-control,.locale-switcher__menu{transition:none!important}html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes lesson-block-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}html[data-theme=dark] .home-page{--home-canvas:var(--canvas);--home-surface:var(--surface);--home-ink:var(--ink);--home-ink-soft:var(--ink-soft);--home-ink-muted:var(--ink-muted);--home-line:var(--line);--home-line-strong:var(--line-strong);--home-blue:var(--blue);--home-blue-soft:var(--surface-blue);--home-primary-bg:var(--button-primary-bg);--home-primary-hover-bg:var(--button-primary-hover-bg);--home-teal:var(--teal);--home-teal-soft:var(--teal-soft);--home-amber:var(--amber);--home-amber-soft:var(--amber-soft);background-color:var(--home-canvas);color:var(--home-ink)}html[data-theme=dark] .button--primary:active:not(:disabled),html[data-theme=dark] .button--nav:active:not(:disabled){background:var(--button-primary-active-bg);transform:none}html[data-theme=dark] .button--quiet:active:not(:disabled){border-color:var(--button-secondary-hover-border);background:var(--button-secondary-active-bg);transform:none}html[data-theme=dark] .button--ghost:active:not(:disabled){background:var(--button-ghost-active-bg);transform:none}html[data-theme=dark] .button:disabled,html[data-theme=dark] .button:disabled:hover,html[data-theme=dark] .button:disabled:active,html[data-theme=dark] .banking-history__mode:disabled,html[data-theme=dark] .lineage-teaching-impact-choice:disabled,html[data-theme=dark] .capstone-primary-button:disabled{border-color:var(--button-disabled-border);background:var(--button-disabled-bg);color:var(--button-disabled-text);box-shadow:none;cursor:not-allowed;opacity:.58;transform:none}html[data-theme=dark] .banking-history__mode:disabled>span,html[data-theme=dark] .banking-history__mode:disabled small,html[data-theme=dark] .lineage-teaching-impact-choice:disabled strong,html[data-theme=dark] .lineage-teaching-impact-choice:disabled small{color:var(--button-disabled-text)}html[data-theme=dark] .sidebar-collapse-toggle:active,html[data-theme=dark] .sidebar-toggle:active,html[data-theme=dark] .locale-switcher__trigger:active,html[data-theme=dark] .theme-toggle:active{border-color:var(--button-secondary-hover-border);background:var(--button-icon-active-bg)}html[data-theme=dark] .learn-app .visualization-section,html[data-theme=dark] .learn-app .compare-split__column,html[data-theme=dark] .learn-app .lesson-nav__link,html[data-theme=dark] .learn-app .lesson-opening__card{border-color:var(--line);background:var(--surface);color:var(--ink)}html[data-theme=dark] .learn-app .concept-card{border-color:var(--border-blue);background:var(--surface-blue)}html[data-theme=dark] .learn-app table{border-color:var(--line);background:var(--surface);color:var(--ink)}html[data-theme=dark] .learn-app table th,html[data-theme=dark] .learn-app table td{border-color:var(--line);color:inherit}html[data-theme=dark] .learn-app table thead th{background:var(--surface-muted);color:var(--ink)}html[data-theme=dark] .learn-app input,html[data-theme=dark] .learn-app select,html[data-theme=dark] .learn-app textarea{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}html[data-theme=dark] .learn-app .data-quality-status-flow li,html[data-theme=dark] .learn-app .data-quality-status-summary>div,html[data-theme=dark] .learn-app .data-quality-comparison>div,html[data-theme=dark] .learn-app .data-quality-reconciliation__values>div,html[data-theme=dark] .learn-app .data-quality-scenario,html[data-theme=dark] .learn-app .data-quality-rule,html[data-theme=dark] .learn-app .data-quality-release-decision{border-color:var(--line);background:var(--surface);color:var(--ink)}html[data-theme=dark] .learn-app .data-quality-status-flow li.is-warn,html[data-theme=dark] .learn-app .data-quality-release-rule--quarantine{background:var(--warning-bg)}html[data-theme=dark] .learn-app .data-quality-grain-callout,html[data-theme=dark] .learn-app .data-quality-release-rule--released{border-color:var(--success-border);background:var(--success-bg)}html[data-theme=dark] .learn-app .data-quality-scope-line{border-color:var(--info-border);background:var(--surface-1)}html[data-theme=dark] .learn-app .data-quality-status-flow li.is-fail,html[data-theme=dark] .learn-app .data-quality-decision--block,html[data-theme=dark] .learn-app .data-quality-decision--fail,html[data-theme=dark] .learn-app .data-quality-release-rule{background:var(--danger-bg)}html[data-theme=dark] .learn-app .data-quality-scenario:hover,html[data-theme=dark] .learn-app .data-quality-scenario.is-selected{border-color:var(--teal);background:var(--surface-teal)}html[data-theme=dark] .learn-app .capstone-workbench{--capstone-ink:var(--ink);--capstone-muted:var(--ink-muted);--capstone-line:var(--line);--capstone-blue:var(--blue);--capstone-blue-soft:var(--surface-blue);--capstone-teal:var(--teal);--capstone-teal-soft:var(--surface-teal);--capstone-amber:var(--amber);--capstone-amber-soft:var(--surface-warning);--capstone-red:var(--danger);--capstone-red-soft:var(--surface-danger);border-color:var(--line);background:var(--surface)}html[data-theme=dark] .learn-app .capstone-workbench .capstone-project-facts,html[data-theme=dark] .learn-app .capstone-workbench .capstone-project-facts span,html[data-theme=dark] .learn-app .capstone-workbench .capstone-checkpoint-nav,html[data-theme=dark] .learn-app .capstone-workbench .capstone-source-card,html[data-theme=dark] .learn-app .capstone-workbench .capstone-choice,html[data-theme=dark] .learn-app .capstone-workbench .capstone-table,html[data-theme=dark] .learn-app .capstone-workbench .capstone-build-steps article,html[data-theme=dark] .learn-app .capstone-workbench .capstone-timeline article{border-color:var(--capstone-line);background:var(--surface);color:var(--capstone-ink)}html[data-theme=dark] .learn-app .capstone-workbench .capstone-checkpoint button:hover:not(:disabled),html[data-theme=dark] .learn-app .capstone-workbench .capstone-checkpoint button:focus-visible,html[data-theme=dark] .learn-app .capstone-workbench .capstone-choice:hover,html[data-theme=dark] .learn-app .capstone-workbench .capstone-choice:focus-visible{background:var(--surface-blue)}html[data-theme=dark] .learn-app .capstone-workbench .capstone-checkpoint.is-active button,html[data-theme=dark] .learn-app .capstone-workbench .capstone-choice.is-selected{background:var(--capstone-blue-soft)}html[data-theme=dark] .learn-app .capstone-workbench .capstone-brief-callout,html[data-theme=dark] .learn-app .capstone-workbench .capstone-run-card,html[data-theme=dark] .learn-app .capstone-workbench .capstone-evidence-card,html[data-theme=dark] .learn-app .capstone-workbench .capstone-decision-panel,html[data-theme=dark] .learn-app .capstone-workbench .capstone-scale-symptom{border-color:var(--capstone-line);background:var(--surface);color:var(--capstone-ink)}
