.preparation-list article{--preparation-delay:0s}
.preparation-list article:nth-child(2){--preparation-delay:5s}
.preparation-list article:nth-child(3){--preparation-delay:10s}
.preparation-list .feature-symbol svg{stroke-linecap:round;stroke-linejoin:round}
.preparation-list .symbol-base{opacity:.65}
.preparation-list .symbol-detail{stroke:#008a80;stroke-width:1.8}
.preparation-list.is-complete .feature-symbol{animation:preparation-focus 15s ease-in-out infinite;animation-delay:var(--preparation-delay);animation-play-state:paused}
.preparation-list.is-complete .exam-check{stroke-dasharray:1;animation:exam-mark 15s ease-in-out infinite;animation-delay:var(--preparation-delay);animation-play-state:paused}
.preparation-list.is-complete .exam-check.second{animation-name:exam-mark-second}
.preparation-list.is-complete .summary-bar{transform-origin:20px 27px;animation:summary-build 15s ease-in-out infinite;animation-delay:var(--preparation-delay);animation-play-state:paused}
.preparation-list.is-complete .summary-bar.middle{animation-name:summary-build-middle}
.preparation-list.is-complete .summary-bar.last{animation-name:summary-build-last}
.preparation-list.is-complete .target-focus{transform-origin:20px 20px;animation:target-settle 15s ease-in-out infinite;animation-delay:var(--preparation-delay);animation-play-state:paused}
.preparation-list.is-complete .target-center{animation:target-center 15s ease-in-out infinite;animation-delay:var(--preparation-delay);animation-play-state:paused}
.preparation-list.is-complete .preparation-playing .feature-symbol,
.preparation-list.is-complete .preparation-playing .symbol-detail{animation-play-state:running}
@keyframes preparation-focus{0%,32%,100%{background:#ddf0e9}7%,24%{background:#c4e7dc}}
@keyframes exam-mark{0%{stroke-dashoffset:1;opacity:0}4%{opacity:1}10%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes exam-mark-second{0%,8%{stroke-dashoffset:1;opacity:0}11%{opacity:1}18%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes summary-build{0%{transform:scaleY(.25)}10%,100%{transform:scaleY(1)}}
@keyframes summary-build-middle{0%,5%{transform:scaleY(.25)}16%,100%{transform:scaleY(1)}}
@keyframes summary-build-last{0%,10%{transform:scaleY(.25)}22%,100%{transform:scaleY(1)}}
@keyframes target-settle{0%{transform:scale(1.4);opacity:.35}17%,100%{transform:scale(1);opacity:1}}
@keyframes target-center{0%,8%{opacity:0}20%,100%{opacity:1}}
@media(max-width:760px){.preparation-list article{--preparation-delay:0s!important}}
@media(prefers-reduced-motion:reduce){
 .preparation-list.is-complete .feature-symbol,.preparation-list.is-complete .symbol-detail{animation:none;transform:none;opacity:1;stroke-dashoffset:0}
}
/* The ring follows the circular edge at every responsive icon size. */
.preparation-list .feature-symbol{position:relative}
.preparation-list .feature-symbol>.preparation-ring{position:absolute;inset:0;width:100%;height:100%;padding:0;overflow:visible;transform:rotate(-90deg);pointer-events:none}
.preparation-ring circle{fill:none;stroke-width:1.5}
.preparation-ring .ring-track{stroke:#008a8020}
.preparation-ring .ring-progress{stroke:#008a80;stroke-dasharray:1;stroke-dashoffset:1}
.preparation-list.is-complete .ring-progress{animation:preparation-ring-fill 15s linear infinite;animation-delay:var(--preparation-delay);animation-play-state:paused}
.preparation-list.is-complete .preparation-playing .ring-progress{animation-play-state:running}
@keyframes preparation-ring-fill{0%{stroke-dashoffset:1;opacity:1}29%,80%{stroke-dashoffset:0;opacity:1}97%,100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.preparation-list.is-complete .ring-progress{animation:none;stroke-dashoffset:0;opacity:.65}}
