.psr{container-type:inline-size;position:relative;margin-top:.875rem}.psr-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.psr-search{flex:1 1 12rem;min-width:min(100%,12rem);max-width:20rem;margin-left:auto}.psr-search input{width:100%;min-height:2.25rem;padding:0 .875rem;border-radius:9999px;border:1px solid var(--viz-hairline);background:var(--viz-wash);color:var(--viz-ink);font:inherit;font-size:.8125rem;transition:border-color var(--viz-dur-micro) ease,background var(--viz-dur-micro) ease}.psr-search input::-moz-placeholder{color:var(--fg-subtle)}.psr-search input::placeholder{color:var(--fg-subtle)}.psr-search input:hover{border-color:var(--viz-neutral)}.psr-search input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@media (max-width: 639px){.psr-search input{min-height:2.75rem}.psr-search{max-width:none}}.psr-status{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-height:1.75rem;margin-top:.625rem;font-size:.8125rem;color:var(--viz-ink-muted)}.psr-status strong{color:var(--viz-ink);font-weight:600}.psr-pin-key{width:.625rem;height:.625rem;border-radius:9999px;background:var(--mark);box-shadow:0 0 0 2px var(--pbc-surface),0 0 0 3px color-mix(in oklab,var(--mark) 45%,transparent)}.psr-clear{min-height:1.75rem;padding:0 .625rem;border-radius:9999px;border:1px solid var(--viz-hairline);background:var(--viz-wash);color:var(--viz-ink);font:inherit;font-size:.75rem;font-weight:550;cursor:pointer;transition:border-color var(--viz-dur-micro) ease,transform var(--viz-dur-micro) ease}.psr-clear:hover{border-color:var(--viz-neutral)}.psr-clear:active{transform:scale(.98)}.psr-clear:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width: 639px){.psr-clear{min-height:2.75rem}}.psr-plot{position:relative;margin-top:.5rem}.psr-list{list-style:none;margin:0;padding:0}.psr-row,.psr-axis{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head spread" "strip strip";-moz-column-gap:1rem;column-gap:1rem;align-items:center}.psr-row{padding:.5rem .375rem .25rem;border-radius:.75rem;transition:background var(--viz-dur-micro) ease}.psr-row:hover{background:var(--viz-wash)}.psr-row+.psr-row{border-top:1px solid var(--viz-hairline)}.psr-row:hover+.psr-row,.psr-row:hover{border-top-color:transparent}.psr-head{grid-area:head;min-width:0;display:grid;gap:.125rem}.psr-name{font-size:.875rem;font-weight:600;color:var(--viz-ink);line-height:1.3}.psr-meta{font-size:.75rem;line-height:1.35;color:var(--viz-ink-muted);font-variant-numeric:tabular-nums}.psr-spread{grid-area:spread;text-align:right}.psr-ratio{display:inline-block;min-width:3.25rem;font-family:var(--pb-display, inherit);font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--viz-ink)}.psr-same{font-size:.75rem;font-weight:550;color:var(--viz-ink-muted);white-space:nowrap}.psr-same>span{display:inline-grid;place-items:center;width:1.125rem;height:1.125rem;margin-right:.125rem;border-radius:9999px;border:1px solid var(--viz-hairline);font-size:.75rem}.psr-strip{grid-area:strip;position:relative;height:2.25rem;margin:.125rem .5rem 0}.psr .psr-fold{grid-template-areas:"head spread" "button button"}.psr-fold>.psr-fold-button{grid-area:button}.psr-fold .psr-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.psr-fold-button{justify-self:start;margin:.375rem 0 .125rem;padding:.375rem .75rem;min-height:2.25rem;border-radius:9999px;border:1px solid var(--viz-hairline);background:transparent;color:var(--viz-ink);font-size:.8125rem;font-weight:550;cursor:pointer;transition:border-color var(--viz-dur-micro) ease,background var(--viz-dur-micro) ease}.psr-fold-button:hover{border-color:var(--viz-neutral);background:var(--viz-wash)}.psr-fold-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.psr-plot>.psr-fold-button{margin:.75rem .375rem 0}.psr .ps-dot[data-hollow=true]:before{box-shadow:inset 0 0 0 2px var(--mark),0 0 0 2px var(--pbc-surface)}.psr-strip,.lps-strip{overflow-x:clip;overflow-clip-margin:12px}.psr-axis{margin-top:1.25rem;padding:0 .375rem}.psr-axis .ps-ticks{grid-area:strip}.psr-axis-head,.psr-axis-spread{display:none;font-size:.6875rem;font-weight:550;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle)}.psr-axis-spread{grid-area:spread;text-align:right}.psr[data-variant=ladder] .psr-axis{position:sticky;top:4.75rem;z-index:3;padding-top:.375rem;padding-bottom:.25rem;border-radius:.625rem}.psr[data-variant=ladder] .psr-axis:before{content:"";position:absolute;top:-1.375rem;right:-.25rem;bottom:0;left:-.25rem;z-index:-1;border-radius:inherit;background:var(--viz-glass-solid);opacity:.96}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.psr[data-variant=ladder] .psr-axis:before{background:var(--viz-glass-bg);-webkit-backdrop-filter:var(--viz-glass-filter);backdrop-filter:var(--viz-glass-filter);opacity:1}}@container (min-width: 640px){.psr-row,.psr-axis{grid-template-columns:minmax(9rem,13rem) minmax(0,1fr);grid-template-areas:"head strip"}.psr[data-variant=ladder] .psr-row,.psr[data-variant=ladder] .psr-axis{grid-template-columns:minmax(9rem,16rem) minmax(0,1fr) 4.75rem;grid-template-areas:"head strip spread"}.psr-row{padding:.4375rem .5rem}.psr[data-variant=ladder] .psr-fold{grid-template-areas:"head head spread" "button button button"}.psr-strip{margin-top:0}.psr-axis-head,.psr-axis-spread{display:block}}.psr-empty{padding:1.5rem .5rem;color:var(--viz-ink-muted);font-size:.875rem}.psr-legend{margin-top:1rem}.psr-track{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--pbc-baseline);transform-origin:left center;opacity:.7}.ps-grid{position:absolute;top:.25rem;right:0;bottom:.25rem;left:0;pointer-events:none}.ps-grid>span{position:absolute;top:0;bottom:0;width:1px;background:var(--pbc-grid)}.ps-ticks{position:relative;height:1.125rem;margin:0 .5rem;font-size:var(--viz-tick-size);font-variant-numeric:tabular-nums;color:var(--fg-subtle)}.ps-ticks>span{position:absolute;top:0;transform:translate(-50%);white-space:nowrap}.ps-ticks>span[data-edge=start]{transform:translate(-.25rem)}.ps-ticks>span[data-edge=end]{transform:translate(calc(-100% + .25rem))}.ps-ticks-caption{position:absolute;right:0;top:-1.125rem;font-style:normal;font-size:var(--viz-tick-size);color:var(--fg-muted);white-space:nowrap}.ps-mark{position:absolute;left:0;top:50%;width:100%;height:0;transform:translate(var(--x),var(--ty));pointer-events:none}.ps-mark[data-top=true]{z-index:2}.ps-mark[data-hidden=true]{opacity:0}.ps-mark[data-hidden=true] .ps-dot{pointer-events:none}.psr[data-moving=true] .ps-mark,.lps[data-moving=true] .ps-mark{transition:transform var(--viz-dur-layout) var(--viz-ease-inout),opacity var(--viz-dur-layout) var(--viz-ease-inout)}.ps-dot{position:absolute;left:-12px;top:-12px;width:24px;height:24px;padding:0;margin:0;border:0;border-radius:9999px;background:none;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}@media (pointer: coarse){.ps-dot:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:9999px}}.ps-dot:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:9999px;background:var(--mark);box-shadow:0 0 0 2px var(--pbc-surface);transition:transform var(--viz-dur-ui) var(--viz-ease-out),opacity var(--viz-dur-ui) ease,background-color var(--viz-dur-ui) ease}.ps-dot[data-hollow=true]:before{background:var(--pbc-surface);box-shadow:inset 0 0 0 var(--viz-hollow-stroke) var(--mark),0 0 0 2px var(--pbc-surface)}.ps-dot[data-shape=diamond]:before{top:7px;right:7px;bottom:7px;left:7px;border-radius:2px;transform:rotate(45deg)}.ps-dot[data-edge=true]:before{box-shadow:0 0 0 2px var(--pbc-surface),0 0 0 3.5px color-mix(in oklab,var(--mark) 40%,transparent)}.ps-dot[data-edge=true][data-hollow=true]:before{box-shadow:inset 0 0 0 var(--viz-hollow-stroke) var(--mark),0 0 0 2px var(--pbc-surface),0 0 0 3.5px color-mix(in oklab,var(--mark) 40%,transparent)}.ps-dot[data-active=true]:before,.ps-dot:focus-visible:before{transform:scale(1.3)}.ps-dot[data-shape=diamond][data-active=true]:before,.ps-dot[data-shape=diamond]:focus-visible:before{transform:rotate(45deg) scale(1.3)}.ps-dot:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ps-dot[data-dim=true]:before{opacity:.32}[data-pin=true] .ps-dot:not([data-pinned=true]):before{background-color:var(--pbc-muted-mark)}[data-pin=true] .ps-dot[data-hollow=true]:not([data-pinned=true]):before{background-color:var(--pbc-surface);box-shadow:inset 0 0 0 2px var(--pbc-muted-mark),0 0 0 2px var(--pbc-surface)}.ps-dot[data-pinned=true]:before{top:5px;right:5px;bottom:5px;left:5px;filter:drop-shadow(0 0 7px color-mix(in oklab,var(--mark) var(--viz-glow),transparent))}.ps-dot[data-pinned=true][data-shape=diamond]:before{top:6px;right:6px;bottom:6px;left:6px}[data-theme=light] .ps-dot[data-pinned=true]:before{box-shadow:0 0 0 2px var(--pbc-surface),0 0 0 3.5px color-mix(in oklab,var(--mark) 55%,transparent)}.ps-key{display:inline-block;width:.625rem;height:.625rem;border-radius:9999px;background:var(--pbc-s1)}.ps-key[data-hollow=true]{background:transparent;box-shadow:inset 0 0 0 var(--viz-hollow-stroke) var(--pbc-s1)}.ps-key[data-shape=diamond]{width:.5rem;height:.5rem;border-radius:1px;background:var(--viz-ink);transform:rotate(45deg)}.psr-fp{position:absolute;left:0;top:50%;width:100%;height:0;transform:translate(var(--x));pointer-events:none;z-index:1}.psr-fp>span{position:absolute;top:0;left:11px;transform:translateY(-50%);white-space:nowrap;font-size:.6875rem;font-weight:550;line-height:1;letter-spacing:.01em;color:var(--viz-ink-muted);text-shadow:0 0 3px var(--pbc-surface),0 0 6px var(--pbc-surface)}.psr-fp[data-side=left]>span{left:-11px;transform:translate(-100%,-50%)}.psr[data-moving=true] .psr-fp{transition:transform var(--viz-dur-layout) var(--viz-ease-inout)}@keyframes ps-fall{0%{opacity:0;transform:translateY(-9px) scale(.5)}55%{opacity:1}to{opacity:1;transform:none}}@keyframes ps-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ps-fade{0%{opacity:0}to{opacity:1}}.psr[data-entrance=load] .ps-dot,.viz-figure[data-reveal=in] .ps-dot,.viz-reveal-host[data-reveal=in] .ps-dot{animation:ps-fall var(--viz-dur-mark) var(--viz-ease-emph) calc(var(--viz-delay-marks) + .12s + var(--row-d, 0ms) + var(--d, 0ms)) both}.psr[data-entrance=load] .psr-track,.viz-figure[data-reveal=in] .psr-track,.viz-reveal-host[data-reveal=in] .psr-track{animation:ps-draw var(--viz-dur-mark) var(--viz-ease-emph) calc(80ms + var(--row-d, 0ms)) both}.psr[data-entrance=load] .ps-grid,.psr[data-entrance=load] .ps-ticks,.viz-figure[data-reveal=in] .ps-grid,.viz-figure[data-reveal=in] .ps-ticks{animation:ps-fade var(--viz-dur-ui) ease 80ms both}.psr[data-entrance=load] .psr-fp>span,.viz-figure[data-reveal=in] .psr-fp>span{animation:ps-fade var(--viz-dur-ui) ease calc(var(--viz-delay-marks) + .12s + var(--row-d, 0ms) + var(--viz-dur-mark)) both}.viz-figure[data-reveal=pending] .psr-fp>span{opacity:0}.viz-figure[data-reveal=pending] .ps-dot,.viz-reveal-host[data-reveal=pending] .ps-dot,.viz-figure[data-reveal=pending] .ps-grid,.viz-figure[data-reveal=pending] .ps-ticks{opacity:0}.viz-figure[data-reveal=pending] .psr-track,.viz-reveal-host[data-reveal=pending] .psr-track{transform:scaleX(0)}@media (prefers-reduced-motion: reduce){.psr *,.psr *:before,.lps *,.lps *:before{animation:none!important;transition:none!important}.viz-figure[data-reveal=pending] .ps-dot,.viz-reveal-host[data-reveal=pending] .ps-dot{opacity:1}}@media (forced-colors: active){.ps-dot:before{forced-color-adjust:none;background:CanvasText!important;box-shadow:0 0 0 2px Canvas!important;filter:none!important}.ps-dot[data-hollow=true]:before{background:Canvas!important;box-shadow:inset 0 0 0 2px CanvasText,0 0 0 2px Canvas!important}.ps-dot[data-pinned=true]:before{background:Highlight!important;box-shadow:0 0 0 2px Canvas,0 0 0 4px Highlight!important}.ps-dot[data-dim=true]:before{opacity:.55}.psr-track,.ps-grid>span{forced-color-adjust:none;background:GrayText}.ps-key{forced-color-adjust:none;background:CanvasText}.psr-fp>span{color:CanvasText}}@media print{.psr-controls,.psr-status{display:none}.psr[data-variant=ladder] .psr-axis{position:static}}.lps{margin-top:.875rem}.lps-plot{position:relative}.lps-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.lps-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.125rem .75rem;margin:0;padding:0 .5rem}.lps-name{font-size:.8125rem;font-weight:600;color:var(--viz-ink)}.lps-meta{font-size:.75rem;color:var(--viz-ink-muted);font-variant-numeric:tabular-nums}.lps-meta strong{color:var(--viz-ink);font-weight:600}.lps-strip{position:relative;height:2.5rem;margin:.25rem .5rem .125rem}.lps-link{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}.lps-link polyline{fill:none;stroke:var(--mark);stroke-width:1.5;stroke-opacity:.6;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:lps-draw var(--viz-dur-draw) var(--viz-ease-emph) forwards}@keyframes lps-draw{to{stroke-dashoffset:0}}.lps-row .psr-track{opacity:.55}.psr-ratio-span{position:absolute;left:0;top:50%;height:8px;margin-top:-4px;border-radius:9999px;transform-origin:left center;background:color-mix(in oklab,var(--mark) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--mark) 50%,transparent)}.psr[data-mode=ratio] .ps-dot:before{background:var(--pbc-surface);box-shadow:inset 0 0 0 var(--viz-hollow-stroke) var(--mark),0 0 0 2px var(--pbc-surface)}.psr-row[data-active=true]{background:var(--viz-wash)}.viz-figure[data-reveal=pending] .psr-ratio-span{transform:scaleX(0)}.viz-figure[data-reveal=in] .psr-ratio-span{animation:ps-draw var(--viz-dur-mark) var(--viz-ease-emph) calc(var(--viz-delay-marks) + var(--row-d, 0ms)) both}@media (forced-colors: active){.psr-ratio-span{forced-color-adjust:none;background:Canvas;box-shadow:inset 0 0 0 1px CanvasText}.lps-link polyline{stroke:Highlight}}@container (max-width: 520px){.psr-controls .viz-toggle{width:100%}.psr-controls .viz-toggle button{min-width:0;padding:0 .375rem;font-size:.6875rem;white-space:nowrap}}
