.toc-rail:where(.astro-xvrfupwn){position:sticky;top:2.5rem;max-height:calc(100vh - 5rem);overflow-y:auto;padding-top:.5rem}.toc-rail__title:where(.astro-xvrfupwn){margin-bottom:.75rem;padding-left:.875rem;font-size:var(--text-small);font-weight:600;color:var(--color-foreground)}.toc-rail:where(.astro-xvrfupwn) ol:where(.astro-xvrfupwn){display:flex;flex-direction:column;gap:.125rem}.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn){position:relative;display:block;padding:.3125rem 0 .3125rem .875rem;font-size:var(--text-small);line-height:1.4;color:var(--color-muted);text-wrap:pretty;transition:color .15s ease-out}.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn):before{content:"";position:absolute;left:0;top:calc(.3125rem + .7em - 2.5px);width:5px;height:5px;border-radius:9999px;background:var(--color-accent);opacity:0;scale:.4;transition:opacity .15s ease-out,scale .2s ease-out}.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn):hover{color:var(--color-foreground)}.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn)[aria-current]{color:var(--color-foreground);font-weight:500}.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn)[aria-current]:before{opacity:1;scale:1}.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.toc-inline:where(.astro-xvrfupwn){margin-bottom:2rem;border-radius:.75rem;background:var(--color-surface)}.toc-inline:where(.astro-xvrfupwn) summary:where(.astro-xvrfupwn){display:flex;align-items:center;justify-content:space-between;min-height:2.75rem;padding:.625rem 1rem;font-size:var(--text-body);font-weight:500;color:var(--color-foreground);cursor:pointer;list-style:none;border-radius:.75rem}.toc-inline:where(.astro-xvrfupwn) summary:where(.astro-xvrfupwn)::-webkit-details-marker{display:none}.toc-inline:where(.astro-xvrfupwn) summary:where(.astro-xvrfupwn):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.toc-inline:where(.astro-xvrfupwn) .toc-inline__mark{color:var(--color-muted);transition:rotate .2s ease-out}.toc-inline:where(.astro-xvrfupwn)[open] .toc-inline__mark{rotate:180deg}.toc-inline:where(.astro-xvrfupwn) ol:where(.astro-xvrfupwn){display:flex;flex-direction:column;padding:0 1rem .75rem}.toc-inline:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn){display:block;padding:.5rem 0;font-size:var(--text-body);line-height:1.45;color:var(--color-foreground-secondary);transition:color .15s ease-out}.toc-inline:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn):hover{color:var(--color-accent-strong)}@media(prefers-reduced-motion:reduce){.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn),.toc-rail:where(.astro-xvrfupwn) a:where(.astro-xvrfupwn):before,.toc-inline:where(.astro-xvrfupwn) .toc-inline__mark{transition:none}}.entry-sheet{font-size:clamp(1rem,1.6vw,1.0625rem);line-height:1.7}.entry-head{margin-bottom:2.5rem}.prose-page .prose img.entry-cover{display:block;width:calc(100% + 2rem);max-width:none;margin:0 -1rem 2.5rem;border-radius:0}@media(min-width:40rem){.prose-page .prose img.entry-cover{width:calc(100% + 4rem);margin-inline:-2rem}}@media(min-width:48rem){.prose-page .prose img.entry-cover{width:calc(100% + 6rem);margin-inline:-3rem;margin-bottom:3rem}}.entry-title{margin-top:2rem;font-size:clamp(2rem,4.2vw,2.75rem);font-weight:500;line-height:1.08;letter-spacing:-.03em;color:var(--color-foreground);text-wrap:balance}.entry-intro{margin-top:1rem;max-width:34rem;font-size:clamp(1.1rem,1.8vw,1.25rem);line-height:1.5;color:var(--color-foreground-secondary);text-wrap:pretty}.prose-page .prose h2[id]{scroll-margin-top:2rem}.prose-page .prose .faq-block{margin-top:3rem;padding-top:2rem;border-top:1px solid color-mix(in oklch,var(--color-foreground) 10%,transparent)}.prose-page .prose .faq-block details{border-bottom:1px solid color-mix(in oklch,var(--color-foreground) 8%,transparent)}.prose-page .prose .faq-block summary{cursor:pointer;list-style:none;padding:1rem 2rem 1rem 0;position:relative;font-weight:600;color:var(--color-foreground)}.prose-page .prose .faq-block summary::-webkit-details-marker{display:none}.prose-page .prose .faq-block summary:after{content:"+";position:absolute;right:0;top:50%;translate:0 -50%;color:var(--color-accent);font-size:1.25rem;line-height:1}.prose-page .prose .faq-block details[open] summary:after{content:"×"}.prose-page .prose .faq-block details>div{padding-bottom:1.25rem;color:var(--color-foreground-secondary)}.prose-page .prose .faq-block details>div>:first-child{margin-top:0}@media(hover:hover){.prose-page .prose .faq-block summary{transition:color .15s ease-out}.prose-page .prose .faq-block summary:hover{color:var(--color-accent)}}.prose-page .prose .table-wrap{margin:2rem -.5rem;overflow-x:auto;border-radius:12px;border:1px solid color-mix(in oklch,var(--color-foreground) 10%,transparent);background:var(--color-surface);-webkit-overflow-scrolling:touch}.prose-page .prose table{width:100%;border-collapse:separate;border-spacing:0;margin:0;font-size:.9375rem;font-variant-numeric:tabular-nums}.prose-page .prose :not(.table-wrap)>table{margin:2rem 0;border-radius:12px;border:1px solid color-mix(in oklch,var(--color-foreground) 10%,transparent);background:var(--color-surface);overflow:hidden}.prose-page .prose thead th{background:color-mix(in oklch,var(--color-accent) 6%,var(--color-surface-alt));text-align:left;font-weight:600;color:var(--color-foreground);padding:.875rem 1.125rem;border-bottom:1px solid color-mix(in oklch,var(--color-foreground) 12%,transparent);letter-spacing:-.005em;white-space:nowrap}.prose-page .prose tbody td{padding:.875rem 1.125rem;border-bottom:1px solid color-mix(in oklch,var(--color-foreground) 6%,transparent);color:var(--color-foreground-secondary);vertical-align:top;line-height:1.5}.prose-page .prose tbody tr:last-child td{border-bottom:none}.prose-page .prose tbody tr:nth-child(2n) td{background:color-mix(in oklch,var(--color-surface-alt) 30%,transparent)}@media(hover:hover){.prose-page .prose tbody tr{transition:background-color .15s ease-out}.prose-page .prose tbody tr:hover td{background:color-mix(in oklch,var(--color-accent) 5%,var(--color-surface-bright))}}.prose-page .prose td strong{color:var(--color-foreground);font-weight:600}
