/* MeerHeimatLiebe 2.5.2-r60
   Dezenter maritimer Mauszeiger fuer Desktop-Geraete mit feinem Zeiger.
   Touch, Stift, Eingabefelder und reduzierte Bewegung bleiben barrierearm. */

.mhl-maritime-cursor-layer {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}

.mhl-maritime-cursor {
  --mhl-cursor-scale: 1;
  --mhl-cursor-opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: var(--mhl-cursor-opacity);
  transform: translate3d(-80px, -80px, 0);
  transition: opacity 150ms ease;
  will-change: transform, opacity;
}

.mhl-maritime-cursor__point {
  position: absolute;
  left: -2px;
  top: -2px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: rgba(248, 229, 159, .96);
  box-shadow:
    0 0 0 1px rgba(3, 31, 46, .9),
    0 0 8px rgba(112, 231, 244, .74);
}

.mhl-maritime-cursor__badge {
  position: absolute;
  left: 7px;
  top: 7px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(141, 231, 241, .36);
  border-radius: 50%;
  color: #ffe08a;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.17), transparent 35%),
    linear-gradient(145deg, rgba(8, 67, 86, .92), rgba(2, 27, 42, .94));
  box-shadow:
    0 7px 18px rgba(0, 10, 18, .28),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 16px rgba(88, 216, 234, .13);
  transform: scale(var(--mhl-cursor-scale));
  transform-origin: 50% 50%;
  transition:
    transform 130ms cubic-bezier(.2,.8,.2,1),
    border-color 130ms ease,
    box-shadow 130ms ease,
    background 130ms ease;
  backdrop-filter: blur(6px) saturate(125%);
  -webkit-backdrop-filter: blur(6px) saturate(125%);
}

.mhl-maritime-cursor__icon {
  width: 23px;
  height: 23px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
}

.mhl-maritime-cursor.is-interactive {
  --mhl-cursor-scale: 1.14;
}

.mhl-maritime-cursor.is-interactive .mhl-maritime-cursor__badge {
  border-color: rgba(255, 218, 112, .66);
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.2), transparent 36%),
    linear-gradient(145deg, rgba(10, 83, 102, .96), rgba(3, 37, 53, .96));
  box-shadow:
    0 8px 22px rgba(0, 10, 18, .34),
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 0 22px rgba(100, 225, 239, .22);
}

.mhl-maritime-cursor.is-pressed {
  --mhl-cursor-scale: .88;
}

.mhl-maritime-cursor.is-hidden-for-input,
.mhl-maritime-cursor.is-outside {
  --mhl-cursor-opacity: 0 !important;
}

.mhl-maritime-cursor.is-visible {
  --mhl-cursor-opacity: 1;
}

.mhl-maritime-cursor[data-cursor-type="compass"] .mhl-maritime-cursor__icon {
  animation: mhl-cursor-compass-breathe 3.8s ease-in-out infinite;
}

.mhl-maritime-cursor[data-cursor-type="starfish"] .mhl-maritime-cursor__icon {
  color: #ffc9ae;
  animation: mhl-cursor-starfish-drift 4.8s ease-in-out infinite;
}

.mhl-maritime-cursor[data-cursor-type="sailboat"] .mhl-maritime-cursor__icon {
  animation: mhl-cursor-sailboat-bob 2.25s ease-in-out infinite;
}

.mhl-maritime-cursor[data-cursor-type="sailboat"] .mhl-cursor-sail {
  transform-origin: 12px 12px;
  animation: mhl-cursor-sail-breathe 2.25s ease-in-out infinite;
}

.mhl-maritime-cursor[data-cursor-type="anchor"] .mhl-maritime-cursor__icon {
  animation: mhl-cursor-anchor-sway 4.2s ease-in-out infinite;
}

.mhl-maritime-cursor.is-menu-flash .mhl-maritime-cursor__badge {
  animation: mhl-cursor-menu-blink 360ms ease-out both;
}

.mhl-maritime-cursor.is-menu-flash .mhl-maritime-cursor__point {
  animation: mhl-cursor-point-blink 360ms ease-out both;
}

.mhl-maritime-cursor-burst {
  position: fixed;
  left: 0;
  top: 0;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border: 1px solid rgba(255, 224, 138, .9);
  border-radius: 50%;
  box-shadow: 0 0 14px rgba(104, 226, 241, .3);
  transform: translate3d(var(--mhl-burst-x), var(--mhl-burst-y), 0) scale(.35);
  opacity: 0;
  animation: mhl-cursor-burst 420ms cubic-bezier(.16,.8,.26,1) both;
}

@keyframes mhl-cursor-compass-breathe {
  0%, 100% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(3deg) scale(1.035); }
}

@keyframes mhl-cursor-starfish-drift {
  0%, 100% { transform: rotate(-8deg) scale(1); }
  50% { transform: rotate(8deg) scale(1.045); }
}

@keyframes mhl-cursor-sailboat-bob {
  0%, 100% { transform: translateY(1px) rotate(-2deg); }
  50% { transform: translateY(-1.5px) rotate(2deg); }
}

@keyframes mhl-cursor-sail-breathe {
  0%, 100% { transform: skewX(0deg); }
  50% { transform: skewX(-2.5deg); }
}

@keyframes mhl-cursor-anchor-sway {
  0%, 100% { transform: rotate(-4deg); }
  50% { transform: rotate(4deg); }
}

@keyframes mhl-cursor-menu-blink {
  0% { opacity: 1; transform: scale(var(--mhl-cursor-scale)); filter: brightness(1); }
  20% { opacity: .22; transform: scale(.74); filter: brightness(1.8); }
  42% { opacity: 1; transform: scale(1.26); filter: brightness(1.35); }
  62% { opacity: .3; transform: scale(.84); filter: brightness(1.7); }
  100% { opacity: 1; transform: scale(var(--mhl-cursor-scale)); filter: brightness(1); }
}

@keyframes mhl-cursor-point-blink {
  0%, 100% { opacity: 1; }
  25%, 65% { opacity: .08; }
}

@keyframes mhl-cursor-burst {
  0% { opacity: .95; transform: translate3d(var(--mhl-burst-x), var(--mhl-burst-y), 0) scale(.35); }
  100% { opacity: 0; transform: translate3d(var(--mhl-burst-x), var(--mhl-burst-y), 0) scale(3.1); }
}

@media (hover: hover) and (pointer: fine) {
  html.mhl-maritime-cursor-enabled,
  html.mhl-maritime-cursor-enabled body,
  html.mhl-maritime-cursor-enabled a,
  html.mhl-maritime-cursor-enabled button,
  html.mhl-maritime-cursor-enabled select,
  html.mhl-maritime-cursor-enabled summary,
  html.mhl-maritime-cursor-enabled label,
  html.mhl-maritime-cursor-enabled [role="button"],
  html.mhl-maritime-cursor-enabled [role="menuitem"],
  html.mhl-maritime-cursor-enabled [tabindex]:not([tabindex="-1"]) {
    cursor: none !important;
  }

  html.mhl-maritime-cursor-enabled input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  html.mhl-maritime-cursor-enabled textarea,
  html.mhl-maritime-cursor-enabled [contenteditable="true"] {
    cursor: text !important;
  }
}




@media (prefers-reduced-motion: reduce) {
  .mhl-maritime-cursor__icon,
  .mhl-maritime-cursor .mhl-cursor-sail {
    animation: none !important;
  }

  .mhl-maritime-cursor,
  .mhl-maritime-cursor__badge {
    transition-duration: 0ms !important;
  }

  .mhl-maritime-cursor.is-menu-flash .mhl-maritime-cursor__badge {
    animation-duration: 220ms !important;
  }
}
