:root {
  --streak-ink: #c2410c;
  --streak-hot: #f97316;
  --streak-bar: rgba(249, 115, 22, 0.22);
  --streak-pop-bg: #f97316;
  --streak-pop-ink: #ffffff;
  --streak-saved-bg: var(--accent);
  --streak-rise: -22px;
  --streak-pop-t: 1.2s;
  --ch-nav: 36px;
}

.dark,
.is-dark {
  --streak-ink: #fdba74;
  --streak-bar: rgba(253, 186, 116, 0.25);
}

.g-streak {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: var(--game-pill-h);
  padding: 0 var(--sp-2);
  border-radius: var(--r-pill);
  white-space: nowrap;
  color: var(--ink-soft);
  background-image: linear-gradient(90deg, var(--streak-bar) calc(var(--f) * 100%), transparent calc(var(--f) * 100%));
}

.g-streak .i {
  color: var(--ink-soft);
}

.g-streak.live,
.g-streak.live .i {
  color: var(--streak-ink);
}

.g-streak b {
  font-size: var(--game-hud-sub);
  line-height: 1;
}

.g-shields {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  margin-left: var(--sp-1);
  color: var(--accent-ink);
}

.g-shields .i {
  color: var(--accent);
}

.g-streak-pop {
  position: absolute;
  left: 50%;
  top: 100%;
  padding: 1px var(--sp-2);
  border-radius: var(--r-pill);
  background: var(--streak-pop-bg);
  color: var(--streak-pop-ink);
  font-size: var(--game-hud-sub);
  font-weight: var(--fw-x);
  white-space: nowrap;
  pointer-events: none;
  transform: translate(-50%, 4px);
  animation: streak-pop var(--streak-pop-t) var(--ease-bounce) both;
}

.g-streak-pop.saved {
  background: var(--streak-saved-bg);
  color: var(--on-accent);
}

@keyframes streak-pop {
  0% { opacity: 0; transform: translate(-50%, 8px) scale(0.6); }
  20% { opacity: 1; transform: translate(-50%, 4px) scale(1.08); }
  80% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  100% { opacity: 0; transform: translate(-50%, var(--streak-rise)) scale(1); }
}

.reduce-motion .g-streak-pop {
  animation: none;
}

.ch-head {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
}

.ch-nav {
  flex: none;
  width: max(var(--ch-nav), var(--target));
  height: max(var(--ch-nav), var(--target));
}

.ch-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  text-align: center;
}

.ch-title small {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--ink-soft);
  font-size: var(--fs-xs);
}

.ch-title small .i {
  color: var(--gold-2);
}

.ch-gate {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-1);
  margin: 0 0 var(--sp-2);
  color: var(--ink-soft);
  font-size: var(--fs-xs);
  text-align: center;
}

.ch-mech {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sp-1);
  margin-bottom: var(--sp-2);
}
