.prose{color:var(--text-reading);font-family:var(--font-reading);overflow-wrap:break-word;min-width:0;max-width:68ch;font-size:clamp(1.09rem,1.02rem + .3vw,1.2rem);line-height:1.7}.prose>*+*{margin-top:1.25em}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4{color:var(--text-primary);font-weight:750;position:relative}.prose h2{letter-spacing:-.03em;margin-top:1.7em;font-size:1.5em;line-height:1.18}.prose h3{letter-spacing:-.024em;margin-top:1.7em;font-size:1.22em;line-height:1.25}.prose h4{letter-spacing:-.02em;margin-top:1.6em;font-size:1.08em;line-height:1.3}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.7em}.prose .anchor{color:var(--accent-text);opacity:0;padding-right:.3em;font-weight:600;text-decoration:none;transition:opacity .14s;position:absolute;left:-1.1em}.prose :is(h2,h3,h4):hover .anchor,.prose .anchor:focus-visible{opacity:1}@media (width<=52rem){.prose .anchor{display:none}}.prose a{color:var(--accent-text);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:.2em;overflow-wrap:anywhere;text-decoration-thickness:.08em;transition:text-decoration-color .14s}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--text-primary);font-weight:700}.prose s{color:var(--text-muted)}.prose mark{background:var(--mark-bg);box-shadow:0 0 0 .12em var(--mark-bg);color:var(--mark-text);border-radius:.25em}.prose .dead{color:var(--text-muted);text-underline-offset:.2em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.prose code{background:var(--surface-raised);border:1px solid var(--border);font-family:var(--font-mono);overflow-wrap:anywhere;border-radius:.4em;padding:.08em .36em;font-size:.84em}.c-gray{color:var(--gray)}.c-brown{color:var(--brown)}.c-orange{color:var(--orange)}.c-yellow{color:var(--yellow)}.c-green{color:var(--green)}.c-teal{color:var(--teal)}.c-blue{color:var(--blue)}.c-purple{color:var(--purple)}.c-pink{color:var(--pink)}.c-red{color:var(--red)}.prose .i1{margin-left:1.5em}.prose .i2{margin-left:3em}.prose .i3{margin-left:4.5em}.prose .i4{margin-left:6em}.prose .i5{margin-left:7.5em}.prose .i6{margin-left:9em}@media (width<=40rem){.prose .i1{margin-left:1em}.prose .i2{margin-left:2em}.prose .i3,.prose .i4,.prose .i5,.prose .i6{margin-left:3em}}.prose ul,.prose ol{padding-left:1.5em}.prose li{padding-left:.2em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.4em}.prose ul>li::marker{color:var(--accent-text)}.prose ol>li::marker{color:var(--accent-text);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-size:.88em;font-weight:700}.prose ul.todo{padding-left:.1em;list-style:none}.prose ul.todo ul.todo{padding-left:1.75em}.prose ul.todo label{align-items:flex-start;gap:.65em;display:flex}.prose ul.todo input{appearance:none;background:var(--surface-sunken);border:.1em solid var(--border-strong);border-radius:.32em;flex-shrink:0;width:1.05em;height:1.05em;margin-top:.42em}.prose ul.todo input:checked{background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%2303251a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;border-color:var(--primary)}.prose ul.todo li.done>label>span{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.prose details.tg{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:.15em 1em}.prose details.tg>summary{color:var(--text-primary);cursor:pointer;font-family:var(--font-ui);padding:.7em 0 .7em 1.5em;font-size:.95em;font-weight:650;list-style:none;position:relative}.prose details.tg>summary::-webkit-details-marker{display:none}.prose details.tg>summary:before{border-bottom:.14em solid var(--accent-text);border-right:.14em solid var(--accent-text);content:"";width:.5em;height:.5em;transition:transform .16s;position:absolute;top:1.15em;left:.2em;transform:rotate(-45deg)}.prose details.tg[open]>summary:before{transform:rotate(45deg)translate(-.1em,-.1em)}.prose .tg-body{padding:0 0 1em 1.5em}.prose .tg-body>*+*{margin-top:.9em}.prose blockquote{border-left:.2rem solid var(--gold);color:var(--text-primary);padding:.2em 0 .2em 1.1em;font-size:1.12em;font-style:italic;line-height:1.55}.prose .callout{--tone:var(--blue);background:linear-gradient(100deg, color-mix(in srgb, var(--tone) 13%, transparent), color-mix(in srgb, var(--tone) 4%, transparent));border:1px solid color-mix(in srgb, var(--tone) 32%, transparent);border-radius:1rem;padding:1em 1.15em}.prose .callout.tip{--tone:var(--green)}.prose .callout.important{--tone:var(--purple)}.prose .callout.warning{--tone:var(--yellow)}.prose .callout.caution{--tone:var(--red)}.prose .callout-title{color:var(--tone);font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45em;margin-bottom:.35em;font-size:.78em;font-weight:750;display:flex}.prose .callout-title svg{flex-shrink:0}.prose hr{background:linear-gradient(90deg, transparent, var(--border-strong) 20%, var(--border-strong) 80%, transparent);border:0;height:1px;margin-block:2.4em}.prose figure.code{background:var(--surface-sunken);border:1px solid var(--border);border-radius:1rem;overflow:hidden}.prose figure.code figcaption{border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:2.4rem;padding:.3rem .5rem .3rem 1rem;font-size:.74rem;font-weight:650;display:flex}.prose .code-copy{border:1px solid var(--border-strong);color:var(--text-secondary);letter-spacing:.02em;text-transform:none;background:0 0;border-radius:999px;height:1.75rem;padding-inline:.75rem;font-size:.74rem;font-weight:650;transition:border-color .14s,color .14s}.prose .code-copy:hover{border-color:var(--accent-text);color:var(--accent-text)}.prose pre{font-family:var(--font-mono);tab-size:2;padding:1rem 1.1rem;font-size:.86rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;overflow-wrap:normal;white-space:pre;background:0 0;border:0;padding:0}.prose pre.mermaid-src{background:var(--surface-sunken);border:1px solid var(--border);border-radius:1rem}.prose .tbl{border:1px solid var(--border);border-radius:1rem;overflow-x:auto}.prose table{border-collapse:collapse;font-family:var(--font-ui);min-width:100%;font-size:.9rem;line-height:1.45}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.7em 1em}.prose th{background:var(--surface);color:var(--text-primary);white-space:nowrap;font-weight:650}.prose tr:last-child>td{border-bottom:0}.prose tbody tr:hover>td{background:var(--surface-raised)}.prose .a-center{text-align:center}.prose .a-right{text-align:right}.prose figure{max-width:100%;margin-inline:auto}.prose figure.img{width:fit-content}.prose figure.img.sized{width:var(--w)}.prose figure.img.sized img{width:100%}@media (width<=40rem){.prose figure.img.sized{width:100%}}.prose figure.img img{border-radius:var(--radius);box-shadow:0 0 0 1px var(--media-ring);display:block}.prose figcaption{color:var(--text-muted);font-family:var(--font-ui);text-align:center;margin-top:.7em;font-size:.84rem;line-height:1.45}.prose .math-block{text-align:center;padding-block:.4em;overflow:auto hidden}.prose .math-inline .katex{font-size:1.05em}.prose .katex-display{margin:0}.prose .math-src{color:var(--red)}.prose figure.chart{--chart-surface:var(--surface-sunken);background:var(--surface-sunken);border:1px solid var(--border);border-radius:1.1rem;padding:1.1rem 1.1rem .9rem}.prose figure.chart>figcaption{color:var(--text-primary);font-family:var(--font-display);letter-spacing:-.015em;text-align:left;margin:0 0 .7rem;font-size:1rem;font-weight:750}.om-chart{font-family:var(--font-ui);width:100%;height:auto;display:block}.om-chart .grid{stroke:var(--chart-grid)}.om-chart .axis{stroke:var(--chart-axis)}.om-chart .tick{fill:var(--text-muted);font-size:11px}.om-chart .area{opacity:.2}.om-chart .line{stroke-linecap:round;stroke-linejoin:round}.om-chart .bar,.om-chart .slice,.om-chart .dot{transition:opacity .14s}.om-chart .bar:hover,.om-chart .slice:hover,.om-chart .dot:hover{opacity:.75}.chart-legend{font-family:var(--font-ui);flex-wrap:wrap;justify-content:center;gap:.35rem 1.1rem;margin-top:.6rem;font-size:.82rem;list-style:none;display:flex;padding:0!important}.chart-legend li{color:var(--text-secondary);align-items:center;gap:.45rem;padding:0;display:inline-flex;margin:0!important}.chart-legend i{border-radius:.2rem;width:.7rem;height:.7rem}.sw-blue{background:var(--blue)}.sw-orange{background:var(--orange)}.sw-green{background:var(--green)}.sw-purple{background:var(--purple)}.sw-pink{background:var(--pink)}.sw-teal{background:var(--teal)}.sw-red{background:var(--red)}.sw-yellow{background:var(--yellow)}.sw-brown{background:var(--brown)}.chart-data{font-family:var(--font-ui);margin-top:.7rem}.chart-data summary{color:var(--text-muted);cursor:pointer;width:fit-content;font-size:.8rem;font-weight:600}.chart-data summary:hover{color:var(--text-primary)}.chart-data .tbl{margin-top:.6rem}.prose figure.diagram{background:var(--surface-sunken);border:1px solid var(--border);text-align:center;border-radius:1.1rem;padding:1rem;overflow-x:auto}.prose figure.diagram img,.prose figure.diagram svg{max-width:100%;height:auto;margin-inline:auto;display:block}.prose figure.mermaid img{filter:var(--diagram-filter)}.wb{font-family:var(--font-ui);--fg:var(--text-primary)}.wb path,.wb rect,.wb ellipse{stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.wb .f-none{fill:none}.wb .s-fg{stroke:var(--fg)}.wb .f-fg{fill:color-mix(in srgb, var(--fg) 16%, transparent)}.wb .t-fg{fill:var(--fg);stroke:none}.wb .s-gray{stroke:var(--gray)}.wb .f-gray{fill:color-mix(in srgb, var(--gray) 16%, transparent)}.wb .t-gray{fill:var(--gray);stroke:none}.wb .s-brown{stroke:var(--brown)}.wb .f-brown{fill:color-mix(in srgb, var(--brown) 16%, transparent)}.wb .t-brown{fill:var(--brown);stroke:none}.wb .s-orange{stroke:var(--orange)}.wb .f-orange{fill:color-mix(in srgb, var(--orange) 16%, transparent)}.wb .t-orange{fill:var(--orange);stroke:none}.wb .s-yellow{stroke:var(--yellow)}.wb .f-yellow{fill:color-mix(in srgb, var(--yellow) 16%, transparent)}.wb .t-yellow{fill:var(--yellow);stroke:none}.wb .s-green{stroke:var(--green)}.wb .f-green{fill:color-mix(in srgb, var(--green) 16%, transparent)}.wb .t-green{fill:var(--green);stroke:none}.wb .s-teal{stroke:var(--teal)}.wb .f-teal{fill:color-mix(in srgb, var(--teal) 16%, transparent)}.wb .t-teal{fill:var(--teal);stroke:none}.wb .s-blue{stroke:var(--blue)}.wb .f-blue{fill:color-mix(in srgb, var(--blue) 16%, transparent)}.wb .t-blue{fill:var(--blue);stroke:none}.wb .s-purple{stroke:var(--purple)}.wb .f-purple{fill:color-mix(in srgb, var(--purple) 16%, transparent)}.wb .t-purple{fill:var(--purple);stroke:none}.wb .s-pink{stroke:var(--pink)}.wb .f-pink{fill:color-mix(in srgb, var(--pink) 16%, transparent)}.wb .t-pink{fill:var(--pink);stroke:none}.wb .s-red{stroke:var(--red)}.wb .f-red{fill:color-mix(in srgb, var(--red) 16%, transparent)}.wb .t-red{fill:var(--red);stroke:none}.prose figure.yt{aspect-ratio:16/9;border-radius:var(--radius);box-shadow:0 0 0 1px var(--media-ring);background:#000;position:relative;overflow:hidden}.prose figure.yt-short{aspect-ratio:9/16;max-width:22rem}.prose .yt-lite{width:100%;height:100%;display:block;position:relative}.prose .yt-lite img{object-fit:cover;opacity:.82;width:100%;height:100%;transition:opacity .2s,transform .4s;display:block}.prose .yt-lite:hover img{opacity:1;transform:scale(1.02)}.prose .yt-lite:after{background:linear-gradient(180deg, transparent 55%, var(--video-veil));content:"";position:absolute;inset:0}.prose .yt-play{z-index:1;transition:transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.prose .yt-lite:hover .yt-play{transform:translate(-50%,-50%)scale(1.08)}.prose .yt-bg{fill:var(--primary)}.prose .yt-tri{fill:var(--primary-foreground)}.prose .yt-note{color:#fff;font-family:var(--font-ui);z-index:1;font-size:.78rem;font-weight:600;position:absolute;bottom:.8rem;left:1rem}.prose figure.yt iframe{border:0;width:100%;height:100%;display:block}.prose .link-card a{background:var(--surface);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-ui);border-radius:1rem;align-items:center;gap:.9rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .14s;display:flex}.prose .link-card a:hover{border-color:var(--accent-line)}.prose .link-card-icon{background:var(--surface-sunken);border:1px solid var(--border);color:var(--accent-text);border-radius:.8rem;flex-shrink:0;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;display:flex}.prose .link-card.ig .link-card-icon{color:var(--pink)}.prose .link-card-text{flex-direction:column;flex:1;min-width:0;font-size:.95rem;line-height:1.35;display:flex}.prose .link-card-text strong{font-weight:650}.prose .link-card-text span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.prose .link-card-go{color:var(--text-muted);flex-shrink:0;display:flex}.preview-banner.svelte-2iqk61{background:var(--mark-bg);border-bottom:1px solid var(--border);color:var(--mark-text);text-align:center;top:var(--header-height);z-index:10;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem .8rem;padding:.6rem 1rem;font-size:.9rem;display:flex;position:sticky}.preview-banner.svelte-2iqk61 strong:where(.svelte-2iqk61){font-weight:750}.post.svelte-2iqk61{grid-template-columns:minmax(0,1fr);max-width:46rem;display:grid}.head.svelte-2iqk61{flex-direction:column;gap:1rem;padding-block:clamp(1.75rem,5vw,3rem) 1.75rem;display:flex}.crumbs.svelte-2iqk61{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.crumbs.svelte-2iqk61>a:where(.svelte-2iqk61):first-child{color:var(--text-secondary)}.crumbs.svelte-2iqk61>a:where(.svelte-2iqk61):first-child:hover{color:var(--text-primary)}h1.svelte-2iqk61{letter-spacing:-.038em;overflow-wrap:break-word;font-size:clamp(1.95rem,1.35rem + 2.4vw,2.85rem);font-weight:800;line-height:1.08}.lead.svelte-2iqk61{color:var(--text-secondary);font-family:var(--font-reading);font-size:clamp(1.12rem,1.05rem + .35vw,1.3rem);line-height:1.5}.byline.svelte-2iqk61 strong:where(.svelte-2iqk61){color:var(--text-primary);font-weight:650}.cover.svelte-2iqk61{margin-bottom:2rem}.cover.svelte-2iqk61 img:where(.svelte-2iqk61){aspect-ratio:16/9;border-radius:var(--radius-large);box-shadow:0 0 0 1px var(--media-ring);object-fit:cover;width:100%;display:block}.toc.svelte-2iqk61{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem;padding:1rem 1.15rem;font-size:.92rem}.toc-title.svelte-2iqk61{color:var(--text-muted);margin-bottom:.55rem;font-size:.8rem;font-weight:650}.toc.svelte-2iqk61 ol:where(.svelte-2iqk61){flex-direction:column;gap:.45rem;list-style:none;display:flex}.toc.svelte-2iqk61 a:where(.svelte-2iqk61){color:var(--text-secondary);line-height:1.35;display:block}.toc.svelte-2iqk61 a:where(.svelte-2iqk61):hover{color:var(--accent-text)}.toc.svelte-2iqk61 .sub:where(.svelte-2iqk61){padding-left:.85rem}.toc.svelte-2iqk61 .sub:where(.svelte-2iqk61) a:where(.svelte-2iqk61){font-size:.88rem}@media (width<=75.99rem){.toc.svelte-2iqk61 .sub:where(.svelte-2iqk61){display:none}}.column.svelte-2iqk61{min-width:0}.column.svelte-2iqk61 .prose{max-width:none}.post-foot.svelte-2iqk61{border-top:1px solid var(--hairline);flex-direction:column;gap:.9rem;margin:2.75rem 0 2rem;padding-top:1.5rem;display:flex}.foot-row.svelte-2iqk61{flex-wrap:wrap;align-items:center;gap:.5rem .6rem;display:flex}.foot-label.svelte-2iqk61{color:var(--text-muted);min-width:6.5rem;margin-right:.35rem;font-size:.86rem;font-weight:600}.sep.svelte-2iqk61{color:var(--text-muted)}.related.svelte-2iqk61{max-width:46rem;padding-top:clamp(2.5rem,6vw,4rem)}.related.svelte-2iqk61 h2:where(.svelte-2iqk61){letter-spacing:-.025em;margin-bottom:.5rem;font-size:1.3rem;font-weight:760}.related.svelte-2iqk61 .rows:where(.svelte-2iqk61){border-bottom:1px solid var(--hairline)}@media (width>=76rem){.post.with-toc.svelte-2iqk61{grid-template-columns:13rem minmax(0,46rem) 13rem;column-gap:3rem;max-width:82rem}.post.with-toc.svelte-2iqk61>.head:where(.svelte-2iqk61),.post.with-toc.svelte-2iqk61>.cover:where(.svelte-2iqk61),.post.with-toc.svelte-2iqk61>.column:where(.svelte-2iqk61){grid-column:2}.post.with-toc.svelte-2iqk61>.toc:where(.svelte-2iqk61){background:0 0;border:0;border-radius:0;grid-area:3/1/span 2;align-self:stretch;margin:0;padding:0}.post.with-toc.svelte-2iqk61:not(:has(>.cover))>.toc:where(.svelte-2iqk61){grid-row:2/span 1}.toc-inner.svelte-2iqk61{border-left:1px solid var(--hairline);max-height:calc(100dvh - var(--header-height) - 3rem);top:calc(var(--header-height) + 1.5rem);padding:.15rem 0 .15rem 1.1rem;position:sticky;overflow-y:auto}}
