/*!
 * GWS Coins 1.0 — dischi con logo che cadono, rimbalzano sulle lettere del titolo
 * e si sistemano in basso. Prefisso "gwsc-": nessun selettore globale.
 */

.gwsc-layer {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: var(--gwsc-z, 2);
}

.gwsc-disc {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  border-radius: 50%;
  background: radial-gradient(
    circle at 34% 28%,
    color-mix(in srgb, var(--gwsc-bg, #fff) 70%, #fff) 0,
    var(--gwsc-bg, #fff) 62%
  );
  box-shadow:
    0 10px 18px -4px rgba(0, 0, 0, 0.28),
    0 2px 4px rgba(0, 0, 0, 0.18),
    inset 0 -5px 8px rgba(0, 0, 0, 0.1),
    inset 0 3px 5px rgba(255, 255, 255, 0.55);
  transform: translate3d(0, -300px, 0);
  will-change: transform;
  /* i dischi si possono afferrare; il resto del livello lascia passare i clic */
  pointer-events: auto;
  cursor: grab;
  touch-action: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
}
.gwsc-disc.is-held {
  cursor: grabbing;
  z-index: 5;
  box-shadow:
    0 22px 30px -8px rgba(0, 0, 0, 0.35),
    0 3px 6px rgba(0, 0, 0, 0.2),
    inset 0 -5px 8px rgba(0, 0, 0, 0.1),
    inset 0 3px 5px rgba(255, 255, 255, 0.55);
}
.gwsc-disc::after {
  content: "";
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px rgba(0, 0, 0, 0.07), 0 0 0 1px rgba(255, 255, 255, 0.18);
}

/* Il simbolo ruota da solo; ombre e luci del disco restano ferme */
.gwsc-disc__face {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  transform-origin: 50% 50%;
  user-select: none;
}
.gwsc-disc.is-light .gwsc-disc__face {
  color: rgba(0, 0, 0, 0.34);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}
.gwsc-disc.is-mid .gwsc-disc__face {
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
}
.gwsc-disc.is-dark .gwsc-disc__face {
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
}

/* Modalità debug: mostra le "scatole" delle lettere usate per i rimbalzi */
.gwsc-debug-rect {
  position: absolute;
  box-sizing: border-box;
  border: 1px dashed rgba(0, 255, 120, 0.9);
  background: rgba(0, 255, 120, 0.12);
}
.gwsc-debug-floor {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0;
  border-top: 1px dashed rgba(255, 255, 0, 0.95);
}
