/* JarvisOrb — stage-tyylit. Canvas hoitaa animaation; tämä antaa kehyksen. */

.jarvis-orb {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  overflow: visible;
  background: transparent;
}

.jarvis-orb-canvas {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
  background: transparent !important;
  /* canvas piirtää oman hehkunsa 'lighter'-moodilla — ei tarvita filtteriä */
}

.jarvis-orb-label {
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Consolas', 'Cascadia Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--accent-hot, #00f0ff);
  text-shadow: 0 0 8px rgba(0, 212, 255, 0.5);
  opacity: 0.85;
  white-space: nowrap;
}

/* Kun avatar on telakoitu kulmaan, pidä orbi tiiviinä. */
.core-hero--docked .jarvis-orb { min-height: 140px; }

/* Modern UI — orbi keskialueella, ei peitä chattia */
.core-panel .avatar-stage .jarvis-orb {
  width: min(340px, 100%);
  height: min(340px, 38vh);
  min-height: 180px;
  margin: 0 auto;
}

/* Promo reel — täysi alue, läpinäkyvä tausta */
.jarvis-orb--promo {
  min-height: 0;
  background: transparent;
}
.jarvis-orb--promo .jarvis-orb-canvas {
  background: transparent;
}
.jarvis-orb--promo .jarvis-orb-label {
  display: none;
}

/* Promo-pallo kaikilla sivuilla — sama kuin jarvis_promo_vertical */
.jarvis-orb-wrap,
.micro-orb-dock,
#jarvis-orb-mount {
  position: relative;
  display: block;
  overflow: visible;
  background: transparent;
  border: none;
  box-shadow: none;
}

.jarvis-orb-wrap .jarvis-orb,
.jarvis-orb-wrap .jarvis-orb--promo,
#jarvis-orb-mount .jarvis-orb {
  min-height: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  overflow: visible;
}

.jarvis-orb-wrap .jarvis-orb-canvas,
#jarvis-orb-mount .jarvis-orb-canvas {
  background: transparent !important;
}

.jarvis-orb-wrap .jarvis-orb-label {
  display: none;
}

/* Poista vanha core-stage-kehyspöllö */
.core-stage--promo-orb,
.core-stage.has-orb.core-stage--promo-orb,
.jarvis-orb-wrap--live {
  filter: none;
  animation: none;
  background: transparent !important;
  border: none;
  box-shadow: none;
  contain: none;
  overflow: visible;
  aspect-ratio: auto;
}

.core-stage--promo-orb::before,
.core-stage--promo-orb::after,
.jarvis-orb-wrap--live::before,
.jarvis-orb-wrap--live::after {
  display: none !important;
}

.core-stage--promo-orb .core-state,
.core-stage--promo-orb .core-hud,
.core-stage--live .core-state {
  display: none !important;
}

.core-stage--promo-orb:not(.core-stage--live) .jarvis-orb-wrap {
  opacity: 0.92;
}

.core-stage--promo-orb.core-stage--live .jarvis-orb-wrap {
  opacity: 1;
  transition: opacity 0.4s ease;
}

.hero .core-stage.core-stage--promo-orb {
  width: min(100%, 420px);
  height: min(100vw, 420px);
  max-width: 420px;
  min-height: min(88vw, 320px);
  margin: 0 auto 8px;
}

.hero .jarvis-orb-wrap--live {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

@media (min-width: 900px) {
  .hero .core-stage.core-stage--promo-orb {
    width: min(100%, 480px);
    height: min(100%, 480px);
    max-width: 480px;
    min-height: 360px;
  }
}
