@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;size-adjust:108%;font-display:optional}@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;size-adjust:108%;font-display:optional}@font-face{font-family:EB Garamond;src:url(/fonts/eb-garamond-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;size-adjust:108%;font-display:optional}@font-face{font-family:"Noto Serif TC";src:url(/fonts/noto-serif-tc-chinese-traditional-400-normal.woff2) format("woff2");font-weight:400;font-display:optional}@font-face{font-family:"Noto Serif TC";src:url(/fonts/noto-serif-tc-chinese-traditional-700-normal.woff2) format("woff2");font-weight:700;font-display:optional}:root{--paper: #faf9f6;--ink: #1a1a1a;--ink-dim: #6e6b65;--hairline: rgba(26, 26, 26, .14);--accent: #587b60;--accent-wash: rgba(88, 123, 96, .09);--accent-hairline: rgba(88, 123, 96, .35);--code-panel: #f7f5f0;--code-inline: #f0eee8;--serif: "EB Garamond", "Noto Serif TC", "Noto Serif CJK TC", "Source Han Serif TC", "Songti TC", "PMingLiU", Georgia, serif;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", "Noto Sans CJK TC", "Heiti TC", sans-serif}pre[data-theme] span,code[data-theme] span{color:var(--shiki-light)}@media(prefers-color-scheme:dark){:root{--paper: #17161a;--ink: #e6e6e6;--ink-dim: #9a9a9a;--hairline: #2c2b30;--accent: #83b58c;--accent-wash: rgba(131, 181, 140, .12);--accent-hairline: rgba(131, 181, 140, .4);--code-panel: #201f24;--code-inline: #26252b}pre[data-theme] span,code[data-theme] span{color:var(--shiki-dark)}}:root[data-theme=dark]{--paper: #17161a;--ink: #e6e6e6;--ink-dim: #9a9a9a;--hairline: #2c2b30;--accent: #83b58c;--accent-wash: rgba(131, 181, 140, .12);--accent-hairline: rgba(131, 181, 140, .4);--code-panel: #201f24;--code-inline: #26252b}:root[data-theme=dark] pre[data-theme] span,:root[data-theme=dark] code[data-theme] span{color:var(--shiki-dark)}:root[data-theme=light]{--paper: #faf9f6;--ink: #1a1a1a;--ink-dim: #6e6b65;--hairline: rgba(26, 26, 26, .14);--accent: #587b60;--accent-wash: rgba(88, 123, 96, .09);--accent-hairline: rgba(88, 123, 96, .35);--code-panel: #f7f5f0;--code-inline: #f0eee8}:root[data-theme=light] pre[data-theme] span,:root[data-theme=light] code[data-theme] span{color:var(--shiki-light)}.theme-toggle{appearance:none;background:none;border:none;padding:0 .6rem;margin:0 0 0 .35rem;height:2rem;display:inline-flex;align-items:center;border-radius:999px;color:var(--ink-dim);cursor:pointer;line-height:1;transition:background-color .15s ease,color .15s ease}.theme-toggle svg{width:.875rem;height:.875rem;display:block}.theme-toggle:hover{background:var(--accent-wash);color:var(--ink)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle .icon-sun{display:none}@media(prefers-color-scheme:dark){.theme-toggle .icon-moon{display:none}.theme-toggle .icon-sun{display:block}}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=light] .theme-toggle .icon-moon{display:block}:root[data-theme=light] .theme-toggle .icon-sun{display:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;font-synthesis-style:none;line-break:strict;overflow-wrap:break-word}p,li,figcaption,blockquote{text-wrap:pretty}article blockquote{margin:1.6rem 0;padding:.15rem 0 .15rem 1.15rem;border-left:3px solid var(--accent-hairline);color:var(--ink-dim)}article blockquote>:first-child{margin-top:0}article blockquote>:last-child{margin-bottom:0}h1,h2,h3{text-wrap:balance}.phrased{word-break:keep-all;overflow-wrap:anywhere}a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hairline)}a:hover{color:var(--accent);border-bottom-color:var(--accent)}a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.reading-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:10}.wrap{max-width:1400px;margin:0 auto;padding:0 1.5rem}.wrap-read{max-width:792px}.layout{display:flex;gap:3rem;align-items:flex-start;justify-content:space-between}.layout main{flex:1;min-width:0;max-width:900px}.layout-read main{max-width:none}.wrap-full{max-width:1400px;width:100%;margin-left:auto;margin-right:auto;padding:0 1.5rem;display:flex;flex-direction:column}.page-shell-full{display:flex;flex-direction:column;align-items:stretch;height:100vh}.page-shell-full>.site-header,.page-shell-full>.site-footer{flex-shrink:0}.page-shell-full>.wrap{flex:1;min-height:0}.layout-full{flex:1;min-height:0;align-items:stretch}.layout-full main{max-width:none;display:flex;flex-direction:column;min-height:0}.layout-full main h1{font-size:1.25rem;margin-bottom:0}@media(max-width:720px){.layout{flex-direction:column;align-items:stretch}.layout main{max-width:none;min-width:0}}.site-header{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;padding:2.5rem 1.5rem 1.25rem;margin-bottom:2rem;border-bottom:1px solid var(--hairline)}.site-header .name{font-family:var(--serif);font-size:1.4rem;line-height:1.2;font-weight:400;margin:0}.site-header .name a{display:inline-flex;align-items:center;gap:.5rem;border-bottom:none}.brand-mark{border-radius:4px;flex-shrink:0}.site-nav{display:flex;gap:1.5rem;font-size:.9rem}.site-nav a{position:relative;border-bottom:none;color:var(--ink-dim);transition:color .15s ease}.site-nav a:hover{color:var(--accent)}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.4,0,.2,1)}.site-nav a:hover:after,.site-nav a:focus-visible:after,.site-nav a[aria-current]:after{transform:scaleX(1)}.site-nav a[aria-current]{color:var(--accent);font-weight:600}.label{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 .75rem}h1,h2,h3{font-family:var(--serif)}h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.25;margin:0 0 .5rem}.post-title{font-size:clamp(2rem,5vw,2.75rem);line-height:1.15}h2{font-size:1.3rem;margin:2rem 0 .75rem}.byline{font-family:var(--sans);color:var(--ink-dim);font-size:.85rem;margin:0 0 1.75rem;letter-spacing:.01em}.post-list{list-style:none;margin:1.25rem 0 0;padding:0}.post-list li{padding:1.6rem 0;border-bottom:1px solid var(--hairline);transition:background-color .2s ease}.post-list li:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.post-list li:last-child{border-bottom:none}.post-list .title{font-family:var(--serif);font-size:1.4rem;font-style:normal;font-weight:700;line-height:1.3;margin:0}.post-list .title a{border-bottom:none;transition:color .15s ease}.post-list .title a:hover{color:var(--accent)}.post-list p{font-family:var(--serif);color:var(--ink-dim);font-style:italic;font-size:1.05rem;margin:.4rem 0 0}.post-list p:not(.title):not(.meta){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.post-list .meta{font-family:var(--sans);font-style:normal;font-size:.85rem}.pagination{display:flex;justify-content:space-between;font-family:var(--sans);font-size:.9rem;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--hairline)}.pagination a{border-bottom:none;color:var(--ink-dim)}.pagination a:hover{color:var(--accent)}.pagination a[rel=next]{margin-left:auto}.sort-toggle{display:inline-flex;gap:.25rem;margin:0 0 1.75rem;padding:.2rem;border:1px solid var(--hairline);border-radius:999px;font-family:var(--sans);font-size:.85rem}.sort-toggle a{border-bottom:none;color:var(--ink-dim);padding:.3rem .85rem;border-radius:999px;transition:color .15s ease,background-color .15s ease}.sort-toggle a:hover{color:var(--ink)}.sort-toggle a[aria-current]{color:var(--ink);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-hairline);font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1.75rem}.tags a{font-family:var(--sans);border:1px solid var(--hairline);border-radius:999px;padding:.2rem .75rem;font-size:.8rem;color:var(--ink-dim);display:inline-block;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .15s ease}.tags a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash);transform:translateY(-1px)}.archive-year{font-size:1.5rem;margin:2.5rem 0 .5rem}.archive-year:first-of-type{margin-top:0}.archive-month{font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);margin:1.25rem 0 .5rem}.archive-list{list-style:none;margin:0 0 1.5rem;padding:0}.archive-list li{display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:0 1rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--hairline)}.archive-list time{font-family:var(--sans);font-size:.85rem;color:var(--ink-dim);font-variant-numeric:tabular-nums}.archive-list a{font-family:var(--serif);font-size:1.1rem;line-height:1.6;border-bottom:none}.archive-list a:hover{color:var(--accent)}.not-found-lede{font-size:1.15rem;line-height:1.7;color:var(--ink-dim);margin:.5rem 0 1.5rem}.not-found-ways{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 3rem;font-family:var(--sans);font-size:.9rem}.not-found-ways a{border:1px solid var(--hairline);border-bottom:1px solid var(--hairline);border-radius:999px;padding:.4rem 1rem;color:var(--ink)}.not-found-ways a:hover{border-color:var(--accent-hairline);background:var(--accent-wash);color:var(--accent)}.not-found-recent{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.08em;color:var(--ink-dim);margin:0}article{margin-top:.5rem;font-family:var(--serif);font-size:1.25rem;line-height:1.6}article a{color:var(--accent);border-bottom-color:var(--accent-hairline)}article a:hover{border-bottom-color:var(--accent);background:var(--accent-wash)}article p{margin:0 0 1.7rem}article h2{font-size:1.5rem;line-height:1.3;margin:2.75rem 0 1rem}article h3{font-size:1.25rem;margin:2rem 0 .75rem}.post-title+.byline{margin-top:.85rem}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--hairline);font-family:var(--sans)}.post-nav a{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;border:1px solid var(--hairline);border-radius:10px;border-bottom:1px solid var(--hairline);color:var(--ink);transition:border-color .15s ease,background-color .15s ease}.post-nav a:hover{border-color:var(--accent-hairline);background:var(--accent-wash)}.post-nav .post-nav__next{grid-column:2;text-align:right}.post-nav__label{font-size:.8rem;color:var(--ink-dim)}.post-nav__title{font-family:var(--serif);font-size:1.02rem;line-height:1.5;font-weight:600}@media(max-width:600px){.post-nav{grid-template-columns:1fr}.post-nav .post-nav__next{grid-column:1;text-align:left}}.post-nav+.related-reading{margin-top:2rem;padding-top:0;border-top:none}.related-reading{margin:3rem 0 0;padding-top:2rem;border-top:1px solid var(--hairline)}.related-reading h2{font-family:var(--sans);font-size:.8rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin:0}article hr{border:none;height:auto;margin:2.5rem 0;text-align:center}article hr:after{content:"\b7  \b7  \b7";color:var(--accent);letter-spacing:.5em;font-size:1.1rem}article table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.95em}article th,article td{border:none;border-bottom:1px solid var(--hairline);padding:.7rem 1rem .7rem 0;text-align:left;vertical-align:top}article thead th{border-bottom-color:var(--ink);font-size:.8em;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);font-weight:400;padding-bottom:.5rem}article tbody tr:last-child td{border-bottom:none}article figure{margin:2rem 0;overflow-x:auto;border:1px solid var(--hairline);border-radius:8px}article figure.diagram,article figure.chart{padding:1.25rem 1rem .75rem;color:var(--ink)}article figure.diagram svg text{fill:currentColor}article figure.diagram svg .node polygon,article figure.diagram svg .node ellipse,article figure.diagram svg .node path{fill:var(--accent-wash);stroke:var(--accent-hairline);stroke-linejoin:round}article figure.diagram svg .edge path{stroke:var(--ink-dim)}article figure.diagram svg .edge polygon{fill:var(--ink-dim);stroke:var(--ink-dim)}article figure.diagram svg text{font-family:var(--sans)}article figure.diagram svg .edge text{fill:var(--ink-dim)}article figure.diagram figcaption,article figure.chart figcaption{padding:.6rem 0 0;text-align:center;font-size:.85rem;color:var(--ink-dim)}article figure.demo-embed{padding:0;overflow:visible}article figure.demo-embed iframe{display:block}article img{display:block;max-width:100%;height:auto;margin:2rem auto;border:1px solid var(--hairline);border-radius:8px}article figure.demo-embed p{margin:.5rem 1rem;font-size:.85rem}article figure.demo-embed figcaption{padding:.6rem 1rem;border-top:1px solid var(--hairline);font-size:.85rem;color:var(--ink-dim)}article details{margin:1.5rem 0;padding:.7rem 1rem;border:1px solid var(--hairline);border-radius:8px}article details summary{cursor:pointer;list-style:none;font-weight:600}article details summary::-webkit-details-marker{display:none}article details summary:before{content:"\25b8";color:var(--ink-dim);margin-right:.5rem;display:inline-block;transition:transform .12s ease}article details[open]>summary:before{transform:rotate(90deg)}article details summary:hover{color:var(--accent)}article details>:not(summary):first-of-type{margin-top:.9rem}article pre{overflow-x:auto;padding:1.1rem 1.25rem;margin:0;background:var(--code-panel)!important;border-radius:8px;line-height:1.55;direction:ltr;unicode-bidi:isolate;text-align:left}article code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85em}article p>code,article li>code{background:var(--code-inline);padding:.1em .35em;border-radius:3px;direction:ltr;unicode-bidi:isolate}nav[aria-label=Languages]{color:var(--ink-dim);font-size:.9rem;margin-bottom:1.5rem}nav[aria-label=Languages] span{border-bottom:none}nav[aria-label=Languages] a{color:var(--accent);border-bottom:1px solid var(--accent-hairline);display:inline-block;padding:.55rem .55rem .1rem;margin:-.55rem -.55rem -.1rem}nav[aria-label=Languages] a:hover{border-bottom-color:var(--accent)}p[role=note]{color:var(--ink-dim);font-style:italic;font-size:.95rem}.tag-explorer{display:flex;gap:1.75rem;align-items:stretch;flex:1;min-height:0;margin:.25rem 0 0}.tag-explorer-tree{width:260px;flex-shrink:0;overflow-y:auto;min-height:0}.tag-explorer-graph{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}@media(max-width:720px){.page-shell-full{height:auto;min-height:100vh}.tag-explorer{flex-direction:column;flex:initial;align-items:stretch}.tag-explorer-tree{width:100%;overflow-y:visible}.tag-explorer-graph,.tag-explorer .tag-explorer-graph .tag-graph-figure{flex:initial}.tag-explorer .tag-explorer-graph .tag-graph{flex:initial;height:60vh;min-height:360px}}.tag-search{width:100%;font:inherit;font-size:.9rem;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:6px;padding:.45rem .65rem;margin:0 0 1rem;transition:border-color .15s ease}.tag-search:focus{border-color:var(--accent)}.tag-folder{border-top:1px solid var(--hairline);padding:.5rem 0}.tag-folder:last-child{border-bottom:1px solid var(--hairline)}.tag-folder summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:.5rem;font-family:var(--sans);font-size:.9rem}.tag-folder summary::-webkit-details-marker{display:none}.tag-folder-name:before{content:"\25b8";color:var(--ink-dim);margin-right:.4rem;display:inline-block;transition:transform .12s ease}.tag-folder[open]>summary .tag-folder-name:before{transform:rotate(90deg)}.tag-folder summary .meta{color:var(--ink-dim);font-size:.8rem;flex-shrink:0}.tag-folder ul{list-style:none;margin:.4rem 0 0;padding:0 0 0 1.1rem}.tag-folder li{padding:.3rem 0;font-size:.9rem}.tag-folder a{border-bottom:none;color:var(--ink-dim)}.tag-folder a:hover{color:var(--accent)}.tag-folder-view-all{font-weight:600;color:var(--ink)}.tag-folder a.is-search-match,.tag-folder-name.is-search-match{color:var(--accent);font-weight:600}.tag-graph-figure{margin:1.5rem 0 2rem;padding:1.25rem 1rem .75rem}.tag-graph-figure figcaption{padding:.6rem 0 0;text-align:center;font-size:.85rem;color:var(--ink-dim);flex-shrink:0}.tag-graph{height:480px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,black 48px,black calc(100% - 48px),transparent);mask-image:linear-gradient(to bottom,transparent,black 48px,black calc(100% - 48px),transparent)}.tag-explorer-graph .tag-graph-figure{margin:0;padding:0;display:flex;flex-direction:column;flex:1;min-height:0}.tag-explorer-graph .tag-graph{flex:1;min-height:0;height:auto;-webkit-mask-image:linear-gradient(to bottom,transparent,black 80px,black calc(100% - 80px),transparent);mask-image:linear-gradient(to bottom,transparent,black 80px,black calc(100% - 80px),transparent)}.tag-graph-svg{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.tag-graph-svg:active{cursor:grabbing}.graph-edge{stroke:var(--hairline);stroke-width:1;transition:opacity .15s ease}.graph-node-post circle{fill:var(--ink-dim)}.graph-node-tag rect{fill:none;stroke:var(--ink-dim);stroke-width:1.5;pointer-events:all}.graph-node-label{font-family:var(--sans);font-size:11px;fill:var(--ink-dim);pointer-events:none}.graph-node,.graph-node.is-dimmed{transition:opacity .15s ease}.graph-node.is-dimmed,.graph-edge.is-dimmed{opacity:.2}.graph-node circle,.graph-node rect{transition:fill .15s ease,stroke .15s ease,transform .2s cubic-bezier(.16,1,.3,1);transform-box:fill-box;transform-origin:center}.graph-node:hover circle,.graph-node:focus-visible circle,.graph-node.is-search-match circle{fill:var(--accent)}.graph-node:hover rect,.graph-node:focus-visible rect,.graph-node.is-search-match rect{fill:var(--accent-wash);stroke:var(--accent)}.graph-node:hover text,.graph-node:focus-visible text,.graph-node.is-search-match text{fill:var(--accent)}.has-js .graph-node{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.has-js .graph-node.is-dragging{cursor:grabbing}.sidebar{width:240px;flex-shrink:0}@media(max-width:720px){.sidebar{width:100%}}.widget{margin-bottom:2rem}.widget .label{margin-bottom:.6rem}.widget-list{list-style:none;margin:0;padding:0}.widget-list li{padding:.4rem 0;border-bottom:1px solid var(--hairline);font-size:.95rem}.widget-list li:last-child{border-bottom:none}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.tag-cloud a{border:1px solid var(--hairline);border-radius:999px;padding:.2rem .75rem;font-size:.8rem;color:var(--ink-dim);transition:color .15s ease,border-color .15s ease,background-color .15s ease}.tag-cloud a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.sidebar>.meta{color:var(--ink-dim);font-size:.85rem}#search-input{width:100%;font:inherit;font-size:.9rem;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:6px;padding:.45rem .65rem;transition:border-color .15s ease}#search-input:focus{border-color:var(--accent)}.search-results{list-style:none;margin:.6rem 0 0;padding:0}.search-results li{padding:.35rem 0;font-size:.9rem}.search-results a{border-bottom:none}.search-empty{color:var(--ink-dim);font-style:italic}.site-footer{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;margin-top:3rem;padding:1.25rem 1.5rem 4rem;border-top:1px solid var(--hairline);color:var(--ink-dim);font-size:.9rem}.site-footer a{border-bottom:none;color:var(--ink-dim);display:inline-block;padding:.6rem .5rem;margin:-.6rem -.5rem}.site-footer a:hover{color:var(--accent)}.site-footer__row{display:flex;flex-wrap:wrap;gap:.25rem 2rem}.wrap-read-docs{max-width:1144px}.wrap-read-docs .layout-read{display:flex;gap:2.5rem;align-items:flex-start}.wrap-read-docs .layout-read main{flex:0 1 760px;min-width:0}.doc-panel{flex:0 0 300px;position:sticky;top:1.5rem;max-height:calc(100vh - 3rem);overflow-y:auto;font-family:var(--sans);border-left:1px solid var(--hairline);padding-left:1.5rem}.doc-panel h2{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.doc-panel-note{font-size:.82rem;line-height:1.6;color:var(--muted);margin:.5rem 0 1.1rem}.doc-entry{border-top:1px solid var(--hairline);padding:.7rem 0}.doc-entry summary{cursor:pointer;list-style:none;display:block}.doc-entry summary::-webkit-details-marker{display:none}.doc-entry summary:before{content:"\25b8";color:var(--muted);margin-right:.4rem;display:inline-block;transition:transform .12s ease}.doc-entry[open]>summary:before{transform:rotate(90deg)}.doc-entry summary:hover .doc-title{color:var(--accent)}.doc-title{font-size:.9rem;font-weight:600;line-height:1.4}.doc-meta{display:block;font-size:.72rem;color:var(--muted);margin:.15rem 0 0 1.1rem}.doc-body{margin:.55rem 0 .3rem 1.1rem;font-size:.82rem;line-height:1.65}.doc-summary{color:var(--muted);margin:0 0 .5rem}.doc-loading,.doc-error{color:var(--muted);font-size:.8rem}.doc-content{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--hairline);font-size:.78rem;line-height:1.7}.doc-content h1,.doc-content h2,.doc-content h3{font-family:var(--sans);font-size:.84rem;font-weight:600;margin:1.4rem 0 .4rem}.doc-content h1{margin-top:0}.doc-content pre{font-size:.72rem;padding:.7rem .8rem;overflow-x:auto}.doc-content table{font-size:.72rem;display:block;overflow-x:auto}.doc-content img{max-width:100%}@media(max-width:1000px){.wrap-read-docs{max-width:792px}.wrap-read-docs .layout-read{flex-direction:column;align-items:stretch}.wrap-read-docs .layout-read main{flex:1 1 auto;max-width:none}.doc-panel{position:static;max-height:none;overflow-y:visible;border-left:none;border-top:1px solid var(--hairline);padding:1.5rem 0 0;margin:2.5rem 0 0;flex-basis:auto;width:100%}}article pre code,.doc-content pre code{display:block;width:max-content;min-width:100%;padding-right:1.25rem}article p>code,article li>code,article td>code,.doc-content code{overflow-wrap:anywhere}article table,.doc-content table{display:block;overflow-x:auto;max-width:100%}article a{overflow-wrap:anywhere}.toc{font-family:var(--sans);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:1.1rem 0;margin:2rem 0 2.5rem}.toc h2{font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem}.toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:2rem}.toc li{break-inside:avoid;margin:0 0 .35rem;font-size:.88rem;line-height:1.45}.toc a{border-bottom:none}.toc a:hover{color:var(--accent)}@media(max-width:560px){.toc ol{columns:1}}.doc-source-line,article p:has(>a[href^="#doc-"]){font-family:var(--sans);font-size:.8rem;color:var(--muted)}article p>a[href^="#doc-"]{border-bottom:none;color:var(--accent)}.doc-entry:target{background:color-mix(in srgb,var(--accent) 7%,transparent);border-radius:3px}article h2,article h3,.doc-entry,#doc-panel{scroll-margin-top:1.75rem}@media(prefers-reduced-motion:no-preference){:root{interpolate-size:allow-keywords}.doc-entry::details-content,.sort-menu::details-content,.tag-folder::details-content,article details::details-content{block-size:0;overflow:clip;transition:block-size .26s cubic-bezier(.32,.72,0,1),content-visibility .26s allow-discrete}.doc-entry[open]::details-content,.sort-menu[open]::details-content,.tag-folder[open]::details-content,article details[open]::details-content{block-size:auto}.doc-content{animation:doc-arrive .42s cubic-bezier(.4,0,.2,1) both;overflow:clip}@keyframes doc-arrive{0%{block-size:0;opacity:0}40%{opacity:0}}*,*:before,*:after{transition:background-color .25s ease,color .25s ease,border-color .25s ease,fill .25s ease,stroke .25s ease}.post-list li,.search-results:not([hidden]) li{animation:list-item-arrive .48s cubic-bezier(.16,1,.3,1) both}.search-results:not([hidden]) li{animation-duration:.32s}@keyframes list-item-arrive{0%{opacity:0;transform:translateY(8px)}}.post-list li:nth-child(1),.search-results li:nth-child(1){animation-delay:0ms}.post-list li:nth-child(2),.search-results li:nth-child(2){animation-delay:40ms}.post-list li:nth-child(3),.search-results li:nth-child(3){animation-delay:80ms}.post-list li:nth-child(4),.search-results li:nth-child(4){animation-delay:.12s}.post-list li:nth-child(5),.search-results li:nth-child(5){animation-delay:.16s}.post-list li:nth-child(6),.search-results li:nth-child(6){animation-delay:.2s}.post-list li:nth-child(7),.search-results li:nth-child(7){animation-delay:.24s}.post-list li:nth-child(8),.search-results li:nth-child(8){animation-delay:.28s}.post-list li:nth-child(n+9){animation-delay:.32s}.tag-folder{animation:list-item-arrive .38s cubic-bezier(.16,1,.3,1) both}.tag-folder:nth-child(1){animation-delay:0ms}.tag-folder:nth-child(2){animation-delay:25ms}.tag-folder:nth-child(3){animation-delay:50ms}.tag-folder:nth-child(4){animation-delay:75ms}.tag-folder:nth-child(5){animation-delay:.1s}.tag-folder:nth-child(n+6){animation-delay:125ms}article figure.chart,article figure.diagram{animation:figure-arrive .48s cubic-bezier(.16,1,.3,1) both}@keyframes figure-arrive{0%{opacity:0;transform:translateY(10px)}}figure.chart .chart-bar-positive,figure.chart .chart-bar-negative{transform-box:fill-box;animation:bar-grow .52s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 50ms)}figure.chart .chart-bar-positive{transform-origin:center bottom}figure.chart .chart-bar-negative{transform-origin:center top}@keyframes bar-grow{0%{transform:scaleY(0)}}figure.chart .chart-line{animation:chart-fade .42s ease both;animation-delay:calc(var(--i, 0) * .12s + .2s)}figure.chart .chart-point{transform-box:fill-box;transform-origin:center;animation:point-pop .38s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 35ms + .2s)}@keyframes chart-fade{0%{opacity:0}}@keyframes point-pop{0%{opacity:0;transform:scale(0)}}.graph-node{animation:node-fade .42s ease both;animation-delay:calc(var(--i, 0) * 18ms)}.graph-node circle,.graph-node rect{animation:node-pop .42s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i, 0) * 18ms)}.graph-edge{animation:edge-fade .42s ease both;animation-delay:calc(var(--i, 0) * 10ms)}@keyframes node-fade{0%{opacity:0}}@keyframes node-pop{0%{transform:scale(.3)}}@keyframes edge-fade{0%{opacity:0}}.graph-node:hover circle,.graph-node:focus-visible circle,.graph-node.is-search-match circle,.graph-node:hover rect,.graph-node:focus-visible rect,.graph-node.is-search-match rect{transform:scale(1.18)}}@media(max-width:720px){.sort-menu summary,.sort-menu nav a,.tag-folder summary,.pagination a{padding-block:.6rem}.sort-menu nav{margin-top:0}}
