/* R-011.7: streak popup — DOM overlay centred on the board canvas, above the
   canvas and below popups (z-index 6, same slot the old combo callout used).
   Positioned (left/top) and animated (transform/opacity, rays' rotate) from
   src/ui/streakPop.js via the Web Animations API; this file only sets the
   static look. Geometry mirrors docs/design/StreakBurst.dc.html's 300x300
   box. Colour only via --c-* custom properties (A-008.9); level 1-4 map to
   the streak1..streak4 / streak1Glow..streak4Glow palette keys (R-008.10,
   R-015.8). */
.streak-pop {
  position: absolute;
  left: 0;
  top: 0;
  width: 300px;
  height: 300px;
  transform-origin: 50% 50%;
  pointer-events: none;
  z-index: 6;
}

.streak-pop[data-level="1"] { --pop-color: var(--c-streak1); --pop-glow: var(--c-streak1Glow); }
.streak-pop[data-level="2"] { --pop-color: var(--c-streak2); --pop-glow: var(--c-streak2Glow); }
.streak-pop[data-level="3"] { --pop-color: var(--c-streak3); --pop-glow: var(--c-streak3Glow); }
.streak-pop[data-level="4"] { --pop-color: var(--c-streak4); --pop-glow: var(--c-streak4Glow); }

.streak-pop-rays {
  position: absolute;
  inset: 0;
  width: 300px;
  height: 300px;
  transform-origin: 50% 50%;
}

.streak-pop-ray { fill: var(--pop-glow); opacity: 0.55; }
.streak-pop-halo { fill: var(--pop-glow); opacity: 0.35; }

.streak-pop-body {
  position: absolute;
  left: 0;
  right: 0;
  top: 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.streak-pop-flame {
  width: 58px;
  height: 58px;
  margin-bottom: -10px;
  position: relative;
  z-index: 1;
}

.streak-pop-count {
  line-height: 0.95;
  letter-spacing: 1px;
  color: var(--pop-color);
  text-shadow:
    0 4px 0 var(--c-text), 4px 0 0 var(--c-text), -4px 0 0 var(--c-text), 0 -4px 0 var(--c-text),
    3px 3px 0 var(--c-text), -3px 3px 0 var(--c-text), 3px -3px 0 var(--c-text), -3px -3px 0 var(--c-text),
    0 9px 0 var(--c-text);
}

.streak-pop-pill {
  margin-top: 8px;
  padding: 3px 16px 4px;
  border-radius: 999px;
  background: var(--c-text);
  border: 3px solid var(--c-surface);
  box-shadow: 0 4px 0 var(--c-text);
  font-size: 22px;
  letter-spacing: 2px;
  color: var(--c-surface);
}

.streak-pop-tagline {
  margin-top: 10px;
  font-size: 26px;
  letter-spacing: 0.5px;
  color: var(--c-surface);
  text-shadow:
    0 2px 0 var(--c-text), 2px 0 0 var(--c-text), -2px 0 0 var(--c-text), 0 -2px 0 var(--c-text),
    2px 2px 0 var(--c-text), -2px 2px 0 var(--c-text), 2px -2px 0 var(--c-text), -2px -2px 0 var(--c-text),
    0 5px 0 var(--c-text);
  transform: rotate(-4deg);
  white-space: nowrap;
}

.streak-pop-chip {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 10px 2px 3px;
  border-radius: 999px;
  background: var(--c-surface);
  border: 2.5px solid var(--c-text);
  color: var(--c-text);
  font-weight: 700;
  font-size: 15px;
  white-space: nowrap;
}

.streak-pop-max {
  margin-left: 2px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--c-brand);
  color: var(--c-surface);
  font-size: 11px;
  letter-spacing: 0.5px;
}
