/*
 * EPHARO AI 2060 – XENYRA BRAND LAYER
 *
 * Len vizuálna a loading vrstva.
 * Nesmie meniť produktovú logiku, odpovede ani navigáciu.
 */

:root {
  --xenyra-green: #116a3b;
  --xenyra-green-dark: #0d4f2e;
  --xenyra-text: #173d29;
  --xenyra-glass: rgba(241, 249, 244, 0.78);
}

.eph-xenyra-orb {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;

  width: 38px;
  height: 38px;

  border-radius: 999px;
  border: 1px solid rgba(41, 139, 82, 0.18);

  background:
    radial-gradient(
      circle at 36% 28%,
      rgba(255, 255, 255, 0.98) 0 17%,
      rgba(230, 250, 237, 0.97) 35%,
      rgba(178, 229, 196, 0.92) 68%,
      rgba(113, 195, 144, 0.88) 100%
    );

  box-shadow:
    0 8px 20px rgba(19, 92, 52, 0.20),
    inset 0 1px 1px rgba(255, 255, 255, 0.90);

  overflow: hidden;
}

.eph-xenyra-orb::after {
  content: "";
  position: absolute;
  inset: 2px;

  border-radius: inherit;
  border: 1px solid rgba(255, 255, 255, 0.48);

  pointer-events: none;
}

.eph-xenyra-orb-mark {
  position: relative;
  z-index: 1;

  display: grid;
  place-items: center;

  width: 72%;
  height: 72%;

  color: transparent;
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-size: 22px;
  font-weight: 950;
  line-height: 1;

  background:
    linear-gradient(
      135deg,
      #175cff 8%,
      #5148ff 44%,
      #00b6e7 96%
    );

  -webkit-background-clip: text;
  background-clip: text;

  filter:
    drop-shadow(0 1px 1px rgba(255, 255, 255, 0.8))
    drop-shadow(0 2px 4px rgba(35, 74, 185, 0.28));
}

.eph-xenyra-orb-mark::before {
  content: "X";
}

.eph-xenyra-orb img {
  position: relative;
  z-index: 1;

  width: 72%;
  height: 72%;
  object-fit: contain;
}

.eph-xenyra-orb.is-spinning .eph-xenyra-orb-mark,
.eph-xenyra-orb.is-spinning img {
  animation:
    eph-xenyra-spin 1.15s cubic-bezier(.45, .05, .55, .95) infinite;
}

.eph-xenyra-orb.is-idle {
  animation:
    eph-xenyra-breathe 3.4s ease-in-out infinite;
}

@keyframes eph-xenyra-spin {
  0% {
    transform: rotate(0deg) scale(0.94);
  }

  50% {
    transform: rotate(180deg) scale(1.04);
  }

  100% {
    transform: rotate(360deg) scale(0.94);
  }
}

@keyframes eph-xenyra-breathe {
  0%,
  100% {
    transform: translateY(0) scale(1);
    box-shadow:
      0 8px 20px rgba(19, 92, 52, 0.18),
      inset 0 1px 1px rgba(255, 255, 255, 0.90);
  }

  50% {
    transform: translateY(-1px) scale(1.035);
    box-shadow:
      0 11px 26px rgba(19, 92, 52, 0.27),
      inset 0 1px 1px rgba(255, 255, 255, 0.95);
  }
}

/*
 * Horná značka asistenta.
 */
.eph-xenyra-assistant-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.eph-xenyra-assistant-brand .eph-xenyra-orb {
  width: 46px;
  height: 46px;
}

/*
 * Guľa v akčnom tlačidle.
 */
.eph-xenyra-button-branded {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.eph-xenyra-button-branded .eph-xenyra-orb {
  width: 25px;
  height: 25px;

  margin-left: -5px;

  box-shadow:
    0 4px 10px rgba(19, 92, 52, 0.18),
    inset 0 1px 1px rgba(255, 255, 255, 0.90);
}

.eph-xenyra-button-branded .eph-xenyra-orb-mark {
  font-size: 15px;
}

/*
 * Loading vrstva.
 */
.eph-xenyra-loading {
  position: absolute;
  z-index: 9999;
  inset: 0;

  display: none;
  align-items: center;
  justify-content: center;

  padding: 24px;

  border-radius: inherit;

  background:
    linear-gradient(
      145deg,
      rgba(246, 252, 248, 0.73),
      rgba(229, 242, 234, 0.82)
    );

  -webkit-backdrop-filter: blur(8px) saturate(112%);
  backdrop-filter: blur(8px) saturate(112%);
}

.eph-xenyra-loading.is-visible {
  display: flex;
}

.eph-xenyra-loading-card {
  display: grid;
  justify-items: center;
  gap: 13px;

  min-width: 220px;
  max-width: 340px;

  padding: 24px 28px;

  border:
    1px solid rgba(27, 112, 63, 0.16);

  border-radius: 24px;

  background:
    rgba(255, 255, 255, 0.83);

  box-shadow:
    0 22px 58px rgba(17, 67, 38, 0.17);
}

.eph-xenyra-loading-card .eph-xenyra-orb {
  width: 64px;
  height: 64px;
}

.eph-xenyra-loading-title {
  color: var(--xenyra-text);

  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.eph-xenyra-loading-note {
  color: #607568;

  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .eph-xenyra-orb,
  .eph-xenyra-orb-mark,
  .eph-xenyra-orb img {
    animation: none !important;
  }
}
