/* PhoneMen Design Lab — Aurora library (1:1 from aurora-demo.html, transcript-recovered) */

.pm-lab-aurora.pm-lab-aurora--viewport {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: 100%;
  height: 100dvh;
  z-index: 0;
  contain: none;
  pointer-events: none;
}

.pm-lab-aurora.is-disabled {
  opacity: 0;
  visibility: hidden;
}

.pm-lab-aurora .repair-focus-scene {
  position: absolute;
  inset: 0;
  z-index: 0;
}

body.pm-design-lab.is-aurora-lab .pm-lab-aurora:not(.is-disabled) .repair-focus-scene {
  opacity: 1;
  visibility: visible;
}

.pm-lab-aurora--viewport .repair-focus-scene {
  position: absolute;
  inset: 0;
}

.pm-aurora-preview-scene .repair-focus-scene {
  position: absolute;
  inset: 0;
}


    :root {
      --blue: #075cff;
      --blue-deep: #0047cc;
      --ice: #e9f1ff;
      --ink: #05070b;
      --focus-x: 50%;
      --focus-y: 42%;
      --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
      --ease-bloom: cubic-bezier(0.18, 0.9, 0.24, 1);
    }



      font-family: Inter, ui-sans-serif, system-ui, sans-serif;
      background: #fff;
      color: var(--ink);
    }

      position: relative;
      min-height: 100%;
      display: grid;
      grid-template-rows: auto 1fr auto;
      background: #fff;
    }

      position: relative;
      min-height: 0;
      overflow: hidden;
    }

      position: relative;
      z-index: 10;
      height: 100%;
      overflow: auto;
      padding: 8px 0 20px;
      pointer-events: auto;
    }

      padding-top: 8px;
      margin-bottom: 0;
    }

      pointer-events: auto;
    }

      margin: 0 22px 10px;
      color: #6a7688;
      font-size: 0.84rem;
    }

      position: relative;
      z-index: 20;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 18px 22px;
      border-bottom: 1px solid #e8eef8;
      background: rgba(255, 255, 255, 0.96);
    }



      margin: 0;
      color: #6a7688;
      font-size: 0.82rem;
      line-height: 1.4;
      max-width: 36rem;
    }


      border: 1px solid #d5e1f8;
      border-radius: 999px;
      padding: 8px 14px;
      background: #fff;
      color: #4f5d72;
      font: inherit;
      font-size: 0.84rem;
      font-weight: 600;
      cursor: pointer;
      transition: border-color 0.2s, color 0.2s, background 0.2s;
    }


    .page-aurora-demo .repair-focus-scene { z-index: 2; }

      position: relative;
      z-index: 20;
      display: grid;
      justify-items: center;
      gap: 8px;
      padding: 22px;
      border-top: 1px solid #e8eef8;
      background: rgba(255, 255, 255, 0.96);
    }


      min-width: 148px;
      border: 0;
      border-radius: 999px;
      padding: 14px 28px;
      background: var(--blue);
      color: #fff;
      font: inherit;
      font-size: 0.95rem;
      font-weight: 700;
      cursor: pointer;
      box-shadow: 0 10px 28px rgba(7, 92, 255, 0.22);
      transition: transform 0.15s, opacity 0.15s, background 0.15s;
    }


    .fx { position: absolute; pointer-events: none; }

    body.pm-design-lab.is-repair-focus .fx-run { animation-play-state: running; }

    /* ── V2 · Atmen: kein Spin – Herzschlag aus der Mitte ── */

    body.pm-design-lab[data-aurora-variant="v2"] .repair-focus-bloom {
      background: radial-gradient(circle, rgba(255,255,255,0.45) 0%, rgba(7,92,255,0.28) 22%, rgba(0,71,204,0.14) 42%, transparent 68%);
      animation: v2BloomBeat 4.2s ease-in-out infinite paused;
    }

    body.pm-design-lab.is-repair-focus[data-aurora-variant="v2"] .repair-focus-bloom { animation-play-state: running; }

    body.pm-design-lab[data-aurora-variant="v2"] .repair-focus-veil {
      background: radial-gradient(circle at var(--repair-focus-x, 50%) var(--repair-focus-y, 42%), rgba(7,92,255,0.18) 0%, rgba(233,241,255,0.08) 38%, transparent 68%);
      animation: v2VeilBeat 4.2s ease-in-out infinite paused;
    }

    body.pm-design-lab.is-repair-focus[data-aurora-variant="v2"] .repair-focus-veil { animation-play-state: running; }

    body.pm-design-lab[data-aurora-variant="v2"] .v2-ring {
      left: var(--repair-focus-x, 50%);
      top: var(--repair-focus-y, 42%);
      width: 70vmin;
      height: 70vmin;
      margin: -35vmin 0 0 -35vmin;
      border-radius: 50%;
      border: 2px solid rgba(7,92,255,0.18);
      filter: blur(2px);
      opacity: 0;
      animation: v2RingExpand 4.2s ease-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v2"] .v2-ring-2 { animation-delay: -2.1s; border-color: rgba(233,241,255,0.35); }

    body.pm-design-lab[data-aurora-variant="v2"] .v2-lung {
      left: var(--repair-focus-x, 50%);
      top: var(--repair-focus-y, 42%);
      border-radius: 50%;
      filter: blur(70px);
      transform: translate(-50%, -50%);
    }

    body.pm-design-lab[data-aurora-variant="v2"] .v2-lung-a {
      width: 46vmin; height: 46vmin;
      background: radial-gradient(circle, rgba(7,92,255,0.5) 0%, rgba(7,92,255,0.12) 55%, transparent 78%);
      animation: v2LungA 4.2s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v2"] .v2-lung-b {
      width: 34vmin; height: 34vmin;
      background: radial-gradient(circle, rgba(255,255,255,0.55) 0%, rgba(233,241,255,0.2) 50%, transparent 78%);
      animation: v2LungB 4.2s ease-in-out infinite -0.4s paused;
    }

    /* ── V3 · Wellen: horizontale Lichtvorhänge, keine Kreise ── */

    body.pm-design-lab[data-aurora-variant="v3"] .repair-focus-bloom {
      opacity: 0.35;
      background: radial-gradient(ellipse 140% 60% at 50% 45%, rgba(233,241,255,0.25) 0%, rgba(7,92,255,0.08) 50%, transparent 78%);
      transform: scale(1.2);
    }

    body.pm-design-lab.is-repair-focus[data-aurora-variant="v3"] .repair-focus-bloom,
    body.pm-design-lab.is-repair-focus-enter[data-aurora-variant="v3"] .repair-focus-bloom { transform: scale(1.2); opacity: 0.35; }

    body.pm-design-lab[data-aurora-variant="v3"] .repair-focus-veil {
      background: linear-gradient(180deg, rgba(246,249,255,0.35) 0%, rgba(7,92,255,0.04) 55%, rgba(246,249,255,0.2) 100%);
    }

    body.pm-design-lab[data-aurora-variant="v3"] .v3-wave {
      left: -25%;
      width: 150%;
      height: 22%;
      filter: blur(36px);
      opacity: 0.55;
    }

    body.pm-design-lab[data-aurora-variant="v3"] .v3-wave-1 {
      top: 18%;
      background: linear-gradient(90deg, transparent 0%, rgba(7,92,255,0.28) 18%, rgba(233,241,255,0.22) 45%, rgba(0,71,204,0.2) 72%, transparent 100%);
      border-radius: 46% 54% 60% 40% / 55% 45% 58% 42%;
      animation: v3WaveMoveA 7s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v3"] .v3-wave-2 {
      top: 38%;
      height: 26%;
      background: linear-gradient(90deg, transparent 0%, rgba(233,241,255,0.3) 22%, rgba(7,92,255,0.22) 52%, rgba(255,255,255,0.18) 78%, transparent 100%);
      border-radius: 58% 42% 48% 52% / 42% 58% 44% 56%;
      animation: v3WaveMoveB 9s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v3"] .v3-wave-3 {
      top: 58%;
      height: 20%;
      background: linear-gradient(90deg, transparent 0%, rgba(0,71,204,0.22) 25%, rgba(7,92,255,0.18) 55%, rgba(233,241,255,0.2) 80%, transparent 100%);
      border-radius: 52% 48% 44% 56% / 60% 40% 52% 48%;
      animation: v3WaveMoveC 8s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v3"] .v3-wave-4 {
      top: 72%;
      height: 16%;
      opacity: 0.38;
      background: linear-gradient(90deg, transparent, rgba(7,92,255,0.16) 40%, rgba(233,241,255,0.14) 65%, transparent);
      border-radius: 40% 60% 55% 45% / 50% 50% 50% 50%;
      animation: v3WaveMoveA 10s ease-in-out infinite reverse paused;
    }

    /* ── V4 · Schimmer: diagonale Lichtstreifen ── */

    body.pm-design-lab[data-aurora-variant="v4"] .repair-focus-bloom {
      background: radial-gradient(circle, rgba(7,92,255,0.12) 0%, rgba(233,241,255,0.06) 40%, transparent 70%);
      opacity: 0.7;
    }

    body.pm-design-lab[data-aurora-variant="v4"] .repair-focus-veil {
      background: linear-gradient(135deg, rgba(246,249,255,0.15) 0%, rgba(7,92,255,0.06) 50%, rgba(246,249,255,0.12) 100%);
    }

    body.pm-design-lab[data-aurora-variant="v4"] .v4-mist {
      width: 60%; height: 60%; top: 20%; left: 20%;
      border-radius: 50%;
      filter: blur(90px);
      background: radial-gradient(circle, rgba(0,71,204,0.14) 0%, transparent 70%);
      opacity: 0.5;
    }

    body.pm-design-lab[data-aurora-variant="v4"] .v4-beam {
      width: 180%;
      height: 14%;
      left: -40%;
      filter: blur(18px);
      transform-origin: center;
      background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.05) 30%, rgba(255,255,255,0.55) 48%, rgba(7,92,255,0.35) 52%, rgba(255,255,255,0.45) 56%, rgba(255,255,255,0.05) 72%, transparent 100%);
      mix-blend-mode: screen;
    }

    body.pm-design-lab[data-aurora-variant="v4"] .v4-beam-1 {
      top: 28%;
      transform: rotate(-18deg);
      animation: v4BeamSweep1 5.5s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v4"] .v4-beam-2 {
      top: 52%;
      height: 10%;
      transform: rotate(14deg);
      animation: v4BeamSweep2 6.8s ease-in-out infinite -2s paused;
    }

    body.pm-design-lab[data-aurora-variant="v4"] .v4-beam-3 {
      top: 68%;
      height: 8%;
      opacity: 0.7;
      transform: rotate(-8deg);
      animation: v4BeamSweep3 7.5s ease-in-out infinite -4s paused;
    }

    body.pm-design-lab[data-aurora-variant="v4"] .v4-halo {
      left: var(--repair-focus-x, 50%);
      top: var(--repair-focus-y, 42%);
      width: 80vmin;
      height: 50vmin;
      margin: -25vmin 0 0 -40vmin;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.25);
      box-shadow: 0 0 40px rgba(7,92,255,0.15), inset 0 0 30px rgba(233,241,255,0.1);
      opacity: 0.5;
      animation: v4HaloSpin 14s linear infinite paused;
    }

    /* ── V5 · Licht: viele helle Funken, weit verteilt ── */

    body.pm-design-lab[data-aurora-variant="v5"] .repair-focus-bloom {
      background: radial-gradient(circle, rgba(255,255,255,0.55) 0%, rgba(233,241,255,0.3) 20%, rgba(7,92,255,0.12) 45%, transparent 72%);
    }

    body.pm-design-lab[data-aurora-variant="v5"] .repair-focus-veil {
      background:
        radial-gradient(ellipse 90% 70% at 30% 35%, rgba(255,255,255,0.2) 0%, transparent 60%),
        radial-gradient(ellipse 80% 60% at 72% 62%, rgba(233,241,255,0.18) 0%, transparent 58%),
        linear-gradient(180deg, rgba(255,255,255,0.25) 0%, rgba(246,249,255,0.1) 100%);
    }

    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark {
      border-radius: 50%;
      filter: blur(28px);
      background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(7,92,255,0.35) 35%, transparent 72%);
    }

    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark-1 { width: 12vmin; height: 12vmin; top: 12%; left: 18%; animation: v5Float1 11s ease-in-out infinite paused; }
    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark-2 { width: 9vmin; height: 9vmin; top: 22%; right: 14%; animation: v5Float2 9s ease-in-out infinite -1s paused; }
    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark-3 { width: 14vmin; height: 14vmin; top: 48%; left: 8%; animation: v5Float3 13s ease-in-out infinite -3s paused; }
    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark-4 { width: 10vmin; height: 10vmin; top: 55%; right: 20%; animation: v5Float4 10s ease-in-out infinite -2s paused; }
    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark-5 { width: 16vmin; height: 16vmin; bottom: 14%; left: 38%; animation: v5Float5 12s ease-in-out infinite -4s paused; }
    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark-6 { width: 8vmin; height: 8vmin; top: 35%; left: 48%; animation: v5Float6 8s ease-in-out infinite -1.5s paused; }
    body.pm-design-lab[data-aurora-variant="v5"] .v5-spark-7 { width: 11vmin; height: 11vmin; bottom: 28%; right: 32%; animation: v5Float2 11s ease-in-out infinite -5s paused; }

    body.pm-design-lab[data-aurora-variant="v5"] .v5-glow-core {
      left: var(--repair-focus-x, 50%);
      top: var(--repair-focus-y, 42%);
      width: 28vmin;
      height: 28vmin;
      margin: -14vmin 0 0 -14vmin;
      border-radius: 50%;
      filter: blur(40px);
      background: radial-gradient(circle, rgba(255,255,255,0.75) 0%, rgba(7,92,255,0.2) 50%, transparent 78%);
      animation: v5CorePulse 3.5s ease-in-out infinite paused;
    }

    /* ── V6 · Komplett: Atmen + Wellen + Licht ── */

    body.pm-design-lab[data-aurora-variant="v6"] .repair-focus-bloom {
      background: radial-gradient(circle, rgba(255,255,255,0.48) 0%, rgba(233,241,255,0.28) 18%, rgba(7,92,255,0.2) 38%, rgba(0,71,204,0.1) 55%, transparent 72%);
      animation: v2BloomBeat 4.6s ease-in-out infinite paused;
    }

    body.pm-design-lab.is-repair-focus[data-aurora-variant="v6"] .repair-focus-bloom { animation-play-state: running; }

    body.pm-design-lab[data-aurora-variant="v6"] .repair-focus-veil {
      background:
        radial-gradient(ellipse 90% 70% at 28% 34%, rgba(255,255,255,0.14) 0%, transparent 58%),
        radial-gradient(ellipse 80% 60% at 74% 64%, rgba(233,241,255,0.12) 0%, transparent 56%),
        radial-gradient(circle at var(--repair-focus-x, 50%) var(--repair-focus-y, 42%), rgba(7,92,255,0.14) 0%, rgba(233,241,255,0.06) 40%, transparent 68%),
        linear-gradient(180deg, rgba(255,255,255,0.2) 0%, rgba(246,249,255,0.08) 100%);
      animation: v2VeilBeat 4.6s ease-in-out infinite paused;
    }

    body.pm-design-lab.is-repair-focus[data-aurora-variant="v6"] .repair-focus-veil { animation-play-state: running; }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-wave {
      left: -25%;
      width: 150%;
      height: 20%;
      filter: blur(34px);
      opacity: 0.42;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-wave-1 {
      top: 20%;
      background: linear-gradient(90deg, transparent 0%, rgba(7,92,255,0.22) 20%, rgba(233,241,255,0.18) 48%, rgba(0,71,204,0.16) 74%, transparent 100%);
      border-radius: 46% 54% 60% 40% / 55% 45% 58% 42%;
      animation: v3WaveMoveA 8s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-wave-2 {
      top: 42%;
      height: 24%;
      background: linear-gradient(90deg, transparent 0%, rgba(233,241,255,0.24) 24%, rgba(7,92,255,0.18) 54%, rgba(255,255,255,0.14) 78%, transparent 100%);
      border-radius: 58% 42% 48% 52% / 42% 58% 44% 56%;
      animation: v3WaveMoveB 10s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-wave-3 {
      top: 64%;
      height: 18%;
      opacity: 0.34;
      background: linear-gradient(90deg, transparent, rgba(0,71,204,0.18) 30%, rgba(7,92,255,0.14) 58%, rgba(233,241,255,0.16) 82%, transparent);
      border-radius: 52% 48% 44% 56% / 60% 40% 52% 48%;
      animation: v3WaveMoveC 9s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-ring {
      left: var(--repair-focus-x, 50%);
      top: var(--repair-focus-y, 42%);
      width: 68vmin;
      height: 68vmin;
      margin: -34vmin 0 0 -34vmin;
      border-radius: 50%;
      border: 2px solid rgba(7,92,255,0.14);
      filter: blur(2px);
      opacity: 0;
      animation: v2RingExpand 4.6s ease-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-ring-2 { animation-delay: -2.3s; border-color: rgba(233,241,255,0.28); }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-lung {
      left: var(--repair-focus-x, 50%);
      top: var(--repair-focus-y, 42%);
      border-radius: 50%;
      filter: blur(68px);
      transform: translate(-50%, -50%);
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-lung-a {
      width: 40vmin;
      height: 40vmin;
      background: radial-gradient(circle, rgba(7,92,255,0.38) 0%, rgba(7,92,255,0.1) 55%, transparent 78%);
      animation: v2LungA 4.6s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-lung-b {
      width: 30vmin;
      height: 30vmin;
      background: radial-gradient(circle, rgba(255,255,255,0.45) 0%, rgba(233,241,255,0.16) 50%, transparent 78%);
      animation: v2LungB 4.6s ease-in-out infinite -0.4s paused;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-glow-core {
      left: var(--repair-focus-x, 50%);
      top: var(--repair-focus-y, 42%);
      width: 24vmin;
      height: 24vmin;
      margin: -12vmin 0 0 -12vmin;
      border-radius: 50%;
      filter: blur(36px);
      background: radial-gradient(circle, rgba(255,255,255,0.7) 0%, rgba(7,92,255,0.18) 50%, transparent 78%);
      animation: v5CorePulse 3.8s ease-in-out infinite paused;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-spark {
      border-radius: 50%;
      filter: blur(24px);
      background: radial-gradient(circle, rgba(255,255,255,0.85) 0%, rgba(7,92,255,0.28) 38%, transparent 72%);
      opacity: 0.75;
    }

    body.pm-design-lab[data-aurora-variant="v6"] .v6-spark-1 { width: 10vmin; height: 10vmin; top: 14%; left: 16%; animation: v5Float1 12s ease-in-out infinite paused; }
    body.pm-design-lab[data-aurora-variant="v6"] .v6-spark-2 { width: 8vmin; height: 8vmin; top: 24%; right: 12%; animation: v5Float2 10s ease-in-out infinite -1.2s paused; }
    body.pm-design-lab[data-aurora-variant="v6"] .v6-spark-3 { width: 11vmin; height: 11vmin; top: 52%; left: 10%; animation: v5Float3 13s ease-in-out infinite -2.8s paused; }
    body.pm-design-lab[data-aurora-variant="v6"] .v6-spark-4 { width: 9vmin; height: 9vmin; top: 58%; right: 18%; animation: v5Float4 11s ease-in-out infinite -1.8s paused; }
    body.pm-design-lab[data-aurora-variant="v6"] .v6-spark-5 { width: 12vmin; height: 12vmin; bottom: 16%; left: 42%; animation: v5Float5 12s ease-in-out infinite -3.6s paused; }
    body.pm-design-lab[data-aurora-variant="v6"] .v6-spark-6 { width: 7vmin; height: 7vmin; bottom: 30%; right: 28%; animation: v5Float6 9s ease-in-out infinite -2.2s paused; }

    /* ── Keyframes ── */

    @keyframes v1Spin { to { transform: rotate(360deg); } }

    @keyframes v1DriftA {
      0%, 100% { transform: translate3d(0,0,0) scale(1); }
      50% { transform: translate3d(4%, -3%, 0) scale(1.08); }
    }

    @keyframes v1DriftB {
      0%, 100% { transform: translate3d(0,0,0); }
      50% { transform: translate3d(-5%, 4%, 0) scale(1.05); }
    }

    @keyframes v1DriftC {
      0%, 100% { transform: translate3d(0,0,0); }
      50% { transform: translate3d(3%, 5%, 0) scale(0.94); }
    }

    @keyframes v2BloomBeat {
      0%, 100% { transform: scale(0.92); opacity: 0.65; }
      45% { transform: scale(1.22); opacity: 1; }
      55% { transform: scale(1.18); opacity: 0.95; }
    }

    @keyframes v2VeilBeat {
      0%, 100% { opacity: 0.55; }
      45% { opacity: 1; }
    }

    @keyframes v2RingExpand {
      0% { transform: scale(0.35); opacity: 0.55; }
      70% { opacity: 0.12; }
      100% { transform: scale(1.35); opacity: 0; }
    }

    @keyframes v2LungA {
      0%, 100% { transform: translate(-50%, -50%) scale(0.78); opacity: 0.45; }
      45% { transform: translate(-50%, -50%) scale(1.18); opacity: 0.85; }
    }

    @keyframes v2LungB {
      0%, 100% { transform: translate(-50%, -50%) scale(0.65); opacity: 0.3; }
      45% { transform: translate(-50%, -50%) scale(1.05); opacity: 0.7; }
    }

    @keyframes v3WaveMoveA {
      0%, 100% { transform: translate3d(-6%, 0, 0) skewX(-3deg); border-radius: 46% 54% 60% 40% / 55% 45% 58% 42%; }
      50% { transform: translate3d(8%, -3%, 0) skewX(4deg); border-radius: 58% 42% 46% 54% / 42% 58% 50% 50%; }
    }

    @keyframes v3WaveMoveB {
      0%, 100% { transform: translate3d(5%, 2%, 0) skewX(2deg); }
      50% { transform: translate3d(-9%, -2%, 0) skewX(-5deg); }
    }

    @keyframes v3WaveMoveC {
      0%, 100% { transform: translate3d(-4%, 0, 0); }
      33% { transform: translate3d(7%, 3%, 0); }
      66% { transform: translate3d(-2%, -4%, 0); }
    }

    @keyframes v4BeamSweep1 {
      0%, 100% { transform: rotate(-18deg) translateX(-18%); opacity: 0; }
      20% { opacity: 0; }
      45% { transform: rotate(-18deg) translateX(22%); opacity: 1; }
      70% { opacity: 0; }
    }

    @keyframes v4BeamSweep2 {
      0%, 100% { transform: rotate(14deg) translateX(15%); opacity: 0; }
      25% { opacity: 0.8; }
      55% { transform: rotate(14deg) translateX(-20%); opacity: 0.9; }
      80% { opacity: 0; }
    }

    @keyframes v4BeamSweep3 {
      0%, 100% { transform: rotate(-8deg) translateX(-12%); opacity: 0; }
      40% { transform: rotate(-8deg) translateX(18%); opacity: 0.65; }
      65% { opacity: 0; }
    }

    @keyframes v4HaloSpin {
      to { transform: rotate(360deg) scale(1.04); }
    }

    @keyframes v5Float1 {
      0%, 100% { transform: translate3d(0,0,0); opacity: 0.55; }
      50% { transform: translate3d(12%, -8%, 0); opacity: 0.95; }
    }

    @keyframes v5Float2 {
      0%, 100% { transform: translate3d(0,0,0); opacity: 0.5; }
      50% { transform: translate3d(-14%, 10%, 0); opacity: 0.9; }
    }

    @keyframes v5Float3 {
      0%, 100% { transform: translate3d(0,0,0); }
      33% { transform: translate3d(10%, 6%, 0); }
      66% { transform: translate3d(-6%, -8%, 0); }
    }

    @keyframes v5Float4 {
      0%, 100% { transform: translate3d(0,0,0); opacity: 0.6; }
      50% { transform: translate3d(-10%, -12%, 0); opacity: 1; }
    }

    @keyframes v5Float5 {
      0%, 100% { transform: translate3d(0,0,0); }
      50% { transform: translate3d(8%, -10%, 0) scale(1.15); }
    }

    @keyframes v5Float6 {
      0%, 100% { transform: translate3d(0,0,0); opacity: 0.7; }
      50% { transform: translate3d(-8%, 12%, 0); opacity: 1; }
    }

    @keyframes v5CorePulse {
      0%, 100% { transform: scale(0.85); opacity: 0.6; }
      50% { transform: scale(1.15); opacity: 1; }
    }

    @media (prefers-reduced-motion: reduce) {
      .fx, .repair-focus-bloom, .repair-focus-veil, .focus-liquid {
        animation: none !important;
        transition-duration: 0.01ms !important;
      }
    }
  