/* CherryBars:живые шкалы отношений. Только transform/opacity */

.cb-line{position:relative;background:rgba(255,255,255,.14) !important;transition:none !important;border-radius:1px}
.cb-fill,.cb-rail{position:absolute;inset:0;display:block;pointer-events:none}
.cb-fill{background:var(--cb);border-radius:1px;transform-origin:50% 100%;transform:scaleY(0);will-change:transform}
.cb-fill::after{content:'';position:absolute;inset:0 -1px;border-radius:2px;box-shadow:0 0 9px 2px var(--cb);opacity:0}
.cb-fill.cb-pulse::after{animation:cb-pulse 1.1s ease-in-out}
.cb-rail{transform:translateY(100%);will-change:transform}
.cb-tip{position:absolute;left:50%;top:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--cb);box-shadow:0 0 10px 3px var(--cbs);opacity:0;transform:scale(.3)}
.cb-tip.cb-go{animation:cb-tip .75s ease-out}
.cb-spark{position:absolute;left:50%;top:0;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:var(--cb);opacity:0;animation:cb-spark .65s ease-out forwards}
.cb-flag{position:absolute;left:50%;bottom:100%;margin-bottom:8px;padding:3px 5px 2px;border-radius:5px;background:#15101a;border:1px solid var(--cbs);color:var(--cb);font:600 9px/1 Unbounded,system-ui,sans-serif;letter-spacing:.02em;white-space:nowrap;opacity:0;animation:cb-flag 1.6s cubic-bezier(.2,.7,.3,1) forwards}
.cb-flag.cb-down{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.12);animation-name:cb-flag-down}
.v3-bar-value.cb-pop{display:inline-block;animation:cb-pop .6s cubic-bezier(.3,1.6,.5,1)}
.cb-toast{position:absolute;left:50%;top:calc(64px + var(--tg-safe-area-top,0px));z-index:5;width:max-content;max-width:calc(100% - 64px);padding:8px 16px 9px;border-radius:12px;background:rgba(21,16,26,.94);border:1px solid var(--cbs);box-shadow:0 10px 30px rgba(0,0,0,.45);text-align:center;pointer-events:none;transform:translateX(-50%);animation:cb-toast 2.2s ease both}
.cb-toast i{display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:5px;color:var(--cb);font:600 8px/1 Unbounded,system-ui,sans-serif;font-style:normal;letter-spacing:.16em;text-transform:uppercase}
.cb-toast i::before,.cb-toast i::after{content:'';width:12px;height:1px;background:var(--cbs)}
.cb-toast span{display:block;color:#fff;font:500 13px/1.25 Onest,system-ui,sans-serif}
@keyframes cb-tip{0%{opacity:0;transform:scale(.3)}
25%{opacity:1;transform:scale(1.15)}
100%{opacity:0;transform:scale(.5)}
}
@keyframes cb-spark{0%{opacity:1;transform:translate(0,0)}
100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.4)}
}
@keyframes cb-flag{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}
14%{opacity:1;transform:translate(-50%,0) scale(1)}
65%{opacity:1}
100%{opacity:0;transform:translate(-50%,-30px)}
}
@keyframes cb-flag-down{0%{opacity:0;transform:translate(-50%,4px)}
18%{opacity:.85;transform:translate(-50%,0)}
60%{opacity:.85}
100%{opacity:0;transform:translate(-50%,-16px)}
}
@keyframes cb-pulse{0%,100%{opacity:0}
22%{opacity:.95}
50%{opacity:.2}
74%{opacity:.75}
}
@keyframes cb-pop{0%,100%{transform:scale(1)}
40%{transform:scale(1.45)}
}
@keyframes cb-toast{0%{opacity:0;transform:translate(-50%,-6px)}
12%{opacity:1;transform:translate(-50%,0)}
82%{opacity:1;transform:translate(-50%,0)}
100%{opacity:0;transform:translate(-50%,-4px)}
}
@media (prefers-reduced-motion:reduce){.cb-flag,.cb-spark,.cb-tip{display:none}
.cb-fill.cb-pulse::after,.v3-bar-value.cb-pop{animation:none}
.cb-toast{animation:none}
}
