/* ───────────────────────────────────────────────────────────
   Adsbot Lens — How it Works · Trend + Radar product panels
   Built on lens.css tokens. Loaded only by How It Works.html.
   ─────────────────────────────────────────────────────────── */

.tr-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-lg);
  padding: clamp(20px, 2.6vw, 30px);
  max-width: 900px;
  margin: 42px auto 0;
}

/* KPI row */
.tr-kpis {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
  margin-bottom: 22px;
}
.tr-kpi {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 14px 15px;
}
.tr-kpi-label {
  font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--fg-subtle); margin-bottom: 8px;
}
.tr-kpi-val {
  font-size: 26px; font-weight: 800; letter-spacing: -0.03em; line-height: 1;
  color: var(--fg-strong); font-variant-numeric: tabular-nums;
}
.tr-kpi-val.up { color: var(--teal-600); }
.tr-kpi-sub { font-size: 12px; color: var(--fg-subtle); margin-top: 7px; }

/* chart */
.tr-chart { width: 100%; }
.tr-chart svg { display: block; width: 100%; height: auto; }
.tr-axis-label { font-size: 11px; fill: var(--fg-faint); font-weight: 600; }
.tr-x-label { font-size: 11.5px; fill: var(--fg-subtle); font-weight: 600; }
.tr-tip-title { font-size: 11.5px; font-weight: 800; fill: var(--fg-strong); }
.tr-tip-line { font-size: 11px; fill: var(--fg-subtle); font-weight: 500; }
.tr-tip-val { font-size: 11px; fill: var(--teal-600); font-weight: 800; }

/* notable moments */
.tr-notable { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--hairline); }
.tr-notable-h {
  font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--fg-subtle); margin: 0 0 14px;
}
.tr-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tr-stat {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 14px 15px;
}
.tr-stat.gain { background: var(--success-soft); border-color: #bbe6c9; }
.tr-stat-label {
  font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--fg-subtle); margin-bottom: 8px;
}
.tr-stat.gain .tr-stat-label { color: #15803d; }
.tr-stat-val { font-size: 19px; font-weight: 800; letter-spacing: -0.02em; color: var(--fg-strong); line-height: 1.1; }
.tr-stat.gain .tr-stat-val { color: #15803d; }
.tr-stat-sub { font-size: 12px; color: var(--fg-subtle); margin-top: 5px; }

/* radar */
.tr-radar { max-width: 480px; margin: 24px auto 0; }
.tr-radar-head { text-align: center; margin-bottom: 4px; }
.tr-radar-head h3 { font-size: 17px; font-weight: 700; letter-spacing: -0.02em; color: var(--fg-strong); margin: 0; }
.tr-radar-head p { font-size: 13px; color: var(--fg-subtle); margin: 6px 0 0; }
.tr-radar-chart svg { display: block; width: 100%; height: auto; max-width: 360px; margin: 0 auto; }
.tr-radar-axis { font-size: 11.5px; font-weight: 700; fill: var(--fg); }
.tr-radar-axis-sub { font-size: 9.5px; font-weight: 500; fill: var(--fg-faint); }

@media (max-width: 720px) {
  .tr-kpis { grid-template-columns: repeat(2, 1fr); }
  .tr-stats { grid-template-columns: 1fr; }
}
