/* A fine orbit in the column gap and travelling light on the price rules. */
.price-motion-ready{position:relative;isolation:isolate;overflow:hidden}
.price-motion-ready .cost-grid{position:relative;z-index:1}
.price-orbit{position:absolute;left:calc(43% - 36px);top:31%;width:72px;height:100px;color:var(--purple);opacity:.48;pointer-events:none;user-select:none}
.price-orbit-float{width:100%;height:100%;animation:price-orbit-float 6s ease-in-out infinite alternate}
.price-orbit svg{width:100%;height:100%;overflow:visible}
.price-orbit-motion,.price-orbit-counter{transform-box:view-box;transform-origin:48px 66px;animation:price-orbit-spin 16s linear infinite}
.price-orbit-counter{animation-direction:reverse;animation-duration:24s}
.price-flow{position:absolute;left:0;right:0;bottom:13px;height:65px;color:var(--purple);opacity:.35;pointer-events:none;user-select:none;z-index:0}
.price-flow svg{width:100%;height:100%;overflow:visible}
.price-flow path{fill:none;stroke:currentColor;stroke-width:.65}
.price-flow-base{opacity:.27}
.price-flow .price-flow-trace{stroke-width:1.1;stroke-dasharray:32 968;animation:price-flow-travel 13s linear infinite;opacity:.5}
.price-row-motion{position:relative}
.price-rule-glint{position:absolute;bottom:-1px;left:0;width:30px;height:2px;border-radius:4px;background:var(--purple);pointer-events:none;opacity:0;animation:price-rule-travel 8s ease-in-out var(--price-phase,0s) infinite}
.price-motion-ready .price-orbit-float,.price-motion-ready .price-orbit-motion,.price-motion-ready .price-orbit-counter,.price-motion-ready .price-flow-trace,.price-motion-ready .price-rule-glint{animation-play-state:paused}
.price-motion-ready[data-price-moving=true] .price-orbit-float,.price-motion-ready[data-price-moving=true] .price-orbit-motion,.price-motion-ready[data-price-moving=true] .price-orbit-counter,.price-motion-ready[data-price-moving=true] .price-flow-trace,.price-motion-ready[data-price-moving=true] .price-rule-glint{animation-play-state:running}
:root[data-theme=light] .price-orbit{opacity:.35}
:root[data-theme=dark] .price-orbit{color:var(--lime);opacity:.46}
:root[data-theme=dark] .price-rule-glint{background:var(--lime)}
:root[data-theme=akita] .price-orbit{color:#2c53e8;opacity:.6}
:root[data-theme=akita] .price-orbit svg{filter:drop-shadow(2px 3px 0 #f3ab6333)}
body.readable .price-orbit,body.readable .price-flow,body.readable .price-rule-glint{display:none}
@keyframes price-orbit-spin{to{transform:rotate(360deg)}}
@keyframes price-orbit-float{from{transform:translateY(-7px) rotate(-8deg)}to{transform:translateY(8px) rotate(8deg)}}
@keyframes price-flow-travel{to{stroke-dashoffset:-1000}}
@keyframes price-rule-travel{0%{left:0;opacity:0}10%{opacity:.5}75%{opacity:.5}100%{left:calc(100% - 30px);opacity:0}}
@media(max-width:1100px){.price-orbit{width:54px;height:82px;left:calc(45% - 27px)}}
@media(max-width:800px){.price-orbit{display:none}.price-flow{bottom:6px;height:38px;opacity:.3}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-preference=on]) .price-orbit-float,html:not([data-motion-preference=on]) .price-orbit-motion,html:not([data-motion-preference=on]) .price-orbit-counter,html:not([data-motion-preference=on]) .price-flow-trace,html:not([data-motion-preference=on]) .price-rule-glint{animation:none!important}}
