/* Video-synchronised detection and correction overlay. */
.metrics b strong{font:inherit;color:inherit}
.posture-film{--pose-color:#ff6b55;--pose-bg:#351b18}
.posture-film.good{--pose-color:var(--lime);--pose-bg:#223019}
.film-ui>span i{background:var(--pose-color);box-shadow:0 0 14px var(--pose-color);transition:background .25s,box-shadow .25s}
.film-ui>b{color:var(--pose-color);background:color-mix(in srgb,var(--pose-bg) 86%,transparent);transition:color .25s,background .25s}
.posture-film svg path{stroke:var(--pose-color);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--pose-color) 60%,transparent));transition:stroke .25s}
.posture-film svg circle{fill:var(--pose-color);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--pose-color) 60%,transparent));transition:fill .25s}
.posture-film svg .pose-guide{stroke:#ffffff78;stroke-width:2;stroke-dasharray:7 11;filter:none}
.angle{color:var(--pose-color);transition:color .25s}
.scan-line{position:absolute;z-index:3;left:4%;right:4%;height:1px;top:19%;background:linear-gradient(90deg,transparent,var(--pose-color),transparent);box-shadow:0 0 15px var(--pose-color);animation:pose-scan 1.45s linear infinite;opacity:.8}
@keyframes pose-scan{to{top:78%}}
@media(prefers-reduced-motion:reduce){.scan-line{animation:none;top:48%}}
