.toc-desktop[data-astro-cid-p33bl5ka]{border-left:1px solid var(--color-border);flex-direction:column;width:fit-content;max-width:100%;max-height:calc(100svh - 140px);margin-inline:auto;display:flex;position:sticky;top:96px}.toc-scroll[data-astro-cid-p33bl5ka]{scrollbar-width:none;flex:1;min-height:0;padding-left:19px;overflow-y:auto}.toc-scroll[data-astro-cid-p33bl5ka]::-webkit-scrollbar{display:none}.toc-heading[data-astro-cid-p33bl5ka]{font-size:var(--text-xs);font-weight:var(--weight-label);letter-spacing:.04em;color:var(--color-muted);margin-bottom:12px}.toc-desktop[data-astro-cid-p33bl5ka] ul[data-astro-cid-p33bl5ka],.toc-panel[data-astro-cid-p33bl5ka] ul[data-astro-cid-p33bl5ka]{flex-direction:column;gap:8px;list-style:none;display:flex}.toc-desktop[data-astro-cid-p33bl5ka] li[data-astro-cid-p33bl5ka]{grid-template-rows:1fr;transition:grid-template-rows .3s,opacity .25s;display:grid}.toc-desktop[data-astro-cid-p33bl5ka] li[data-astro-cid-p33bl5ka].collapsed{opacity:0;pointer-events:none;grid-template-rows:0fr;margin-top:-8px}.toc-desktop[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{min-height:0;font-size:var(--text-xl);font-weight:var(--weight-label);color:var(--color-muted);line-height:1.55;transition:color .2s;display:block;position:relative;overflow:hidden}.toc-desktop[data-astro-cid-p33bl5ka] .toc-label[data-astro-cid-p33bl5ka]{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;display:-webkit-box;overflow:hidden}.toc-desktop[data-astro-cid-p33bl5ka] .toc-ink-line{background:linear-gradient(90deg, currentColor 0, currentColor 52%, color-mix(in srgb, currentColor 24%, transparent) calc(100% - 8px), transparent 100%);height:1.5px;filter:drop-shadow(0 0 2.5px color-mix(in srgb, currentColor 17%, transparent));pointer-events:none;will-change:width;border-radius:999px;position:absolute;overflow:hidden}.toc-desktop[data-astro-cid-p33bl5ka] .toc-ink-line:after{content:"";border-radius:inherit;background:linear-gradient(90deg, transparent 0, color-mix(in srgb, currentColor 30%, var(--color-canvas)) 55%, transparent 100%);opacity:0;width:18px;transition:opacity 80ms;position:absolute;top:0;bottom:0;right:0}.toc-desktop[data-astro-cid-p33bl5ka] .toc-ink-line.is-moving:after{opacity:1}.toc-desktop[data-astro-cid-p33bl5ka] .toc-ink-line.is-tip-fading:after{opacity:0}.toc-desktop[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:hover{color:var(--color-text)}.toc-desktop[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current{font-weight:600}.toc-desktop[data-astro-cid-p33bl5ka] .lv-0[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current,.toc-desktop[data-astro-cid-p33bl5ka] .lv-2[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current,.toc-desktop[data-astro-cid-p33bl5ka] .lv-4[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current{color:var(--color-accent-text)}.toc-desktop[data-astro-cid-p33bl5ka] .lv-1[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current,.toc-desktop[data-astro-cid-p33bl5ka] .lv-3[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current,.toc-desktop[data-astro-cid-p33bl5ka] .lv-5[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current{color:var(--color-contrast)}.toc-desktop[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka].is-current:before{content:"";background:currentColor;border-radius:2px;width:2px;position:absolute;top:2px;bottom:2px;left:-19px}@media (prefers-reduced-motion:reduce){.toc-desktop[data-astro-cid-p33bl5ka] li[data-astro-cid-p33bl5ka]{transition:none}}.toc-rail[data-astro-cid-p33bl5ka]{pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:-1px}.toc-rail-fill[data-astro-cid-p33bl5ka]{background:var(--color-accent);opacity:.45;border-radius:2px;width:100%;height:0%;transition:height .1s linear;display:block}.toc-percent[data-astro-cid-p33bl5ka]{font-size:var(--text-xs);font-weight:var(--weight-label);letter-spacing:.06em;color:var(--color-muted);flex-shrink:0;margin-top:14px;padding-left:19px}.toc-percent[data-astro-cid-p33bl5ka]:empty{display:none}.toc-desktop[data-astro-cid-p33bl5ka] .lv-1[data-astro-cid-p33bl5ka]{padding-left:14px}.toc-desktop[data-astro-cid-p33bl5ka] .lv-2[data-astro-cid-p33bl5ka],.toc-desktop[data-astro-cid-p33bl5ka] .lv-3[data-astro-cid-p33bl5ka],.toc-desktop[data-astro-cid-p33bl5ka] .lv-4[data-astro-cid-p33bl5ka],.toc-desktop[data-astro-cid-p33bl5ka] .lv-5[data-astro-cid-p33bl5ka]{padding-left:26px}.toc-desktop[data-astro-cid-p33bl5ka] .lv-0[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:not(.is-current){color:var(--color-accent-text)}.toc-desktop[data-astro-cid-p33bl5ka] .lv-1[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-lg)}.toc-desktop[data-astro-cid-p33bl5ka] .lv-2[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-md)}.toc-desktop[data-astro-cid-p33bl5ka] .lv-1[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:not(.is-current){color:color-mix(in oklab, var(--color-contrast) 88%, var(--color-muted))}.toc-desktop[data-astro-cid-p33bl5ka] .lv-2[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:not(.is-current){color:color-mix(in oklab, var(--color-accent-text) 78%, var(--color-muted))}.toc-desktop[data-astro-cid-p33bl5ka] .lv-3[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka],.toc-desktop[data-astro-cid-p33bl5ka] .lv-4[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka],.toc-desktop[data-astro-cid-p33bl5ka] .lv-5[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-sm)}.toc-desktop[data-astro-cid-p33bl5ka] .lv-3[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:not(.is-current){color:color-mix(in oklab, var(--color-contrast) 68%, var(--color-muted))}.toc-desktop[data-astro-cid-p33bl5ka] .lv-4[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:not(.is-current){color:color-mix(in oklab, var(--color-accent-text) 60%, var(--color-muted))}.toc-desktop[data-astro-cid-p33bl5ka] .lv-5[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:not(.is-current){color:color-mix(in oklab, var(--color-contrast) 55%, var(--color-muted))}.toc-mobile[data-astro-cid-p33bl5ka]{margin-bottom:24px}.toc-toggle[data-astro-cid-p33bl5ka]{width:100%;font-family:var(--font-ui);font-size:var(--text-md);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px 16px;font-weight:500;display:flex}.toc-chevron{margin-left:auto;transition:transform .25s}.toc-toggle[data-astro-cid-p33bl5ka][aria-expanded=true] .toc-chevron{transform:rotate(180deg)}.toc-panel[data-astro-cid-p33bl5ka]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:6px;padding:14px 18px}.toc-panel[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:16px;font-weight:var(--weight-label);color:var(--color-muted);padding:6px 0;display:block}.toc-panel[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]:hover{color:var(--color-accent-text)}.toc-panel[data-astro-cid-p33bl5ka] .lv-1[data-astro-cid-p33bl5ka]{padding-left:16px}.toc-panel[data-astro-cid-p33bl5ka] .lv-2[data-astro-cid-p33bl5ka],.toc-panel[data-astro-cid-p33bl5ka] .lv-3[data-astro-cid-p33bl5ka],.toc-panel[data-astro-cid-p33bl5ka] .lv-4[data-astro-cid-p33bl5ka],.toc-panel[data-astro-cid-p33bl5ka] .lv-5[data-astro-cid-p33bl5ka]{padding-left:30px}.toc-panel[data-astro-cid-p33bl5ka] .lv-0[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{color:var(--color-accent-text)}.toc-panel[data-astro-cid-p33bl5ka] .lv-1[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-lg);color:color-mix(in oklab, var(--color-contrast) 88%, var(--color-muted))}.toc-panel[data-astro-cid-p33bl5ka] .lv-2[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-md);color:color-mix(in oklab, var(--color-accent-text) 78%, var(--color-muted))}.toc-panel[data-astro-cid-p33bl5ka] .lv-3[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-sm);color:color-mix(in oklab, var(--color-contrast) 68%, var(--color-muted))}.toc-panel[data-astro-cid-p33bl5ka] .lv-4[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-sm);color:color-mix(in oklab, var(--color-accent-text) 60%, var(--color-muted))}.toc-panel[data-astro-cid-p33bl5ka] .lv-5[data-astro-cid-p33bl5ka] a[data-astro-cid-p33bl5ka]{font-size:var(--text-sm);color:color-mix(in oklab, var(--color-contrast) 55%, var(--color-muted))}.lightbox[data-astro-cid-ot6ntcxl]{z-index:200;-webkit-backdrop-filter:blur(10px);cursor:zoom-out;opacity:0;background:#0c0e0bbd;justify-content:center;align-items:center;padding:clamp(16px,5vw,64px);transition:opacity .24s;display:flex;position:fixed;inset:0}.lightbox[data-astro-cid-ot6ntcxl][hidden]{display:none}.lightbox[data-astro-cid-ot6ntcxl].open{opacity:1}.lightbox-figure[data-astro-cid-ot6ntcxl]{flex-direction:column;align-items:center;gap:14px;max-width:100%;max-height:100%;transition:transform .24s cubic-bezier(.22,.61,.36,1);display:flex;transform:scale(.96)}.lightbox[data-astro-cid-ot6ntcxl].open .lightbox-figure[data-astro-cid-ot6ntcxl]{transform:scale(1)}.lightbox-figure[data-astro-cid-ot6ntcxl] img[data-astro-cid-ot6ntcxl]{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:calc(100vh - 120px);box-shadow:0 32px 96px #0000006b}.lightbox-caption[data-astro-cid-ot6ntcxl]{font-size:var(--text-sm);font-weight:var(--weight-label);color:#ecede5bf}.lightbox-caption[data-astro-cid-ot6ntcxl]:empty{display:none}@media (prefers-reduced-motion:reduce){.lightbox[data-astro-cid-ot6ntcxl],.lightbox-figure[data-astro-cid-ot6ntcxl]{transition:none}}.toc-drawer-root[data-astro-cid-2vw56gzk]{display:none}@media (width>=768px) and (width<=1279px){.toc-drawer-root[data-astro-cid-2vw56gzk]{display:block}}.drawer-button[data-astro-cid-2vw56gzk]{z-index:90;width:44px;height:44px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-nav);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,border-color .2s,transform .2s;display:inline-flex;position:fixed;top:50%;right:20px;transform:translateY(-50%)}.drawer-button[data-astro-cid-2vw56gzk]:hover{color:var(--color-accent-text);border-color:var(--color-accent);transform:translateY(-50%)scale(1.05)}.drawer-overlay[data-astro-cid-2vw56gzk]{z-index:95;opacity:0;background:#1419142e;transition:opacity .25s;position:fixed;inset:0}html[data-theme=dark] .drawer-overlay[data-astro-cid-2vw56gzk]{background:#00000059}.drawer-overlay[data-astro-cid-2vw56gzk].is-open{opacity:1}.drawer-panel[data-astro-cid-2vw56gzk]{z-index:96;background:color-mix(in srgb, var(--color-surface) 72%, transparent);backdrop-filter:blur(18px)saturate(1.4);border-left:1px solid var(--color-border);width:min(320px,84vw);padding:22px 26px;transition:transform .3s cubic-bezier(.22,.61,.36,1);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-16px 0 48px #14191424}.drawer-panel[data-astro-cid-2vw56gzk].is-open{transform:translate(0)}.drawer-head[data-astro-cid-2vw56gzk]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.drawer-title[data-astro-cid-2vw56gzk]{font-size:var(--text-xs);font-weight:var(--weight-label);letter-spacing:.12em;color:var(--color-muted)}.drawer-close[data-astro-cid-2vw56gzk]{width:32px;height:32px;color:var(--color-muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.drawer-close[data-astro-cid-2vw56gzk]:hover{color:var(--color-text);background:var(--color-accent-soft)}.drawer-panel[data-astro-cid-2vw56gzk] ul[data-astro-cid-2vw56gzk]{flex-direction:column;gap:8px;list-style:none;display:flex}.drawer-panel[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]{font-size:16px;font-weight:var(--weight-label);color:var(--color-muted);line-height:1.55;transition:color .2s;display:block}.drawer-panel[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]:hover{color:var(--color-text)}.drawer-panel[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk].is-current{color:var(--color-accent-text);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:3px;font-weight:600}.drawer-panel[data-astro-cid-2vw56gzk] .lv-3[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk].is-current,.drawer-panel[data-astro-cid-2vw56gzk] .lv-4[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk].is-current,.drawer-panel[data-astro-cid-2vw56gzk] .lv-5[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk].is-current{color:color-mix(in oklab, var(--color-contrast) 72%, var(--color-text));text-decoration-color:var(--color-contrast)}.drawer-panel[data-astro-cid-2vw56gzk] .lv-1[data-astro-cid-2vw56gzk]{padding-left:16px}.drawer-panel[data-astro-cid-2vw56gzk] .lv-2[data-astro-cid-2vw56gzk],.drawer-panel[data-astro-cid-2vw56gzk] .lv-3[data-astro-cid-2vw56gzk],.drawer-panel[data-astro-cid-2vw56gzk] .lv-4[data-astro-cid-2vw56gzk],.drawer-panel[data-astro-cid-2vw56gzk] .lv-5[data-astro-cid-2vw56gzk]{padding-left:30px}.drawer-panel[data-astro-cid-2vw56gzk] .lv-0[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]:not(.is-current),.drawer-panel[data-astro-cid-2vw56gzk] .lv-1[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]:not(.is-current),.drawer-panel[data-astro-cid-2vw56gzk] .lv-2[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]:not(.is-current){color:var(--color-accent-text)}.drawer-panel[data-astro-cid-2vw56gzk] .lv-1[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]{font-size:var(--text-lg)}.drawer-panel[data-astro-cid-2vw56gzk] .lv-2[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]{font-size:var(--text-md)}.drawer-panel[data-astro-cid-2vw56gzk] .lv-3[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]:not(.is-current){font-size:var(--text-sm);color:var(--color-contrast)}.drawer-panel[data-astro-cid-2vw56gzk] .lv-4[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]:not(.is-current){font-size:var(--text-xs);color:color-mix(in oklab, var(--color-contrast) 80%, var(--color-muted))}.drawer-panel[data-astro-cid-2vw56gzk] .lv-5[data-astro-cid-2vw56gzk] a[data-astro-cid-2vw56gzk]:not(.is-current){font-size:var(--text-xs);color:color-mix(in oklab, var(--color-contrast) 65%, var(--color-muted))}.reading-progress[data-astro-cid-kw4rgypl]{z-index:150;background:0 0;height:2.5px;position:fixed;top:0;left:0;right:0}.progress-bar[data-astro-cid-kw4rgypl]{background:var(--color-accent);border-radius:0 2px 2px 0;width:0%;height:100%;transition:width .1s linear}.post-nav[data-astro-cid-e6ls2ulf]{grid-template-columns:1fr 1fr;gap:14px;margin-top:56px;display:grid}.nav-card[data-astro-cid-e6ls2ulf]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);flex-direction:column;gap:6px;padding:18px 20px;transition:border-color .25s,transform .25s;display:flex}.nav-card[data-astro-cid-e6ls2ulf]:hover{border-color:var(--color-accent);color:var(--color-text);transform:translateY(-2px)}.nav-card[data-astro-cid-e6ls2ulf].next{text-align:right;align-items:flex-end}.nav-label[data-astro-cid-e6ls2ulf]{font-size:var(--text-sm);font-weight:var(--weight-label);letter-spacing:.06em;color:var(--color-muted);align-items:center;gap:5px;display:inline-flex}.nav-title[data-astro-cid-e6ls2ulf]{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:16px;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.nav-date[data-astro-cid-e6ls2ulf]{font-size:var(--text-xs);font-weight:var(--weight-label);color:var(--color-muted)}@media (width<=640px){.post-nav[data-astro-cid-e6ls2ulf]{grid-template-columns:1fr}.nav-card[data-astro-cid-e6ls2ulf].next{text-align:left;align-items:flex-start}}.prose{max-width:var(--prose-max);color:var(--color-text);font-kerning:normal;text-spacing-trim:trim-start;text-autospace:normal;counter-reset:prose-table prose-figure;margin-inline:auto;font-size:17.5px;line-height:1.85;container-type:inline-size}.prose ::selection{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.prose>*+*{margin-top:1.4em}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{line-height:1.4}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--color-accent)}.prose h1{font-family:var(--font-display);border-bottom:1px solid var(--color-border);margin-top:2.2em;padding-bottom:.35em;font-size:1.7em;font-weight:700}.prose h2{font-family:var(--font-display);background:linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 45%, transparent), var(--color-hairline) 18%, transparent 92%) top / 100% 1px no-repeat;margin-top:2.4em;padding-top:.6em;font-size:1.45em;font-weight:700}.prose h3{font-family:var(--font-display);margin-top:2em;font-size:1.22em;font-weight:600}.prose h4{font-family:var(--font-ui);border-left:3px solid var(--color-accent);margin-top:1.8em;padding-left:.65em;font-size:1.02em;font-weight:600}.prose h5{font-family:var(--font-ui);letter-spacing:.04em;color:var(--color-accent-text);margin-top:1.6em;font-size:.92em;font-weight:600}.prose h6{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-top:1.5em;font-size:.78em;font-weight:500}.prose>:is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.prose p{text-align:justify;text-justify:inter-ideograph}.prose a{color:var(--color-accent-text);text-decoration:underline;text-decoration-color:var(--color-accent-soft);text-underline-offset:3px;text-decoration-thickness:1.5px}.prose a:hover{text-decoration-color:var(--color-accent)}.prose strong{font-weight:600}.prose ul,.prose ol{padding-left:1.5em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--color-accent)}.prose blockquote{border-left:3px solid var(--color-accent);color:var(--color-muted);font-family:var(--font-display);margin-inline:0;padding:.2em 0 .2em 1.4em;font-size:1.05em;font-style:normal;line-height:1.9}.prose blockquote p{text-align:left}.prose .alert{--alert-c:var(--color-steel);border-radius:var(--radius-block);background:color-mix(in srgb, var(--alert-c) 6.5%, transparent);box-shadow:inset 2.5px 0 0 var(--alert-c);margin-inline:0;padding:.85em 1.15em}.prose .alert-note{--alert-c:var(--color-steel)}.prose .alert-tip{--alert-c:var(--color-contrast)}.prose .alert-important{--alert-c:var(--color-accent)}.prose .alert-warning{--alert-c:var(--color-warning)}.prose .alert-caution{--alert-c:var(--color-danger)}.prose .alert>*+*{margin-top:.7em}.prose .alert-title{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.05em;color:var(--alert-c);align-items:center;gap:.5em;margin:0;font-weight:600;line-height:1.5;display:flex}.prose .alert-title .alert-icon{flex-shrink:0}.prose details.alert{padding:0}.prose details.alert summary.alert-title{cursor:pointer;user-select:none;padding:.85em 1.15em;list-style:none}.prose details.alert summary::-webkit-details-marker{display:none}.prose details.alert summary:focus-visible{outline:2px solid var(--alert-c);outline-offset:-2px;border-radius:var(--radius-block)}.prose details.alert .alert-chevron{margin-left:auto;transition:transform .2s}.prose details.alert[open] .alert-chevron{transform:rotate(-180deg)}.prose details.alert .alert-body{padding:0 1.15em .95em}.prose details.alert .alert-body>*+*{margin-top:.7em}.prose hr{background:linear-gradient(90deg, transparent, var(--color-hairline) 20%, var(--color-hairline) 80%, transparent);border:none;height:1px;margin-block:2.5em}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--color-well);border-radius:var(--radius-inline);box-shadow:inset 0 0 0 1px var(--color-hairline);color:color-mix(in srgb, var(--color-accent-text) 70%, var(--color-text));word-break:break-word;padding:.12em .4em;font-size:.82em}.prose pre{border-radius:var(--radius-block);background:var(--color-well);box-shadow:var(--shadow-well);font-size:var(--text-sm);padding:1.1em 1.3em;line-height:1.7;overflow-x:auto}.prose pre.astro-code{background-color:var(--color-well);padding-top:2.1em;position:relative}.prose pre.astro-code:before{content:attr(data-language);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-label);letter-spacing:.08em;color:var(--color-muted);opacity:.65;position:absolute;top:.75em;right:3.2em}.prose .code-copy-btn{border:1px solid var(--color-border);background:var(--color-surface);width:24px;height:24px;color:var(--color-muted);cursor:pointer;opacity:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:opacity .18s,color .18s,border-color .18s;display:inline-flex;position:absolute;top:.55em;right:.65em}.prose .code-copy-btn svg{width:13px;height:13px}.prose pre.astro-code:hover .code-copy-btn,.prose pre.astro-code:focus-within .code-copy-btn{opacity:1}.prose .code-copy-btn:hover{color:var(--color-text);border-color:var(--color-muted)}.prose .code-copy-btn.copied{opacity:1;color:var(--color-contrast);border-color:var(--color-contrast)}.prose .mermaid-figure{border-radius:var(--radius-block);background:var(--color-well);box-shadow:var(--shadow-well);margin:1.6em 0;padding:0;position:relative}.prose .mermaid-chrome{z-index:2;align-items:center;gap:6px;display:flex;position:absolute;top:.55em;right:.65em}.prose .mermaid-badge{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-label);letter-spacing:.08em;color:var(--color-muted);opacity:.65;padding-right:2px}.prose .mmd-btn{border:1px solid var(--color-border);background:var(--color-surface);width:24px;height:24px;color:var(--color-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s;display:inline-flex;position:relative}.prose .mmd-btn:hover{color:var(--color-text);border-color:var(--color-muted)}.prose .mmd-btn .mmd-ic{place-items:center;transition:opacity .18s,transform .22s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;inset:0}.prose .mmd-btn .mmd-ic svg{width:13px;height:13px}.prose .mermaid-figure[data-view=diagram] .mmd-toggle .ic-img,.prose .mermaid-figure[data-view=code] .mmd-toggle .ic-code{opacity:0;transform:rotate(-40deg)scale(.6)}.prose .mmd-copy .ic-check{opacity:0;transform:scale(.6)}.prose .mmd-copy.copied{color:var(--color-contrast);border-color:var(--color-contrast)}.prose .mmd-copy.copied .ic-check{opacity:1;transform:scale(1)}.prose .mmd-copy.copied .ic-copy{opacity:0;transform:scale(.6)}.prose .mermaid-canvas{justify-content:center;padding:2.6em 1.3em 1.2em;display:flex;overflow-x:auto}.prose .mermaid-canvas svg{max-width:100%;height:auto}.prose .mermaid-svg-dark,html[data-theme=dark] .prose .mermaid-svg-light{display:none}html[data-theme=dark] .prose .mermaid-svg-dark{display:block}.prose .mermaid-figure .mermaid-source{box-shadow:none;background:0 0;border:0;border-radius:0;margin:2.2em 0 0;display:none}.prose .mermaid-figure .mermaid-source:before{content:none}.prose .mermaid-figure[data-view=code] .mermaid-canvas{display:none}.prose .mermaid-figure[data-view=code] .mermaid-source{display:block}@media (prefers-reduced-motion:no-preference){.prose .mermaid-figure[data-view=diagram] .mermaid-canvas,.prose .mermaid-figure[data-view=code] .mermaid-source{animation:.24s cubic-bezier(.22,1,.36,1) mmd-view-in}}@keyframes mmd-view-in{0%{opacity:0;transform:translateY(4px)}}@media (hover:none){.prose .code-copy-btn{opacity:.75}}.prose pre.astro-code span{color:var(--shiki-light)}html[data-theme=dark] .prose pre.astro-code span{color:var(--shiki-dark)}.prose pre code{font-family:var(--font-mono);color:var(--color-text);background:0 0;padding:0}.prose .table-wrap{counter-increment:prose-table;margin-block:1.8em}.prose .table-wrap:before{content:"TABLE " counter(prose-table, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-label);letter-spacing:.14em;color:var(--color-muted);margin-bottom:.55em;display:block}.prose .table-frame{border-radius:var(--radius-block);background:var(--color-card);outline:1px solid var(--color-hairline);outline-offset:-1px;position:relative;overflow:hidden}.prose .table-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;overflow-x:auto}.prose .table-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--radius-block)}.prose table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:.9em;line-height:1.7}.prose th,.prose td{text-align:start;vertical-align:top;padding:.7em 1em}.prose :is(th,td)[align=center]{text-align:center}.prose :is(th,td)[align=right]{text-align:right}.prose th{font-family:var(--font-ui);letter-spacing:.04em;white-space:nowrap;color:var(--color-contrast);background:color-mix(in srgb, var(--color-contrast) 9%, var(--color-card));border-bottom:1.5px solid color-mix(in srgb, var(--color-contrast) 70%, transparent);padding-block:.62em;font-size:.94em;font-weight:600}.prose td{background:var(--color-card);min-width:7em;transition:background-color .15s}.prose tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--color-text) 2.5%, var(--color-card))}.prose tbody tr:hover td{background:color-mix(in srgb, var(--color-contrast) 5%, var(--color-card))}.prose td:first-child{min-width:0;font-weight:600}.prose td:has(>code:only-child),.prose td code{white-space:nowrap}.prose td[align]{white-space:nowrap;min-width:0}.prose :is(th,td):first-child{z-index:1;position:sticky;left:0}.prose .table-wrap:is([data-scroll=mid],[data-scroll=end]) :is(th,td):first-child{box-shadow:6px 0 10px -6px color-mix(in srgb, var(--color-text) 28%, transparent)}.prose .table-frame:before,.prose .table-frame:after{content:"";z-index:2;pointer-events:none;opacity:0;width:28px;transition:opacity .2s;position:absolute;top:0;bottom:0}.prose .table-frame:before{background:linear-gradient(to right, color-mix(in srgb, var(--color-text) 14%, transparent), transparent);left:0}.prose .table-frame:after{background:linear-gradient(to left, color-mix(in srgb, var(--color-text) 14%, transparent), transparent);right:0}.prose .table-wrap:is([data-scroll=mid],[data-scroll=end]) .table-frame:before,.prose .table-wrap:is([data-scroll=start],[data-scroll=mid]) .table-frame:after{opacity:1}.prose .table-wrap[data-scroll]:after{content:"← 左右滑动查看 →";font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-muted);text-align:right;margin-top:.4em;transition:opacity .3s;display:block}.prose .table-wrap[data-scroll]:not([data-scroll=start]):after{opacity:0}@container (width<=560px){.prose th{white-space:normal}.prose td{min-width:6em}.prose td:first-child{min-width:5.5em}.prose table:has(th:nth-child(4)) td:not([align]){min-width:9em}}.prose img{border-radius:var(--radius-block);box-shadow:var(--shadow-figure);cursor:zoom-in;margin-inline:auto;transition:box-shadow .25s,transform .25s}.prose img:hover{box-shadow:var(--shadow-figure-hover);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.prose img{transition:none}.prose img:hover{transform:none}}.prose figure{margin:2em 0}.prose figure:has(>figcaption){counter-increment:prose-figure}.prose figcaption{text-align:center;font-size:var(--text-lg);color:var(--color-muted);margin-top:10px;font-style:italic;line-height:1.6}.prose figcaption:before{content:"FIG. " counter(prose-figure, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-label);letter-spacing:.14em;color:var(--color-accent);margin-right:.8em}.prose .katex{font-size:1.05em}.prose .katex-display{padding:.5em .2em;overflow:auto hidden}.prose .katex-display>.katex{white-space:nowrap}.prose .footnotes{background:linear-gradient(90deg, var(--color-hairline), transparent 70%) top / 100% 1px no-repeat;color:var(--color-muted);margin-top:3em;padding-top:1.5em;font-size:.88em}.prose .footnotes ol{padding-left:1.2em}.prose sup a{font-family:var(--font-mono);font-size:.75em;text-decoration:none}.prose a[data-footnote-ref]{padding-inline:2px}@media (width<=640px){.prose{font-size:16.5px}}.article-stage[data-astro-cid-vt34qafq]{min-height:clamp(360px,46vw,520px);padding:calc(var(--nav-height) + 56px) clamp(20px, 5vw, 48px) 128px;background:var(--color-canvas);--astg-fg:var(--color-text);--astg-fg-2:var(--color-accent-text);--astg-fg-m:var(--color-muted);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.article-stage[data-astro-cid-vt34qafq]:not(.has-cover){min-height:clamp(280px,34vw,380px)}.article-stage[data-astro-cid-vt34qafq][data-img-mode=on-dark]:has(.stage-backdrop.is-loaded){--astg-fg:#f2f3ec;--astg-fg-2:color-mix(in oklab, var(--color-accent) 50%, #fff);--astg-fg-m:#f2f3ecc7}.article-stage[data-astro-cid-vt34qafq][data-img-mode=on-light]:has(.stage-backdrop.is-loaded){--astg-fg:#1b1d1a;--astg-fg-2:color-mix(in oklab, var(--color-accent-text) 78%, #1b1d1a);--astg-fg-m:#1b1d1abd}html[data-theme=dark] .article-stage[data-astro-cid-vt34qafq][data-img-mode]:has(.stage-backdrop.is-loaded){--astg-fg:#f2f3ec;--astg-fg-2:color-mix(in oklab, var(--color-accent) 50%, #fff);--astg-fg-m:#f2f3ecc7}.article-title[data-astro-cid-vt34qafq],.article-desc[data-astro-cid-vt34qafq],.article-meta[data-astro-cid-vt34qafq]{transition:color .3s}.stage-backdrop[data-astro-cid-vt34qafq]{position:absolute;inset:0}.stage-img[data-astro-cid-vt34qafq]{object-fit:cover;width:100%;height:100%}.stage-scrim[data-astro-cid-vt34qafq]{background:linear-gradient(to bottom, var(--color-overlay) 0%, transparent 35%, var(--color-canvas) 98%);position:absolute;inset:0}html[data-theme=dark] .article-stage[data-astro-cid-vt34qafq]:not([data-img-mode]) .stage-scrim[data-astro-cid-vt34qafq]{background:linear-gradient(to bottom, var(--color-overlay) 0%, #1719164d 45%, var(--color-canvas) 98%)}.article-stage[data-astro-cid-vt34qafq][data-img-mode=on-dark] .stage-scrim[data-astro-cid-vt34qafq]{background:linear-gradient(to bottom, rgba(18, 20, 17, calc(var(--img-scrim,.35) * .6)) 0%, rgba(18, 20, 17, var(--img-scrim,.35)) 45%, rgba(18, 20, 17, calc(var(--img-scrim,.35) * .8)) 68%, var(--color-canvas) 98%)}.article-stage[data-astro-cid-vt34qafq][data-img-mode=on-light] .stage-scrim[data-astro-cid-vt34qafq]{background:linear-gradient(to bottom, rgba(244, 245, 241, calc(var(--img-scrim,.35) * .5)) 0%, rgba(244, 245, 241, var(--img-scrim,.35)) 45%, rgba(244, 245, 241, calc(var(--img-scrim,.35) * .75)) 68%, var(--color-canvas) 98%)}html[data-theme=dark] .article-stage[data-astro-cid-vt34qafq][data-img-mode] .stage-scrim[data-astro-cid-vt34qafq]{background:linear-gradient(to bottom, rgba(18, 20, 17, calc(var(--img-scrim-dark,.45) * .6)) 0%, rgba(18, 20, 17, var(--img-scrim-dark,.45)) 45%, rgba(18, 20, 17, calc(var(--img-scrim-dark,.45) * .8)) 68%, var(--color-canvas) 98%)}.article-wrap[data-astro-cid-vt34qafq]{z-index:10;position:relative}.article-card{width:100%}.article-layout[data-astro-cid-vt34qafq]{display:block}.article-aside[data-astro-cid-vt34qafq]{display:none}@media (width>=1280px){.shell-container[data-astro-cid-vt34qafq].article-wrap{max-width:1464px}.article-layout[data-astro-cid-vt34qafq]{grid-template-columns:minmax(0,1fr) 280px;gap:64px;display:grid}.article-card{max-width:none}.article-aside[data-astro-cid-vt34qafq]{margin-top:clamp(-72px,-5vw,-40px);padding-top:clamp(24px,5vw,56px);display:block}.article-card .toc-mobile{display:none}}@media (width>=768px) and (width<=1279px){.article-card .toc-mobile{display:none}}.article-header[data-astro-cid-vt34qafq]{z-index:1;text-align:center;max-width:760px;margin-inline:auto;position:relative}.article-breadcrumb[data-astro-cid-vt34qafq]{margin-bottom:18px}.crumb-category[data-astro-cid-vt34qafq]{font-size:var(--text-sm);font-weight:var(--weight-label);letter-spacing:.05em;color:var(--color-contrast);background:var(--color-contrast-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 13px;display:inline-flex}.crumb-category[data-astro-cid-vt34qafq]:hover{color:var(--color-text)}.article-title[data-astro-cid-vt34qafq]{color:var(--astg-fg,var(--color-text));overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(30px,5vw,44px);font-weight:700;line-height:1.4}.article-desc[data-astro-cid-vt34qafq]{max-width:620px;font-size:var(--text-lg);color:var(--astg-fg-m,var(--color-muted));margin:16px auto 0;line-height:1.8}.article-meta[data-astro-cid-vt34qafq]{font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--astg-fg-m,var(--color-muted));flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:20px;display:flex}.meta-item[data-astro-cid-vt34qafq]{align-items:center;gap:6px;display:inline-flex}.article-tags[data-astro-cid-vt34qafq]{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;list-style:none;display:flex}.tag-pill[data-astro-cid-vt34qafq]{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:var(--text-sm);font-weight:var(--weight-label);color:var(--color-muted);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:999px;padding:4px 12px;transition:color .2s,border-color .2s;display:inline-block;overflow:hidden}.tag-pill[data-astro-cid-vt34qafq]:hover{color:var(--color-accent-text);border-color:var(--color-accent)}
