/* Disco Ball — la esfera del hero. El mosaico se dibuja en canvas
   (ver HeroSphere.jsx); aquí sólo van el encuadre, la cadena y el halo. */
.sphere-root{position:relative;width:100%;height:100%;--r:280px;
  display:grid;place-items:center;overflow:visible;touch-action:pan-y;
  user-select:none;-webkit-user-select:none}

.ball-scene{position:relative;width:calc(var(--r) * 2);height:calc(var(--r) * 2);
  margin-top:calc(var(--r) * .26)}

/* cadena de la que cuelga */
.ball-hang{position:absolute;left:50%;bottom:calc(100% - var(--r) * .1);
  transform:translateX(-50%);width:22px;height:calc(var(--r) * .32);
  display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:2}
.hang-chain{flex:1;width:8px;border-radius:4px;
  background:repeating-linear-gradient(180deg,#eef2f8 0 3px,#aab2c0 3px 5px,#565d6c 5px 9px);
  box-shadow:0 0 10px rgba(255,255,255,.28),inset -2px 0 3px rgba(0,0,0,.45)}
.hang-ring{width:20px;height:20px;margin-top:-4px;border-radius:50%;
  border:4px solid #d6dce8;
  box-shadow:0 0 10px rgba(255,255,255,.26),inset 0 0 5px rgba(0,0,0,.6)}
.hang-cap{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);
  width:28px;height:13px;border-radius:0 0 14px 14px / 0 0 10px 10px;
  background:linear-gradient(180deg,#e2e8f2,#767d8d 55%,#343945);
  box-shadow:0 3px 8px rgba(0,0,0,.6)}

/* halo: violeta de marca con un toque de mint, por detrás del canvas */
.ball-glow{position:absolute;inset:-24%;pointer-events:none;z-index:0;
  background:
    radial-gradient(circle at 50% 46%,rgba(137,53,255,.22),transparent 62%),
    radial-gradient(circle at 40% 34%,rgba(26,231,176,.10),transparent 55%),
    radial-gradient(circle at 62% 70%,rgba(90,60,220,.16),transparent 64%);
  filter:blur(26px)}

.ball-canvas{position:relative;z-index:1;display:block;width:100%;height:100%;
  cursor:grab;touch-action:pan-y;
  filter:drop-shadow(0 26px 46px rgba(0,0,0,.55))}
.ball-canvas:active{cursor:grabbing}
