/* Scoped, short result animations. No overlay, sound, looping or input blocking. */
.tl-result-motion{margin:18px 0 12px;text-align:center;pointer-events:none;animation:tl-result-arrive .45s ease-out both}
.tl-result-motion.is-pass{color:var(--good,#147454)}
.tl-result-motion.is-retry{color:var(--blue,#176a9d)}
.tl-result-emblem{position:relative;width:80px;height:80px;margin:auto;border-radius:50%;background:#eaf5f0;display:grid;place-items:center}
.is-retry .tl-result-emblem{background:var(--light,#eaf3fa)}
.tl-result-emblem svg{width:72px;height:72px;overflow:visible}
.tl-result-motion p{margin:12px 0 0;font-size:14px;font-weight:600;color:var(--ink,#20354a)}
.tl-result-ring{stroke-dasharray:183;stroke-dashoffset:0;animation:tl-result-ring .65s ease-out both}
.tl-result-check{stroke-dasharray:46;stroke-dashoffset:0;animation:tl-result-check .4s .35s ease-out both}
.tl-result-retry{transform-origin:36px 36px;animation:tl-result-turn .8s ease-out both}
.tl-result-emblem i{position:absolute;left:38px;top:38px;width:5px;height:8px;border-radius:2px;background:#d5a94f;opacity:0;transform:rotate(calc(var(--i)*45deg)) translateY(-47px);animation:tl-result-spark .9s .3s ease-out both}
.tl-result-emblem i:nth-of-type(even){background:#258578}
@keyframes tl-result-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes tl-result-ring{from{stroke-dashoffset:183}to{stroke-dashoffset:0}}
@keyframes tl-result-check{from{stroke-dashoffset:46}to{stroke-dashoffset:0}}
@keyframes tl-result-turn{from{transform:rotate(-65deg);opacity:.3}to{transform:rotate(0);opacity:1}}
@keyframes tl-result-spark{0%{opacity:0;transform:rotate(calc(var(--i)*45deg)) translateY(-34px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--i)*45deg)) translateY(-59px) scale(.6)}}
@media(prefers-reduced-motion:reduce){.tl-result-motion,.tl-result-motion *{animation:none!important}.tl-result-emblem i{display:none}}
