/* ===== animation.css — Mehr “verbogene” Form ===== */
/* Basierend auf CodePen "Blurred animated gradients" (Farben & Grundidee),
   erweitert um Border-Radius-Morph + Squish-Rotation. */

:root{
  /* CodePen-Farben */
  --col1: hsl(20.82deg 100% 50%) /* oben */
  --col2: hsl(197.35deg 100% 50%); /* unten */
  --bg:   #071c39;

  /* Steuerung */
  --size: 750px;                               /* Basisgröße */
  --speed: 50s;                                /* Rotation + Squish */
  --morph-speed: 26s;                          /* Form-Morph */
  --easing: ease-in-out;  /* CodePen-Easing */
}

.bg{
  position: fixed;
  inset: 0;
  z-index: -2;             /* sicher hinter der Loginmaske */
  pointer-events: none;
  overflow: hidden;
  isolation: isolate;
  background: var(--bg);
}

/* Optional: dezente Vignette */
.scrim{
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(110vmax 110vmax at 50% 55%,
    rgb(0 0 0 / 0) 55%, color-mix(in srgb, var(--bg) 100%, black 0%) 100%);
}

/* Der “Blob” – jetzt mit Morph + Squish */
.bg::before{
  content:"";
  position: absolute;
  left: 50%; top: 50%;
  width: var(--size);
  height: var(--size);
  transform: translate(-50%, -50%);
  background-image: linear-gradient(hsl(20.82deg 100% 50%), hsl(197.35deg 100% 50%));
  filter: blur(calc(var(--size) / 6));
  /* Startform; wird per blob-morph weiter “verbogen” */
  border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;

  /* Kombo: Rotation+Squish + Form-Morph */
  animation:
    spin-squish  var(--speed)      var(--easing) infinite,
    blob-morph   var(--morph-speed) ease-in-out  infinite;
  will-change: transform, border-radius, filter;
}

/* Responsiv wie im Pen */
@media (min-width: 720px){
  :root{ --size: 1080px; }
}

/* === Keyframes === */

/* Rotation + sanfter Squish (non-uniform scale) für “verbogene” Anmutung */
@keyframes spin-squish{
  0%   { transform: translate(-50%, -50%) rotate(  0deg) scale(1.06, 0.94); }
  25%  { transform: translate(-50%, -50%) rotate( 90deg) scale(0.95, 1.05); }
  50%  { transform: translate(-50%, -50%) rotate(180deg) scale(1.07, 0.93); }
  75%  { transform: translate(-50%, -50%) rotate(270deg) scale(0.96, 1.04); }
  100% { transform: translate(-50%, -50%) rotate(360deg) scale(1.06, 0.94); }
}

/* Deutlichere Border-Radius-Morphs (mehr “Verbiegung”) */
@keyframes blob-morph{
  0%,
  100%{
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
  }
  20%{
    border-radius: 42% 58% 78% 22% / 28% 52% 48% 72%;
  }
  40%{
    border-radius: 65% 35% 55% 45% / 58% 32% 68% 42%;
  }
  60%{
    border-radius: 38% 62% 30% 70% / 60% 40% 60% 40%;
  }
  80%{
    border-radius: 55% 45% 68% 32% / 36% 64% 34% 66%;
  }
}

/* Bewegungsreduktion */
@media (prefers-reduced-motion: reduce){
  .bg::before{ animation: none !important; }
}
