.sieve{--sieve-ease:cubic-bezier(.2, .7, .2, 1)}.sieve-wide{display:none}.sieve-narrow>div{max-width:360px}@media (min-width:640px){.sieve-narrow>div{max-width:440px}}@media (min-width:1024px){.sieve-wide{display:block}.sieve-narrow{display:none}}.sieve svg{width:100%;height:auto;display:block;overflow:visible}.sieve-canvas{pointer-events:none;width:100%;height:auto;position:absolute;top:0;left:0}.sieve-field circle,.sieve pattern circle{fill:var(--color-ink-55)}.sieve-cluster{fill:var(--color-cyan)}.sieve-path{fill:var(--color-ink-55)}.sieve-gate{stroke:var(--color-ink-55);stroke-width:1px;vector-effect:non-scaling-stroke}.sieve-bin{background-image:radial-gradient(circle, var(--color-ink-55) 1px, transparent 1.4px);background-size:4px 4px;position:absolute}.sieve-label{white-space:nowrap;margin:0;position:absolute}.sieve .type-meta{font-family:var(--font-sans);letter-spacing:0;font-size:.8rem}.sieve-centered{text-align:center;translate:-50%}.sieve-middle{translate:0 -50%}.sieve-number{flex-direction:column;gap:.5rem;display:flex}.sieve-number .type-metric{font-size:clamp(2rem,3.4vw,2.6rem)}.sieve-narrow .sieve-number{flex-direction:row;align-items:baseline;gap:.75rem}.sieve-stage-label{color:var(--color-text)}.sieve-narrow .sieve-stage-label{white-space:normal}.sieve-mark{border:2px solid var(--color-amber);background:var(--color-panel);width:56px;height:56px;color:var(--color-amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-amber) 10%, transparent);font-family:var(--font-mono);text-align:center;border-radius:50%;place-items:center;padding:0 6px;font-size:.7rem;font-weight:500;line-height:1.1;display:grid;position:absolute;translate:-50% -50%}.sieve-wide .sieve-mark{translate:0 -50%}.sieve ul{margin:0;padding:0;list-style:none}.sieve-bins-wide{display:grid;margin-top:.75rem!important}.sieve-bin-label{font-size:var(--text-meta);text-wrap:balance;cursor:default;margin-left:-4px;padding:2px 4px;line-height:1.4;position:relative}.sieve-bins-wide .sieve-bin-label{justify-self:start;max-width:calc(100% - 16px)}.sieve-narrow .sieve-bin-label{grid-template-columns:2rem 1fr;column-gap:6px;display:grid;position:absolute}.sieve-count{font-family:var(--font-mono);color:var(--color-cyan);font-variant-numeric:tabular-nums;font-weight:500}.sieve-bins-wide .sieve-count{display:block}.sieve-narrow .sieve-count{text-align:right}.sieve-reason{color:var(--color-dim);font-size:.84rem;line-height:1.4}.sieve-bins-wide .sieve-reason{display:block}.sieve-bin-label{border-radius:var(--radius);transition:background-color .15s}.sieve-bin-label:is(:hover,:focus-visible){background:var(--color-panel-2)}.sieve-bin-label:is(:hover,:focus-visible) .sieve-reason{color:var(--color-text)}.sieve-rule{z-index:10;border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-panel-2);width:max-content;max-width:15rem;color:var(--color-text);font-family:var(--font-mono);text-wrap:pretty;padding:6px 10px;font-size:.74rem;line-height:1.45;display:none;position:absolute;top:calc(100% + 6px);left:0}.sieve-rule:before{content:"";height:8px;position:absolute;bottom:100%;left:0;right:0}.sieve-narrow .sieve-rule{max-width:100%}.sieve-bin-label:is(:hover,:focus-visible) .sieve-rule{display:block}.sieve[data-sieve=armed] :is(.sieve-field circle,pattern circle){fill:var(--color-ink)}.sieve:is([data-sieve=armed],[data-sieve=play]) .sieve-cluster{opacity:0}.sieve:is([data-sieve=armed],[data-sieve=play]) .sieve-bin-y{clip-path:inset(100% 0 0)}.sieve:is([data-sieve=armed],[data-sieve=play]) .sieve-bin-x{clip-path:inset(0 100% 0 0)}.sieve[data-sieve=armed] :is(.sieve-path circle,.sieve-stage-label,.sieve-late,.sieve-count,.sieve-mark),.sieve[data-sieve=play] .sieve-field{opacity:0}.sieve[data-sieve=play] .sieve-count{animation:1ms linear .3s both sieve-show}.sieve[data-sieve=play] :is(.sieve-path circle,.sieve-stage-label){animation:sieve-show .15s linear var(--t) both}.sieve[data-sieve=play] .sieve-late{animation:.6s ease-out 1.5s both sieve-show}.sieve[data-sieve=play] .sieve-mark{animation:sieve-mark .3s var(--sieve-ease) 2.1s both}@keyframes sieve-show{0%{opacity:0}to{opacity:1}}@keyframes sieve-mark{0%{opacity:0;scale:.85}to{opacity:1;scale:1}}
