/* Native cursor plus a restrained elastic trail. */
.suo-page-glow { display: none; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .suo-page-glow {
    display: block;
    position: fixed;
    inset: 0;
    overflow: hidden;
    z-index: 10000;
    pointer-events: none;
    user-select: none;
    opacity: 0;
    transition: opacity 420ms ease;
  }
  .suo-page-glow.is-visible { opacity: 1; }
  .suo-pointer-thread {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
  body.dialog-open .suo-page-glow,
  body.menu-open .suo-page-glow { opacity: 0; }

  /* The independent rotate property composes with the original translate/scale. */
  .suo-tilt-host { position: relative; perspective: 1100px; }
  .suo-tilt-surface { rotate: none; transform-origin: 50% 50%; }
  .suo-tilt-surface.is-pointer-tilting { will-change: rotate; }
}
