:root,[data-theme=dark]{--pos-done:var(--color-volt)}[data-theme=light]{--pos-done:#3d6a08}.pos-rail{background:var(--hairline-strong);position:relative}.pos-rail[data-dir=x]{width:100%;height:1px}.pos-rail[data-dir=y]{width:1px;height:100%}.pos-signal{background:var(--color-cobalt);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklab, var(--color-cobalt) 22%, transparent), 0 0 14px var(--color-cobalt);opacity:0;animation-duration:3.6s;animation-timing-function:var(--ease-in-out);animation-iteration-count:infinite;animation-play-state:paused;animation-delay:var(--pos-delay,0s);border-radius:2px;position:absolute}.pos-rail[data-dir=x] .pos-signal{animation-name:pos-travel-x;top:-3px}.pos-rail[data-dir=y] .pos-signal{animation-name:pos-travel-y;left:-3px}.pos-rail[data-back=true] .pos-signal{background:var(--color-volt);box-shadow:0 0 0 3px color-mix(in oklab, var(--color-volt) 22%, transparent), 0 0 14px var(--color-volt);animation-direction:reverse}[data-inview=true] .pos-signal{animation-play-state:running}@keyframes pos-travel-x{0%{opacity:0;left:0%}12%{opacity:1}48%{opacity:1;left:calc(100% - 7px)}56%,to{opacity:0;left:calc(100% - 7px)}}@keyframes pos-travel-y{0%{opacity:0;top:0%}12%{opacity:1}48%{opacity:1;top:calc(100% - 7px)}56%,to{opacity:0;top:calc(100% - 7px)}}.pos-seq{transition:border-color var(--duration-standard) var(--ease-out), background-color var(--duration-standard) var(--ease-out), color var(--duration-standard) var(--ease-out)}[data-inview=true] .pos-seq{animation:pos-light 4.8s var(--ease-out) infinite;animation-delay:calc(var(--pos-i,0) * .6s)}@keyframes pos-light{0%,to{border-color:var(--hairline-strong)}6%,18%{border-color:var(--color-cobalt);background-color:color-mix(in oklab, var(--color-cobalt) 12%, transparent)}30%{border-color:var(--hairline-strong);background-color:#0000}}.pos-final{border-color:color-mix(in oklab, var(--color-volt) 70%, transparent);background-color:color-mix(in oklab, var(--color-volt) 14%, transparent)}.pos-route-active{border-color:var(--color-cobalt);box-shadow:inset 2px 0 0 var(--color-cobalt)}@media (prefers-reduced-motion:reduce){.pos-signal{display:none}[data-inview=true] .pos-seq{animation:none}}
