/* Playback animation is a visual cue, not an audio amplitude measurement. */
.follow-wave{display:inline-flex;align-items:center;justify-content:center;gap:3px;height:30px;min-width:52px;vertical-align:middle;color:#19756d;overflow:hidden}
.follow-wave i{display:block;width:3px;height:calc(7px + (var(--bar) * 3px));max-height:28px;border-radius:3px;background:currentColor;transform:scaleY(.3);transform-origin:center;animation:follow-wave .85s calc(var(--bar) * -0.13s) ease-in-out infinite alternate;animation-play-state:paused;opacity:.42}
.follow-playing .follow-wave i{animation-play-state:running;opacity:1}
@keyframes follow-wave{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.follow-word{border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.follow-word.follow-current{color:#073e37;background:#ffe29a;box-shadow:0 2px 0 #b97a16;outline:2px solid transparent}
.follow-current-line{color:#183e3b}
.audio-panel .follow-wave{margin-left:10px}
.reading-audio-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;grid-column:1/-1}
.reading-audio-foot .follow-wave{height:22px}
.loop-player .follow-wave,.growth-audio .follow-wave{display:flex;margin-top:4px;justify-content:flex-start;height:22px}
.loop-signal i{animation-play-state:paused!important}
.follow-playing .loop-signal i{animation-play-state:running!important;animation-iteration-count:infinite!important}
.listening-follow-visual{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:12px 16px;border-radius:16px;background:#edf5f2;color:#28564d;min-height:54px}
.listening-follow-visual strong{font-size:14px;font-weight:600}
.listening-follow-visual .follow-wave{margin-left:auto}
.listening-follow-dot{width:10px;height:10px;border-radius:50%;background:#9eaaa5;flex:none}
.follow-playing .listening-follow-dot{background:#237c68;box-shadow:0 0 0 5px #237c6815}
.loop-coach .follow-wave{margin-left:10px}
@media(max-width:700px){.listening-follow-visual{position:absolute;right:12px;top:80px;width:54px;min-height:24px;margin:0;padding:0;background:none}.listening-follow-visual strong,.listening-follow-dot{display:none}.listening-follow-visual .follow-wave{height:24px}.follow-word.follow-current{box-shadow:0 2px 0 #b97a16}}
@media(prefers-reduced-motion:reduce){.follow-wave i,.loop-signal i{animation:none!important;transform:scaleY(.35)}.follow-playing .follow-wave i{transform:scaleY(.8)}.follow-word{transition:none!important}}
