/* Generated by npm run build. Edit src/styles/components/performance.css. */
/* Rendering hints stay on leaves/visible surfaces, never body/main/overlay roots.
   Glass, shadows, textures and 3D geometry retain their existing theme values. */
body :is(.opt-content, .config-option-btn, .unboxing-stage) {
  transform: translateZ(0);
}
body :is(.spec-modal, .legal-modal, .modal-glass-card, .admin-modal-card, .cma-panel) {
  translate: 0 0 0;
}
@media (min-width: 993px) {
  body .collect-summary-panel:not(.cm-drawer),
  body .cart-summary-section {
    transform: translateZ(0);
    will-change: transform;
  }
}
@media (prefers-reduced-motion: no-preference) {
  body :is(.opt-content, .config-option-btn):is(:hover, :focus-within),
  .spec-modal-overlay.is-open .spec-modal,
  .legal-modal-overlay.is-open .legal-modal,
  .admin-modal-backdrop.show .admin-modal-card,
  .cma-root.is-open .cma-panel {
    will-change: transform, opacity;
  }
}
/* Pause offscreen/hidden-tab levitation and release its temporary layer hints. */
body .cm-motion-paused,
body .cm-motion-paused * {
  animation-play-state: paused !important;
  will-change: auto !important;
}
html.cm-tab-hidden *,
html.cm-tab-hidden *::before,
html.cm-tab-hidden *::after,
body .cma-root:not(.is-open) .cma-panel *,
body .spec-modal-overlay:not(.is-open) .spec-modal * {
  animation-play-state: paused !important;
  will-change: auto !important;
}
/* Preserve the neon hover bloom by fading a prepainted shadow layer. */
body.atelier-configurator .opt-content::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  box-shadow:
    0 0 24px var(--glow),
    inset 0 1px 0 var(--glass-highlight);
  transition: opacity 0.25s ease;
}
body.atelier-configurator .collect-opt-label:hover .opt-content::after {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  body
    :is(
      .opt-content,
      .config-option-btn,
      .unboxing-stage,
      .collect-summary-panel,
      .cma-panel,
      .spec-modal,
      .admin-modal-card
    ) {
    will-change: auto !important;
  }
  body .opt-content::after {
    transition: none;
  }
}
