@import "https://fontsapi.zeoseven.com/css2?family=Sarasa+Mono+SC";@import "https://cdn.cnfont.app/fonts/maplemonoscnf/MapleMono-NF-CN-Regular/result.css";@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&display=swap";:root{--font-sans:"Google Sans Flex", "Noto Sans SC", "Noto Sans TW", system-ui, sans-serif;--font-display:"Outfit", "Noto Sans SC", sans-serif;--font-serif:"Newsreader", "Noto Serif SC", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-mono-cjk:"Sarasa Mono SC", "MapleMono-CN-Regular", "JetBrains Mono", "Noto Sans SC", ui-monospace, monospace}:root{--font-cjk-sc-sans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-cjk-sc-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", serif;--font-cjk-tc-sans:"Noto Sans TW", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-cjk-tc-serif:"Noto Serif TC", "Source Han Serif TC", "Songti TC", serif;--font-cjk-jp-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-cjk-jp-serif:"Shippori Mincho", "Noto Serif JP", "Yu Mincho", serif}:root{--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--font-weight-body:var(--font-weight-regular);--font-weight-heading:var(--font-weight-bold);--font-weight-emphasis:var(--font-weight-semibold);--font-weight-caption:var(--font-weight-medium)}:root{--sl-font:var(--font-sans);--sl-font-mono:var(--font-mono);--sl-font-mono-cjk:var(--font-mono-cjk);--custom-header-weight:var(--font-weight-heading)}:root{--color-purple-50:#f3e8ff;--color-purple-100:#e0d4fc;--color-purple-200:#c4b8e0;--color-purple-300:#b388ff;--color-purple-400:#a48cc9;--color-purple-500:#7c6caf;--color-purple-600:#625b71;--color-purple-700:#4a4458;--color-purple-800:#3d3557;--color-purple-900:#2e0249;--color-purple-950:#190924;--color-neutral-0:#ffffff;--color-neutral-50:#f7f9fc;--color-neutral-100:#eceff4;--color-neutral-200:#e6e1e5;--color-neutral-300:#d0d4db;--color-neutral-800:#1d192b;--color-neutral-900:#1a1a1a;--color-neutral-950:#0f0e17;--color-neutral-1000:#000000;--color-surface-dark-1:#12041a;--color-surface-dark-2:#16161e;--color-surface-dark-3:#250c33;--theme-primary:var(--color-purple-500);--theme-primary-light:var(--color-purple-200);--theme-primary-lighter:var(--color-purple-100);--theme-primary-dark:var(--color-purple-800);--theme-primary-darker:var(--color-purple-900);--theme-primary-darkest:var(--color-purple-950);--theme-accent:var(--color-purple-300);--theme-accent-light:#d0bcff;--theme-accent-dark:#361148;--theme-accent-muted:var(--color-purple-400);--theme-dropdown-bg-light:#e8def8;--theme-dropdown-bg-dark:var(--color-purple-700);--theme-dropdown-hover-light:var(--theme-accent-light);--theme-dropdown-hover-dark:var(--color-purple-600);--theme-glow:rgba(164, 140, 201, .4);--theme-gradient:linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-accent) 100%);--sl-color-accent:var(--theme-primary);--sl-color-accent-low:var(--theme-primary-dark);--sl-color-accent-high:var(--theme-primary-light);--color-bg-primary:var(--color-neutral-0);--color-bg-secondary:var(--color-neutral-50);--color-bg-tertiary:var(--theme-primary-darkest);--color-text-primary:var(--color-neutral-900);--color-text-secondary:var(--color-neutral-800);--color-text-muted:var(--color-neutral-300);--color-text-inverse:var(--color-neutral-0);--color-border-light:rgba(255, 255, 255, .1);--color-border-dark:rgba(0, 0, 0, .1);--header-glass-bg:rgba(255, 255, 255, .4);--header-glass-bg-dark:rgba(23, 23, 23, .9);--header-text-color:var(--color-neutral-1000);--header-text-color-dark:var(--color-neutral-0);--header-border-color:var(--sl-color-gray-5, rgba(128, 128, 128, .2));--header-hover-bg:var(--sl-color-gray-6, rgba(128, 128, 128, .1));--control-group-bg:rgba(240, 240, 240, .8);--control-group-bg-dark:rgba(40, 40, 40, .8);--dropdown-item-bg:var(--theme-dropdown-bg-light);--dropdown-item-text:var(--color-neutral-800);--dropdown-item-hover:var(--theme-dropdown-hover-light);--md3e-btn-bg:var(--sl-color-accent);--md3e-btn-hover-bg:var(--sl-color-accent-high);--md3e-btn-text:var(--color-neutral-0);--md3e-btn-gap:2px;--blog-bg-header:var(--color-neutral-0);--blog-bg-body:var(--color-neutral-0);--blog-text-primary:var(--theme-primary-darker);--blog-footer-bg:var(--theme-primary-darker);--hero-bg-1:var(--theme-primary-darkest);--hero-bg-2:var(--theme-accent-dark);--hero-bg-3:var(--color-surface-dark-3);--hero-bg-4:var(--color-surface-dark-1);--hero-accent:var(--theme-accent-muted);--hero-glow:var(--theme-glow);--launchpad-surface:rgba(20, 20, 30, .6);--launchpad-on-surface:var(--color-neutral-200);--launchpad-glass-bg:rgba(30, 30, 40, .4);--launchpad-glass-border:rgba(255, 255, 255, .1);--launchpad-search-bg:rgba(255, 255, 255, .08);--launchpad-search-border:rgba(255, 255, 255, .05);--glass-card-bg:linear-gradient(135deg, rgba(255, 255, 255, .15) 0%, rgba(255, 255, 255, .05) 100%);--glass-card-border:rgba(255, 255, 255, .12);--glass-card-shadow:0 20px 40px 0 rgba(0, 0, 0, .25);--glass-reflection:rgba(255, 255, 255, .08);--titanium-gradient:linear-gradient(180deg, #FFFFFF 0%, #F7F9FC 45%, #D0D4DB 50%, #ECEFF4 55%, #FFFFFF 100%);--title-gradient:var(--theme-gradient);--sl-color-bg-sidebar:transparent;--sl-color-bg-nav:transparent;--custom-contrast-text-color:var(--color-neutral-0);--material-surface-bg:rgba(255, 255, 255, .25);--material-surface-bg-hover:rgba(255, 255, 255, .35);--material-surface-border:rgba(255, 255, 255, .2);--material-surface-blur:blur(24px);--material-surface-shadow:0 4px 6px -1px rgba(0, 0, 0, .1), 0 12px 32px rgba(0, 0, 0, .08);--material-surface-shadow-hover:0 20px 45px rgba(0, 0, 0, .12), 0 10px 15px -3px rgba(0, 0, 0, .1);--material-texture:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");--material-blend-mode:overlay;--material-vellum-bg:rgba(255, 255, 255, .12);--material-vellum-bg-hover:rgba(255, 255, 255, .22);--material-vellum-border:rgba(255, 255, 255, .4);--material-vellum-blur:blur(40px);--material-vellum-shadow:0 4px 6px -1px rgba(0, 0, 0, .05), 0 10px 15px -3px rgba(0, 0, 0, .05);--material-vellum-shadow-hover:0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--vellum-blend-mode:soft-light;--dt-meta-color:var(--color-purple-500);--dt-title-gradient:linear-gradient(135deg, var(--color-purple-800) 30%, var(--color-purple-500) 100%);--dt-subtitle-en:rgba(0, 0, 0, .6);--dt-subtitle-cn:rgba(0, 0, 0, .8);--dt-divider:rgba(0, 0, 0, .2)}[data-theme=light]{--sl-color-bg:var(--color-neutral-0)!important;--sl-color-bg-nav:rgba(255, 255, 255, .9)!important;--sl-color-text:var(--color-neutral-900)!important;--sl-color-text-accent:var(--sl-color-accent)!important;--sl-color-hairline-light:rgba(0, 0, 0, .1)!important;--header-glass-bg:rgba(255, 255, 255, .4);--header-text-color:var(--color-neutral-1000);--control-group-bg:rgba(240, 240, 240, .8);--dropdown-item-bg:var(--theme-dropdown-bg-light);--dropdown-item-text:var(--color-neutral-800);--dropdown-item-hover:var(--theme-dropdown-hover-light);--md3e-btn-bg:var(--sl-color-accent);--md3e-btn-hover-bg:var(--sl-color-accent-low);--blog-bg-header:var(--color-neutral-0);--blog-bg-body:var(--color-neutral-0);--blog-text-primary:var(--theme-primary-darker)}[data-theme=dark]{--color-bg-primary:var(--color-neutral-950);--color-bg-secondary:var(--color-surface-dark-2);--color-text-primary:var(--color-neutral-200);--color-text-secondary:var(--color-neutral-300);--header-glass-bg:var(--header-glass-bg-dark);--header-text-color:var(--header-text-color-dark);--control-group-bg:var(--control-group-bg-dark);--dropdown-item-bg:var(--theme-dropdown-bg-dark);--dropdown-item-text:var(--theme-dropdown-bg-light);--dropdown-item-hover:var(--theme-dropdown-hover-dark);--md3e-btn-bg:var(--sl-color-accent);--md3e-btn-hover-bg:var(--sl-color-accent-high);--blog-bg-header:var(--color-neutral-950);--blog-bg-body:var(--color-surface-dark-2);--blog-text-primary:var(--theme-primary-lighter);--material-vellum-bg:rgba(20, 20, 35, .4);--material-vellum-bg-hover:rgba(30, 30, 50, .5);--material-vellum-border:rgba(255, 255, 255, .08);--material-vellum-shadow:0 10px 40px -10px rgba(0, 0, 0, .5);--material-vellum-shadow-hover:0 20px 50px -12px rgba(0, 0, 0, .6);--dt-meta-color:var(--color-purple-300);--dt-title-gradient:linear-gradient(135deg, #ffffff 30%, #b388ff 100%);--dt-subtitle-en:rgba(255, 255, 255, .5);--dt-subtitle-cn:rgba(255, 255, 255, .9);--dt-divider:rgba(255, 255, 255, .2)}.contrast-text{color:var(--custom-contrast-text-color);mix-blend-mode:difference}.gradient-text-purple{background:var(--title-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.gradient-text-titanium{background:var(--titanium-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}#nprogress .bar{background:var(--sl-color-accent)!important;height:3px!important;box-shadow:0 0 10px var(--sl-color-accent),0 0 5px var(--sl-color-accent)!important}#nprogress .peg{box-shadow:0 0 10px var(--sl-color-accent),0 0 5px var(--sl-color-accent)!important}#nprogress .spinner-icon{border-top-color:var(--sl-color-accent)!important;border-left-color:var(--sl-color-accent)!important}:root{--sl-nav-height:4.5rem;scrollbar-gutter:stable;--sl-sidebar-width:14rem;--sl-content-width:45rem;--custom-right-sidebar-width:13rem;--custom-right-sidebar-margin:1.6rem}h1,h2,h3,h4,h5,h6{font-weight:var(--custom-header-weight)!important}*{-webkit-tap-highlight-color:transparent}.sidebar-pane,.sidebar-content,nav.sidebar,aside{background-color:transparent!important;border-right:none!important}starlight-menu-button{display:none!important}[data-no-owl]>*{margin-top:0!important}#unique-blog-list-wrapper *+*{margin-top:revert-layer}#unique-blog-list-wrapper .ubl-filter-container>*,#unique-blog-list-wrapper .ubl-intro-card *,#unique-blog-list-wrapper .ubl-posts-list .i18n-block{margin-top:0!important}aside,aside *,[data-sidebar],[data-sidebar] *,.sidebar,.sidebar *,.sidebar-content,.sidebar-content *,#starlight__sidebar,#starlight__sidebar *,starlight-sidebar,starlight-sidebar *,nav[aria-label=Sidebar],nav[aria-label=Sidebar] *,nav[aria-label=主要],nav[aria-label=主要] *,.sidebar-pane,.sidebar-pane *,.scroll-wrapper,.scroll-wrapper *,[class*=sidebar],[class*=sidebar] *{scrollbar-width:none!important;-ms-overflow-style:none!important;scrollbar-color:transparent transparent!important}aside::-webkit-scrollbar,aside ::-webkit-scrollbar,[data-sidebar]::-webkit-scrollbar,[data-sidebar] ::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.sidebar ::-webkit-scrollbar,.sidebar-content::-webkit-scrollbar,.sidebar-content ::-webkit-scrollbar,#starlight__sidebar::-webkit-scrollbar,#starlight__sidebar ::-webkit-scrollbar,starlight-sidebar::-webkit-scrollbar,starlight-sidebar ::-webkit-scrollbar,nav[aria-label=Sidebar]::-webkit-scrollbar,nav[aria-label=Sidebar] ::-webkit-scrollbar,nav[aria-label=主要]::-webkit-scrollbar,nav[aria-label=主要] ::-webkit-scrollbar,.sidebar-pane::-webkit-scrollbar,.sidebar-pane ::-webkit-scrollbar,.scroll-wrapper::-webkit-scrollbar,.scroll-wrapper ::-webkit-scrollbar,[class*=sidebar]::-webkit-scrollbar,[class*=sidebar] ::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:0 0!important;-webkit-appearance:none!important}[data-theme=light]{--sl-color-bg:var(--color-neutral-0)!important;--sl-color-bg-nav:rgba(255, 255, 255, .9)!important;--sl-color-text:var(--color-neutral-900)!important;--sl-color-text-accent:var(--sl-color-accent)!important;--sl-color-hairline-light:rgba(0, 0, 0, .1)!important}[data-theme=light] .hero-html,[data-theme=light] .hero-content{color:var(--color-neutral-900)!important}[data-theme=light] .hero-html .tagline,[data-theme=light] .hero-content .tagline{color:var(--color-neutral-800)!important}[data-theme=light][data-template=splash]{background-color:var(--color-neutral-0)!important}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-group(nav-arrow-btn){animation-duration:.3s;animation-timing-function:cubic-bezier(.34,1.56,.64,1)}:root:not([data-lang-state]) .i18n-block[data-lang=en],:root[data-lang-state=zh] .i18n-block[data-lang=en],:root:not([data-lang-state]) .i18n-toc-item[data-lang=en],:root[data-lang-state=zh] .i18n-toc-item[data-lang=en]{display:none!important}:root[data-lang-state=en] .i18n-block[data-lang=zh],:root[data-lang-state=en] .i18n-toc-item[data-lang=zh]{display:none!important}:root:not([data-lang-state]) .i18n-block[data-lang=zh],:root:not([data-lang-state]) .i18n-toc-item[data-lang=zh],:root[data-lang-state=zh] .i18n-block[data-lang=zh],:root[data-lang-state=zh] .i18n-toc-item[data-lang=zh]{display:block;animation:i18n-fade-in .3s ease}:root[data-lang-state=en] .i18n-block[data-lang=en],:root[data-lang-state=en] .i18n-toc-item[data-lang=en]{display:block;animation:i18n-fade-in .3s ease}@keyframes i18n-fade-in{0%{opacity:0}to{opacity:1}}.pagination-links{margin-top:4rem;gap:1.5rem}.pagination-links a{position:relative;display:flex;flex-direction:column;justify-content:center;padding:1.5rem!important;min-height:5rem;text-decoration:none!important;background:#fff6!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4)!important;border-radius:16px!important;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008!important;gap:.5rem;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)!important}:global([data-theme=dark]) .pagination-links a{background:#1e1e1e66!important;border:1px solid rgba(255,255,255,.05)!important;box-shadow:0 4px 6px -1px #0003,0 2px 4px -1px #0000001a!important}.pagination-links a:hover{transform:translateY(-4px)!important;background:#fff9!important;border-color:var(--sl-color-accent)!important;box-shadow:0 12px 20px -5px rgba(var(--sl-color-accent-rgb),.15),0 4px 6px -2px rgba(var(--sl-color-accent-rgb),.1)!important}:global([data-theme=dark]) .pagination-links a:hover{background:#1e1e1e99!important;box-shadow:0 12px 20px -5px rgba(var(--sl-color-accent-rgb),.2),0 4px 6px -2px rgba(var(--sl-color-accent-rgb),.15)!important}.pagination-links a span:not(.link-title){font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--sl-color-gray-3)!important;font-weight:600}.pagination-links a .link-title{font-size:1.25rem!important;font-weight:700!important;color:var(--sl-color-text)!important;font-family:var(--font-serif)!important;line-height:1.3}.pagination-links a svg{position:absolute;top:50%;transform:translateY(-50%);color:var(--sl-color-accent);width:1.5rem!important;height:1.5rem!important;opacity:.7;transition:all .3s ease}.pagination-links a[rel=prev]{padding-left:3.5rem!important;align-items:flex-start}.pagination-links a[rel=prev] svg{left:1.2rem}.pagination-links a[rel=next]{padding-right:3.5rem!important;align-items:flex-end}.pagination-links a[rel=next] svg{right:1.2rem}.pagination-links a[rel=prev]:hover svg{transform:translate(-3px,-50%);opacity:1}.pagination-links a[rel=next]:hover svg{transform:translate(3px,-50%);opacity:1}