.ps-stage{margin-top:64px}.ps-flow{margin-top:clamp(96px,11vw,152px)}.ps-demo{--ps-move:cubic-bezier(.77, 0, .175, 1);--ps-arrive:cubic-bezier(.23, 1, .32, 1)}.ps-art{aspect-ratio:1;width:min(460px,100%);position:relative}.ps-layer{width:100%;height:100%;display:block;position:absolute;inset:0}.ps-over{pointer-events:none;overflow:visible}.ps-bglayer{-webkit-mask-image:radial-gradient(circle closest-side,#000 70%,#0000 100%);mask-image:radial-gradient(circle closest-side,#000 70%,#0000 100%);-webkit-mask-position:50% 52%;mask-position:50% 52%;-webkit-mask-size:200% 200%;mask-size:200% 200%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ps-scrim{opacity:.5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ps-scrim path{fill:#0b0f14}.ps-demo[data-phase=trace] .ps-scrim{opacity:0}.ps-stray{opacity:1}.ps-demo[data-phase=applied] .ps-stray,.ps-outline{opacity:0}.ps-trace,.ps-ants,.ps-head{fill:none;stroke-linejoin:round;stroke-linecap:round}.ps-trace{stroke-dasharray:1 1;stroke-dashoffset:0}.ps-trace--halo{stroke:#fff;stroke-width:5px}.ps-trace--line{stroke:#0b0f14;stroke-width:2px}.ps-ants{stroke:#fff;stroke-width:2px;stroke-dasharray:.011 .011;opacity:0}.ps-head{stroke:#fff;stroke-width:3px;stroke-dasharray:.05 2;stroke-dashoffset:-.95px;opacity:0}.ps-head--glow{stroke-width:11px;stroke-opacity:.45}.ps-flag{opacity:0}.ps-flag__edge{fill:none;stroke:#e8a317;stroke-width:1.2px;stroke-dasharray:4 3}.ps-flag__edge--crit{stroke:#e4572e}.ps-flag__hatch{opacity:.8}.ps-flag__wash{fill:var(--app-ok);opacity:0}.ps-demo[data-phase=aim] .ps-flag{opacity:1}.ps-tag{opacity:0;white-space:nowrap;background:#fff;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;transform:translateY(0);box-shadow:0 0 0 1px #0b0f141f}.ps-tag[data-decision=keep]{color:#1a6b32;background:var(--status-ok-tint);box-shadow:none;top:28.5%;left:62%}.ps-tag[data-decision=remove]{color:#9a2c10;top:79%;left:4%}.ps-demo[data-phase=aim] .ps-tag{opacity:1}.ps-done{align-items:center;gap:10px;display:flex}.ps-done svg{color:var(--app-ok);flex:none}.ps-muted{color:#545b62;margin:0;font-size:13px}.ps-regions{flex-direction:column;gap:6px;display:flex}.ps-regions ul{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.ps-regions__title{font-size:14px;font-weight:600}.ps-region{border:1px solid var(--app-line);border-radius:8px;align-items:center;gap:10px;padding:6px;font-size:13px;transition:background-color .3s;display:flex}.ps-region[data-decision=keep]{background:var(--status-ok-tint);border-color:#0000}.ps-region strong{font-weight:600;display:block}.ps-region small{color:#545b62;font-size:12px}.ps-thumb{width:48px;height:48px;box-shadow:0 0 0 2px var(--app-crit);background:#fff;border-radius:6px;flex:none}.ps-region[data-decision=keep] .ps-thumb{box-shadow:0 0 0 2px var(--app-ok)}.ps-regions--visual{margin:0;padding:0}.ps-panelwrap{flex-direction:column;gap:12px;display:flex}.ps-bar{background:var(--endorr-paper);border-radius:2px;height:4px;overflow:hidden}.ps-bar>span{background:var(--endorr-black);transform-origin:0;border-radius:2px;height:100%;display:block;transform:scaleX(0)}.ps-apply{transition:opacity .5s}.ps-demo[data-phase=applied] .ps-apply{opacity:.5}.ps-demo .pub-primary{transition:transform .16s ease-out}.ps-demo .pub-primary[data-pressed=true]{transform:scale(.97)}.ps-mini{aspect-ratio:16/10;background:#fff;border-radius:6px;overflow:hidden}.ps-mini__svg{width:100%;height:100%;display:block}.ps-mini--cut{background:repeating-conic-gradient(#eef0f2 0 25%, #f6f7f8 0 50%) 0 0 / 16px 16px}.ps-toolrow{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ps-toolrow i{border:1.5px dashed var(--endorr-black);border-radius:2px;width:14px;height:14px}.ps-file{justify-content:space-between;gap:12px;font-size:13px;display:flex}.ps-file span{color:#545b62;font-variant-numeric:tabular-nums}.ps-method{padding-top:clamp(80px,9vw,120px)}.ps-method__row{border-top:1px solid var(--grey-200);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:24px clamp(32px,6vw,96px);padding-top:40px;display:grid}.ps-method h2{letter-spacing:-.02em;font-size:28px;font-weight:500}.ps-method dl{grid-template-columns:max-content 1fr;gap:10px 24px;margin:0;font-size:15px;display:grid}.ps-method dt{color:var(--grey-500)}.ps-method dd{color:var(--endorr-ink);margin:0}.ps-method p{color:var(--endorr-ink);margin:20px 0 0;font-size:15px}.ps-method p a{text-underline-offset:4px}@media (max-width:800px){.ps-method__row{grid-template-columns:minmax(0,1fr)}.ps-method dl{grid-template-columns:minmax(0,1fr);gap:2px}.ps-method dd{margin-bottom:10px}}.ps-demo[data-live=true][data-phase=trace] .ps-outline{opacity:1}.ps-demo[data-live=true][data-phase=trace] .ps-trace{animation:3s linear both ps-draw}.ps-demo[data-live=true][data-phase=trace] .ps-head{animation:3s linear both ps-head}.ps-demo[data-live=true][data-phase=trace] .ps-ants{animation:.35s ease-out 3s both ps-fade-in,.9s linear infinite ps-march}.ps-demo[data-live=true][data-phase=trace] .ps-scrim{animation:ps-dim 1.1s var(--ps-arrive) 2.4s both}.ps-demo[data-live=true][data-phase=trace] .ps-bar>span{animation:3.6s linear both ps-bar}.ps-demo[data-live=true][data-phase=cut] .ps-outline{opacity:1;animation:.5s ease-out 1s both ps-fade-out}.ps-demo[data-live=true][data-phase=cut] .ps-ants{opacity:1;animation:.9s linear infinite ps-march}.ps-demo[data-live=true][data-phase=cut] .ps-bglayer{animation:ps-dissolve 1.4s var(--ps-move) both}.ps-demo[data-phase=cut] .ps-bar>span{transform:scaleX(1)}.ps-demo[data-live=true][data-phase=propose] .ps-flag{animation:ps-fade-in .5s var(--ps-arrive) both}.ps-demo[data-live=true][data-phase=propose] .ps-flag--stray{animation-delay:.12s}.ps-demo[data-live=true][data-phase=propose] .ps-flag__edge{animation:1.2s linear infinite ps-march-edge}.ps-demo[data-live=true][data-phase=propose] .ps-tag{animation:ps-tag-in .4s var(--ps-arrive) .35s both}.ps-demo[data-live=true][data-phase=propose] .ps-tag[data-decision=remove]{animation-delay:.47s}.ps-demo[data-phase=propose] .ps-flag,.ps-demo[data-phase=propose] .ps-tag{opacity:1}.ps-demo[data-live=true][data-phase=propose] .ps-rise{animation:ps-rise .45s var(--ps-arrive) both}.ps-demo[data-live=true][data-phase=propose] .ps-region:first-child{animation-delay:.22s}.ps-demo[data-live=true][data-phase=propose] .ps-region:nth-child(2){animation-delay:.3s}.ps-demo[data-live=true][data-phase=propose] .ps-apply{animation-delay:.4s}.ps-demo[data-phase=aim] .ps-flag__edge{animation:1.2s linear infinite ps-march-edge}.ps-demo[data-live=true][data-phase=applied] .ps-stray{animation:.9s ease-out both ps-stray-out}.ps-demo[data-live=true][data-phase=applied] .ps-flag--stray{animation:.6s ease-out both ps-fade-out}.ps-demo[data-live=true][data-phase=applied] .ps-flag--railing{animation:.5s ease-out .9s both ps-fade-out}.ps-demo[data-live=true][data-phase=applied] .ps-flag--railing .ps-flag__hatch,.ps-demo[data-live=true][data-phase=applied] .ps-flag--railing .ps-flag__edge{animation:.3s ease-out both ps-fade-out}.ps-demo[data-live=true][data-phase=applied] .ps-flag--railing .ps-flag__wash{animation:1.4s ease-out both ps-wash}.ps-demo[data-live=true][data-phase=applied] .ps-tag{animation:.5s ease-out 1.1s both ps-fade-out}.ps-demo[data-playing=false] *{animation-play-state:paused!important}@keyframes ps-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes ps-head{0%{stroke-dashoffset:.05px;opacity:1}94%{opacity:1}to{stroke-dashoffset:-.95px;opacity:0}}@keyframes ps-march{to{stroke-dashoffset:-.022px}}@keyframes ps-march-edge{to{stroke-dashoffset:-7px}}@keyframes ps-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ps-fade-out{0%{opacity:1}to{opacity:0}}@keyframes ps-dim{0%{opacity:0}to{opacity:.5}}@keyframes ps-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ps-dissolve{0%{-webkit-mask-size:200% 200%;mask-size:200% 200%}to{-webkit-mask-size:0% 0%;mask-size:0% 0%}}@keyframes ps-tag-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:none}}@keyframes ps-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ps-wash{0%{opacity:0}30%{opacity:.5}to{opacity:0}}@keyframes ps-stray-out{0%{opacity:1;filter:blur()}to{opacity:0;filter:blur(3px)}}@media (prefers-reduced-motion:reduce){.ps-demo *,.ps-demo :before{transition:none!important;animation:none!important}}@media (max-width:1000px){.ps-demo .pub-app__canvas{padding-bottom:40px}}
