/* Generated by scripts/extract-icons.mjs — do not edit by hand.
   Run `npm run icons` to regenerate.

   Every animation is gated behind .is-playing, which the overlay system adds
   on the page-flip complete event. .is-static renders the finished state with
   no motion, used under prefers-reduced-motion. */

.fdb-icon { display: block; width: 100%; height: 100%; }
.fdb-icon svg { display: block; width: 100%; height: 100%; overflow: visible; }

/* Shared entrance for the eight page-29 process icons, which have no bespoke
   animation yet. The 0.1s stagger between them is applied by the overlay
   system, not here. */
@keyframes fdb-i-enter {
  0%   { opacity: 0; transform: scale(0.72); }
  100% { opacity: 1; transform: scale(1); }
}


/* ---- aussie (aussie_icon_animated_v2.html) ---- */
.fdb-icon[data-icon="aussie"] .fdb-i-aussie-cls-1 { fill: #8e9c8a; }
.fdb-icon[data-icon="aussie"] .fdb-i-aussie-cls-2 { fill: #f7e8cb; }
.fdb-icon[data-icon="aussie"] .fdb-i-aussie-green-group { opacity: 0; }
.fdb-icon[data-icon="aussie"] .fdb-i-aussie-cream-group { opacity: 0; }
.fdb-icon[data-icon="aussie"].is-playing .fdb-i-aussie-green-group { animation: fdb-i-aussie-slide-down 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="aussie"].is-playing .fdb-i-aussie-cream-group { animation: fdb-i-aussie-slide-up 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="aussie"].is-static .fdb-i-aussie-green-group { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="aussie"].is-static .fdb-i-aussie-cream-group { opacity: 1; animation: none; transform: none; }
@keyframes fdb-i-aussie-slide-down {
    0% {
      transform: translateY(-160px);
      opacity: 0;
    }
    45% {
      opacity: 1;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }
@keyframes fdb-i-aussie-slide-up {
    0% {
      transform: translateY(160px);
      opacity: 0;
    }
    45% {
      opacity: 1;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }

/* ---- 35years (badge_35years_animated.html) ---- */
.fdb-icon[data-icon="35years"] .fdb-i-35years-cls-1 { fill: #8e9c8a; }
.fdb-icon[data-icon="35years"] .fdb-i-35years-cls-2 { fill: #f7e8cb; }
.fdb-icon[data-icon="35years"] .fdb-i-35years-star-group { transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="35years"] .fdb-i-35years-check-group { transform-box: fill-box; transform-origin: center; opacity: 0; }
.fdb-icon[data-icon="35years"] .fdb-i-35years-star-group { opacity: 0; }
.fdb-icon[data-icon="35years"].is-playing .fdb-i-35years-star-group { animation: fdb-i-35years-roll-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="35years"].is-playing .fdb-i-35years-check-group { animation: fdb-i-35years-slide-up 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards; animation-delay: 0.75s; }
.fdb-icon[data-icon="35years"].is-static .fdb-i-35years-star-group { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="35years"].is-static .fdb-i-35years-check-group { opacity: 1; animation: none; transform: none; }
@keyframes fdb-i-35years-roll-in {
    0% {
      transform: rotate(-160deg) scale(0);
      opacity: 0;
    }
    70% {
      opacity: 1;
    }
    100% {
      transform: rotate(0deg) scale(1);
      opacity: 1;
    }
  }
@keyframes fdb-i-35years-slide-up {
    0% {
      transform: translateY(120px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }

/* ---- quality (quality_icon_animated.html) ---- */
.fdb-icon[data-icon="quality"] .fdb-i-quality-cls-1 { fill: #8e9c8a; }
.fdb-icon[data-icon="quality"] .fdb-i-quality-cls-2 { fill: #f7e8cb; }
.fdb-icon[data-icon="quality"] .fdb-i-quality-shield { opacity: 0; }
.fdb-icon[data-icon="quality"] .fdb-i-quality-slash-wrap { clip-path: inset(0% 100% 0% 0%); }
.fdb-icon[data-icon="quality"] .fdb-i-quality-slash-wrap { opacity: 0; }
.fdb-icon[data-icon="quality"].is-playing .fdb-i-quality-shield { animation: fdb-i-quality-fade-in 0.4s ease-out forwards; }
.fdb-icon[data-icon="quality"].is-playing .fdb-i-quality-slash-wrap { animation: fdb-i-quality-slash-across 0.65s cubic-bezier(0.65, 0, 0.35, 1) forwards; animation-delay: 0.3s; }
.fdb-icon[data-icon="quality"].is-static .fdb-i-quality-shield { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="quality"].is-static .fdb-i-quality-slash-wrap { opacity: 1; animation: none; transform: none; }
@keyframes fdb-i-quality-fade-in {
    to { opacity: 1; }
  }
@keyframes fdb-i-quality-slash-across {
    0% {
      clip-path: inset(0% 100% 0% 0%);
    }
    100% {
      clip-path: inset(0% 0% 0% 0%);
    }
  }

/* ---- flexible (flexible_icon_animated.html) ---- */
.fdb-icon[data-icon="flexible"] .fdb-i-flexible-cls-1 { fill: #8e9c8a; }
.fdb-icon[data-icon="flexible"] .fdb-i-flexible-cls-2 { fill: #f7e8cb; }
.fdb-icon[data-icon="flexible"] .fdb-i-flexible-gear-group { transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="flexible"] .fdb-i-flexible-arrow-group { transform-box: fill-box; transform-origin: center; opacity: 0; }
.fdb-icon[data-icon="flexible"] .fdb-i-flexible-gear-group { opacity: 0; }
.fdb-icon[data-icon="flexible"].is-playing .fdb-i-flexible-gear-group { animation: fdb-i-flexible-spin-open 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="flexible"].is-playing .fdb-i-flexible-arrow-group { animation: fdb-i-flexible-spin-open-arrow 0.85s cubic-bezier(0.22, 1, 0.36, 1) forwards; animation-delay: 0.65s; }
.fdb-icon[data-icon="flexible"].is-static .fdb-i-flexible-gear-group { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="flexible"].is-static .fdb-i-flexible-arrow-group { opacity: 1; animation: none; transform: none; }
@keyframes fdb-i-flexible-spin-open {
    0% {
      transform: rotate(-220deg) scale(0);
      opacity: 0;
    }
    65% {
      opacity: 1;
    }
    100% {
      transform: rotate(0deg) scale(1);
      opacity: 1;
    }
  }
@keyframes fdb-i-flexible-spin-open-arrow {
    0% {
      transform: rotate(-260deg) scale(0);
      opacity: 0;
    }
    60% {
      opacity: 1;
    }
    100% {
      transform: rotate(0deg) scale(1);
      opacity: 1;
    }
  }

/* ---- local (local_icon_animated.html) ---- */
.fdb-icon[data-icon="local"] .fdb-i-local-cls-1 { fill: #8e9c8a; }
.fdb-icon[data-icon="local"] .fdb-i-local-cls-2 { fill: #f7e8cb; }
.fdb-icon[data-icon="local"] .fdb-i-local-pop { transform-box: fill-box; transform-origin: center; opacity: 0; }
.fdb-icon[data-icon="local"] .fdb-i-local-pop-1 { opacity: 0; }
.fdb-icon[data-icon="local"] .fdb-i-local-pop-2 { opacity: 0; }
.fdb-icon[data-icon="local"] .fdb-i-local-pop-3 { opacity: 0; }
.fdb-icon[data-icon="local"].is-playing .fdb-i-local-pop { animation: fdb-i-local-pop-up 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
.fdb-icon[data-icon="local"].is-playing .fdb-i-local-pop-1 { animation-delay: 0s; }
.fdb-icon[data-icon="local"].is-playing .fdb-i-local-pop-2 { animation-delay: 0.15s; }
.fdb-icon[data-icon="local"].is-playing .fdb-i-local-pop-3 { animation-delay: 0.32s; }
.fdb-icon[data-icon="local"].is-static .fdb-i-local-pop { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="local"].is-static .fdb-i-local-pop-1 { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="local"].is-static .fdb-i-local-pop-2 { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="local"].is-static .fdb-i-local-pop-3 { opacity: 1; animation: none; transform: none; }
@keyframes fdb-i-local-pop-up {
    0% {
      transform: scale(0) translateY(20px);
      opacity: 0;
    }
    60% {
      transform: scale(1.12) translateY(0);
      opacity: 1;
    }
    80% {
      transform: scale(0.96);
    }
    100% {
      transform: scale(1);
      opacity: 1;
    }
  }

/* ---- hammer (hammer_tools_animated.html) ---- */
.fdb-icon[data-icon="hammer"] .fdb-i-hammer-cls-1 { fill: #262a29; }
.fdb-icon[data-icon="hammer"] .fdb-i-hammer-cls-2 { fill: #8e9c8a; }
.fdb-icon[data-icon="hammer"] .fdb-i-hammer-frame { transform-box: fill-box; transform-origin: center; opacity: 0; }
.fdb-icon[data-icon="hammer"] .fdb-i-hammer-tools-group { transform-box: fill-box; transform-origin: bottom center; opacity: 0; }
.fdb-icon[data-icon="hammer"].is-playing .fdb-i-hammer-frame { animation: fdb-i-hammer-frame-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="hammer"].is-playing .fdb-i-hammer-tools-group { animation: fdb-i-hammer-pop-up 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; animation-delay: 0.3s; }
.fdb-icon[data-icon="hammer"].is-static .fdb-i-hammer-frame { opacity: 1; animation: none; transform: none; }
.fdb-icon[data-icon="hammer"].is-static .fdb-i-hammer-tools-group { opacity: 1; animation: none; transform: none; }
@keyframes fdb-i-hammer-frame-in {
    0% {
      transform: scale(0.85);
      opacity: 0;
    }
    100% {
      transform: scale(1);
      opacity: 1;
    }
  }
@keyframes fdb-i-hammer-pop-up {
    0% {
      transform: translateY(140px) scale(0.7);
      opacity: 0;
    }
    60% {
      transform: translateY(-14px) scale(1.05);
      opacity: 1;
    }
    80% {
      transform: translateY(6px) scale(0.98);
    }
    100% {
      transform: translateY(0) scale(1);
      opacity: 1;
    }
  }

/* ---- location (1_LOCATION.svg) ---- */
.fdb-icon[data-icon="location"] .fdb-i-location-cls-1 { fill: #8f9d8a; }
.fdb-icon[data-icon="location"] .fdb-i-location-cls-2 { fill: #2a2e2d; }
.fdb-icon[data-icon="location"] .fdb-i-location-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="location"].is-playing .fdb-i-location-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="location"].is-static .fdb-i-location-all { opacity: 1; animation: none; transform: none; }

/* ---- write (1_WRITE.svg) ---- */
.fdb-icon[data-icon="write"] .fdb-i-write-cls-1 { fill: #272b2a; }
.fdb-icon[data-icon="write"] .fdb-i-write-cls-2 { fill: #8e9c8a; }
.fdb-icon[data-icon="write"] .fdb-i-write-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="write"].is-playing .fdb-i-write-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="write"].is-static .fdb-i-write-all { opacity: 1; animation: none; transform: none; }

/* ---- check (1_CHECK.svg) ---- */
.fdb-icon[data-icon="check"] .fdb-i-check-cls-1 { fill: #272b2a; }
.fdb-icon[data-icon="check"] .fdb-i-check-cls-2 { fill: #8e9c8a; }
.fdb-icon[data-icon="check"] .fdb-i-check-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="check"].is-playing .fdb-i-check-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="check"].is-static .fdb-i-check-all { opacity: 1; animation: none; transform: none; }

/* ---- concrete (1_CONCRETE.svg) ---- */
.fdb-icon[data-icon="concrete"] .fdb-i-concrete-cls-1 { fill: #272b2a; }
.fdb-icon[data-icon="concrete"] .fdb-i-concrete-cls-2 { fill: #8e9c8a; }
.fdb-icon[data-icon="concrete"] .fdb-i-concrete-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="concrete"].is-playing .fdb-i-concrete-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="concrete"].is-static .fdb-i-concrete-all { opacity: 1; animation: none; transform: none; }

/* ---- crane (1_CRANE.svg) ---- */
.fdb-icon[data-icon="crane"] .fdb-i-crane-cls-1 { fill: #272b2a; }
.fdb-icon[data-icon="crane"] .fdb-i-crane-cls-2 { fill: #8e9c8a; }
.fdb-icon[data-icon="crane"] .fdb-i-crane-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="crane"].is-playing .fdb-i-crane-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="crane"].is-static .fdb-i-crane-all { opacity: 1; animation: none; transform: none; }

/* ---- man (1_MAN.svg) ---- */
.fdb-icon[data-icon="man"] .fdb-i-man-cls-1 { fill: #8d9b89; }
.fdb-icon[data-icon="man"] .fdb-i-man-cls-2 { fill: #292d2c; }
.fdb-icon[data-icon="man"] .fdb-i-man-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="man"].is-playing .fdb-i-man-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="man"].is-static .fdb-i-man-all { opacity: 1; animation: none; transform: none; }

/* ---- tools (1_TOOLS.svg) ---- */
.fdb-icon[data-icon="tools"] .fdb-i-tools-cls-1 { fill: #262a29; }
.fdb-icon[data-icon="tools"] .fdb-i-tools-cls-2 { fill: #8e9c8a; }
.fdb-icon[data-icon="tools"] .fdb-i-tools-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="tools"].is-playing .fdb-i-tools-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="tools"].is-static .fdb-i-tools-all { opacity: 1; animation: none; transform: none; }

/* ---- smile (1_SMILE.svg) ---- */
.fdb-icon[data-icon="smile"] .fdb-i-smile-cls-1 { fill: #272b2a; }
.fdb-icon[data-icon="smile"] .fdb-i-smile-cls-2 { fill: #8f9c8a; }
.fdb-icon[data-icon="smile"] .fdb-i-smile-all { opacity: 0; transform-box: fill-box; transform-origin: center; }
.fdb-icon[data-icon="smile"].is-playing .fdb-i-smile-all { animation: fdb-i-enter 0.62s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.fdb-icon[data-icon="smile"].is-static .fdb-i-smile-all { opacity: 1; animation: none; transform: none; }