@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400..800&family=Noto+Serif+SC:wght@400;600&display=swap";:root{color-scheme:light;--font-display-zh: 'PingFang SC', 'Microsoft YaHei', sans-serif;--font-heading-zh: var(--font-display-zh);--font-ui-zh: var(--font-display-zh);--font-body-zh: var(--font-ui-zh);--font-display-en: 'Source Sans 3', 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-heading-en: var(--font-display-en);--font-ui-en: var(--font-display-en);--font-body-en: 'Source Serif 4', Georgia, serif;--font-mono: 'GitLab Mono', SFMono-Regular, Consolas, 'Liberation Mono', monospace;--font-display: var(--font-display-zh);--font-heading: var(--font-heading-zh);--font-ui: var(--font-ui-zh);--font-prose: var(--font-body-zh);--font-number: var(--font-display);--font-weight-display: 750;--font-weight-heading: 650;--font-weight-label: 700;--tracking-display: 0;--text-xs: 0.75rem;--text-sm: 0.875rem;--text-base: 1rem;--text-body: 1rem;--text-lead: clamp(1.125rem, 1.6vw, 1.25rem);--text-h6: 1rem;--text-h5: 1.125rem;--text-h4: clamp(1.125rem, 1.35vw, 1.25rem);--text-h3: clamp(1.25rem, 1.7vw, 1.5rem);--text-h2: clamp(1.5rem, 2.2vw, 1.875rem);--text-h1: clamp(1.875rem, 2.2vw, 2.5rem);--text-post-title: var(--text-h1);--leading-tight: 1.2;--leading-heading: 1.3;--leading-body: 1.75;--leading-prose: 1.8;--leading-ui: 1.45;--measure-prose: 48em;--measure-copy: 55rem;--measure-wide: clamp(55rem, calc(100vw - 42rem), 72rem);--measure-readable: 44rem;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--radius-sm: 0.25rem;--radius-md: 0.45rem;--radius-lg: 0.75rem;--radius-pill: 999px;--radius-round: 50%;--focus-width: 2px;--focus-offset: 3px;--focus-offset-compact: 2px;--focus-offset-inset: -2px;--motion-fast: 160ms ease;--motion-standard: 180ms ease;--media-aspect: 16 / 9;--desktop-sidebar-width: 18rem;--page-width: 100rem;--page-gutter: clamp(1.25rem, 2.2vw, 2.75rem)}html:lang(en){--font-display: var(--font-display-en);--font-heading: var(--font-heading-en);--font-ui: var(--font-ui-en);--font-prose: var(--font-body-en);--font-number: var(--font-display-en);--leading-prose: 1.72;--measure-prose: 68ch;--tracking-display: -0.035em}:root[data-bs-theme=light]{color-scheme:light;--canvas: #f7f5f1;--surface: #fffdfa;--surface-soft: #f1ede7;--surface-accent: #f2e7e1;--ink: #37332f;--ink-strong: #27231f;--ink-muted: #716a63;--ink-label: #5f5851;--border: #e2dcd3;--border-strong: #d2c8bd;--accent: #9f4e3c;--accent-hover: #8f4434;--accent-soft: #d9b8ae;--accent-contrast: #fffaf5;--success: #3f6c53;--success-soft: #deebe2;--warning: #7b4b13;--warning-soft: #f6ead0;--highlight: #b56a25;--highlight-soft: rgb(225 172 72 / 14%);--code-bg: #292725;--code-ink: #f7efe5;--shadow-raised: 0 0.85rem 2.2rem rgb(67 48 39 / 9%);--shadow-dialog: 0 1.5rem 4rem rgb(67 48 39 / 18%);--shadow-menu: 0 0.5rem 1.5rem rgb(67 48 39 / 10%);--overlay: rgb(39 35 31 / 34%);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);--main-bg: var(--canvas);--main-border-color: var(--border);--text-color: var(--ink);--text-muted-color: var(--ink-muted);--heading-color: var(--ink-strong);--label-color: var(--ink-label);--link-color: var(--accent);--link-underline-color: var(--accent-soft);--button-bg: var(--surface-soft);--btn-border-color: var(--border-strong);--sidebar-bg: color-mix(in srgb, var(--surface-soft) 88%, transparent);--sidebar-border-color: var(--border);--sidebar-active-color: var(--accent-hover);--sidebar-hover-bg: color-mix(in srgb, var(--accent) 9%, transparent);--sidebar-btn-bg: color-mix(in srgb, var(--surface) 72%, var(--canvas));--topbar-bg: color-mix(in srgb, var(--canvas) 88%, transparent);--topbar-text-color: var(--ink-label);--search-border-color: var(--border-strong);--card-bg: var(--surface);--card-hover-bg: transparent;--card-shadow: none;--toc-highlight: var(--accent)}:root[data-bs-theme=dark]{color-scheme:dark;--canvas: #191817;--surface: #211f1d;--surface-soft: #292623;--surface-accent: #3a2b27;--ink: #d8d1ca;--ink-strong: #f2ece6;--ink-muted: #aaa19a;--ink-label: #c2b8af;--border: #3d3935;--border-strong: #514b45;--accent: #d99a87;--accent-hover: #e4ad9c;--accent-soft: #744b40;--accent-contrast: #211f1d;--success: #9fc9ad;--success-soft: #283b30;--warning: #e0ad63;--warning-soft: #463923;--highlight: #d9a456;--highlight-soft: rgb(228 178 86 / 13%);--code-bg: #11100f;--code-ink: #eee8e0;--shadow-raised: 0 0.85rem 2.2rem rgb(0 0 0 / 26%);--shadow-dialog: 0 1.5rem 4rem rgb(0 0 0 / 30%);--shadow-menu: 0 0.5rem 1.5rem rgb(0 0 0 / 18%);--overlay: rgb(15 18 22 / 42%);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);--main-bg: var(--canvas);--main-border-color: var(--border);--text-color: var(--ink);--text-muted-color: var(--ink-muted);--heading-color: var(--ink-strong);--label-color: var(--ink-label);--link-color: var(--accent);--link-underline-color: var(--accent-soft);--button-bg: var(--surface-soft);--btn-border-color: var(--border-strong);--sidebar-bg: color-mix(in srgb, var(--surface-soft) 88%, transparent);--sidebar-border-color: var(--border);--sidebar-active-color: var(--accent-hover);--sidebar-hover-bg: color-mix(in srgb, var(--accent) 12%, transparent);--sidebar-btn-bg: color-mix(in srgb, var(--surface) 72%, var(--canvas));--topbar-bg: color-mix(in srgb, var(--canvas) 88%, transparent);--topbar-text-color: var(--ink-label);--search-border-color: var(--border-strong);--card-bg: var(--surface);--card-hover-bg: transparent;--card-shadow: none;--toc-highlight: var(--accent)}body{background:radial-gradient(circle at 92% 2%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 26rem),var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-body);font-synthesis:none;-webkit-font-smoothing:antialiased}:where(h1,h2,h3,h4,h5,h6){color:var(--ink-strong);font-family:var(--font-heading)}h1{font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--font-weight-display);line-height:var(--leading-heading);letter-spacing:var(--tracking-display)}:where(a,button,[role=button],input,select,textarea):focus-visible{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}:where(code,kbd,pre){font-family:var(--font-mono);font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}article[data-toc]>.content{font-family:var(--font-prose);font-weight:400;font-size:var(--text-body);line-height:var(--leading-prose)}article[data-toc]>.content :where(h2,h3,h4,h5,h6){margin-bottom:.75em;color:var(--heading-color);font-family:var(--font-heading);font-weight:var(--font-weight-heading);letter-spacing:-0.02em;line-height:var(--leading-heading)}article[data-toc]>.content h2{font-size:var(--text-h2)}article[data-toc]>.content h3{font-size:var(--text-h3)}article[data-toc]>.content h4{font-size:var(--text-h4)}article[data-toc]>.content h5{font-size:var(--text-h5)}article[data-toc]>.content h6{font-size:var(--text-h6)}article[data-toc]>.content :where(h2,h3,h4,h5,h6,code,kbd,pre,table){font-family:var(--font-heading)}article[data-toc]>.content :where(code,kbd,pre){font-family:var(--font-mono)}article[data-toc]>.content>:where(p,ul,ol){max-width:100%}article[data-toc]>.content table:not(.rouge-table),article[data-toc]>.content table:not(.rouge-table) :is(th,td){font-size:var(--text-base);font-weight:400;line-height:1.65}article[data-toc]>.content table:not(.rouge-table) th{font-weight:600;line-height:1.5}article[data-toc] :is(.post-meta,figcaption,.img-link+em){font-size:var(--text-sm);font-weight:400;line-height:1.45}article[data-toc]>.content .content-note{color:var(--ink-muted);font-size:var(--text-sm);font-weight:400;line-height:1.65}@media(prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto !important;transition:none !important}}:root[data-exploded-scheme]{--exploded-font: var(--font-ui);--exploded-mono: var(--font-mono);--exploded-bg: var(--canvas);--exploded-text: var(--ink);--exploded-text-strong: var(--ink-strong);--exploded-text-soft: var(--ink);--exploded-dim: var(--ink-muted);--exploded-line: var(--border);--exploded-card: var(--surface);--exploded-glass: color-mix(in srgb, var(--surface) 84%, transparent);--exploded-glass-hi: var(--surface);--exploded-well: color-mix(in srgb, var(--ink) 6%, transparent);--exploded-hover: color-mix(in srgb, var(--ink) 8%, transparent);--exploded-cap-bg: color-mix(in srgb, var(--surface) 92%, transparent);--exploded-cap-text: var(--ink-strong);--exploded-cap-line: color-mix(in srgb, var(--ink) 60%, transparent);--exploded-primary: var(--accent);--exploded-primary-lo: var(--accent-hover);--exploded-on-primary: var(--accent-contrast);--exploded-wall: color-mix(in oklab, var(--canvas), var(--ink) 9%);--exploded-wall-lo: color-mix(in oklab, var(--canvas), var(--ink) 15%);--exploded-trim: color-mix(in oklab, var(--canvas), var(--ink) 24%);--exploded-floor: color-mix(in oklab, var(--canvas), var(--ink) 20%)}.lab-nav{border-bottom-color:var(--border);background:color-mix(in srgb, var(--canvas) 88%, transparent)}.lab-nav a{color:var(--ink);font-family:var(--font-ui)}.lab-nav a:hover,.lab-nav a:focus-visible{color:var(--ink-strong)}:root[data-exploded-embed] .lab-nav{display:none}:root[data-exploded-embed] .lab-content{padding-top:0}:root[data-exploded-embed] body .lab-content>#app{height:100vh;min-height:0}:root[data-bs-theme] .iso[data-embed=true]{--anatomy-page: var(--canvas);--anatomy-card: var(--canvas);--anatomy-paper: var(--canvas);--anatomy-text: var(--ink);--anatomy-strong: var(--ink-strong);--anatomy-muted: var(--ink-muted);--anatomy-border: var(--border);--anatomy-font-prose: var(--font-prose);--anatomy-font-ui: var(--font-ui)}