#article-content{letter-spacing:.03em;word-spacing:.05em;color:var(--color-base-content);overflow-wrap:break-word;word-break:break-word;text-align:justify;max-width:100%;text-justify:inter-ideograph;hanging-punctuation:allow-end;--art-radius:1rem;--art-radius-sm:.5rem;--art-radius-lg:1.25rem;--art-shadow-sm:0 2px 8px -2px color-mix(in srgb, var(--color-base-content) 6%, transparent);--art-shadow:0 4px 20px -4px color-mix(in srgb, var(--color-base-content) 10%, transparent);--art-shadow-lg:0 8px 30px -6px color-mix(in srgb, var(--color-base-content) 12%, transparent);--art-shadow-hover:0 12px 40px -8px color-mix(in srgb, var(--color-base-content) 15%, transparent);--art-border:1px solid color-mix(in srgb, var(--color-base-content) 6%, transparent);--art-transition:all .25s cubic-bezier(.4, 0, .2, 1);--art-accent-subtle:color-mix(in srgb, var(--color-primary) 8%, transparent);--art-accent-light:color-mix(in srgb, var(--color-primary) 20%, transparent);--art-accent-medium:color-mix(in srgb, var(--color-primary) 40%, transparent);--art-gap-xs:.5em;--art-gap-sm:.75em;--art-gap-md:1.25em;--art-gap-lg:1.75em;--art-gap-xl:2.5em;min-width:0;font-size:1.0625rem;line-height:1.85}#article-content *{max-width:100%}#article-content h1,#article-content h2,#article-content h3,#article-content h4,#article-content h5,#article-content h6{width:fit-content;max-width:100%;margin-top:var(--art-gap-xl);margin-bottom:var(--art-gap-md);letter-spacing:.01em;color:var(--color-base-content);text-align:left;font-weight:700;line-height:1.4;transition:all .3s;display:block;position:relative}#article-content h1+h2,#article-content h2+h3,#article-content h3+h4,#article-content h4+h5,#article-content h5+h6{margin-top:var(--art-gap-lg)}#article-content h1+p,#article-content h2+p,#article-content h3+p{margin-top:0}#article-content h1{background:linear-gradient(180deg, transparent 40%, color-mix(in srgb, var(--color-primary) 25%, transparent) 45%, color-mix(in srgb, var(--color-primary) 40%, transparent) 55%, color-mix(in srgb, var(--color-primary) 35%, transparent) 85%, transparent 95%);border-radius:4px 12px 4px 8px;margin-top:0;margin-bottom:1.5em;padding:.15em .4em .15em .35em;font-size:1.875rem;font-weight:800}#article-content h2{background:linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--color-secondary) 22%, transparent) 50%, color-mix(in srgb, var(--color-secondary) 38%, transparent) 60%, color-mix(in srgb, var(--color-secondary) 30%, transparent) 88%, transparent 96%);border-radius:3px 10px 3px 6px;padding:.12em .35em .12em .3em;font-size:1.5rem;font-weight:700}#article-content h3{background:linear-gradient(180deg, transparent 50%, color-mix(in srgb, var(--color-accent) 18%, transparent) 55%, color-mix(in srgb, var(--color-accent) 35%, transparent) 65%, color-mix(in srgb, var(--color-accent) 25%, transparent) 90%, transparent 97%);border-radius:2px 8px 2px 5px;padding:.1em .3em .1em .25em;font-size:1.25rem;font-weight:700}#article-content h4{background:linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--color-info) 15%, transparent) 60%, color-mix(in srgb, var(--color-info) 30%, transparent) 70%, color-mix(in srgb, var(--color-info) 22%, transparent) 92%, transparent 98%);border-radius:2px 6px 2px 4px;padding:.08em .25em .08em .2em;font-size:1.125rem;font-weight:600}#article-content h5{background:linear-gradient(180deg, transparent 58%, color-mix(in srgb, var(--color-success) 12%, transparent) 62%, color-mix(in srgb, var(--color-success) 25%, transparent) 72%, color-mix(in srgb, var(--color-success) 18%, transparent) 94%, transparent 99%);border-radius:2px 5px 2px 3px;padding:.06em .2em .06em .15em;font-size:1rem;font-weight:600}#article-content h6{background:linear-gradient(180deg, transparent 60%, color-mix(in srgb, var(--color-neutral) 10%, transparent) 65%, color-mix(in srgb, var(--color-neutral) 22%, transparent) 75%, color-mix(in srgb, var(--color-neutral) 15%, transparent) 95%, transparent 100%);border-radius:1px 4px 1px 2px;padding:.05em .18em .05em .12em;font-size:.9375rem;font-weight:600}#article-content h1:hover,#article-content h2:hover,#article-content h3:hover{filter:brightness(.98);transform:translate(2px)}[data-color-scheme=dark] #article-content h1{background:linear-gradient(180deg, transparent 40%, color-mix(in srgb, var(--color-primary) 35%, transparent) 45%, color-mix(in srgb, var(--color-primary) 55%, transparent) 55%, color-mix(in srgb, var(--color-primary) 45%, transparent) 85%, transparent 95%)}[data-color-scheme=dark] #article-content h2{background:linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--color-secondary) 32%, transparent) 50%, color-mix(in srgb, var(--color-secondary) 52%, transparent) 60%, color-mix(in srgb, var(--color-secondary) 42%, transparent) 88%, transparent 96%)}[data-color-scheme=dark] #article-content h3{background:linear-gradient(180deg, transparent 50%, color-mix(in srgb, var(--color-accent) 28%, transparent) 55%, color-mix(in srgb, var(--color-accent) 48%, transparent) 65%, color-mix(in srgb, var(--color-accent) 38%, transparent) 90%, transparent 97%)}[data-color-scheme=dark] #article-content h4{background:linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--color-info) 25%, transparent) 60%, color-mix(in srgb, var(--color-info) 42%, transparent) 70%, color-mix(in srgb, var(--color-info) 32%, transparent) 92%, transparent 98%)}[data-color-scheme=dark] #article-content h5{background:linear-gradient(180deg, transparent 58%, color-mix(in srgb, var(--color-success) 22%, transparent) 62%, color-mix(in srgb, var(--color-success) 38%, transparent) 72%, color-mix(in srgb, var(--color-success) 28%, transparent) 94%, transparent 99%)}[data-color-scheme=dark] #article-content h6{background:linear-gradient(180deg, transparent 60%, color-mix(in srgb, var(--color-neutral) 18%, transparent) 65%, color-mix(in srgb, var(--color-neutral) 32%, transparent) 75%, color-mix(in srgb, var(--color-neutral) 24%, transparent) 95%, transparent 100%)}#article-content p{margin-top:0;margin-bottom:var(--art-gap-md)}#article-content p+p{margin-top:var(--art-gap-sm)}#article-content a{color:var(--color-primary);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-primary) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--color-primary) 40%, transparent);text-underline-offset:2px;transition:var(--art-transition);text-decoration-thickness:1px}#article-content a:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}#article-content strong{color:var(--color-base-content);font-weight:700}#article-content em{font-style:italic}#article-content u{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:3px}#article-content del,#article-content s{opacity:.65;text-decoration:line-through}#article-content mark{background:linear-gradient(transparent 55%, color-mix(in srgb, var(--color-primary) 25%, transparent) 55%);color:inherit;border-radius:3px;padding:.05em .15em}#article-content sub,#article-content sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}#article-content sub{bottom:-.25em}#article-content sup{top:-.5em}#article-content blockquote{margin:var(--art-gap-xl) 0;background:color-mix(in srgb, var(--color-primary) 5%, var(--color-base-100));border-radius:var(--art-radius);color:color-mix(in srgb, var(--color-base-content) 85%, transparent);transition:var(--art-transition);border:none;padding:1.5rem 2.5rem 1.5rem 3rem;font-size:1em;line-height:1.85;position:relative}#article-content blockquote:hover{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-base-100))}#article-content blockquote:before{content:"\"";color:var(--color-primary);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Georgia,Noto Serif SC,serif;font-size:3.5rem;font-style:normal;font-weight:400;line-height:1;position:absolute;top:.25rem;left:.75rem}#article-content blockquote:after{content:"\"";color:var(--color-primary);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Georgia,Noto Serif SC,serif;font-size:3.5rem;font-style:normal;font-weight:400;line-height:1;position:absolute;bottom:-.5rem;right:.75rem}#article-content blockquote p{z-index:1;margin:.5em 0;position:relative}#article-content blockquote p:first-child{margin-top:0}#article-content blockquote p:last-child{margin-bottom:0}#article-content blockquote blockquote{background:color-mix(in srgb, var(--color-secondary) 8%, var(--color-base-100));border-left:3px solid color-mix(in srgb, var(--color-secondary) 50%, transparent);border-radius:var(--art-radius-sm);margin:1.25em 0;padding:1rem 1.5rem}#article-content blockquote blockquote:before,#article-content blockquote blockquote:after{display:none}#article-content blockquote blockquote p:first-child{margin-top:0}#article-content code{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-base-100));border:1px solid color-mix(in srgb, var(--color-primary) 15%, transparent);color:var(--color-primary);white-space:nowrap;border-radius:.5em;padding:.15em .5em;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Monaco,monospace;font-size:.85em;font-weight:500}#article-content pre code{font-size:inherit;color:inherit;background:0 0;border:none;padding:0;font-weight:400}#article-content ul,#article-content ol{margin:var(--art-gap-md) 0;padding-left:1.75em;line-height:1.85}#article-content li{margin:var(--art-gap-sm) 0;padding-left:.35em}#article-content li:has(>p:only-child){margin:var(--art-gap-xs) 0}#article-content li>p{margin:0;display:inline}#article-content li>ul,#article-content li>ol{margin:var(--art-gap-xs) 0;padding-left:1.5em}#article-content ul>li::marker{color:var(--color-primary);font-size:.9em}#article-content ul ul>li::marker{color:var(--color-primary);font-size:.9em}#article-content ul ul ul>li::marker{color:var(--color-primary);font-size:.9em}#article-content ul ul ul ul>li::marker{color:var(--color-primary);font-size:.9em}#article-content ul ul ul ul ul>li::marker{color:var(--color-primary);font-size:.9em}#article-content ul ul ul ul ul ul>li::marker{color:var(--color-primary);font-size:.9em}#article-content ol>li::marker{color:var(--color-primary);font-weight:600}#article-content ol ol>li::marker{color:var(--color-primary);font-weight:600}#article-content ol ol ol>li::marker{color:var(--color-primary);font-weight:600}#article-content ol ol ol ol>li::marker{color:var(--color-primary);font-weight:600}#article-content ol ol ol ol ol>li::marker{color:var(--color-primary);font-weight:600}#article-content ol ol ol ol ol ol>li::marker{color:var(--color-primary);font-weight:600}#article-content ul{list-style-type:disc}#article-content ul ul{list-style-type:circle}#article-content ul ul ul{list-style-type:square}#article-content ul ul ul ul{list-style-type:"◆ "}#article-content ul ul ul ul ul{list-style-type:"▸ "}#article-content ul ul ul ul ul ul{list-style-type:"– "}#article-content ol{list-style-type:decimal}#article-content ol ol{list-style-type:lower-alpha}#article-content ol ol ol{list-style-type:lower-roman}#article-content ol ol ol ol{list-style-type:upper-alpha}#article-content ol ol ol ol ol{list-style-type:upper-roman}#article-content ol ol ol ol ol ol{list-style-type:decimal}#article-content ul[data-type=taskList]{margin:var(--art-gap-lg) 0;padding-left:0;list-style:none}#article-content li[data-type=taskItem]{transition:var(--art-transition);background:0 0;border:none;border-radius:0;align-items:flex-start;gap:0;margin:0;padding:.4em 0;display:flex}#article-content li[data-type=taskItem]>label{flex-shrink:0;justify-content:center;align-items:center;width:1.5em;height:1.5em;margin-top:.1em;margin-right:.75em;display:inline-flex}#article-content li[data-type=taskItem]>label>span{display:none}#article-content ul[data-type=taskList] input[type=checkbox]{appearance:none;border:2px solid var(--color-primary);cursor:pointer;width:1.25em;min-width:1.25em;height:1.25em;min-height:1.25em;transition:var(--art-transition);background:0 0;border-radius:6px;flex-shrink:0;margin:0;position:relative}#article-content ul[data-type=taskList] input[type=checkbox]:hover{border-color:var(--color-primary);background:var(--art-accent-subtle)}#article-content ul[data-type=taskList] input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}#article-content ul[data-type=taskList] input[type=checkbox]:checked:after{content:"";border:solid var(--color-primary-content);border-width:0 2.5px 2.5px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}#article-content li[data-type=taskItem]>div{flex:1;padding-top:.05em;line-height:1.7}#article-content li[data-type=taskItem]>div>p{margin:0;display:inline}#article-content li[data-type=taskItem][data-checked=true]>div{opacity:.55;color:color-mix(in srgb, var(--color-base-content) 60%, transparent);text-decoration:line-through}#article-content img{border-radius:var(--art-radius);max-width:100%;height:auto;margin:var(--art-gap-lg) auto;box-shadow:var(--art-shadow);transition:var(--art-transition);display:block}#article-content img:hover{box-shadow:var(--art-shadow-hover);transform:translateY(-2px)}#article-content figure{margin:var(--art-gap-xl) 0;box-shadow:none;background:0 0;border:none;padding:0}#article-content figure img{border-radius:var(--art-radius);margin:0 auto}#article-content figcaption{color:color-mix(in srgb, var(--color-base-content) 60%, transparent);text-align:center;margin-top:.75em;font-size:.875em;font-style:italic}#article-content table{width:100%;max-width:100%;margin:var(--art-gap-xl) 0;border-collapse:separate;border-spacing:0;background:var(--color-base-100);border:var(--art-border);border-radius:var(--art-radius);box-shadow:var(--art-shadow);font-size:.9375em;overflow:hidden}#article-content table th,#article-content table td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--color-base-content) 8%, transparent);vertical-align:middle;padding:.75rem 1rem}#article-content table thead{background:var(--art-accent-subtle)}#article-content table th{color:var(--color-base-content);white-space:nowrap;font-weight:600}#article-content table thead tr:first-child th:first-child{border-top-left-radius:var(--art-radius)}#article-content table thead tr:first-child th:last-child{border-top-right-radius:var(--art-radius)}#article-content table tbody tr{transition:background-color .2s}#article-content table tbody tr:hover{background:var(--art-accent-subtle)}#article-content table tbody tr:last-child td{border-bottom:none}#article-content table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--art-radius)}#article-content table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--art-radius)}#article-content table p{margin:0}@media (width<=768px){#article-content table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}#article-content table th,#article-content table td{white-space:nowrap}}#article-content hr{margin:calc(var(--art-gap-xl) * 1.2) 0;background:linear-gradient(90deg, transparent, var(--art-accent-medium) 20%, var(--art-accent-medium) 80%, transparent);border:none;height:1px;position:relative}#article-content hr:after{content:"✦";background:var(--color-base-100);color:var(--art-accent-medium);padding:0 .75em;font-size:.875rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#article-content kbd{color:var(--color-base-content);background:var(--color-base-200);border:1px solid var(--color-base-300);box-shadow:0 2px 0 var(--color-base-300);border-radius:4px;padding:.15em .5em;font-family:inherit;font-size:.85em}#article-content video{width:100%;max-width:100%;height:auto;margin:var(--art-gap-xl) auto;border-radius:var(--art-radius-lg);box-shadow:var(--art-shadow);display:block}#article-content audio{width:100%;margin:var(--art-gap-lg) auto;border-radius:var(--art-radius);background:var(--color-base-100);border:var(--art-border);padding:.5rem;display:block}#article-content iframe{width:100%;max-width:100%;margin:var(--art-gap-lg) auto;border-radius:var(--art-radius-lg);border:var(--art-border);background:var(--color-base-100);display:block}#article-content details{margin:var(--art-gap-lg) 0;background:var(--color-base-100);border:var(--art-border);border-radius:var(--art-radius);box-shadow:var(--art-shadow);overflow:hidden}#article-content summary{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;padding:.875rem 1.25rem .875rem 2.5rem;font-weight:600;list-style:none;transition:background .2s;position:relative}#article-content summary::-webkit-details-marker{display:none}#article-content summary:before{content:"";border-left:6px solid var(--color-base-content);opacity:.5;border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;transition:transform .2s;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}#article-content details[open] summary:before{transform:translateY(-50%)rotate(90deg)}#article-content summary:hover{background:var(--art-accent-subtle)}#article-content details[open] summary{border-bottom:var(--art-border)}#article-content details>:not(summary){padding:1rem 1.25rem}#article-content .columns{margin:var(--art-gap-lg) 0;align-items:flex-start;gap:1.5rem;display:flex}#article-content .column{flex:1;min-width:0}#article-content .column>:first-child{margin-top:0}#article-content .column>:last-child{margin-bottom:0}#article-content dl{background:var(--color-base-100);border:var(--art-border);border-radius:var(--art-radius);box-shadow:var(--art-shadow);margin:1.5em 0;padding:1.25rem 1.5rem}#article-content dt{color:var(--color-base-content);margin-top:1em;font-weight:600}#article-content dt:first-child{margin-top:0}#article-content dd{color:color-mix(in srgb, var(--color-base-content) 75%, transparent);margin-top:.5em;margin-left:1.5em}#article-content small{color:color-mix(in srgb, var(--color-base-content) 75%, transparent);font-size:.875em}#article-content cite{color:color-mix(in srgb, var(--color-base-content) 80%, transparent);font-style:italic}#article-content abbr{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#article-content var{color:var(--color-secondary);font-family:ui-monospace,monospace;font-style:normal;font-weight:600}#article-content samp{background:var(--art-accent-subtle);color:var(--color-secondary);border-radius:4px;padding:.2em .5em;font-family:ui-monospace,monospace;font-size:.875em}#article-content dfn{color:var(--color-primary);font-style:italic;font-weight:600}#article-content q{font-style:italic}#article-content q:before,#article-content q:after{content:"\""}#article-content address{margin:1em 0;font-style:normal;line-height:1.6}#article-content time{color:color-mix(in srgb, var(--color-base-content) 75%, transparent)}#article-content ruby{font-size:inherit}#article-content rt{color:color-mix(in srgb, var(--color-base-content) 65%, transparent);font-size:.6em}#article-content fieldset{background:var(--color-base-100);border:var(--art-border);border-radius:var(--art-radius);box-shadow:var(--art-shadow);margin:1.5em 0;padding:1.5rem}#article-content legend{color:var(--color-primary);background:var(--color-base-100);border-radius:4px;padding:.25rem .75rem;font-weight:600}#article-content progress{background:var(--color-base-300);border:none;border-radius:9999px;width:100%;height:.5rem;margin:1em 0;overflow:hidden}#article-content progress::-webkit-progress-bar{background:0 0}#article-content progress::-webkit-progress-value{background:var(--color-primary);border-radius:inherit}#article-content progress::-moz-progress-bar{background:var(--color-primary);border-radius:inherit}#article-content output{background:var(--art-accent-subtle);color:var(--color-primary);border-radius:4px;padding:.25rem .75rem;font-family:ui-monospace,monospace;font-weight:600;display:inline-block}#article-content .callout-note,#article-content .callout-tip,#article-content .callout-warning,#article-content .callout-danger,#article-content .callout-info{border-radius:var(--art-radius);box-shadow:var(--art-shadow);margin:1.5em 0;padding:1rem 1.25rem}#article-content .callout-note{background:color-mix(in srgb, var(--color-info) 8%, var(--color-base-100));border-left:4px solid var(--color-info)}#article-content .callout-tip{background:color-mix(in srgb, var(--color-success) 8%, var(--color-base-100));border-left:4px solid var(--color-success)}#article-content .callout-warning{background:color-mix(in srgb, var(--color-warning) 8%, var(--color-base-100));border-left:4px solid var(--color-warning)}#article-content .callout-danger{background:color-mix(in srgb, var(--color-error) 8%, var(--color-base-100));border-left:4px solid var(--color-error)}#article-content .callout-info{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-base-100));border-left:4px solid var(--color-accent)}#article-content .footnote-ref,#article-content a[href^=\#fn],#article-content sup a{color:var(--color-primary);padding:0 .15em;font-weight:600;text-decoration:none}#article-content .footnotes,#article-content .footnote-list{background:var(--color-base-200);border-radius:var(--art-radius);color:color-mix(in srgb, var(--color-base-content) 80%, transparent);margin-top:3em;padding:1.25rem;font-size:.9em}#article-content .footnotes ol,#article-content .footnote-list ol{margin:.5em 0;padding-left:1.5em}#article-content .footnotes li,#article-content .footnote-list li{margin-top:.5em}halo-contact-form{--halo-contact-form-color-primary:var(--color-primary);--halo-contact-form-color-label:var(--color-base-content);--halo-contact-form-color-input:var(--color-base-content);--halo-contact-form-color-placeholder:color-mix(in srgb, var(--color-base-content) 50%, transparent);--halo-contact-form-color-help:color-mix(in srgb, var(--color-base-content) 60%, transparent);--halo-contact-form-color-border:var(--color-base-300);--halo-contact-form-color-danger:var(--color-error);--halo-contact-form-color-button:var(--color-primary-content);--halo-contact-form-bg-input:var(--color-base-100);--halo-contact-form-border-radius:.5rem;margin:1.5em 0;display:block}.post-like-button .heart-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.post-like-button.liked .heart-icon{animation:.6s heart-beat}@keyframes heart-beat{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.2)}}.toc-container{scrollbar-width:thin;scrollbar-color:var(--color-base-300) transparent;max-height:min(70vh,600px);overflow:hidden auto}.toc-container::-webkit-scrollbar{width:4px}.toc-container::-webkit-scrollbar-track{background:0 0}.toc-container::-webkit-scrollbar-thumb{background:var(--color-base-300);border-radius:2px}.toc-list{margin:0;padding:0;list-style:none}.toc-item-wrapper{padding:0;padding-left:calc(var(--toc-indent-multiplier,0) * var(--toc-indent-unit));margin:0}.toc-link{padding:6px var(--toc-base-padding);min-height:var(--toc-link-height);color:color-mix(in srgb, var(--color-base-content) 60%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;align-items:center;margin:2px 0;font-size:.875rem;font-weight:400;line-height:1.4;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.toc-link:hover{background:var(--toc-hover-bg);color:var(--color-base-content)}.toc-link.active{background:var(--toc-active-bg);color:var(--color-primary);font-weight:600}.toc-link[data-relative-level="0"]{font-size:.9rem;font-weight:500}.toc-item-wrapper .toc-list{border-left:1px solid color-mix(in srgb, var(--color-base-content) 10%, transparent);margin-left:8px;padding-left:0}.post-toc-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;background:#0006;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.post-toc-overlay.open{opacity:1;visibility:visible}.post-toc-drawer{z-index:61;background:var(--color-base-100);flex-direction:column;width:85vw;max-width:360px;height:100%;transition:transform .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 20px #00000026}.post-toc-drawer.open{transform:translate(0)}halo-comment{--halo-comment-bg:transparent!important;--halo-comment-card-bg:color-mix(in srgb, var(--color-base-100) 50%, transparent)!important;--halo-comment-border-color:color-mix(in srgb, var(--color-base-content) 10%, transparent)!important;--halo-comment-font-family:inherit!important;--halo-comment-text-color:var(--color-base-content)!important;--halo-comment-secondary-text-color:color-mix(in srgb, var(--color-base-content) 60%, transparent)!important;--halo-comment-input-bg:color-mix(in srgb, var(--color-base-200) 80%, transparent)!important;--halo-comment-input-border:1px solid color-mix(in srgb, var(--color-base-content) 10%, transparent)!important;--halo-comment-btn-primary-bg:var(--color-primary)!important;--halo-comment-btn-primary-color:#fff!important}halo-comment::part(container),halo-comment::part(comment-list),.halo-comment-widget{background:0 0!important}@media (width<=1023px){article.flex-1{width:100%}#article-content img,#article-content pre,#article-content table{max-width:100%;overflow-x:auto}}@media (width<=640px){#article-content{font-size:1rem;line-height:1.85}#article-content h1{font-size:1.625rem}#article-content h2{padding-left:.875em;font-size:1.375rem}#article-content h3{padding-left:.75em;font-size:1.125rem}#article-content blockquote{margin:1.25em 0;padding:1.25rem 2rem}#article-content blockquote:before{font-size:2.5rem;top:.15rem;left:.5rem}#article-content blockquote:after{font-size:2.5rem;bottom:-.25rem;right:.5rem}#article-content ul,#article-content ol{padding-left:1.25em}#article-content table th,#article-content table td{padding:.5rem .75rem}#article-content .columns{flex-direction:column;gap:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{#article-content{color:#000;font-size:12pt;line-height:1.6}#article-content a{color:#000;text-decoration:underline}#article-content img{box-shadow:none;page-break-inside:avoid}#article-content blockquote{background:0 0;border:1px solid #ccc}#article-content blockquote:before,#article-content blockquote:after{color:#999}}:root{--vote-text-title-color:var(--color-base-content);--vote-text-description-color:color-mix(in srgb, var(--color-base-content) 60%, transparent);--vote-text-selected-color:var(--color-primary);--vote-text-voted-color:var(--color-primary);--vote-text-error-color:var(--color-error);--vote-text-button-color:var(--color-primary-content);--vote-icon-color:color-mix(in srgb, var(--color-base-content) 50%, transparent);--vote-background-primary-color:var(--color-base-200);--vote-background-secondary-color:var(--color-base-100);--vote-background-tertiary-color:color-mix(in srgb, var(--color-primary) 10%, var(--color-base-100));--vote-background-selected-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-base-100));--vote-background-voted-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-base-100));--vote-background-progress-color:var(--color-base-300);--vote-background-progress-voted-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-base-100));--vote-background-button-color:var(--color-primary);--vote-background-button-hover-color:color-mix(in srgb, var(--color-primary) 85%, var(--color-base-content));--vote-background-tag-color:color-mix(in srgb, var(--color-base-content) 10%, transparent);--vote-background-voted-tag-color:color-mix(in srgb, var(--color-primary) 15%, transparent);--vote-border-color:color-mix(in srgb, var(--color-base-content) 15%, transparent);--vote-border-selected-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-base-100));--vote-border-voted-color:color-mix(in srgb, var(--color-primary) 18%, var(--color-base-100));--vote-shadow:0 2px 8px -2px color-mix(in srgb, var(--color-base-content) 12%, transparent), 0 0 0 1px color-mix(in srgb, var(--color-base-content) 6%, transparent);--vote-pk-option1-bg:var(--color-primary);--vote-pk-option2-bg:var(--color-secondary);--vote-pk-progress-text-color:var(--color-primary-content)}[data-color-scheme=dark]{--vote-border-color:color-mix(in srgb, var(--color-base-content) 20%, transparent);--vote-shadow:0 2px 12px -2px #0006, 0 0 0 1px color-mix(in srgb, var(--color-base-content) 10%, transparent)}.doc-layout{--doc-hover-bg:color-mix(in oklch, var(--color-primary) 8%, transparent);--doc-active-bg:color-mix(in oklch, var(--color-primary) 12%, transparent);--doc-sidebar-width:260px;--doc-toc-width:260px;--doc-max-width:1400px;--doc-nav-height:64px;min-height:calc(100vh - var(--doc-nav-height));display:flex}.doc-sidebar-inner,.doc-nav-tree,.doc-toc{scrollbar-width:thin;scrollbar-color:var(--color-base-300) transparent}.doc-sidebar-inner::-webkit-scrollbar{width:6px}.doc-nav-tree::-webkit-scrollbar{width:6px}.doc-toc::-webkit-scrollbar{width:6px}.doc-sidebar-inner::-webkit-scrollbar-track{background:0 0}.doc-nav-tree::-webkit-scrollbar-track{background:0 0}.doc-toc::-webkit-scrollbar-track{background:0 0}.doc-sidebar-inner::-webkit-scrollbar-thumb{background:var(--color-base-300);border-radius:3px}.doc-nav-tree::-webkit-scrollbar-thumb{background:var(--color-base-300);border-radius:3px}.doc-toc::-webkit-scrollbar-thumb{background:var(--color-base-300);border-radius:3px}.doc-sidebar-inner::-webkit-scrollbar-thumb:hover{background:var(--color-base-content);opacity:.3}.doc-nav-tree::-webkit-scrollbar-thumb:hover{background:var(--color-base-content);opacity:.3}.doc-toc::-webkit-scrollbar-thumb:hover{background:var(--color-base-content);opacity:.3}.doc-sidebar{left:max(1rem, calc((100vw - var(--doc-max-width)) / 2 + 1rem));top:calc(var(--doc-nav-height) + 1rem);width:calc(var(--doc-sidebar-width) - 1rem);max-height:calc(100vh - var(--doc-nav-height) - 2rem);background:color-mix(in oklch, var(--color-base-100) 90%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid color-mix(in oklch, var(--color-base-content) 6%, transparent);box-shadow:0 2px 12px color-mix(in srgb, var(--color-primary) 8%, transparent);z-index:30;border-radius:1rem;transition:box-shadow .3s;position:fixed;overflow:hidden}[data-color-scheme=dark] .doc-sidebar{box-shadow:0 2px 16px color-mix(in srgb, var(--color-primary) 15%, transparent)}.doc-sidebar-inner{max-height:calc(100vh - var(--doc-nav-height) - 2rem);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.doc-version-selector{position:relative}.doc-version-btn{width:100%;color:var(--color-base-content);background:var(--color-base-200);border-radius:var(--radius-field,.5rem);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;justify-content:space-between;align-items:center;padding:.625rem .875rem;font-size:.875rem;font-weight:500;transition:background .2s,color .2s;display:flex}.doc-version-btn:hover{background:var(--doc-hover-bg);color:var(--color-primary)}.doc-version-btn:active{transform:scale(.98)}.doc-version-dropdown{background:var(--color-base-100);border:1px solid var(--color-base-200);border-radius:var(--radius-box,.5rem);z-index:50;padding:.375rem;animation:.15s dropdownFadeIn;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 4px 16px -4px #00000026,0 2px 6px -2px #0000001a}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.doc-version-dropdown.show{display:block}.doc-version-item{color:var(--color-base-content);border-radius:var(--radius-field,.375rem);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;transition:background .15s,color .15s;display:block}.doc-version-item:hover{background:var(--doc-hover-bg);color:var(--color-primary)}.doc-version-item.active{color:var(--color-primary);background:var(--doc-active-bg);font-weight:600}.doc-project-title{color:var(--color-base-content);border-radius:var(--radius-box,.5rem);-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:.75rem;margin:.25rem 0 .5rem;padding:.75rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:flex}.doc-project-title:hover{color:var(--color-primary);background:var(--doc-hover-bg)}.doc-nav-tree{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;margin:0;padding:0 .25rem 0 0;list-style:none;overflow-y:auto}.doc-nav-tree li{margin:0}.doc-nav-tree>li>a,.doc-nav-tree>li>details>summary{color:var(--color-base-content);border-radius:var(--radius-field,.5rem);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;margin:2px 0;padding:.5rem .875rem;font-size:.9375rem;line-height:1.4;text-decoration:none;transition:background .15s,color .15s;display:flex}.doc-nav-tree>li>a:hover,.doc-nav-tree>li>details>summary:hover{color:var(--color-primary);background:var(--doc-hover-bg)}.doc-nav-tree>li>a.active{color:var(--color-primary);background:var(--doc-active-bg);font-weight:600}.doc-nav-tree details summary a.doc-nav-folder-link{min-width:0;color:inherit;flex:1;text-decoration:none}.doc-nav-tree details summary a.doc-nav-folder-link:hover{color:var(--color-primary)}.doc-nav-tree details summary a.doc-nav-folder-link.active{color:var(--color-primary);font-weight:600}.doc-nav-tree ul{border-left:1px solid var(--color-base-200);margin:4px 0 4px .875rem;padding:0;list-style:none}.doc-nav-tree ul li a{color:var(--color-base-content);opacity:.8;border-radius:var(--radius-field,.375rem);-webkit-tap-highlight-color:transparent;margin:2px 0 2px .625rem;padding:.375rem .75rem;font-size:.875rem;line-height:1.4;text-decoration:none;transition:background .15s,color .15s,opacity .15s;display:block}.doc-nav-tree ul li a:hover{color:var(--color-primary);opacity:1;background:var(--doc-hover-bg)}.doc-nav-tree ul li a.active{color:var(--color-primary);opacity:1;background:var(--doc-active-bg);margin-left:calc(.625rem - 2px);font-weight:600}.doc-nav-tree details summary{list-style:none}.doc-nav-tree details summary::-webkit-details-marker{display:none}.doc-nav-tree details summary:after{content:"";opacity:.4;background:currentColor;flex-shrink:0;width:1.125rem;height:1.125rem;margin-left:auto;transition:transform .2s,opacity .15s;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") 50%/contain no-repeat}.doc-nav-tree details summary:hover:after{opacity:.8}.doc-nav-tree details[open] summary:after{opacity:.6;transform:rotate(90deg)}.doc-main{min-width:0;margin-left:max(var(--doc-sidebar-width), calc((100vw - var(--doc-max-width)) / 2 + var(--doc-sidebar-width)));margin-right:max(var(--doc-toc-width), calc((100vw - var(--doc-max-width)) / 2 + var(--doc-toc-width)));flex:1}.doc-content-wrapper{max-width:820px;margin:0 auto;padding:2rem 2rem 4rem}.doc-breadcrumb{color:var(--color-base-content);opacity:.7;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem;display:flex}.doc-breadcrumb a{color:inherit;text-decoration:none;transition:color .15s,opacity .15s}.doc-breadcrumb a:hover{color:var(--color-primary);opacity:1}.doc-breadcrumb span{opacity:.4}.doc-title{letter-spacing:-.02em;color:var(--color-base-content);margin:0 0 1.75rem;font-size:2rem;font-weight:700;line-height:1.25}#doc-content{color:var(--color-base-content);font-size:1rem;line-height:1.75}#doc-content>:first-child{margin-top:0}.doc-toc{right:max(1rem, calc((100vw - var(--doc-max-width)) / 2 + 1rem));top:calc(var(--doc-nav-height) + 1rem);width:calc(var(--doc-toc-width) - 1rem);max-height:calc(100vh - var(--doc-nav-height) - 2rem);z-index:30;position:fixed}.doc-toc-card{background:color-mix(in oklch, var(--color-base-100) 80%, transparent);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in oklch, var(--color-base-content) 5%, transparent);box-shadow:0 4px 20px -4px color-mix(in srgb, var(--color-base-content) 8%, transparent);border-radius:1.5rem;padding:1.25rem;transition:all .3s}.doc-toc-card:hover{box-shadow:0 8px 30px -6px color-mix(in srgb, var(--color-base-content) 12%, transparent)}[data-color-scheme=dark] .doc-toc-card{background:color-mix(in oklch, var(--color-base-100) 70%, transparent);box-shadow:0 4px 24px -4px color-mix(in srgb, var(--color-primary) 12%, transparent)}[data-color-scheme=dark] .doc-toc-card:hover{box-shadow:0 8px 32px -6px color-mix(in srgb, var(--color-primary) 18%, transparent)}.doc-toc .toc-container{max-height:min(70vh,500px)}.doc-restricted-banner{color:var(--color-warning-content);background:color-mix(in oklch, var(--color-warning) 12%, transparent);border:1px solid color-mix(in oklch, var(--color-warning) 40%, transparent);border-radius:var(--radius-box,.5rem);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.875rem 1rem;font-size:.875rem;display:flex}@media (width<=1280px){.doc-toc{display:none}.doc-main{margin-right:0}.doc-content-wrapper{max-width:720px;padding:1.5rem 2rem 3rem}}@media (width<=1024px){.doc-sidebar{display:none}.doc-main{margin-left:0}.doc-content-wrapper{max-width:680px;padding:1.25rem 1.5rem 3rem}.doc-title{font-size:1.75rem}}@media (width<=640px){.doc-content-wrapper{padding:1rem 1rem 2rem}.doc-title{margin-bottom:1.25rem;font-size:1.5rem}.doc-breadcrumb{margin-bottom:1rem;font-size:.8125rem}}@media (pointer:coarse){.doc-nav-tree>li>a,.doc-nav-tree>li>details>summary{min-height:44px;padding:.625rem .875rem}.doc-nav-tree ul li a{min-height:40px;padding:.5rem .75rem}.doc-version-btn{min-height:44px}.doc-version-item{min-height:44px;padding:.625rem .875rem}.toc-link{padding:.5rem var(--toc-base-padding);min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:high){.doc-sidebar,.doc-toc{border-width:2px}.doc-nav-tree ul,.toc-list{border-left-width:2px}}@media print{.doc-sidebar,.doc-toc{display:none}.doc-main{margin:0}.doc-content-wrapper{max-width:100%;padding:0}}#doc-content{content-visibility:auto;contain-intrinsic-size:auto 500px}.doc-version-dropdown,.doc-nav-tree details summary:after{will-change:transform, opacity}#doc-content img{content-visibility:auto;background:var(--color-base-200)}#doc-content img[loading=lazy]{opacity:0;transition:opacity .3s}#doc-content img[loading=lazy].loaded,#doc-content img:not([loading=lazy]){opacity:1}.doc-toc-overlay,.doc-sidebar-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;background:#0006;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.doc-toc-overlay.open,.doc-sidebar-overlay.open{opacity:1;visibility:visible}.doc-toc-drawer{z-index:61;background:var(--color-base-100);flex-direction:column;width:85vw;max-width:360px;height:100%;transition:transform .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 20px #00000026}.doc-toc-drawer.open{transform:translate(0)}.doc-sidebar-drawer{z-index:61;background:var(--color-base-100);flex-direction:column;width:85vw;max-width:320px;height:100%;transition:transform .3s;display:flex;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 20px #00000026}.doc-sidebar-drawer.open{transform:translate(0)}#article-content .admonition{background:var(--admonition-bg);border:1px solid var(--admonition-border);box-shadow:0 2px 12px -2px color-mix(in srgb, var(--admonition-color) 12%, transparent);border-radius:.75rem;margin:2rem 0;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}#article-content .admonition:hover{box-shadow:0 4px 20px -4px color-mix(in srgb, var(--admonition-color) 18%, transparent);transform:translateY(-1px)}#article-content .admonition:before{content:"";background:radial-gradient(circle 120px at var(--glow-x,50%) var(--glow-y,50%), color-mix(in srgb, var(--admonition-color) 10%, transparent) 0%, transparent 100%);width:100%;height:100%;opacity:var(--glow-opacity,0);pointer-events:none;z-index:0;transition:opacity .3s;position:absolute;top:0;left:0}#article-content .admonition-heading{z-index:1;align-items:center;gap:.625rem;padding:.875rem 1.125rem;display:flex;position:relative}#article-content .admonition-icon{background:var(--admonition-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:.25rem;display:flex}#article-content .admonition-icon svg{fill:#fff;width:100%;height:100%}#article-content .admonition-title{color:var(--color-base-content);letter-spacing:.01em;font-size:.9375rem;font-weight:600}#article-content .admonition-content{z-index:1;color:var(--color-base-content);padding:0 1.125rem .875rem;position:relative}#article-content .admonition-content>:first-child{margin-top:0}#article-content .admonition-content>:last-child{margin-bottom:0}#article-content .admonition-info{--admonition-color:var(--color-info);--admonition-bg:color-mix(in srgb, var(--color-info) 6%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-info) 15%, transparent)}#article-content .admonition-note{--admonition-color:var(--color-primary);--admonition-bg:color-mix(in srgb, var(--color-primary) 6%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-primary) 15%, transparent)}#article-content .admonition-tip{--admonition-color:var(--color-success);--admonition-bg:color-mix(in srgb, var(--color-success) 6%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-success) 15%, transparent)}#article-content .admonition-warning{--admonition-color:var(--color-warning);--admonition-bg:color-mix(in srgb, var(--color-warning) 6%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-warning) 15%, transparent)}#article-content .admonition-danger{--admonition-color:var(--color-error);--admonition-bg:color-mix(in srgb, var(--color-error) 6%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-error) 15%, transparent)}[data-color-scheme=dark] #article-content .admonition{box-shadow:0 2px 16px -2px color-mix(in srgb, var(--admonition-color) 15%, transparent)}[data-color-scheme=dark] #article-content .admonition:hover{box-shadow:0 4px 24px -4px color-mix(in srgb, var(--admonition-color) 22%, transparent)}[data-color-scheme=dark] #article-content .admonition-info{--admonition-bg:color-mix(in srgb, var(--color-info) 10%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-info) 20%, transparent)}[data-color-scheme=dark] #article-content .admonition-note{--admonition-bg:color-mix(in srgb, var(--color-primary) 10%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-primary) 20%, transparent)}[data-color-scheme=dark] #article-content .admonition-tip{--admonition-bg:color-mix(in srgb, var(--color-success) 10%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-success) 20%, transparent)}[data-color-scheme=dark] #article-content .admonition-warning{--admonition-bg:color-mix(in srgb, var(--color-warning) 10%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-warning) 20%, transparent)}[data-color-scheme=dark] #article-content .admonition-danger{--admonition-bg:color-mix(in srgb, var(--color-error) 10%, var(--color-base-100));--admonition-border:color-mix(in srgb, var(--color-error) 20%, transparent)}@media (width<=640px){#article-content .admonition{border-radius:.625rem;margin:1.5rem 0}#article-content .admonition-heading{gap:.5rem;padding:.75rem 1rem}#article-content .admonition-content{padding:0 1rem .75rem}#article-content .admonition-icon{width:1.5rem;height:1.5rem}#article-content .admonition-title{font-size:.875rem}}
