.reading-progress[data-astro-cid-kw4rgypl]{top:var(--article-nav-height,64px);z-index:49;pointer-events:none;background:#7551fa1f;height:3px;position:fixed;inset-inline:0}.reading-progress-fill[data-astro-cid-kw4rgypl]{transform-origin:0;will-change:transform;background:#7551fa;width:100%;height:100%;transition:transform .16s linear;transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.reading-progress-fill[data-astro-cid-kw4rgypl]{transition:none}}.toc-panel[data-astro-cid-qsrs2dwn]{top:calc(var(--article-nav-height,64px) + 24px);border:2px solid var(--border-strong);background:var(--bg-surface);min-width:0;box-shadow:1px 1px 0 var(--border);opacity:1;visibility:visible;border-radius:3px;align-self:start;padding:16px;transition:opacity .24s,transform .24s,visibility;position:sticky}.toc-panel[data-astro-cid-qsrs2dwn][data-reading-ended]{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s,transform .24s,visibility 0s .24s;transform:translateY(-10px)}@media (prefers-reduced-motion:reduce){.toc-panel[data-astro-cid-qsrs2dwn],.toc-panel[data-astro-cid-qsrs2dwn][data-reading-ended]{transition:none;transform:none}}.toc-panel[data-astro-cid-qsrs2dwn] h2[data-astro-cid-qsrs2dwn]{border-bottom:2px solid var(--bg-band-soft);padding-bottom:10px;font-size:13px}.toc-panel[data-astro-cid-qsrs2dwn] ol[data-astro-cid-qsrs2dwn]{max-height:min(520px, calc(100dvh - var(--article-nav-height,64px) - 116px));margin-top:10px;padding-left:14px;position:relative;overflow-y:auto}.toc-panel[data-astro-cid-qsrs2dwn] li[data-astro-cid-qsrs2dwn]{border-left:1px solid var(--border);position:relative}.toc-panel[data-astro-cid-qsrs2dwn] li[data-astro-cid-qsrs2dwn]:before{content:"";background:var(--border);border-radius:50%;width:5px;height:5px;position:absolute;top:14px;left:-3px}.toc-panel[data-astro-cid-qsrs2dwn] li[data-astro-cid-qsrs2dwn]:has([aria-current]):before{background:var(--accent);width:9px;height:9px;top:12px;left:-5px}.toc-panel[data-astro-cid-qsrs2dwn] a[data-astro-cid-qsrs2dwn]{color:var(--text-secondary);padding:7px 0 7px 18px;font-size:12px;line-height:1.4;display:block}.toc-panel[data-astro-cid-qsrs2dwn] a[data-astro-cid-qsrs2dwn][aria-current]{color:var(--text-primary);font-weight:600}.toc-panel[data-astro-cid-qsrs2dwn] a[data-astro-cid-qsrs2dwn]:hover{color:var(--accent-calm)}.toc-subheading[data-astro-cid-qsrs2dwn] a[data-astro-cid-qsrs2dwn]{padding-left:24px}.toc-rays[data-astro-cid-qsrs2dwn]{width:30px;height:50px;stroke:var(--deco-ink);stroke-width:3px;stroke-linecap:round;position:absolute;top:6px;left:-36px}@media (width<=1023px){.toc-panel[data-astro-cid-qsrs2dwn]{position:relative;top:auto}.toc-panel[data-astro-cid-qsrs2dwn] ol[data-astro-cid-qsrs2dwn]{max-height:260px}}@media (width<=1535px){.toc-rays[data-astro-cid-qsrs2dwn]{display:none}}.article-sidebar[data-astro-cid-5bkytie7]{flex-direction:column;gap:18px;min-width:0;display:flex}.sidebar-panel[data-astro-cid-5bkytie7]{border:2px solid var(--border-strong);background:var(--bg-surface);box-shadow:1px 1px 0 var(--border);border-radius:3px;padding:18px;position:relative}.template-callout[data-astro-cid-5bkytie7]{background:color-mix(in srgb, var(--bg-loud) 20%, var(--bg-page))}.callout-icon[data-astro-cid-5bkytie7]{width:44px;height:46px;color:var(--deco-ink);margin-bottom:6px}.template-callout[data-astro-cid-5bkytie7] h2[data-astro-cid-5bkytie7]{font-size:20px;line-height:1.15}.template-callout[data-astro-cid-5bkytie7] p[data-astro-cid-5bkytie7]{color:var(--text-secondary);margin-top:7px;font-size:13px;line-height:1.4}.template-button[data-astro-cid-5bkytie7]{border:2px solid var(--border-strong);background:var(--accent);color:var(--text-on-accent);letter-spacing:.07em;box-shadow:2px 2px 0 var(--border-strong);justify-content:space-between;align-items:center;gap:8px;margin-top:15px;padding:12px;font-size:10px;transition:transform .12s,box-shadow .12s;display:flex}.template-button[data-astro-cid-5bkytie7] span[data-astro-cid-5bkytie7]{font-size:20px;line-height:1}.template-button[data-astro-cid-5bkytie7]:hover{box-shadow:1px 1px 0 var(--border-strong);transform:translate(1px,1px)}.more-posts[data-astro-cid-5bkytie7] h2[data-astro-cid-5bkytie7]{font-size:16px}.more-posts[data-astro-cid-5bkytie7] ul[data-astro-cid-5bkytie7]{gap:18px;margin-top:15px;display:grid}.more-posts[data-astro-cid-5bkytie7] li[data-astro-cid-5bkytie7] a[data-astro-cid-5bkytie7]{align-items:flex-start;gap:12px;display:flex}.more-posts[data-astro-cid-5bkytie7] img[data-astro-cid-5bkytie7]{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border-strong);border-radius:3px;flex-shrink:0;width:60px;height:60px}.more-posts[data-astro-cid-5bkytie7] h3[data-astro-cid-5bkytie7]{font-size:13px;line-height:1.25}.more-posts[data-astro-cid-5bkytie7] time[data-astro-cid-5bkytie7]{letter-spacing:.06em;color:var(--text-muted);margin-top:7px;font-size:9px;display:block}.all-posts[data-astro-cid-5bkytie7]{margin-top:18px;font-size:12px;display:inline-block}.all-posts[data-astro-cid-5bkytie7] span[data-astro-cid-5bkytie7]{margin-left:8px}.sidebar-quote[data-astro-cid-5bkytie7]{border-left:3px solid var(--bg-loud);color:var(--deco-ink);font-family:var(--font-hand);text-transform:uppercase;margin-top:14px;padding:16px 8px 12px 24px;font-weight:700}.sidebar-quote[data-astro-cid-5bkytie7] blockquote[data-astro-cid-5bkytie7]{font-size:26px;line-height:1.3;transform:rotate(-7deg)}.highlight[data-astro-cid-5bkytie7]{background:linear-gradient(transparent 76%,var(--bg-loud) 76% 96%,transparent 96%)}.sidebar-quote[data-astro-cid-5bkytie7] figcaption[data-astro-cid-5bkytie7]{text-align:right;margin-top:22px;font-size:16px;transform:rotate(-5deg)}@media (width<=1023px){.article-sidebar[data-astro-cid-5bkytie7]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}}@media (width<=639px){.article-sidebar[data-astro-cid-5bkytie7]{grid-template-columns:1fr}}pre.has-copy{position:relative}.code-copy{border:2px solid var(--border-strong);background:var(--bg-surface);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);box-shadow:2px 2px 0 var(--border-strong);padding:.25rem .6rem;font-size:11px;font-weight:700;position:absolute;top:.5rem;right:.5rem}pre.has-copy:hover .code-copy,.code-copy:focus-visible{opacity:1}@media (hover:none){.code-copy{opacity:1}}.code-copy:hover{box-shadow:none;color:var(--text-primary);transform:translate(2px,2px)}.code-copy[data-copied=true]{background:var(--accent-3);color:var(--text-on-accent);opacity:1}.code-copy:focus-visible{box-shadow:var(--shadow-focus);outline:none}article[data-astro-cid-z7xolria]{background:var(--bg-page)}.article-columns[data-astro-cid-z7xolria]{grid-template-columns:220px minmax(0,1fr) 260px;align-items:start;gap:28px;max-width:1480px;margin-inline:auto;padding:40px 24px 48px;display:grid}.article-hero-doodle{color:var(--deco-ink);display:none;position:absolute}@media (width>=1024px){.article-hero-doodle{display:block}.article-hero-doodle-left{transform-origin:0 100%;bottom:20px;left:max(22px,50% - 660px);transform:scale(.78)}.article-hero-doodle-right{transform-origin:100% 0;top:22px;right:max(24px,50% - 660px);transform:scale(.78)}}@media (width>=1280px){.article-hero-doodle-left,.article-hero-doodle-right{transform:scale(.92)}}.article-main[data-astro-cid-z7xolria]{min-width:0}.reading-content[data-astro-cid-z7xolria]{display:flow-root}.article-main[data-astro-cid-z7xolria] [id]{scroll-margin-top:calc(var(--article-nav-height,64px) + 36px)}.article-main[data-astro-cid-z7xolria] .prose-body{overflow-wrap:anywhere}@media (width>=1024px) and (width<=1279px){.article-columns[data-astro-cid-z7xolria]{grid-template-columns:210px minmax(0,1fr)}.article-columns[data-astro-cid-z7xolria] .article-sidebar{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.article-columns[data-astro-cid-z7xolria] .toc-panel{grid-row:span 2}}@media (width<=1023px){.article-columns[data-astro-cid-z7xolria]{grid-template-columns:minmax(0,1fr);max-width:900px;padding:32px 24px 48px}}
