/* Accuracy Container — Liquid Glass */
.accuracy-container {
  position: relative;
  width: clamp(320px, 75vw, 960px);
  border-radius: clamp(16px, 2vw, 24px);
  border: 1px solid rgba(200, 200, 210, 0.35);
  overflow: visible;
  flex-shrink: 0;
}
.accuracy-container::after {
  content: '';
  position: absolute; z-index: -1; inset: 0;
  border-radius: inherit;
  backdrop-filter: blur(0px); -webkit-backdrop-filter: blur(0px);
  filter: url(#accuracy-glass); -webkit-filter: url(#accuracy-glass);
  overflow: hidden; isolation: isolate;
}
.accuracy-container::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  overflow: hidden; border-radius: inherit;
  box-shadow: inset 1px 1px 0px -1px rgba(255,255,255,0.5), inset 0 0 2px 0.5px rgba(255,255,255,0.4);
  background-color: rgb(200 200 210 / 10%);
}
.accuracy-container-content {
  position: relative; z-index: 5;
  width: 100%;
  padding: clamp(16px, 2vw, 24px) clamp(8px, 1vw, 14px) clamp(16px, 2vw, 24px) clamp(4px, 0.5vw, 8px);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', sans-serif;
  color: #636e72;
}

.accuracy-container-content .section-label {
  padding-left: clamp(12px, 1.5vw, 20px);
}

/* ===== CHART ===== */
.chart-wrapper {
  width: 100%;
}
.chart-bars {
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.8vw, 22px);
}
.chart-bar-group {
  display: grid;
  grid-template-columns: clamp(90px, 12vw, 130px) 1fr clamp(36px, 4vw, 48px);
  align-items: center;
  gap: clamp(10px, 1.2vw, 16px);
}
.chart-label {
  font-size: clamp(0.78rem, 1vw, 0.9rem);
  font-weight: 500;
  color: #2d3436;
  text-align: right;
}
.chart-track {
  height: clamp(10px, 1.4vw, 16px);
  background: rgba(99, 110, 114, 0.08);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}
.chart-fill {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(99,110,114,0.3), #636e72);
  transition: width 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transition-delay: var(--delay, 0s);
}
/* Animate when scrolled into view */
.chart-bars.in-view .chart-fill {
  width: calc(var(--pct) * 1%);
}
.chart-value {
  font-size: clamp(0.78rem, 1vw, 0.9rem);
  font-weight: 600;
  color: #636e72;
  text-align: left;
  opacity: 0;
  transition: opacity 0.5s ease;
  transition-delay: calc(var(--delay, 0s) + 0.6s);
}
.chart-bars.in-view .chart-value {
  opacity: 1;
