/* Shared DynamicVibe film-gate cursor for standalone tool pages. */
@media (pointer: fine) {
  html.dvp-cinematic-cursor,
  html.dvp-cinematic-cursor * {
    cursor: none !important;
  }
}

#dvp-cursor.dvp-film-cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99997;
  width: 34px;
  height: 34px;
  pointer-events: none;
  border: 1px solid rgba(246, 234, 214, .74);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(215,169,69,.28) 0 1px, transparent 1px calc(100% - 1px), rgba(215,169,69,.28) calc(100% - 1px)),
    linear-gradient(180deg, rgba(215,169,69,.24) 0 1px, transparent 1px calc(100% - 1px), rgba(215,169,69,.24) calc(100% - 1px)),
    rgba(3, 5, 8, .1);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, .44),
    0 0 22px rgba(255, 115, 56, .18),
    inset 0 0 16px rgba(246, 234, 214, .06);
  transform: translate3d(-100px, -100px, 0) translate(-50%, -50%);
  transition: width .2s ease, height .2s ease, border-color .2s ease, background .2s ease, border-radius .2s ease;
  will-change: transform;
}

#dvp-cursor.dvp-film-cursor::before {
  content: "";
  position: absolute;
  width: 3px;
  height: 3px;
  left: 6px;
  top: 6px;
  border-radius: 50%;
  background: rgba(215, 169, 69, .99);
  box-shadow: 19px 0 0 rgba(215, 169, 69, .79), 0 19px 0 rgba(215, 169, 69, .79), 19px 19px 0 rgba(215, 169, 69, .99);
}

#dvp-cursor.dvp-film-cursor::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(246, 234, 214, .8);
  border-bottom: 1px solid rgba(246, 234, 214, .8);
  transform: translate(-64%, -50%) rotate(-45deg);
}

#dvp-cursor-dot.dvp-film-cursor-dot {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99998;
  width: 4px;
  height: 4px;
  pointer-events: none;
  border-radius: 50%;
  background: rgba(255, 115, 56, .95);
  box-shadow: 0 0 14px rgba(255, 115, 56, .68);
  transform: translate(-50%, -50%);
}

#dvp-cursor.dvp-film-cursor.c-hover {
  width: 52px;
  height: 52px;
  border-color: rgba(57, 245, 212, .82);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(57,245,212,.2) 0 1px, transparent 1px calc(100% - 1px), rgba(57,245,212,.2) calc(100% - 1px)),
    linear-gradient(180deg, rgba(57,245,212,.2) 0 1px, transparent 1px calc(100% - 1px), rgba(57,245,212,.2) calc(100% - 1px)),
    rgba(57, 245, 212, .055);
}
