/* One shared CSS clock turns the wheel and reveals its upright callouts. */
.cb-lifecycle-svg{--cb-lifecycle-cycle:21s;display:block;width:100%;height:auto;overflow:visible}
.cb-lifecycle-svg-dark{--cb-lifecycle-ink:#c0dde5;--cb-lifecycle-active-ink:#9be7e3}
.cb-lifecycle-svg .cb-lifecycle-label{font-family:var(--font-display,Manrope,Arial,sans-serif);font-size:22px;font-weight:600;letter-spacing:-.35px;fill:currentColor}
/* The compact external-label viewport crops only the perimeter. Its rotor
 * still turns around the native 240,260 center, verified in the browser. */
.cb-lifecycle-svg .cb-lifecycle-rotor{transform-box:view-box;transform-origin:240px 260px;animation:cb-lifecycle-wheel var(--cb-lifecycle-cycle) linear infinite;animation-play-state:paused}
.cb-lifecycle-svg .cb-lifecycle-area{animation:cb-lifecycle-label-highlight var(--cb-lifecycle-cycle) linear infinite;animation-delay:var(--cb-lifecycle-delay);animation-play-state:paused}
.cb-lifecycle-svg .cb-lifecycle-focus{animation:cb-lifecycle-area-focus var(--cb-lifecycle-cycle) linear infinite;animation-delay:var(--cb-lifecycle-delay);animation-play-state:paused}
.cb-lifecycle-svg :is(.cb-lifecycle-callout,.cb-lifecycle-bubble-link){animation:cb-lifecycle-area-focus var(--cb-lifecycle-cycle) linear infinite;animation-delay:var(--cb-lifecycle-delay);animation-play-state:paused}
[data-cb-lifecycle-motion="active"] .cb-lifecycle-svg :is(.cb-lifecycle-rotor,.cb-lifecycle-area,.cb-lifecycle-focus,.cb-lifecycle-callout,.cb-lifecycle-bubble-link){animation-play-state:running}
[data-cb-lifecycle-motion="active"] .cb-lifecycle-callout{transform:translate(var(--cb-bubble-dx),var(--cb-bubble-dy))}
[data-cb-lifecycle-motion="active"] .cb-lifecycle-bubble{opacity:1}
[data-cb-lifecycle-motion="active"] .cb-lifecycle-label-leader{opacity:0}
/* Idle/no-script keeps the common phase paused and all seven plain labels readable.
   Callout geometry never changes the node positions or the semantic text. */
[data-cb-lifecycle-motion="idle"] .cb-lifecycle-area{color:var(--cb-lifecycle-ink,#173f55)!important}
[data-cb-lifecycle-motion="idle"] .cb-lifecycle-focus{opacity:0!important}
[data-cb-lifecycle-motion="idle"] .cb-lifecycle-callout{opacity:1!important;transform:none!important}
[data-cb-lifecycle-motion="idle"] :is(.cb-lifecycle-bubble,.cb-lifecycle-bubble-link){opacity:0!important}
@keyframes cb-lifecycle-wheel{to{transform:rotate(360deg)}}
@keyframes cb-lifecycle-label-highlight{0%,5.5%,94.5%,100%{color:var(--cb-lifecycle-active-ink,#087f90)}7.1429%,92.8571%{color:var(--cb-lifecycle-ink,#173f55)}}
@keyframes cb-lifecycle-area-focus{0%,5.5%,94.5%,100%{opacity:1}7.1429%,92.8571%{opacity:0}}
@media(max-width:600px){.cb-lifecycle-svg .cb-lifecycle-label{font-size:24px}}
@media(prefers-reduced-motion:reduce){.cb-lifecycle-svg :is(.cb-lifecycle-rotor,.cb-lifecycle-area,.cb-lifecycle-focus,.cb-lifecycle-callout,.cb-lifecycle-bubble-link){animation:none}.cb-lifecycle-svg .cb-lifecycle-rotor{transform:none}.cb-lifecycle-svg .cb-lifecycle-area{color:var(--cb-lifecycle-ink,#173f55)}.cb-lifecycle-svg .cb-lifecycle-focus{opacity:0}.cb-lifecycle-svg .cb-lifecycle-callout{opacity:1!important;transform:none!important}.cb-lifecycle-svg :is(.cb-lifecycle-bubble,.cb-lifecycle-bubble-link){opacity:0!important}.cb-lifecycle-svg .cb-lifecycle-label-leader{opacity:1}}
