/* Visual activity is decorative; numerical changes come only from saved market data. */
#liveprice,.locale-quote:first-child strong{position:relative;animation:quote-breathe 4s ease-in-out infinite}
#liveprice:after,.locale-quote:first-child strong:after{content:"";display:inline-block;width:6px;height:6px;margin-inline-start:10px;border-radius:50%;background:#b38939;vertical-align:middle;animation:quote-dot 2.8s ease-out infinite}
.quote-up{animation:quote-rise 1.2s ease-out!important}.quote-down{animation:quote-fall 1.2s ease-out!important}
@keyframes quote-breathe{0%,100%{opacity:1}50%{opacity:.88}}
@keyframes quote-dot{0%{box-shadow:0 0 0 0 rgb(179 137 57 / 32%)}70%,100%{box-shadow:0 0 0 7px rgb(179 137 57 / 0%)}}
@keyframes quote-rise{0%{background:rgb(35 132 95 / 20%)}100%{background:transparent}}
@keyframes quote-fall{0%{background:rgb(195 66 66 / 20%)}100%{background:transparent}}
@media(prefers-reduced-motion:reduce){#liveprice,.locale-quote:first-child strong,#liveprice:after,.locale-quote:first-child strong:after,.quote-up,.quote-down{animation:none!important}}
