.prose{font-family:var(--font-readable);color:var(--text);overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.75}.prose img{max-width:75%;height:auto;margin:0 auto;display:block}@media (width<=900px){.prose img{max-width:92%}}@media (width<=640px){.prose img{max-width:100%}}.prose h1{margin:0 0 12px;font-size:26px}.prose h2{margin:42px 0 12px;scroll-margin-top:28px;font-size:18px}.prose h3{margin:28px 0 10px;scroll-margin-top:28px;font-size:16px}.prose p{margin:12px 0}.prose blockquote{padding:.75rem var(--quote-pad);margin:1.2rem 0;& p{margin:0}background-color:var(--code-content-bg);border-left:3px solid var(--border);color:var(--muted);font-size:.95em}.prose blockquote.pullquote{background-color:var(--code-content-bg);color:var(--text);box-shadow:0 1px 2px var(--border);border-left:0;border-right:0;padding:1rem 1.6rem .5rem 1.8rem;font-size:1.1em;font-style:normal;font-weight:500;position:relative;overflow:visible}@media (width<=900px){.prose blockquote{padding:.65rem var(--quote-pad)}.prose blockquote.pullquote{padding:.9rem 1.35rem .5rem 1.55rem}}@supports (background:color-mix(in oklab, black, white)){.prose blockquote.pullquote{background-color:color-mix(in oklab, var(--code-content-bg) 88%, var(--border));box-shadow:0 2px 6px color-mix(in oklab, var(--border) 70%, transparent)}}.prose blockquote.pullquote:before{content:"“";color:var(--border);opacity:.35;pointer-events:none;z-index:0;font-family:Georgia,Times New Roman,Noto Serif SC,serif;font-size:6.6rem;line-height:1;position:absolute;top:-1.1rem;left:0;transform:translate(-.6rem)}.prose blockquote.pullquote>*{z-index:1;position:relative}.prose blockquote.pullquote cite{color:var(--muted);text-align:right;margin-top:.1rem;font-size:.9em;font-style:normal;display:block}.prose code{background:var(--code-content-bg);border:1px solid var(--code-border);box-decoration-break:clone;border-radius:4px;padding:2px 6px;font-size:.9em}.prose pre{border:1px solid var(--border);background:var(--code-content-bg);border-radius:10px;max-width:100%;padding:14px 16px;overflow:auto hidden}.prose pre code{background:0 0;border:none;padding:0;font-size:.92em}.prose ul.gallery{grid-template-columns:repeat(1,minmax(0,1fr));gap:12px;margin:1.2rem 0;padding:0;list-style:none;display:grid}@media (width>=900px){.prose ul.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px){.prose ul.gallery.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.prose ul.gallery.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.prose ul.gallery>li,.prose ul.gallery figure{margin:0}.prose ul.gallery figcaption{line-height:1.4}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}.prose a{border-bottom-color:currentColor}.prose .table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;margin:1.35rem 0;overflow:auto hidden}.prose .table-scroll table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:var(--code-content-bg);table-layout:auto;border-radius:12px;width:max-content;min-width:100%;display:table}.prose thead th{color:var(--text);background:var(--panel);white-space:nowrap;font-weight:600}.prose th,.prose td{border-bottom:1px solid var(--border);vertical-align:top;text-align:left;overflow-wrap:anywhere;padding:.7rem .95rem;line-height:1.65}.prose th:not(:last-child),.prose td:not(:last-child){border-right:1px solid var(--border)}.prose tbody tr:last-child td{border-bottom:0}.prose th[align=center],.prose td[align=center]{text-align:center}.prose th[align=right],.prose td[align=right]{text-align:right}@supports (background:color-mix(in oklab, black, white)){.prose table{box-shadow:0 1px 2px color-mix(in oklab, var(--border) 82%, transparent)}.prose thead th{background:color-mix(in oklab, var(--panel) 78%, var(--code-content-bg))}.prose tbody tr:nth-child(2n) td{background:color-mix(in oklab, var(--panel) 32%, var(--code-content-bg))}}@media (width<=640px){.prose th,.prose td{padding:.6rem .8rem}}.prose figure{--figure-media-max-width:100%;--figure-media-margin-left:auto;--figure-media-margin-right:auto;--figure-caption-max-width:min(100%, 32rem);--figure-caption-text-align:center;margin:18px 0}.prose figure.figure--sm{--figure-media-max-width:18rem;--figure-caption-max-width:18rem}.prose figure.figure--md{--figure-media-max-width:28rem;--figure-caption-max-width:28rem}.prose figure.figure--lg{--figure-media-max-width:42rem;--figure-caption-max-width:42rem}.prose figure.figure--full{--figure-media-max-width:100%;--figure-caption-max-width:100%}.prose figure.figure--left{--figure-media-margin-left:0;--figure-media-margin-right:auto;--figure-caption-text-align:left}.prose figure.figure--center{--figure-media-margin-left:auto;--figure-media-margin-right:auto;--figure-caption-text-align:center}.prose figure.figure--right{--figure-media-margin-left:auto;--figure-media-margin-right:0;--figure-caption-text-align:right}.prose figure>:is(img,picture){max-width:min(100%, var(--figure-media-max-width));height:auto;margin-left:var(--figure-media-margin-left);margin-right:var(--figure-media-margin-right);display:block}.prose figure.figure--full>:is(img,picture){width:100%}.prose figure>picture>img{max-width:100%;height:auto;margin:0 auto;display:block}@media (width<=900px){.prose figure{--figure-media-margin-left:auto;--figure-media-margin-right:auto;--figure-caption-text-align:center}.prose figure>:is(img,picture){max-width:min(92%, var(--figure-media-max-width))}.prose figure.figure--full>:is(img,picture),.prose figure>picture>img{max-width:100%}}.prose figure>figcaption{text-align:var(--figure-caption-text-align);max-width:var(--figure-caption-max-width);margin-top:6px;margin-left:var(--figure-media-margin-left);margin-right:var(--figure-media-margin-right);font-size:.9em;font-family:var(--font-copy);color:var(--muted)}@media (width<=900px){.prose figure>figcaption{font-size:.85em}}:root{--callout-note-accent:var(--muted);--callout-note-icon:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12%2020h9'/><path d='M16.5%203.5a2.1%202.1%200%200%201%203%203L7%2019l-4%201%201-4%2012.5-12.5z'/></svg>");--callout-tip-accent:#7a9b87;--callout-tip-icon:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15%2014c.2-1%20.7-1.7%201.5-2.5%201-.9%201.5-2.2%201.5-3.5A6%206%200%200%200%206%208c0%201%20.2%202.2%201.5%203.5.7.7%201.3%201.5%201.5%202.5'/><path d='M9%2018h6'/><path d='M10%2022h4'/></svg>");--callout-info-accent:var(--faint);--callout-info-icon:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12%2010v6'/><path d='M12%207h.01'/></svg>");--callout-warning-accent:var(--accent);--callout-warning-icon:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.3%203.9l-8.4%2014.5a1.6%201.6%200%200%200%201.4%202.4h16.4a1.6%201.6%200%200%200%201.4-2.4L13.7%203.9a1.6%201.6%200%200%200-3.4%200z'/><path d='M12%209v5'/><path d='M12%2016h.01'/></svg>")}@supports (background:color-mix(in oklch, #000 10%, #fff)){:root{--callout-note-accent:color-mix(in oklch, var(--text) 65%, var(--border));--callout-info-accent:color-mix(in oklch, var(--accent) 35%, var(--text));--callout-warning-accent:color-mix(in oklch, var(--accent) 65%, black)}}.prose .callout{--callout-accent:var(--muted);--callout-line:var(--border);padding:4px 0 4px var(--quote-pad);box-shadow:none;font-family:var(--font-copy);background:0 0;border:0;border-radius:0;margin:1rem 0;position:relative}.prose .callout:before{content:"";background:var(--callout-line);border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;left:0}.prose .callout>:last-child{margin-bottom:0}.prose .callout .callout-title{letter-spacing:.02em;align-items:center;gap:.5rem;margin:0 0 .35rem;font-style:italic;font-weight:600;line-height:1.2;display:flex}.prose .callout .callout-icon{display:none}.prose .callout .callout-title:before{content:"";width:1rem;height:1rem;box-shadow:inset 0 0 0 2px var(--callout-accent);color:var(--callout-accent);background:0 0;border-radius:999px;flex:0 0 1rem;justify-content:center;align-items:center;display:inline-flex}.prose .callout strong{font-weight:650}.prose .callout.note{--callout-accent:var(--callout-note-accent);--callout-icon:var(--callout-note-icon)}.prose .callout.tip{--callout-accent:var(--callout-tip-accent);--callout-icon:var(--callout-tip-icon)}.prose .callout.info{--callout-accent:var(--callout-info-accent);--callout-icon:var(--callout-info-icon)}.prose .callout.warning{--callout-accent:var(--callout-warning-accent);--callout-icon:var(--callout-warning-icon)}@supports (mask-image:url("")){.prose .callout .callout-title:before{box-shadow:none;background:var(--callout-accent);-webkit-mask:var(--callout-icon) no-repeat center / contain;mask:var(--callout-icon) no-repeat center / contain;border-radius:0}}.prose .callout .callout-title[data-icon]:before{content:attr(data-icon);width:auto;min-width:1rem;height:auto;box-shadow:none;background:0 0;border-radius:0;line-height:1;mask:none}.prose .callout .callout-title[data-icon=none]:before{display:none}@supports (background:color-mix(in oklch, #000 10%, #fff)){.prose .callout{--callout-line:color-mix(in oklch, var(--border) 70%, var(--bg))}}.lightbox{width:100vw;height:100vh;color:var(--lightbox-text);--lb-backdrop:var(--overlay-85);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;display:none;position:fixed;inset:0;overflow:hidden}.lightbox[open]{display:flex}.lightbox::backdrop{background:var(--lb-backdrop)}@supports (backdrop-filter:blur(1px)){.lightbox::backdrop{-webkit-backdrop-filter:blur(var(--blur-lg))}}.lightbox-close{border:1px solid var(--lightbox-border);background:var(--overlay-35);color:var(--lightbox-text);cursor:pointer;z-index:3;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;line-height:1;display:inline-flex;position:fixed;top:28px;right:28px}.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline:2px solid var(--lightbox-text);outline-offset:2px}.lightbox-navs{pointer-events:none;z-index:2;background:0 0;justify-content:space-between;align-items:center;padding:0;display:flex;position:fixed;top:50%;left:24px;right:24px;transform:translateY(-50%)}.lightbox-nav{border:1px solid var(--lightbox-border);background:var(--overlay-45);width:36px;height:36px;color:var(--lightbox-text);cursor:pointer;pointer-events:auto;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:background .15s,transform .15s;display:inline-flex}.lightbox-nav[disabled]{opacity:.2;cursor:default}.lightbox-nav[disabled]:hover,.lightbox-nav[disabled]:focus-visible{background:var(--overlay-45)}.lightbox-nav:hover:not([disabled]),.lightbox-nav:focus-visible:not([disabled]){background:var(--overlay-60);transform:scale(1.04)}.lightbox-figure{flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0;display:flex}.lightbox-figure img{background:0 0;border:0;border-radius:0;width:auto;max-width:90vw;height:auto;max-height:90vh}.lightbox[data-enable-zoom=true] [data-lightbox-image]{touch-action:none}.lightbox[data-enable-zoom=false] [data-lightbox-image]{touch-action:pan-y}.lightbox-meta{color:var(--lightbox-text);text-align:center;font-size:12px;font-family:var(--font-copy);justify-items:center;gap:6px;display:grid;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.lightbox-caption{max-width:min(72vw,720px);color:var(--lightbox-text);letter-spacing:.02em}.lightbox-meta-row{align-items:center;gap:10px;display:inline-flex}.lightbox-dots{align-items:center;gap:6px;display:none}.lightbox-dot{background:var(--lightbox-dot-muted);border-radius:999px;width:6px;height:6px}.lightbox-dot.is-active{background:var(--lightbox-text)}.prose img[data-lightbox]{cursor:zoom-in;transition:opacity .18s}.prose [data-lightbox-trigger=true]{cursor:zoom-in}.prose a[data-lightbox-trigger=true]{display:inline-block}.prose img[data-lightbox]:hover{opacity:.92}.prose [data-lightbox-trigger=true]:focus-visible{outline:2px solid var(--text);outline-offset:4px}.prose [data-lightbox-trigger=true]:focus-visible img{opacity:.92}@media (width<=640px){.lightbox::backdrop{-webkit-backdrop-filter:none}.lightbox[data-mobile-nav=hidden] .lightbox-navs{display:none}.lightbox[data-mobile-nav=bottom] .lightbox-navs{justify-content:center;gap:16px;inset:auto 0 64px;transform:none}.lightbox[data-mobile-nav=bottom] .lightbox-nav{width:38px;height:38px}.lightbox{--lb-backdrop:var(--overlay-85);background:0 0;border:0;border-radius:0;width:100vw;height:100vh;padding:0}.lightbox-close{background:var(--overlay-35);border-color:var(--lightbox-border);color:var(--lightbox-text);position:absolute;top:12px;right:12px}.lightbox-figure{justify-content:center;align-items:center;height:100%;margin:0}.lightbox-figure img{object-fit:contain;background:0 0;border:0;border-radius:0;width:100vw;height:auto;max-height:100vh}.lightbox-meta{color:var(--lightbox-text);justify-items:center;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.lightbox[data-mobile-count=hidden] .lightbox-count{display:none}.lightbox[data-mobile-count=hidden] .lightbox-dots{display:inline-flex}}@media (prefers-reduced-transparency:reduce){.lightbox{--lb-backdrop:var(--overlay-90)}.lightbox::backdrop{-webkit-backdrop-filter:none}}.prose pre:is(.astro-code,.shiki){background-color:var(--code-content-bg)!important}.prose pre:is(.astro-code,.shiki) span{background-color:#0000!important}.prose pre:is(.astro-code,.shiki) span[style*=--shiki-light]{color:var(--shiki-light)!important}:root[data-theme=dark] .prose pre:is(.astro-code,.shiki) span[style*=--shiki-dark]{color:var(--shiki-dark)!important}:root[data-theme=dark] .prose pre:is(.astro-code,.shiki){color:var(--shiki-dark,var(--text))!important}.prose .code-block{border:1px solid var(--code-border);background:var(--code-content-bg);border-radius:8px;margin:1.5em 0;position:relative;overflow:hidden}.prose .code-block pre{background:var(--code-content-bg);border:none;border-radius:0;margin:0}.prose pre:is(.astro-code,.shiki){counter-reset:line;--ln-width:2.5ch;--ln-gap:3ch;--code-pad-x:16px}.prose pre:is(.astro-code,.shiki):has(.line){padding-left:0}.prose pre:is(.astro-code,.shiki) .line{vertical-align:top;width:100%;padding-left:var(--code-pad-x);display:inline-block;position:relative}.prose pre:is(.astro-code,.shiki) .line:before{counter-increment:line;content:counter(line);width:var(--ln-width);min-width:var(--ln-width);text-align:right;margin-right:var(--ln-gap);box-sizing:border-box;line-height:inherit;color:var(--muted);opacity:.7;font-variant-numeric:tabular-nums;user-select:none;pointer-events:none;font-size:.85em;display:inline-block;position:static}body[data-code-line-numbers=off] .prose pre:is(.astro-code,.shiki) .line:before{content:none}body[data-code-line-numbers=off] .prose pre:is(.astro-code,.shiki) .line{padding-left:0}@supports (color:color-mix(in oklab, black, white)){.prose pre:is(.astro-code,.shiki) .line:before{color:color-mix(in oklab, var(--muted) 70%, var(--code-content-bg));opacity:1}}.prose .code-block .code-toolbar{background:var(--code-header-bg);border-bottom:1px solid var(--code-border);height:38px;font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:13px;display:flex}.prose .code-block .code-lang{text-transform:uppercase;letter-spacing:.02em;color:var(--code-text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.prose .code-block .code-meta{align-items:center;gap:8px;display:flex}.prose .code-block .code-info{color:var(--faint)}.prose .code-block .code-separator{color:var(--faint);user-select:none}.prose .code-block .code-copy{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .2s,background-color .2s;display:inline-flex}.prose .code-block .code-copy:disabled{cursor:default;opacity:.6}.prose .code-block .code-copy:hover:not(:disabled){color:var(--text);background:var(--code-action-hover-bg)}.prose .code-block .code-copy:focus-visible{outline-offset:2px;outline:2px solid}.prose .code-block .code-copy svg{width:14px;height:14px;display:block}.prose .code-block .code-copy .icon-check,.prose .code-block .code-copy[data-state=copied] .icon-copy{display:none}.prose .code-block .code-copy[data-state=copied] .icon-check{display:block}.prose .code-block .code-lang-icon{width:16px;height:16px;color:var(--muted);opacity:.8;flex:none;transition:color .2s,opacity .2s,filter .2s;display:inline-block}.prose .code-block .code-lang-icon.is-colored{color:inherit;filter:grayscale();opacity:.65}.prose .code-block .code-toolbar:hover .code-lang-icon:not(.is-colored){color:var(--code-text);opacity:1}.prose .code-block .code-toolbar:hover .code-lang-icon.is-colored{filter:grayscale(0%);opacity:1}@media (width<=640px){.prose .code-block .code-toolbar{flex-wrap:wrap;row-gap:6px;height:auto;padding:8px 12px}.prose .code-block .code-lang{font-size:12px}.prose .code-block .code-meta{margin-left:auto}.prose .code-block .code-info,.prose .code-block .code-separator{display:none}}@media (prefers-reduced-motion:reduce){.prose .code-block .code-lang-icon{transition:none}}.article-copyright{color:var(--text);margin:32px 0 0}.article-copyright__card{border:1px solid var(--border);background:var(--panel,var(--bg));border-radius:14px 14px 0 0;flex-direction:column;gap:16px;padding:24px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 1px 2px #0000000f}.article-copyright__watermark{inset-inline-end:24px;color:var(--faint);opacity:.08;pointer-events:none;position:absolute;top:18px}.article-copyright__header{flex-direction:column;gap:6px;display:flex}.article-copyright__title{color:var(--text);font-family:var(--font-heading,var(--font-readable));font-size:18px;font-weight:600;line-height:1.35}.article-copyright__url{color:var(--faint);font-family:var(--font-copy);word-break:break-all;font-size:13px}.article-copyright__meta{color:var(--muted);font-family:var(--font-copy);flex-wrap:wrap;align-items:center;gap:16px 24px;font-size:13px;display:flex}.article-copyright__kv{align-items:center;gap:6px;min-width:0;display:inline-flex}.article-copyright__label{color:var(--faint);font-weight:400}.article-copyright__value{color:var(--text);font-weight:500}.article-copyright__value[target=_blank]{text-underline-offset:2px;text-decoration-thickness:1px}.article-copyright__value[target=_blank]:hover{color:var(--accent)}.time .article-copyright__value{font-variant-numeric:tabular-nums}.article-copyright__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:relative}.article-copyright__action{width:32px;height:32px;color:var(--muted);-webkit-tap-highlight-color:transparent;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .18s,background-color .18s,border-color .18s;display:inline-flex}.article-copyright__action:hover{color:var(--text);background:color-mix(in srgb, var(--faint) 10%, transparent)}.article-copyright__action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.article-copyright__icon{width:18px;height:18px;display:inline-block}.article-copyright__tooltip{background:var(--text);height:28px;color:var(--bg);opacity:0;pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;line-height:1;transition:opacity .18s,transform .18s;display:inline-flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,4px)}.article-copyright__tooltip.is-visible{opacity:1;transform:translate(-50%)}.article-copyright__qr{z-index:10;border:1px solid var(--border);background:var(--panel,var(--bg));width:180px;height:180px;box-shadow:var(--toc-shadow,0 12px 36px #00000024);opacity:0;border-radius:14px;max-width:0;max-height:0;padding:12px;transition:opacity .24s,transform .24s,max-height .24s,max-width .24s;position:absolute;top:calc(100% + 10px);left:0;overflow:hidden;transform:translateY(6px)}.article-copyright__qr.is-visible{opacity:1;max-width:220px;max-height:220px;transform:translateY(0)}@media (width<=640px){.article-copyright__card{border-radius:12px 12px 0 0;gap:14px;padding:18px}.article-copyright__title{font-size:17px}.article-copyright__meta{gap:12px 16px}}.article-sponsor{margin-bottom:24px}.article-sponsor__link{border:1px solid var(--border);background:var(--panel,var(--bg));color:var(--muted);border-top:0;border-radius:0 0 14px 14px;justify-content:space-between;align-items:center;gap:12px;margin:0 24px;padding:12px 16px;line-height:1.2;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s;display:flex}.article-sponsor__link:hover{color:var(--text);background:color-mix(in srgb, var(--faint) 6%, var(--panel,var(--bg)))}.article-sponsor__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.article-sponsor__label{display:inline}.article-sponsor__label-mobile{display:none}.article-sponsor__icon{flex-shrink:0;width:18px;height:18px;display:inline-flex}@media (width<=640px){.article-sponsor__link{border-radius:0 0 12px 12px;margin:0 14px;padding:10px 14px}.article-sponsor__label{display:none}.article-sponsor__label-mobile{display:inline}}.article-reading-layout{min-width:0}.article-toc-float{--toc-edge:clamp(18px, 3vw, 40px);--toc-panel-bg:var(--panel,var(--bg));--toc-shadow:0 12px 36px #00000024;right:var(--toc-edge);bottom:calc(var(--toc-edge) + env(safe-area-inset-bottom));z-index:20;position:fixed}.article-toc-float__summary{display:none}.article-toc-float__summary::-webkit-details-marker{display:none}.article-toc__items a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.article-toc-float__panel{overscroll-behavior:contain;border:1px solid var(--border);background:var(--toc-panel-bg);width:min(340px,100vw - 36px);max-height:min(60vh,480px);color:var(--text);box-shadow:var(--toc-shadow);scrollbar-width:thin;scroll-behavior:smooth;border-radius:14px;padding:16px;position:absolute;bottom:calc(100% + 10px);right:0;overflow:auto}.article-toc-float__header{border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font-readable);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;font-size:14px;font-weight:600;display:flex}.article-toc-float__count{color:var(--muted);font-family:var(--font-copy);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400}.article-toc__items{gap:4px;margin:0;padding:12px 0 0;list-style:none;display:grid}.article-toc__items a{min-width:0;min-height:36px;color:var(--muted);overflow-wrap:anywhere;border:0;border-radius:6px;align-items:center;padding:6px 10px 6px 14px;font-size:13px;line-height:1.5;transition:color .16s,background-color .16s;display:flex;position:relative}.article-toc__items a:before{content:"";background:0 0;border-radius:2px;width:2px;position:absolute;inset:7px auto 7px 0}.article-toc__items a:hover{background:var(--code-content-bg);color:var(--text)}.article-toc__items a.is-active{background:color-mix(in srgb, var(--accent) 10%, var(--toc-panel-bg));color:var(--text);font-weight:600}.article-toc__items a.is-active:before{background:var(--accent)}.article-toc__item--nested{padding-left:18px}@media (width<=1100px){.article-toc-float{--toc-edge:24px}.article-toc-float__panel{width:min(320px,100vw - 48px)}}@media (width<=900px){.article-toc-float{--toc-edge:20px}.article-toc-float__panel{max-height:min(58vh,440px)}}@media (width<=640px){.article-toc-float{--toc-edge:14px}.article-toc-float__panel{border-radius:12px;width:min(320px,100vw - 28px);max-height:min(65vh,520px);padding:14px;right:0}.article-toc__items a{min-height:44px;padding:8px 10px 8px 14px}}body.immersive-page[data-reading=immersive] .article-toc-float{--toc-edge:clamp(18px, 3vw, 32px)}body.immersive-page[data-reading=immersive] .article-toc-float__panel{width:min(360px,100vw - 36px);right:0}@media (prefers-reduced-motion:reduce){.article-toc__items a{transition:none}.article-toc-float__panel{scroll-behavior:auto}}
