/* Exact CSS keyframes from Figma frame 28:2; scroll drives a single 2600ms timeline. */
#outcome-ring-stage.is-figma-ready .day-zero-check { animation: kf_28_75_opacity_0 2.6s linear, kf_28_75_scale_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_28_75_opacity_0 { 0% { opacity: 0; } 92.308% { animation-timing-function: ease-out; opacity: 0; } 100% { opacity: 1; } } @keyframes kf_28_75_scale_0 { 0% { scale: 0.8 0.8; } 92.308% { animation-timing-function: ease-out; scale: 0.8 0.8; } 100% { scale: 1 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-module='0'] { animation: kf_30_2_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_2_opacity_0 { 0% { opacity: 0; } 11.538% { animation-timing-function: ease-out; opacity: 0; } 16.154% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-module='1'] { animation: kf_30_3_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_3_opacity_0 { 0% { opacity: 0; } 34.615% { animation-timing-function: ease-out; opacity: 0; } 39.231% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-module='2'] { animation: kf_30_4_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_4_opacity_0 { 0% { opacity: 0; } 57.692% { animation-timing-function: ease-out; opacity: 0; } 62.308% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-module='3'] { animation: kf_30_5_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_5_opacity_0 { 0% { opacity: 0; } 80.769% { animation-timing-function: ease-out; opacity: 0; } 85.385% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-link='0'] { animation: kf_30_25_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_25_opacity_0 { 0% { opacity: 0; } 11.538% { animation-timing-function: ease-out; opacity: 0; } 16.154% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-link='1'] { animation: kf_30_33_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_33_opacity_0 { 0% { opacity: 0; } 34.615% { animation-timing-function: ease-out; opacity: 0; } 39.231% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-link='2'] { animation: kf_30_41_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_41_opacity_0 { 0% { opacity: 0; } 57.692% { animation-timing-function: ease-out; opacity: 0; } 62.308% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready [data-ring-link='3'] { animation: kf_30_49_opacity_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_49_opacity_0 { 0% { opacity: 0; } 80.769% { animation-timing-function: ease-out; opacity: 0; } 85.385% { opacity: 1; } 100% { opacity: 1; } }
#outcome-ring-stage.is-figma-ready .day-zero-orbit-progress { /* Requires pathLength="1" on the SVG path element. */ stroke-dashoffset: 0; animation: kf_30_66_stroke_0 2.6s linear, kf_30_66_path-trim_0 2.6s linear, kf_30_66_filter_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_66_stroke_0 { 0% { animation-timing-function: step-end; stroke: #D92D27; } 92.308% { animation-timing-function: ease-out; stroke: #D92D27; } 100% { stroke: #4AFF8A; } } @keyframes kf_30_66_path-trim_0 { 0% { animation-timing-function: linear; stroke-dasharray: 0 1; visibility: hidden; } 92.308% { stroke-dasharray: 1 1; visibility: visible; } 100% { stroke-dasharray: 1 1; visibility: visible; } } @keyframes kf_30_66_filter_0 { 0% { animation-timing-function: step-end; filter: drop-shadow(0px 0px 56px rgba(217, 45, 39, 0.24)) drop-shadow(0px 0px 22px rgba(217, 45, 39, 0.52)) drop-shadow(0px 0px 7px rgba(217, 45, 39, 0.95)); } 92.308% { animation-timing-function: ease-out; filter: drop-shadow(0px 0px 56px rgba(217, 45, 39, 0.24)) drop-shadow(0px 0px 22px rgba(217, 45, 39, 0.52)) drop-shadow(0px 0px 7px rgba(217, 45, 39, 0.95)); } 100% { filter: drop-shadow(0px 0px 56px rgba(74, 255, 138, 0.24)) drop-shadow(0px 0px 22px rgba(74, 255, 138, 0.52)) drop-shadow(0px 0px 7px rgba(74, 255, 138, 0.95)); } }
#outcome-ring-stage.is-figma-ready .day-zero-orbit-core { /* Requires pathLength="1" on the SVG path element. */ stroke-dashoffset: 0; animation: kf_30_68_path-trim_0 2.6s linear; animation-iteration-count: 1; animation-fill-mode: both; animation-play-state: paused; animation-delay: var(--ring-time, 0ms);  }
@keyframes kf_30_68_path-trim_0 { 0% { animation-timing-function: linear; stroke-dasharray: 0 1; visibility: hidden; } 92.308% { stroke-dasharray: 1 1; visibility: visible; } 100% { stroke-dasharray: 1 1; visibility: visible; } }

