@property --sweep{syntax:"<percentage>";inherits:false;initial-value:0%}.chart{--space:var(--brand);--space-fill:var(--brand-fill);--space-fill-on:var(--brand-fill-on);--glow-strength:1;margin:1.5rem 0;container:chart/inline-size}:root[data-theme=light] .chart{--glow-strength:.55}.sp-global{--space:var(--brand);--space-fill:var(--brand-fill);--space-fill-on:var(--brand-fill-on)}.sp-shared{--space:var(--nebula);--space-fill:var(--nebula-fill);--space-fill-on:var(--nebula-fill-on)}.sp-reg{--space:var(--star);--space-fill:color-mix(in srgb, var(--star) 7%, transparent);--space-fill-on:color-mix(in srgb, var(--star) 16%, transparent)}.sp-cost{--space:var(--mars);--space-fill:var(--mars-fill);--space-fill-on:var(--mars-fill-on)}.chart-svg{width:100%;height:auto;font-family:var(--font-mono);isolation:isolate;display:block;overflow:visible}.chart-ghost{mix-blend-mode:plus-lighter;pointer-events:none}.chart-svg *{transition:fill var(--dur-2) var(--ease-out), stroke var(--dur-2) var(--ease-out), opacity var(--dur-2) var(--ease-out)}.chart-static{display:none}@container chart (width<600px){.chart:not([data-live]) .chart-svg:not(.chart-static){display:none}.chart:not([data-live]) .chart-static{display:block}}.chart-defs{width:0;height:0;position:absolute;overflow:hidden}.chart-graticule-dot{fill:var(--sky-line)}.chart-vignette{fill:url(#chart-plate-vignette);pointer-events:none}.chart-vignette-stop{stop-color:var(--brand)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.chart-graticule{animation:linear both chart-parallax view()}}}@keyframes chart-parallax{0%{transform:translateY(-6px)}to{transform:translateY(6px)}}.chart-ticks{fill:none;stroke:var(--dust);stroke-width:1px}.chart-plate-text,.chart-plate-note{fill:var(--dust);font-family:var(--font-mono);font-size:12.5px}.chart-plate-text{letter-spacing:.14em;text-transform:uppercase}.chart-box{fill:none;stroke:var(--sky-line);stroke-width:1px}.chart-cell{fill:color-mix(in srgb, var(--sky-line) 55%, transparent);stroke:none}.chart-wire{fill:none;stroke:var(--sky-line);stroke-width:1px}.chart-node{fill:var(--sky-line)}.chart-label{fill:var(--dust);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13.5px}.chart-label.is-small{font-size:12.5px}.chart-box.is-on{stroke:var(--space);fill:var(--space-fill)}.chart-box.is-hot{stroke:var(--space);fill:var(--space-fill-on);stroke-width:1.5px}.chart-box.is-outline{fill:none}.chart-cell.is-on{fill:color-mix(in srgb, var(--space) 34%, transparent)}.chart-cell.is-hot{fill:color-mix(in srgb, var(--space) 62%, transparent)}.chart-wire.is-on,.is-on>.chart-wire{stroke:var(--space)}.chart-node.is-on,.is-on>.chart-node,.chart-label.is-on{fill:var(--space)}.chart-label.is-hot{fill:var(--star)}.is-warn,.is-warn>.chart-wire,.chart-box.is-warn{stroke:var(--mars);stroke-dasharray:3 2.5}.chart-box.is-warn{fill:var(--mars-fill)}.chart-node.is-warn,.is-warn>.chart-node,.chart-label.is-warn{fill:var(--mars);stroke:none}.is-idle{opacity:.45}.is-hidden{opacity:0}.chart-glow-stop{stop-color:var(--space)}.chart-glow{fill:url(#chart-glow-global);opacity:0;pointer-events:none}.chart-glow.sp-shared{fill:url(#chart-glow-shared)}.chart-glow.sp-reg{fill:url(#chart-glow-reg)}.chart-glow.sp-cost{fill:url(#chart-glow-cost)}.chart-glow.is-on{opacity:var(--glow-strength)}.chart-glow.is-pulse{opacity:calc(var(--pulse,0) * var(--glow-strength));transition:none}.chart-glow.is-breathing{animation:chart-breathe 2.4s var(--ease-in-out) infinite alternate}@keyframes chart-breathe{0%{opacity:calc(.85 * var(--glow-strength))}to{opacity:var(--glow-strength)}}.chart-packet,.chart-packet *{transition:none}.chart-packet .chart-glow{opacity:calc(.8 * var(--glow-strength))}.chart-particle{fill:var(--space)}.chart-particle.is-depth-1{fill:color-mix(in srgb, var(--space) 75%, var(--star))}.chart-particle.is-depth-2{fill:color-mix(in srgb, var(--space) 50%, var(--star))}.chart-sweep{fill:none;stroke:var(--space);stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:.08 .92;stroke-dashoffset:.08px;opacity:0}.chart-sweep.is-on{opacity:.9;animation:2.8s linear infinite chart-sweep}@keyframes chart-sweep{0%{stroke-dashoffset:.08px}to{stroke-dashoffset:-.92px}}.sweep-line{background:linear-gradient(90deg, transparent calc(var(--sweep) - 14%), var(--space) var(--sweep), transparent calc(var(--sweep) + 14%)) no-repeat, var(--sky-line);height:1px}.sweep-line.is-on{animation:3.2s linear infinite sweep-line}@keyframes sweep-line{0%{--sweep:-14%}to{--sweep:114%}}.chart:not([data-visible]) .is-breathing,.chart:not([data-visible]) .chart-sweep.is-on,.chart:not([data-visible]) .sweep-line.is-on{animation-play-state:paused}.fig-tall-readout .chart-readout{min-height:4.5em}@media (prefers-reduced-motion:reduce){.motion-only{display:none}}.chart-readout{min-height:3em;color:var(--star);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-wrap:pretty;margin:.75rem 0 0;font-size:.8125rem;line-height:1.5}.chart-legend{color:var(--dust);font-family:var(--font-mono);flex-wrap:wrap;gap:.25rem 1.25rem;margin:.5rem 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.chart-key{align-items:center;gap:.5rem;display:inline-flex}.chart-key:before{content:"";border-top:1px solid var(--space);width:1.25rem}.chart-key.sp-cost:before{border-top-style:dashed}.chart-controls{flex-wrap:wrap;align-items:center;gap:.625rem .75rem;margin-top:.75rem;display:flex}:root{--control-bg:color-mix(in srgb, var(--sky-2) 72%, transparent);--control-rim:linear-gradient(135deg, color-mix(in srgb, var(--brand) 55%, var(--sky-line)), var(--sky-line) 45%, color-mix(in srgb, var(--nebula) 45%, var(--sky-line)));--control-sheen:inset 0 1px 0 color-mix(in srgb, var(--star) 7%, transparent);--control-lit:linear-gradient(180deg, color-mix(in srgb, var(--brand) 30%, transparent), color-mix(in srgb, var(--nebula) 16%, transparent));--control-radius:10px}:is(.chart,.viz-pair) :is(.chart-controls,.chart-group,.chart-range-label)>*{margin-top:0}.chart-group{border-radius:var(--control-radius);background:linear-gradient(var(--control-bg), var(--control-bg)) padding-box, var(--control-rim) border-box;box-shadow:var(--control-sheen), 0 6px 18px -12px var(--glow);border:1px solid #0000;flex-wrap:wrap;align-items:center;gap:2px;padding:2px;display:inline-flex}.chart-btn{border-radius:calc(var(--control-radius) - 2px);min-width:32px;min-height:32px;color:var(--dust);font-family:var(--font-mono);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.75rem;line-height:1.2;display:inline-flex;position:relative}.chart-btn:not(.chart-group>.chart-btn){border-radius:var(--control-radius);background:linear-gradient(var(--control-bg), var(--control-bg)) padding-box, var(--control-rim) border-box;box-shadow:var(--control-sheen)}.chart-btn:hover{color:var(--star);background-color:color-mix(in srgb, var(--brand) 10%, transparent)}.chart-btn:not(.chart-group>.chart-btn):hover{background:linear-gradient(color-mix(in srgb, var(--brand) 10%, var(--control-bg)), color-mix(in srgb, var(--brand) 10%, var(--control-bg))) padding-box, var(--control-rim) border-box;box-shadow:var(--control-sheen), 0 0 14px -4px var(--glow)}.chart-btn:active{transform:translateY(1px)}.chart-btn[aria-pressed=true]{color:var(--star);background:var(--control-lit);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--brand-hi) 40%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--brand) 45%, transparent), 0 0 16px -4px var(--glow)}.chart-btn:disabled{opacity:.45;cursor:default}.chart-icon{width:32px;padding:0}.chart-glyph{width:16px;height:16px;display:block;overflow:visible}.chart-glyph path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.chart-glyph path.is-filled{fill:currentColor}.chart-play .is-pause,.chart-play[aria-pressed=true] .is-play{display:none}.chart-play[aria-pressed=true] .is-pause{display:block}.chart-play{color:var(--brand-hi)}.chart-btn:focus-visible,.chart-range:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.chart-range-label{min-height:32px;color:var(--dust);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.75rem;display:inline-flex}.chart-range{--track:color-mix(in srgb, var(--sky-line) 85%, transparent);--track-fill:linear-gradient(90deg, var(--brand), var(--nebula));--track-ticks:none;cursor:pointer;-webkit-appearance:none;appearance:none;background:0 0;width:min(16rem,100%);height:32px;margin:0}.chart-range[data-ticked]{--track-ticks:repeating-linear-gradient(90deg, transparent 0, transparent calc(100% / var(--ticks) - 2px), var(--sky-1) calc(100% / var(--ticks) - 2px), var(--sky-1) calc(100% / var(--ticks)))}.chart-range::-webkit-slider-runnable-track{background:var(--track-ticks), var(--track-fill) 0 0 / var(--fill,0%) 100% no-repeat, var(--track);border-radius:999px;height:6px}.chart-range::-moz-range-track{background:var(--track-ticks), var(--track-fill) 0 0 / var(--fill,0%) 100% no-repeat, var(--track);border-radius:999px;height:6px}.chart-range::-webkit-slider-thumb{background:radial-gradient(circle, var(--sky-1) 0 18%, var(--brand-hi) 30%, var(--brand) 62%, color-mix(in srgb, var(--brand) 40%, transparent) 72%, transparent 74%);width:18px;height:18px;box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 16%, transparent), 0 0 14px 2px var(--glow);-webkit-appearance:none;appearance:none;transition:box-shadow var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);border:0;border-radius:50%;margin-top:-6px}.chart-range::-moz-range-thumb{background:radial-gradient(circle, var(--sky-1) 0 18%, var(--brand-hi) 30%, var(--brand) 62%, color-mix(in srgb, var(--brand) 40%, transparent) 72%, transparent 74%);width:18px;height:18px;box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 16%, transparent), 0 0 14px 2px var(--glow);border:0;border-radius:50%}.chart-range:hover::-webkit-slider-thumb,.chart-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px color-mix(in srgb, var(--brand) 20%, transparent), 0 0 20px 4px var(--glow);transform:scale(1.12)}.chart-range:active::-webkit-slider-thumb{transform:scale(.96)}.chart-range:focus-visible{border-radius:999px}@media (prefers-reduced-motion:reduce){.chart-btn,.chart-range::-webkit-slider-thumb{transition:none}.chart-btn:active{transform:none}}.chart figcaption{color:var(--dust);margin-top:.75rem;font-size:.875rem;line-height:1.5}.chart-noscript{color:var(--dust);font-size:.75rem}@media (prefers-reduced-motion:reduce){.chart-glow.is-breathing,.chart-sweep.is-on,.sweep-line.is-on{animation:none}.chart-sweep.is-on{opacity:0}}
