/* R24.151 — React animation layer for the existing PrintMarks portal.
   No production layout is owned by React; these are overlay-only effects. */

#pmReactMotionRoot{
  position:fixed;
  inset:0;
  width:0;
  height:0;
  z-index:2147480000;
  pointer-events:none;
}

html[data-web-theme="ai-future"] .pm-react-motion-surface,
html[data-web-theme="ai-future"] .pm-react-motion-button{
  --pm-rx:50%;
  --pm-ry:50%;
  position:relative!important;
  isolation:isolate;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}

html[data-web-theme="ai-future"] .pm-react-motion-surface{
  overflow:hidden;
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s ease,
    border-color .22s ease;
  will-change:transform;
}

html[data-web-theme="ai-future"] .pm-react-motion-button{
  overflow:hidden;
  transition:
    transform .16s cubic-bezier(.2,.8,.2,1),
    box-shadow .2s ease,
    border-color .2s ease,
    filter .2s ease;
}

html[data-web-theme="ai-future"] .pm-react-motion-button:hover{
  transform:translateY(-2px) scale(1.015);
  box-shadow:
    0 10px 28px rgba(2,8,24,.32),
    0 0 20px rgba(82,230,255,.13),
    0 0 28px rgba(128,92,255,.09);
  filter:saturate(1.06);
}

html[data-web-theme="ai-future"] .pm-react-motion-glow{
  position:absolute;
  inset:0;
  z-index:60;
  pointer-events:none;
  border-radius:inherit;
  opacity:0;
  transition:opacity .16s ease;
  background:
    radial-gradient(
      260px circle at var(--pm-rx) var(--pm-ry),
      rgba(82,230,255,.22) 0%,
      rgba(82,230,255,.11) 18%,
      rgba(126,94,255,.07) 38%,
      transparent 68%
    );
  box-shadow:
    inset 0 0 0 1px rgba(82,230,255,.10);
}

html[data-web-theme="ai-future"] .pm-react-motion-surface > .pm-react-motion-glow,
html[data-web-theme="ai-future"] .pm-react-motion-button > .pm-react-motion-glow{
  mix-blend-mode:screen;
}

html[data-web-theme="ai-future"] .pm-react-motion-surface:hover{
  box-shadow:
    0 18px 44px rgba(2,8,24,.3),
    0 0 32px rgba(82,230,255,.09),
    0 0 44px rgba(126,94,255,.07);
}

.pm-react-motion-particle{
  position:absolute;
  z-index:70;
  width:4px;
  height:4px;
  margin:-2px 0 0 -2px;
  border-radius:50%;
  pointer-events:none;
  background:#65e9ff;
  box-shadow:
    0 0 7px rgba(101,233,255,.9),
    0 0 15px rgba(139,109,255,.55);
  animation:
    pmReactParticleFloat var(--pm-duration) ease-in-out var(--pm-delay) infinite alternate,
    pmReactParticlePulse 1.25s ease-in-out var(--pm-delay) infinite alternate;
}

@keyframes pmReactParticleFloat{
  from{transform:translate3d(0,0,0) scale(.72)}
  to{transform:translate3d(var(--pm-dx),var(--pm-dy),0) scale(1.16)}
}
@keyframes pmReactParticlePulse{
  from{opacity:.22}
  to{opacity:1}
}

.pm-react-motion-ripple{
  position:absolute;
  z-index:65;
  width:28px;
  height:28px;
  margin:-14px 0 0 -14px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle,
      rgba(82,230,255,.38) 0%,
      rgba(103,113,255,.20) 38%,
      rgba(139,92,246,.08) 58%,
      transparent 72%);
  animation:pmReactRipple .7s ease-out forwards;
}
@keyframes pmReactRipple{
  from{transform:scale(.25);opacity:.9}
  to{transform:scale(12);opacity:0}
}

.pm-react-motion-spotlight{
  position:fixed;
  left:0;
  top:0;
  width:720px;
  height:720px;
  margin:-360px 0 0 -360px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  z-index:2147480001;
  mix-blend-mode:screen;
  background:
    radial-gradient(circle,
      rgba(82,230,255,.11) 0%,
      rgba(83,151,255,.065) 20%,
      rgba(139,92,246,.035) 38%,
      transparent 70%);
  transition:opacity .16s ease;
  will-change:left,top,opacity;
}

html:not([data-web-theme="ai-future"]) .pm-react-motion-glow,
html:not([data-web-theme="ai-future"]) .pm-react-motion-particle,
html:not([data-web-theme="ai-future"]) .pm-react-motion-ripple,
html:not([data-web-theme="ai-future"]) .pm-react-motion-spotlight{
  display:none!important;
}

@media (max-width:768px), (pointer:coarse), (prefers-reduced-motion:reduce){
  .pm-react-motion-spotlight,
  .pm-react-motion-particle{
    display:none!important;
  }

  html[data-web-theme="ai-future"] .pm-react-motion-surface,
  html[data-web-theme="ai-future"] .pm-react-motion-button{
    transform:none!important;
    will-change:auto!important;
  }

  html[data-web-theme="ai-future"] .pm-react-motion-button:hover{
    transform:none!important;
  }

  html[data-web-theme="ai-future"] .pm-react-motion-glow{
    background:
      radial-gradient(
        180px circle at 50% 50%,
        rgba(82,230,255,.08),
        rgba(126,94,255,.04) 42%,
        transparent 70%);
  }
}