/* Generated from the r3 motion contract/prototype plus the owner-approved r5-fix3 word effect. Do not edit. Exact stripe source: r3 prototype sole inline upload-stripe decoration. */

/* Full r3 T15 registry: 20 resolved rows + pulse. */

:root {
  --red-glow: 0 10px 46px rgba(235,50,40,0.66);
}

@keyframes kSpin { to { transform: rotate(360deg); } }

@keyframes kBreath { 0%,100% { opacity: 0.45; } 50% { opacity: 1; } }

@keyframes kPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }

@keyframes kCaret { 0%,55% { opacity: 1; } 60%,100% { opacity: 0; } }

@keyframes kRise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@keyframes kFade { from { opacity: 0; } to { opacity: 1; } }

@keyframes kDevelop { 0% { opacity: 0.05; filter: brightness(0.25) saturate(0.4) blur(8px); } 100% { opacity: 1; filter: none; } }

@keyframes kScan { 0% { transform: translateX(0); } 100% { transform: translateX(1300%); } }

@keyframes kBeam { 0% { transform: translateX(0); } 100% { transform: translateX(284%); } }

@keyframes kShimmer { 0% { transform: translateX(-140%) skewX(-16deg); } 100% { transform: translateX(340%) skewX(-16deg); } }

@keyframes kRing { 0% { transform: scale(1); opacity: 0.55; } 100% { transform: scale(1.55); opacity: 0; } }

@keyframes kGlow { 0%,100% { box-shadow: var(--sh-prim); } 50% { box-shadow: var(--red-glow); } }

@keyframes kOdo { from { transform: translateY(0); } to { transform: translateY(-1em); } }

@keyframes kToastOut { to { opacity: 0; transform: translateY(-6px); } }

@keyframes kStripe { to { background-position: 20px 0; } }

@keyframes kPop { 0% { opacity: 0; transform: scale(0.94); } 60% { opacity: 1; transform: scale(1.015); } 100% { opacity: 1; transform: scale(1); } }

@keyframes kShake { 0%,100% { transform: translateX(0); } 15% { transform: translateX(-4px); } 30% { transform: translateX(4px); } 45% { transform: translateX(-3px); } 60% { transform: translateX(2px); } 75% { transform: translateX(0); } }

@keyframes kWord { 0% { opacity: 0; transform: translateY(14px); filter: blur(6px); } 100% { opacity: 1; transform: translateY(0); filter: blur(0); } }

.fx-spin { animation: kSpin 0.9s linear infinite; }

.fx-breath { animation: kBreath 1.9s ease-in-out infinite; }

.fx-pulse { animation: kPulse 1.7s ease-in-out infinite; }

.fx-caret { animation: kCaret 1.1s steps(1) infinite; }

.fx-rise { animation: kRise var(--dur) var(--curve) both; }

.fx-shake { animation: kShake 0.5s ease both; }

.fx-shimmer { animation: kShimmer 2.2s cubic-bezier(0.4,0,0.6,1) infinite; }

.fx-stripe,
html[data-bonza-visual="apple-quiet-pro"] .fx-stripe {
  background-image: repeating-linear-gradient(45deg,var(--red-border) 0 5px,var(--chip-wash) 5px 10px) !important;
  background-size: 20px 100% !important;
  animation: kStripe 0.7s linear infinite;
}

.fx-word { display: inline-block; animation: kWord 0.7s var(--curve) both; }

[data-theme="6a"] .fx-reveal { animation: kDevelop 1.1s ease both; }

[data-theme="6b"] .fx-reveal { animation: kFade 0.36s ease both; }

[data-theme="6c"] .fx-reveal { animation: kRise 0.4s var(--curve) both; }

.fx-scan { display: none; }

[data-theme="6a"] .fx-scan { display: none; }

[data-theme="6a"][data-run="1"] .fx-scan { display: block; left: -10%; animation: kScan 2.6s cubic-bezier(0.4,0,0.6,1) infinite; }

.fx-beam { display: none; }

[data-theme="6b"] .fx-beam { display: none; }

[data-theme="6b"][data-run="1"] .fx-beam { display: block; left: 0; animation: kBeam 3.4s cubic-bezier(0.5,0,0.5,1) infinite alternate; }

.fx-ring { display: none; }

[data-theme="6c"] .fx-ring { display: block; animation: kRing 1.9s ease-out infinite; }

.fx-glow { animation: kGlow 2.2s ease-in-out infinite; }

.fx-pop { animation: kRise var(--dur) var(--curve) both; }

[data-theme="6c"] .fx-pop { animation: kPop 0.32s cubic-bezier(0.34,1.35,0.4,1) both; }

.fx-fade { animation: kFade 0.3s ease both; }

.fx-odo { display: inline-block; animation: kOdo 0.42s cubic-bezier(0.3,0.8,0.3,1) both; }

.fx-toast-out { animation: kToastOut 0.2s ease both; }

.fx-tab { transition: transform 0.24s var(--curve), width 0.24s var(--curve); }

.fx-press { transition: transform 0.12s ease; }

.fx-press:active { transform: scale(0.985); }

[data-theme="6c"] .fx-lift { transition: transform 0.24s var(--curve), box-shadow 0.24s var(--curve); }

[data-theme="6c"] .fx-lift:hover { transform: translateY(-4px); }

html[data-hidden="1"] .fx-spin {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-breath {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-pulse {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-caret {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-shimmer {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-stripe {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-glow {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-scan {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-beam {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-ring {
  animation-play-state: paused !important;
}

html[data-hidden="1"] .fx-reveal {
  animation-play-state: paused !important;
}

/* r6 runtime/prototype.dc.html exact deterministic capture freeze; motion-production-binding motionFreeze. */
:root[data-motion="freeze"] * {
  animation-play-state: paused !important;
  transition: none !important;
}

html[data-motion="reduced"] .fx-spin {
  animation-duration: 1.8s !important;
  animation-iteration-count: infinite !important;
}

html[data-motion="reduced"] .fx-breath {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-pulse {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-caret {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-shimmer {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-stripe {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-glow {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-scan {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-beam {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-ring {
  animation: none !important;
  opacity: 1 !important;
}

html[data-motion="reduced"] .fx-rise {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"] .fx-pop {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"] .fx-fade {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"] .fx-reveal {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"] .fx-word {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"] .fx-shake {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"] .fx-odo {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"] .fx-toast-out {
  animation-duration: 0.01s !important;
}

html[data-motion="reduced"][data-theme="6a"] .fx-reveal {
  animation: kFade 0.01s ease both !important;
}

html[data-motion="reduced"] * {
  transition-duration: 0.01s !important;
}

@media (prefers-reduced-motion: reduce) {
  .fx-spin {
    animation-duration: 1.8s !important;
    animation-iteration-count: infinite !important;
  }

  .fx-breath {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-pulse {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-caret {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-shimmer {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-stripe {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-glow {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-scan {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-beam {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-ring {
    animation: none !important;
    opacity: 1 !important;
  }

  .fx-rise {
    animation-duration: 0.01s !important;
  }

  .fx-pop {
    animation-duration: 0.01s !important;
  }

  .fx-fade {
    animation-duration: 0.01s !important;
  }

  .fx-reveal {
    animation-duration: 0.01s !important;
  }

  .fx-word {
    animation-duration: 0.01s !important;
  }

  .fx-shake {
    animation-duration: 0.01s !important;
  }

  .fx-odo {
    animation-duration: 0.01s !important;
  }

  .fx-toast-out {
    animation-duration: 0.01s !important;
  }

  [data-theme="6a"] .fx-reveal {
    animation: kFade 0.01s ease both !important;
  }

  * {
    transition-duration: 0.01s !important;
  }
}
