body.dh2026-motion {
  -webkit-tap-highlight-color: transparent;
}

body.dh2026-motion::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 99998;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(245, 158, 11, .12), transparent 28%),
    linear-gradient(135deg, rgba(6, 8, 14, .96), rgba(10, 12, 10, .9));
  opacity: 0;
  transform: scale(1.018);
  transition: opacity .42s cubic-bezier(.22, 1, .36, 1), transform .42s cubic-bezier(.22, 1, .36, 1);
}

body.dh2026-page-enter::before,
body.dh2026-page-leave::before {
  opacity: 1;
  transform: scale(1);
}

body.dh2026-motion .dh2026-clickable {
  transform: translateZ(0);
  will-change: transform, filter;
}

body.dh2026-motion .dh2026-pressed {
  transform: translateY(1px) scale(.985) translateZ(0);
  filter: brightness(1.08);
}

.dh2026-ripple {
  position: fixed;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 999px;
  pointer-events: none;
  z-index: 99997;
  background: radial-gradient(circle, rgba(251, 191, 36, .45) 0%, rgba(251, 191, 36, .18) 42%, transparent 72%);
  transform: scale(0);
  opacity: 0;
}

body.dh2026-motion .dh2026-reveal {
  opacity: 0;
  transform: translateY(14px);
}

body.dh2026-motion .dh2026-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 768px) {
  body.dh2026-motion .dh2026-reveal,
  body.dh2026-motion .dh2026-revealed {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 768px) {
  body.dh2026-motion .modal,
  body.dh2026-motion .slide-panel,
  body.dh2026-motion .chat-drawer,
  body.dh2026-motion .chat-panel,
  body.dh2026-motion .nav-drawer,
  body.dh2026-motion [data-motion-skip] {
    overscroll-behavior: contain;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dh2026-motion::before,
  .dh2026-ripple {
    display: none !important;
  }

  body.dh2026-motion .dh2026-reveal,
  body.dh2026-motion .dh2026-revealed,
  body.dh2026-motion .dh2026-pressed {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    filter: none !important;
  }
}
