/* =========================================================
   DESKTOP PRAKTIKI ASSISTANT
   Discrete, local-only pointer interaction. No data is stored.
========================================================= */
.pdm-helper {
  display: none;
}

@media (min-width: 1480px) and (min-height: 760px) and (pointer: fine) {
  .pdm-helper {
    position: fixed;
    right: 18px;
    bottom: 14px;
    z-index: 20;
    display: block;
    width: 196px;
    height: 154px;
    pointer-events: none;
    font-family: var(--font-login);
  }

  .pdm-helper-stage {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 190px;
    height: 142px;
    pointer-events: none;
    filter: drop-shadow(0 15px 22px rgba(3, 18, 28, .22));
    transform-origin: right bottom;
  }

  .pdm-helper-character {
    --look-x: 0px;
    --look-y: 0px;
    --helper-tilt: 0deg;
    position: absolute;
    bottom: 18px;
    display: block;
    padding: 0;
    border: 0;
    outline: 0;
    cursor: pointer;
    pointer-events: auto;
    transform: rotate(var(--helper-tilt));
    transform-origin: center bottom;
    transition: filter .18s ease, translate .18s ease, box-shadow .18s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .pdm-helper-character:hover {
    translate: 0 -4px;
    filter: brightness(1.06);
  }

  .pdm-helper-character:focus-visible {
    outline: 3px solid rgba(217, 183, 111, .9);
    outline-offset: 4px;
  }

  .pdm-helper-character--navy {
    left: 28px;
    z-index: 1;
    width: 54px;
    height: 116px;
    border-radius: 24px 24px 8px 8px;
    background: var(--pdm-navy);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
  }

  .pdm-helper-character--blue {
    left: 76px;
    z-index: 2;
    width: 50px;
    height: 91px;
    border-radius: 22px 22px 8px 8px;
    background: var(--pdm-blue);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13);
  }

  .pdm-helper-character--teal {
    left: 6px;
    z-index: 3;
    width: 98px;
    height: 69px;
    border-radius: 52px 52px 8px 8px;
    background: var(--pdm-teal);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
  }

  .pdm-helper-character--gold {
    left: 112px;
    z-index: 4;
    width: 65px;
    height: 82px;
    border-radius: 38px 38px 8px 8px;
    background: var(--pdm-gold);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28);
  }

  .pdm-helper-face {
    position: absolute;
    left: 50%;
    top: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    transform: translateX(-50%) translate(var(--look-x), var(--look-y));
    transition: opacity .18s ease;
    pointer-events: none;
  }

  .pdm-helper-character--navy .pdm-helper-face {
    top: 27px;
    gap: 16px;
  }

  .pdm-helper-character--blue .pdm-helper-face {
    top: 24px;
    gap: 12px;
  }

  .pdm-helper-character--teal .pdm-helper-face {
    top: 28px;
    gap: 17px;
  }

  .pdm-helper-character--gold .pdm-helper-face {
    top: 24px;
    gap: 13px;
  }

  .pdm-helper-eye {
    position: relative;
    width: 15px;
    height: 15px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: inset 0 -2px 0 rgba(16, 42, 67, .10);
  }

  .pdm-helper-eye--dot {
    width: 12px;
    height: 12px;
    background: rgba(255, 255, 255, .94);
  }

  .pdm-helper-pupil {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #182235;
    transform: translate(var(--look-x), var(--look-y));
  }

  .pdm-helper-character--gold .pdm-helper-pupil {
    background: var(--pdm-navy);
  }

  .pdm-helper-mouth {
    position: absolute;
    left: 50%;
    top: 49px;
    width: 29px;
    height: 3px;
    border-radius: 999px;
    background: var(--pdm-navy);
    transform: translateX(-50%);
    opacity: .82;
  }

  .pdm-helper-hand {
    position: absolute;
    top: 19px;
    z-index: 8;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    opacity: 0;
    transform: translateY(18px) scale(.72);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none;
  }

  .pdm-helper-character--navy .pdm-helper-hand {
    background: var(--pdm-blue-dark);
  }

  .pdm-helper-character--blue .pdm-helper-hand {
    background: var(--pdm-navy);
  }

  .pdm-helper-hand--left {
    left: 8px;
  }

  .pdm-helper-hand--right {
    right: 8px;
  }

  .pdm-helper.is-private .pdm-helper-character--navy .pdm-helper-hand,
  .pdm-helper.is-private .pdm-helper-character--blue .pdm-helper-hand {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .pdm-helper.is-private .pdm-helper-character--navy .pdm-helper-face,
  .pdm-helper.is-private .pdm-helper-character--blue .pdm-helper-face {
    opacity: .12;
  }

  .pdm-helper-cloud {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 8;
    width: 190px;
    height: 38px;
    pointer-events: none;
    background:
      radial-gradient(circle at 13% 64%, #ffffff 0 18px, transparent 19px),
      radial-gradient(circle at 31% 47%, #ffffff 0 25px, transparent 26px),
      radial-gradient(circle at 51% 62%, #ffffff 0 21px, transparent 22px),
      radial-gradient(circle at 70% 46%, #ffffff 0 27px, transparent 28px),
      radial-gradient(circle at 89% 65%, #ffffff 0 19px, transparent 20px),
      linear-gradient(#ffffff, #ffffff);
    background-repeat: no-repeat;
    background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 18px;
    background-position: center, center, center, center, center, center bottom;
  }

  .pdm-helper-hint {
    position: absolute;
    right: 5px;
    bottom: 4px;
    z-index: 10;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(16, 42, 67, .84);
    color: rgba(255, 255, 255, .94);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .01em;
    opacity: 0;
    transform: translateY(5px);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none;
  }

  .pdm-helper-stage:hover .pdm-helper-hint,
  .pdm-helper:focus-within .pdm-helper-hint {
    opacity: 1;
    transform: translateY(0);
  }

  .pdm-helper-bubble {
    position: absolute;
    right: 10px;
    bottom: 148px;
    width: 310px;
    padding: 17px 42px 16px 17px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 18px;
    background: rgba(255, 255, 255, .97);
    color: var(--pdm-text);
    box-shadow: 0 22px 58px rgba(3, 18, 28, .28);
    pointer-events: auto;
    transform-origin: right bottom;
    animation: pdmHelperBubbleIn .2s ease-out;
  }

  .pdm-helper-bubble[hidden] {
    display: none;
  }

  .pdm-helper-bubble::after {
    content: "";
    position: absolute;
    right: 30px;
    bottom: -8px;
    width: 16px;
    height: 16px;
    border-right: 1px solid rgba(16, 42, 67, .10);
    border-bottom: 1px solid rgba(16, 42, 67, .10);
    background: rgba(255, 255, 255, .97);
    transform: rotate(45deg);
  }

  .pdm-helper-close {
    position: absolute;
    top: 9px;
    right: 9px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 9px;
    background: var(--pdm-blue-soft);
    color: var(--pdm-blue);
    cursor: pointer;
  }

  .pdm-helper-close:hover,
  .pdm-helper-close:focus-visible {
    background: var(--pdm-teal-soft);
    color: var(--pdm-teal);
    outline: none;
  }

  .pdm-helper-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--pdm-teal);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .pdm-helper-title {
    display: block;
    color: var(--pdm-navy);
    font-size: 15px;
    line-height: 1.3;
    font-weight: 900;
  }

  .pdm-helper-text {
    margin: 7px 0 10px;
    color: var(--pdm-muted);
    font-size: 12px;
    line-height: 1.55;
  }

  .pdm-helper-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--pdm-blue);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 850;
    text-decoration: none;
  }

  .pdm-helper-link:hover,
  .pdm-helper-link:focus-visible {
    color: var(--pdm-teal);
    text-decoration: underline;
    text-underline-offset: 3px;
    outline: none;
  }

  .pdm-helper.is-noticing .pdm-helper-stage {
    animation: pdmHelperNotice .55s ease-in-out;
  }
}

@keyframes pdmHelperBubbleIn {
  from { opacity: 0; transform: translateY(8px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pdmHelperNotice {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-2deg) translateY(-2px); }
  65% { transform: rotate(2deg) translateY(-2px); }
}

@media (prefers-reduced-motion: reduce) {
  .pdm-helper *,
  .pdm-helper *::before,
  .pdm-helper *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* =========================================================
   PRAKTIKI ASSISTANT v1.1 — micro-interactions
========================================================= */
@media (min-width: 1480px) and (min-height: 760px) and (pointer: fine) {
  .pdm-helper-character {
    --dodge-x: 0px;
    --dodge-y: 0px;
    translate: var(--dodge-x) var(--dodge-y);
    rotate: var(--helper-tilt);
    transform: none;
    transition:
      translate .16s cubic-bezier(.2,.8,.2,1),
      rotate .18s ease,
      filter .18s ease,
      scale .18s ease,
      box-shadow .18s ease;
  }

  .pdm-helper-character:hover {
    translate: var(--dodge-x) calc(var(--dodge-y) - 3px);
  }

  .pdm-helper-character.is-startled {
    animation: pdmHelperStartled .48s cubic-bezier(.2,.9,.2,1);
    filter: brightness(1.08) saturate(1.06);
  }

  .pdm-helper-character.is-hopping {
    animation: pdmHelperHop .72s cubic-bezier(.2,.8,.2,1);
  }

  .pdm-helper-character.is-wobbling {
    animation: pdmHelperWobble .82s ease-in-out;
  }

  .pdm-helper-character.is-squishing {
    animation: pdmHelperSquish .72s ease-in-out;
  }

  .pdm-helper-character.is-peeking {
    animation: pdmHelperPeek 1.12s ease-in-out;
  }

  .pdm-helper-character.is-blinking .pdm-helper-eye {
    animation: pdmHelperBlink .42s ease-in-out;
  }

  .pdm-helper-character.is-waving .pdm-helper-hand {
    opacity: 1;
  }

  .pdm-helper-character.is-waving .pdm-helper-hand--right {
    transform-origin: 50% 100%;
    animation: pdmHelperWave .68s ease-in-out 2;
  }

  .pdm-helper-character--teal.is-waving,
  .pdm-helper-character--gold.is-waving {
    animation: pdmHelperWobble .82s ease-in-out;
  }

  .pdm-helper.is-celebrating .pdm-helper-stage {
    animation: pdmHelperCelebrate .78s ease-in-out;
  }

  .pdm-helper.is-whispering .pdm-helper-character--blue {
    translate: -5px -3px;
    rotate: -5deg;
  }

  .pdm-helper.is-whispering .pdm-helper-character--navy {
    rotate: 3deg;
  }

  .pdm-helper-bubble.is-opening {
    animation: pdmHelperBubbleOpen .5s cubic-bezier(.16,1,.3,1);
  }

  .pdm-helper-bubble.is-changing {
    animation: pdmHelperBubbleChange .38s cubic-bezier(.2,.8,.2,1);
  }

  .pdm-helper-bubble.is-opening .pdm-helper-kicker,
  .pdm-helper-bubble.is-opening .pdm-helper-title,
  .pdm-helper-bubble.is-opening .pdm-helper-text,
  .pdm-helper-bubble.is-opening .pdm-helper-link,
  .pdm-helper-bubble.is-changing .pdm-helper-kicker,
  .pdm-helper-bubble.is-changing .pdm-helper-title,
  .pdm-helper-bubble.is-changing .pdm-helper-text,
  .pdm-helper-bubble.is-changing .pdm-helper-link {
    animation: pdmHelperBubbleContent .34s ease-out both;
  }

  .pdm-helper-bubble.is-opening .pdm-helper-title,
  .pdm-helper-bubble.is-changing .pdm-helper-title {
    animation-delay: .04s;
  }

  .pdm-helper-bubble.is-opening .pdm-helper-text,
  .pdm-helper-bubble.is-changing .pdm-helper-text {
    animation-delay: .08s;
  }

  .pdm-helper-bubble.is-opening .pdm-helper-link,
  .pdm-helper-bubble.is-changing .pdm-helper-link {
    animation-delay: .12s;
  }
}

@keyframes pdmHelperStartled {
  0%, 100% { scale: 1 1; }
  28% { scale: 1.12 .90; }
  52% { scale: .94 1.10; }
  76% { scale: 1.04 .98; }
}

@keyframes pdmHelperHop {
  0%, 100% { translate: var(--dodge-x) var(--dodge-y); }
  28% { translate: var(--dodge-x) calc(var(--dodge-y) - 13px); scale: .96 1.06; }
  55% { translate: var(--dodge-x) var(--dodge-y); scale: 1.07 .94; }
  78% { translate: var(--dodge-x) calc(var(--dodge-y) - 4px); }
}

@keyframes pdmHelperWobble {
  0%, 100% { rotate: var(--helper-tilt); }
  20% { rotate: -7deg; }
  43% { rotate: 6deg; }
  66% { rotate: -3deg; }
  84% { rotate: 2deg; }
}

@keyframes pdmHelperSquish {
  0%, 100% { scale: 1 1; }
  24% { scale: 1.14 .84; }
  48% { scale: .91 1.13; }
  72% { scale: 1.06 .96; }
}

@keyframes pdmHelperPeek {
  0%, 100% { translate: var(--dodge-x) var(--dodge-y); }
  30% { translate: calc(var(--dodge-x) - 8px) calc(var(--dodge-y) + 4px); }
  60% { translate: calc(var(--dodge-x) + 7px) calc(var(--dodge-y) - 3px); }
}

@keyframes pdmHelperBlink {
  0%, 42%, 100% { scale: 1 1; }
  52%, 66% { scale: 1 .08; }
}

@keyframes pdmHelperWave {
  0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
  25% { transform: translateY(-4px) rotate(-20deg) scale(1); }
  55% { transform: translateY(-5px) rotate(24deg) scale(1.04); }
  80% { transform: translateY(-3px) rotate(-12deg) scale(1); }
}

@keyframes pdmHelperCelebrate {
  0%, 100% { rotate: 0deg; scale: 1; }
  22% { rotate: -2deg; scale: 1.03; }
  48% { rotate: 2deg; scale: 1.05; }
  72% { rotate: -1deg; scale: 1.02; }
}

@keyframes pdmHelperBubbleOpen {
  0% { opacity: 0; transform: translateY(16px) scale(.90) rotate(1.5deg); }
  55% { opacity: 1; transform: translateY(-4px) scale(1.025) rotate(-.5deg); }
  78% { transform: translateY(2px) scale(.995); }
  100% { opacity: 1; transform: translateY(0) scale(1) rotate(0deg); }
}

@keyframes pdmHelperBubbleChange {
  0% { opacity: .72; transform: translateX(0) scale(1); }
  33% { opacity: .35; transform: translateX(8px) scale(.985); }
  68% { opacity: 1; transform: translateX(-3px) scale(1.012); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes pdmHelperBubbleContent {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   PRAKTIKI ASSISTANT v1.2 — fluid physics and contextual reactions
========================================================= */
@media (min-width: 1480px) and (min-height: 760px) and (pointer: fine) {
  .pdm-helper-stage {
    pointer-events: auto;
  }

  .pdm-helper-character {
    --helper-x: 0px;
    --helper-y: 0px;
    --helper-rotate: 0deg;
    --helper-scale-x: 1;
    --helper-scale-y: 1;
    --face-x: 0px;
    --face-y: 0px;
    --pupil-x: 0px;
    --pupil-y: 0px;
    translate: none !important;
    rotate: none !important;
    scale: none !important;
    transform:
      translate3d(var(--helper-x), var(--helper-y), 0)
      rotate(var(--helper-rotate))
      scale(var(--helper-scale-x), var(--helper-scale-y)) !important;
    transition:
      filter .24s ease,
      box-shadow .24s ease,
      border-radius .34s cubic-bezier(.2,.8,.2,1);
    will-change: transform;
  }

  .pdm-helper-character:hover {
    translate: none !important;
    filter: brightness(1.075) saturate(1.055);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.18),
      0 13px 24px rgba(3,18,28,.16);
  }

  .pdm-helper-face {
    transform:
      translateX(-50%)
      translate3d(var(--face-x), var(--face-y), 0) !important;
    transition: opacity .30s ease;
    will-change: transform;
  }

  .pdm-helper-pupil {
    transform: translate3d(var(--pupil-x), var(--pupil-y), 0) !important;
    will-change: transform;
  }

  .pdm-helper-cloud {
    --cloud-x: 0px;
    --cloud-y: 0px;
    --cloud-rotate: 0deg;
    --cloud-scale-x: 1;
    --cloud-scale-y: 1;
    transform:
      translate3d(var(--cloud-x), var(--cloud-y), 0)
      rotate(var(--cloud-rotate))
      scale(var(--cloud-scale-x), var(--cloud-scale-y));
    transform-origin: center bottom;
    transition:
      filter .28s ease,
      box-shadow .28s ease;
    will-change: transform;
  }

  .pdm-helper.is-base-active .pdm-helper-cloud {
    filter:
      drop-shadow(0 -5px 9px rgba(255,255,255,.18))
      drop-shadow(0 12px 18px rgba(3,18,28,.18));
  }

  .pdm-helper-bubble {
    animation: none !important;
    will-change: opacity, transform, filter;
    backface-visibility: hidden;
  }

  .pdm-helper-bubble.is-closing {
    pointer-events: none;
  }

  .pdm-helper-bubble-content {
    transform-origin: left center;
    will-change: opacity, transform, filter;
  }

  .pdm-helper-character.is-curious {
    filter: brightness(1.09) saturate(1.08);
  }

  .pdm-helper-character.is-blinking .pdm-helper-eye {
    animation: pdmHelperBlinkSoft .42s ease-in-out;
  }

  .pdm-helper-character.is-waving .pdm-helper-hand {
    opacity: 1;
  }

  .pdm-helper-character.is-waving .pdm-helper-hand--right {
    animation: pdmHelperWaveSoft .68s ease-in-out 2;
    transform-origin: 50% 100%;
  }

  .pdm-helper-character.is-smiling .pdm-helper-mouth,
  .pdm-helper.is-reacting-login .pdm-helper-character--gold .pdm-helper-mouth {
    top: 46px;
    width: 31px;
    height: 10px;
    border-radius: 0 0 999px 999px;
    border-bottom: 3px solid var(--pdm-navy);
    background: transparent;
    opacity: .95;
  }

  .pdm-helper.is-whispering .pdm-helper-character--navy .pdm-helper-face,
  .pdm-helper.is-whispering .pdm-helper-character--blue .pdm-helper-face {
    opacity: .94;
  }

  .pdm-helper.is-reacting-sso .pdm-helper-character--navy .pdm-helper-hand--right {
    opacity: 1;
    animation: pdmHelperWaveGentle 1.15s ease-in-out infinite;
  }

  .pdm-helper.is-reacting-sso .pdm-helper-stage {
    filter:
      drop-shadow(0 15px 22px rgba(3,18,28,.22))
      drop-shadow(0 0 18px rgba(31,78,121,.15));
  }

  .pdm-helper.is-reacting-email .pdm-helper-character {
    filter: brightness(1.035);
  }

  .pdm-helper.is-reacting-email .pdm-helper-character--navy,
  .pdm-helper.is-reacting-email .pdm-helper-character--blue {
    border-radius: 22px 22px 10px 10px;
  }

  .pdm-helper.is-reacting-password .pdm-helper-character--navy .pdm-helper-hand,
  .pdm-helper.is-reacting-password .pdm-helper-character--blue .pdm-helper-hand,
  .pdm-helper.is-private .pdm-helper-character--navy .pdm-helper-hand,
  .pdm-helper.is-private .pdm-helper-character--blue .pdm-helper-hand {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .pdm-helper.is-reacting-password .pdm-helper-character--navy .pdm-helper-face,
  .pdm-helper.is-reacting-password .pdm-helper-character--blue .pdm-helper-face,
  .pdm-helper.is-private .pdm-helper-character--navy .pdm-helper-face,
  .pdm-helper.is-private .pdm-helper-character--blue .pdm-helper-face {
    opacity: .10;
  }

  .pdm-helper.is-reacting-password .pdm-helper-stage {
    filter:
      drop-shadow(0 13px 20px rgba(3,18,28,.20))
      saturate(.94);
  }

  .pdm-helper.is-reacting-login .pdm-helper-stage {
    filter:
      drop-shadow(0 17px 25px rgba(3,18,28,.24))
      drop-shadow(0 0 16px rgba(217,183,111,.18));
  }

  .pdm-helper.is-reacting-login .pdm-helper-cloud {
    filter:
      drop-shadow(0 -4px 10px rgba(217,183,111,.20))
      drop-shadow(0 14px 22px rgba(3,18,28,.18));
  }
}

@keyframes pdmHelperBlinkSoft {
  0%, 38%, 100% { transform: scaleY(1); }
  52%, 68% { transform: scaleY(.08); }
}

@keyframes pdmHelperWaveSoft {
  0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
  25% { transform: translateY(-4px) rotate(-20deg) scale(1); }
  55% { transform: translateY(-5px) rotate(24deg) scale(1.04); }
  80% { transform: translateY(-3px) rotate(-12deg) scale(1); }
}

@keyframes pdmHelperWaveGentle {
  0%, 100% { transform: translateY(0) rotate(-5deg) scale(1); }
  45% { transform: translateY(-3px) rotate(16deg) scale(1.03); }
  72% { transform: translateY(-1px) rotate(-10deg) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .pdm-helper-character,
  .pdm-helper-cloud,
  .pdm-helper-face,
  .pdm-helper-pupil,
  .pdm-helper-bubble,
  .pdm-helper-bubble-content,
  .pdm-helper-hand,
  .pdm-helper-eye,
  .pdm-helper-mouth {
    animation: none !important;
    transition: none !important;
  }
}

/* =========================================================
   PRAKTIKI ASSISTANT v1.3 — official knowledge / speech / stable base
========================================================= */
@media (min-width: 1480px) and (min-height: 760px) and (pointer: fine) {
  .pdm-helper-bubble {
    padding-right: 18px;
  }

  .pdm-helper-bubble-content {
    padding-right: 66px;
  }

  .pdm-helper-bubble-tools {
    position: absolute;
    top: 9px;
    right: 9px;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .pdm-helper-bubble-tools .pdm-helper-close,
  .pdm-helper-speak {
    position: static;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 9px;
    cursor: pointer;
    transition:
      color .18s ease,
      background .18s ease,
      transform .18s ease,
      box-shadow .18s ease;
  }

  .pdm-helper-speak {
    background: var(--pdm-teal-soft);
    color: var(--pdm-teal);
  }

  .pdm-helper-speak:hover,
  .pdm-helper-speak:focus-visible,
  .pdm-helper-speak[aria-pressed="true"] {
    background: var(--pdm-teal);
    color: #ffffff;
    outline: none;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(15, 118, 110, .20);
  }

  .pdm-helper-speak[aria-pressed="true"] {
    animation: pdmHelperSpeaking 1.15s ease-in-out infinite;
  }

  .pdm-helper-cloud {
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .pdm-helper.is-base-active .pdm-helper-cloud,
  .pdm-helper.is-reacting-login .pdm-helper-cloud {
    transform: none !important;
    filter: none !important;
  }

  .pdm-helper.is-reacting-password:not(.is-password-visible)
    .pdm-helper-character--navy .pdm-helper-hand,
  .pdm-helper.is-reacting-password:not(.is-password-visible)
    .pdm-helper-character--blue .pdm-helper-hand {
    opacity: 0;
    transform: translateY(18px) scale(.72);
  }

  .pdm-helper.is-reacting-password:not(.is-password-visible)
    .pdm-helper-character--navy .pdm-helper-face,
  .pdm-helper.is-reacting-password:not(.is-password-visible)
    .pdm-helper-character--blue .pdm-helper-face {
    opacity: 1;
  }

  .pdm-helper.is-password-visible .pdm-helper-character--navy .pdm-helper-hand,
  .pdm-helper.is-password-visible .pdm-helper-character--blue .pdm-helper-hand {
    opacity: 0;
    transform: translateY(18px) scale(.72);
  }

  .pdm-helper.is-password-visible .pdm-helper-character--navy .pdm-helper-face,
  .pdm-helper.is-password-visible .pdm-helper-character--blue .pdm-helper-face {
    opacity: 1;
  }
}

@keyframes pdmHelperSpeaking {
  0%, 100% { box-shadow: 0 0 0 0 rgba(15, 118, 110, .22); }
  50% { box-shadow: 0 0 0 5px rgba(15, 118, 110, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .pdm-helper-speak {
    animation: none !important;
    transition: none !important;
  }
}

@media (min-width: 1480px) and (min-height: 760px) and (pointer: fine) {
  body.praktiki-dashboard .pdm-helper {
    z-index: 1025;
    bottom: calc(var(--praktiki-footer-height) + 14px);
  }
}
