/* ================================================================
   Gap Chart — Bar chart rows
   ================================================================ */

.gapchart-section { margin-top: 16px; animation: fadeIn 1s ease-out 2s both; }
.gapchart-content { padding: 20px 0 8px; max-width: 700px; margin: 0 auto; }

.gap-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }

.gap-bar-label {
  font-size: clamp(8px, 1.8vw, 11px); color: rgba(183,199,223,0.5);
  min-width: 100px; text-align: right; white-space: nowrap;
  flex-shrink: 0; letter-spacing: 0.02em;
}

.gap-bar-track { flex: 1; height: 20px; background: rgba(255,255,255,0.02); border-radius: 3px; overflow: hidden; }

.gap-bar-fill {
  height: 100%; border-radius: 3px;
  background: linear-gradient(90deg, rgba(163,107,255,0.4), rgba(163,107,255,0.2));
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex; align-items: center; justify-content: flex-end; padding-right: 8px;
}

.gap-bar-fill.current {
  background: linear-gradient(90deg, rgba(255,239,119,0.5), rgba(255,239,119,0.25));
  animation: currentGapPulse 3s ease-in-out infinite;
}

@keyframes currentGapPulse { 0%, 100% { opacity: 0.8; } 50% { opacity: 1; } }

.gap-bar-years { font-size: clamp(7px, 1.5vw, 10px); font-weight: 600; color: rgba(255,255,255,0.7); white-space: nowrap; }
.gap-bar-fill.current .gap-bar-years { color: rgba(255,239,119,0.9); }
