.jump-bottom{position:fixed;left:var(--jump-x,50%);margin-left:-19px;bottom:var(--jump-bottom,84px);z-index:20;width:38px;height:38px;border-radius:50%;border:1px solid var(--border,var(--line));
background:var(--panel);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;
cursor:pointer;padding:0;transition:opacity .45s cubic-bezier(.22,.9,.3,1),transform .6s cubic-bezier(.34,1.4,.5,1),border-color .2s ease}
.jump-bottom.is-hidden{opacity:0;transform:translateY(14px) scale(.72);pointer-events:none}
.jump-bottom:not(.is-hidden):hover{transform:scale(1.06)}
.jump-bottom:not(.is-hidden):active{transform:scale(.92)}
.jump-bottom:focus-visible{outline:2px solid #38BDF8;outline-offset:2px}
.jump-bottom .jump-arrow{position:absolute;width:16px;height:16px;opacity:0;transform:translateY(-6px) scale(.6);
transition:opacity .32s cubic-bezier(.34,1.56,.64,1),transform .32s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.jump-bottom .jump-dots{position:absolute;inset:0;pointer-events:none;opacity:1;transform:scale(1);
transition:opacity .32s cubic-bezier(.34,1.56,.64,1),transform .32s cubic-bezier(.34,1.56,.64,1)}
.jump-bottom .jump-dots i{position:absolute;width:4.2px;height:4.2px;border-radius:50%;left:50%;top:50%;margin:-2.1px 0 0 -2.1px;
background:transparent;will-change:transform,opacity;transition:background .3s ease}
.jump-bottom .jump-dots i:nth-child(1){transform:translateX(-7px) scale(.9)}
.jump-bottom .jump-dots i:nth-child(2){transform:translateX(0) scale(1.1)}
.jump-bottom .jump-dots i:nth-child(3){transform:translateX(7px) scale(.9)}
.jump-bottom:not([data-state]) .jump-dots,.jump-bottom.is-hidden .jump-dots,.jump-bottom:hover .jump-dots,.jump-bottom:focus-visible .jump-dots{opacity:0;transform:scale(.1)}
.jump-bottom:not([data-state]) .jump-arrow,.jump-bottom.is-hidden .jump-arrow,.jump-bottom:hover .jump-arrow,.jump-bottom:focus-visible .jump-arrow{opacity:1;transform:translateY(0) scale(1)}
.jump-bottom[data-state="running"] .jump-dots i{background:#38BDF8}
.jump-bottom[data-state="waiting"] .jump-dots i{background:#818CF8}
.jump-bottom[data-state="error"] .jump-dots i{background:#F43F5E}
.jump-bottom[data-state] .jump-dots i:nth-child(1){animation:baseThrust1 1.4s ease-in-out infinite}
.jump-bottom[data-state] .jump-dots i:nth-child(2){animation:baseThrust2 1.4s ease-in-out -1.25s infinite}
.jump-bottom[data-state] .jump-dots i:nth-child(3){animation:baseThrust3 1.4s ease-in-out -1.1s infinite}
.jump-bottom[data-state].trigger-orbit .jump-dots i:nth-child(1){animation:eventOrbit1 .6s cubic-bezier(.34,1.56,.64,1) forwards}
.jump-bottom[data-state].trigger-orbit .jump-dots i:nth-child(2){animation:eventOrbit2 .6s cubic-bezier(.34,1.56,.64,1) forwards}
.jump-bottom[data-state].trigger-orbit .jump-dots i:nth-child(3){animation:eventOrbit3 .6s cubic-bezier(.34,1.56,.64,1) forwards}
@keyframes baseThrust1{0%,100%{transform:translateX(-7px) scale(.9);opacity:.7}50%{transform:translateX(-8.5px) scale(1.2);opacity:1}}
@keyframes baseThrust2{0%,100%{transform:translateX(0) scale(1.1);opacity:.9}50%{transform:translateX(0) scale(.7);opacity:.5}}
@keyframes baseThrust3{0%,100%{transform:translateX(7px) scale(.9);opacity:.7}50%{transform:translateX(8.5px) scale(1.2);opacity:1}}
@keyframes eventOrbit1{0%{transform:translateX(-7px) scale(.9)}50%{transform:translate(-2px,-5px) scale(1.4)}100%{transform:translateX(-7px) scale(.9)}}
@keyframes eventOrbit2{0%{transform:translateX(0) scale(1.1)}50%{transform:translate(4px,4px) scale(.5)}100%{transform:translateX(0) scale(1.1)}}
@keyframes eventOrbit3{0%{transform:translateX(7px) scale(.9)}50%{transform:translate(-3px,4px) scale(1.3)}100%{transform:translateX(7px) scale(.9)}}
@media (prefers-reduced-motion:reduce){.jump-bottom,.jump-bottom .jump-arrow,.jump-bottom .jump-dots,.jump-bottom .jump-dots i{transition:none}.jump-bottom[data-state] .jump-dots i:nth-child(n),.jump-bottom[data-state].trigger-orbit .jump-dots i:nth-child(n){animation:none}}
@media (pointer:coarse),(max-width:768px){.jump-bottom{width:44px;height:44px;margin-left:-22px}}
