html{font-size:var(--font-base-size)}body{width:var(--width-body);margin-left:auto;margin-right:auto;padding-left:var(--width-padding-left);padding-right:0;font-family:var(--font-serif);background-color:var(--bg-color);color:var(--text-color);max-width:var(--max-width-body);counter-reset:sidenote-counter;overflow-x:hidden}h2,h3,blockquote{text-wrap:balance;font-style:italic}::selection{background:var(--accent);color:var(--text-color)}@media (prefers-color-scheme:dark){:root{color-scheme:dark}body{background-color:var(--bg-color-dark);color:var(--text-color-dark)}::selection{background:var(--accent);color:var(--text-color-dark)}}h1{font-weight:400;margin-top:var(--spacing-h1-top);margin-bottom:var(--spacing-h1-bottom);font-size:var(--font-size-h1);line-height:var(--line-height-base)}h2{font-style:italic;font-weight:400;margin-top:var(--spacing-h2-top);margin-bottom:var(--spacing-h2-bottom);font-size:var(--font-size-h2);line-height:var(--line-height-base)}h3{font-style:italic;font-weight:400;font-size:var(--font-size-h3);margin-top:var(--spacing-h3-top);margin-bottom:var(--spacing-h3-bottom);line-height:var(--line-height-base)}hr{display:block;height:1px;width:var(--width-content);border:0;border-top:1px solid var(--border-color);margin:1em 0;padding:0}article{padding:var(--spacing-article) 0rem}section{padding-top:var(--spacing-section);padding-bottom:var(--spacing-section)}p,dl,ol,ul{font-size:var(--font-size-body);line-height:var(--line-height-body)}p{margin-top:var(--spacing-p-top);margin-bottom:var(--spacing-p-bottom);padding-right:0;vertical-align:baseline}blockquote{font-size:var(--font-size-body)}blockquote p{width:var(--width-content);margin-right:40px}blockquote footer{width:var(--width-content);font-size:var(--font-size-sidenote);text-align:right}section > p,section > footer{width:var(--width-content);overflow-wrap:break-word}section > table{width:var(--width-content);display:block;overflow-x:auto}section > table td,section > table th{white-space:nowrap}section > dl,section > ol,section > ul{width:var(--width-list);-webkit-padding-start:var(--width-list-padding)}dt:not(:first-child),li:not(:first-child){margin-top:var(--spacing-list-item)}figure{padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;max-width:var(--width-content);-webkit-margin-start:0;-webkit-margin-end:0;margin:0 0 var(--spacing-figure-bottom) 0}figcaption{float:right;clear:right;margin-top:0;margin-bottom:0;font-size:var(--font-size-sidenote);line-height:var(--line-height-caption);vertical-align:baseline;position:relative;max-width:var(--width-figcaption)}a:link,a:visited{color:inherit;text-underline-offset:var(--text-underline-offset);text-decoration-thickness:var(--text-decoration-thickness)}img{max-width:100%}.post-nav{margin-top:3rem;width:var(--width-content);display:flex;justify-content:space-between;gap:2rem;font-size:1.2rem}.post-nav-link{display:flex;flex:1 1 0;flex-direction:column;gap:0.25rem;min-width:0;text-decoration:none}.post-nav-link span{color:var(--border-color);font-size:0.85em}.post-nav-link strong{font-weight:normal;overflow:hidden;text-overflow:ellipsis}.post-nav-next{align-items:flex-end;text-align:right}@media (max-width:760px){.post-nav{width:100%;flex-direction:column;gap:1rem}.post-nav-link{font-size:1.2rem}.post-nav-link strong{font-size:var(--font-size-body)}}.sidenote,.marginnote{float:right;clear:right;margin-right:var(--width-sidenote-margin);width:var(--width-sidenote);margin-top:var(--spacing-sidenote-top);margin-bottom:0;font-size:var(--font-size-sidenote);line-height:var(--line-height-sidenote);vertical-align:baseline;position:relative;display:block}@media (min-width:761px){section{position:relative;overflow:visible}section > label.margin-toggle ~ .marginnote,section > label.margin-toggle ~ .sidenote{clear:none}}.sidenote img,.marginnote img{max-width:100%;width:100%;height:auto;display:block;margin-bottom:0.5rem;object-fit:contain;overflow:hidden}.sidenote figure,.marginnote figure{float:none !important;clear:none !important;width:100% !important;max-width:100vw !important;margin:0 0 0.5rem 0 !important;padding:0 !important;border:0 !important;font-size:100% !important;-webkit-margin-start:0 !important;-webkit-margin-end:0 !important}.sidenote figure img,.marginnote figure img{margin:0;max-width:100% !important;width:100% !important;height:auto !important;display:block !important}.sidenote figcaption,.marginnote figcaption{float:none !important;clear:none !important;position:static !important;width:100% !important;max-width:100% !important;font-size:1rem !important;font:inherit !important;vertical-align:baseline !important;margin:0 0 0.5rem 0 !important;padding:0 !important;text-align:left !important;line-height:1.6 !important}.sidenote-number{counter-increment:sidenote-counter}.sidenote-number:after,.sidenote:before{font-family:var(--font-numeral);position:relative;vertical-align:baseline}.sidenote-number:after{content:counter(sidenote-counter);font-size:1rem;top:var(--sidenote-number-top);left:var(--sidenote-number-left)}.sidenote:before{content:counter(sidenote-counter) " ";font-size:1rem;top:var(--sidenote-number-top)}blockquote .sidenote,blockquote .marginnote{margin-right:var(--width-sidenote-blockquote-margin);min-width:var(--width-sidenote-blockquote-min);text-align:left}code,pre > code{font-family:var(--font-mono);font-size:var(--font-size-code);line-height:var(--line-height-code);-webkit-text-size-adjust:100%}h1 > code,h2 > code,h3 > code{font-size:var(--font-size-code-heading)}.marginnote > code,.sidenote > code{font-size:1rem}pre > code{font-size:var(--font-size-code-small);overflow-x:auto;display:block}label.sidenote-number{display:inline-block;max-height:2rem}label.margin-toggle:not(.sidenote-number){display:none}@media (max-width:760px){body{width:var(--width-body-mobile);padding-left:var(--width-padding-left-mobile);padding-right:var(--width-padding-left-mobile)}hr,section > p,section > footer,section > table{width:100%}pre > code{width:var(--width-fullwidth-mobile)}section > dl,section > ol,section > ul{width:var(--width-list-mobile)}figure{max-width:100%;width:100%}figcaption{margin-right:0%;max-width:none}blockquote{margin-left:var(--spacing-blockquote-left);margin-right:0em}blockquote p,blockquote footer{width:100%}label.margin-toggle:not(.sidenote-number){display:inline}.sidenote,.marginnote{display:none}.margin-toggle:checked + .sidenote,.margin-toggle:checked + .marginnote{display:block;float:left;left:1rem;clear:both;width:var(--width-sidenote-mobile);margin:1rem 2.5%;vertical-align:baseline;position:relative}label{cursor:pointer}table{width:var(--width-table-mobile)}img{width:100%;max-width:100%;display:block;margin-block:1.4rem}figure{width:100%;max-width:100%;margin-block:1.4rem}figure img{width:100%;max-width:100%}p img{width:100%;max-width:100%;margin-block:1.4rem}}details{margin:1.4rem 0;width:var(--width-content)}details summary{cursor:pointer;font-weight:500;font-size:var(--font-size-body);line-height:var(--line-height-body);padding:0.5rem 0;user-select:none;list-style:none}details summary::-webkit-details-marker{display:none}details summary::before{content:"▶ ";display:inline-block;margin-right:0.5rem;transition:transform 0.2s;font-size:0.8em}details[open] summary::before{transform:rotate(90deg)}details > *:not(summary){margin-left:1.5rem;margin-top:0.5rem}.tags-list,.tags-cloud{margin:1rem 0;line-height:1.8}.post-tags{margin:2rem 0 1rem;line-height:1.8}.tags-list .tag,.post-tags .tag,.tags-cloud .tag{display:inline-block;font-style:italic;font-size:var(--font-size-body);color:inherit;margin-right:1.2rem;text-underline-offset:var(--text-underline-offset);text-decoration-thickness:var(--text-decoration-thickness)}.tags-list .tag:last-child,.post-tags .tag:last-child,.tags-cloud .tag:last-child{margin-right:0}.tag-count{font-style:normal;font-size:0.9em;opacity:0.7}.tags-cloud{margin:2rem 0;line-height:2.2}.tag-size-1{font-size:calc(var(--font-size-body) * 0.9)}.tag-size-2{font-size:calc(var(--font-size-body) * 1.1)}.tag-size-3{font-size:calc(var(--font-size-body) * 1.3)}.fullwidth-content{width:100%;max-width:var(--width-fullwidth);margin:1.4rem 0;clear:both}.fullwidth-content img{max-width:100%;height:auto;display:block;margin:1rem auto}.fullwidth-content p,.fullwidth-content pre,.fullwidth-content figure{max-width:100%;width:100%}table{border-collapse:collapse;font-family:var(--font-serif);font-size:var(--font-size-body);line-height:var(--line-height-body);width:100%;margin:1.4rem 0;border:1px solid var(--accent);border-radius:4px}table caption{caption-side:top;font-family:var(--font-serif);font-size:var(--font-size-sidenote);text-align:left;margin:0 1rem 0.5rem;padding-bottom:0.5rem;border-bottom:1px solid var(--accent);color:var(--text-color)}table th{font-family:var(--font-serif);font-weight:600;text-align:left;padding:0.75rem 1rem;vertical-align:bottom}table td{padding:0.75rem 1rem;vertical-align:top;border-bottom:1px solid var(--accent)}table tbody tr:last-child td{border-bottom:none}table tbody tr:hover{background-color:var(--accent)}@media (prefers-color-scheme:dark){table caption{color:var(--text-color-dark)}table thead{border-bottom-color:var(--text-color-dark)}table td{border-bottom-color:rgba(255,255,255,0.1)}table tbody tr:hover{background-color:var(--accent)}}:root{--bg-color:#fdfcf7;--text-color:#1a1a1a;--bg-color-dark:#181818;--text-color-dark:#e8e6e3;--border-color:#ccc;--accent:rgba(0,0,0,0.05);--font-base-size:14px;--font-serif:et-book,"Source Han Serif CN VF",ui-serif,Palatino,"Palatino Linotype","Palatino LT STD","Book Antiqua",Georgia,"Songti","Songti SC",STSong,SimSun,serif;--font-sans-alt:"Trebuchet MS","Gill Sans","Gill Sans MT",sans-serif;--font-mono:"IBM Plex Mono",Consolas,"Liberation Mono",Menlo,Courier,monospace;--font-numeral:et-book;--font-size-h1:3.2rem;--font-size-h2:2.2rem;--font-size-h3:1.7rem;--font-size-body:1.4rem;--font-size-sidenote:1.1rem;--font-size-code:1.3rem;--font-size-code-small:1.2rem;--font-size-code-heading:0.8em;--line-height-base:1.75;--line-height-body:2.4rem;--line-height-sidenote:1.7;--line-height-code:1.45;--line-height-caption:1.75;--spacing-h1-top:4rem;--spacing-h1-bottom:1.5rem;--spacing-h2-top:2.1rem;--spacing-h2-bottom:1.4rem;--spacing-h3-top:2rem;--spacing-h3-bottom:1.4rem;--spacing-p-top:1.4rem;--spacing-p-bottom:1.4rem;--spacing-section:1rem;--spacing-article:5rem;--spacing-sidenote-top:0.3rem;--spacing-list-item:0.25rem;--spacing-figure-bottom:3em;--spacing-blockquote-left:1.5em;--width-body:87.5%;--width-body-mobile:84%;--width-padding-left:12.5%;--width-padding-left-mobile:8%;--width-content:55%;--width-list:50%;--width-list-padding:5%;--width-figcaption:40%;--width-fullwidth:90%;--width-fullwidth-mobile:100%;--width-list-mobile:90%;--width-table-mobile:85%;--width-sidenote:50%;--width-sidenote-mobile:95%;--width-sidenote-margin:-60%;--width-sidenote-blockquote-margin:-82%;--width-sidenote-blockquote-min:59%;--max-width-body:1400px;--text-underline-offset:0.1em;--text-decoration-thickness:0.05em;--sidenote-number-top:-0.5rem;--sidenote-number-left:0.1rem}nav{margin-bottom:2rem;padding-top:2rem}nav a,nav .nav-menu-label{margin-right:1rem;text-decoration:none;padding:0.2rem 0.5rem;font-size:1.4rem;cursor:pointer}nav a:hover,nav .nav-menu-label:hover{background-color:var(--accent) !important}.nav-dropdown-wrapper{position:relative;display:inline}.nav-menu-checkbox{display:none}.nav-menu-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:90}.nav-menu-checkbox:checked ~ .nav-menu-overlay{display:block}.nav-menu-label{display:inline;position:relative;z-index:100;user-select:none}.nav-menu-label.active{font-weight:bold}.nav-menu-checkbox:checked ~ .nav-menu-label{background-color:var(--accent)}.nav-menu-checkbox:checked ~ .nav-dropdown-menu{display:block}.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;z-index:100;background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;padding-block:0;min-width:140px;box-shadow:0 4px 12px rgba(0,0,0,0.08);margin-top:0.3rem}@media (prefers-color-scheme:dark){.nav-dropdown-menu{background:var(--bg-color-dark);border-color:#333;box-shadow:0 4px 12px rgba(0,0,0,0.3)}}.nav-dropdown-menu a{display:block;margin-right:0;padding:0.4rem 1rem;font-size:1.3rem;text-decoration:none;white-space:nowrap}.nav-dropdown-menu a:hover{background-color:var(--accent) !important}.post-actions{position:relative;display:block;flex:0 0 auto;width:auto;margin:0 0 0 auto;font-style:normal}.post-actions-button{appearance:none;display:inline-block;position:relative;z-index:100;cursor:pointer;padding:0.2rem 0.65rem !important;border:1px solid color-mix(in srgb,var(--border-color) 75%,transparent);border-radius:3px;background:color-mix(in srgb,var(--border-color) 8%,transparent);color:inherit;font:inherit;font-size:1em;font-style:normal;font-weight:400;letter-spacing:0.02em;line-height:normal;list-style:none;transition:background-color 0.15s ease,border-color 0.15s ease}.post-actions .nav-dropdown-menu,.post-actions .nav-dropdown-menu a{line-height:normal}.post-actions-button:hover,.post-actions .nav-menu-checkbox:checked ~ .post-actions-button{border-color:var(--border-color);background:var(--accent)}.post-actions-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media (prefers-color-scheme:dark){.post-actions-button{border-color:color-mix(in srgb,#999 55%,transparent);background:color-mix(in srgb,#999 10%,transparent)}}.tabs{display:flex;flex-direction:column;margin:1.4rem 0}.tab-list{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;margin-bottom:0.5rem}.tab-list > input.tab-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tab-list > label,#isso-thread .isso-post-action:has(input[name="preview"])::before,#isso-thread .isso-post-action:has(input[name="edit"])::before{flex-shrink:0;cursor:pointer;padding:0.4rem 1rem;font-size:1.25rem;user-select:none;white-space:nowrap;order:0}.tab-list > input:checked + label,#isso-thread .isso-postbox:not(.isso-preview-mode) .isso-post-action:has(input[name="edit"])::before,#isso-thread .isso-postbox.isso-preview-mode .isso-post-action:has(input[name="preview"])::before{font-weight:bold;background-color:var(--accent)}.tab-list > input:focus-visible + label{outline:2px solid currentColor;outline-offset:-2px}.tab-panels > .tab-content{display:none}.tabs:has(.tab-list > input[data-tab="0"]:checked) .tab-panels > .tab-content[data-tab="0"],.tabs:has(.tab-list > input[data-tab="1"]:checked) .tab-panels > .tab-content[data-tab="1"],.tabs:has(.tab-list > input[data-tab="2"]:checked) .tab-panels > .tab-content[data-tab="2"],.tabs:has(.tab-list > input[data-tab="3"]:checked) .tab-panels > .tab-content[data-tab="3"],.tabs:has(.tab-list > input[data-tab="4"]:checked) .tab-panels > .tab-content[data-tab="4"],.tabs:has(.tab-list > input[data-tab="5"]:checked) .tab-panels > .tab-content[data-tab="5"],.tabs:has(.tab-list > input[data-tab="6"]:checked) .tab-panels > .tab-content[data-tab="6"],.tabs:has(.tab-list > input[data-tab="7"]:checked) .tab-panels > .tab-content[data-tab="7"],.tabs:has(.tab-list > input[data-tab="8"]:checked) .tab-panels > .tab-content[data-tab="8"],.tabs:has(.tab-list > input[data-tab="9"]:checked) .tab-panels > .tab-content[data-tab="9"],.tabs:has(.tab-list > input[data-tab="10"]:checked) .tab-panels > .tab-content[data-tab="10"],.tabs:has(.tab-list > input[data-tab="11"]:checked) .tab-panels > .tab-content[data-tab="11"],.tabs:has(.tab-list > input[data-tab="12"]:checked) .tab-panels > .tab-content[data-tab="12"],.tabs:has(.tab-list > input[data-tab="13"]:checked) .tab-panels > .tab-content[data-tab="13"],.tabs:has(.tab-list > input[data-tab="14"]:checked) .tab-panels > .tab-content[data-tab="14"],.tabs:has(.tab-list > input[data-tab="15"]:checked) .tab-panels > .tab-content[data-tab="15"]{display:block}.tab-panels .tab-content pre{margin-top:0}.katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:0.25rem 0}.sidenote .katex-display,.marginnote .katex-display{font-size:0.9em}input.margin-toggle{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}label.margin-toggle:has(+ input.margin-toggle:focus-visible){outline:2px solid currentColor;outline-offset:3px}.ansi-block{overflow-x:auto;font-size:1.1rem;line-height:1.6;border-radius:4px;padding:1rem;background-color:#1a1a1a !important;color:#ccc}@media (prefers-color-scheme:dark){.ansi-block{background-color:#111 !important}}@media (prefers-color-scheme:light){.ansi-block{background-color:#f5f5f5 !important;color:#333}}@media (max-width:760px){.tab-list > label,#isso-thread .isso-post-action:has(input[name="preview"])::before,#isso-thread .isso-post-action:has(input[name="edit"])::before{font-size:1.1rem;padding:0.4rem 0.7rem}}@media (prefers-color-scheme:dark){:root{--accent:oklch(26.9% 0 0)}}@font-face{font-family:"et-book";src:url("/fonts/et-book-roman-line-figures.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"et-book";src:url("/fonts/et-book-display-italic-old-style-figures.woff2") format("woff2");font-weight:normal;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"et-book";src:url("/fonts/et-book-bold-line-figures.woff2") format("woff2");font-weight:bold;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-latin-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}body,article,p,li,h1,h2,h3,h4,h5,h6{font-feature-settings:"liga" 1,"clig" 1,"kern" 1,"onum" 1,"pnum" 1;letter-spacing:0.02em;word-spacing:0.05em;text-spacing:trim-start allow-end trim-adjacent ideograph-alpha ideograph-numeric;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p,li{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{letter-spacing:0.03em;word-spacing:0.08em;font-feature-settings:"liga" 1,"kern" 1,"case" 1}blockquote{letter-spacing:0.03em;line-height:1.8;font-style:italic}em,i{font-feature-settings:"liga" 1,"clig" 1,"kern" 1,"calt" 1}strong,b{font-feature-settings:"liga" 1,"kern" 1;letter-spacing:0.01em}code,kbd,samp,var,pre{text-indent:0;letter-spacing:0;word-spacing:0;font-feature-settings:normal;text-align:left}td,th{text-indent:0}nav,nav a,nav summary,nav p{text-indent:0;letter-spacing:0.01em}.sidenote,.marginnote{text-indent:0;letter-spacing:0.01em;line-height:var(--line-height-sidenote)}.note-connector-source{display:inline-block;width:1px;height:1px;margin:0;padding:0;vertical-align:middle;opacity:0;pointer-events:none}.note-connector-target{position:absolute;left:0;top:0;width:1px;height:1px;pointer-events:none}@media (min-width:761px){.sidenote-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:#333;z-index:0}.sidenote-connectors > path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:1;vector-effect:non-scaling-stroke}label.margin-toggle{position:relative}label.margin-toggle:not(.sidenote-number){display:inline-block;width:0;height:0;margin:0;padding:0;color:inherit;font-size:0;line-height:0}label.margin-toggle::before{content:"";position:absolute;left:calc(100% + 0.35rem);top:50%;width:4.5rem;height:2.4rem;transform:translateY(-50%) rotate(4deg);-webkit-mask:url("data:image/svg+xml,%3Csvg width='46' height='38' viewBox='0 0 46 38' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 20 C15 20 29 16 42 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M33 8 L42 8 L38 17' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg width='46' height='38' viewBox='0 0 46 38' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 20 C15 20 29 16 42 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M33 8 L42 8 L38 17' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;background:color-mix(in srgb,currentColor 38%,transparent);pointer-events:none}section.sidenote-connectors-ready label.margin-toggle::before{display:none}}@media (prefers-color-scheme:dark) and (min-width:761px){.sidenote-connectors{color:#999}}@media (max-width:760px){.sidenote-connectors{display:none}}figcaption{text-indent:0;letter-spacing:0.02em;text-align:center}main{display:block}.post-date,.post-date-inline{font-style:italic;color:#444}.post-date{margin-top:-1rem;margin-bottom:2rem;width:var(--width-content);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:var(--font-size-body);line-height:var(--line-height-body)}.post-date.hidden{display:none}@media (max-width:760px){.post-actions-button{font-size:1.2rem}.post-actions .nav-dropdown-menu{right:0 !important;left:auto !important}.post-date{width:100%}}.post-date-inline{font-size:0.9em;white-space:nowrap}.post-meta{flex:1 1 auto;min-width:0;white-space:nowrap}.md-link{opacity:0.6;text-decoration:none}.md-link:hover{opacity:1}.table-of-contents{width:var(--width-content);margin:0 0 2rem;padding:0.4rem 0.8rem;border:1px solid color-mix(in srgb,var(--border-color) 55%,transparent);border-radius:4px;background:color-mix(in srgb,var(--border-color) 10%,transparent);box-sizing:border-box;font-size:var(--font-size-body)}.table-of-contents summary{padding:0.2rem 0;cursor:pointer;color:inherit;font-size:1em;font-weight:400}.table-of-contents nav{margin:0.25rem 0 0;padding-top:0}.table-of-contents ol{margin:0;padding-left:1.5rem;font-size:inherit;list-style:none;counter-reset:toc-item}.table-of-contents li{counter-increment:toc-item}.table-of-contents li::before{content:counters(toc-item,".") " ";color:var(--border-color);font-variant-numeric:tabular-nums;margin-right:0.35rem}.table-of-contents nav a{margin-right:0;padding:0;font-size:inherit}.heading-anchor{position:absolute;left:-1.1em;top:50%;line-height:1;transform:translateY(-50%);color:var(--border-color);font-size:0.75em;text-decoration:none;opacity:0;transition:opacity 0.15s ease}h2,h3,h4{position:relative}.heading-anchor::before{content:"#"}h2:hover .heading-anchor,h3:hover .heading-anchor,h4:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.admonition{width:var(--width-content);margin:1.4rem 0;padding:0.7rem 1rem;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.admonition-title{margin:0 0 0.35rem;font-family:var(--font-sans-alt);font-size:0.9em;font-weight:bold;letter-spacing:0.03em}.admonition >:last-child{margin-bottom:0}.admonition-warning{border-left-color:#b8860b}.admonition-danger{border-left-color:#a33}article > section > h1:first-child{font-style:italic;font-weight:400;margin-top:var(--spacing-h2-top);margin-bottom:var(--spacing-h2-bottom);font-size:var(--font-size-h2)}@media (prefers-color-scheme:dark){.post-date,.post-date-inline{color:#bbb}}pre{border:1px solid var(--accent);border-radius:4px;padding:1rem;margin:1.4rem 0;width:100%;max-width:var(--width-content);box-sizing:border-box;overflow-wrap:break-word;text-indent:0;letter-spacing:0}pre > code{width:100% !important;margin-left:0 !important;text-indent:0}.embed-block{border:1px solid var(--accent);border-radius:4px;padding:1rem;margin:1.4rem 0;max-width:var(--width-content);width:100%;box-sizing:border-box;overflow:visible}.embed-block iframe{width:100%;min-height:50vh;border:0;display:block}.ttyd-terminal{display:block;position:relative;width:100%;margin:0.75rem 0 0.25rem;isolation:isolate}.ttyd-terminal .ttyd-mascot{display:block;position:relative;z-index:2;width:min(43%,11.5rem);max-width:none;height:auto;margin:0 0 -2.75rem auto;pointer-events:none;user-select:none}.ttyd-terminal iframe{display:block;position:relative;z-index:1;width:100%;margin:0;border:1px solid color-mix(in srgb,var(--text-color) 22%,transparent);border-radius:4px;background:#181818;box-shadow:0 0.75rem 1.5rem rgba(0,0,0,0.12);box-sizing:border-box}@media (prefers-color-scheme:dark){.ttyd-terminal iframe{border-color:rgba(255,255,255,0.22);box-shadow:0 0.75rem 1.5rem rgba(0,0,0,0.3)}}.mermaid{border:1px solid var(--accent);border-radius:4px;margin:1.4rem 0;overflow-x:auto;overflow-y:hidden;background:var(--bg-color);padding:1.5rem;width:100% !important;max-width:100%}.mermaid svg{font-family:var(--font-mono) !important;color:var(--text-color);display:block;min-width:fit-content;height:auto;font-size:16px !important}.mermaid .nodeLabel,.mermaid .edgeLabel,.mermaid text,.mermaid tspan{font-family:var(--font-mono) !important;font-size:16px !important}.mermaid .label-container,.mermaid rect.label-container{overflow:visible !important}.mermaid foreignObject{overflow:visible !important;display:flex !important;justify-content:center !important;align-items:center !important}.mermaid foreignObject > div{display:flex !important;justify-content:center !important;align-items:center !important;width:100% !important;height:100% !important}.mermaid .nodeLabel,.mermaid .edgeLabel{padding:4px 6px;text-align:center !important}.mermaid text{overflow:visible !important}.notes-list{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border-color);font-size:var(--font-size-sidenote);line-height:var(--line-height-sidenote);width:var(--width-content)}.notes-list h3{font-style:italic;margin-bottom:0.5rem}.notes-list ol,.notes-list ul{padding-left:1.5rem;margin:0}ul{list-style-type:square}.notes-list li{margin-bottom:0.25rem}.notes-list .mixed-notes-list{list-style:none;counter-reset:mixed-sidenote-counter}.notes-list .mixed-notes-list > li.sidenote-item{counter-increment:mixed-sidenote-counter}.notes-list .mixed-notes-list > li.sidenote-item::before{content:counter(mixed-sidenote-counter) ". "}.notes-list .mixed-notes-list > li.marginnote-item{list-style:none}:target{animation:highlight 3s ease-out}@keyframes highlight{0%,100%{background:transparent}15%{background:#fff3cd}}:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:0.01ms !important}}@media (prefers-color-scheme:dark){@keyframes highlight{0%,100%{background:transparent}15%{background:#3a3a2a}}}@media (max-width:760px){.notes-list{width:100%}}@media (prefers-color-scheme:dark){.mermaid{background:var(--bg-color-dark)}.mermaid svg{color:var(--text-color-dark)}.mermaid svg text,.mermaid svg tspan,.mermaid svg .nodeLabel,.mermaid svg .edgeLabel{fill:var(--text-color-dark) !important;color:var(--text-color-dark) !important}}@media (max-width:760px){html{font-size:13px}body,article,p,li,h1,h2,h3,h4,h5,h6{letter-spacing:0.015em;word-spacing:0.03em}pre{width:100%;max-width:100%;margin-left:0;margin-right:0;padding-left:var(--width-padding-left-mobile);padding-right:var(--width-padding-left-mobile);border-radius:0;box-sizing:border-box}.embed-block{width:100%;max-width:100%;margin-left:0;margin-right:0;padding-left:var(--width-padding-left-mobile);padding-right:var(--width-padding-left-mobile);border-radius:0;box-sizing:border-box}pre > code{width:100% !important;margin-left:0 !important;padding:0}details{width:100% !important}details.nav-dropdown{width:auto !important}.nav-dropdown-menu{left:0 !important;right:auto !important}nav a,nav .nav-menu-label{font-size:1.2rem}.nav-dropdown-menu{min-width:120px}.nav-dropdown-menu a{font-size:1.1rem}.fullwidth-content{max-width:100% !important}.ttyd-terminal .ttyd-mascot{width:min(36%,11.5rem);margin-bottom:-2.25rem}}@media screen and (max-width:768px){.footer > p{font-size:1.25rem !important}}pre.ascii-art{background-color:#181818 !important;color:#e8e6e3 !important;color-scheme:dark !important}:root{--isso-ink:#333;--isso-muted:#707070;--isso-rule:rgba(0,0,0,0.2);--isso-surface:rgba(255,255,255,0.52);--isso-accent:#555;--isso-accent-soft:#e8e8e8;--isso-code-surface:#ededed;--isso-target-fade-background-color:#e8e8e8}@media (prefers-color-scheme:dark){:root{--isso-ink:#e8e8e8;--isso-muted:#aaa;--isso-rule:rgba(255,255,255,0.22);--isso-surface:rgba(255,255,255,0.045);--isso-accent:#d0d0d0;--isso-accent-soft:#333;--isso-code-surface:#242424;--isso-target-fade-background-color:#333}}.post-comments{width:var(--width-content);margin:3rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--isso-rule);color:inherit}.post-comments > h2{margin:0 0 0.5rem;color:inherit;font-size:var(--font-size-h3);font-style:italic;font-weight:400}.post-comments-count{margin-right:0}#isso-thread,#isso-thread *{box-sizing:border-box}#isso-thread{display:flex;flex-direction:column;margin:0;padding:0;color:inherit;font-family:var(--font-serif)}#isso-thread .isso-thread-heading{order:2;display:none;margin:0 0 0.75rem;color:var(--isso-muted);font-family:var(--font-serif);font-size:var(--font-size-body);font-style:italic;font-weight:400;line-height:var(--line-height-body)}#isso-thread .isso-postbox{order:1;max-width:none;margin:0 0 1.25rem}#isso-thread #isso-root{order:3}#isso-thread .isso-feedlink{order:4}#isso-thread .isso-form-wrapper{display:flex;flex-wrap:wrap;margin:0;padding:0}#isso-thread .isso-cap-gate{position:absolute;z-index:1;left:0.75rem;bottom:0.75rem}#isso-thread .isso-cap-gate cap-widget{--cap-background:transparent;--cap-color:var(--isso-ink);--cap-border-color:var(--isso-rule);--cap-border-radius:4px;--cap-font:var(--font-serif);--cap-checkbox-border:1px solid var(--isso-rule);--cap-checkbox-background:transparent;--cap-spinner-color:var(--isso-ink);--cap-spinner-background-color:var(--isso-rule);--cap-checkmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 12 5 5L20 7'/%3E%3C/svg%3E")}#isso-thread .isso-cap-gate cap-widget::part(label){font-size:16px}@media (prefers-color-scheme:dark){#isso-thread .isso-cap-gate cap-widget{--cap-checkmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23e8e6e3' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 12 5 5L20 7'/%3E%3C/svg%3E")}}#isso-thread .isso-form-wrapper::before{flex-basis:100%;order:1;width:0;height:0;content:""}#isso-thread .isso-textarea-wrapper{position:relative;order:4;flex:0 0 100%;width:100%;min-width:0;margin-top:0.65rem}#isso-thread .isso-textarea,#isso-thread .isso-preview{width:100%;height:15rem;min-height:15rem;margin:0;padding:0.9rem 1rem;border:1px solid var(--isso-rule);border-radius:2px;background:transparent;box-shadow:none;color:inherit;font:inherit;font-size:var(--font-size-body);line-height:var(--line-height-body);resize:vertical}#isso-thread .isso-textarea{display:block;padding-bottom:3.75rem}#isso-thread .isso-preview{display:none;overflow:auto}#isso-thread .isso-postbox.isso-preview-mode .isso-textarea{display:none}#isso-thread .isso-postbox.isso-preview-mode .isso-preview{display:block}#isso-thread .isso-textarea::placeholder{color:var(--isso-muted);opacity:1}#isso-thread .isso-auth-section{display:contents}#isso-thread .isso-input-wrapper{flex:1 1 0;order:0;min-width:0;max-width:none;margin:0 0.9rem 1rem 0;font-size:var(--font-size-body)}#isso-thread .isso-notification-section{order:6;flex:0 0 100%}#isso-thread .isso-input-wrapper label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#isso-thread .isso-input-wrapper{position:relative}#isso-thread .isso-input-wrapper input{display:block;width:100%;min-width:12rem;padding:0.25rem 0.1rem;border:0;border-bottom:1px solid var(--isso-rule);border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;line-height:inherit}#isso-thread .isso-input-wrapper input::placeholder{color:transparent}#isso-thread .isso-input-wrapper::before{position:absolute;top:0.25rem;left:0.1rem;color:var(--isso-muted);pointer-events:none}#isso-thread .isso-input-wrapper:has(input[name="author"])::before{content:"您的姓名"}#isso-thread .isso-input-wrapper:has(input[name="email"])::before{content:"您的信箱"}#isso-thread .isso-input-wrapper:has(input[name="website"])::before{content:"您的网站"}#isso-thread .isso-input-wrapper:has(input:not(:placeholder-shown))::before{display:none}#isso-thread .isso-post-action{position:relative;display:block;flex:0 0 auto;float:none;order:5;margin:0;clear:both}#isso-thread .isso-post-action > input{padding:0.35rem 0.8rem;border:1px solid var(--isso-rule);border-radius:2px;background:transparent;box-shadow:none;color:inherit;cursor:pointer;font:inherit;font-family:var(--font-sans-alt);font-size:1rem;line-height:1.4}#isso-thread .isso-post-action:has(input[name="preview"]),#isso-thread .isso-post-action:has(input[name="edit"]){order:2;align-self:center;position:relative;padding:0;cursor:pointer}#isso-thread .isso-post-action:has(input[name="preview"])::before,#isso-thread .isso-post-action:has(input[name="edit"])::before{display:block;content:"预览"}#isso-thread .isso-post-action:has(input[name="edit"])::before{content:"内容"}#isso-thread .isso-post-action:has(input[name="preview"]) > input,#isso-thread .isso-post-action:has(input[name="edit"]) > input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:pointer}#isso-thread .isso-post-action:has(input[name="preview"]){order:3}#isso-thread .isso-post-action:has(input[name="edit"]){order:2}#isso-thread .isso-post-action:has(input[type="submit"]){position:relative;order:5;flex:0 0 100%;width:100%;margin-top:0.65rem;margin-left:0;text-align:center}#isso-thread .isso-post-action:has(input[type="submit"])::before{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:inherit;content:"发表评论";font:inherit;font-size:var(--font-size-body);line-height:var(--line-height-body);pointer-events:none}#isso-thread .isso-post-action:has(input[type="submit"]) > input{width:100%;min-height:3.2rem;border-color:var(--isso-rule);background:var(--accent);color:transparent;font:inherit;font-size:var(--font-size-body);line-height:var(--line-height-body)}#isso-thread .isso-form-wrapper:has(.isso-cap-gate:not([data-state="solved"])) .isso-post-action:has(input[type="submit"]){cursor:not-allowed}#isso-thread .isso-form-wrapper:has(.isso-cap-gate:not([data-state="solved"])) .isso-post-action:has(input[type="submit"])::before{color:var(--isso-muted)}#isso-thread .isso-form-wrapper:has(.isso-cap-gate:not([data-state="solved"])) .isso-post-action:has(input[type="submit"]) > input{background:var(--isso-accent-soft);cursor:not-allowed}#isso-thread .isso-post-action > input:hover{border-color:var(--isso-accent);color:var(--isso-accent)}#isso-thread .isso-post-action:has(input[type="submit"]) > input:hover{color:transparent}#isso-thread:focus,#isso-thread:focus-visible{outline:0 !important;box-shadow:none !important}#isso-thread input:focus,#isso-thread input:focus-visible,#isso-thread textarea:focus,#isso-thread textarea:focus-visible{border-color:var(--isso-rule) !important}#isso-thread .isso-comment{font-size:var(--font-size-body);max-width:none;margin:0;line-height:var(--line-height-body)}#isso-thread .isso-text-wrapper{display:block;min-width:0;padding:1.1rem 0 1.25rem;border-bottom:1px solid var(--isso-rule)}#isso-thread .isso-preview .isso-text-wrapper{border-bottom:0}#isso-thread .isso-comment-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 0.45rem;margin-bottom:0.65rem;color:var(--isso-muted);font-size:inherit;line-height:1.5}#isso-thread .isso-comment-header .isso-spacer{display:none}#isso-thread .isso-comment-header a,#isso-thread .isso-comment-footer a{text-decoration-thickness:0.06em;text-underline-offset:0.15em}#isso-thread .isso-author{color:var(--isso-ink);font-weight:600}#isso-thread .isso-page-author-suffix{display:inline-block;margin-left:0.1rem;padding:0.05rem 0.3rem;border:1px solid var(--isso-rule);border-radius:0;background:transparent;color:var(--isso-muted);font-family:inherit;font-size:0.78em;font-style:normal;font-weight:400;line-height:1.3;vertical-align:baseline}#isso-thread .isso-spacer,#isso-thread .isso-permalink,#isso-thread .isso-note,#isso-thread .isso-parent{color:var(--isso-muted);font-weight:400;text-shadow:none}#isso-thread .isso-spacer:hover,#isso-thread .isso-permalink:hover,#isso-thread .isso-note:hover,#isso-thread .isso-parent:hover{color:var(--isso-accent)}#isso-thread .isso-text{color:inherit;font-family:var(--font-serif);font-size:inherit;line-height:var(--line-height-body);overflow-wrap:anywhere}#isso-thread .isso-text p{width:auto;margin:0.55rem 0;font-size:inherit;line-height:inherit}#isso-thread .isso-text p:first-child{margin-top:0.65rem}#isso-thread .isso-text p:last-child{margin-bottom:0}#isso-thread .isso-text a{color:var(--isso-accent)}#isso-thread .isso-text:not(pre) > code{padding:0.12em 0.35em;border:1px solid var(--isso-rule);border-radius:2px;background:var(--isso-code-surface);font-size:0.88em}#isso-thread .isso-text pre{width:100%;max-width:none;margin:0.85rem 0;padding:0.8rem 0.9rem;border:1px solid var(--isso-rule);border-radius:2px;background:var(--isso-code-surface);color:inherit;line-height:1.55;overflow:auto}#isso-thread .isso-comment-footer{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.8rem;margin-top:1rem;padding-top:0.7rem;color:var(--isso-muted);font-size:inherit;line-height:1.5}#isso-thread .isso-comment-footer .isso-spacer{display:none}#isso-thread .isso-votes{display:none;color:inherit;font-family:inherit;font-variant-numeric:tabular-nums;text-align:center}#isso-thread .isso-upvote{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0 0.15rem;color:inherit;font-family:inherit;gap:0.3rem;text-decoration:none;white-space:nowrap}#isso-thread .isso-downvote{display:none}#isso-thread .isso-vote-count{font-variant-numeric:tabular-nums}#isso-thread .isso-upvote svg{display:block;flex:0 0 24px;width:24px;height:24px}#isso-thread .isso-comment-footer:has(.isso-reply) .isso-reply,#isso-thread .isso-comment-footer:not(:has(.isso-reply)) .isso-edit{margin-left:auto}#isso-thread .isso-comment-footer a{color:inherit;font-weight:400;text-decoration:none}#isso-thread .isso-comment-footer a:hover{color:var(--isso-accent);text-decoration:underline;text-underline-offset:0.15em}#isso-thread .isso-follow-up{margin-left:0.75rem;padding-left:1.25rem}#isso-thread .isso-follow-up > .isso-comment:first-child{margin-top:1.25rem}#isso-thread .isso-follow-up > .isso-comment:not(:has(~ .isso-comment)){margin-bottom:1.25rem}#isso-thread .isso-avatar{display:none}#isso-thread .isso-feedlink{float:none;margin-left:0.75rem;padding-left:0}#isso-thread .isso-feedlink a{color:var(--isso-muted);font-family:var(--font-sans-alt);font-size:0.95rem;font-weight:400}#isso-thread .isso-feedlink a:hover{color:var(--isso-accent)}#isso-thread .isso-target{background:var(--isso-accent-soft);animation:none !important}#isso-thread:target{background:transparent !important;animation:none !important}@media (max-width:760px){.post-comments{width:100%;margin-top:3rem}.post-comments > h2{margin-bottom:1.1rem}#isso-thread .isso-input-wrapper{display:block;flex:0 0 100%;max-width:none;margin-right:0}#isso-thread .isso-input-wrapper input{min-width:0}#isso-thread .isso-follow-up{margin-left:0.25rem;padding-left:0.9rem}}