/* A small, pointer-transparent gold sigil inspired by the 33 Mirrors concept. */
.mirror-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  display: block;
  width: 68px;
  height: 68px;
  margin: -34px 0 0 -34px;
  padding: 0;
  border: 0;
  background: none;
  color: #e8c58e;
  opacity: 0;
  pointer-events: none !important;
  user-select: none;
  isolation: isolate;
  contain: layout style;
  transition: opacity .36s ease;
  will-change: transform;
}

.mirror-cursor * { pointer-events: none !important; }
.mirror-cursor.is-visible { opacity: 1; }
.mirror-cursor svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 0 2px #1a0d03) drop-shadow(0 0 7px #d7983547);
}

.mirror-cursor__sigil {
  transform-origin: 50px 50px;
  transition: transform .3s cubic-bezier(.2, .7, .25, 1), filter .3s ease;
}
.mirror-cursor.is-interactive .mirror-cursor__sigil {
  transform: scale(1.12);
  filter: drop-shadow(0 0 2px #e6aa515e);
}
.mirror-cursor__ring { fill: none; stroke: url(#mirror-cursor-gold); }
.mirror-cursor__outer { stroke-width: 1.6; }
.mirror-cursor__inner { stroke-width: .35; opacity: .65; }
.mirror-cursor__spike { fill: url(#mirror-cursor-gold); stroke: #ffe5b27a; stroke-width: .4; }
.mirror-cursor__bead { fill: url(#mirror-cursor-gold); stroke: #ffe5b28a; stroke-width: .55; }
.mirror-cursor__axis { fill: none; stroke: #e1ac58; stroke-width: .4; opacity: .48; }
.mirror-cursor__spark { fill: #ffe6ba; filter: drop-shadow(0 0 2px #ffbd65); }
.mirror-cursor__dust { fill: #e4ad58; opacity: .55; }
.mirror-cursor__three {
  fill: url(#mirror-cursor-gold);
  stroke: #ffe5b226;
  stroke-width: .22;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 35px;
  font-weight: 400;
  text-anchor: middle;
}
.mirror-cursor__primary {
  transition: transform .23s ease, opacity .18s ease;
}
.mirror-cursor__reflection {
  opacity: 1;
}
.mirror-cursor__reflection-shape { transition: transform .23s ease, opacity .18s ease; }
.mirror-cursor__roman {
  fill: #f0d4a5;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 9px;
  letter-spacing: .15px;
  text-anchor: middle;
  opacity: 0;
  transition: opacity .2s ease;
}
.mirror-cursor.has-number.is-interactive .mirror-cursor__roman { opacity: 1; }
.mirror-cursor.has-number.is-interactive .mirror-cursor__primary {
  transform-origin: 33px 50px;
  transform: translateX(-6px) scale(.8);
}
.mirror-cursor.has-number.is-interactive .mirror-cursor__reflection-shape {
  transform-origin: 67px 50px;
  transform: translateX(6px) scale(.8);
}
.mirror-cursor.is-merging .mirror-cursor__roman { opacity: 0 !important; }
.mirror-cursor.is-merging .mirror-cursor__sigil {
  transform: scale(.94);
  filter: drop-shadow(0 0 4px #ffbe7694);
}
.mirror-cursor.is-pressed .mirror-cursor__sigil { transform: scale(.96); }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.mirror-cursor-active,
  html.mirror-cursor-active body,
  html.mirror-cursor-active body * { cursor: none !important; }
  html.mirror-cursor-active input,
  html.mirror-cursor-active textarea,
  html.mirror-cursor-active [contenteditable]:not([contenteditable='false']) { cursor: text !important; }
  html.mirror-cursor-active select,
  html.mirror-cursor-active [data-native-cursor] { cursor: auto !important; }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .mirror-cursor { display: none !important; }
}
