.reading-progress[data-astro-cid-kw4rgypl]{z-index:40;transform-origin:0;background:var(--post-accent,var(--color-accent));pointer-events:none;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.reading-progress[data-astro-cid-kw4rgypl]{animation:linear both reading-progress scroll(root)}}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.reading-progress[data-astro-cid-kw4rgypl]{animation:none}}.post-layout{min-width:0}.post__hero{position:relative}.post__glow{z-index:-1;background:radial-gradient(ellipse at 20% 45%, color-mix(in srgb, var(--post-accent) 50%, transparent), transparent 70%);pointer-events:none;width:min(28rem,100%);height:8.5rem;position:absolute;top:-1.25rem;left:0}.post__untranslated{border-radius:var(--radius-control);border:1px solid #ffcc6659;border-left:3px solid var(--color-warn);color:var(--color-warn-ink);font-size:var(--text-reading);background:#ffcc6614;margin:0 0 20px;padding:10px 14px;line-height:1.6}.post__category{align-items:center;gap:var(--spacing-xs);font-size:var(--text-meta);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0;font-weight:600;display:inline-flex}.post__dot{border-radius:50%;width:8px;height:8px}.post__title{font-size:var(--text-display);margin:14px 0 8px;scroll-margin-top:5rem;font-weight:700;line-height:1.2}.post__meta{color:var(--color-ink-meta);font-size:var(--text-reading);flex-wrap:wrap;gap:8px;margin:0;display:flex}.post__tags{flex-wrap:wrap;gap:8px;margin:18px 0;padding:0;list-style:none;display:flex}.post__tags a{border:1px solid var(--color-line);border-radius:var(--radius-chip);background:var(--color-fill);min-height:44px;color:var(--color-ink-soft);font-size:var(--text-meta);align-items:center;padding:4px 10px;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.post__tags a:hover,.post__tags a:focus-visible{color:var(--color-ink);background:#8ab4ff29;border-color:#8ab4ff80}.post__summary{color:var(--color-ink-body);font-size:var(--text-lead);margin:8px 0 24px;line-height:1.6}.post-nav{border-top:1px solid var(--color-line);grid-template-columns:1fr;gap:.75rem;margin-top:2.5rem;padding-top:1.5rem;display:grid}.post-nav__card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-fill);min-width:0;color:var(--color-ink);flex-direction:column;gap:.35rem;padding:1rem 1.05rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.post-nav__card--next{text-align:right}.post-nav__hint{color:var(--card-accent,var(--color-accent));font-size:var(--text-meta)}.post-nav__title{color:var(--color-ink-body);font-size:var(--text-reading);overflow-wrap:anywhere;line-height:1.4}.post-nav__card:hover,.post-nav__card:focus-visible{border-color:color-mix(in srgb, var(--card-accent,var(--color-accent)) 55%, transparent);box-shadow:var(--shadow-lift), 0 0 22px color-mix(in srgb, var(--card-accent,var(--color-accent)) 34%, transparent);transform:translateY(-3px)}.post-nav__card:hover .post-nav__title,.post-nav__card:focus-visible .post-nav__title{color:var(--color-ink)}.post-nav__spacer,.toc{display:none}@media (width>=640px){.post-nav{grid-template-columns:1fr 1fr}.post-nav__card--next{grid-column:2}}@media (width>=1100px){body.doc--article{--doc-width:1080px}.post-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;column-gap:2.5rem;display:grid}.toc{border-left:1px solid var(--color-line);max-height:calc(100dvh - 3rem);padding-left:1rem;display:block;position:sticky;top:1.5rem;overflow:auto}.toc__label{color:var(--color-ink-meta);font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .55rem;font-weight:600}.toc ol{margin:0;padding:0;list-style:none}.toc a{color:var(--color-ink-meta);font-size:var(--text-meta);overflow-wrap:anywhere;padding:.3rem 0;line-height:1.45;text-decoration:none;display:block}.toc__item--sub a{font-size:var(--text-caption);padding-left:.85rem}.toc a:hover,.toc a:focus-visible{color:var(--color-accent)}}@media (prefers-reduced-motion:reduce){.post-nav__card{transition:none}.post-nav__card:hover,.post-nav__card:focus-visible{transform:none}}
