.prose{--accent:var(--ink);overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose :is(article,section)>*+*{margin-top:1.25em}.prose :is(article,section)>h2{margin-top:2.2em}.prose :is(article,section)>h3{margin-top:1.8em}.prose p:empty{display:none}.prose figure{margin-block:2em}.prose figure>*+*{margin-top:0}.prose img{background:var(--paper-2);height:auto}.prose :is(figure,picture,p,div)>img:not([style*=float]):not([style*=position]){display:block}.prose figcaption{font-family:var(--font-mono), ui-monospace, monospace;margin-top:12px;font-size:.8125rem;line-height:1.5;text-align:left!important}.prose :is(img,svg[role=img]:not(.mini-spark,.replay-chart)){filter:grayscale()contrast(1.04);transition:filter .45s var(--ease)}.prose :is(img,svg[role=img]):hover,.prose :is(a,button):focus-visible :is(img,svg),.prose :is(img,svg[role=img]).is-lit,.prose .video-consent:hover img{filter:none}.prose svg[role=img]:not(.mini-spark,.replay-chart){border:2px solid var(--ink);border-radius:var(--radius);width:100%;max-width:100%;height:auto;margin-inline:auto;display:block}.prose svg text{font-family:var(--font-sans), system-ui, sans-serif}.prose svg text[font-family*=mono]{font-family:var(--font-mono), ui-monospace, monospace}.prose img[style*=float]{max-width:45%}@media (width<=560px){.prose img[style*=float]{max-width:100%;float:none!important;width:100%!important;margin:0 0 16px!important}}.prose iframe{aspect-ratio:16/9;background:#0d0d0d;width:100%;height:auto;display:block}.prose iframe[style*=position]{aspect-ratio:auto;border:0;border-radius:0}.prose div:has(>iframe[style*=position]){border:2px solid var(--ink);box-shadow:var(--shadow);border-radius:var(--radius)!important}.prose .wide-media{margin-block:2.2em 1.6em}.prose .wide-media img{width:100%;box-shadow:var(--shadow)}.prose pre{border:2px solid var(--ink);white-space:pre;scrollbar-color:#5c5a55 transparent;scrollbar-width:thin}.prose pre code{white-space:inherit;overflow-wrap:normal}.prose :not(pre)>code{overflow-wrap:anywhere}.prose a code{color:inherit}.prose .table-scroll{border:2px solid var(--ink);border-radius:var(--radius);background:var(--card);scrollbar-color:var(--mute) transparent;scrollbar-width:thin;width:100%;overflow-x:auto}.prose .table-scroll table{border-collapse:collapse;width:100%;min-width:560px;display:table;overflow:visible;margin:0!important}.prose .table-scroll :is(th,td){padding:12px 16px}.prose .table-scroll thead th{background:var(--paper-2);color:var(--ink)!important}.prose .table-scroll tbody tr:last-child>:is(th,td){border-bottom:0!important}.prose .table-scroll tbody tr:hover>:is(th,td){background:color-mix(in srgb, var(--pop-yellow) 22%, transparent)}.prose tbody th{font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;white-space:normal}.prose caption{color:var(--mute);padding:10px 16px;font-size:.8125rem}.prose div[role=region]:has(>.table-scroll){overflow:visible!important}.prose .callout{border:2px solid var(--ink);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:22px 24px}.prose .callout.center{text-align:center}.prose .callout>:first-child{margin-top:0!important}.prose .callout>:last-child{margin-bottom:0!important}.prose a.inline-btn,.prose a.button-primary,.prose a.button-secondary{border:2px solid var(--ink);background:var(--ink);min-height:46px;color:var(--paper);letter-spacing:.02em;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .2s, color .2s;border-radius:999px;align-items:center;padding:10px 22px;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.prose a.inline-btn.ghost,.prose a.button-secondary{color:var(--ink);background:0 0}.prose a.inline-btn:hover,.prose a.button-primary:hover,.prose a.button-secondary:hover{box-shadow:var(--shadow);background:var(--pop-yellow);color:#0d0d0d;border-color:#0d0d0d;transform:translate(-3px,-3px)}:root[data-theme=ink] .prose a:is(.inline-btn,.button-primary,.button-secondary):hover{box-shadow:5px 5px 0 var(--ink)}.prose .toc-card{display:none}.prose .toc-card+*{margin-top:0}.prose .related-reading{border:2px solid var(--ink);border-radius:var(--radius);background:var(--card);margin-top:3em;padding:22px 24px}.prose .related-reading h2{margin-top:0;font-size:1.375rem}.prose .related-reading>*+*{margin-top:.8em}.prose .cta-band{border:2px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--paper);text-align:center;margin-top:3.5em;padding:clamp(26px,5vw,44px)}.prose .cta-band>*+*{margin-top:0}.prose .cta-band__eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin:0 0 12px;font-size:.75rem;font-weight:700}.prose .cta-band h2{margin:0 0 14px;font-size:clamp(1.75rem,4vw,2.625rem)}.prose .cta-band p{max-width:56ch;margin:0 auto 24px}.prose .cta-band p:not(.cta-band__eyebrow){opacity:.85}.prose .cta-band a:not([class]):hover{color:#0d0d0d}.prose .button-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.prose .cta-band a.button-primary{border-color:var(--paper);background:var(--paper);color:var(--ink)}.prose .cta-band a.button-secondary{border-color:var(--paper);color:var(--paper)}.prose .cta-band a:is(.button-primary,.button-secondary):hover{box-shadow:5px 5px 0 var(--paper);background:var(--pop-yellow);color:#0d0d0d;border-color:var(--paper)}.prose .video-frame{border:2px solid var(--ink);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);aspect-ratio:16/9;background:#0d0d0d;margin-block:2.2em 1.6em;position:relative;overflow:hidden}.prose .video-frame iframe{aspect-ratio:auto;border:0;border-radius:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.prose .video-consent{color:#fff;cursor:pointer;background:#0d0d0d;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.prose .video-consent img,.prose .video-consent picture{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;display:block}.prose .video-consent img{transition:filter .45s var(--ease), scale .6s var(--ease)}.prose .video-consent:hover img,.prose .video-consent:focus-visible img{filter:none;scale:1.02}.prose .video-consent:focus-visible{outline:3px solid var(--pop-blue);outline-offset:-5px;border-radius:var(--radius)}.prose .play-badge{color:#0d0d0d;width:84px;height:84px;transition:background-color .2s, scale .3s var(--ease);background:#f5f4f0;border:2px solid #0d0d0d;border-radius:50%;place-items:center;padding-left:5px;font-size:28px;line-height:1;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:4px 4px #0d0d0d}.prose .video-consent:hover .play-badge,.prose .video-consent:focus-visible .play-badge{background:var(--pop-red);color:#fff;scale:1.08}.prose .video-label,.prose .privacy-label{color:#0d0d0d;font-family:var(--font-mono), ui-monospace, monospace;text-align:left;background:#f5f4f0;border:2px solid #0d0d0d;border-radius:8px;padding:6px 10px;font-size:.75rem;line-height:1.3;position:absolute;bottom:14px}.prose .video-label{font-weight:700;right:14px}.prose .privacy-label{max-width:70%;left:14px}@media (width<=720px){.prose .play-badge{width:64px;height:64px;font-size:22px}.prose .privacy-label{max-width:none;bottom:10px;left:10px;right:10px}.prose .video-label{top:10px;bottom:auto;right:10px}}.prose .article-audio{border:2px solid var(--ink);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:clamp(20px,4vw,32px)}.prose .article-audio>*+*{margin-top:0}.prose .audio-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.prose .audio-eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 0 8px;font-size:.75rem;font-weight:700}.prose .article-audio :is(h2,h3){margin:0;font-size:clamp(1.25rem,3vw,1.6875rem)}.prose .audio-duration{border:2px solid var(--ink);font-family:var(--font-mono), ui-monospace, monospace;border-radius:999px;flex:none;padding:6px 12px;font-size:.75rem;font-weight:700}.prose .article-audio audio{width:100%;accent-color:var(--ink);margin:0 0 14px;display:block}.prose .audio-disclosure{color:var(--mute);margin:0;font-size:.875rem;line-height:1.55}.prose .audio-links{flex-wrap:wrap;gap:4px 18px;margin:12px 0 0;font-size:.875rem;display:flex}.prose .audio-links a{align-items:center;min-height:32px;display:inline-flex}.prose .audio-transcript{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.prose .audio-transcript summary{cursor:pointer;font-weight:700}.prose .transcript-scroll{overscroll-behavior:contain;scrollbar-color:var(--mute) transparent;scrollbar-width:thin;max-height:320px;margin-top:14px;padding:4px 10px 4px 4px;overflow:auto}.prose .caption-item{margin:0 0 6px}.prose .caption-line{width:100%;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;grid-template-columns:56px 1fr;gap:10px;padding:10px 11px;font-size:1rem;line-height:1.48;display:grid}.prose .caption-line:hover{background:var(--paper-2);color:var(--ink)}.prose .caption-line[aria-current=true]{background:var(--pop-yellow);color:#0d0d0d;border-color:#0d0d0d}.prose .caption-time{font-family:var(--font-mono), ui-monospace, monospace;color:var(--mute);padding-top:3px;font-size:.75rem;font-weight:700}.prose .caption-line[aria-current=true] .caption-time{color:#0d0d0d}@media (width<=720px){.prose .audio-heading{display:block}.prose .audio-duration{margin-top:12px;display:inline-flex}.prose .caption-line{grid-template-columns:46px 1fr;padding:9px 7px}}.prose .data-figure{border:2px solid var(--ink);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);--accent:var(--ink);--accent-2:var(--mute);padding:clamp(18px,4vw,28px);position:relative}.prose .data-figure:hover,.prose .data-figure:focus-within,.prose .data-figure.is-lit{--accent:var(--pop-coral);--accent-2:var(--pop-green)}.prose .data-figure>*+*{margin-top:0}.prose .data-figure figcaption{color:var(--mute);margin-top:16px}.prose .data-figure :where(p){margin:0}.prose .data-figure code{white-space:nowrap}.prose .fig-eyebrow{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 0 8px;font-size:.75rem;font-weight:700}.prose .fig-title{letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(1.125rem,2.6vw,1.375rem);font-weight:800;line-height:1.25}.prose .fig-terminal{color:#f5f4f0;background:#0d0d0d;padding:0;overflow:hidden}.prose .fig-terminal figcaption{color:#a3a09a;border-top:1px solid #f5f4f026;margin:0;padding:14px 18px 16px}.prose .fig-terminal figcaption code{color:#f5f4f0;background:#181818;border-color:#f5f4f026}.prose .term-bar{background:#181818;border-bottom:1px solid #f5f4f026;align-items:center;gap:7px;padding:11px 14px;display:flex}.prose .term-bar i{background:#5c5a55;border-radius:50%;width:10px;height:10px;display:block}.prose .term-bar span{color:#a3a09a;font-family:var(--font-mono), ui-monospace, monospace;margin-left:8px;font-size:.75rem}.prose .fig-terminal .term-body{color:#d9d7d0;background:0 0;border:0;border-radius:0;margin:0;padding:16px 18px 18px;font-size:.8125rem;line-height:1.75;overflow-x:auto}.prose .term-line{white-space:pre;display:block}.prose .term-prompt{color:#f5f4f0;font-weight:700}.prose .term-type{vertical-align:bottom;white-space:nowrap;display:inline-block;overflow:hidden}.prose .term-dim,.prose .term-head{color:#a3a09a}.prose .term-ok{color:#f5f4f0;font-weight:700}.prose .fig-terminal:hover .term-ok{color:#3ddc97}.prose .fig-terminal:hover .term-prompt{color:var(--pop-coral)}.prose .term-row.is-highlight{color:#fff;background:#f5f4f01f;box-shadow:inset 3px 0 #f5f4f0}.prose .flow{margin:0;padding:0;list-style:none;position:relative}.prose .flow-step{grid-template-columns:30px 1fr;gap:14px;margin:0 0 16px;padding:0;display:grid;position:relative}.prose .flow-step:last-child{margin-bottom:0}.prose .flow-step:not(:last-child):before{content:"";background:var(--accent);transform-origin:top;width:2px;position:absolute;top:32px;bottom:-14px;left:14px}.prose .flow-node{border:2px solid var(--ink);background:var(--card);width:30px;height:30px;font-family:var(--font-mono), ui-monospace, monospace;border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid;position:relative}.prose .flow-step strong{margin:3px 0 2px;font-size:1rem;display:block}.prose .flow-step p{color:var(--ink-2);font-size:.9375rem;line-height:1.55}.prose .meters{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:24px;display:grid}.prose .meter{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:13px 14px}.prose .meter-top{flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:.8125rem;display:flex}.prose .meter-top strong{white-space:nowrap}.prose .meter-top span,.prose .meter small{color:var(--mute)}.prose .meter small{font-size:.75rem}.prose .meter-track,.prose .bar-track,.prose .mini-meter{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;display:block;overflow:hidden}.prose .meter-track{height:8px;margin:10px 0 8px}.prose .meter-fill,.prose .bar-fill{width:var(--w);background:var(--accent);transform-origin:0;border-radius:99px;min-width:3px;height:100%;transition:background-color .3s;display:block}.prose .bars-scroll{scrollbar-width:thin;overflow-x:auto}.prose .bars-table{border-collapse:collapse;width:100%;min-width:460px;margin:0;font-size:.875rem;display:table}.prose .bars-table :is(th,td){text-align:left;vertical-align:middle;white-space:normal;padding:12px 10px}.prose .bars-table tbody tr:last-child :is(th,td){border-bottom:0}.prose .bars-table tbody th{width:30%;color:var(--ink-2);font-weight:500}.prose .bars-table td{width:35%}.prose .bar-value{margin-bottom:7px;font-weight:700;display:block}.prose .bar-track{height:10px}.prose .bar-matcha,.prose .key-matcha{background:var(--accent-2)}.prose .key{background:var(--accent);border-radius:3px;width:10px;height:10px;margin-right:7px;transition:background-color .3s;display:inline-block}.prose .key.key-matcha{background:var(--accent-2)}.prose .breakout{grid-template-columns:minmax(150px,.8fr) 1.4fr;align-items:center;gap:22px;display:grid}.prose .breakout-stats p{margin:0 0 14px}.prose .breakout-stats p:last-child{margin-bottom:0}.prose .stat-num{letter-spacing:-.03em;font-size:clamp(1.375rem,4vw,1.875rem);font-weight:800;line-height:1.1;display:block}.prose .stat-accent,.prose .glance-accent{color:var(--accent);transition:color .3s}.prose .stat-label{color:var(--mute);margin-top:3px;font-size:.8125rem;display:block}.prose .cell-grid{grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.prose .cell{aspect-ratio:1;background:var(--accent);border-radius:3px;transition:background-color .3s;display:block}.prose .cell.cell-base{border:2px solid var(--ink);background:var(--card)}.prose .breakout-note{border:1px solid var(--line);background:var(--paper);color:var(--ink-2);border-radius:12px;margin-top:20px;padding:12px 14px;font-size:.875rem;line-height:1.6}.prose .replay-wrap{position:relative}.prose .replay-labels{height:22px;position:relative}.prose .replay-chapter{white-space:nowrap;font-size:.75rem;font-weight:700;position:absolute;bottom:4px;translate:-50%}.prose .replay-plot{width:100%;height:clamp(120px,26vw,200px);position:relative}.prose .replay-chart{width:100%;height:100%;margin:0;display:block;overflow:hidden}.prose .replay-chart .band{fill:var(--paper-2)}.prose .replay-chart .band-alt{fill:var(--paper)}.prose .replay-chart .band-peak{fill:color-mix(in srgb, var(--accent) 16%, var(--paper))}.prose .replay-chart .replay-area{fill:color-mix(in srgb, var(--accent) 20%, transparent)}.prose .replay-chart .replay-line{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-linejoin:round}.prose .replay-chart .peak-line{stroke:var(--ink);stroke-width:1px;stroke-dasharray:3 4}.prose .peak-dot{border:3px solid var(--accent);background:var(--card);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute}.prose .peak-label{white-space:nowrap;margin-left:10px;font-size:.75rem;font-weight:700;position:absolute;top:10px}.prose .replay-axis{border-top:2px solid var(--ink);height:24px;margin-top:6px;position:relative}.prose .replay-axis .tick{color:var(--mute);font-family:var(--font-mono), ui-monospace, monospace;font-size:.75rem;position:absolute;top:6px;translate:-50%}.prose .replay-axis .tick-start{translate:0}.prose .replay-axis .tick-end{translate:-100%}.prose .fig-glance{padding:16px}.prose .glance-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.prose .glance-tile{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex-direction:column;gap:4px;min-height:118px;margin:0;padding:12px 12px 10px;display:flex}.prose .glance-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:800;line-height:1.1}.prose .glance-num small{color:var(--mute);letter-spacing:0;font-size:.8125rem;font-weight:500}.prose .glance-label{color:var(--mute);font-size:.75rem;line-height:1.4}.prose .mini-bars{align-items:flex-end;gap:4px;height:30px;margin-top:auto;display:flex}.prose .mini-bar{height:var(--h);background:var(--accent);transform-origin:bottom;border-radius:3px 3px 0 0;flex:1;min-height:3px;transition:background-color .3s}.prose .mini-meter,.prose .mini-pair{margin-top:auto;display:block}.prose .mini-meter{height:8px}.prose .mini-meter>span,.prose .mini-pair>span{width:var(--w);background:var(--accent);transform-origin:0;border-radius:99px;min-width:3px;height:100%;transition:background-color .3s;display:block}.prose .mini-pair>span{height:6px;margin-top:5px}.prose .mini-pair .pair-subs{background:var(--mute)}.prose .mini-spark{width:100%;height:34px;margin:auto 0 0;display:block;overflow:visible}.prose .mini-spark circle{fill:var(--card);stroke:var(--accent);stroke-width:1.4px}.prose .mini-spark path{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}@media (width<=640px){.prose .bars-table{min-width:0;font-size:.75rem}.prose .bars-table :is(th,td){padding:10px 6px}.prose .bars-table tbody th{width:32%}.prose .bars-table td{width:34%}.prose .glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prose .glance-tile:first-child{grid-column:1/-1}.prose .replay-axis .tick-minor{display:none}.prose .breakout{grid-template-columns:1fr}.prose .breakout-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.prose .breakout-stats p{margin:0}}.prose .data-figure[data-reveal],.prose .data-figure [data-reveal]{animation:none}@media (prefers-reduced-motion:no-preference){.motion-ready .data-figure .m-bar-y{transition:transform .8s cubic-bezier(.2,.7,.2,1),background-color .3s;transition-delay:calc(var(--d,0) * 1ms), 0s}.motion-ready .data-figure:not(.is-in-view) .m-bar-y{transform:scaleY(0)}.motion-ready .data-figure .m-rise{transition:opacity .55s,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 1ms)}.motion-ready .data-figure:not(.is-in-view) .m-rise{opacity:0;transform:translateY(8px)}.motion-ready .data-figure .m-bar{transition:transform .95s cubic-bezier(.2,.7,.2,1),background-color .3s;transition-delay:calc(var(--d,0) * 1ms), 0s}.motion-ready .data-figure:not(.is-in-view) .m-bar{transform:scaleX(0)}.motion-ready .data-figure .m-cell{transition:opacity .35s,transform .35s,background-color .3s;transition-delay:calc(var(--d,0) * 1ms), calc(var(--d,0) * 1ms), 0s}.motion-ready .data-figure:not(.is-in-view) .m-cell{opacity:0;transform:scale(.4)}.motion-ready .data-figure .m-fade{transition:opacity .8s .9s}.motion-ready .data-figure:not(.is-in-view) .m-fade{opacity:0}.motion-ready .data-figure .m-draw{stroke-dasharray:var(--len);stroke-dashoffset:0;transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1) .15s}.motion-ready .data-figure:not(.is-in-view) .m-draw{stroke-dashoffset:var(--len)}.motion-ready .data-figure .m-pop{transform-box:fill-box;transform-origin:50%;transition:transform .45s cubic-bezier(.3,1.6,.5,1) 1.5s}.motion-ready .data-figure:not(.is-in-view) .m-pop{transform:scale(0)}.motion-ready .data-figure.fig-pipeline .flow-step:before{transition:transform .45s;transition-delay:calc(var(--d,0) * 1ms + .26s)}.motion-ready .data-figure.fig-pipeline:not(.is-in-view) .flow-step:before{transform:scaleY(0)}.motion-ready .data-figure.fig-terminal:not(.is-in-view) .term-type{width:0}.motion-ready .data-figure.fig-terminal.is-in-view .term-type{animation:term-type .7s steps(var(--chars,12)) both}}@keyframes term-type{0%{width:0}to{width:calc(var(--chars,12) * 1ch + .6em)}}@media print{.prose :is(img,svg){filter:none!important}.motion-ready .data-figure *{opacity:1!important;stroke-dashoffset:0!important;transform:none!important}.motion-ready .data-figure .term-type{width:auto!important}.prose .toc-card{display:block}}.post-head[data-astro-cid-zg7dkzxc]{padding-block:clamp(32px,5vw,64px) clamp(24px,3vw,36px)}.crumbs[data-astro-cid-zg7dkzxc]{flex-wrap:nowrap;min-width:0}.crumbs[data-astro-cid-zg7dkzxc] li[data-astro-cid-zg7dkzxc]{flex:none}.crumbs[data-astro-cid-zg7dkzxc] .crumb-current[data-astro-cid-zg7dkzxc]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:0 auto;overflow:hidden}.crumbs[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{margin-block:-4px;padding-block:4px;display:inline-block}.post-meta[data-astro-cid-zg7dkzxc]{color:var(--mute);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:20px;display:flex}.post-topic[data-astro-cid-zg7dkzxc]{border:2px solid var(--ink);background:var(--ink);min-height:32px;color:var(--paper);border-radius:999px;align-items:center;padding:4px 12px;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.post-topic[data-astro-cid-zg7dkzxc]:hover{background:var(--pop-yellow);color:#0d0d0d;border-color:#0d0d0d}.post-head[data-astro-cid-zg7dkzxc] h1[data-astro-cid-zg7dkzxc]{letter-spacing:-.045em;overflow-wrap:break-word;max-width:22ch;font-size:clamp(2.125rem,6.2vw,4.75rem)}.post-excerpt[data-astro-cid-zg7dkzxc]{max-width:62ch;margin-top:clamp(16px,2vw,24px)}.post-byline[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:clamp(22px,3vw,32px);padding-top:18px;display:flex}.post-author[data-astro-cid-zg7dkzxc]{align-items:center;gap:12px;line-height:1.25;text-decoration:none;display:inline-flex}.post-author[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc]{border:2px solid var(--ink);object-fit:cover;filter:grayscale();width:44px;height:44px;transition:filter .4s var(--ease);border-radius:50%}.post-author[data-astro-cid-zg7dkzxc]:hover img[data-astro-cid-zg7dkzxc],.post-author[data-astro-cid-zg7dkzxc]:focus-visible img[data-astro-cid-zg7dkzxc]{filter:none}.post-author[data-astro-cid-zg7dkzxc]>span[data-astro-cid-zg7dkzxc]{display:grid}.post-author-label[data-astro-cid-zg7dkzxc]{color:var(--mute)}.post-author[data-astro-cid-zg7dkzxc]:hover strong[data-astro-cid-zg7dkzxc]{text-decoration:underline 2px}.copy-btn[data-astro-cid-zg7dkzxc]{border:2px solid var(--ink);min-height:44px;color:var(--ink);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background-color .2s, color .2s, transform .25s var(--ease), box-shadow .25s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}.copy-btn[data-astro-cid-zg7dkzxc]:hover{box-shadow:3px 3px 0 var(--ink);background:var(--pop-yellow);color:#0d0d0d;border-color:#0d0d0d;transform:translate(-2px,-2px)}:root[data-theme=ink] .copy-btn[data-astro-cid-zg7dkzxc]:hover{box-shadow:3px 3px 0 var(--ink)}.copy-btn[data-astro-cid-zg7dkzxc].is-done{background:var(--pop-green);color:#fff;border-color:#0d0d0d}.post-cover[data-astro-cid-zg7dkzxc]{border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper-2);box-shadow:var(--shadow);aspect-ratio:1200/630;margin:0;overflow:hidden}.post-cover[data-astro-cid-zg7dkzxc] img{object-fit:cover;filter:grayscale()contrast(1.05);width:100%;height:100%;transition:filter .5s var(--ease)}.post-cover[data-astro-cid-zg7dkzxc]:hover img,.post-cover[data-astro-cid-zg7dkzxc].is-lit img{filter:none}.post-layout[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:clamp(28px,4vw,56px) clamp(48px,7vw,96px);display:grid}.post-main[data-astro-cid-zg7dkzxc]{min-width:0}.post-body[data-astro-cid-zg7dkzxc]{max-width:none}.post-main[data-astro-cid-zg7dkzxc]>[data-astro-cid-zg7dkzxc]+[data-astro-cid-zg7dkzxc]{margin-top:clamp(40px,5vw,64px)}.toc[data-astro-cid-zg7dkzxc]{border:2px solid var(--ink);border-radius:var(--radius);background:var(--card)}.toc[data-astro-cid-zg7dkzxc] summary[data-astro-cid-zg7dkzxc]{cursor:pointer;align-items:center;gap:12px;min-height:52px;padding:10px 16px;font-weight:700;list-style:none;display:flex}.toc[data-astro-cid-zg7dkzxc] summary[data-astro-cid-zg7dkzxc]::-webkit-details-marker{display:none}.toc-count[data-astro-cid-zg7dkzxc]{color:var(--mute);margin-left:auto;font-weight:400}.toc-plus[data-astro-cid-zg7dkzxc]{border:2px solid var(--ink);width:24px;height:24px;transition:rotate .35s var(--ease);border-radius:50%;flex:none;position:relative}.toc-plus[data-astro-cid-zg7dkzxc]:before,.toc-plus[data-astro-cid-zg7dkzxc]:after{content:"";background:currentColor;width:10px;height:2px;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.toc-plus[data-astro-cid-zg7dkzxc]:after{rotate:90deg}.toc[data-astro-cid-zg7dkzxc][open] .toc-plus[data-astro-cid-zg7dkzxc]{rotate:135deg}.toc-list[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--line);gap:2px;margin:0;padding:6px 8px 10px;list-style:none;display:grid}.toc-list[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{color:var(--ink-2);border-radius:8px;grid-template-columns:2.1em 1fr;align-items:baseline;gap:6px;padding:8px 10px;font-size:.9375rem;line-height:1.3;text-decoration:none;transition:background-color .2s,color .2s;display:grid}.toc-num[data-astro-cid-zg7dkzxc]{color:var(--mute)}.toc-list[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover{background:var(--paper-2);color:var(--ink)}.toc-list[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc][aria-current=true]{background:var(--ink);color:var(--paper);font-weight:700}.toc-list[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc][aria-current=true] .toc-num[data-astro-cid-zg7dkzxc]{color:inherit;opacity:.7}@media (width>=1080px){.post-layout[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,780px) minmax(240px,300px);justify-content:space-between;gap:64px}.post-side[data-astro-cid-zg7dkzxc]{grid-area:1/2}.post-main[data-astro-cid-zg7dkzxc]{grid-area:1/1}.toc[data-astro-cid-zg7dkzxc]{top:calc(var(--header-h) + 24px);box-shadow:var(--shadow);position:sticky}.toc[data-astro-cid-zg7dkzxc] summary[data-astro-cid-zg7dkzxc]{cursor:default}.toc-plus[data-astro-cid-zg7dkzxc]{display:none}.toc-list[data-astro-cid-zg7dkzxc]{max-height:calc(100dvh - var(--header-h) - 130px);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--mute) transparent;overflow-y:auto}}.post-faq[data-astro-cid-zg7dkzxc] h2[data-astro-cid-zg7dkzxc]{margin-bottom:20px;font-size:clamp(1.75rem,3.4vw,2.5rem)}.post-tags[data-astro-cid-zg7dkzxc] h2[data-astro-cid-zg7dkzxc]{color:var(--mute);margin-bottom:12px;font-weight:400;line-height:1.4}.post-tags[data-astro-cid-zg7dkzxc] ul[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.post-tags[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{border:1px solid var(--line-strong);min-height:36px;font-family:var(--font-mono), ui-monospace, monospace;border-radius:999px;align-items:center;padding:4px 14px;font-size:.8125rem;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.post-tags[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover{background:var(--ink);color:var(--paper)}.author-card[data-astro-cid-zg7dkzxc]{border:2px solid var(--ink);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);grid-template-columns:148px minmax(0,1fr);align-items:start;gap:24px;padding:clamp(20px,3vw,28px);display:grid}.author-photo[data-astro-cid-zg7dkzxc]{aspect-ratio:1;border:2px solid var(--ink);--lens-size:90px;border-radius:12px;rotate:-3deg}.author-kicker[data-astro-cid-zg7dkzxc]{color:var(--mute);margin-bottom:8px}.author-card[data-astro-cid-zg7dkzxc] h2[data-astro-cid-zg7dkzxc]{letter-spacing:-.03em;font-size:clamp(1.25rem,2.4vw,1.625rem);line-height:1.12}.author-text[data-astro-cid-zg7dkzxc]>p[data-astro-cid-zg7dkzxc]:not(.mono){color:var(--ink-2);margin-top:12px;font-size:1rem;line-height:1.55}.author-text[data-astro-cid-zg7dkzxc] .author-links[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:6px 22px;display:flex}@media (width<=560px){.author-card[data-astro-cid-zg7dkzxc]{grid-template-columns:1fr}.author-photo[data-astro-cid-zg7dkzxc]{width:120px}}.post-share[data-astro-cid-zg7dkzxc]{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding-block:20px;display:flex}.post-share[data-astro-cid-zg7dkzxc]>p[data-astro-cid-zg7dkzxc]{color:var(--mute)}.post-share-actions[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:8px;display:flex}.post-related[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--line);padding-block:clamp(48px,7vw,96px)}.post-related[data-astro-cid-zg7dkzxc] .section-head[data-astro-cid-zg7dkzxc] h2[data-astro-cid-zg7dkzxc]{font-size:clamp(2rem,5vw,3.75rem)}.post-related-grid[data-astro-cid-zg7dkzxc]{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,28px);display:grid}@media (width<=1100px){.post-related-grid[data-astro-cid-zg7dkzxc]{grid-template-columns:repeat(2,minmax(0,1fr))}.post-related-grid[data-astro-cid-zg7dkzxc]>:nth-child(3){display:none}}@media (width<=700px){.post-related-grid[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,1fr)}.post-related-grid[data-astro-cid-zg7dkzxc]>:nth-child(3){display:flex}}.post-body[data-astro-cid-zg7dkzxc] .code-wrap{position:relative}.post-body[data-astro-cid-zg7dkzxc] .code-copy{color:#f5f4f0;min-height:30px;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;opacity:0;background:#0d0d0d;border:1px solid #f5f4f066;border-radius:8px;padding:4px 10px;font-size:.75rem;transition:opacity .2s,background-color .2s,color .2s;position:absolute;top:8px;right:8px}.post-body[data-astro-cid-zg7dkzxc] .code-wrap:hover .code-copy,.post-body[data-astro-cid-zg7dkzxc] .code-copy:focus-visible{opacity:1}.post-body[data-astro-cid-zg7dkzxc] .code-copy:hover{background:var(--pop-yellow);color:#0d0d0d}@media (hover:none){.post-body[data-astro-cid-zg7dkzxc] .code-copy{opacity:1}}
