:root{--toc-indent-unit: 16px;--toc-base-padding: 8px;--toc-link-height: 32px;--toc-hover-bg: color-mix(in srgb, var(--color-primary) 7%, transparent);--toc-active-bg: color-mix(in srgb, var(--color-primary) 10%, transparent);--toc-border-color: color-mix(in srgb, var(--color-primary) 30%, transparent)}.sidebar-card:hover{box-shadow:0 2px 8px color-mix(in srgb,var(--color-base-content) 15%,transparent)}#article-content{font-size:16px;line-height:1.75;color:var(--color-base-content);max-width:100%;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}#article-content *{max-width:100%}#article-content img,#article-content pre,#article-content code,#article-content table{max-width:100%;overflow:auto}#article-content ul,#article-content ol{padding-left:1.5em;margin-left:0;max-width:100%}#article-content li{max-width:100%}#article-content.article-style-github h1,#article-content.article-style-github h2,#article-content.article-style-github h3,#article-content.article-style-github h4,#article-content.article-style-github h5,#article-content.article-style-github h6{margin-top:1.5em;margin-bottom:.75em;font-weight:600;line-height:1.3;color:var(--color-base-content)}#article-content.article-style-github h1{font-size:2em;padding-bottom:.3em;border-bottom:1px solid var(--color-base-300)}#article-content.article-style-github h2{font-size:1.5em;padding-bottom:.3em;border-bottom:1px solid var(--color-base-300)}#article-content.article-style-github h3{font-size:1.25em}#article-content.article-style-github h4{font-size:1em}#article-content.article-style-github h5{font-size:.875em}#article-content.article-style-github h6{font-size:.85em;color:color-mix(in srgb,var(--color-base-content) 70%,transparent)}#article-content.article-style-github p{margin-top:0;margin-bottom:1em;line-height:1.75}#article-content.article-style-github a{color:oklch(var(--p));text-decoration:none;transition:color .2s ease}#article-content.article-style-github a:hover{text-decoration:underline}#article-content.article-style-github strong{font-weight:600}#article-content.article-style-github em{font-style:italic}#article-content.article-style-github blockquote{margin:1em 0;padding:.5em 1em;color:color-mix(in srgb,var(--color-base-content) 80%,transparent);border-left:.25em solid var(--color-base-300);background:var(--color-base-200);border-radius:.25rem}#article-content.article-style-github ul,#article-content.article-style-github ol{margin:1em 0;padding-left:2em;line-height:1.75}#article-content.article-style-github li{margin-top:.5em;margin-bottom:.5em;padding-left:.5em;line-height:1.75}#article-content.article-style-github li>p{margin:0;line-height:1.75}#article-content.article-style-github ul>li::marker{color:var(--color-primary);font-size:1.1em;font-weight:700}#article-content.article-style-github ol>li::marker{color:var(--color-primary);font-weight:700;font-size:.95em}#article-content.article-style-github li>ul,#article-content.article-style-github li>ol{margin-top:.75em;margin-bottom:.75em;padding-left:1.75em}#article-content.article-style-github ul ul>li::marker{color:color-mix(in srgb,var(--color-primary) 85%,transparent);font-size:1em}#article-content.article-style-github ol ol>li::marker{color:color-mix(in srgb,var(--color-primary) 85%,transparent);font-weight:600}#article-content.article-style-github ul ul ul>li::marker{color:color-mix(in srgb,var(--color-primary) 70%,transparent)}#article-content.article-style-github ol ol ol>li::marker{color:color-mix(in srgb,var(--color-primary) 70%,transparent);font-weight:500}#article-content.article-style-github ul ul ul ul>li::marker{color:color-mix(in srgb,var(--color-primary) 55%,transparent)}#article-content.article-style-github ol ol ol ol>li::marker{color:color-mix(in srgb,var(--color-primary) 55%,transparent)}#article-content.article-style-github ul ul ul ul ul>li::marker{color:color-mix(in srgb,var(--color-primary) 40%,transparent)}#article-content.article-style-github ol ol ol ol ol>li::marker{color:color-mix(in srgb,var(--color-primary) 40%,transparent)}#article-content.article-style-github ul ul ul ul ul ul>li::marker{color:color-mix(in srgb,var(--color-primary) 30%,transparent)}#article-content.article-style-github ol ol ol ol ol ol>li::marker{color:color-mix(in srgb,var(--color-primary) 30%,transparent)}#article-content.article-style-github ul{list-style-type:disc}#article-content.article-style-github ul ul{list-style-type:circle}#article-content.article-style-github ul ul ul{list-style-type:square}#article-content.article-style-github ul ul ul ul{list-style-type:disc}#article-content.article-style-github ul ul ul ul ul{list-style-type:circle}#article-content.article-style-github ul ul ul ul ul ul{list-style-type:square}#article-content.article-style-github ol{list-style-type:decimal}#article-content.article-style-github ol ol{list-style-type:lower-alpha}#article-content.article-style-github ol ol ol{list-style-type:lower-roman}#article-content.article-style-github ol ol ol ol{list-style-type:decimal}#article-content.article-style-github ol ol ol ol ol{list-style-type:lower-alpha}#article-content.article-style-github ol ol ol ol ol ol{list-style-type:lower-roman}#article-content.article-style-github code{padding:.2em .4em;font-size:.9em;background:var(--color-base-200);border-radius:.25rem;font-family:ui-monospace,monospace}#article-content.article-style-github pre{margin:1.5em 0;padding:0;overflow-x:auto;max-width:100%}#article-content.article-style-github pre code{padding:0;font-size:inherit}#article-content.article-style-github img{max-width:100%;height:auto;border-radius:.5rem;margin:1.5em auto;display:block}#article-content.article-style-github table{width:100%;margin:1em 0;border-collapse:collapse;border-spacing:0;display:block;overflow:auto}#article-content.article-style-github table th,#article-content.article-style-github table td{padding:6px 13px;border:1px solid var(--color-base-300)}#article-content.article-style-github table th{font-weight:600;background-color:var(--color-base-200)}#article-content.article-style-github table tr:nth-child(2n){background-color:var(--color-base-100)}#article-content.article-style-github table tbody tr{transition:background .15s ease}#article-content.article-style-github table tbody tr:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}#article-content.article-style-github hr{height:1px;padding:0;margin:1.5em 0;background-color:var(--color-base-300);border:0}#article-content.article-style-github kbd{padding:3px 5px;font-size:11px;line-height:10px;color:var(--color-base-content);background-color:var(--color-base-100);border:1px solid var(--color-base-300);border-radius:3px;box-shadow:inset 0 -1px 0 var(--color-base-300);font-family:ui-monospace,monospace}#article-content.article-style-github mark{background:color-mix(in srgb,var(--color-warning) 35%,transparent);color:var(--color-base-content);padding:.2em .3em;border-radius:.25rem}#article-content.article-style-github dl{padding:0;margin-bottom:16px}#article-content.article-style-github dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}#article-content.article-style-github dd{padding:0 16px;margin-bottom:16px}#article-content.article-style-github details{margin-bottom:16px;padding:8px 16px;background:var(--color-base-200);border:1px solid var(--color-base-300);border-radius:6px}#article-content.article-style-github summary{cursor:pointer;font-weight:600}#article-content.article-style-github figcaption{margin-top:8px;font-size:14px;color:color-mix(in srgb,var(--color-base-content) 70%,transparent);text-align:center}#article-content.article-style-github caption{padding:8px 0;font-weight:600;text-align:left;color:var(--color-base-content)}#article-content.article-style-github q{font-style:italic}#article-content.article-style-github var{font-family:ui-monospace,monospace;font-style:normal}#article-content.article-style-github samp{font-family:ui-monospace,monospace;font-size:85%}#article-content.article-style-github dfn{font-style:italic;font-weight:600}#article-content.article-style-github abbr{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help}#article-content.article-style-github del,#article-content.article-style-github s{text-decoration:line-through;opacity:.7}#article-content.article-style-github ins,#article-content.article-style-github u{text-decoration:underline;text-decoration-color:var(--color-primary)}#article-content.article-style-github sub,#article-content.article-style-github sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}#article-content.article-style-github sub{bottom:-.25em}#article-content.article-style-github sup{top:-.5em}#article-content.article-style-github small{font-size:.875em;color:color-mix(in srgb,var(--color-base-content) 70%,transparent)}#article-content.article-style-github cite{font-style:italic}#article-content.article-style-github address{margin:1em 0;font-style:normal;line-height:1.6}#article-content.article-style-github figure{margin:1.5em 0}#article-content.article-style-github time{color:color-mix(in srgb,var(--color-base-content) 70%,transparent)}#article-content.article-style-github audio{width:100%;margin:1em 0;display:block}#article-content.article-style-github video{width:100%;max-width:100%;height:auto;margin:1.5em auto;border-radius:.5rem;display:block}#article-content.article-style-github iframe{width:100%;max-width:100%;margin:1em 0;border:1px solid var(--color-base-300);border-radius:.375rem}#article-content.article-style-github aside{margin:1em 0;padding:1rem;background:var(--color-base-200);border-left:4px solid var(--color-base-300);border-radius:.25rem}#article-content.article-style-github fieldset{margin:1em 0;padding:1rem;border:1px solid var(--color-base-300);border-radius:.375rem}#article-content.article-style-github legend{padding:0 .5rem;font-weight:600}#article-content.article-style-github progress{width:100%;height:1rem;margin:1em 0;border-radius:.25rem;overflow:hidden}#article-content.article-style-github progress::-webkit-progress-bar{background:var(--color-base-200)}#article-content.article-style-github progress::-webkit-progress-value{background:var(--color-primary)}#article-content.article-style-github meter{width:100%;height:1rem;margin:1em 0}#article-content.article-style-github ruby{font-size:inherit}#article-content.article-style-github rt{font-size:.6em;color:color-mix(in srgb,var(--color-base-content) 60%,transparent)}#article-content.article-style-github rp{color:color-mix(in srgb,var(--color-base-content) 40%,transparent)}#article-content.article-style-github tfoot{background:var(--color-base-200);font-weight:500}#article-content.article-style-github tfoot td{border-top:2px solid var(--color-base-300)}#article-content.article-style-github embed,#article-content.article-style-github object{max-width:100%;margin:1em 0}#article-content.article-style-github picture{display:block;margin:1.5em auto}#article-content.article-style-github picture img{margin:0}#article-content.article-style-github bdi,#article-content.article-style-github bdo{unicode-bidi:isolate}#article-content.article-style-github output{display:inline-block;padding:.2em .5em;background:var(--color-base-200);border-radius:.25rem;font-family:ui-monospace,monospace}#article-content.article-style-github dialog{padding:1rem;border:1px solid var(--color-base-300);border-radius:.375rem;background:var(--color-base-100);box-shadow:0 4px 16px color-mix(in srgb,var(--color-base-content) 10%,transparent)}#article-content.article-style-github dialog::backdrop{background:color-mix(in srgb,var(--color-base-content) 15%,transparent)}#article-content.article-style-github ul[data-type=taskList]{list-style:none;padding-left:0;margin:1em 0}#article-content.article-style-github li[data-type=taskItem]{display:flex;align-items:flex-start;gap:.5em;padding:.375em .5em;margin:.25em 0;border-radius:.25rem;transition:background .15s ease}#article-content.article-style-github li[data-type=taskItem]:hover{background:color-mix(in srgb,var(--color-base-200) 60%,transparent)}#article-content.article-style-github li[data-type=taskItem] input[type=checkbox]{margin-top:.25em;accent-color:var(--color-primary)}#article-content.article-style-github li[data-type=taskItem][data-checked=true]{opacity:.65}#article-content.article-style-github li[data-type=taskItem][data-checked=true] div{text-decoration:line-through;color:color-mix(in srgb,var(--color-base-content) 60%,transparent)}#article-content.article-style-github details.details{margin:1em 0;border:1px solid var(--color-base-300);border-radius:.375rem;overflow:hidden}#article-content.article-style-github details.details summary{padding:.625rem 1rem;font-weight:600;background:var(--color-base-200);cursor:pointer;transition:background .15s ease}#article-content.article-style-github details.details summary:hover{background:color-mix(in srgb,var(--color-base-200) 80%,var(--color-base-300))}#article-content.article-style-github details.details[open] summary{border-bottom:1px solid var(--color-base-300)}#article-content.article-style-github details.details>div{padding:.875rem 1rem}#article-content.article-style-github .columns{display:flex;gap:1em;margin:1em 0;flex-wrap:wrap}#article-content.article-style-github .column{flex:1;min-width:0;padding:.875rem 1rem;background:var(--color-base-200);border:1px solid var(--color-base-300);border-radius:.375rem;transition:background .15s ease}#article-content.article-style-github .column:hover{background:color-mix(in srgb,var(--color-base-200) 70%,var(--color-base-300))}#article-content.article-style-github .column p{margin:0}@media(max-width:768px){#article-content.article-style-github .columns{flex-direction:column}}#article-content.article-style-github table[style*=width]{width:100%!important}#article-content.article-style-github .callout-note,#article-content.article-style-github .callout-tip,#article-content.article-style-github .callout-warning,#article-content.article-style-github .callout-danger,#article-content.article-style-github .callout-info{margin:1.5em 0;padding:1rem 1.25rem;border-left:4px solid;border-radius:.5rem}#article-content.article-style-github .callout-note{background:color-mix(in srgb,var(--color-info) 10%,transparent);border-left-color:var(--color-info);color:var(--color-base-content)}#article-content.article-style-github .callout-tip{background:color-mix(in srgb,var(--color-success) 10%,transparent);border-left-color:var(--color-success);color:var(--color-base-content)}#article-content.article-style-github .callout-warning{background:color-mix(in srgb,var(--color-warning) 10%,transparent);border-left-color:var(--color-warning);color:var(--color-base-content)}#article-content.article-style-github .callout-danger{background:color-mix(in srgb,var(--color-error) 10%,transparent);border-left-color:var(--color-error);color:var(--color-base-content)}#article-content.article-style-github .callout-info{background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-left-color:var(--color-accent);color:var(--color-base-content)}#article-content.article-style-default{font-size:16px;line-height:1.75;color:var(--color-base-content);letter-spacing:-.01em;min-width:0;overflow-x:hidden}#article-content.article-style-default h1,#article-content.article-style-default h2,#article-content.article-style-default h3,#article-content.article-style-default h4,#article-content.article-style-default h5,#article-content.article-style-default h6{margin-top:2em;margin-bottom:.875em;font-weight:700;line-height:1.25;color:var(--color-base-content);letter-spacing:-.02em}#article-content.article-style-default h1{font-size:2.5em;margin-top:0}#article-content.article-style-default h2{font-size:2em}#article-content.article-style-default h3{font-size:1.625em}#article-content.article-style-default h4{font-size:1.375em}#article-content.article-style-default h5{font-size:1.125em}#article-content.article-style-default h6{font-size:1em;font-weight:600;color:color-mix(in srgb,var(--color-base-content) 85%,transparent)}#article-content.article-style-default p{margin-bottom:1em;line-height:1.75}#article-content.article-style-default a{color:var(--color-primary);text-decoration:none;transition:opacity .2s ease}#article-content.article-style-default a:hover{opacity:.7}#article-content.article-style-default blockquote{margin:1.5em 0;padding:1.25rem 1.5rem;background:color-mix(in srgb,var(--color-base-200) 60%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--color-base-300) 50%,transparent);border-radius:1rem;color:var(--color-base-content);font-size:.95em;box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 6%,transparent)}#article-content.article-style-default blockquote p:last-child{margin-bottom:0}#article-content.article-style-default code{padding:.15em .4em;font-size:.875em;background:color-mix(in srgb,var(--color-base-content) 6%,transparent);color:var(--color-base-content);border-radius:.375rem;font-family:ui-monospace,monospace;font-weight:500}#article-content.article-style-default pre{margin:1.5em 0;padding:0;overflow-x:auto;max-width:100%}#article-content.article-style-default pre code{padding:0;font-size:inherit}#article-content.article-style-default ul,#article-content.article-style-default ol{margin:.75em 0;padding-left:1.5em;line-height:1.8}#article-content.article-style-default li>ul,#article-content.article-style-default li>ol{margin:.25em 0;padding-left:1.25em}#article-content.article-style-default li{margin:.25em 0;padding-left:.25em;line-height:1.8}#article-content.article-style-default ul>li::marker{color:color-mix(in srgb,var(--color-base-content) 50%,transparent)}#article-content.article-style-default ol>li::marker{color:color-mix(in srgb,var(--color-base-content) 60%,transparent);font-weight:500}#article-content.article-style-default ul ul>li::marker,#article-content.article-style-default ol ol>li::marker{color:color-mix(in srgb,var(--color-base-content) 40%,transparent)}#article-content.article-style-default ul ul ul>li::marker,#article-content.article-style-default ol ol ol>li::marker{color:color-mix(in srgb,var(--color-base-content) 35%,transparent)}#article-content.article-style-default li>p{margin:0;display:inline}#article-content.article-style-default ul{list-style-type:disc}#article-content.article-style-default ul ul{list-style-type:circle}#article-content.article-style-default ul ul ul{list-style-type:square}#article-content.article-style-default ul ul ul ul{list-style-type:disc}#article-content.article-style-default ul ul ul ul ul{list-style-type:circle}#article-content.article-style-default ul ul ul ul ul ul{list-style-type:square}#article-content.article-style-default ol{list-style-type:decimal}#article-content.article-style-default ol ol{list-style-type:lower-alpha}#article-content.article-style-default ol ol ol{list-style-type:lower-roman}#article-content.article-style-default ol ol ol ol{list-style-type:decimal}#article-content.article-style-default ol ol ol ol ol{list-style-type:lower-alpha}#article-content.article-style-default ol ol ol ol ol ol{list-style-type:lower-roman}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-error-ring-color: color-mix(in srgb, var(--color-error) 40%, transparent);--halo-contact-form-error-ring-focus-color: color-mix(in srgb, var(--color-error) 25%, transparent);--halo-contact-form-color-button: var(--color-primary-content);--halo-contact-form-color-button-hover: var(--color-primary-content);--halo-contact-form-bg-input: var(--color-base-100);--halo-contact-form-bg-decorator: var(--color-base-200);--halo-contact-form-color-input-selection: color-mix(in srgb, var(--color-primary) 20%, transparent);--halo-contact-form-focus-ring-color: color-mix(in srgb, var(--color-primary) 30%, transparent);--halo-contact-form-border-radius: .5rem;--halo-contact-form-font-size: 1em;--halo-contact-form-line-height: 1.5;--halo-contact-form-width-submit: auto;display:block;margin:1.5em 0;padding-left:2px}#article-content.article-style-default table{width:100%!important;margin:1.5em 0;border-collapse:collapse;font-size:.95em;border:1px solid color-mix(in srgb,var(--color-base-300) 60%,transparent);border-radius:1rem;overflow:hidden;box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 6%,transparent);background:color-mix(in srgb,var(--color-base-100) 80%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#article-content.article-style-default table[style*=width]{width:100%!important}#article-content.article-style-default table col[style*=width],#article-content.article-style-default table colgroup col{width:auto!important}#article-content.article-style-default table th,#article-content.article-style-default table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-base-300)}#article-content.article-style-default table th{font-weight:600;color:var(--color-base-content);background:var(--color-base-200)}#article-content.article-style-default table tbody tr:first-child th{background:var(--color-base-200)}#article-content.article-style-default table tbody tr:last-child td,#article-content.article-style-default table tbody tr:last-child th{border-bottom:none}#article-content.article-style-default table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--color-base-200) 30%,transparent)}#article-content.article-style-default table tbody tr{transition:background .15s ease}#article-content.article-style-default table tbody tr:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}#article-content.article-style-default table p{margin:0;line-height:1.5}#article-content.article-style-default img{max-width:100%;height:auto;border-radius:1rem;margin:2em auto;display:block;box-shadow:0 8px 30px color-mix(in srgb,var(--color-base-content) 12%,transparent);transition:transform .3s ease,box-shadow .3s ease}#article-content.article-style-default img:hover{transform:translateY(-4px);box-shadow:0 16px 40px color-mix(in srgb,var(--color-base-content) 18%,transparent)}#article-content.article-style-default strong{font-weight:700;color:var(--color-base-content)}#article-content.article-style-default em{font-style:italic}#article-content.article-style-default kbd{padding:.25rem .6rem;font-size:.8em;background:linear-gradient(180deg,var(--color-base-100) 0%,var(--color-base-200) 100%);border:1px solid var(--color-base-300);border-radius:.5rem;font-family:ui-monospace,monospace;box-shadow:0 2px 0 var(--color-base-300),0 3px 8px color-mix(in srgb,var(--color-base-content) 10%,transparent);font-weight:500}#article-content.article-style-default mark{background:linear-gradient(120deg,color-mix(in srgb,var(--color-warning) 30%,transparent),color-mix(in srgb,var(--color-warning) 50%,transparent));color:var(--color-base-content);padding:.15rem .4rem;border-radius:.375rem;box-decoration-break:clone;-webkit-box-decoration-break:clone}#article-content.article-style-default dl{margin:1.5em 0;padding:1.25rem 1.5rem;background:color-mix(in srgb,var(--color-base-200) 50%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--color-base-300) 40%,transparent);border-radius:1rem;box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 5%,transparent)}#article-content.article-style-default dt{font-weight:600;margin-top:.75em;color:var(--color-base-content);font-size:1em}#article-content.article-style-default dt:first-child{margin-top:0}#article-content.article-style-default dd{margin-left:1.5em;margin-top:.5em;color:color-mix(in srgb,var(--color-base-content) 80%,transparent)}#article-content.article-style-default details{margin:1.5em 0;background:color-mix(in srgb,var(--color-base-200) 60%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--color-base-300) 50%,transparent);border-radius:1rem;overflow:hidden;box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 6%,transparent)}#article-content.article-style-default summary{padding:1rem 1.25rem;background:var(--color-base-100);cursor:pointer;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s ease}#article-content.article-style-default summary:hover{background:var(--color-base-200)}#article-content.article-style-default details[open] summary{border-bottom:1px solid var(--color-base-300);background:var(--color-base-200)}#article-content.article-style-default details>*:not(summary){padding:1.25rem}#article-content.article-style-default figure{margin:2em 0;padding:1rem;background:color-mix(in srgb,var(--color-base-200) 40%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:1rem;border:1px solid color-mix(in srgb,var(--color-base-300) 30%,transparent)}#article-content.article-style-default figure img{margin:0 auto .75rem;border-radius:.75rem}#article-content.article-style-default figcaption{margin-top:.75em;text-align:center;font-size:.875em;color:color-mix(in srgb,var(--color-base-content) 65%,transparent);font-style:italic}#article-content.article-style-default abbr{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help}#article-content.article-style-default del,#article-content.article-style-default s{text-decoration:line-through;opacity:.7}#article-content.article-style-default ins,#article-content.article-style-default u{text-decoration:underline;text-decoration-color:var(--color-primary)}#article-content.article-style-default sub,#article-content.article-style-default sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}#article-content.article-style-default sub{bottom:-.25em}#article-content.article-style-default sup{top:-.5em}#article-content.article-style-default small{font-size:.875em;color:color-mix(in srgb,var(--color-base-content) 80%,transparent)}#article-content.article-style-default cite{font-style:italic;color:color-mix(in srgb,var(--color-base-content) 85%,transparent)}#article-content.article-style-default address{margin:1em 0;font-style:normal;line-height:1.6}#article-content.article-style-default input[type=checkbox]{margin-right:.5em}#article-content.article-style-default li input[type=checkbox]{vertical-align:middle}#article-content.article-style-default ul[data-type=taskList]{list-style:none;padding-left:0;margin:1em 0}#article-content.article-style-default li[data-type=taskItem]{display:flex;align-items:flex-start;gap:.75em;padding:.75em 1em;margin:.5em 0;background:color-mix(in srgb,var(--color-base-200) 40%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--color-base-300) 30%,transparent);border-radius:.75rem;transition:all .2s ease}#article-content.article-style-default li[data-type=taskItem]:hover{background:color-mix(in srgb,var(--color-base-200) 80%,transparent)}#article-content.article-style-default li[data-type=taskItem] label{display:flex;align-items:center;cursor:pointer;flex-shrink:0;margin-top:.15em}#article-content.article-style-default li[data-type=taskItem] input[type=checkbox]{margin:0;width:1.25em;height:1.25em;cursor:pointer;accent-color:var(--color-primary);border-radius:.375rem;transition:transform .15s ease}#article-content.article-style-default li[data-type=taskItem] input[type=checkbox]:hover{transform:scale(1.1)}#article-content.article-style-default li[data-type=taskItem] label span{display:none}#article-content.article-style-default li[data-type=taskItem] div{flex:1;min-width:0}#article-content.article-style-default li[data-type=taskItem] div p{margin:0;line-height:1.6}#article-content.article-style-default li[data-type=taskItem][data-checked=true]{opacity:.6}#article-content.article-style-default li[data-type=taskItem][data-checked=true] div{text-decoration:line-through;color:color-mix(in srgb,var(--color-base-content) 70%,transparent)}#article-content.article-style-default details.details{margin:1.25em 0;background:color-mix(in srgb,var(--color-base-200) 50%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--color-base-300) 40%,transparent);border-radius:1rem;width:100%;max-width:100%;min-width:0;overflow:hidden;box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 5%,transparent);transition:box-shadow .25s ease}#article-content.article-style-default details.details:hover{box-shadow:0 6px 28px color-mix(in srgb,var(--color-base-content) 8%,transparent)}#article-content.article-style-default details.details summary{padding:1rem 1.25rem 1rem 2.75rem;cursor:pointer;font-weight:600;color:var(--color-base-content);background:color-mix(in srgb,var(--color-base-100) 70%,transparent);-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;position:relative;transition:all .2s ease}#article-content.article-style-default details.details summary:before{content:"";position:absolute;left:1.125rem;top:50%;width:.5rem;height:.5rem;border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:translateY(-50%) rotate(-45deg);transition:transform .25s cubic-bezier(.4,0,.2,1)}#article-content.article-style-default details.details[open] summary:before{transform:translateY(-65%) rotate(45deg)}#article-content.article-style-default details.details summary:hover{background:color-mix(in srgb,var(--color-base-200) 80%,transparent)}#article-content.article-style-default details.details[open] summary{border-bottom:1px solid color-mix(in srgb,var(--color-base-300) 50%,transparent)}#article-content.article-style-default details.details>div{padding:1.25rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto}#article-content.article-style-default .columns{display:flex;gap:1em;margin:1.25em 0;flex-wrap:wrap}#article-content.article-style-default .columns[style]{gap:1em!important;width:100%!important}#article-content.article-style-default .column{flex:1;min-width:0;padding:1.25rem 1.5rem;background:color-mix(in srgb,var(--color-base-200) 60%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:1rem;border:1px solid color-mix(in srgb,var(--color-base-300) 50%,transparent);box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 6%,transparent);transition:transform .25s ease,box-shadow .25s ease}#article-content.article-style-default .column:hover{transform:translateY(-2px);box-shadow:0 8px 30px color-mix(in srgb,var(--color-base-content) 10%,transparent)}#article-content.article-style-default .column[style]{min-width:0!important;box-sizing:border-box!important}#article-content.article-style-default .column p{margin:0;line-height:1.6}@media(max-width:768px){#article-content.article-style-default .columns{flex-direction:column}}#article-content.article-style-default caption{padding:.75rem 0;font-weight:600;text-align:left;caption-side:top;color:var(--color-base-content)}#article-content.article-style-default tfoot{background:var(--color-base-200);font-weight:500;font-size:.9em}#article-content.article-style-default tfoot td{border-top:2px solid var(--color-base-300)}#article-content.article-style-default q{font-style:italic;quotes:'"' '"' """ """}#article-content.article-style-default q:before{content:open-quote}#article-content.article-style-default q:after{content:close-quote}#article-content.article-style-default var{font-family:ui-monospace,monospace;font-style:normal;font-weight:600;color:var(--color-secondary)}#article-content.article-style-default samp{font-family:ui-monospace,monospace;padding:.25em .5em;background:color-mix(in srgb,var(--color-secondary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-secondary) 20%,transparent);border-radius:.5rem;font-size:.875em;color:var(--color-secondary)}#article-content.article-style-default dfn{font-style:italic;font-weight:600;color:var(--color-primary)}#article-content.article-style-default time{color:color-mix(in srgb,var(--color-base-content) 80%,transparent)}#article-content.article-style-default audio{width:100%;max-width:100%;margin:1.5em 0;border-radius:1rem;display:block;background:color-mix(in srgb,var(--color-base-200) 60%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--color-base-content) 6%,transparent)}#article-content.article-style-default video{width:100%;max-width:100%;height:auto;margin:2em auto;border-radius:1rem;display:block;box-shadow:0 8px 30px color-mix(in srgb,var(--color-base-content) 12%,transparent);transition:transform .3s ease,box-shadow .3s ease}#article-content.article-style-default video:hover{transform:translateY(-4px);box-shadow:0 16px 40px color-mix(in srgb,var(--color-base-content) 18%,transparent)}#article-content.article-style-default iframe{width:100%;max-width:100%;margin:1.5em 0;border-radius:1rem;border:1px solid color-mix(in srgb,var(--color-base-300) 50%,transparent);background:color-mix(in srgb,var(--color-base-200) 50%,transparent);box-shadow:0 8px 30px color-mix(in srgb,var(--color-base-content) 10%,transparent)}#article-content.article-style-default embed,#article-content.article-style-default object{max-width:100%;margin:1.5em 0;border-radius:.75rem}#article-content.article-style-default picture{display:block;margin:2em auto}#article-content.article-style-default picture img{margin:0}#article-content.article-style-default aside{margin:1.5em 0;padding:1.25rem 1.5rem;background:color-mix(in srgb,var(--color-base-200) 60%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:1rem;border:1px solid color-mix(in srgb,var(--color-base-300) 50%,transparent);box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 5%,transparent)}#article-content.article-style-default ruby{font-size:inherit}#article-content.article-style-default rt{font-size:.6em;color:color-mix(in srgb,var(--color-base-content) 70%,transparent)}#article-content.article-style-default rp{color:color-mix(in srgb,var(--color-base-content) 50%,transparent)}#article-content.article-style-default bdi,#article-content.article-style-default bdo{unicode-bidi:isolate}#article-content.article-style-default fieldset{margin:1.5em 0;padding:1.5rem 1.75rem;background:color-mix(in srgb,var(--color-base-200) 50%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--color-base-300) 40%,transparent);border-radius:1rem;box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 5%,transparent)}#article-content.article-style-default legend{padding:.25rem 1rem;font-weight:600;font-size:1.05em;color:var(--color-primary);background:color-mix(in srgb,var(--color-base-100) 80%,transparent);border-radius:.5rem}#article-content.article-style-default output{display:inline-block;padding:.3rem .875rem;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:.625rem;font-family:ui-monospace,monospace;color:var(--color-primary);font-weight:600;box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 10%,transparent)}#article-content.article-style-default progress{width:100%;height:.625rem;margin:1em 0;border-radius:1rem;overflow:hidden;background:color-mix(in srgb,var(--color-base-300) 50%,transparent);border:none;box-shadow:inset 0 1px 3px color-mix(in srgb,var(--color-base-content) 10%,transparent)}#article-content.article-style-default progress::-webkit-progress-bar{background:transparent;border-radius:1rem}#article-content.article-style-default progress::-webkit-progress-value{background:linear-gradient(90deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 80%,var(--color-accent)));border-radius:1rem;box-shadow:0 0 8px color-mix(in srgb,var(--color-primary) 40%,transparent)}#article-content.article-style-default progress::-moz-progress-bar{background:linear-gradient(90deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 80%,var(--color-accent)));border-radius:1rem}#article-content.article-style-default meter{width:100%;height:1.5rem;margin:1em 0;border-radius:.75rem;overflow:hidden;background:var(--color-base-200);border:1px solid var(--color-base-300)}#article-content.article-style-default meter::-webkit-meter-bar{background:var(--color-base-200);border-radius:.75rem}#article-content.article-style-default meter::-webkit-meter-optimum-value{background:var(--color-success);border-radius:.75rem}#article-content.article-style-default meter::-webkit-meter-suboptimum-value{background:var(--color-warning);border-radius:.75rem}#article-content.article-style-default meter::-webkit-meter-even-less-good-value{background:var(--color-error);border-radius:.75rem}#article-content.article-style-default dialog{padding:1.5rem;border:1px solid var(--color-base-300);border-radius:1rem;background:var(--color-base-100);box-shadow:0 8px 32px color-mix(in srgb,var(--color-base-content) 15%,transparent)}#article-content.article-style-default dialog::backdrop{background:color-mix(in srgb,var(--color-base-content) 20%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#article-content.article-style-default .callout-note,#article-content.article-style-default .callout-tip,#article-content.article-style-default .callout-warning,#article-content.article-style-default .callout-danger,#article-content.article-style-default .callout-info{margin:1.5em 0;padding:1.25rem 1.5rem;border-radius:1rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 20px color-mix(in srgb,var(--color-base-content) 6%,transparent);transition:transform .2s ease,box-shadow .2s ease}#article-content.article-style-default .callout-note:hover,#article-content.article-style-default .callout-tip:hover,#article-content.article-style-default .callout-warning:hover,#article-content.article-style-default .callout-danger:hover,#article-content.article-style-default .callout-info:hover{transform:translateY(-2px);box-shadow:0 8px 30px color-mix(in srgb,var(--color-base-content) 10%,transparent)}#article-content.article-style-default .callout-note{background:color-mix(in srgb,var(--color-info) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-info) 15%,transparent)}#article-content.article-style-default .callout-tip{background:color-mix(in srgb,var(--color-success) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 15%,transparent)}#article-content.article-style-default .callout-warning{background:color-mix(in srgb,var(--color-warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 15%,transparent)}#article-content.article-style-default .callout-danger{background:color-mix(in srgb,var(--color-error) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 15%,transparent)}#article-content.article-style-default .callout-info{background:color-mix(in srgb,var(--color-accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 15%,transparent)}#article-content .footnote-ref,#article-content a[href^="#fn"],#article-content sup a{text-decoration:none;font-weight:600;color:var(--color-primary);padding:0 .2em}#article-content .footnote-ref:hover,#article-content a[href^="#fn"]:hover{text-decoration:underline}#article-content.article-style-default .footnotes,#article-content.article-style-default .footnote-list{margin-top:3em;padding:1.5rem;background:color-mix(in srgb,var(--color-base-200) 40%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--color-base-300) 40%,transparent);border-radius:1rem;font-size:.9em;color:color-mix(in srgb,var(--color-base-content) 85%,transparent)}#article-content.article-style-github .footnotes,#article-content.article-style-github .footnote-list{margin-top:3em;padding-top:1.5em;border-top:2px solid var(--color-base-300);font-size:.9em;color:color-mix(in srgb,var(--color-base-content) 85%,transparent)}#article-content .footnotes ol,#article-content .footnote-list ol{padding-left:1.5em;margin:.5em 0}#article-content .footnotes li,#article-content .footnote-list li{margin-top:.75em;line-height:1.6}#article-content .footnote-backref,#article-content a[href^="#fnref"]{text-decoration:none;margin-left:.25em;font-size:.85em}#article-content .footnote-backref:hover,#article-content a[href^="#fnref"]:hover{text-decoration:underline}#article-content.article-style-github blockquote blockquote{margin:.75em 0;border-left-width:.2em;opacity:.9}#article-content.article-style-default blockquote blockquote{margin:1em 0;background:color-mix(in srgb,var(--color-base-100) 40%,transparent);border-left-color:color-mix(in srgb,var(--color-primary) 60%,transparent);box-shadow:0 2px 12px color-mix(in srgb,var(--color-base-content) 4%,transparent)}#article-content pre[data-language]:before{content:attr(data-language);position:absolute;top:.5rem;right:3.5rem;font-size:.75rem;color:color-mix(in srgb,var(--color-base-content) 60%,transparent);text-transform:uppercase;font-weight:600;letter-spacing:.05em}#article-content.article-style-default hr{margin:3em 0;height:1px;border:none;background:linear-gradient(90deg,transparent,var(--color-base-300) 20%,var(--color-base-300) 80%,transparent)}.post-like-button .heart-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.post-like-button.liked .heart-icon{animation:heart-beat .6s ease}@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{max-height:min(70vh,400px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-base-300) 40%,transparent) transparent}.toc-container::-webkit-scrollbar{width:4px}.toc-container::-webkit-scrollbar-track{background:transparent}.toc-container::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-base-300) 40%,transparent);border-radius:2px}.toc-container::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-base-300) 60%,transparent)}.toc-list{list-style:none;padding:0;margin:0}.toc-item-wrapper{margin:0;padding:0;padding-left:calc(var(--toc-indent-multiplier, 0) * var(--toc-indent-unit, 16px))}.toc-link{display:flex;align-items:center;padding:6px var(--toc-base-padding);margin:2px 0;min-height:var(--toc-link-height);font-size:.875rem;font-weight:400;line-height:1.4;color:color-mix(in srgb,var(--color-base-content) 60%,transparent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;border-left:2px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.toc-link:hover{background:var(--toc-hover-bg);transform:translate(1px)}.toc-link.active{background:var(--toc-active-bg);transform:translate(1px)}.toc-link[data-relative-level="0"]{font-weight:500;font-size:.9rem}.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}@media(max-width:1023px){article.flex-1{width:100%}#article-content img{max-width:100%;height:auto}#article-content pre{overflow-x:auto;max-width:100%}#article-content table{display:block;max-width:100%;overflow-x:auto}}@media(max-width:640px){#article-content{font-size:15px}#article-content.article-style-github h1{font-size:1.75em}#article-content.article-style-github h2{font-size:1.5em}#article-content.article-style-github h3{font-size:1.2em}#article-content.article-style-github blockquote{padding:.5em .75em;margin:.75em 0}#article-content.article-style-github .columns{flex-direction:column}#article-content.article-style-github .column{padding:.75rem}#article-content.article-style-default h1{font-size:2em}#article-content.article-style-default h2{font-size:1.625em}#article-content.article-style-default h3{font-size:1.375em}#article-content.article-style-default blockquote{padding:1rem;margin:1em 0}#article-content.article-style-default .column{padding:.875rem 1rem}#article-content ul,#article-content ol{padding-left:1.25em}#article-content li{padding-left:.125em}#article-content table th,#article-content table td{padding:.5rem .75rem;font-size:.9em}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
