

[data-fm-root] {
  --fm-ease: ease-in-out; 
  --fm-t-ui: 0.3s;                           
  --fm-t-fade: 0.6s;                         
}

[data-fm-root] [data-fm-state="wait"] { opacity: 0; }
[data-fm-root] [data-fm-state="done"] { transition: opacity var(--fm-t-fade) var(--fm-ease); }

[data-fm-intro="wait"] [data-fm-fv] { opacity: 0; }
[data-fm-intro="run"] [data-fm-fv] { transition: opacity var(--fm-t-fade) var(--fm-ease); }

[data-fm-gallery-prev], [data-fm-gallery-next] { transition: opacity 0.2s var(--fm-ease); }
[data-fm-gallery-prev]:disabled, [data-fm-gallery-next]:disabled { opacity: 0; pointer-events: none; }

video[data-fm-video] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.6s var(--fm-ease); }
video[data-fm-video][data-fm-on] { opacity: 1; }
[data-fm-fv="photo"][data-fm-off] { opacity: 0; }

[data-fm-colpick] { position: relative; }
[data-fm-colpick-bar] {
  position: absolute; top: 0; left: 0; z-index: 1; width: 1px; height: 1px; pointer-events: none;
  background: var(--fm-gold, #C9A36B); opacity: 0;
  transform-origin: 0 0; transform: translateX(var(--fm-colx, 0px)) scaleX(var(--fm-cols, 0));
}
[data-fm-colpick][data-fm-col] > [data-fm-colpick-bar] { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  [data-fm-root] [data-fm-state], [data-fm-intro] [data-fm-fv] { transition: none; }
  [data-fm-gallery-prev], [data-fm-gallery-next], video[data-fm-video] { transition: none; }
}

@media print {
  [data-fm-root] [data-fm-state="wait"], [data-fm-root] [data-fm-state="done"], [data-fm-intro] [data-fm-fv] { opacity: 1 !important; transition: none !important; }
}
