.error-fallback[data-astro-cid-jwuj6ym6]{max-width:42rem;margin:2rem auto;padding:2rem;background:var(--color-bg-secondary, #f8f9fa);border:1px solid var(--color-border, #dee2e6);border-radius:.5rem;text-align:center}.error-fallback-icon[data-astro-cid-jwuj6ym6]{font-size:3rem;margin-bottom:1rem}.error-fallback[data-astro-cid-jwuj6ym6] h2[data-astro-cid-jwuj6ym6]{margin:0 0 1rem;font-size:1.5rem;color:var(--color-text-primary, #212529)}.error-fallback-message[data-astro-cid-jwuj6ym6]{margin:0 0 1.5rem;color:var(--color-text-secondary, #6c757d);line-height:1.6}.error-fallback-details[data-astro-cid-jwuj6ym6]{margin:1.5rem 0;text-align:left}.error-fallback-details[data-astro-cid-jwuj6ym6] summary[data-astro-cid-jwuj6ym6]{cursor:pointer;font-weight:500;color:var(--color-text-secondary, #6c757d);padding:.5rem}.error-fallback-details[data-astro-cid-jwuj6ym6] summary[data-astro-cid-jwuj6ym6]:hover{color:var(--color-text-primary, #212529)}.error-fallback-details[data-astro-cid-jwuj6ym6] pre[data-astro-cid-jwuj6ym6]{margin:1rem 0 0;padding:1rem;background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #dee2e6);border-radius:.25rem;overflow-x:auto;font-size:.875rem;line-height:1.5}.error-fallback-stack[data-astro-cid-jwuj6ym6]{max-height:15rem;overflow-y:auto}.error-fallback-hint[data-astro-cid-jwuj6ym6]{margin:1.5rem 0 0;font-size:.875rem;color:var(--color-text-secondary, #6c757d)}.error-fallback-hint[data-astro-cid-jwuj6ym6] code[data-astro-cid-jwuj6ym6]{padding:.125rem .375rem;background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #dee2e6);border-radius:.25rem;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;font-size:.875em}body.article-page{--article-panel-bg: color-mix(in srgb, var(--surface) 74%, var(--bg-alt) 26%);--article-panel-muted: color-mix(in srgb, var(--bg-alt) 82%, var(--surface) 18%);--article-panel-border: color-mix(in srgb, var(--border) 78%, transparent);--article-panel-border-soft: color-mix(in srgb, var(--border-soft) 88%, transparent);--article-panel-shadow: 0 1px 2px color-mix(in srgb, var(--text) 4%, transparent);--article-panel-shadow-hover: 0 8px 22px color-mix(in srgb, var(--text) 8%, transparent);--article-accent-soft: color-mix(in srgb, var(--link) 9%, transparent);--article-accent-border: color-mix(in srgb, var(--link) 28%, var(--border) 72%);--article-radius: 8px;--article-radius-sm: 5px}.article-shell,.article-footer{max-width:var(--article-width);margin-left:auto;margin-right:auto}.article-shell{padding-top:1.8rem}.article-shell,.article-content{overflow-x:visible}.article-header{position:relative;margin-bottom:var(--space-4);padding-bottom:1.25rem;border-bottom:0}.article-header:after{position:absolute;right:0;bottom:0;left:0;height:2px;border-radius:999px;background:var(--header-accent-rule);opacity:.94;content:""}.article-header h1{max-width:42rem;margin:0;color:var(--text);font-size:clamp(1.85rem,1.55rem + .9vw,2.2rem);font-weight:600;line-height:1.24;letter-spacing:0}.article-header .article-meta{font-size:.8rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:.48rem .54rem;margin-top:.78rem}.meta-item{display:inline-flex;align-items:center;min-height:1.28rem;gap:.28rem;padding:0;border:0;border-radius:0;background:transparent;line-height:1.35}.meta-item svg{flex:0 0 auto;stroke:currentColor}.meta-reading-stats,.meta-solar-term,.meta-weather{font-variant-numeric:tabular-nums}.meta-dot{color:var(--text-muted);opacity:.58}.meta-weather.is-loading,.meta-weather.has-error{color:var(--text-muted)}.tags-array{display:inline-flex;align-items:center;gap:0;font-family:var(--font-mono);font-size:.85em;line-height:1;letter-spacing:0}.tags-bracket,.tags-quote,.tags-comma{color:color-mix(in srgb,var(--text-muted) 72%,transparent)}.tags-list{display:inline-flex;align-items:center;gap:0;flex-wrap:wrap}.tags-item{color:inherit;text-decoration:none;padding:0;margin:0;display:inline}.tags-item:hover{color:var(--link)}.tags-item:focus-visible{outline:2px solid var(--link);outline-offset:2px}.article-header .article-meta a{color:inherit;text-decoration:none}.article-header .article-meta a:hover{color:var(--link)}.article-body{color:var(--text-body);font-size:16px;line-height:1.78;font-family:var(--font)}.article-content :is(h1,h2,h3,h4,h5,h6,p,li){line-break:strict}.article-body p{margin:.95rem 0}.article-content a{color:var(--link);text-decoration-color:color-mix(in srgb,currentColor 32%,transparent);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color var(--motion-fast) var(--motion-ease),text-decoration-color var(--motion-fast) var(--motion-ease)}.article-content a:hover{color:var(--link-hover);text-decoration-color:currentColor}.article-content del{color:var(--text-muted);text-decoration-color:color-mix(in srgb,var(--text-muted) 58%,transparent)}.article-content mark{padding:.02em .24em .08em;border-radius:4px;background:color-mix(in srgb,var(--link) 14%,var(--surface-muted) 86%);color:inherit}.article-content :not(pre)>code,.article-content .article-file-path{border:1px solid var(--border-soft);border-radius:5px;background:color-mix(in srgb,var(--code-bg) 82%,var(--surface) 18%);color:color-mix(in srgb,var(--link) 70%,var(--text) 30%);font-family:var(--font-mono);font-size:.86em;line-height:1.55;transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),background-color var(--motion-base) var(--motion-ease)}.article-content :not(pre)>code{padding:.16em .38em}.article-content .article-file-path{display:inline-flex;max-width:100%;align-items:center;padding:.16em .38em;overflow-wrap:anywhere}.article-content :not(pre)>code:hover,.article-content .article-file-path:hover{border-color:var(--article-accent-border)}.article-content kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.85em;min-height:1.62em;margin:0 .06em;padding:.08em .48em .12em;border:1px solid color-mix(in srgb,var(--border) 82%,var(--text) 18%);border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,white 2%),color-mix(in srgb,var(--surface-muted) 72%,var(--surface) 28%));box-shadow:inset 0 1px color-mix(in srgb,white 72%,transparent),inset 0 -1px color-mix(in srgb,var(--text) 8%,transparent),0 1px color-mix(in srgb,var(--text) 18%,transparent),0 2px 3px color-mix(in srgb,var(--text) 8%,transparent);color:color-mix(in srgb,var(--text) 86%,var(--text-muted) 14%);font-family:-apple-system,BlinkMacSystemFont,var(--font);font-size:.8em;font-weight:600;line-height:1.15;letter-spacing:0;vertical-align:.04em;white-space:nowrap}.article-content ul:not(.contains-task-list):not(.article-steps):not(.article-timeline):not(.file-tree),.article-content ol:not(.article-steps):not(.footnotes-list){margin:.95rem 0}.article-content ul:not(.contains-task-list):not(.article-steps):not(.article-timeline):not(.file-tree){padding-left:1.32rem;list-style:disc}.article-content ol:not(.article-steps):not(.footnotes-list){padding-left:1.32rem}.article-content li:not(.footnotes-item):not(.article-timeline-item):not(.file-tree-item){margin-top:.42rem;margin-bottom:0;line-height:1.68}.article-content ol:not(.article-steps):not(.footnotes-list)>li::marker{color:var(--text-muted);font-weight:600}.article-content li:not(.footnotes-item)>:is(ul,ol){margin:8px 0 0}.article-content h2{margin:3.1rem 0 var(--space-2);border-top:1px solid var(--border-soft);padding-top:1.35rem;padding-left:0;border-left:0;color:var(--text);font-size:1.48rem;font-weight:600;line-height:1.36;letter-spacing:0}.article-content h2:first-child,.article-content>h2:first-of-type{margin-top:0;border-top:0;padding-top:0}.article-content h3{margin:var(--space-4) 0 .65rem;color:var(--text);font-size:1.18rem;font-weight:600;line-height:1.42;letter-spacing:0}.article-content h4{margin:var(--space-3) 0 var(--space-1);color:var(--text);font-size:1rem;font-weight:600;line-height:1.5}.article-heading{scroll-margin-top:1.25rem}.article-heading-anchor{text-decoration:none}.article-content blockquote{margin:1.15rem 0 1.3rem;border:1px solid var(--article-panel-border-soft);border-left:3px solid color-mix(in srgb,var(--link) 62%,var(--border) 38%);padding:.72rem .9rem .76rem;background:color-mix(in srgb,var(--link) 5%,var(--article-panel-muted) 95%);color:var(--text-body);border-radius:0 var(--article-radius-sm) var(--article-radius-sm) 0;font-size:.96rem;line-height:1.75;transition:border-color var(--motion-base) var(--motion-ease),background-color var(--motion-base) var(--motion-ease)}.article-content blockquote:hover{border-left-color:color-mix(in srgb,var(--link) 78%,var(--border) 22%)}.article-content blockquote p:last-child{margin-bottom:0}.article-content .article-lead{margin:1.35rem 0 1.65rem;padding:.86rem 1rem .92rem;border-left:3px solid color-mix(in srgb,var(--link) 62%,var(--border) 38%);background:var(--article-panel-muted);color:var(--text-body);font-size:1rem;line-height:1.75}.article-content .article-steps{margin:1.4rem 0 1.65rem;padding:0;list-style:none;counter-reset:article-step}.article-content .article-steps li{position:relative;min-height:1.8rem;margin:0 0 .72rem;padding-left:2.25rem;counter-increment:article-step}.article-content .article-steps li:before{position:absolute;top:.1rem;left:0;display:grid;width:1.55rem;height:1.55rem;place-items:center;border:1px solid color-mix(in srgb,var(--link) 24%,var(--border) 76%);border-radius:50%;background:color-mix(in srgb,var(--link) 8%,var(--bg-alt) 92%);color:var(--link);content:counter(article-step);font-size:.72rem;font-weight:600;line-height:1}.article-content .article-link-card{display:grid;gap:.22rem;margin:1.35rem 0 1.6rem;padding:.86rem .95rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-bg);color:var(--text);text-decoration:none;box-shadow:var(--article-panel-shadow);transition:border-color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.article-content .article-link-card:hover{border-color:var(--article-accent-border);box-shadow:var(--article-panel-shadow-hover);transform:translateY(-1px);color:var(--text)}.article-content .article-link-card strong{color:var(--link);font-size:.94rem;line-height:1.45}.article-content .article-link-card span{color:var(--text-muted);font-size:.82rem;line-height:1.55}.article-content details{margin:1.45rem 0 1.65rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-bg);box-shadow:var(--article-panel-shadow);overflow:hidden}.article-content summary{cursor:pointer;padding:.72rem .9rem;color:var(--text);font-weight:600;line-height:1.55;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.article-content summary:hover{background:var(--article-accent-soft)}.article-content summary::marker{color:var(--text-muted)}.article-content details>:not(summary){margin-left:.9rem;margin-right:.9rem}.article-content details>:last-child{margin-bottom:.9rem}.article-content .contains-task-list{margin-left:0;padding-left:0;list-style:none}.article-content .task-list-item{display:flex;align-items:flex-start;gap:var(--space-1);margin-bottom:.44rem}.article-content .task-list-item input[type=checkbox]{flex:0 0 auto;width:.95rem;height:.95rem;margin-top:.42em;accent-color:var(--link)}.article-content :is(.footnotes,section[data-footnotes]){margin-top:2.2rem;padding-top:var(--space-2);border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:.82rem;line-height:1.65}.article-content :is(.footnotes,section[data-footnotes]) :is(h2,h3){margin-top:0;padding-left:0;border-left:0;color:var(--text-muted);font-size:.86rem}.article-content .expressive-code{max-width:100%;margin:1.45rem 0 1.65rem}.article-content .expressive-code pre{font-family:var(--font-mono)}.article-content .expressive-code .frame{border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:var(--article-radius);background:var(--code-background);box-shadow:var(--article-panel-shadow);overflow:hidden}.article-content .expressive-code .frame:hover{box-shadow:var(--article-panel-shadow-hover)}.article-content .expressive-code .frame figcaption.header{border:0;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0;background:color-mix(in srgb,var(--surface) 78%,var(--code-bg) 22%)}.article-content .expressive-code .frame figcaption.header:before{border:0}.article-content .expressive-code .frame pre{border:0;border-radius:0}.article-content .expressive-code .frame.is-terminal{background:var(--ec-frm-trmTtbBg)}.article-content .expressive-code .frame.is-terminal figcaption.header{border-radius:var(--header-border-radius) var(--header-border-radius) 0 0;background:var(--ec-frm-trmTtbBg)}.article-content .expressive-code .frame figcaption.header .title{border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;background:transparent;color:var(--text-muted)}[data-theme=dark] .article-content .expressive-code:not([data-theme=one-light]){--ec-brdCol: #3c424e;--ec-codeBg: #282c34;--ec-codeFg: #abb2bf;--ec-codeSelBg: #67769660;--ec-gtrFg: #767c89;--ec-gtrBrdCol: #767c8933;--ec-gtrHlFg: #abb2bfd2;--ec-uiSelBg: #2c313a;--ec-uiSelFg: #d7dae0;--ec-focusBrd: #3e4452;--ec-sbThumbCol: #4e566660;--ec-sbThumbHoverCol: #60697afd;--ec-tm-markBg: #264a8980;--ec-tm-insBg: #26561c80;--ec-tm-insDiffIndCol: #7eb070d0;--ec-tm-delBg: #81322b80;--ec-tm-delDiffIndCol: #e68a7ed0;--ec-frm-shdCol: #0000005b;--ec-frm-frameBoxShdCssVal: .1rem .1rem .2rem #0000005b;--ec-frm-edActTabBg: #282c34;--ec-frm-edActTabFg: #dcdcdc;--ec-frm-edActTabIndBtmCol: #b4b4b4;--ec-frm-edTabBarBg: #21252b;--ec-frm-edTabBarBrdCol: #3c424e;--ec-frm-edBg: #282c34;--ec-frm-trmTtbFg: #9da5b4;--ec-frm-trmTtbDotsFg: #9da5b4;--ec-frm-trmTtbBg: #282c34;--ec-frm-trmTtbBrdBtmCol: #3c424e;--ec-frm-trmBg: #282c34;--ec-frm-inlBtnFg: #abb2bf;--ec-frm-inlBtnBg: #abb2bf;--ec-frm-inlBtnBrd: #abb2bf;--ec-frm-tooltipSuccessBg: #5c7f42}[data-theme=dark] .article-content .expressive-code:not([data-theme=one-light]) .ec-line :where(span[style^=--]:not([class])){color:var(--1, inherit);background-color:var(--1bg, transparent);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}.article-content .katex{font-size:1.02em}.article-content :not(.katex-display)>.katex{padding:0 .06em}.article-math-block{position:relative;box-sizing:border-box;margin:1.45rem 0 1.65rem;overflow:hidden;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 48%,transparent),transparent 4rem),var(--article-panel-muted);box-shadow:var(--article-panel-shadow)}.article-content .katex-display{margin:0;overflow-x:auto;overflow-y:hidden;padding:1.05rem 1.15rem;scrollbar-width:thin}.article-content .katex-display>.katex{min-width:max-content}.article-math-copy{position:absolute;top:.52rem;right:.52rem;z-index:1;min-height:1.75rem;padding:.18rem .5rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius-sm);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:.74rem;line-height:1;transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease)}.article-math-copy:hover{border-color:var(--border);background:var(--surface);color:var(--text)}.article-math-copy[data-copied]{font-size:0}.article-math-copy[data-copied=true]{color:var(--link)}.article-math-copy[data-copied=true]:after{content:"完成";font-size:.74rem}.article-math-copy[data-copied=false]{color:var(--color-danger, #b42318)}.article-math-copy[data-copied=false]:after{content:"失败";font-size:.74rem}.article-mermaid{position:relative;box-sizing:border-box;display:block;width:100%;max-width:100%;margin:1.45rem 0 1.65rem;overflow-x:auto;padding:var(--space-2) .85rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-muted);box-shadow:var(--article-panel-shadow);transition:border-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.article-mermaid:hover{border-color:var(--article-panel-border);box-shadow:var(--article-panel-shadow-hover)}.article-mermaid-stage{display:flex;justify-content:center;min-width:0;min-height:8rem;overflow:auto}.article-mermaid[data-mermaid-align=left] .article-mermaid-stage{justify-content:flex-start}.article-mermaid[data-mermaid-align=right] .article-mermaid-stage{justify-content:flex-end}.article-mermaid:not([data-mermaid-rendered=true]):not(.is-error):before{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted);content:"加载图表...";font-size:.82rem}.article-mermaid svg{flex:0 0 auto;max-width:100%;height:auto}.article-mermaid-stage.is-zoomable{cursor:grab;touch-action:none}.article-mermaid-stage.is-dragging{cursor:grabbing}.article-mermaid-stage.is-zoomable svg{max-width:none;will-change:transform}.article-mermaid.is-error{display:block;color:var(--text-muted);font-family:var(--font-mono);font-size:.82rem;line-height:1.6;white-space:pre-wrap}.article-mermaid.is-error .article-mermaid-stage{display:block;min-height:0}.article-echarts-shell{position:relative;margin:1.45rem 0 1.65rem}.article-echarts{position:relative;box-sizing:border-box;width:100%;max-width:100%;height:360px;min-height:240px;margin:1.45rem 0 1.65rem;overflow:hidden;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-muted);box-shadow:var(--article-panel-shadow);transition:border-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.article-echarts:hover{border-color:var(--article-panel-border);box-shadow:var(--article-panel-shadow-hover)}.article-echarts-stage{width:100%;height:100%}.article-echarts-shell .article-echarts{margin:0}.article-echarts:not([data-echarts-rendered=true]):not(.is-error){color:transparent}.article-echarts:not([data-echarts-rendered=true]):not(.is-error):before{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted);content:"加载图表...";font-size:.82rem}.article-echarts.is-error{display:block;height:auto;min-height:0;padding:.85rem .9rem;color:var(--text-muted);font-family:var(--font-mono);font-size:.82rem;line-height:1.6;white-space:pre-wrap}.article-echarts-copy{position:absolute;top:.52rem;right:.52rem;z-index:1;min-height:1.75rem;padding:.18rem .5rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius-sm);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:.74rem;line-height:1;transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease)}.article-echarts-copy:hover{border-color:var(--border);background:var(--surface);color:var(--text)}.article-echarts-copy[data-copied=true]{color:var(--link)}.article-echarts-copy[data-copied=true]:after{content:"完成"}.article-echarts-copy[data-copied=true]{font-size:0}.article-echarts-copy[data-copied=true]:after{font-size:.74rem}.article-echarts-shell.is-error .article-echarts-copy{display:none}.article-timeline{--article-timeline-line: var(--border-soft);--article-timeline-node-color: color-mix(in srgb, var(--link) 58%, var(--text-muted) 42%);--article-timeline-node-size: .62rem;--article-timeline-line-width: 1px;--article-timeline-rail-center: .5rem;--article-timeline-content-indent: 1.7rem;--article-timeline-item-pad-top: .42rem;--article-timeline-item-pad-bottom: .7rem;--article-timeline-content-size: .95rem;--article-timeline-content-lh: 1.65;--article-timeline-timestamp-size: .78rem;--article-timeline-timestamp-lh: 1.45;--article-timeline-timestamp-gap: .18rem;--article-timeline-timestamp-block: calc( (var(--article-timeline-timestamp-size) * var(--article-timeline-timestamp-lh)) + var(--article-timeline-timestamp-gap) );--article-timeline-node-top: calc( var(--article-timeline-item-pad-top) + (var(--article-timeline-content-size) * var(--article-timeline-content-lh) / 2) );box-sizing:border-box;max-width:100%;margin:1.45rem 0 1.65rem;padding:0;overflow:visible;list-style:none}.article-timeline-item{position:relative;display:block;margin:0;padding:var(--article-timeline-item-pad-top) 0 var(--article-timeline-item-pad-bottom) var(--article-timeline-content-indent);color:var(--text-body);list-style:none}.article-timeline-item:before,.article-timeline-item:after{position:absolute;content:""}.article-timeline-item:before{top:var(--article-timeline-node-top);left:var(--article-timeline-rail-center);z-index:2;box-sizing:border-box;width:var(--article-timeline-node-size);height:var(--article-timeline-node-size);border:2px solid var(--article-timeline-node-color);border-radius:999px;background:var(--bg);outline:4px solid var(--bg);transform:translate(-50%,-50%);transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),outline-color var(--motion-fast) var(--motion-ease),outline-width var(--motion-fast) var(--motion-ease)}.article-timeline-item:after{top:0;bottom:0;left:var(--article-timeline-rail-center);z-index:1;width:var(--article-timeline-line-width);background:var(--article-timeline-line);transform:translate(-50%)}.article-timeline-item:first-child:after{top:var(--article-timeline-node-top)}.article-timeline-item:last-child:after{bottom:calc(100% - var(--article-timeline-node-top))}.article-timeline-item:only-child:after{display:none}.article-timeline-item:has(>.article-timeline-timestamp.is-top){--article-timeline-node-top: calc( var(--article-timeline-item-pad-top) + var(--article-timeline-timestamp-block) + (var(--article-timeline-content-size) * var(--article-timeline-content-lh) / 2) )}.article-timeline-item:hover:before{border-color:var(--link);outline:5px solid color-mix(in srgb,var(--link) 16%,var(--bg) 84%);background:color-mix(in srgb,var(--link) 8%,var(--bg) 92%)}.article-timeline-item:hover .article-timeline-content{color:var(--text);transform:translate(2px)}.article-timeline[data-animation] .article-timeline-item:before{animation:article-timeline-node-pulse 2s var(--motion-ease) 1;animation-delay:calc(var(--article-timeline-index, 1) * .12s)}.article-timeline-item[data-node=dot]:before{background:var(--article-timeline-node-color)}.article-timeline-item[data-size=small]{--article-timeline-node-size: .5rem}.article-timeline-item[data-size=large]{--article-timeline-node-size: .76rem}.article-timeline-item[data-type=info]{--article-timeline-node-color: var(--link)}.article-timeline-item[data-type=success]{--article-timeline-node-color: #2f9e5f}.article-timeline-item[data-type=warning]{--article-timeline-node-color: #c07a25}.article-timeline-item[data-type=error],.article-timeline-item[data-type=danger]{--article-timeline-node-color: #c94b4b}.article-timeline-timestamp{color:color-mix(in srgb,var(--text-muted) 86%,var(--link) 14%);font-family:var(--font-mono);font-size:var(--article-timeline-timestamp-size);line-height:var(--article-timeline-timestamp-lh)}.article-timeline-timestamp.is-top{margin:0 0 var(--article-timeline-timestamp-gap)}.article-timeline-timestamp.is-bottom{margin:var(--article-timeline-timestamp-gap) 0 0}.article-timeline-content{color:var(--text-body);font-size:var(--article-timeline-content-size);line-height:var(--article-timeline-content-lh);transition:color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.article-timeline-content p{margin:.45rem 0 0}.article-timeline-content p:first-child{margin-top:0}.article-timeline-content code{font-size:.88em}.article-timeline.is-error{display:block;padding:.85rem .9rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-muted);color:var(--text-muted);font-family:var(--font-mono);font-size:.82rem;line-height:1.6}@keyframes article-timeline-node-pulse{0%,to{border-color:var(--article-timeline-line)}50%{border-color:var(--article-timeline-node-color)}}.article-music{margin:1.45rem 0 1.65rem;padding:0}.article-music .aplayer{margin:0;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-bg);box-shadow:var(--article-panel-shadow);color:var(--text-body);font-family:var(--font);overflow:hidden;transition:border-color var(--motion-base) var(--motion-ease),background-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.article-music .aplayer:hover{border-color:var(--article-accent-border);box-shadow:var(--article-panel-shadow-hover)}.article-music .aplayer .aplayer-info{border-bottom-color:var(--article-panel-border-soft)}.article-music .aplayer .aplayer-title{color:var(--text);font-weight:500}.article-music .aplayer .aplayer-author,.article-music .aplayer .aplayer-time,.article-music .aplayer .aplayer-list-author{color:var(--text-muted)}.article-music .aplayer .aplayer-icon path{fill:currentColor}.article-music .aplayer .aplayer-icon{color:var(--text-muted)}.article-music .aplayer .aplayer-icon:hover{color:var(--link)}.article-music .aplayer .aplayer-bar-wrap .aplayer-bar,.article-music .aplayer .aplayer-volume-bar-wrap .aplayer-volume-bar{background:color-mix(in srgb,var(--border) 72%,transparent)}.article-music .aplayer .aplayer-list{border-top-color:var(--border-soft)}.article-music .aplayer .aplayer-list ol li{border-top-color:var(--border-soft);color:var(--text-body)}.article-music .aplayer .aplayer-list ol li:hover,.article-music .aplayer .aplayer-list ol li.aplayer-list-light{background:color-mix(in srgb,var(--link) 9%,transparent)}.article-music .aplayer .aplayer-list ol li.aplayer-list-light{color:var(--text)}.article-music .aplayer .aplayer-lrc{color:var(--text-muted)}.article-music .aplayer .aplayer-lrc:before,.article-music .aplayer .aplayer-lrc:after{background:linear-gradient(180deg,var(--article-panel-bg),color-mix(in srgb,var(--article-panel-bg) 0%,transparent))}.article-music .aplayer .aplayer-lrc:after{background:linear-gradient(180deg,color-mix(in srgb,var(--article-panel-bg) 0%,transparent),var(--article-panel-bg))}.article-music .aplayer .aplayer-notice{background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text-muted)}.article-music.is-error{padding:.85rem .9rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-muted);color:var(--text-muted);font-family:var(--font-mono);font-size:.82rem;line-height:1.6}.article-file-tree{--file-tree-indent: 1rem;--file-tree-icon-size: 1rem;--file-tree-row-radius: 5px;margin:1.45rem 0 1.65rem;overflow-x:auto;padding:.78rem .86rem;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 42%,transparent),transparent 4.5rem),var(--article-panel-muted);color:var(--text-body);box-shadow:var(--article-panel-shadow);transition:border-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.article-file-tree:hover{border-color:var(--article-panel-border);box-shadow:var(--article-panel-shadow-hover)}.article-file-tree.is-error{border-color:color-mix(in srgb,var(--color-danger, #d14) 28%,var(--border-soft) 72%)}.article-content ul.file-tree{margin:0;padding:0;list-style:none}.article-content .file-tree .file-tree{margin-left:calc(var(--file-tree-indent) + .18rem);padding-left:.68rem;border-left:1px solid color-mix(in srgb,var(--border) 58%,transparent)}.article-content .file-tree-item{margin:0;line-height:1.55}.article-content .file-tree-label{display:inline-flex;align-items:center;min-width:0;max-width:100%;min-height:1.65rem;gap:.34rem;padding:.08rem .42rem;border-radius:var(--file-tree-row-radius);color:inherit;font-family:var(--font-mono);font-size:.86rem;line-height:1.4;white-space:nowrap;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.article-content button.file-tree-label{border:0;background:transparent;cursor:pointer}.article-content button.file-tree-label:hover,.article-content button.file-tree-label:focus-visible,.article-content .file-tree-item.is-highlighted>.file-tree-label{background:color-mix(in srgb,var(--link) 8%,var(--surface) 92%);color:var(--text);outline:0}.article-content button.file-tree-label:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--link) 34%,transparent)}.article-content .file-tree-item.is-highlighted>.file-tree-label{color:var(--link);font-weight:600}.file-tree-label-inner{overflow:hidden;text-overflow:ellipsis}.file-tree-twist,.file-tree-icon{display:inline-block;flex:0 0 auto;width:var(--file-tree-icon-size);height:var(--file-tree-icon-size);background:currentColor}.file-tree-twist{width:.8rem;height:.8rem;color:var(--text-muted);transform:rotate(90deg);transition:transform var(--motion-fast) var(--motion-ease);mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9 18 6-6-6-6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat}.file-tree-folder.is-collapsed>.file-tree-toggle .file-tree-twist{transform:rotate(0)}.file-tree-file>.file-tree-label{padding-left:calc(.8rem + .38rem + .34rem)}.file-tree-file>.file-tree-label .file-tree-icon{color:color-mix(in srgb,var(--text-muted) 84%,var(--text) 16%);mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat}.file-tree-folder>.file-tree-toggle .file-tree-icon{color:color-mix(in srgb,var(--link) 66%,var(--text-muted) 34%);mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6.5A2.5 2.5 0 0 1 5.5 4H10l2 2h6.5A2.5 2.5 0 0 1 21 8.5v9A2.5 2.5 0 0 1 18.5 20h-13A2.5 2.5 0 0 1 3 17.5z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat}.file-tree-empty{margin:0;color:var(--text-muted);font-family:var(--font-mono);font-size:.84rem;line-height:1.6}.article-toc{position:fixed;top:6.4rem;left:calc(50% + (var(--article-media-width) / 2) + 1.75rem);width:var(--article-toc-width);max-height:calc(100vh - 8rem);overflow:auto;padding:.72rem .75rem .76rem .8rem;border:1px solid var(--article-panel-border-soft);border-left:2px solid var(--article-panel-border);border-radius:var(--article-radius);background:var(--toc-bg);color:var(--text-muted);font-size:.78rem;line-height:1.45;box-shadow:var(--article-panel-shadow);backdrop-filter:blur(10px)}.article-toc[hidden]{display:none}.article-toc-title{margin:0 0 .52rem;color:var(--text);font-size:.74rem;font-weight:600}.article-toc-list{list-style:none;margin:0;padding:0}.article-toc-item{margin:.12rem 0}.article-toc-h3{padding-left:.56rem}.article-toc-link{display:block;position:relative;overflow:hidden;padding:.16rem .34rem .16rem .58rem;color:var(--text-muted);border-radius:4px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.article-toc-link:hover,.article-toc-link:focus-visible{background:var(--toc-hover-bg);color:var(--link)}.article-toc-link.is-active{color:var(--link)}.article-toc-link.is-active:before{position:absolute;top:.45rem;bottom:.45rem;left:.22rem;width:2px;border-radius:999px;background:currentColor;content:""}.article-table-scroll{max-width:100%;width:100%;margin:1.35rem 0 1.6rem;overflow-x:auto;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);background:var(--article-panel-bg);box-shadow:var(--article-panel-shadow)}.article-content table{display:table;width:max-content;min-width:100%;max-width:none;margin:0;border:0;border-radius:0;border-collapse:collapse;border-spacing:0;background:transparent;font-size:14px;line-height:24px;box-shadow:none;transition:color var(--motion-base) var(--motion-ease),background-color var(--motion-base) var(--motion-ease)}.article-content th,.article-content td{border:1px solid var(--article-panel-border-soft);padding:.55rem .82rem;vertical-align:top;overflow-wrap:anywhere;transition:border-color var(--motion-base) var(--motion-ease),background-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.article-content tr{background:var(--surface);border-top:1px solid var(--article-panel-border-soft);transition:background-color var(--motion-base) var(--motion-ease)}.article-content tr:nth-child(2n){background:color-mix(in srgb,var(--bg-alt) 58%,var(--surface) 42%)}.article-content tbody tr:hover>td{border-color:color-mix(in srgb,var(--link) 22%,var(--article-panel-border-soft) 78%);background:color-mix(in srgb,var(--link) 8%,var(--surface) 92%);color:var(--text)}.article-content th{background:color-mix(in srgb,var(--surface-muted) 66%,var(--surface) 34%);color:var(--text);font-size:14px;font-weight:600;letter-spacing:0}.article-content td{font-size:14px}.article-content table :not(pre)>code{padding:.2em .4em;background:var(--code-bg);font-size:13px;line-height:inherit;white-space:nowrap}.article-body img,.article-video{display:block;width:100%;max-width:100%;height:auto;margin:1.55rem 0 .55rem;border:1px solid var(--image-border);border-radius:var(--article-radius);background:var(--surface);padding:3px;box-shadow:var(--article-panel-shadow);transition:border-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease),filter var(--motion-base) var(--motion-ease)}.article-body img{cursor:zoom-in}.article-body img:hover{border-color:var(--article-panel-border);box-shadow:var(--article-panel-shadow-hover)}.article-video{margin-bottom:1.65rem}.article-embed{position:relative;width:100%;max-width:var(--article-media-width);margin:1.55rem auto 1.65rem;overflow:hidden;border:1px solid var(--image-border);border-radius:var(--article-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 78%,transparent),transparent 62%),var(--article-panel-muted);box-shadow:var(--article-panel-shadow);transition:border-color var(--motion-base) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease)}.article-embed:hover{border-color:var(--article-panel-border);box-shadow:var(--article-panel-shadow-hover)}.article-embed:before{content:"";display:block;aspect-ratio:16 / 9}.article-embed iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:transparent}.article-embed-facade{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:.55rem;margin:0;border:0;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 18%,transparent),color-mix(in srgb,var(--text) 10%,transparent)),var(--article-panel-muted);color:var(--text);cursor:pointer;font-family:var(--font);transition:background-color var(--motion-base) var(--motion-ease),color var(--motion-base) var(--motion-ease)}.article-embed-facade:hover,.article-embed-facade:focus-visible{color:var(--link);outline:none;background:linear-gradient(180deg,color-mix(in srgb,var(--link) 8%,transparent),color-mix(in srgb,var(--text) 12%,transparent)),var(--article-panel-muted)}.article-embed-facade-play{display:grid;place-items:center;width:3.1rem;height:3.1rem;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:var(--article-shadow-soft, var(--article-panel-shadow))}.article-embed-facade-play:before{width:0;height:0;margin-left:.18rem;border-style:solid;border-width:.42rem 0 .42rem .7rem;border-color:transparent transparent transparent currentColor;content:""}.article-embed-facade-label{color:var(--text-muted);font-size:.82rem;font-weight:560;letter-spacing:.04em;line-height:1.3}.article-embed-facade:hover .article-embed-facade-label,.article-embed-facade:focus-visible .article-embed-facade-label{color:inherit}.article-embed-error{padding:var(--space-2) 1.1rem;color:var(--text-muted);font-size:.9rem;line-height:1.6}.article-embed-error:before{content:none}.article-mermaid,.article-echarts,.article-file-tree,.article-music,.article-tabs,.article-content .gallery,.article-embed{content-visibility:auto;contain-intrinsic-size:240px 720px}.article-image-caption{width:100%;max-width:100%;margin:0 0 1.65rem;color:var(--text-muted);font-size:.74rem;line-height:1.55;text-align:center}.article-comments,.article-footer{max-width:var(--article-width);margin-left:auto;margin-right:auto}.article-comments{margin-top:var(--space-6);padding-top:1.45rem;border-top:1px solid var(--border-soft)}.article-comments-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:.85rem}.article-comments-header h2{margin:0;color:var(--text);font-size:1rem;line-height:1.4}.article-comments-header p{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.6;text-align:right}.article-comments-panel{min-height:0;color:var(--text-muted)}.article-comments-panel.is-loading:before{display:block;color:var(--text-muted);content:"评论加载中...";font-size:.82rem;line-height:2.4rem}.article-comments-panel.has-error{color:var(--text-muted);font-size:.82rem;line-height:1.7}.article-comments-load{display:inline-flex;align-items:center;justify-content:center;height:2rem;padding:0 .72rem;border:1px solid var(--article-panel-border);border-radius:var(--article-radius-sm);background:var(--surface);color:var(--text);font-family:var(--font);font-size:.82rem;line-height:1;cursor:pointer;transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.article-comments-load:hover,.article-comments-load:focus-visible{border-color:var(--article-accent-border);color:var(--link);transform:translateY(-1px)}.article-comments-hint{display:inline;margin:0 0 0 .58rem;color:var(--text-muted);font-size:.78rem;line-height:1.7}.article-footer{margin-top:2.55rem;padding-top:1.2rem;border-top:1px solid var(--border-soft)}.article-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:stretch}.article-nav-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--article-panel-border-soft);border-radius:var(--article-radius);padding:.78rem .86rem;color:var(--text);text-decoration:none;background:var(--article-panel-bg);box-shadow:var(--article-panel-shadow);transition:border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.article-nav-card:hover{border-color:var(--article-accent-border);color:var(--link);box-shadow:var(--article-panel-shadow-hover);transform:translateY(-1px)}.article-nav-label{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.25rem;color:var(--text-muted);font-size:.76rem;line-height:1.3}.article-nav-label svg{stroke:currentColor}.article-nav-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.45}.article-nav-next{text-align:right;align-items:flex-end}.article-nav-next .article-nav-label{justify-content:flex-end}.article-nav-empty{cursor:not-allowed}.article-nav-empty:hover{border-color:var(--article-panel-border-soft);box-shadow:var(--article-panel-shadow);transform:none}.article-nav-placeholder{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.45;color:var(--text-muted)}.article-content .gallery{--gallery-gap: .42rem;--gallery-radius: var(--article-radius);--gallery-row: clamp(120px, 12vw, 180px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:var(--gallery-row);grid-auto-flow:dense;gap:var(--gallery-gap);width:100%;max-width:100%;margin:var(--space-3) 0 1.65rem}.article-content .gallery-item{position:relative;display:block;min-width:0;min-height:0;margin:0;overflow:hidden;border:1px solid var(--image-border);border-radius:var(--gallery-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 76%,transparent),transparent 62%),var(--article-panel-muted);box-shadow:var(--article-panel-shadow)}.article-content .gallery :is(.gallery-item,img){transition:border-color var(--motion-base) var(--motion-ease),filter var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-ease)}.article-content .gallery-item:hover{border-color:var(--article-panel-border);box-shadow:var(--article-panel-shadow-hover)}.article-content .gallery .gallery-item>img{display:block;width:100%;max-width:none;height:100%;margin:0;transform:none;border:0;border-radius:0;padding:0;box-shadow:none;background:transparent;object-fit:cover;cursor:zoom-in}.article-content .gallery .gallery-item:hover>img{filter:saturate(1.03) contrast(1.02);transform:scale(1.015)}.article-content .gallery .article-image-caption{width:auto;margin:0;transform:none;padding:.45rem .6rem .55rem;background:var(--surface);text-align:left}.article-content .gallery[data-gap=sm]{--gallery-gap: .25rem}.article-content .gallery[data-gap=lg]{--gallery-gap: .85rem}.article-content .gallery[data-gap=none]{--gallery-gap: 0}.article-content .gallery[data-radius=none]{--gallery-radius: 0}.article-content .gallery[data-radius=lg]{--gallery-radius: 8px}.article-content .gallery[data-layout=grid] .gallery-item{grid-column:span 4;grid-row:span 3}.article-content .gallery[data-layout=grid][data-columns="2"] .gallery-item{grid-column:span 6;grid-row:span 3}.article-content .gallery[data-layout=grid][data-columns="4"] .gallery-item{grid-column:span 3;grid-row:span 2}.article-content .gallery[data-layout=feature] .gallery-item:first-child{grid-column:span 7;grid-row:span 5}.article-content .gallery[data-layout=feature] .gallery-item:nth-child(n+2){grid-column:span 5;grid-row:span 2}.article-content .gallery[data-layout=feature] .gallery-item:nth-child(n+4){grid-column:span 5;grid-row:span 1}.article-content .gallery[data-layout=justified]{--gallery-justified-row: clamp(108px, 13vw, 162px);display:flex;flex-wrap:wrap;align-items:stretch}.article-content .gallery[data-layout=justified]:after{content:"";flex:999 1 calc(var(--gallery-justified-row) * 2)}.article-content .gallery[data-layout=justified] .gallery-item{flex:calc(var(--gallery-aspect, 1.35) * var(--gallery-justified-row)) 1 9rem;height:var(--gallery-justified-row)}.article-content .gallery[data-layout=masonry]{display:block;column-count:3;column-gap:var(--gallery-gap)}.article-content .gallery[data-layout=masonry] .gallery-item{display:inline-block;width:100%;margin:0 0 var(--gallery-gap);break-inside:avoid;vertical-align:top}.article-content .gallery[data-layout=masonry] .gallery-item>img{height:auto}.article-content .gallery[data-layout=strip]{display:flex;grid-template-columns:none;grid-auto-rows:auto;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:.42rem;scrollbar-width:thin}.article-content .gallery[data-layout=strip] .gallery-item{flex:0 0 clamp(9.5rem,26vw,15rem);height:clamp(11.5rem,28vw,17rem);scroll-snap-align:start}.article-content .gallery[data-ratio="1:1"] .gallery-item{aspect-ratio:1 / 1}.article-content .gallery[data-ratio="4:3"] .gallery-item{aspect-ratio:4 / 3}.article-content .gallery[data-ratio="16:9"] .gallery-item{aspect-ratio:16 / 9}.article-content .gallery[data-ratio="3:2"] .gallery-item{aspect-ratio:3 / 2}.article-content .gallery[data-ratio]{grid-auto-rows:auto}.article-content .gallery[data-ratio] .gallery-item{grid-row:auto}.article-content .gallery[data-layout=split]{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:var(--gallery-gap);position:relative}.article-content .gallery[data-layout=split]:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:2px;height:100%;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.08) 10%,rgba(0,0,0,.08) 90%,transparent);pointer-events:none;z-index:1}.article-content .gallery[data-layout=split][data-split-ratio="1:2"]:after{left:33.333%}.article-content .gallery[data-layout=split][data-split-ratio="2:1"]:after{left:66.666%}.article-content .gallery[data-layout=split][data-split-ratio="1:2"]{grid-template-columns:1fr 2fr}.article-content .gallery[data-layout=split][data-split-ratio="2:1"]{grid-template-columns:2fr 1fr}.article-content .gallery[data-layout=split] .gallery-item{aspect-ratio:auto;max-height:600px}@media(max-width:640px){.article-content .gallery[data-layout=split]{grid-template-columns:1fr;grid-template-rows:auto auto}.article-content .gallery[data-layout=split] .gallery-item{max-height:400px}}@media(min-width:641px)and (max-width:1024px){.article-content .gallery[data-layout=magazine] .gallery-item:first-child{min-height:300px}.article-content .gallery[data-layout=magazine] .gallery-item:nth-child(n+2){grid-column:span 6!important}.article-content .gallery[data-layout=split] .gallery-item{max-height:500px}}.article-content .gallery[data-layout=magazine]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;gap:var(--gallery-gap)}.article-content .gallery[data-layout=magazine] .gallery-item:first-child{grid-column:1 / -1;grid-row:1;aspect-ratio:2 / 1;min-height:400px;box-shadow:var(--article-shadow-soft, var(--article-panel-shadow));border:1px solid var(--article-panel-border)}.article-content .gallery[data-layout=magazine][data-hero-ratio="16:9"] .gallery-item:first-child{aspect-ratio:16 / 9}.article-content .gallery[data-layout=magazine][data-hero-ratio="3:2"] .gallery-item:first-child{aspect-ratio:3 / 2}.article-content .gallery[data-layout=magazine] .gallery-item:nth-child(n+2){grid-column:span 4;aspect-ratio:4 / 3;opacity:.95;transform:scale(.98)}.article-content .gallery[data-layout=magazine][data-bottom-columns="2"] .gallery-item:nth-child(n+2){grid-column:span 6}.article-content .gallery[data-layout=magazine][data-bottom-columns="4"] .gallery-item:nth-child(n+2){grid-column:span 3}@media(max-width:640px){.article-content .gallery[data-layout=magazine] .gallery-item:nth-child(n+2){grid-column:span 6}}.article-content .gallery[data-layout=brick]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(var(--gallery-row),auto);gap:var(--gallery-gap)}.article-content .gallery[data-layout=brick] .gallery-item{grid-column:span 4;grid-row:span 3}.article-content .gallery[data-layout=brick] .gallery-item:nth-child(6n+1){grid-column:span 7;grid-row:span 4}.article-content .gallery[data-layout=brick] .gallery-item:nth-child(6n+2){grid-column:span 5;grid-row:span 3}.article-content .gallery[data-layout=brick] .gallery-item:nth-child(6n+3){grid-column:span 5;grid-row:span 2}.article-content .gallery[data-layout=brick] .gallery-item:nth-child(6n+4){grid-column:span 7;grid-row:span 3}.article-content .gallery[data-layout=brick] .gallery-item:nth-child(6n+5){grid-column:span 4;grid-row:span 4}.article-content .gallery[data-layout=brick] .gallery-item:nth-child(6n+6){grid-column:span 8;grid-row:span 3}@media(max-width:640px){.article-content .gallery[data-layout=brick]{grid-template-columns:repeat(6,minmax(0,1fr))}.article-content .gallery[data-layout=brick] .gallery-item{grid-column:span 3!important;grid-row:span 3!important}}.article-content .gallery[data-layout=pyramid]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:auto;gap:var(--gallery-gap);justify-items:center}.article-content .gallery[data-layout=pyramid] .gallery-item:nth-child(1){grid-column:3 / span 2;grid-row:1;aspect-ratio:4 / 3}.article-content .gallery[data-layout=pyramid] .gallery-item:nth-child(2){grid-column:2 / span 2;grid-row:2;aspect-ratio:4 / 3}.article-content .gallery[data-layout=pyramid] .gallery-item:nth-child(3){grid-column:4 / span 2;grid-row:2;aspect-ratio:4 / 3}.article-content .gallery[data-layout=pyramid] .gallery-item:nth-child(4){grid-column:1 / span 2;grid-row:3;aspect-ratio:4 / 3}.article-content .gallery[data-layout=pyramid] .gallery-item:nth-child(5){grid-column:3 / span 2;grid-row:3;aspect-ratio:4 / 3}.article-content .gallery[data-layout=pyramid] .gallery-item:nth-child(6){grid-column:5 / span 2;grid-row:3;aspect-ratio:4 / 3}@media(max-width:640px){.article-content .gallery[data-layout=pyramid]{grid-template-columns:1fr}.article-content .gallery[data-layout=pyramid] .gallery-item{grid-column:1!important}}.article-content .gallery[data-layout=spotlight]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:var(--gallery-gap);min-height:500px}.article-content .gallery[data-layout=spotlight] .gallery-item:nth-child(1){grid-column:2;grid-row:2;aspect-ratio:1 / 1;border:1px solid var(--article-panel-border);box-shadow:var(--article-shadow-soft-hover, var(--article-panel-shadow-hover));z-index:2}.article-content .gallery[data-layout=spotlight] .gallery-item:nth-child(2){grid-column:1;grid-row:1;aspect-ratio:1 / 1}.article-content .gallery[data-layout=spotlight] .gallery-item:nth-child(3){grid-column:3;grid-row:1;aspect-ratio:1 / 1}.article-content .gallery[data-layout=spotlight] .gallery-item:nth-child(4){grid-column:1;grid-row:3;aspect-ratio:1 / 1}.article-content .gallery[data-layout=spotlight] .gallery-item:nth-child(5){grid-column:3;grid-row:3;aspect-ratio:1 / 1}@media(max-width:640px){.article-content .gallery[data-layout=spotlight]{grid-template-columns:1fr;grid-template-rows:auto;min-height:auto}.article-content .gallery[data-layout=spotlight] .gallery-item{grid-column:1!important;grid-row:auto!important}}.article-content .gallery[data-layout=overlap]{display:block;position:relative;min-height:550px;padding:40px}.article-content .gallery[data-layout=overlap] .gallery-item{position:absolute;width:70%;aspect-ratio:4 / 3;box-shadow:var(--article-shadow-soft, var(--article-panel-shadow));border:1px solid var(--surface)}.article-content .gallery[data-layout=overlap] .gallery-item:nth-child(1){top:0;left:15%;z-index:5}.article-content .gallery[data-layout=overlap] .gallery-item:nth-child(2){top:30px;left:calc(15% + 30px);z-index:4}.article-content .gallery[data-layout=overlap] .gallery-item:nth-child(3){top:60px;left:calc(15% + 60px);z-index:3}.article-content .gallery[data-layout=overlap] .gallery-item:nth-child(4){top:90px;left:calc(15% + 90px);z-index:2}.article-content .gallery[data-layout=overlap] .gallery-item:nth-child(5){top:120px;left:calc(15% + 120px);z-index:1}.article-content .gallery[data-layout=overlap] .gallery-item:hover{z-index:10!important;transform:scale(1.02);box-shadow:var(--article-shadow-soft-hover, var(--article-panel-shadow-hover));cursor:pointer}@media(max-width:640px){.article-content .gallery[data-layout=overlap]{display:grid;grid-template-columns:1fr;gap:var(--gallery-gap);padding:0;min-height:auto}.article-content .gallery[data-layout=overlap] .gallery-item{position:relative!important;width:100%!important;top:0!important;left:0!important;z-index:1!important;border-width:2px}.article-content .gallery[data-layout=overlap] .gallery-item:hover{transform:none}.article-content .gallery[data-layout=overlap] .gallery-item{box-shadow:0 2px 8px #0000001a}}.article-content .gallery[data-layout=carousel]{position:relative;display:block;width:100%;max-width:100%;margin:var(--space-3) 0 1.65rem;overflow:hidden;border:1px solid var(--article-panel-border-soft);border-radius:var(--gallery-radius);background:var(--article-panel-muted);box-shadow:var(--article-panel-shadow)}.article-content .gallery[data-layout=carousel] .carousel-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}.article-content .gallery[data-layout=carousel].is-dragging .carousel-track{will-change:transform}.article-content .gallery[data-layout=carousel] .gallery-item{flex:0 0 100%;width:100%;aspect-ratio:16 / 9;border:0;border-radius:0;box-shadow:none;background:transparent}.article-content .gallery[data-layout=carousel] .gallery-item>img{width:100%;height:100%;object-fit:cover;border:0;border-radius:0;padding:0;margin:0;box-shadow:none}.article-content .gallery[data-layout=carousel]:before,.article-content .gallery[data-layout=carousel]:after{content:"";position:absolute;left:0;right:0;height:80px;z-index:1;pointer-events:none;opacity:0;transition:opacity var(--motion-base) var(--motion-ease)}.article-content .gallery[data-layout=carousel]:before{top:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),transparent)}.article-content .gallery[data-layout=carousel]:after{bottom:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent)}.article-content .gallery[data-layout=carousel]:hover:before,.article-content .gallery[data-layout=carousel]:hover:after{opacity:1}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:#00000080;color:#fff;cursor:pointer;opacity:0;box-shadow:0 4px 12px #00000026;transition:opacity var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease);backdrop-filter:blur(10px)}.article-content .gallery[data-layout=carousel]:hover .carousel-nav{opacity:1}.carousel-nav:hover{background:#000000bf;border-color:#fff9;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #0000004d}.carousel-nav:active{transform:translateY(-50%) scale(.95)}.carousel-nav.prev{left:20px}.carousel-nav.next{right:20px}.carousel-nav svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;fill:none}.carousel-nav:disabled{opacity:.2;cursor:not-allowed;pointer-events:none;background:#0000004d;border-color:#ffffff26}.carousel-indicators{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:10px;padding:10px 16px;border-radius:999px;background:#00000080;backdrop-filter:blur(12px);box-shadow:0 4px 16px #0003}.carousel-indicator{width:8px;height:8px;border:0;border-radius:50%;background:#fff6;cursor:pointer;padding:0;transition:background-color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) var(--motion-ease)}.carousel-indicator:hover{background:#ffffffb3;transform:scale(1.25)}.carousel-indicator.active{background:#fff;transform:scale(1.4);box-shadow:0 0 12px #fff9}.carousel-counter{position:absolute;top:20px;right:20px;z-index:10;padding:8px 14px;border-radius:999px;background:#00000080;color:#fff;font-family:var(--font-mono);font-size:.82rem;font-weight:600;line-height:1;letter-spacing:.5px;backdrop-filter:blur(12px);box-shadow:0 4px 12px #00000026}.carousel-play-pause{position:absolute;bottom:20px;right:20px;z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:#00000080;color:#fff;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 4px 12px #00000026;transition:color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.carousel-play-pause:hover{background:#000000bf;border-color:#fff9;transform:scale(1.1)}.carousel-play-pause svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:currentColor}.article-content .gallery[data-layout=carousel] .gallery-item{position:relative}.article-content .gallery[data-layout=carousel] .article-image-caption{position:absolute;bottom:0;left:0;right:0;width:100%;margin:0;padding:16px 24px;background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.6) 50%,transparent);color:#fff;font-size:.85rem;text-align:left;opacity:0;transform:translateY(10px);transition:opacity var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-ease)}.article-content .gallery[data-layout=carousel]:hover .article-image-caption{opacity:1;transform:translateY(0)}@media(max-width:640px){.carousel-nav{width:50px;height:50px;border-width:2px}.carousel-nav.prev{left:12px}.carousel-nav.next{right:12px}.carousel-nav svg{width:20px;height:20px;stroke-width:2.5}.carousel-indicators{bottom:16px;gap:10px;padding:10px 16px}.carousel-indicator{width:10px;height:10px}.carousel-counter{top:12px;right:12px;font-size:.8rem;padding:8px 14px}.carousel-play-pause{width:44px;height:44px;bottom:16px;right:16px}.carousel-play-pause svg{width:16px;height:16px}.article-content .gallery[data-layout=carousel] .article-image-caption{padding:14px 18px;font-size:.85rem}.carousel-nav,.carousel-indicator,.carousel-play-pause{backdrop-filter:none;background:#000000b3}}.article-content .gallery[data-layout=carousel].is-dragging .carousel-track{transition:none;cursor:grabbing}.article-content .gallery[data-layout=carousel] .carousel-track{cursor:grab}.article-content .gallery[data-layout=carousel]:focus-within{outline:2px solid var(--link);outline-offset:2px}.article-content .gallery[data-layout=timeline]{display:block;position:relative;padding-left:120px;margin:var(--space-3) 0 1.65rem}.article-content .gallery[data-layout=timeline]:before{content:"";position:absolute;left:60px;top:20px;bottom:20px;width:2px;background:linear-gradient(to bottom,transparent,var(--border) 10%,var(--border) 90%,transparent)}.article-content .gallery[data-layout=timeline] .gallery-item{position:relative;display:block;margin:0 0 var(--space-3);border-radius:var(--gallery-radius);background:var(--article-panel-bg);border:1px solid var(--article-panel-border-soft);box-shadow:var(--article-panel-shadow);transition:all var(--motion-base) var(--motion-ease)}.article-content .gallery[data-layout=timeline] .gallery-item:hover{border-color:var(--article-panel-border);box-shadow:var(--article-panel-shadow-hover);transform:translate(4px)}.article-content .gallery[data-layout=timeline] .gallery-item:before{content:"";position:absolute;left:-72px;top:16px;width:12px;height:12px;border:3px solid var(--link);border-radius:50%;background:var(--bg);z-index:2;transition:all var(--motion-base) var(--motion-ease)}.article-content .gallery[data-layout=timeline] .gallery-item:hover:before{transform:scale(1.3);box-shadow:0 0 0 4px color-mix(in srgb,var(--link) 20%,transparent)}.article-content .gallery[data-layout=timeline] .gallery-item>img{display:block;width:100%;height:auto;border-radius:var(--gallery-radius) var(--gallery-radius) 0 0;margin:0;border:0;padding:0;box-shadow:none}.article-content .gallery[data-layout=timeline] .article-image-caption{position:absolute;left:-120px;top:12px;width:100px;text-align:right;padding:0;margin:0;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:600;line-height:1.4}@media(max-width:640px){.article-content .gallery[data-layout=timeline]{padding-left:0}.article-content .gallery[data-layout=timeline] .gallery-item{margin-bottom:var(--space-2)}.article-content .gallery[data-layout=timeline] .article-image-caption{position:static;width:auto;text-align:left;padding:.75rem 1rem;border-bottom:2px solid var(--link);background:var(--article-panel-bg);color:var(--text);font-size:.85rem;font-weight:700}.article-content .gallery[data-layout=timeline] .gallery-item>img{border-radius:0 0 var(--gallery-radius) var(--gallery-radius)}}.article-content .gallery[data-layout=curtain]{display:block;position:relative;width:100%;max-width:100%;aspect-ratio:16 / 9;margin:var(--space-3) 0 1.65rem;overflow:hidden;border:1px solid var(--article-panel-border-soft);border-radius:var(--gallery-radius);background:var(--article-panel-muted);box-shadow:var(--article-panel-shadow);cursor:ew-resize}.article-content .gallery[data-layout=curtain] .gallery-item{position:absolute;top:0;left:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:transparent;margin:0}.article-content .gallery[data-layout=curtain] .gallery-item>img{width:100%;height:100%;object-fit:cover;border:0;border-radius:0;padding:0;margin:0;box-shadow:none;user-select:none;pointer-events:none}.article-content .gallery[data-layout=curtain] .gallery-item:nth-child(2){clip-path:inset(0 0 0 var(--curtain-position, 50%))}.article-content .gallery[data-layout=curtain]:after{content:"";position:absolute;top:0;bottom:0;left:var(--curtain-position, 50%);width:2px;background:color-mix(in srgb,var(--surface) 88%,white 12%);box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 12%,transparent);transform:translate(-50%);z-index:10;pointer-events:none}.article-content .gallery[data-layout=curtain]:before{content:"";position:absolute;top:50%;left:var(--curtain-position, 50%);transform:translate(-50%,-50%);z-index:11;width:2.4rem;height:2.4rem;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:999px;background:linear-gradient(90deg,transparent 0 42%,color-mix(in srgb,var(--text-muted) 55%,transparent) 42% 46%,transparent 46% 54%,color-mix(in srgb,var(--text-muted) 55%,transparent) 54% 58%,transparent 58%),color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--article-shadow-soft, var(--article-panel-shadow));pointer-events:none}@media(max-width:640px){.article-content .gallery[data-layout=curtain]{cursor:grab;aspect-ratio:4 / 3}}@media(max-width:640px){.article-content .gallery .gallery-item{will-change:auto}.article-content .gallery[data-layout=magazine] .gallery-item,.article-content .gallery[data-layout=brick] .gallery-item,.article-content .gallery[data-layout=spotlight] .gallery-item{box-shadow:var(--article-shadow-soft, var(--article-panel-shadow))}.article-content .gallery .gallery-item:hover{transform:none}.article-content .gallery[data-layout=masonry]{column-count:2}.article-content .gallery[data-layout=strip]{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.article-content .gallery a{display:block;min-height:44px}}@media(prefers-reduced-motion:reduce){.article-timeline[data-animation] .article-timeline-item:before,.tabs-panel,.article-content .gallery :is(.gallery-item,img),.article-content .gallery[data-layout=carousel] .carousel-track,.article-content .gallery[data-layout=curtain] .gallery-item:nth-child(2){animation:none!important;transition:none!important}.article-content .gallery .gallery-item:hover,.article-content .gallery .gallery-item:hover>img,.article-content .gallery[data-layout=overlap] .gallery-item:hover,.article-timeline-item:hover .article-timeline-content{transform:none!important}.article-mermaid-stage.is-zoomable svg{will-change:auto}}.footnote-ref{display:inline;position:relative}.footnote-ref a{color:var(--link);text-decoration:none;font-size:.82em;font-weight:600;border-bottom:1px dashed transparent;transition:all var(--motion-fast) var(--motion-ease);margin-left:.1em}.footnote-ref a:hover{border-bottom-color:var(--link);color:var(--link-hover)}.footnote-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);max-width:320px;width:max-content;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.7rem .85rem;font-size:.88rem;line-height:1.6;color:var(--text-body);box-shadow:0 4px 12px color-mix(in srgb,var(--text) 12%,transparent);opacity:0;visibility:hidden;transition:all var(--motion-fast) var(--motion-ease);z-index:100;pointer-events:none;white-space:normal}.footnote-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border)}.footnote-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--surface);z-index:1}.footnote-ref:hover .footnote-tooltip,.footnote-ref.is-active .footnote-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);transition-delay:.3s}.footnote-ref.align-left .footnote-tooltip{left:auto;right:0;transform:translate(0) translateY(4px)}.footnote-ref.align-left .footnote-tooltip:after,.footnote-ref.align-left .footnote-tooltip:before{left:auto;right:12px;transform:none}.footnote-ref.align-right .footnote-tooltip{left:0;right:auto;transform:translate(0) translateY(4px)}.footnote-ref.align-right .footnote-tooltip:after,.footnote-ref.align-right .footnote-tooltip:before{left:12px;right:auto;transform:none}.footnote-ref.flip-below .footnote-tooltip{bottom:auto;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px)}.footnote-ref.flip-below .footnote-tooltip:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--border)}.footnote-ref.flip-below .footnote-tooltip:before{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--surface)}.footnote-ref.align-left:hover .footnote-tooltip,.footnote-ref.align-right:hover .footnote-tooltip,.footnote-ref.align-left.is-active .footnote-tooltip,.footnote-ref.align-right.is-active .footnote-tooltip{transform:translate(0) translateY(0)}.footnote-ref.flip-below:hover .footnote-tooltip,.footnote-ref.flip-below.is-active .footnote-tooltip{transform:translate(-50%) translateY(0)}@media(max-width:640px){.footnote-ref:hover .footnote-tooltip{opacity:0;visibility:hidden}.footnote-ref.is-active .footnote-tooltip{opacity:1;visibility:visible;transition-delay:0ms}.footnotes{padding:1.2rem 1.3rem}.footnotes li,.footnotes-item{font-size:.85rem}.footnote-tooltip{max-width:calc(100vw - 2rem)}}.footnotes-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-soft)}.footnotes-title{text-align:center;font-size:.8rem;color:var(--text-muted);letter-spacing:.1em;margin-bottom:1.5rem;text-transform:uppercase;font-weight:600}.footnotes{background:var(--bg-alt);border-radius:var(--article-radius, 8px);padding:1.5rem 2rem;border:1px solid var(--border-soft)}.footnotes ol,.footnotes-list{list-style:none;margin:0;padding:0}.footnotes li,.footnotes-item{display:grid;grid-template-columns:1.5rem minmax(0,1fr);column-gap:.55rem;align-items:start;margin:0 0 .8rem;padding:0;font-size:.9rem;line-height:1.65;list-style:none}.footnotes li:before,.footnotes li::marker,.footnotes-item:before,.footnotes-item::marker{content:none;display:none}.footnotes li:last-child,.footnotes-item:last-child{margin-bottom:0}.footnote-index{display:block;width:1.5rem;color:var(--link);font-family:var(--font-mono);font-size:.82rem;font-weight:650;line-height:1.55;text-align:left;user-select:none}.footnote-body{min-width:0}.footnotes li p,.footnotes-item p,.footnote-body p{display:inline;margin:0}.footnotes li p+p,.footnotes-item p+p,.footnote-body p+p{display:block;margin-top:.5rem}.footnotes li code,.footnotes-item code,.footnote-body code{font-size:.88em}.footnote-backref{color:var(--text-muted);text-decoration:none;margin-left:.35rem;font-size:.9rem;display:inline-block;transition:all var(--motion-fast) var(--motion-ease)}.footnote-backref:hover{color:var(--link);transform:translate(-2px)}.footnote-backref-list{display:inline;margin-left:.35rem;white-space:nowrap}.footnote-backref-list .footnote-backref{margin-left:.2rem;font-size:.75rem;vertical-align:super}.footnote-backref-list .footnote-backref:first-child{margin-left:.35rem}.footnotes li:target,.footnotes-item:target{background:color-mix(in srgb,var(--link) 8%,transparent);border-radius:4px;padding:.3rem .5rem;margin-left:-.5rem;margin-right:-.5rem;animation:footnote-highlight 2s ease-out}@keyframes footnote-highlight{0%{background:color-mix(in srgb,var(--link) 15%,transparent)}to{background:transparent}}.footnote-ref a:target{animation:footnote-ref-highlight 1s ease-out}@keyframes footnote-ref-highlight{0%,50%{background:color-mix(in srgb,var(--link) 20%,transparent);border-radius:3px;padding:.1rem .2rem;margin:-.1rem -.2rem}to{background:transparent}}.article-content h2+ul:has(>li>a[href^=http]),.article-content section.references ul{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.6rem}.article-content h2+ul:has(>li>a[href^=http]) li,.article-content section.references li{position:relative;padding:.7rem .9rem .7rem 2.2rem;background:var(--bg-alt);border:1px solid var(--border-soft);border-left:3px solid var(--link);border-radius:var(--article-radius, 6px);transition:all var(--motion-fast) var(--motion-ease);line-height:1.6}.article-content h2+ul:has(>li>a[href^=http]) li:before,.article-content section.references li:before{content:"📎";position:absolute;left:.7rem;top:.75rem;font-size:1rem}.article-content h2+ul:has(>li>a[href^=http]) li:hover,.article-content section.references li:hover{background:var(--surface);border-left-color:var(--link-hover);box-shadow:0 2px 8px color-mix(in srgb,var(--text) 6%,transparent);transform:translate(2px)}.article-content h2+ul:has(>li>a[href^=http]) li a,.article-content section.references li a{color:var(--text);text-decoration:none;font-weight:500}.article-content h2+ul:has(>li>a[href^=http]) li a:hover,.article-content section.references li a:hover{color:var(--link)}body.article-page{--article-ink: color-mix(in srgb, var(--text-body) 92%, var(--text) 8%);--article-ink-strong: var(--text);--article-faint: color-mix(in srgb, var(--text-muted) 72%, transparent);--article-hairline: color-mix(in srgb, var(--border-soft) 88%, var(--border) 12%);--article-rule: linear-gradient( 90deg, transparent 0, var(--article-hairline) 12%, color-mix(in srgb, var(--border) 78%, transparent) 52%, var(--article-hairline) 88%, transparent 100% );--article-card-radius: 10px;--article-card-bg: color-mix(in srgb, var(--surface) 94%, var(--surface-muted) 6%);--article-card-bg-soft: color-mix(in srgb, var(--surface-muted) 48%, var(--surface) 52%);--article-card-border: color-mix(in srgb, var(--border) 54%, var(--border-soft) 46%);--article-card-shadow: 0 1px 0 color-mix(in srgb, white 72%, transparent), 0 14px 34px -28px color-mix(in srgb, #2a2a3a 22%, transparent);--article-card-shadow-hover: 0 1px 0 color-mix(in srgb, white 80%, transparent), 0 20px 42px -28px color-mix(in srgb, #2a2a3a 28%, transparent);--article-link-soft: color-mix(in srgb, var(--link) 10%, transparent);--article-meta-bg: color-mix(in srgb, var(--surface) 90%, var(--surface-muted) 10%);--article-meta-top: color-mix(in srgb, white 58%, transparent);--article-meta-border: color-mix(in srgb, var(--border) 48%, var(--border-soft) 52%);--article-meta-divider: color-mix(in srgb, var(--border-soft) 86%, transparent);--article-meta-shadow: 0 1px 0 color-mix(in srgb, white 70%, transparent), 0 16px 36px -30px color-mix(in srgb, #2a2a3a 18%, transparent);--article-meta-frost: color-mix(in srgb, var(--surface) 78%, transparent);--archive-mark-bg: #fbfbfd;--archive-mark-toolbar: #f0f1f6;--archive-mark-toolbar-top: #ffffff;--archive-mark-border: color-mix(in srgb, #c9d0d9 80%, #705697 8%);--archive-mark-divider: color-mix(in srgb, #d8dbe6 86%, transparent);--archive-mark-chip: color-mix(in srgb, #ffffff 86%, #ededf5 14%);--archive-mark-ink: #2d333d;--archive-mark-muted: #6e6e78;--archive-mark-stamp: #cf3028;--article-dateplate-accent: #4b69c6;--article-dateplate-accent-soft: color-mix(in srgb, #4b69c6 12%, #eef1f8 88%);--article-accent-soft: color-mix(in srgb, var(--article-dateplate-accent) 12%, transparent);--archive-mark-shadow: 0 16px 42px -34px color-mix(in srgb, #2a2a3a 28%, transparent)}[data-theme=dark] body.article-page{--article-card-bg: color-mix(in srgb, var(--surface) 88%, var(--bg-alt) 12%);--article-card-bg-soft: color-mix(in srgb, var(--surface-muted) 54%, var(--surface) 46%);--article-card-shadow: 0 16px 36px -28px color-mix(in srgb, #000 82%, transparent);--article-card-shadow-hover: 0 22px 48px -30px color-mix(in srgb, #000 92%, transparent);--article-meta-bg: color-mix(in srgb, var(--surface) 84%, var(--bg-alt) 16%);--article-meta-top: color-mix(in srgb, white 8%, transparent);--article-meta-border: color-mix(in srgb, var(--border) 72%, transparent);--article-meta-shadow: 0 16px 38px -30px color-mix(in srgb, #000 88%, transparent);--article-meta-frost: color-mix(in srgb, var(--surface) 64%, transparent);--archive-mark-bg: #1f232b;--archive-mark-toolbar: #292e37;--archive-mark-toolbar-top: #303642;--archive-mark-border: color-mix(in srgb, #566171 64%, var(--border) 36%);--archive-mark-divider: color-mix(in srgb, #3d4653 82%, transparent);--archive-mark-chip: color-mix(in srgb, #363d49 82%, #222730 18%);--archive-mark-ink: #cbd3df;--archive-mark-muted: #aeb8c7;--archive-mark-stamp: #f05d52;--article-dateplate-accent: #82abd1;--article-dateplate-accent-soft: #263849;--archive-mark-shadow: 0 18px 46px -32px color-mix(in srgb, #000 86%, transparent)}body.article-page .article-shell,body.article-page .article-comments,body.article-page .article-footer{width:min(100%,var(--article-width))}body.article-page .article-shell{padding-top:2.05rem}body.article-page .article-header{margin-bottom:2.35rem;padding-bottom:1.48rem}body.article-page .article-header:after{height:2px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--article-dateplate-accent) 78%,var(--border) 22%) 0 3.6rem,color-mix(in srgb,var(--article-dateplate-accent) 28%,transparent) 3.6rem 5.4rem,color-mix(in srgb,var(--border) 56%,transparent) 5.4rem,color-mix(in srgb,var(--border-soft) 34%,transparent) 64%,transparent 100%);opacity:.94}body.article-page .article-header h1{max-width:42rem;color:var(--text);font-size:clamp(1.92rem,1.7rem + .85vw,2.18rem);font-weight:700;letter-spacing:-.018em;line-height:1.18;text-wrap:balance}body.article-page .article-header .article-meta{--article-meta-unit-height: 5.7rem;display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:.72rem 1.05rem;align-items:stretch;margin-top:1.18rem;margin-left:0;color:var(--text-muted);font-size:.78rem}body.article-page .article-meta-stage{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);gap:.82rem;align-items:stretch}body.article-page .article-dateplate{position:relative;display:grid;width:3.38rem;min-height:var(--article-meta-unit-height);height:100%;grid-template-rows:1.42rem minmax(0,1fr) 1.05rem;align-content:stretch;align-self:stretch;justify-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--article-dateplate-accent) 28%,var(--article-meta-border) 72%);border-radius:11px;background:linear-gradient(180deg,color-mix(in srgb,white 18%,transparent),transparent 46%),linear-gradient(180deg,color-mix(in srgb,var(--article-meta-bg) 92%,transparent),color-mix(in srgb,var(--article-meta-bg) 84%,var(--article-dateplate-accent-soft) 16%));box-shadow:inset 0 1px color-mix(in srgb,white 34%,transparent),inset 0 -1px color-mix(in srgb,var(--border) 18%,transparent),0 1px color-mix(in srgb,white 40%,transparent),0 14px 28px -26px color-mix(in srgb,var(--article-dateplate-accent) 42%,transparent),0 10px 22px -28px color-mix(in srgb,var(--text) 36%,transparent);color:color-mix(in srgb,var(--text) 78%,var(--article-dateplate-accent) 22%);font-variant-numeric:tabular-nums;text-decoration:none;transform:none;transition:none}body.article-page .article-dateplate:before{position:absolute;inset:0 0 auto;height:1.42rem;border-bottom:1px solid color-mix(in srgb,var(--article-dateplate-accent) 36%,transparent);background:linear-gradient(180deg,color-mix(in srgb,white 22%,transparent),transparent),linear-gradient(120deg,color-mix(in srgb,var(--article-dateplate-accent) 86%,#7aa7cf 14%),color-mix(in srgb,var(--article-dateplate-accent) 74%,#3f6f98 26%));content:""}body.article-page .article-dateplate:after{position:absolute;right:.52rem;bottom:1.05rem;left:.52rem;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--article-dateplate-accent) 30%,transparent),transparent);content:""}body.article-page .article-dateplate-month{position:relative;z-index:1;grid-row:1;align-self:center;color:color-mix(in srgb,white 90%,var(--text) 10%);font-family:var(--font-mono);font-size:.63rem;font-weight:700;letter-spacing:.04em;line-height:1;text-shadow:0 1px 0 color-mix(in srgb,#1b3b57 22%,transparent)}body.article-page .article-dateplate-month:after{margin-left:.04rem;content:"月";font-family:var(--font);font-size:.52rem;letter-spacing:0}body.article-page .article-dateplate-day{display:grid;grid-row:2;align-self:center;margin-top:.05rem;color:color-mix(in srgb,var(--text) 84%,var(--article-dateplate-accent) 16%);font-family:var(--font-mono);font-size:1.66rem;font-weight:700;line-height:1;letter-spacing:-.02em}body.article-page .article-dateplate-year{display:grid;grid-row:3;align-self:center;margin:0;color:color-mix(in srgb,var(--article-dateplate-accent) 74%,var(--text-muted) 26%);font-family:var(--font-mono);font-size:.56rem;letter-spacing:.05em;line-height:1}body.article-page .article-meta-board{position:relative;display:grid;min-width:0;min-height:var(--article-meta-unit-height);align-content:center;gap:0;padding:.22rem .72rem .22rem .78rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--article-meta-border) 78%,transparent);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,white 28%,transparent),transparent 52%),color-mix(in srgb,var(--article-meta-frost) 88%,var(--bg-alt) 12%);box-shadow:inset 0 1px color-mix(in srgb,white 42%,transparent),0 12px 28px -28px color-mix(in srgb,var(--text) 42%,transparent);backdrop-filter:blur(12px) saturate(1.08);-webkit-backdrop-filter:blur(12px) saturate(1.08)}body.article-page .article-meta-board:before{position:absolute;inset:0 auto 0 0;width:2px;border-radius:12px 0 0 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--article-dateplate-accent) 72%,transparent),color-mix(in srgb,var(--article-dateplate-accent) 18%,transparent) 72%,transparent);content:"";opacity:.9}body.article-page .article-meta-row{position:relative;display:grid;min-width:0;min-height:1.42rem;grid-template-columns:1.9rem minmax(0,1fr);gap:.48rem;align-items:center;padding:.08rem 0}body.article-page .article-meta-row+.article-meta-row{border-top:1px solid color-mix(in srgb,var(--article-meta-divider) 58%,transparent)}body.article-page .meta-rail-label{color:color-mix(in srgb,var(--text-muted) 58%,transparent);font-family:var(--font);font-size:.62rem;font-weight:560;letter-spacing:.02em;line-height:1;text-align:right;user-select:none}body.article-page .article-meta-index-cluster,body.article-page .article-meta-tags-cluster{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:.16rem .42rem}body.article-page .article-header .meta-item{display:inline-flex;max-width:100%;min-height:1.28rem;align-items:center;gap:.3rem;padding:0;border:0;border-radius:0;background:transparent;color:color-mix(in srgb,var(--text) 72%,var(--text-muted) 28%);line-height:1.3;white-space:nowrap;box-shadow:none;transition:color .16s ease,opacity .16s ease}body.article-page .article-header .meta-temporal{color:color-mix(in srgb,var(--text) 78%,var(--text-muted) 22%);white-space:normal}body.article-page .article-header .meta-weather{color:color-mix(in srgb,var(--text-muted) 78%,var(--text) 22%)}body.article-page .article-header .meta-reading-stats{color:color-mix(in srgb,var(--text-muted) 82%,var(--text) 18%)}body.article-page .article-header .meta-category{color:color-mix(in srgb,var(--text-muted) 84%,var(--text) 16%)}body.article-page .article-header .meta-tags{max-width:100%;min-width:0;color:color-mix(in srgb,var(--text-muted) 82%,var(--text) 18%);font-family:var(--font-mono);font-size:.93em}body.article-page .article-header .meta-item svg{flex:0 0 auto;width:.82rem;height:.82rem;color:currentColor;opacity:.72;stroke:currentColor}body.article-page .article-header .meta-reading-time{display:inline-flex;align-items:center;gap:.2rem}body.article-page .article-header .meta-reading-time svg{width:.76rem;height:.76rem;opacity:.68}body.article-page .article-header .meta-dot{color:color-mix(in srgb,currentColor 46%,transparent)}body.article-page .article-meta-index-cluster .meta-item+.meta-item:before{margin-right:.02rem;color:color-mix(in srgb,currentColor 42%,transparent);content:"·";font-family:var(--font);font-size:.92em;line-height:1;opacity:.78}body.article-page .article-header .article-meta a{color:inherit;text-decoration:none}body.article-page .article-header .article-meta a:hover{color:var(--link);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-decoration-thickness:1px;text-underline-offset:.16em}body.article-page .meta-weather.is-ready{color:color-mix(in srgb,var(--article-dateplate-accent) 42%,var(--text-muted) 58%)}body.article-page .meta-weather [data-weather-text]{display:inline-flex;min-width:0;align-items:center;gap:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.article-page .meta-weather.is-ready [data-weather-icon]{opacity:.9;filter:drop-shadow(0 .1rem .22rem color-mix(in srgb,currentColor 24%,transparent))}body.article-page .meta-weather.is-ready [data-weather-icon=sun]{color:#d89022}body.article-page .meta-weather.is-ready [data-weather-icon=cloudSun]{color:#c68b34}body.article-page .meta-weather.is-ready [data-weather-icon=cloud],body.article-page .meta-weather.is-ready [data-weather-icon=cloudFog]{color:#7f8b99}body.article-page .meta-weather.is-ready [data-weather-icon=cloudRain],body.article-page .meta-weather.is-ready [data-weather-icon=cloudLightning]{color:#3f86b8}body.article-page .meta-weather.is-ready [data-weather-icon=cloudSnow]{color:#6f9fb2}body.article-page .weather-condition{color:color-mix(in srgb,var(--text) 68%,currentColor 32%);font-weight:560}body.article-page .weather-part{display:inline-flex;min-width:0;align-items:baseline;gap:.12rem;color:color-mix(in srgb,var(--text-muted) 62%,currentColor 38%)}body.article-page .weather-part:before{margin:0 .28rem 0 .3rem;color:color-mix(in srgb,currentColor 48%,transparent);content:"·";font-family:var(--font);opacity:.72}body.article-page .weather-part-label{color:color-mix(in srgb,currentColor 56%,transparent);font-size:.82em}body.article-page .weather-part-value{color:color-mix(in srgb,var(--text) 58%,currentColor 42%);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}body.article-page .weather-temperature .weather-part-value{color:color-mix(in srgb,#d89022 42%,var(--text) 58%)}body.article-page .weather-rain .weather-part-value{color:color-mix(in srgb,#3f86b8 56%,var(--text) 44%)}body.article-page .weather-wind .weather-part-value{color:color-mix(in srgb,#5f8f74 52%,var(--text) 48%)}body.article-page .meta-weather.is-loading,body.article-page .meta-weather.has-error{color:color-mix(in srgb,var(--text-muted) 74%,transparent)}body.article-page .meta-weather.is-loading [data-weather-text]{opacity:.78}body.article-page .article-header .meta-tags .tags-array{display:inline-flex;max-width:100%;min-width:0;align-items:center;letter-spacing:0;white-space:nowrap}body.article-page .article-header .meta-tags .tags-list{display:inline-flex;max-width:100%;min-width:0;flex-wrap:nowrap;align-items:center;white-space:nowrap}body.article-page .article-header .meta-tags .tags-pair{display:inline-flex;align-items:center;white-space:nowrap}body.article-page .article-header .meta-tags .tags-item{color:inherit;white-space:nowrap}body.article-page .article-header .meta-tags .tags-bracket,body.article-page .article-header .meta-tags .tags-quote,body.article-page .article-header .meta-tags .tags-comma{flex:0 0 auto;color:color-mix(in srgb,currentColor 58%,transparent);white-space:pre}body.article-page .article-archive-mark{position:relative;display:grid;grid-template-rows:1.42rem minmax(0,1fr);min-width:11rem;min-height:var(--article-meta-unit-height);height:100%;gap:0;align-self:stretch;isolation:isolate;padding:0 .58rem .34rem;overflow:visible;border:1px solid var(--archive-mark-border);border-radius:11px;background:linear-gradient(180deg,color-mix(in srgb,white 14%,transparent),transparent 46%),var(--archive-mark-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,white 12%,transparent),inset 0 1px color-mix(in srgb,white 18%,transparent),var(--archive-mark-shadow);color:var(--archive-mark-muted);font-family:var(--font-mono);font-size:.7rem;font-variant-numeric:tabular-nums;font-weight:400;line-height:1.3;letter-spacing:0;text-align:right;transform:none;transition:none}body.article-page .article-archive-mark:hover,body.article-page .article-archive-mark:focus-within{transform:none}body.article-page .article-archive-mark:before{position:absolute;inset:1px 1px auto;z-index:-1;height:1.42rem;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--archive-mark-toolbar-top),var(--archive-mark-toolbar));border-bottom:1px solid color-mix(in srgb,var(--archive-mark-divider) 58%,transparent);content:""}body.article-page .article-archive-mark:after{position:absolute;top:.12rem;right:.95rem;z-index:4;display:grid;width:2.05rem;height:2.05rem;place-items:center;border:1.5px solid color-mix(in srgb,var(--archive-mark-stamp) 78%,transparent);border-radius:50%;background:transparent;box-shadow:inset 0 0 0 .5px color-mix(in srgb,var(--archive-mark-stamp) 42%,transparent);color:color-mix(in srgb,var(--archive-mark-stamp) 92%,transparent);content:"入";font-family:Kaiti SC,STKaiti,KaiTi,楷体,"Noto Serif CJK SC","Source Han Serif SC",serif;font-size:1.02rem;font-weight:700;line-height:1;opacity:.55;mix-blend-mode:multiply;pointer-events:none;transform:rotate(-14deg)}[data-theme=dark] body.article-page .article-archive-mark:after{opacity:.48;mix-blend-mode:screen}body.article-page .article-archive-mark span:not(.archive-mark-no-tip):not(.archive-mark-no-shell):not(.archive-mark-no-tip-text):not(.archive-mark-no-tip-caret){position:relative;z-index:1;display:block;min-width:0}body.article-page .archive-mark-no-shell{position:relative;z-index:2;display:inline-flex!important;min-width:0;overflow:visible}body.article-page .archive-mark-head{display:flex!important;min-width:0;height:1.42rem;align-items:center;justify-content:flex-start}body.article-page .archive-mark-no{position:relative;display:inline-flex!important;min-width:calc((var(--archive-number-digits, 3) * 1ch) + 1.45rem);align-items:baseline;gap:.08rem;color:color-mix(in srgb,var(--archive-mark-ink) 90%,var(--archive-mark-stamp) 10%);font-size:.95rem;font-weight:620;line-height:1;overflow:visible;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}body.article-page .archive-mark-no-prefix,body.article-page .archive-mark-no-value{display:inline!important}body.article-page .archive-mark-no-prefix{color:color-mix(in srgb,var(--archive-mark-ink) 72%,var(--archive-mark-muted) 28%);font-size:.78rem;font-weight:560;letter-spacing:.04em}body.article-page .archive-mark-no-value{display:inline-block!important;width:calc(var(--archive-number-digits, 3) * 1ch);min-width:calc(var(--archive-number-digits, 3) * 1ch);text-align:left;letter-spacing:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;transition:color .16s ease,text-shadow .16s ease}body.article-page .archive-mark-no:after{position:absolute;inset:-.24rem auto -.24rem -46%;width:42%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--archive-mark-stamp) 18%,transparent),transparent);content:"";opacity:0;pointer-events:none;transform:skew(-18deg)}body.article-page .archive-mark-no.is-counting .archive-mark-no-value{color:color-mix(in srgb,var(--archive-mark-ink) 78%,var(--archive-mark-stamp) 22%);text-shadow:0 0 .5rem color-mix(in srgb,var(--archive-mark-stamp) 16%,transparent)}body.article-page .archive-mark-no.is-locked:after{animation:archive-number-sheen .52s ease-out 1}body.article-page .archive-mark-no.is-rechecking .archive-mark-no-value{color:color-mix(in srgb,var(--archive-mark-ink) 72%,var(--archive-mark-stamp) 28%)}@keyframes archive-number-sheen{0%{opacity:0;transform:translate(0) skew(-18deg)}22%{opacity:.72}to{opacity:0;transform:translate(360%) skew(-18deg)}}body.article-page .archive-mark-ledger{--archive-mark-label-width: 2em;position:relative;display:grid!important;grid-auto-rows:minmax(1.08rem,auto);min-width:0;align-content:center;gap:.08rem;padding:.2rem .2rem .04rem 0;color:color-mix(in srgb,var(--archive-mark-ink) 82%,var(--archive-mark-muted) 18%);outline:none}body.article-page .archive-mark-ledger-row{display:grid!important;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:.55rem;min-height:1.08rem;padding:.05rem 0;border-bottom:0}body.article-page .archive-mark-ledger-row:first-child{margin-bottom:.06rem;padding-bottom:.14rem;border-bottom:1px solid color-mix(in srgb,var(--archive-mark-divider) 52%,transparent)}body.article-page .archive-mark-ledger-date-row{grid-template-columns:minmax(0,1fr)}body.article-page .archive-mark-ledger-date,body.article-page .archive-mark-ledger-code,body.article-page .archive-mark-ledger-revision{display:inline-flex!important;min-width:0;align-items:baseline;white-space:nowrap}body.article-page .archive-mark-ledger-date{justify-content:flex-start;width:100%;gap:.34rem;color:color-mix(in srgb,var(--archive-mark-ink) 86%,var(--archive-mark-muted) 14%);font-family:var(--font-mono);font-size:.66rem;line-height:1.28;letter-spacing:.01em;text-align:left}body.article-page .archive-mark-ledger-date>span:last-child{margin-left:auto;font-variant-numeric:tabular-nums}body.article-page .archive-mark-ledger-updated{justify-content:flex-start;text-align:left}body.article-page .archive-mark-ledger-code{justify-content:flex-start;gap:.28rem;color:color-mix(in srgb,var(--archive-mark-ink) 90%,var(--archive-mark-muted) 10%);font-family:var(--font-mono);font-size:.66rem;line-height:1.28;letter-spacing:.02em;text-align:left}body.article-page .archive-mark-ledger-revision{justify-content:flex-end;color:color-mix(in srgb,var(--archive-mark-muted) 82%,transparent);font-family:var(--font);font-size:.62rem;line-height:1.28;letter-spacing:.01em;text-align:right}body.article-page .archive-mark-label{flex:0 0 auto;min-width:var(--archive-mark-label-width);color:color-mix(in srgb,var(--archive-mark-muted) 80%,transparent);font-family:var(--font);font-size:.62rem;letter-spacing:.02em}body.article-page .article-body{color:var(--article-ink);font-size:1rem;line-height:1.84;text-rendering:optimizeLegibility;font-kerning:normal;font-variant-numeric:oldstyle-nums proportional-nums}body.article-page .article-content>*{max-width:100%}body.article-page .article-content p{margin:1.05rem 0}body.article-page .article-content>p:first-child{margin-top:0}body.article-page .article-content :is(strong,b){color:var(--article-ink-strong);font-weight:650}body.article-page .article-content :is(em,i){color:color-mix(in srgb,var(--text) 88%,var(--text-body) 12%);font-style:italic}body.article-page .article-content abbr[title]{cursor:help;text-decoration:underline dotted color-mix(in srgb,var(--link) 42%,transparent);text-underline-offset:.2em}body.article-page .article-content a{border-radius:3px;color:var(--link);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 30%,transparent);text-underline-offset:.22em;transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),text-decoration-color var(--motion-fast) var(--motion-ease)}body.article-page .article-content a:hover{background:var(--article-link-soft);color:var(--link-hover);text-decoration-color:currentColor}body.article-page .article-content a:focus-visible{outline:2px solid color-mix(in srgb,var(--link) 52%,transparent);outline-offset:3px}body.article-page .article-content :not(pre)>code,body.article-page .article-content .article-file-path{border-color:color-mix(in srgb,var(--border) 70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 24%,transparent),transparent),color-mix(in srgb,var(--code-bg) 86%,var(--surface) 14%);box-shadow:inset 0 1px color-mix(in srgb,var(--surface) 60%,transparent);color:color-mix(in srgb,var(--link) 76%,var(--text) 24%);font-size:.84em;overflow-wrap:anywhere}body.article-page .article-content mark{box-decoration-break:clone;-webkit-box-decoration-break:clone;background:linear-gradient(transparent 54%,color-mix(in srgb,var(--article-dateplate-accent) 24%,transparent) 0),color-mix(in srgb,var(--article-dateplate-accent) 9%,transparent)}body.article-page .article-content del{color:var(--article-faint)}body.article-page .article-content :is(h2,h3,h4,h5,h6){color:var(--article-ink-strong);letter-spacing:-.01em;text-wrap:balance}body.article-page .article-content :is(h2,h3,h4){--heading-tag-open: "<h2>";--heading-tag-close: "</h2>";--heading-accent: var(--link);position:relative;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.42rem;row-gap:.18rem;margin:2.65rem 0 .95rem;padding:0;border:0;border-radius:0;background:none;box-shadow:none}body.article-page .article-content :is(h2,h3,h4):before,body.article-page .article-content :is(h2,h3,h4):after{position:relative;top:-.02em;display:inline-block;flex:0 0 auto;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:color-mix(in srgb,var(--heading-accent) 58%,var(--text-muted) 42%);font-family:var(--font-mono);font-style:normal;font-weight:560;font-variant-ligatures:none;letter-spacing:.03em;line-height:1;white-space:nowrap;opacity:.72;transform:skew(-12deg);pointer-events:none;user-select:none}body.article-page .article-content :is(h2,h3,h4):before{order:0;content:var(--heading-tag-open)}body.article-page .article-content :is(h2,h3,h4):after{order:2;content:var(--heading-tag-close)}body.article-page .article-content :is(h2,h3,h4)>.article-heading-anchor{order:3;margin-left:.12rem}body.article-page .article-content h2{--heading-tag-open: "<h2>";--heading-tag-close: "</h2>";--heading-accent: var(--link);margin:2.85rem 0 .95rem;padding:0;background:none;background-image:none;font-size:clamp(1.34rem,1.24rem + .35vw,1.48rem);font-weight:680;line-height:1.32;letter-spacing:-.014em}body.article-page .article-content h2:before,body.article-page .article-content h2:after{font-size:.82em}body.article-page .article-content h2:first-child,body.article-page .article-content>h2:first-of-type{margin-top:.35rem;padding-top:0}body.article-page .article-content h3{--heading-tag-open: "<h3>";--heading-tag-close: "</h3>";--heading-accent: color-mix(in srgb, var(--link) 58%, var(--text-muted) 42%);margin:2.05rem 0 .68rem;padding:0;font-size:1.14rem;font-weight:650;line-height:1.42;letter-spacing:-.01em}body.article-page .article-content h3:before,body.article-page .article-content h3:after{font-size:.78em}body.article-page .article-content h4{--heading-tag-open: "<h4>";--heading-tag-close: "</h4>";--heading-accent: color-mix(in srgb, var(--text-muted) 62%, var(--link) 38%);margin:1.7rem 0 .55rem;padding:0;color:color-mix(in srgb,var(--text) 92%,var(--text-muted) 8%);font-size:1rem;font-weight:640;font-style:normal;line-height:1.45;letter-spacing:0}body.article-page .article-content h4:before,body.article-page .article-content h4:after{font-size:.74em}body.article-page .article-content :is(h5,h6){margin:1.4rem 0 .48rem;color:color-mix(in srgb,var(--text) 76%,var(--text-muted) 24%);font-family:var(--font-mono);font-size:.86rem;font-weight:600;letter-spacing:.02em;text-transform:none}body.article-page .article-content h5:before{content:"# ";color:color-mix(in srgb,var(--article-dateplate-accent) 48%,var(--text-muted) 52%);font-weight:560}body.article-page .article-content h6:before{content:"## ";color:color-mix(in srgb,var(--article-dateplate-accent) 38%,var(--text-muted) 62%);font-weight:560}body.article-page .article-content h1{margin:0 0 1rem;color:var(--article-ink-strong);font-size:clamp(1.5rem,1.35rem + .4vw,1.72rem);font-weight:700;letter-spacing:-.016em;line-height:1.22;text-wrap:balance}body.article-page .article-heading{scroll-margin-top:1.35rem}body.article-page .article-content .article-heading-anchor{position:relative;top:-.04em;display:inline-grid;min-width:1.28rem;height:1.28rem;flex:0 0 auto;place-items:center;margin:0 0 0 .18rem;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:color-mix(in srgb,var(--text-muted) 78%,var(--link) 22%);font-size:0;line-height:0;text-decoration:none;text-decoration-line:none;text-underline-offset:0;opacity:0;transform:translate(-3px);transition:opacity .14s ease,transform .14s ease,color .14s ease}body.article-page .article-content .article-heading-anchor-icon{display:block;width:.96rem;height:.96rem}body.article-page .article-content .article-heading:hover .article-heading-anchor,body.article-page .article-content .article-heading:focus-within .article-heading-anchor,body.article-page .article-content .article-heading-anchor:focus-visible{opacity:.78;transform:translate(0)}body.article-page .article-content .article-heading-anchor:hover,body.article-page .article-content .article-heading-anchor:focus-visible{color:var(--link);opacity:1}@media(hover:none){body.article-page .article-content .article-heading-anchor{opacity:.42;transform:none}}body.article-page .article-content :is(ul,ol):not(.contains-task-list):not(.article-steps):not(.article-timeline):not(.file-tree):not(.footnotes-list){margin:1.02rem 0 1.16rem;padding-left:1.45rem}body.article-page .article-content li:not(.article-timeline-item):not(.file-tree-item):not(.article-steps-item):not(.footnotes-item){margin-top:.42rem;padding-left:.08rem}body.article-page .article-content li:not(.article-timeline-item):not(.file-tree-item):not(.article-steps-item):not(.footnotes-item)::marker{color:color-mix(in srgb,var(--article-dateplate-accent) 54%,var(--text-muted) 46%);font-weight:650}body.article-page .article-content li:not(.article-timeline-item):not(.footnotes-item)>p{margin:.48rem 0}body.article-page .article-content li:not(.article-timeline-item):not(.footnotes-item)>:is(ul,ol){margin-top:.48rem}body.article-page .article-content .contains-task-list{display:grid;gap:.36rem;margin:1.05rem 0 1.25rem}body.article-page .article-content .task-list-item{min-height:1.9rem;margin:0;padding:.24rem 0 .24rem .1rem}body.article-page .article-content .task-list-item input[type=checkbox]{width:1rem;height:1rem;margin-top:.38em;accent-color:var(--article-dateplate-accent)}body.article-page .article-content blockquote{position:relative;margin:1.45rem 0 1.65rem;padding:.92rem 1.05rem .96rem 1.18rem;border:1px solid var(--article-card-border);border-left:2px solid color-mix(in srgb,var(--article-dateplate-accent) 68%,var(--border) 32%);border-radius:0 10px 10px 0;background:linear-gradient(90deg,var(--article-accent-soft),transparent 46%),color-mix(in srgb,var(--article-card-bg) 92%,transparent);box-shadow:none;color:color-mix(in srgb,var(--article-ink) 94%,var(--text-muted) 6%);font-family:var(--font-serif);font-optical-sizing:auto}body.article-page .article-content blockquote:before{position:absolute;top:.48rem;right:.72rem;color:color-mix(in srgb,var(--article-dateplate-accent) 18%,transparent);content:'"';font-family:var(--font-serif);font-size:2.1rem;line-height:1;pointer-events:none}body.article-page .article-content blockquote>:first-child{margin-top:0}body.article-page .article-content blockquote>:last-child{margin-bottom:0}body.article-page .article-content hr{position:relative;height:1px;margin:2.75rem 0;border:0;background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--border) 48%,transparent) 14%,color-mix(in srgb,var(--article-dateplate-accent) 34%,transparent) 50%,color-mix(in srgb,var(--border) 48%,transparent) 86%,transparent 100%)}body.article-page .article-content hr:after{position:absolute;top:50%;left:50%;width:.34rem;height:.34rem;border:1px solid color-mix(in srgb,var(--article-dateplate-accent) 48%,var(--border) 52%);border-radius:50%;background:var(--bg);content:"";transform:translate(-50%,-50%)}body.article-page .article-table-scroll,body.article-page .article-math-block,body.article-page .article-mermaid,body.article-page .article-echarts,body.article-page .article-file-tree,body.article-page .article-music .aplayer,body.article-page .article-tabs,body.article-page .admonition,body.article-page .article-content details,body.article-page .article-link-card{border-color:var(--article-card-border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 34%,transparent),transparent 5rem),var(--article-card-bg);box-shadow:var(--article-card-shadow);border-radius:var(--article-card-radius)}body.article-page .article-table-scroll:hover,body.article-page .article-math-block:hover,body.article-page .article-mermaid:hover,body.article-page .article-echarts:hover,body.article-page .article-file-tree:hover,body.article-page .article-music .aplayer:hover,body.article-page .admonition:hover,body.article-page .article-link-card:hover{border-color:color-mix(in srgb,var(--article-dateplate-accent) 26%,var(--border) 74%);box-shadow:var(--article-card-shadow-hover)}body.article-page .article-tabs:hover{border-color:var(--article-card-border);box-shadow:var(--article-card-shadow)}body.article-page .article-table-scroll{margin:1.55rem 0 1.85rem;overflow-x:auto;border:1px solid var(--article-card-border)}body.article-page .article-content table{font-size:.88rem;line-height:1.6;border-collapse:collapse}body.article-page .article-content th{color:color-mix(in srgb,var(--text) 88%,var(--article-dateplate-accent) 12%);font-weight:650;background:linear-gradient(180deg,color-mix(in srgb,var(--article-dateplate-accent) 6%,transparent),transparent),var(--article-card-bg-soft);border-bottom:1px solid color-mix(in srgb,var(--article-dateplate-accent) 18%,var(--border) 82%)}body.article-page .article-content th,body.article-page .article-content td{padding:.62rem .86rem;border-bottom:1px solid color-mix(in srgb,var(--border-soft) 78%,transparent)}body.article-page .article-content tbody tr:hover>td{background:color-mix(in srgb,var(--article-dateplate-accent) 7%,var(--surface) 93%)}body.article-page .article-body img,body.article-page .article-video,body.article-page .article-embed{border:1px solid color-mix(in srgb,var(--image-border) 84%,transparent);border-radius:var(--article-card-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 58%,transparent),transparent),var(--surface);box-shadow:var(--article-card-shadow)}body.article-page .article-body img:hover,body.article-page .article-video:hover,body.article-page .article-embed:hover{border-color:color-mix(in srgb,var(--article-dateplate-accent) 28%,var(--image-border) 72%);box-shadow:var(--article-card-shadow-hover)}body.article-page .article-image-caption{margin-top:.42rem;color:color-mix(in srgb,var(--text-muted) 90%,transparent);font-size:.76rem;line-height:1.5}body.article-page .article-image-caption:before{content:"";display:inline-block;width:1.15rem;height:1px;margin-right:.42rem;background:color-mix(in srgb,var(--article-dateplate-accent) 42%,var(--border) 58%);vertical-align:middle}body.article-page .article-content pre{scrollbar-color:color-mix(in srgb,var(--text-muted) 36%,transparent) transparent;scrollbar-width:thin}body.article-page .article-content kbd{position:relative;top:-.02em;display:inline-flex;align-items:center;justify-content:center;min-width:1.95em;min-height:1.72em;margin:0 .1em;padding:.12em .52em .18em;border:1px solid color-mix(in srgb,var(--border) 72%,var(--text) 28%);border-bottom-color:color-mix(in srgb,var(--text) 22%,var(--border) 78%);border-radius:7px;background:linear-gradient(180deg,color-mix(in srgb,white 78%,var(--surface) 22%),color-mix(in srgb,var(--surface) 92%,var(--surface-muted) 8%) 38%,color-mix(in srgb,var(--surface-muted) 58%,var(--surface) 42%));box-shadow:inset 0 1px color-mix(in srgb,white 88%,transparent),inset 0 -1px color-mix(in srgb,var(--text) 10%,transparent),inset 1px 0 color-mix(in srgb,white 28%,transparent),inset -1px 0 color-mix(in srgb,var(--text) 6%,transparent),0 1px color-mix(in srgb,var(--text) 14%,transparent),0 2px color-mix(in srgb,var(--text) 10%,transparent),0 3px 4px -1px color-mix(in srgb,var(--text) 14%,transparent);color:color-mix(in srgb,var(--text) 90%,var(--text-muted) 10%);font-family:-apple-system,BlinkMacSystemFont,var(--font);font-size:.78em;font-weight:650;letter-spacing:.01em;line-height:1.1;vertical-align:.08em;white-space:nowrap;transform:translateY(-1px)}body.article-page .article-content kbd:active{top:0;border-bottom-color:color-mix(in srgb,var(--border) 78%,var(--text) 22%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-muted) 52%,var(--surface) 48%),color-mix(in srgb,var(--surface) 88%,var(--surface-muted) 12%));box-shadow:inset 0 1px 2px color-mix(in srgb,var(--text) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--text) 4%,transparent),0 1px color-mix(in srgb,var(--text) 8%,transparent);transform:translateY(1px)}[data-theme=dark] body.article-page .article-content kbd{border-color:color-mix(in srgb,var(--border) 70%,white 12%);border-bottom-color:color-mix(in srgb,#000 55%,var(--border) 45%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 78%,white 10%),color-mix(in srgb,var(--surface) 88%,var(--surface-muted) 12%) 42%,color-mix(in srgb,var(--surface-muted) 72%,#000 10%));box-shadow:inset 0 1px color-mix(in srgb,white 14%,transparent),inset 0 -1px color-mix(in srgb,#000 35%,transparent),inset 1px 0 color-mix(in srgb,white 6%,transparent),inset -1px 0 color-mix(in srgb,#000 18%,transparent),0 1px color-mix(in srgb,#000 40%,transparent),0 2px color-mix(in srgb,#000 28%,transparent),0 3px 5px -1px color-mix(in srgb,#000 55%,transparent);color:color-mix(in srgb,var(--text) 92%,white 8%)}[data-theme=dark] body.article-page .article-content kbd:active{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-muted) 70%,#000 12%),color-mix(in srgb,var(--surface) 82%,var(--surface-muted) 18%));box-shadow:inset 0 1px 3px color-mix(in srgb,#000 45%,transparent),0 1px color-mix(in srgb,#000 25%,transparent)}body.article-page .article-content details{margin:1.55rem 0 1.8rem;overflow:hidden;border:1px solid var(--article-card-border)}body.article-page .article-content summary{position:relative;padding:.78rem 1rem;color:var(--article-ink-strong);font-weight:620;transition:background-color .14s ease,color .14s ease}body.article-page .article-content summary:hover{background:color-mix(in srgb,var(--article-dateplate-accent) 7%,transparent);color:color-mix(in srgb,var(--article-dateplate-accent) 62%,var(--text) 38%)}body.article-page .article-content summary::marker{color:var(--article-dateplate-accent)}body.article-page .article-file-tree{margin:1.55rem 0 1.8rem;padding:.88rem .9rem;border:1px solid var(--article-card-border);font-family:var(--font-mono);font-size:.84rem}body.article-page .article-file-tree,body.article-page .article-mermaid,body.article-page .article-echarts,body.article-page .article-math-block{margin:1.55rem 0 1.8rem;border:1px solid var(--article-card-border)}body.article-page .admonition{margin:1.45rem 0 1.65rem;padding:.82rem .98rem .88rem 1rem;border:1px solid var(--article-card-border);border-left:2px solid color-mix(in srgb,var(--admonition-accent, var(--article-dateplate-accent)) 82%,var(--border) 18%);border-radius:var(--article-card-radius);background:linear-gradient(90deg,color-mix(in srgb,var(--admonition-accent, var(--article-dateplate-accent)) 7%,transparent),transparent 46%),var(--article-card-bg);box-shadow:var(--article-card-shadow);color:var(--article-ink);font-size:.94em;line-height:1.72}body.article-page .admonition:hover{border-color:color-mix(in srgb,var(--admonition-accent, var(--article-dateplate-accent)) 22%,var(--border) 78%);border-left-color:color-mix(in srgb,var(--admonition-accent, var(--article-dateplate-accent)) 88%,var(--border) 12%);box-shadow:var(--article-card-shadow-hover)}body.article-page .admonition-title{display:block;margin:0 0 .38rem;padding:0;color:color-mix(in srgb,var(--admonition-accent, var(--article-dateplate-accent)) 58%,var(--text) 42%);font-family:var(--font);font-size:.78rem;font-weight:650;letter-spacing:.04em;line-height:1.35;text-transform:uppercase}body.article-page .admonition-title:before{display:none;content:none}body.article-page .admonition :is(p,ul,ol):last-child{margin-bottom:0}body.article-page .admonition.quote{border-left-width:3px;border-left-style:double}body.article-page .admonition.abstract{border-left-style:dashed}body.article-page .article-tabs{margin:1.55rem 0 1.75rem}body.article-page .article-content .gallery{--gallery-radius: var(--article-card-radius);--gallery-gap: .48rem;margin:1.55rem 0 1.8rem}body.article-page .article-content .gallery-item{border:1px solid color-mix(in srgb,var(--image-border) 72%,transparent);border-radius:var(--gallery-radius);overflow:hidden;box-shadow:var(--article-card-shadow);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}body.article-page .article-content .gallery-item:hover{border-color:color-mix(in srgb,var(--article-dateplate-accent) 24%,var(--image-border) 76%);box-shadow:var(--article-card-shadow-hover);transform:translateY(-1px)}body.article-page .article-content .gallery .article-image-caption{margin-top:0;padding:.42rem .62rem .5rem;border-top:1px solid color-mix(in srgb,var(--border-soft) 78%,transparent);background:color-mix(in srgb,var(--article-card-bg) 88%,var(--surface) 12%);color:color-mix(in srgb,var(--text-muted) 92%,transparent);font-size:.74rem;line-height:1.45}body.article-page .article-content .gallery .article-image-caption:before{width:.9rem;margin-right:.36rem;background:color-mix(in srgb,var(--article-dateplate-accent) 36%,var(--border) 64%)}body.article-page .article-music{--article-music-cover: 6.75rem;--article-music-pad-x: 1.05rem;--article-music-pad-top: .95rem;--article-music-pad-bottom: .85rem;margin:1.55rem 0 1.8rem}body.article-page .article-music .aplayer{margin:0;overflow:hidden;border:1px solid var(--article-card-border);border-radius:var(--article-card-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 40%,transparent),transparent 5.5rem),var(--article-card-bg);box-shadow:var(--article-card-shadow);color:var(--article-ink);font-family:var(--font);font-size:.92rem;line-height:1.5;transition:border-color .14s ease,box-shadow .14s ease}body.article-page .article-music .aplayer:hover{border-color:color-mix(in srgb,var(--article-dateplate-accent) 26%,var(--border) 74%);box-shadow:var(--article-card-shadow-hover)}body.article-page .article-music .aplayer .aplayer-body{min-height:var(--article-music-cover)}body.article-page .article-music .aplayer .aplayer-pic{width:var(--article-music-cover)!important;height:var(--article-music-cover)!important;border-right:1px solid color-mix(in srgb,var(--border-soft) 78%,transparent);background-color:var(--article-card-bg-soft)!important;background-size:cover}body.article-page .article-music .aplayer .aplayer-info{margin-left:var(--article-music-cover)!important;height:var(--article-music-cover)!important;box-sizing:border-box;padding:var(--article-music-pad-top) var(--article-music-pad-x) var(--article-music-pad-bottom)!important;border-bottom:0;border-bottom-color:transparent;display:flex;flex-direction:column;justify-content:center;gap:.28rem;overflow:hidden}body.article-page .article-music .aplayer .aplayer-info .aplayer-music{margin:0 0 .12rem!important;height:auto!important;min-height:1.55rem;padding-right:.35rem;overflow:hidden;line-height:1.35}body.article-page .article-music .aplayer .aplayer-title{color:var(--article-ink-strong);font-size:.98rem;font-weight:620;letter-spacing:.005em;line-height:1.35}body.article-page .article-music .aplayer .aplayer-author,body.article-page .article-music .aplayer .aplayer-time,body.article-page .article-music .aplayer .aplayer-list-author{color:var(--text-muted);font-size:.78rem;line-height:1.35}body.article-page .article-music .aplayer .aplayer-controller{display:flex;align-items:center;min-height:1.35rem;margin-top:.18rem}body.article-page .article-music .aplayer .aplayer-icon{color:color-mix(in srgb,var(--text-muted) 88%,var(--article-dateplate-accent) 12%);opacity:.92;transition:color .14s ease,opacity .14s ease}body.article-page .article-music .aplayer .aplayer-icon:hover{color:var(--article-dateplate-accent);opacity:1}body.article-page .article-music .aplayer .aplayer-icon path{fill:currentColor}body.article-page .article-music .aplayer .aplayer-bar-wrap{margin:.12rem 0 0;padding:.28rem 0}body.article-page .article-music .aplayer .aplayer-bar-wrap .aplayer-bar,body.article-page .article-music .aplayer .aplayer-volume-bar-wrap .aplayer-volume-bar{background:color-mix(in srgb,var(--border) 58%,transparent)}body.article-page .article-music .aplayer .aplayer-played,body.article-page .article-music .aplayer .aplayer-volume{background:var(--article-dateplate-accent)!important}body.article-page .article-music .aplayer .aplayer-thumb{background:var(--article-dateplate-accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 70%,transparent)}body.article-page .article-music .aplayer .aplayer-thumb:before,body.article-page .article-music .aplayer .aplayer-thumb .aplayer-loading-icon{border-color:var(--article-dateplate-accent)!important}body.article-page .article-music .aplayer .aplayer-time{top:0;height:auto;line-height:1.35;padding-left:.45rem}body.article-page .article-music .aplayer .aplayer-list{border-top:1px solid color-mix(in srgb,var(--border-soft) 86%,transparent);background:color-mix(in srgb,var(--article-card-bg-soft) 42%,var(--surface) 58%)}body.article-page .article-music .aplayer .aplayer-list ol li{padding:.62rem .95rem!important;border-top-color:color-mix(in srgb,var(--border-soft) 78%,transparent);color:var(--article-ink);font-size:.86rem;line-height:1.45;transition:background-color .14s ease,color .14s ease}body.article-page .article-music .aplayer .aplayer-list ol li:hover,body.article-page .article-music .aplayer .aplayer-list ol li.aplayer-list-light{background:color-mix(in srgb,var(--article-dateplate-accent) 8%,transparent)}body.article-page .article-music .aplayer .aplayer-list ol li.aplayer-list-light{color:color-mix(in srgb,var(--article-dateplate-accent) 42%,var(--text) 58%);font-weight:560}body.article-page .article-music .aplayer .aplayer-list ol li .aplayer-list-cur{background-color:var(--article-dateplate-accent)!important}body.article-page .article-music .aplayer .aplayer-lrc{color:var(--text-muted);font-size:.8rem;text-align:left;margin-bottom:.2rem}body.article-page .article-music .aplayer .aplayer-lrc p{color:inherit}body.article-page .article-music .aplayer .aplayer-lrc:before,body.article-page .article-music .aplayer .aplayer-lrc:after{background:linear-gradient(180deg,var(--article-card-bg),color-mix(in srgb,var(--article-card-bg) 0%,transparent))}body.article-page .article-music .aplayer .aplayer-lrc:after{background:linear-gradient(180deg,color-mix(in srgb,var(--article-card-bg) 0%,transparent),var(--article-card-bg))}body.article-page .article-music .aplayer .aplayer-notice{background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text-muted);border-radius:6px}body.article-page .article-music.is-error{margin:1.55rem 0 1.8rem;padding:.82rem .95rem;border:1px solid var(--article-card-border);border-radius:var(--article-card-radius);background:var(--article-card-bg-soft);box-shadow:var(--article-card-shadow);color:var(--text-muted);font-family:var(--font-mono);font-size:.8rem;line-height:1.55}body.article-page .article-embed,body.article-page .article-video{margin:1.55rem 0 1.8rem}body.article-page .article-embed-facade{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 42%,transparent),color-mix(in srgb,var(--article-dateplate-accent) 8%,transparent)),var(--article-card-bg);color:var(--article-ink-strong)}body.article-page .article-embed-facade:hover,body.article-page .article-embed-facade:focus-visible{color:var(--article-dateplate-accent);background:linear-gradient(180deg,color-mix(in srgb,var(--article-dateplate-accent) 10%,transparent),color-mix(in srgb,var(--text) 8%,transparent)),var(--article-card-bg)}body.article-page .article-embed-facade-play{border-color:color-mix(in srgb,var(--article-card-border) 78%,var(--article-dateplate-accent) 22%);background:color-mix(in srgb,var(--surface) 90%,var(--article-card-bg) 10%);box-shadow:var(--article-card-shadow)}body.article-page .article-embed-facade-label{color:color-mix(in srgb,var(--text-muted) 90%,var(--article-dateplate-accent) 10%);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:620}body.article-page .article-mermaid,body.article-page .article-echarts,body.article-page .article-file-tree,body.article-page .article-music,body.article-page .article-tabs,body.article-page .article-content .gallery,body.article-page .article-embed{content-visibility:auto;contain-intrinsic-size:280px 760px}body.article-page .article-content .article-link-card{display:grid;gap:.22rem;margin:1.45rem 0 1.65rem;padding:.88rem .98rem;border:1px solid var(--article-card-border);color:var(--text);text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}body.article-page .article-content .article-link-card:hover{border-color:color-mix(in srgb,var(--article-dateplate-accent) 34%,var(--border) 66%);transform:translateY(-1px);color:var(--text)}body.article-page .article-content .article-link-card strong{color:color-mix(in srgb,var(--article-dateplate-accent) 62%,var(--text) 38%);font-size:.94rem;line-height:1.45}body.article-page .article-content .article-link-card span{color:var(--text-muted);font-family:var(--font-mono);font-size:.76rem;line-height:1.5}body.article-page .footnotes,body.article-page .footnotes-section,body.article-page .article-content :is(.footnotes,section[data-footnotes]){margin-top:2.4rem;padding:1rem 1.05rem 1.1rem;border:1px solid var(--article-hairline);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 28%,transparent),transparent 4rem),color-mix(in srgb,var(--article-card-bg) 88%,transparent);box-shadow:none;color:color-mix(in srgb,var(--text-muted) 92%,var(--text) 8%);font-size:.82rem;line-height:1.65}body.article-page .footnotes ol,body.article-page .footnotes-list,body.article-page .article-content .footnotes ol,body.article-page .article-content .footnotes-list,body.article-page .article-content .footnotes ol:not(.article-steps){list-style:none!important;margin:0;padding:0!important;counter-reset:none}body.article-page .footnotes li,body.article-page .footnotes-item,body.article-page .article-content .footnotes li,body.article-page .article-content .footnotes-item{display:grid;grid-template-columns:1.45rem minmax(0,1fr);column-gap:.5rem;align-items:start;margin:0 0 .72rem;padding:0;line-height:1.65;list-style:none;counter-increment:none}body.article-page .footnotes li:last-child,body.article-page .footnotes-item:last-child,body.article-page .article-content .footnotes li:last-child,body.article-page .article-content .footnotes-item:last-child{margin-bottom:0}body.article-page .footnotes li::marker,body.article-page .footnotes-item::marker,body.article-page .article-content .footnotes li::marker,body.article-page .article-content .footnotes-item::marker,body.article-page .footnotes li:before,body.article-page .footnotes-item:before,body.article-page .article-content .footnotes li:before,body.article-page .article-content .footnotes-item:before{content:none!important;display:none!important}body.article-page .footnote-index{width:1.45rem;color:color-mix(in srgb,var(--article-dateplate-accent) 72%,var(--link) 28%);font-family:var(--font-mono);font-size:.78rem;font-weight:650;letter-spacing:0;line-height:1.55;text-align:left}body.article-page .footnote-body{min-width:0}body.article-page .footnotes li p,body.article-page .footnotes-item p,body.article-page .footnote-body p,body.article-page .article-content .footnotes li p,body.article-page .article-content .footnotes-item p{display:inline;margin:0}body.article-page .article-content :is(.footnotes,section[data-footnotes]) :is(h2,h3){display:block;margin:0 0 .8rem;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:color-mix(in srgb,var(--text) 72%,var(--text-muted) 28%);font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}body.article-page .article-content :is(.footnotes,section[data-footnotes]) :is(h2,h3):before,body.article-page .article-content :is(.footnotes,section[data-footnotes]) :is(h2,h3):after{display:none;content:none}body.article-page .footnote-ref a{border-radius:3px;color:var(--link);font-family:var(--font-mono);font-size:.78em;text-decoration:none}body.article-page .footnote-ref a:hover{background:color-mix(in srgb,var(--article-dateplate-accent) 10%,transparent)}body.article-page .footnote-tooltip{border:1px solid var(--article-card-border);border-radius:8px;background:var(--article-card-bg);box-shadow:var(--article-card-shadow-hover)}body.article-page .article-timeline{--article-timeline-line: color-mix(in srgb, var(--article-dateplate-accent) 24%, var(--border) 76%);--article-timeline-node-color: color-mix(in srgb, var(--article-dateplate-accent) 72%, var(--text-muted) 28%);--article-timeline-node-size: .56rem;--article-timeline-line-width: 1px;--article-timeline-rail-center: .48rem;--article-timeline-content-indent: 1.55rem;--article-timeline-item-pad-top: .42rem;--article-timeline-item-pad-bottom: .72rem;--article-timeline-content-size: .94rem;--article-timeline-content-lh: 1.62;--article-timeline-timestamp-size: .74rem;--article-timeline-timestamp-lh: 1.4;--article-timeline-timestamp-gap: .16rem;margin:1.55rem 0 1.85rem;padding:0}body.article-page .article-timeline-item:before{border-width:1.5px;border-color:color-mix(in srgb,var(--article-timeline-node-color) 88%,var(--border) 12%);background:var(--bg);outline:3px solid var(--bg);box-shadow:0 0 0 1px color-mix(in srgb,var(--article-timeline-node-color) 12%,transparent)}body.article-page .article-timeline-item:after{background:linear-gradient(180deg,color-mix(in srgb,var(--article-timeline-line) 42%,transparent),var(--article-timeline-line) 18%,var(--article-timeline-line) 82%,color-mix(in srgb,var(--article-timeline-line) 42%,transparent))}body.article-page .article-timeline-item:hover:before{border-color:var(--article-dateplate-accent);background:color-mix(in srgb,var(--article-dateplate-accent) 12%,var(--bg) 88%);outline:4px solid color-mix(in srgb,var(--article-dateplate-accent) 10%,var(--bg) 90%);box-shadow:0 0 0 1px color-mix(in srgb,var(--article-dateplate-accent) 18%,transparent)}body.article-page .article-timeline-item:hover .article-timeline-content{color:var(--article-ink-strong);transform:translate(1px)}body.article-page .article-timeline-item[data-node=dot]:before{background:var(--article-timeline-node-color);box-shadow:none}body.article-page .article-timeline-item[data-type=info]{--article-timeline-node-color: var(--article-dateplate-accent)}body.article-page .article-timeline-item[data-type=success]{--article-timeline-node-color: #4f8f6e}body.article-page .article-timeline-item[data-type=warning]{--article-timeline-node-color: #b8863a}body.article-page .article-timeline-item[data-type=error],body.article-page .article-timeline-item[data-type=danger]{--article-timeline-node-color: #c94b4b}body.article-page .article-timeline-timestamp{color:color-mix(in srgb,var(--text-muted) 82%,var(--article-dateplate-accent) 18%);font-variant-numeric:tabular-nums;letter-spacing:.02em}body.article-page .article-timeline-content{color:var(--article-ink)}body.article-page .article-math-block{margin:1.55rem 0 1.8rem;overflow:hidden;border:1px solid var(--article-card-border);border-radius:var(--article-card-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 48%,transparent),transparent 4.2rem),color-mix(in srgb,var(--article-card-bg) 88%,var(--article-dateplate-accent-soft) 12%);box-shadow:var(--article-card-shadow)}body.article-page .article-math-block:hover{border-color:color-mix(in srgb,var(--article-dateplate-accent) 22%,var(--border) 78%);box-shadow:var(--article-card-shadow-hover)}body.article-page .article-content .katex-display{display:block;margin:0;overflow-x:auto;overflow-y:hidden;padding:1.05rem 1.15rem 1.1rem;text-align:center;scrollbar-width:thin}body.article-page .article-content .katex-display>.katex{display:block;max-width:none;text-align:center;white-space:nowrap}body.article-page .article-content .katex,body.article-page .article-content .katex *{max-width:none}body.article-page .article-content .katex svg{max-width:none;height:inherit}body.article-page .article-content .katex-mathml{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;border:0!important;white-space:nowrap!important;user-select:none!important;-webkit-user-select:none!important;pointer-events:none!important}body.article-page .article-content .katex .vlist-s{user-select:none!important;-webkit-user-select:none!important}body.article-page .article-math-copy{user-select:none}body.article-page .article-content :not(.katex-display)>.katex{padding:.02em .1em;border-radius:4px;background:color-mix(in srgb,var(--article-dateplate-accent) 5%,transparent)}body.article-page .article-toc{position:fixed;top:6.4rem;left:calc(50% + (var(--article-media-width) / 2) + 1.75rem);width:var(--article-toc-width);max-height:calc(100vh - 8rem);margin:0;padding:.72rem .75rem .76rem .8rem;overflow:auto;border:1px solid var(--article-card-border);border-left:2px solid color-mix(in srgb,var(--article-dateplate-accent) 52%,var(--border) 48%);border-radius:10px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 42%,transparent),transparent 70%),color-mix(in srgb,var(--article-card-bg) 86%,transparent);box-shadow:0 10px 28px -28px color-mix(in srgb,var(--text) 48%,transparent);backdrop-filter:blur(10px);color:var(--text-muted);font-size:.8rem;line-height:1.45;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 28%,transparent) transparent}body.article-page .article-toc-title{display:flex;align-items:center;gap:.42rem;margin:0 0 .42rem;color:color-mix(in srgb,var(--text) 68%,var(--text-muted) 32%);font-family:var(--font-mono);font-size:.68rem;font-weight:560;letter-spacing:.1em;text-transform:uppercase}body.article-page .article-toc-title:before{width:.36rem;height:.36rem;border:1px solid color-mix(in srgb,var(--article-dateplate-accent) 56%,var(--border) 44%);border-radius:50%;background:color-mix(in srgb,var(--article-dateplate-accent) 16%,transparent);content:"";box-shadow:0 0 0 3px color-mix(in srgb,var(--article-dateplate-accent) 8%,transparent)}body.article-page .article-toc-list{list-style:none;margin:0;padding:0}body.article-page .article-toc-item{margin:0}body.article-page .article-toc-h3{padding-left:.9rem}body.article-page .article-toc-link{display:block;position:relative;overflow:hidden;padding:.22rem .42rem .22rem .68rem;border-radius:6px;color:color-mix(in srgb,var(--text-muted) 92%,var(--text) 8%);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;transition:color .14s ease,background-color .14s ease}body.article-page .article-toc-link:hover,body.article-page .article-toc-link:focus-visible{background:color-mix(in srgb,var(--article-dateplate-accent) 8%,transparent);color:color-mix(in srgb,var(--article-dateplate-accent) 72%,var(--text) 28%)}body.article-page .article-toc-link.is-active{color:color-mix(in srgb,var(--article-dateplate-accent) 78%,var(--text) 22%);background:color-mix(in srgb,var(--article-dateplate-accent) 8%,transparent);font-weight:560}body.article-page .article-toc-link.is-active:before{position:absolute;top:.38rem;bottom:.38rem;left:.22rem;width:2px;border-radius:999px;background:color-mix(in srgb,var(--article-dateplate-accent) 82%,transparent);content:""}body.article-page .article-footer{margin-top:2.35rem;padding-top:1.35rem;border-top:1px solid var(--article-hairline)}body.article-page .article-nav{gap:.78rem}body.article-page .article-nav-card{position:relative;min-height:4.35rem;padding:.82rem .92rem .86rem;border:1px solid var(--article-card-border);border-radius:var(--article-card-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 40%,transparent),transparent 72%),var(--article-card-bg);box-shadow:var(--article-card-shadow);overflow:hidden;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,color .14s ease}body.article-page .article-nav-card:before{position:absolute;top:0;bottom:0;width:2px;background:color-mix(in srgb,var(--article-dateplate-accent) 58%,transparent);opacity:0;content:"";transition:opacity .14s ease}body.article-page .article-nav-prev:before{left:0}body.article-page .article-nav-next:before{right:0}body.article-page .article-nav-card:hover{border-color:color-mix(in srgb,var(--article-dateplate-accent) 34%,var(--border) 66%);box-shadow:var(--article-card-shadow-hover);transform:translateY(-1px);color:var(--text)}body.article-page .article-nav-card:hover:before{opacity:1}body.article-page .article-nav-card:hover .article-nav-title{color:color-mix(in srgb,var(--article-dateplate-accent) 72%,var(--text) 28%)}body.article-page .article-nav-label{margin-bottom:.32rem;color:color-mix(in srgb,var(--text-muted) 88%,transparent);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}body.article-page .article-nav-title{color:var(--article-ink-strong);font-size:.92rem;font-weight:560;line-height:1.4;transition:color .14s ease}body.article-page .article-nav-empty{opacity:.72}body.article-page .article-nav-empty:hover{border-color:var(--article-card-border);box-shadow:var(--article-card-shadow);transform:none}body.article-page .article-nav-empty:hover:before{opacity:0}body.article-page .article-nav-empty:hover .article-nav-title{color:inherit}body.article-page .article-nav-placeholder{color:color-mix(in srgb,var(--text-muted) 86%,transparent);font-size:.88rem}body.article-page .reading-progress{height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--article-dateplate-accent) 92%,white 8%),color-mix(in srgb,var(--article-dateplate-accent) 62%,var(--link) 38%));box-shadow:0 0 10px color-mix(in srgb,var(--article-dateplate-accent) 28%,transparent)}@media(max-width:1180px){body.article-page .article-toc{position:static;top:auto;left:auto;width:auto;max-height:7.2rem;margin:.9rem 0 1.45rem;padding:.62rem .7rem .66rem}body.article-page .article-toc-list{display:flex;gap:.28rem;overflow-x:auto;padding-bottom:.04rem;scrollbar-width:none}body.article-page .article-toc-list::-webkit-scrollbar{display:none}body.article-page .article-toc-item{flex:0 0 auto}body.article-page .article-toc-h3{padding-left:0}body.article-page .article-toc-link{max-width:12rem;padding:.2rem .54rem;border:1px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--surface-muted) 26%,transparent);font-size:.74rem}body.article-page .article-toc-link.is-active{border-color:color-mix(in srgb,var(--article-dateplate-accent) 28%,transparent);background:color-mix(in srgb,var(--article-dateplate-accent) 10%,transparent)}body.article-page .article-toc-link.is-active:before{display:none}}@media(max-width:720px){body.article-page .article-nav{grid-template-columns:1fr}}@media(max-width:640px){body.article-page .article-shell{padding-top:1.15rem}body.article-page .article-header{margin-bottom:1.55rem;padding-bottom:1.22rem}body.article-page .article-header:after{height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--article-dateplate-accent) 78%,var(--border) 22%) 0 2.5rem,color-mix(in srgb,var(--article-dateplate-accent) 24%,transparent) 2.5rem 3.8rem,color-mix(in srgb,var(--border) 48%,transparent) 3.8rem,transparent 100%)}body.article-page .article-header h1{font-size:1.78rem;letter-spacing:-.012em;line-height:1.18}body.article-page .article-header .article-meta{--article-meta-unit-height: auto;width:100%;grid-template-columns:minmax(0,1fr);gap:.68rem;margin-top:1.02rem}body.article-page .article-meta-stage{grid-template-columns:3.15rem minmax(0,1fr);gap:.62rem;align-items:stretch}body.article-page .article-dateplate{width:3.15rem;height:auto;min-height:4.75rem;grid-template-rows:1.28rem minmax(0,1fr) .98rem}body.article-page .article-dateplate:before{height:1.28rem}body.article-page .article-dateplate:after{bottom:.98rem}body.article-page .article-dateplate-day{font-size:1.48rem}body.article-page .article-meta-board{min-height:0;padding:.14rem .58rem .14rem .62rem;border-radius:11px;backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05)}body.article-page .article-meta-row{min-height:1.32rem;grid-template-columns:1.7rem minmax(0,1fr);gap:.34rem;padding:.06rem 0}body.article-page .meta-rail-label{font-size:.58rem}body.article-page .article-header .meta-item{min-height:1.2rem;font-size:.72rem}body.article-page .article-meta-index-cluster,body.article-page .article-meta-tags-cluster{gap:.12rem .32rem}body.article-page .article-header .meta-temporal,body.article-page .meta-weather [data-weather-text]{white-space:normal}body.article-page .article-archive-mark{width:100%;min-width:0;height:auto;min-height:0;grid-template-rows:auto auto;gap:.06rem;padding:.22rem .56rem .3rem;border-radius:9px;font-size:.64rem;text-align:left;box-shadow:inset 0 0 0 1px color-mix(in srgb,white 10%,transparent),0 10px 28px -30px color-mix(in srgb,var(--text) 36%,transparent)}body.article-page .article-archive-mark:before{height:1.12rem;border-radius:8px 8px 0 0}body.article-page .article-archive-mark:after{top:.04rem;right:.58rem;width:1.48rem;height:1.48rem;border-width:1.25px;font-size:.78rem;opacity:.4}body.article-page .archive-mark-head{height:1.02rem}body.article-page .archive-mark-no{font-size:.78rem;letter-spacing:.01em}body.article-page .archive-mark-no-prefix{font-size:.64rem}body.article-page .archive-mark-ledger{gap:.04rem;padding:.08rem .08rem 0 0}body.article-page .archive-mark-ledger-row{gap:.32rem;min-height:.92rem;padding:.02rem 0}body.article-page .archive-mark-ledger-row:first-child{margin-bottom:.02rem;padding-bottom:.06rem}body.article-page .archive-mark-ledger-date,body.article-page .archive-mark-ledger-code{font-size:.62rem}body.article-page .archive-mark-ledger-revision,body.article-page .archive-mark-label{font-size:.58rem}body.article-page .archive-mark-label{letter-spacing:.02em}body.article-page .article-toc{max-height:6.6rem;margin:.15rem 0 1.15rem;padding:.52rem .58rem .58rem;border-radius:8px}body.article-page .article-body{font-size:1rem;line-height:1.82}body.article-page .article-content p{margin:1rem 0}body.article-page .article-content h2{margin-top:2.55rem;padding-top:0;font-size:1.34rem}body.article-page .article-content h2:first-child,body.article-page .article-content>h2:first-of-type{margin-top:.35rem;padding-top:0}body.article-page .article-content h3{margin-top:1.85rem;font-size:1.12rem}body.article-page .article-content blockquote{padding:.92rem 1rem .98rem}body.article-page .article-content :is(ul,ol):not(.contains-task-list):not(.article-steps):not(.article-timeline):not(.file-tree):not(.footnotes-list){padding-left:1.28rem}body.article-page .article-content pre,body.article-page .article-table-scroll,body.article-page .article-content .expressive-code,body.article-page .article-math-block,body.article-page .article-mermaid,body.article-page .article-echarts,body.article-page .article-file-tree,body.article-page .article-tabs,body.article-page .admonition{margin-right:0;margin-left:0;border-radius:.72rem}body.article-page .article-content pre{padding:.95rem}body.article-page .article-content table{display:table;width:max-content;min-width:100%;white-space:normal}body.article-page .article-body img,body.article-page .article-video,body.article-page .article-embed{border-radius:.72rem;padding:2px}body.article-page .article-image-caption{margin-bottom:1.45rem}body.article-page .tabs-nav{overflow-x:auto;scrollbar-width:none}body.article-page .tabs-nav::-webkit-scrollbar{display:none}body.article-page .footnotes{padding:1rem;border-right:1px solid var(--article-card-border);border-left:1px solid var(--article-card-border);border-radius:.72rem}body.article-page .article-nav-card{box-shadow:none}}body.article-page{--article-code-window: #f7f7fa;--article-code-toolbar: #efeff5;--article-code-toolbar-top: #fbfbfe;--article-code-border: color-mix(in srgb, #c9d0d9 78%, #a8aec4 22%);--article-code-divider: color-mix(in srgb, #d5d6e2 86%, transparent);--article-code-text: #333333;--article-code-muted: #6e6e78;--article-code-button: color-mix(in srgb, #ffffff 90%, #ededf5 10%);--article-code-button-hover: #ffffff;--article-code-button-active: #eef8f1;--article-code-button-active-text: #448c27;--article-code-shadow: 0 1px 0 color-mix(in srgb, white 70%, transparent), 0 16px 42px -34px color-mix(in srgb, #2a2a3a 22%, transparent)}[data-theme=dark] body.article-page{--article-code-window: #1a1b26;--article-code-toolbar: #1e2030;--article-code-toolbar-top: #24283b;--article-code-border: color-mix(in srgb, #3b4261 78%, var(--border) 22%);--article-code-divider: color-mix(in srgb, #3b4261 82%, transparent);--article-code-text: #a9b1d6;--article-code-muted: #828bb8;--article-code-button: color-mix(in srgb, #2f334d 82%, #1a1b26 18%);--article-code-button-hover: #3b4261;--article-code-button-active: color-mix(in srgb, #1f3a2b 78%, #1a1b26 22%);--article-code-button-active-text: #c3e88d;--article-code-shadow: 0 18px 46px -32px color-mix(in srgb, #000 86%, transparent)}body.article-page .article-content .expressive-code{margin:1.75rem 0 2.05rem}body.article-page .article-content .expressive-code .frame{position:relative;overflow:hidden;border:1px solid var(--article-code-border);border-radius:var(--article-card-radius);background:var(--article-code-window);box-shadow:var(--article-card-shadow)}body.article-page .article-content .expressive-code .frame:hover{border-color:color-mix(in srgb,var(--article-code-border) 72%,var(--article-dateplate-accent) 28%);box-shadow:var(--article-card-shadow-hover)}body.article-page .article-content .expressive-code .frame figcaption.header{position:relative;display:grid;min-height:2.38rem;align-items:center;border:0;border-bottom:1px solid var(--article-code-divider);border-radius:calc(var(--article-card-radius) - 1px) calc(var(--article-card-radius) - 1px) 0 0;background:linear-gradient(180deg,var(--article-code-toolbar-top),var(--article-code-toolbar))}body.article-page .article-content .expressive-code .frame figcaption.header:before{position:absolute;top:50%;left:.82rem;width:.66rem;height:.66rem;border:0;border-radius:50%;background:#ff5f57;box-shadow:1rem 0 #febc2e,2rem 0 #28c840;content:"";transform:translateY(-50%)}body.article-page .article-content .expressive-code .frame figcaption.header .title{display:block;min-width:0;max-width:min(19rem,calc(100% - 10.5rem));margin:0 auto;padding:0;overflow:hidden;background:transparent;color:var(--article-code-muted);font-family:var(--font);font-size:.76rem;font-weight:650;letter-spacing:0;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}body.article-page .article-content .expressive-code .frame figcaption.header .title:before,body.article-page .article-content .expressive-code .frame figcaption.header .title:after{display:none;content:none}body.article-page .article-content .expressive-code .frame pre{margin:0;border:0;border-radius:0;background:transparent;color:var(--article-code-text);scrollbar-color:color-mix(in srgb,var(--article-code-muted) 36%,transparent) transparent}body.article-page .article-content .expressive-code .frame pre code{display:block;padding:1.02rem 0 1.08rem}body.article-page .article-content .expressive-code .ec-line{min-height:1.48rem}body.article-page .article-content .expressive-code .ec-line .code{padding-right:1.28rem;padding-left:1.28rem}[data-theme=light] body.article-page .article-content .expressive-code .ec-line :where(span[style^=--]:not([class])){color:var(--0, inherit);background-color:var(--0bg, transparent);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)}[data-theme=dark] body.article-page .article-content .expressive-code .ec-line :where(span[style^=--]:not([class])){color:var(--1, inherit);background-color:var(--1bg, transparent);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}body.article-page .article-content .expressive-code .copy{position:absolute;z-index:4;top:.44rem;right:.52rem;bottom:auto;left:auto;width:auto;height:auto}body.article-page .article-content .expressive-code .copy>div[aria-live]{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap}body.article-page .article-content .expressive-code .copy button{display:inline-flex;inline-size:auto!important;min-inline-size:2.95rem;block-size:1.48rem!important;align-items:center;justify-content:center;gap:.04rem;padding:0 .3rem;border:1px solid color-mix(in srgb,var(--article-code-border) 82%,transparent);border-radius:7px;background:var(--article-code-button);box-shadow:inset 0 1px color-mix(in srgb,#fff 34%,transparent),0 1px 1px color-mix(in srgb,#000 8%,transparent);color:var(--article-code-muted);font-family:var(--font);font-size:.67rem;font-weight:650;line-height:1;opacity:.86;transition:border-color var(--motion-fast) var(--motion-ease),background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}body.article-page .article-content .expressive-code .copy button:after{position:static;display:inline;width:auto;height:auto;background:transparent;color:currentColor;content:attr(data-copy-label);mask:none;-webkit-mask:none}body.article-page .article-content .expressive-code .copy button:before{position:static;display:block;width:.7rem;height:.7rem;background:currentColor;content:"";opacity:.82;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='4' width='11' height='13' rx='2'/%3E%3Cpath d='M5 8v10a2 2 0 0 0 2 2h8'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='4' width='11' height='13' rx='2'/%3E%3Cpath d='M5 8v10a2 2 0 0 0 2 2h8'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat}body.article-page .article-content .expressive-code .copy button:hover,body.article-page .article-content .expressive-code .copy button:focus-visible{background:var(--article-code-button-hover);color:var(--article-code-text);opacity:1;transform:translateY(-1px)}body.article-page .article-content .expressive-code .copy button:focus-visible{outline:2px solid color-mix(in srgb,var(--link) 48%,transparent);outline-offset:2px}body.article-page .article-content .expressive-code .frame[data-copy-state=copying] .copy button,body.article-page .article-content .expressive-code .frame[data-copy-state=copied] .copy button{background:var(--article-code-button-active);color:var(--article-code-button-active-text);opacity:1}body.article-page .article-content .expressive-code .frame[data-copy-state=copied] .copy button:before{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 12 4 4 10-10' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5 12 4 4 10-10' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}body.article-page .article-content .expressive-code .frame[data-copy-state=failed] .copy button{background:color-mix(in srgb,#ff5f57 12%,var(--article-code-button) 88%);color:color-mix(in srgb,#ff5f57 72%,var(--article-code-text) 28%);opacity:1}body.article-page .article-content .expressive-code .copy button div{display:none}@media(max-width:640px){body.article-page .article-content .expressive-code{margin:1.45rem 0 1.72rem}body.article-page .article-content .expressive-code .frame{border-radius:10px}body.article-page .article-content .expressive-code .frame figcaption.header{min-height:3rem;border-radius:9px 9px 0 0}body.article-page .article-content .expressive-code .frame figcaption.header:before{left:.72rem;width:.58rem;height:.58rem;box-shadow:.86rem 0 #febc2e,1.72rem 0 #28c840}body.article-page .article-content .expressive-code .frame figcaption.header .title{max-width:calc(100% - 3.9rem);font-size:.72rem}body.article-page .article-content .expressive-code .copy{top:.25rem;right:.22rem}body.article-page .article-content .expressive-code .copy button{position:relative;min-inline-size:2.5rem;block-size:2.5rem!important;align-items:center;justify-content:center;gap:0;padding:0;border-radius:9px;font-size:0;line-height:0}body.article-page .article-content .expressive-code .copy button:before{position:absolute;inset:0;display:block;width:.94rem;height:.94rem;margin:auto;transform:translateY(1px);opacity:.88;mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.5' y='3.5' width='11' height='13' rx='2'/%3E%3Cpath d='M5.5 7.5v10a2 2 0 0 0 2 2h8'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.5' y='3.5' width='11' height='13' rx='2'/%3E%3Cpath d='M5.5 7.5v10a2 2 0 0 0 2 2h8'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat}body.article-page .article-content .expressive-code .copy button:after{display:none;content:none}body.article-page .article-content .expressive-code .frame[data-copy-state=copied] .copy button:before{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5.5 12.5 4 4 9-9' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m5.5 12.5 4 4 9-9' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}body.article-page .article-content .expressive-code .copy button:hover,body.article-page .article-content .expressive-code .copy button:focus-visible{transform:none}body.article-page .article-content .expressive-code .ec-line .code{padding-right:1rem;padding-left:1rem}}body.article-page{--article-card-radius: var(--radius-md);--article-card-shadow: none;--article-card-shadow-hover: none;--article-meta-unit-height: auto}body.article-page .article-shell{padding-top:2.4rem}body.article-page .article-header{margin-bottom:2.6rem;padding-bottom:.75rem;overflow:visible}body.article-page .article-header:after{height:1px;border-radius:0;background:var(--dash-rule)}body.article-page .article-header h1{max-width:43rem;font-size:2.125rem;text-wrap:pretty;font-weight:680;letter-spacing:0;line-height:1.24}body.article-page .article-header .article-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem 1.1rem;align-items:start;margin-top:1rem;font-size:var(--text-2xs)}body.article-page .article-meta-stage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:start}body.article-page .article-dateplate{position:relative;display:grid;align-self:start;box-sizing:border-box;margin-top:.4rem;width:4.625rem;min-height:0;height:3.5rem;grid-template-rows:1.2rem minmax(0,1fr);padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--link) 18%,var(--border) 82%);border-radius:3px;background:var(--bg);box-shadow:none;color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}body.article-page .article-dateplate:before{display:block;position:absolute;inset:0 0 auto;height:2px;background:color-mix(in srgb,var(--link) 72%,var(--border) 28%);content:""}body.article-page .article-dateplate:after{display:none}body.article-page .article-dateplate-head{display:flex;box-sizing:border-box;width:100%;align-items:center;justify-content:center;padding:2px .35rem 0;border-bottom:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface-muted) 72%,var(--bg) 28%)}body.article-page .article-dateplate-body{position:relative;display:grid;box-sizing:border-box;width:100%;grid-template-columns:minmax(0,1fr) 2.25rem;align-items:stretch;padding:0}body.article-page .article-dateplate-body:after{position:absolute;top:.45rem;bottom:.45rem;left:calc(100% - 2.25rem);width:1px;background:color-mix(in srgb,var(--text-muted) 34%,var(--border) 66%);content:""}body.article-page .article-dateplate-year,body.article-page .article-dateplate-month{position:static;display:block;align-self:auto;grid-row:auto;margin:0;color:var(--text-muted);font-size:var(--text-2xs);font-weight:600;letter-spacing:0;line-height:1}body.article-page .article-dateplate-year{color:var(--text-muted);font-size:.6875rem}body.article-page .article-dateplate-month{display:grid;grid-column:1;grid-row:1;place-items:center;color:var(--text-muted);white-space:nowrap}body.article-page .article-dateplate-month:after{display:none;content:none}body.article-page .article-dateplate-day{display:grid;grid-column:2;grid-row:1;align-self:center;margin:0;place-items:center;color:var(--text);font-size:1.25rem;font-weight:700;line-height:1}body.article-page .article-meta-board{display:grid;min-height:1.8rem;grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:center;gap:.16rem .8rem;padding:.28rem 0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}body.article-page .article-meta-board:before{display:none}body.article-page .article-meta-row{display:flex;min-height:1.25rem;width:auto;grid-template-columns:none;gap:.36rem;padding:0}body.article-page .article-meta-temporal-row{grid-column:1;grid-row:1}body.article-page .article-meta-weather-row{grid-column:2;grid-row:1}body.article-page .article-meta-index-row{grid-column:1 / -1;grid-row:2}body.article-page .article-meta-tags-row{grid-column:1 / -1;grid-row:3}body.article-page .article-meta-row+.article-meta-row{border-top:0}body.article-page .article-meta-row+.article-meta-row:before{display:none}body.article-page .meta-rail-label{display:none}body.article-page .article-meta-index-cluster,body.article-page .article-meta-tags-cluster{gap:.15rem .38rem}body.article-page .article-header .meta-item{min-height:1.2rem;font-size:var(--text-2xs)}body.article-page .article-header :is(.weather-part-label,.tags-bracket,.tags-quote,.tags-comma,.tags-item){font-size:var(--text-2xs)}body.article-page .article-header .meta-item svg{width:.72rem;height:.72rem}body.article-page .article-header .meta-tags .tags-array{max-width:21rem;overflow:hidden;text-overflow:ellipsis}body.article-page .article-archive-mark{display:grid;min-width:8.7rem;min-height:auto;height:auto;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto;gap:.6rem;align-items:start;padding:.4rem 0 .4rem .75rem;overflow:visible;border:0;border-left:1px dashed var(--rule-dashed);border-radius:0;background:transparent;box-shadow:none;color:var(--text-muted);font-size:var(--text-2xs);text-align:left}body.article-page .article-archive-mark:before,body.article-page .article-archive-mark:after{display:none}body.article-page .archive-mark-head{display:grid!important;width:max-content;height:auto;grid-template-columns:max-content;grid-template-rows:repeat(3,1.15rem);row-gap:.16rem;align-items:center;justify-items:center}body.article-page .archive-mark-no-shell{position:relative;grid-column:1;display:inline-flex!important;width:max-content;max-width:100%;min-width:0;align-items:center;justify-content:center;overflow:visible}body.article-page .archive-mark-no{position:relative;width:max-content;min-width:calc((var(--archive-number-digits, 3) * 1ch) + 1.2rem);overflow:visible;color:var(--signal);font-size:var(--text-xs);cursor:help;outline:none}body.article-page .archive-mark-no-value{width:calc(var(--archive-number-digits, 3) * 1ch);min-width:calc(var(--archive-number-digits, 3) * 1ch);letter-spacing:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}body.article-page .archive-mark-no-shell>.archive-mark-no-tip{--archive-tip-border: color-mix(in srgb, var(--border) 58%, var(--signal) 42%);--archive-tip-bg: var(--surface);position:absolute!important;top:auto;right:auto;bottom:calc(100% + .82rem);left:calc(100% - (var(--archive-number-digits, 3) * .5ch));z-index:40;display:block!important;width:max-content!important;max-width:12rem;min-width:0!important;padding:.38rem .62rem .4rem;overflow:visible!important;border:1px solid var(--archive-tip-border);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 90%,var(--signal) 10%),var(--archive-tip-bg) 56%);box-shadow:0 1px color-mix(in srgb,#fff 48%,transparent) inset,0 12px 28px -18px color-mix(in srgb,var(--text) 48%,transparent);color:var(--text);font-family:var(--font);font-size:.7rem;font-weight:620;letter-spacing:.01em;line-height:1.35;white-space:nowrap;opacity:0;pointer-events:none;transform:translate3d(-50%,0,0);transform-origin:50% 100%;transition:opacity .14s ease,visibility 0s linear .14s;visibility:hidden;will-change:opacity}body.article-page .archive-mark-no-tip-text{position:relative;z-index:1;display:block!important;min-width:0!important}body.article-page .archive-mark-no-tip-caret{position:absolute!important;top:100%;left:50%;z-index:3;display:block!important;width:0!important;height:0!important;min-width:0!important;margin-top:-1px;border-style:solid!important;border-width:9px 8px 0!important;border-color:var(--archive-tip-border) transparent transparent transparent!important;background:transparent!important;box-shadow:none!important;pointer-events:none;transform:translate(-50%)}body.article-page .archive-mark-no-tip-caret:after{position:absolute!important;top:-9px;left:50%;width:0!important;height:0!important;border-style:solid!important;border-width:8px 7px 0!important;border-color:var(--archive-tip-bg) transparent transparent transparent!important;content:""!important;transform:translate(-50%)}body.article-page .archive-mark-no-tip-caret:before{content:none!important;display:none!important}@media(hover:hover){body.article-page .archive-mark-no-shell:hover>.archive-mark-no-tip{opacity:1;visibility:visible;transition-delay:60ms,0s}}body.article-page .archive-mark-no-shell:focus-within>.archive-mark-no-tip{opacity:1;visibility:visible;transition-delay:0s,0s}body.article-page .archive-mark-no:focus-visible{border-radius:4px;outline:2px solid color-mix(in srgb,var(--signal) 34%,transparent);outline-offset:2px}@media(prefers-reduced-motion:reduce){body.article-page .archive-mark-no-shell>.archive-mark-no-tip{transition:opacity 80ms linear,visibility 0s linear 80ms}}body.article-page .archive-mark-revision{display:contents!important;color:var(--text-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1}body.article-page .archive-mark-revision-label{grid-column:1;grid-row:2;align-self:center;justify-self:center;margin-inline-end:-.48em;font-size:var(--text-2xs);font-weight:600;letter-spacing:.48em;text-align:center;white-space:nowrap}body.article-page .archive-mark-revision-count{display:inline-flex!important;grid-column:1;grid-row:3;align-self:center;justify-self:center;align-items:baseline;justify-content:center;gap:.48rem;color:var(--text-muted);white-space:nowrap}body.article-page .archive-mark-revision-value{display:inline!important;color:var(--text);font-size:var(--text-md);font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}body.article-page .archive-mark-revision-unit{display:inline!important;font-size:var(--text-2xs);font-weight:600;letter-spacing:0}body.article-page .archive-mark-ledger{grid-template-rows:repeat(3,1.15rem);gap:.16rem;padding:0}body.article-page .archive-mark-ledger-row{min-height:0;gap:.35rem;align-items:center;padding:0;border:0;background:transparent}body.article-page .archive-mark-ledger-row+.archive-mark-ledger-row{margin-top:0}body.article-page .article-archive-mark :is(.archive-mark-no-prefix,.archive-mark-label,.archive-mark-ledger-code,.archive-mark-ledger-revision,.archive-mark-ledger-date){font-size:var(--text-2xs)}body.article-page .archive-mark-label{color:var(--text-muted)}body.article-page .article-content h2{font-size:1.34rem;letter-spacing:-.012em}body.article-page .article-content h3{letter-spacing:-.008em}body.article-page .article-content .expressive-code .frame{border-radius:var(--radius-md);box-shadow:none}body.article-page .article-content .expressive-code .frame:hover{box-shadow:none}body.article-page .article-content .expressive-code .frame figcaption.header{min-height:2.1rem;border-bottom:1px solid var(--article-code-border);border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0;background:var(--article-code-toolbar)}body.article-page .article-content .expressive-code .frame figcaption.header:before{display:none}body.article-page .article-content .expressive-code .frame figcaption.header .title{max-width:calc(100% - 4.2rem);margin-left:.9rem;color:var(--article-code-muted);text-align:left}body.article-page .article-content .expressive-code .copy{top:.28rem;right:.3rem}body.article-page .article-mermaid{contain-intrinsic-size:280px 320px}body.article-page .article-mermaid[data-mermaid-rendered=true],body.article-page .article-echarts[data-echarts-rendered=true]{content-visibility:visible}body.article-page .article-echarts{contain-intrinsic-size:280px 420px}body.article-page :is(.article-file-tree,.article-tabs){contain-intrinsic-size:280px 240px}body.article-page .article-music{contain-intrinsic-size:280px 160px}body.article-page .article-toc{padding:.65rem 0 .65rem .8rem;border:0;border-left:1px dashed var(--rule-dashed);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}body.article-page .article-toc-title,body.article-page .article-toc-link{font-size:var(--text-2xs)}body.article-page .article-toc-title:before{width:.28rem;height:.28rem;box-shadow:none}body.article-page .article-toc-link:hover,body.article-page .article-toc-link:focus-visible,body.article-page .article-toc-link.is-active{background:transparent}body.article-page .article-nav{gap:0;border-top:1px dashed var(--rule-dashed);border-bottom:1px dashed var(--rule-dashed)}body.article-page .article-nav-card{min-height:4rem;padding:.8rem .9rem;border:0;border-radius:0;background:transparent;box-shadow:none}body.article-page .article-nav-card+.article-nav-card{border-left:1px solid var(--border-soft)}body.article-page .article-nav-card:before{display:none}body.article-page .article-nav-card:hover{box-shadow:none;transform:none}body.article-page .reading-progress{height:1px;background:var(--signal)}@media(max-width:1180px){body.article-page .article-toc{border:0;border-top:1px dashed var(--rule-dashed);border-bottom:1px dashed var(--rule-dashed)}body.article-page .article-toc-list{padding-right:2rem;scroll-padding-inline:.25rem 2rem;mask-image:linear-gradient(90deg,#000 0 calc(100% - 1.5rem),transparent 100%)}body.article-page .article-toc-link{border:0;border-radius:0;background:transparent}}@media(max-width:640px){body.article-page .article-shell{padding-top:1.65rem}body.article-page .article-header{margin-bottom:2rem}body.article-page .article-header h1{font-size:1.625rem;line-height:1.28}body.article-page .article-header .article-meta{grid-template-columns:1fr}body.article-page .article-meta-stage{grid-template-columns:minmax(0,1fr);gap:.45rem}body.article-page .article-dateplate{width:3.75rem;height:3.375rem;margin-top:0}body.article-page .article-dateplate-body{grid-template-columns:minmax(0,1fr) 1.875rem}body.article-page .article-dateplate-body:after{left:calc(100% - 1.875rem)}body.article-page .article-meta-board{display:grid;min-height:1.8rem;grid-template-columns:max-content minmax(0,1fr);column-gap:.3rem}body.article-page .article-meta-weather-row{min-width:0}body.article-page :is(.article-meta-temporal-row,.article-meta-weather-row)>.meta-item>svg,body.article-page .article-meta-weather-row .weather-part-label{display:none}body.article-page .article-meta-weather-row .weather-condition{flex:none;white-space:nowrap}body.article-page .article-meta-row{display:flex}body.article-page .article-archive-mark{display:flex;min-width:0;padding:.55rem 0 0;border-left:0;border-top:1px dashed var(--rule-dashed)}body.article-page .article-content h2{padding-top:.9rem}body.article-page .article-music .aplayer .aplayer-button.aplayer-play{width:2.5rem;height:2.5rem}body.article-page .article-music .aplayer .aplayer-volume-wrap{display:none}body.article-page .article-content .expressive-code .frame{border-radius:var(--radius-md)}body.article-page .article-content .expressive-code .frame figcaption.header{min-height:3rem;border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0}body.article-page .article-content .expressive-code .copy{top:.25rem;right:.22rem}body.article-page .article-nav{display:grid;grid-template-columns:1fr}body.article-page .article-nav-card+.article-nav-card{border-top:1px solid var(--border-soft);border-left:0}}@media(max-width:640px){:root{--mobile-safe-bottom: max(.72rem, env(safe-area-inset-bottom, 0px));--mobile-shell-pad: clamp(.92rem, 4vw, 1.08rem);--mobile-header-height: 3.35rem;--mobile-nav-height: 3.55rem;--mobile-border: color-mix(in srgb, var(--border-soft) 90%, transparent);--mobile-hairline: color-mix(in srgb, var(--border-soft) 78%, transparent);--mobile-accent-rule: linear-gradient( 90deg, color-mix(in srgb, var(--link) 72%, var(--timeline-dot) 28%) 0 2.4rem, color-mix(in srgb, var(--link) 22%, transparent) 2.4rem 4rem, transparent 100% )}html{font-size:16px;scroll-padding-top:calc(var(--mobile-header-height) + .7rem)}body{max-width:none;margin:0;padding:0 var(--mobile-shell-pad) calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + .85rem);min-height:100dvh;overflow-x:clip;background:var(--bg)}main{flex:1;min-width:0}.site-header{position:sticky;top:0;z-index:1000;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.65rem;min-height:var(--mobile-header-height);margin:0 calc(var(--mobile-shell-pad) * -1);padding:.55rem var(--mobile-shell-pad) .58rem;border:0;border-bottom:1px solid var(--mobile-hairline);background:color-mix(in srgb,var(--bg) 88%,transparent);box-shadow:none;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.site-brand{min-width:0;flex:1 1 auto}.site-brand .site-title{gap:.48rem;font-size:1.14rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;white-space:nowrap}.site-title-icon{width:18px;height:18px}.site-nav{width:auto;min-width:0}.nav-links{display:none}.nav-actions{display:flex;align-items:center;gap:.18rem;padding-left:0;border-left:0}.action-btn,.theme-toggle{width:2.35rem;height:2.35rem;border-radius:.62rem;color:var(--text-muted);background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-soft) 80%,transparent)}.site-header .action-btn[href="/rss.xml"]{display:none}.action-btn svg,.theme-toggle svg{width:16px;height:16px}.mobile-nav{position:fixed;inset:auto 0 0;z-index:1200;display:grid;width:auto;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:.1rem max(.22rem,env(safe-area-inset-right,0px)) calc(.12rem + env(safe-area-inset-bottom,0px)) max(.22rem,env(safe-area-inset-left,0px));border-top:1px solid var(--mobile-hairline);border-bottom:0;background:color-mix(in srgb,var(--bg) 92%,transparent);box-shadow:0 -10px 28px -24px color-mix(in srgb,#2a2a3a 28%,transparent);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.mobile-nav a,.mobile-nav-menu summary{display:flex;min-width:0;min-height:3.05rem;flex-direction:column;align-items:center;justify-content:center;gap:.16rem;padding:.18rem .08rem .2rem;border-radius:.55rem;color:var(--text-muted);font-size:.62rem;font-weight:560;letter-spacing:.01em;line-height:1.1;text-decoration:none;background:transparent;box-shadow:none}.mobile-nav a svg,.mobile-nav-menu summary svg{width:17px;height:17px;opacity:.9}.mobile-nav a[aria-current=page],.mobile-nav-menu summary[aria-current=page],.mobile-nav-menu[data-active=true] summary{color:var(--link);background:color-mix(in srgb,var(--link) 7%,transparent)}.mobile-nav a[aria-current=page] svg,.mobile-nav-menu summary[aria-current=page] svg,.mobile-nav-menu[data-active=true] summary svg{opacity:1}.mobile-nav-submenu{top:auto;right:50%;bottom:calc(100% + .48rem);width:min(8.6rem,44vw);gap:.12rem;padding:.3rem;border:1px solid color-mix(in srgb,var(--border) 55%,var(--border-soft) 45%);border-radius:.72rem;background:color-mix(in srgb,var(--surface) 94%,var(--bg) 6%);box-shadow:0 14px 32px -22px color-mix(in srgb,#2a2a3a 34%,transparent);transform:translate(50%)}.mobile-nav-submenu a{min-height:2.05rem;flex-direction:row;justify-content:flex-start;padding:.38rem .55rem;font-size:.74rem}.page-header,.about-intro{margin:0 0 1.15rem;padding-bottom:.95rem}.page-header:after,.about-intro:after{height:2px;background:var(--mobile-accent-rule)}.page-header h1,.about-intro h1,.not-found h1,.taxonomy-index-heading h1,.taxonomy-detail-heading h1,.status-header h1,.neodb-page .neodb-header h1{font-size:clamp(1.55rem,7vw,1.85rem);line-height:1.18;letter-spacing:-.028em}.page-header p,.about-lede,.not-found p{font-size:.96rem;line-height:1.68}.home-page{gap:1.55rem;padding-top:.85rem}.home-profile{grid-template-columns:3.85rem minmax(0,1fr);gap:.72rem .78rem;padding:0 0 .95rem;border-bottom:1px solid var(--mobile-hairline)}.home-profile:before,.home-profile:after{display:none}.home-profile-avatar-frame{width:3.85rem;height:3.85rem;margin:0}.home-profile-main{display:contents}.home-profile-identity{grid-column:2;gap:.55rem}.home-profile-copy{gap:.1rem}.home-profile h1{font-size:1.28rem;letter-spacing:-.025em}.home-profile-tagline,.home-profile p{font-size:.84rem;line-height:1.5}.home-profile-clock{--clock-size: 2.55rem;--clock-major-tick-length: .34rem;--clock-major-tick-width: .07rem;--clock-hub-size: .16rem}.home-profile-eye-lens{display:none}.home-profile-stats{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:.15rem}.home-profile-stats div{min-width:0;padding:.42rem .35rem;border:1px solid var(--mobile-hairline);border-radius:.55rem;background:color-mix(in srgb,var(--surface) 72%,transparent);text-align:center}.home-profile-stats dt{font-size:.62rem}.home-profile-stats dd{margin-top:.12rem;font-size:.9rem}.home-activity{grid-column:1 / -1;width:100%;margin-top:.15rem;padding:.55rem 0 0;border-top:1px dashed color-mix(in srgb,var(--border-soft) 82%,transparent);background:transparent}.home-activity-grid{grid-template-rows:repeat(7,.34rem);grid-template-columns:repeat(var(--home-activity-weeks),minmax(0,1fr));justify-content:stretch;gap:.12rem .1rem;min-height:0}.home-activity-cell{width:auto;height:.34rem;border-radius:1px}.home-section{gap:.55rem}.home-section-head{align-items:baseline;gap:.55rem;margin:0;padding:0 0 .48rem;border-bottom:1px solid var(--mobile-hairline)}.home-section-head:after{display:none}.home-profile-status{font-size:.74rem}.home-activity-cell[data-tip]:hover:after,.home-activity-cell[data-tip]:focus-visible:after{content:none}.home-section-head h2{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.015em}.home-section-head a{padding:0;font-size:.74rem}.home-section-posts{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0;list-style:none}.home-section-posts li{border-bottom:1px solid var(--mobile-hairline)}.home-section-posts a{display:grid;grid-template-columns:4.4rem minmax(0,1fr);gap:.15rem .7rem;align-items:baseline;min-height:0;padding:.72rem 0;border:0;border-radius:0;background:transparent;box-shadow:none}.home-section-posts a:before{display:none}.home-post-card-meta{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-end;gap:.12rem;padding-top:.12rem}.home-post-card-meta time{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;font-variant-numeric:tabular-nums;letter-spacing:.01em}.home-post-card-meta>span{display:none}.home-post-card-title{grid-column:2;grid-row:1;font-size:.96rem;font-weight:650;line-height:1.4;letter-spacing:-.01em}.home-post-card-summary{grid-column:2;grid-row:2;display:-webkit-box;overflow:hidden;color:var(--text-muted);font-size:.78rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-section-posts a:hover,.home-section-posts a:focus-visible{padding-left:0;background:transparent;transform:none}.home-section-posts a:hover .home-post-card-title,.home-section-posts a:focus-visible .home-post-card-title{color:var(--link)}.home-neodb-rail{--home-neodb-visible: 2.35;--home-neodb-gap: .62rem;margin-inline:calc(var(--mobile-shell-pad) * -1);padding-inline:var(--mobile-shell-pad);scroll-padding-inline:var(--mobile-shell-pad)}.home-neodb-rail[data-mode=scroll]{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.home-neodb-rail[data-mode=scroll] .home-neodb-track{will-change:auto;transform:none}.home-neodb-rail[data-mode=scroll] .home-neodb-card{scroll-snap-align:start}.home-profile-stat-link:hover,.home-profile-stat-link:focus-visible{border-bottom-color:transparent}.home-neodb-card{border-radius:.62rem}.home-neodb-title{font-size:.78rem}.home-neodb-meta{font-size:.68rem}body.article-page .article-shell{padding-top:1rem}body.article-page .article-header{margin-bottom:1.2rem;padding-bottom:.9rem;overflow:visible}body.article-page .article-header h1{max-width:none;margin-bottom:0;font-size:clamp(1.46rem,6.6vw,1.68rem);line-height:1.22;letter-spacing:-.024em}body.article-page .article-header .article-meta{display:flex;flex-direction:column;gap:.58rem;margin-top:.78rem;font-size:.74rem}body.article-page .article-meta-stage{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:.62rem;align-items:start}body.article-page .article-dateplate{width:3.4rem;min-width:3.4rem;height:3.55rem;min-height:3.55rem;margin:0;grid-template-rows:1.05rem minmax(0,1fr);border:1px solid color-mix(in srgb,var(--link) 22%,var(--border) 78%);border-radius:7px;background:color-mix(in srgb,var(--surface) 88%,var(--bg) 12%);box-shadow:inset 0 1px color-mix(in srgb,white 55%,transparent)}body.article-page .article-dateplate:before{height:2px;background:color-mix(in srgb,var(--link) 78%,var(--timeline-dot) 22%)}body.article-page .article-dateplate-head{padding:0 .2rem;border-bottom:1px solid color-mix(in srgb,var(--border-soft) 88%,transparent);background:color-mix(in srgb,var(--surface-muted) 55%,var(--surface) 45%)}body.article-page .article-dateplate-year{font-size:.58rem;font-weight:650;letter-spacing:.04em}body.article-page .article-dateplate-body{grid-template-columns:minmax(0,1fr) 1.55rem;align-items:stretch}body.article-page .article-dateplate-body:after{top:.32rem;bottom:.32rem;left:calc(100% - 1.55rem);width:1px;background:color-mix(in srgb,var(--border) 55%,transparent)}body.article-page .article-dateplate-month{font-size:.66rem;font-weight:620;color:var(--text-muted)}body.article-page .article-dateplate-day{font-size:1.12rem;font-weight:740;color:var(--text)}body.article-page .article-meta-board{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.45rem;row-gap:.26rem;align-items:baseline;min-height:0;min-width:0;padding:.04rem 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}body.article-page .article-meta-board:before{display:none}body.article-page .article-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.22rem .42rem;min-height:0;width:100%;padding:0;border:0}body.article-page .article-meta-temporal-row{grid-column:1;grid-row:1}body.article-page .article-meta-weather-row{grid-column:2;grid-row:1;min-width:0}body.article-page .article-meta-index-row{grid-column:1 / -1;grid-row:2}body.article-page .article-meta-tags-row{grid-column:1 / -1;grid-row:3}body.article-page .article-meta-board :is(.meta-rail-label,.meta-item>svg,.meta-reading-time>svg){display:none!important}body.article-page .article-meta-board .weather-part{display:inline-flex;align-items:baseline;gap:.1rem}body.article-page .article-meta-board .weather-part-label,body.article-page .article-meta-weather-row .weather-part-label{display:inline!important;color:var(--text-subtle);font-size:.62rem;line-height:1}body.article-page .article-meta-board .weather-condition{margin-right:.18rem;color:color-mix(in srgb,var(--text) 68%,var(--text-muted) 32%)}body.article-page .article-header .meta-item{display:inline-flex;align-items:center;gap:.2rem;min-height:0;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-muted);font-size:.74rem;line-height:1.35}body.article-page .article-header .meta-item a{color:inherit}body.article-page .article-header .meta-item a:hover,body.article-page .article-header .meta-item a:focus-visible{color:var(--link)}body.article-page .article-meta-index-cluster,body.article-page .article-meta-tags-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:.12rem .38rem;min-width:0}body.article-page .article-header .meta-temporal{color:color-mix(in srgb,var(--text) 72%,var(--text-muted) 28%);font-variant-numeric:tabular-nums}body.article-page .article-header .meta-weather{min-width:0}body.article-page .article-header .meta-weather [data-weather-text]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.article-page .article-header .meta-reading-stats{color:var(--text-muted);font-variant-numeric:tabular-nums}body.article-page .article-header .meta-dot{margin:0 .08rem;opacity:.55}body.article-page .article-header .meta-tags .tags-array{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.article-page .article-header .meta-tags .tags-item{font-size:.74rem}body.article-page .article-archive-mark{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:.18rem .55rem;width:100%;min-width:0!important;min-height:0!important;height:auto!important;margin:0;padding:.42rem 0 0!important;overflow:visible;border:0!important;border-top:1px dashed color-mix(in srgb,var(--border-soft) 88%,transparent)!important;border-radius:0;background:transparent!important;box-shadow:none!important;color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;line-height:1.35;text-align:left}body.article-page .article-archive-mark:before,body.article-page .article-archive-mark:after{display:none!important}body.article-page .archive-mark-head{display:inline-flex!important;width:auto!important;height:auto!important;grid-template-columns:none!important;grid-template-rows:none!important;row-gap:0!important;align-items:baseline;justify-items:start;gap:.35rem}body.article-page .archive-mark-no-shell{display:inline-flex!important;width:auto;max-width:none;overflow:visible}body.article-page .archive-mark-no{display:inline-flex;align-items:baseline;gap:.04rem;min-width:0!important;width:auto!important;color:var(--signal);font-size:.78rem;font-weight:700;letter-spacing:.01em;cursor:default}body.article-page .archive-mark-no-prefix{color:color-mix(in srgb,var(--signal) 72%,var(--text-muted) 28%);font-weight:650}body.article-page .archive-mark-no-value{width:auto!important;min-width:0!important}body.article-page .archive-mark-no-shell>.archive-mark-no-tip{display:none!important}body.article-page .archive-mark-revision{display:inline-flex!important;align-items:baseline;gap:.12rem;color:var(--text-muted)}body.article-page .archive-mark-revision-label,body.article-page .archive-mark-revision-unit{position:static!important;grid-column:auto!important;grid-row:auto!important;width:auto!important;height:auto!important;margin:0!important;margin-inline-end:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;font-size:.62rem!important;font-weight:560;letter-spacing:.02em!important;text-align:left!important;text-transform:none;white-space:nowrap}body.article-page .archive-mark-revision-count{display:inline-flex!important;grid-column:auto!important;grid-row:auto!important;align-items:baseline;justify-content:flex-start;gap:.04rem}body.article-page .archive-mark-revision-value{color:color-mix(in srgb,var(--text) 70%,var(--text-muted) 30%);font-size:.72rem;font-weight:650;font-variant-numeric:tabular-nums}body.article-page .archive-mark-ledger{display:inline-flex!important;flex-wrap:wrap;align-items:baseline;gap:.12rem .55rem;min-width:0;padding:0!important}body.article-page .archive-mark-ledger-row{display:inline-flex!important;align-items:baseline;gap:.22rem;min-height:0!important;margin:0!important;padding:0!important}body.article-page .archive-mark-ledger-row+.archive-mark-ledger-row{margin:0!important}body.article-page .archive-mark-ledger-code,body.article-page .archive-mark-ledger-date{display:inline-flex;align-items:baseline;gap:.22rem;min-width:0}body.article-page .archive-mark-label{color:var(--text-subtle);font-size:.6rem;font-weight:560;letter-spacing:.04em}body.article-page .article-archive-mark :is(.archive-mark-ledger-code>span:not(.archive-mark-label),.archive-mark-ledger-date>span:not(.archive-mark-label)){color:var(--text-muted);font-size:.68rem;font-variant-numeric:tabular-nums}.taxonomy-featured-tags,.taxonomy-compact-tags{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.taxonomy-featured-tags a,.taxonomy-compact-tags a{min-height:2.55rem;padding:.48rem .62rem;border-radius:.62rem;font-size:.86rem}.search-control{min-height:2.85rem;padding:0;border:0;border-bottom:1px solid var(--mobile-hairline);border-radius:0;background:transparent;box-shadow:none}.search-input{font-size:1rem}.search-shortcut{display:none}.back-to-top{width:2.55rem;height:2.55rem;right:max(.7rem,env(safe-area-inset-right,0px));bottom:calc(var(--mobile-nav-height) + var(--mobile-safe-bottom) + .4rem)}.site-footer{margin-top:1.75rem;padding-top:.95rem;border-top:1px solid var(--mobile-hairline);font-size:.78rem}.footer-primary,.footer-secondary{justify-content:flex-start;text-align:left}.footer-secondary{display:grid;gap:.2rem;margin-top:.35rem;line-height:1.65}.footer-separator{display:none}.not-found{min-height:calc(100dvh - var(--mobile-header-height) - var(--mobile-nav-height) - 5rem);padding-top:1.6rem}}@media(max-width:374px){:root{--mobile-shell-pad: .82rem}.site-brand .site-title{font-size:1.05rem}.home-section-posts a{grid-template-columns:3.9rem minmax(0,1fr);gap:.12rem .55rem}.home-post-card-summary{-webkit-line-clamp:1}.taxonomy-featured-tags,.taxonomy-compact-tags,.contact-links{grid-template-columns:1fr}.mobile-nav a,.mobile-nav-menu summary{font-size:.58rem}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
