.viz{--viz-mark: #5f9600;position:relative;margin:2.5rem 0;padding:1.5rem;border:1px solid var(--border);border-radius:1.25rem;background:var(--bg-elevated);color:var(--text)}.dark .viz{--viz-mark: #c5f23a}.viz__eyebrow{display:flex;align-items:center;gap:.5rem;margin:0!important;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.viz__eyebrow:before{content:"";width:.45rem;height:.45rem;border-radius:2px;background:var(--viz-mark)}.viz__title{margin:.4rem 0 1.25rem!important;font-size:1.35rem;font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--text)}.viz__note{margin-top:1.25rem;font-family:var(--font-mono);font-size:.7rem;line-height:1.55;color:var(--text-faint)}.viz__control{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.4rem 1rem}.viz__control-name{font-size:.9rem;color:var(--text-muted)}.viz__control-value{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;color:var(--text)}.viz__range{grid-column:1 / -1;width:100%;accent-color:var(--viz-mark);cursor:pointer}.viz__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem 1rem;margin:1.25rem 0;padding:1rem 0;border-block:1px solid var(--border)}.viz__stat{display:flex;flex-direction:column-reverse;gap:.2rem}.viz__stat-label{font-size:.75rem;color:var(--text-muted)}.viz__stat-value{margin:0;font-family:var(--font-mono);font-size:1.05rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.viz__tiles{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--gap, 3px);min-height:220px}.viz__tile{width:var(--tile, 24px);height:var(--tile, 24px);border-radius:3px;background:var(--viz-mark);transition:background-color .15s,transform .3s var(--ease-spring);animation:viz-pop .45s var(--ease-spring) both;animation-delay:var(--delay, 0ms)}.viz__tile:hover{background:var(--text);transform:scale(1.25)}@keyframes viz-pop{0%{opacity:0;transform:scale(.3)}}.viz__chips{display:flex;flex-wrap:wrap;gap:.4rem}.viz__chip{height:2rem;padding:0 .85rem;border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s}.viz__chip:hover{color:var(--text);border-color:var(--text-faint)}.viz__chip[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--bg)}.viz__bars{display:grid;gap:1rem;margin-top:1.5rem}.viz__bar-row{border-radius:.5rem;outline-offset:4px}.viz__bar-name{margin:0!important;font-size:.9rem;font-weight:600;color:var(--text)}.viz__bar-sub{margin-left:.5rem;font-family:var(--font-mono);font-size:.72rem;font-weight:400;color:var(--text-muted)}.viz__bar-track{position:relative;height:1.6rem;margin:.4rem 7.5rem 0 0}.viz__bar{position:absolute;inset:0 auto 0 0;width:calc(var(--w, 0) * 100%);min-width:3px;border-radius:0 4px 4px 0;background:var(--viz-mark);transition:width .7s var(--ease-soft),opacity .2s}.viz__bar-value{position:absolute;top:50%;left:calc(var(--w, 0) * 100% + .6rem);transform:translateY(-50%);font-family:var(--font-mono);font-size:.8rem;white-space:nowrap;color:var(--text);transition:left .7s var(--ease-soft)}.viz__bars:has(.viz__bar-row:hover) .viz__bar-row:not(:hover) .viz__bar{opacity:.45}.viz__axis{display:flex;justify-content:space-between;margin:.9rem 7.5rem 0 0;padding-top:.45rem;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:.68rem;color:var(--text-faint)}.viz__tip{position:absolute;z-index:5;display:grid;gap:.15rem;max-width:15rem;padding:.55rem .75rem;border:1px solid var(--border-strong);border-radius:.6rem;background:var(--bg);box-shadow:0 12px 28px -12px #00000080;font-size:.78rem;line-height:1.4;color:var(--text-muted);pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 8px));transition:opacity .15s}.viz__tip strong{color:var(--text);font-weight:600}.viz__tip.is-shown{opacity:1}@media (max-width: 520px){.viz{padding:1.15rem}.viz__bar-track,.viz__axis{margin-right:6.5rem}}.progress.astro-7jjqptxk{position:fixed;top:0;left:0;right:0;z-index:70;height:2px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}@supports (animation-timeline: scroll()){.progress.astro-7jjqptxk{animation:grow linear both;animation-timeline:scroll(root)}}@keyframes grow{to{transform:scaleX(1)}}.post.astro-7jjqptxk{padding-top:clamp(2.5rem,6vw,4rem)}.post__back.astro-7jjqptxk{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted);text-decoration:none;transition:color .2s var(--ease-soft)}.post__back.astro-7jjqptxk svg.astro-7jjqptxk{width:.9rem;height:.9rem;transition:transform .35s var(--ease-spring)}.post__back.astro-7jjqptxk:hover{color:var(--text)}.post__back.astro-7jjqptxk:hover svg.astro-7jjqptxk{transform:translate(-3px)}.post__header.astro-7jjqptxk{margin:2.5rem 0 3rem}.post__tags.astro-7jjqptxk{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:1.25rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.post__tags.astro-7jjqptxk li.astro-7jjqptxk:before{content:"#";color:var(--text-faint)}.post__title.astro-7jjqptxk{font-size:clamp(2.25rem,6vw,3.5rem);font-weight:600;line-height:1.02;letter-spacing:-.045em;color:var(--text)}.post__lead.astro-7jjqptxk{margin-top:1.5rem;font-family:var(--font-serif);font-size:clamp(1.25rem,2.4vw,1.55rem);font-style:italic;line-height:1.4;color:var(--text-muted)}.post__byline.astro-7jjqptxk{display:flex;align-items:center;gap:.85rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.post__byline.astro-7jjqptxk img.astro-7jjqptxk{width:2.25rem;height:2.25rem;border-radius:.65rem;box-shadow:0 0 0 1px var(--border-strong)}.post__author.astro-7jjqptxk{font-size:.9rem;font-weight:600;color:var(--text)}.post__meta.astro-7jjqptxk{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin-top:.15rem;font-size:.72rem;color:var(--text-muted)}.post__hero.astro-7jjqptxk{width:min(60rem,calc(100vw - 2.5rem));margin:0 0 3.5rem calc(50% - min(30rem,50vw - 1.25rem));overflow:hidden;border:1px solid var(--border);border-radius:1.5rem}.post__hero.astro-7jjqptxk img.astro-7jjqptxk{display:block;width:100%;max-height:34rem;object-fit:cover}.post__footer.astro-7jjqptxk{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border)}.post__thanks.astro-7jjqptxk{font-family:var(--font-serif);font-size:1.35rem;font-style:italic;line-height:1.4;color:var(--text-muted)}.post__thanks.astro-7jjqptxk a.astro-7jjqptxk{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.post__nav.astro-7jjqptxk{display:grid;gap:.75rem;margin-top:2.5rem}@media (min-width: 640px){.post__nav.astro-7jjqptxk{grid-template-columns:repeat(2,minmax(0,1fr))}}.post__nav-link.astro-7jjqptxk{display:grid;gap:.6rem;padding:1.25rem;border:1px solid var(--border);border-radius:1.15rem;background:var(--bg-elevated);color:inherit;text-decoration:none;transition:border-color .2s var(--ease-soft),transform .45s var(--ease-spring)}.post__nav-link.astro-7jjqptxk:hover{border-color:var(--border-strong);transform:translateY(-2px)}.post__nav-link--next.astro-7jjqptxk{text-align:right}@media (min-width: 640px){.post__nav-link--next.astro-7jjqptxk:only-child{grid-column:2}}.post__nav-title.astro-7jjqptxk{font-weight:600;line-height:1.35;color:var(--text)}
