/* ORÁCULO CORE — Large presence component */
.oraculo-core {
  display: flex;
  align-items: center;
  justify-content: center;
}

.core-svg-large {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 8px rgba(139, 92, 246, 0.15));
}

/* Rings */
.core-ring {
  fill: none;
  stroke-linecap: round;
}
.core-ring-outer {
  stroke: var(--violet-dim);
  stroke-width: 0.3;
  stroke-dasharray: 1 2;
  opacity: 0.4;
  animation: core-rotate-slow 20s linear infinite;
  transform-origin: 30px 30px;
}
.core-ring-1 {
  stroke: var(--violet);
  stroke-width: 0.5;
  opacity: 0.6;
  animation: core-rotate-slow 15s linear infinite reverse;
  transform-origin: 30px 30px;
}
.core-ring-2 {
  stroke: var(--cyan);
  stroke-width: 0.4;
  opacity: 0.5;
  stroke-dasharray: 3 1.5;
  animation: core-rotate-med 10s linear infinite;
  transform-origin: 30px 30px;
}
.core-ring-3 {
  stroke: var(--violet-bright);
  stroke-width: 0.6;
  opacity: 0.7;
  animation: core-rotate-med 7s linear infinite reverse;
  transform-origin: 30px 30px;
}
.core-ring-4 {
  stroke: var(--cyan);
  stroke-width: 0.5;
  opacity: 0.5;
  stroke-dasharray: 2 1;
  animation: core-rotate-fast 5s linear infinite;
  transform-origin: 30px 30px;
}
.core-ring-5 {
  stroke: var(--violet);
  stroke-width: 0.4;
  opacity: 0.4;
  animation: core-rotate-fast 3s linear infinite reverse;
  transform-origin: 30px 30px;
}

/* Connection lines */
.core-line {
  stroke: var(--violet-dim);
  stroke-width: 0.2;
  opacity: 0.2;
}

/* Center pulse */
.core-pulse {
  fill: var(--violet);
  opacity: 0.3;
  animation: core-pulse 2s ease-in-out infinite;
  transform-origin: 30px 30px;
}
.core-pulse-inner {
  fill: var(--violet-bright);
  animation: core-pulse-inner 1.5s ease-in-out infinite;
  transform-origin: 30px 30px;
}

/* Orbital nodes */
.core-node {
  fill: var(--cyan);
  filter: drop-shadow(0 0 2px var(--cyan));
  animation: core-node-blink 2s ease-in-out infinite;
}
.core-node-1 { animation-delay: 0s; }
.core-node-2 { animation-delay: 0.3s; fill: var(--violet-bright); filter: drop-shadow(0 0 2px var(--violet)); }
.core-node-3 { animation-delay: 0.6s; fill: var(--green); filter: drop-shadow(0 0 2px var(--green)); }
.core-node-4 { animation-delay: 0.9s; }
.core-node-5 { animation-delay: 1.2s; fill: var(--violet-bright); filter: drop-shadow(0 0 2px var(--violet)); }
.core-node-6 { animation-delay: 1.5s; fill: var(--green); filter: drop-shadow(0 0 2px var(--green)); }

/* STATE: investigating */
.oraculo-core[data-state="investigating"] .core-ring-1 { stroke: var(--cyan); animation-duration: 8s; }
.oraculo-core[data-state="investigating"] .core-ring-2 { animation-duration: 6s; }
.oraculo-core[data-state="investigating"] .core-ring-3 { animation-duration: 4s; }
.oraculo-core[data-state="investigating"] .core-pulse { fill: var(--cyan); animation-duration: 1s; }
.oraculo-core[data-state="investigating"] .core-pulse-inner { fill: var(--cyan); animation-duration: 0.8s; }
.oraculo-core[data-state="investigating"] .core-svg-large {
  filter: drop-shadow(0 0 12px rgba(21, 217, 255, 0.3));
}

/* STATE: error */
.oraculo-core[data-state="error"] .core-ring-1 { stroke: var(--red); }
.oraculo-core[data-state="error"] .core-pulse { fill: var(--red); }
.oraculo-core[data-state="error"] .core-pulse-inner { fill: var(--red); }
.oraculo-core[data-state="error"] .core-svg-large {
  filter: drop-shadow(0 0 12px rgba(255, 59, 79, 0.3));
}

/* Animations */
@keyframes core-rotate-slow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes core-rotate-med { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes core-rotate-fast { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@keyframes core-pulse {
  0%, 100% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.15); }
}
@keyframes core-pulse-inner {
  0%, 100% { opacity: 0.6; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
}

@keyframes core-node-blink {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

/* Small core variant (for HUD if needed) */
.core-svg-small {
  width: 20px;
  height: 20px;
}
