/* ═══════════════════════════════════════════
   FITCHEF TRUTH v1.0
   Truth Map + Single Claim page components.
   Pixel-matched to truth-map-v2.html & claim-page-v2.html.
   ═══════════════════════════════════════════ */


/* ═══════════════════════════════════════════
   TRUTH MAP — Archive page for fc_claim
   ═══════════════════════════════════════════ */

/* Header */
.fc-tm-header { margin-bottom: 48px; }
.fc-tm-kicker {
  font-size: var(--fc-text-micro); font-weight: var(--fc-w-black);
  text-transform: uppercase; letter-spacing: 2.5px;
  color: var(--fc-accent);
  margin-bottom: 16px;
}
.fc-tm-title {
  font-family: var(--fc-serif); font-size: var(--fc-text-h1); font-weight: var(--fc-w-regular);
  line-height: var(--fc-lh-heading); letter-spacing: -1.5px; color: var(--fc-ink); margin-bottom: 14px;
}
.fc-tm-subtitle {
  font-size: var(--fc-text-ui); line-height: 1.7; color: var(--fc-dim);
}

/* Stats bar — refined: quieter, tighter */
.fc-tm-stats {
  display: flex; gap: 28px; padding: 16px 0;
  border-top: 1px solid var(--fc-border); border-bottom: 1px solid var(--fc-border);
  margin-bottom: 24px;
}
.fc-tm-stat__num { font-size: 1.2rem; font-weight: var(--fc-w-bold); color: var(--fc-ink); letter-spacing: -0.5px; }
.fc-tm-stat__label { font-size: 0.6rem; color: var(--fc-ghost); text-transform: uppercase; letter-spacing: 0.3px; }

/* ─── Filter system — whisper-quiet, Linear/Notion density ─── */

/* Filter bar: single compact row, always visible */
.fc-tm-filter-bar { margin-bottom: 16px; }

.fc-tm-filter-group { margin-bottom: 12px; }
.fc-tm-filter-group:last-of-type { margin-bottom: 0; }
.fc-tm-filter-label {
  font-size: 0.55rem; font-weight: var(--fc-w-medium); text-transform: uppercase;
  letter-spacing: 0.8px; color: var(--fc-ghost); margin-bottom: 6px;
}
.fc-tm-filter-row { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; }
.fc-tm-filter-sep { width: 1px; height: 14px; background: var(--fc-border); margin: 0 4px; }

/* Filter toggle button — sits inline with grade pills */
.fc-tm-filter-toggle {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 12px; border-radius: 5px; font-size: 0.65rem; font-weight: var(--fc-w-medium);
  color: var(--fc-ghost); border: 1px solid rgba(0,0,0,0.06); transition: all 0.15s;
  cursor: pointer; background: transparent;
}
.fc-tm-filter-toggle:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-tm-filter-toggle[aria-expanded="true"] {
  background: var(--fc-ink); color: var(--fc-surface); border-color: var(--fc-ink);
}
.fc-tm-filter-toggle svg { width: 12px; height: 12px; flex-shrink: 0; }

/* Active filter count badge */
.fc-tm-filter-count {
  display: none; /* hidden when no extra filters active */
  min-width: 16px; height: 16px;
  border-radius: 8px; background: var(--fc-accent);
  color: var(--fc-surface); font-size: 0.5rem; font-weight: var(--fc-w-bold);
  text-align: center; line-height: 16px;
  margin-left: 2px;
}
.fc-tm-filter-count.is-visible { display: inline-block; }

/* Expandable panel — hidden by default, slides down */
.fc-tm-filter-panel {
  display: none;
  padding: 14px 18px 18px;
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 10px;
  margin-bottom: 20px;
}
.fc-tm-filter-panel.is-open {
  display: block;
  animation: fc-panel-enter 0.2s var(--fc-ease-out);
}
@keyframes fc-panel-enter {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Grade pills — compact, ghost-quiet when inactive */
.fc-tm-grade {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; border-radius: 5px; font-size: 0.65rem; font-weight: var(--fc-w-medium);
  color: var(--fc-ghost); border: 1px solid rgba(0,0,0,0.06); transition: all 0.15s;
  cursor: pointer; background: transparent;
}
.fc-tm-grade:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-tm-grade--active { background: var(--fc-ink); color: var(--fc-surface); border-color: var(--fc-ink); font-weight: var(--fc-w-semibold); }
.fc-tm-grade--active:hover { color: var(--fc-surface); border-color: var(--fc-body); background: var(--fc-body); }
.fc-tm-grade__dot { width: 5px; height: 5px; border-radius: 50%; }
.fc-tm-grade--active .fc-tm-grade__dot { opacity: 0.8; }

/* Verdict pills */
.fc-tm-verdict {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; border-radius: 5px; font-size: 0.65rem; font-weight: var(--fc-w-medium);
  color: var(--fc-ghost); border: 1px solid rgba(0,0,0,0.06); transition: all 0.15s;
  cursor: pointer; background: transparent;
}
.fc-tm-verdict:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-tm-verdict__dot { width: 5px; height: 5px; border-radius: 50%; }
.fc-tm-verdict--active[data-verdict="verified"]  { background: var(--fc-verified-bg); color: var(--fc-design-rct); border-color: rgba(0,209,142,0.15); font-weight: var(--fc-w-semibold); }
.fc-tm-verdict--active[data-verdict="verified"]:hover  { border-color: rgba(0,209,142,0.3); }
.fc-tm-verdict--active[data-verdict="emerging"]   { background: var(--fc-emerging-bg); color: var(--fc-design-meta); border-color: rgba(99,102,241,0.15); font-weight: var(--fc-w-semibold); }
.fc-tm-verdict--active[data-verdict="emerging"]:hover   { border-color: rgba(99,102,241,0.3); }
.fc-tm-verdict--active[data-verdict="contested"]  { background: var(--fc-contested-bg); color: var(--fc-design-animal); border-color: rgba(245,158,11,0.15); font-weight: var(--fc-w-semibold); }
.fc-tm-verdict--active[data-verdict="contested"]:hover  { border-color: rgba(245,158,11,0.3); }

/* Topic pills */
.fc-tm-topic {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; border-radius: var(--fc-radius-pill); font-size: 0.65rem; font-weight: var(--fc-w-regular);
  color: var(--fc-ghost); border: 1px solid rgba(0,0,0,0.06); transition: all 0.15s;
  cursor: pointer; background: transparent;
}
.fc-tm-topic:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-tm-topic--active { background: var(--fc-ink); color: var(--fc-surface); border-color: var(--fc-ink); font-weight: var(--fc-w-medium); }
.fc-tm-topic--active:hover { color: var(--fc-surface); border-color: var(--fc-body); background: var(--fc-body); }
.fc-tm-topic__dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }

/* Audience pills */
.fc-tm-audience {
  padding: 4px 10px; border-radius: var(--fc-radius-pill); font-size: 0.65rem; font-weight: var(--fc-w-regular);
  color: var(--fc-ghost); border: 1px solid rgba(0,0,0,0.06); transition: all 0.15s;
  cursor: pointer; background: transparent;
}
.fc-tm-audience:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-tm-audience--active { background: var(--fc-ink); color: var(--fc-surface); border-color: var(--fc-ink); font-weight: var(--fc-w-medium); }
.fc-tm-audience--active:hover { color: var(--fc-surface); border-color: var(--fc-body); background: var(--fc-body); }

/* ─── Claim cards ─── */
.fc-tm-claim {
  display: block; padding: 24px 28px; background: var(--fc-card);
  border: 1px solid var(--fc-border); border-radius: 12px;
  margin-bottom: 10px; cursor: pointer;
  transition: border-color 0.15s, box-shadow 0.2s;
}
.fc-tm-claim:hover { border-color: var(--fc-dim); box-shadow: 0 2px 12px rgba(0,0,0,0.05); }
.fc-tm-claim.is-hidden { display: none; }
.fc-tm-claim__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.fc-tm-claim__title { font-size: 0.95rem; font-weight: var(--fc-w-semibold); color: var(--fc-ink); line-height: 1.35; flex: 1; }
.fc-tm-claim__badges { display: flex; gap: 6px; flex-shrink: 0; align-items: center; }
.fc-tm-claim__grade {
  width: 24px; height: 24px; border-radius: 5px; display: flex; align-items: center; justify-content: center;
  font-size: 0.65rem; font-weight: var(--fc-w-bold); color: var(--fc-surface); flex-shrink: 0;
}
.fc-tm-claim__badge {
  display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 5px;
  font-size: 0.6rem; font-weight: var(--fc-w-semibold); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap;
}
.fc-tm-claim__badge--verified  { background: var(--fc-verified-bg); color: var(--fc-design-rct); }
.fc-tm-claim__badge--emerging  { background: var(--fc-emerging-bg); color: var(--fc-design-meta); }
.fc-tm-claim__badge--contested { background: var(--fc-contested-bg); color: var(--fc-design-animal); }
.fc-tm-claim__badge-dot { width: 5px; height: 5px; border-radius: 50%; }
.fc-tm-claim__badge--verified .fc-tm-claim__badge-dot  { background: var(--fc-verified); }
.fc-tm-claim__badge--emerging .fc-tm-claim__badge-dot  { background: var(--fc-emerging); }
.fc-tm-claim__badge--contested .fc-tm-claim__badge-dot { background: var(--fc-contested); }
.fc-tm-claim__statement {
  font-size: 0.82rem; line-height: 1.55; color: var(--fc-dim); margin-bottom: 12px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.fc-tm-claim__footer { display: flex; align-items: center; gap: 16px; font-size: 0.68rem; color: var(--fc-ghost); }
.fc-tm-claim__cluster { display: inline-flex; align-items: center; gap: 5px; }
.fc-tm-claim__cluster-dot { width: 6px; height: 6px; border-radius: 50%; }
.fc-tm-claim__tags { display: flex; gap: 4px; margin-left: auto; }
.fc-tm-claim__tag { padding: 2px 8px; border-radius: var(--fc-radius-xxs); font-size: 0.6rem; background: rgba(0,0,0,0.03); color: var(--fc-dim); }

/* ─── Truth Map sidebar components ─── */
.fc-skeptic-cta {
  padding: 20px; background: var(--fc-card); border: 1px solid var(--fc-border); border-radius: 10px;
  transition: border-color 0.15s; display: block;
}
.fc-skeptic-cta:hover { border-color: var(--fc-dim); }
.fc-skeptic-cta__icon {
  width: 28px; height: 28px; border-radius: 7px; background: var(--fc-accent-dim);
  display: flex; align-items: center; justify-content: center; margin-bottom: 10px;
}
.fc-skeptic-cta__icon svg { width: 14px; height: 14px; stroke: var(--fc-accent); }
.fc-skeptic-cta__title { font-size: 0.82rem; font-weight: var(--fc-w-semibold); color: var(--fc-ink); margin-bottom: 4px; }
.fc-skeptic-cta__desc { font-size: 0.72rem; color: var(--fc-dim); line-height: 1.5; margin-bottom: 10px; }
.fc-skeptic-cta__link { font-size: 0.72rem; font-weight: var(--fc-w-semibold); color: var(--fc-accent); }

.fc-grade-legend {}
.fc-grade-item { display: flex; align-items: center; gap: 10px; padding: 6px 0; }
.fc-grade-item__badge {
  width: 22px; height: 22px; border-radius: 5px; display: flex; align-items: center; justify-content: center;
  font-size: 0.6rem; font-weight: var(--fc-w-bold); color: var(--fc-surface); flex-shrink: 0;
}
.fc-grade-item__label { font-size: 0.78rem; font-weight: var(--fc-w-semibold); color: var(--fc-ink); }
.fc-grade-item__range { font-size: 0.65rem; color: var(--fc-ghost); font-family: var(--fc-mono); }

.fc-cluster-mini { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.fc-cluster-mini__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.fc-cluster-mini__name { font-size: 0.78rem; color: var(--fc-ink); flex: 1; }
.fc-cluster-mini__count { font-size: 0.68rem; color: var(--fc-ghost); font-family: var(--fc-mono); }


/* ═══════════════════════════════════════════
   SINGLE CLAIM — Deep dive page
   ═══════════════════════════════════════════ */

/* Page kicker — replaces topbar + mag header (v6.1) */
.fc-page-kicker {
  font-size: 0.62rem;
  font-weight: var(--fc-w-bold);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--fc-dim);
  display: flex;
  align-items: center;
  gap: 8px;
}
.fc-page-kicker__dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--fc-accent);
}

/* ─── Floating Glass Pill Player (v6.6) ───
   position:fixed, centered between nav rail + sidebar.
   Glass background, pill shape, Spotify-grade hover. */
.fc-play-sticky {
  position: fixed;
  bottom: 28px;
  left: calc(var(--fc-nav-width) + (100vw - var(--fc-nav-width) - var(--fc-sidebar-width)) / 2);
  transform: translateX(-50%);
  width: 520px;
  height: 72px;
  background: var(--fc-glass);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid var(--fc-border);
  border-radius: 100px;
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 14px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.07);
  z-index: 100;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.fc-play-sticky:hover {
  box-shadow: 0 14px 48px rgba(0,0,0,0.10);
  transform: translateX(-50%) translateY(-2px);
}

/* Play button — dark circle, green on hover */
.fc-play-sticky__btn {
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--fc-ink);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; cursor: pointer;
  transition: background 0.2s, transform 0.2s;
  border: none;
}
.fc-play-sticky__btn:hover {
  background: var(--fc-accent);
  transform: scale(1.05);
}
.fc-play-sticky__btn svg { width: 14px; height: 14px; fill: var(--fc-surface); margin-left: 2px; }

/* Text */
.fc-play-sticky__text { flex: 1; min-width: 0; }
.fc-play-sticky__label {
  font-size: 0.82rem; font-weight: var(--fc-w-bold);
  color: var(--fc-ink); line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fc-play-sticky__sub {
  font-size: 0.65rem; color: var(--fc-dim); line-height: 1.3;
}

/* Waveform bars */
.fc-play-sticky__bars {
  display: flex; align-items: flex-end; gap: 3px;
  height: 20px; flex-shrink: 0;
}
.fc-play-sticky__bars span {
  width: 3px; border-radius: 2px;
  background: var(--fc-accent);
  opacity: 0.35;
}
.fc-play-sticky__bars span:nth-child(1) { height: 6px; }
.fc-play-sticky__bars span:nth-child(2) { height: 14px; }
.fc-play-sticky__bars span:nth-child(3) { height: 9px; }

/* ── Legacy claim single-page CSS REMOVED v12.11.0 ──
   All claim single-page styles now live in components.css (v4.0 rebuild).
   Archive page styles (fc-claims-*) remain below. */

/* Study context banner */
/* ── BLOCK 1 REMOVED: Old claim single-page CSS (v1/v2) — now in components.css v4.0 ──
   See CLAIM_PAGE_REBUILD_BRIEF.md for migration rationale. */

/* ─── Sidebar: Section wrapper ─── */
/* Each .fc-side-section is separated by the parent flex gap (28px).
   Sections are self-contained — no extra margin needed. */
.fc-side-section { }

/* ─── Sidebar: Section Label (shared by study + claim) ─── */
/* Notion-style: quiet, confident, not shouty. */
/* v6.3: Slightly smaller, quieter — Notion/Linear confidence */
.fc-side-label {
  font-size: 0.62rem;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--fc-ghost);
  margin-bottom: 10px;
}

/* ─── Sidebar: Divider ─── */
/* Note: homepage sidebar uses its own divider styling in components.css.
   This targets magazine-layout sidebars (study/claim) which use flex gap. */

/* ─── Sidebar: Confidence Card — hero of the sidebar, big centered number ─── */
.fc-side-confidence {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  padding: 28px 24px 22px;
  text-align: center;
}
.fc-side-confidence__number {
  font-size: 4rem;
  font-weight: var(--fc-w-light);
  letter-spacing: -2px;
  line-height: 1;
  color: var(--fc-ink);
}
.fc-side-confidence__verdict {
  font-size: 0.72rem;
  font-weight: var(--fc-w-bold);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--fc-accent);
  margin-top: 4px;
}
.fc-side-confidence__bar {
  height: 3px;
  background: var(--fc-rail);
  border-radius: 2px;
  margin-top: 18px;
  overflow: hidden;
}
.fc-side-confidence__fill {
  height: 100%;
  background: var(--fc-accent);
  border-radius: 2px;
}

/* ─── Sidebar: Source Block ─── */
.fc-side-source {
  font-size: 0.85rem;
  line-height: 1.55;
}
.fc-side-source__journal {
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  font-size: 0.88rem;
  margin-bottom: 2px;
}
.fc-side-source__authors {
  color: var(--fc-dim);
  font-size: 0.82rem;
}
.fc-side-source__detail {
  color: var(--fc-ghost);
  font-size: 0.78rem;
  margin-top: 4px;
}

/* ─── Sidebar: Metrics — stacked label/value for readability ─── */
/* v6.3: Tighter metrics — less internal padding, refined type */
.fc-side-metrics {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 16px 18px;
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.02);
}
.fc-side-metric-row {
  padding: 8px 0;
  border-bottom: 1px solid var(--fc-border-light);
}
.fc-side-metric-row:first-child { padding-top: 0; }
.fc-side-metric-row:last-child { border-bottom: none; padding-bottom: 0; }
.fc-side-metric-row__label {
  font-size: 0.58rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ghost);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 1px;
}
.fc-side-metric-row__value {
  font-size: 0.82rem;
  color: var(--fc-ink);
  line-height: 1.4;
}

/* ─── Sidebar: Badges ─── */
.fc-side-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.fc-side-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.62rem;
  font-weight: var(--fc-w-semibold);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.fc-side-badge--meta { background: rgba(0,209,142,0.06); color: var(--fc-design-rct); }
.fc-side-badge--verified { background: rgba(0,209,142,0.06); color: var(--fc-design-rct); }
.fc-side-badge--rct { background: rgba(139,92,246,0.06); color: var(--fc-design-cross); }
.fc-side-badge--observational { background: rgba(245,158,11,0.06); color: var(--fc-design-animal); }
.fc-side-badge svg { width: 10px; height: 10px; }

/* ─── Sidebar: DOI Link ─── */
.fc-side-doi {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  transition: border-color 0.15s;
}
.fc-side-doi:hover { border-color: var(--fc-accent); }
.fc-side-doi__icon {
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--fc-accent-dim);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.fc-side-doi__icon svg { width: 15px; height: 15px; stroke: var(--fc-accent); }
.fc-side-doi__kicker {
  font-size: 0.6rem; font-weight: var(--fc-w-semibold);
  text-transform: uppercase; letter-spacing: 0.5px; color: var(--fc-ghost);
}
.fc-side-doi__title {
  font-size: 0.82rem; color: var(--fc-accent); font-weight: var(--fc-w-medium);
}

/* ─── Sidebar: Study Type Explainer (collapsible) ─── */
/* <details> disclosure — "What kind of study is this?"
   Matches fc-claim-faq pattern: hide native marker, custom chevron, rotate on open. */
.fc-side-explainer {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.15s;
}
.fc-side-explainer[open] {
  border-color: var(--fc-accent);
}
.fc-side-explainer__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  cursor: pointer;
  list-style: none;
  transition: background 0.15s ease;
}
.fc-side-explainer__q::-webkit-details-marker {
  display: none;
}
.fc-side-explainer__q:hover {
  background: var(--fc-accent-dim);
}
.fc-side-explainer__q::after {
  content: '';
  width: 7px;
  height: 7px;
  border-right: 1.5px solid var(--fc-ghost);
  border-bottom: 1.5px solid var(--fc-ghost);
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-left: 8px;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.fc-side-explainer[open] > .fc-side-explainer__q::after {
  transform: rotate(-135deg);
  border-color: var(--fc-accent);
}
.fc-side-explainer__a {
  padding: 0 16px 14px;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  line-height: var(--fc-lh-ui);
  color: var(--fc-body);
  border-top: 1px solid var(--fc-border-light);
}
.fc-side-explainer__a p {
  margin-bottom: 0.7em;
}
.fc-side-explainer__a p:last-child {
  margin-bottom: 0;
}

/* ─── Sidebar: Related Items (simple list) ─── */
.fc-side-related {
  display: block;
  font-size: 0.85rem;
  color: var(--fc-body);
  padding: 10px 0;
  border-bottom: 1px solid var(--fc-border-light);
  cursor: pointer;
  transition: color 0.15s;
  line-height: 1.45;
}
.fc-side-related:first-of-type { padding-top: 0; }
.fc-side-related:last-child { border-bottom: none; padding-bottom: 0; }
.fc-side-related:hover { color: var(--fc-accent); }


/* ── BLOCK 2 REMOVED: Legacy claim sidebar CSS — now in components.css v4.0 ── */

/* ═══════════════════════════════════════════
   EVIDENCE BASE — Archive page for fc_study
   ═══════════════════════════════════════════ */

/* Header */
.fc-eb-header { margin-bottom: 24px; }
.fc-eb-kicker {
  font-size: var(--fc-text-micro); font-weight: var(--fc-w-black);
  text-transform: uppercase; letter-spacing: 2.5px;
  color: var(--fc-accent);
  margin-bottom: 16px;
}
.fc-eb-title {
  font-family: var(--fc-serif); font-size: var(--fc-text-h1); font-weight: var(--fc-w-regular);
  line-height: var(--fc-lh-heading); letter-spacing: -1.5px; color: var(--fc-ink); margin-bottom: 14px;
}
.fc-eb-subtitle {
  font-size: var(--fc-text-ui); line-height: 1.7; color: var(--fc-dim);
}

/* Sidebar stats (moved from main content) */
.fc-eb-stats-side {
  display: flex; gap: 0; justify-content: space-between;
  padding: 16px 0;
  border: 1px solid var(--fc-border);
  border-radius: 10px;
  background: var(--fc-bg);
}
.fc-eb-stat-side {
  text-align: center; flex: 1;
  position: relative;
}
.fc-eb-stat-side + .fc-eb-stat-side::before {
  content: '';
  position: absolute; left: 0; top: 4px; bottom: 4px;
  width: 1px; background: var(--fc-border);
}
.fc-eb-stat-side__num {
  display: block;
  font-family: var(--fc-display);
  font-size: 1.5rem; font-weight: var(--fc-w-semibold); color: var(--fc-ink);
  letter-spacing: -0.5px; line-height: 1;
}
.fc-eb-stat-side__label {
  display: block;
  font-size: 0.58rem; color: var(--fc-ghost); text-transform: uppercase;
  letter-spacing: 0.5px; margin-top: 5px;
}

/* Filter system — matches Truth Map whisper-quiet density */
.fc-eb-filter-group { margin-bottom: 12px; }
.fc-eb-filter-group:last-of-type { margin-bottom: 24px; }
.fc-eb-filter-label {
  font-size: 0.55rem; font-weight: var(--fc-w-medium); text-transform: uppercase;
  letter-spacing: 0.8px; color: var(--fc-ghost); margin-bottom: 6px;
}
.fc-eb-filter-row { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; }

/* Design filter pills */
.fc-eb-design {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; border-radius: 5px; font-size: 0.65rem; font-weight: var(--fc-w-medium);
  color: var(--fc-ghost); border: 1px solid rgba(0,0,0,0.06); transition: all 0.15s;
  cursor: pointer; background: transparent;
}
.fc-eb-design:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-eb-design--active { background: var(--fc-ink); color: var(--fc-surface); border-color: var(--fc-ink); font-weight: var(--fc-w-semibold); }
.fc-eb-design--active:hover { color: var(--fc-surface); border-color: var(--fc-body); background: var(--fc-body); }
.fc-eb-design__icon { width: 12px; height: 12px; display: flex; align-items: center; }
.fc-eb-design__icon svg { width: 12px; height: 12px; }
.fc-eb-design--active .fc-eb-design__icon svg { stroke: rgba(255,255,255,0.8); }
.fc-eb-design__count {
  font-size: 0.55rem; font-family: var(--fc-mono); opacity: 0.5;
  background: rgba(0,0,0,0.04); padding: 1px 5px; border-radius: 3px;
}
.fc-eb-design--active .fc-eb-design__count { background: rgba(255,255,255,0.15); opacity: 1; }

/* Topic filter pills */
.fc-eb-topic {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; border-radius: var(--fc-radius-pill); font-size: 0.65rem; font-weight: var(--fc-w-regular);
  color: var(--fc-ghost); border: 1px solid rgba(0,0,0,0.06); transition: all 0.15s;
  cursor: pointer; background: transparent;
}
.fc-eb-topic:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-eb-topic--active { background: var(--fc-ink); color: var(--fc-surface); border-color: var(--fc-ink); font-weight: var(--fc-w-medium); }
.fc-eb-topic--active:hover { color: var(--fc-surface); border-color: var(--fc-body); background: var(--fc-body); }
.fc-eb-topic__dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }

/* Study cards — compact row-based design for scale */
.fc-eb-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--fc-border);
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  overflow: hidden;
}

.fc-eb-study {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px;
  background: var(--fc-card);
  transition: background 0.12s;
  cursor: pointer;
}
.fc-eb-study:hover {
  background: rgba(0,0,0,0.015);
}
.fc-eb-study.is-hidden { display: none; }

.fc-eb-study__top {
  display: flex; align-items: center; gap: 6px;
  flex-shrink: 0; min-width: 120px;
  flex-wrap: wrap;
}

.fc-eb-study__design {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 2px 8px; border-radius: var(--fc-radius-xxs);
  font-size: 0.55rem; font-weight: var(--fc-w-semibold); text-transform: uppercase; letter-spacing: 0.3px;
  background: rgba(99,102,241,0.08); color: var(--fc-design-meta); white-space: nowrap;
}
.fc-eb-study__design svg { width: 10px; height: 10px; stroke: currentColor; }
.fc-eb-study__design--meta-analysis { background: rgba(0,209,142,0.08); color: var(--fc-design-rct); }
.fc-eb-study__design--systematic-review { background: rgba(59,130,246,0.08); color: var(--fc-design-cohort); }
.fc-eb-study__design--rct { background: rgba(139,92,246,0.08); color: var(--fc-design-cross); }
.fc-eb-study__design--observational { background: rgba(245,158,11,0.08); color: var(--fc-design-animal); }
.fc-eb-study__design--cross-sectional { background: rgba(236,72,153,0.08); color: #DB2777; }
.fc-eb-study__design--case-study { background: rgba(107,114,128,0.08); color: #4B5563; }

.fc-eb-study__source {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 3px 8px; border-radius: 5px;
  font-size: 0.6rem; font-weight: var(--fc-w-medium);
}
.fc-eb-study__source svg { width: 10px; height: 10px; }
.fc-eb-study__source--full_paper_verified { background: rgba(0,209,142,0.08); color: var(--fc-design-rct); }
.fc-eb-study__source--abstract_only { background: rgba(245,158,11,0.08); color: var(--fc-design-animal); }
.fc-eb-study__source--paywalled_pending { background: rgba(99,102,241,0.08); color: var(--fc-design-meta); }
.fc-eb-study__source--retracted { background: rgba(239,68,68,0.08); color: #DC2626; }

/* Study card — middle section (title + finding) */
.fc-eb-study__body { flex: 1; min-width: 0; }

.fc-eb-study__title {
  font-size: 0.88rem; font-weight: var(--fc-w-semibold); color: var(--fc-ink);
  line-height: 1.3; margin-bottom: 3px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.fc-eb-study__finding {
  font-family: var(--fc-display); font-size: 0.78rem; font-style: italic;
  color: var(--fc-dim); line-height: 1.4;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.fc-eb-study__summary { display: none; }

.fc-eb-study__meta {
  display: flex; align-items: center; gap: 8px;
  font-size: 0.68rem; color: var(--fc-ghost); margin-top: 2px;
}
.fc-eb-study__journal { font-style: italic; }

.fc-eb-study__footer {
  display: flex; align-items: center; gap: 12px;
  font-size: 0.65rem; color: var(--fc-ghost);
  flex-shrink: 0; white-space: nowrap;
  margin-left: auto;
}
.fc-eb-study__stat {
  display: inline-flex; align-items: center; gap: 4px;
}
.fc-eb-study__stat svg { flex-shrink: 0; }
.fc-eb-study__cluster { display: inline-flex; align-items: center; gap: 5px; }
.fc-eb-study__cluster-dot { width: 6px; height: 6px; border-radius: 50%; }
.fc-eb-study__doi {
  font-family: var(--fc-mono); font-size: 0.6rem; font-weight: var(--fc-w-semibold);
  color: var(--fc-accent); letter-spacing: 0.5px;
  cursor: pointer; transition: background 0.15s, color 0.15s;
  padding: 2px 6px; border-radius: var(--fc-radius-xxs);
}
.fc-eb-study__doi:hover {
  background: var(--fc-accent); color: var(--fc-surface);
}
.fc-eb-study__doi svg { transition: stroke 0.15s; }
.fc-eb-study__doi:hover svg { stroke: var(--fc-surface); }

.fc-eb-empty { color: var(--fc-dim); font-size: 0.88rem; padding: 48px 0; }

/* Evidence Base sidebar */
.fc-eb-design-legend { display: flex; flex-direction: column; gap: 0; }
.fc-eb-legend-item { display: flex; gap: 10px; padding: 8px 0; }
.fc-eb-legend-item__icon { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }
.fc-eb-legend-item__icon svg { width: 16px; height: 16px; stroke: var(--fc-dim); }
.fc-eb-legend-item__name { font-size: 0.78rem; font-weight: var(--fc-w-semibold); color: var(--fc-ink); margin-bottom: 2px; }
.fc-eb-legend-item__desc { font-size: 0.68rem; color: var(--fc-dim); line-height: 1.45; }


/* ═══════════════════════════════════════════
   STUDY ENTRIES — Newspaper-style index (v11.38.0)
   Sharp corners. Thin separators. Bylines.
   The "raw evidence" layer — editorial but academic.
   ═══════════════════════════════════════════ */

/* ─── Study entries — Spotify-style rows with play buttons ─── */
.fc-study-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.fc-study-entry {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  padding: var(--fc-space-3) var(--fc-space-3);
  border-radius: var(--fc-radius-sm);
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}

.fc-study-entry:hover {
  background: var(--fc-surface-hover, rgba(0,0,0,0.025));
}

/* ─── Play button — 40px green circle ─── */
.fc-study-entry__play {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fc-accent);
  color: var(--fc-surface);
  transition: transform 0.15s ease, background 0.15s ease;
  flex-shrink: 0;
}

.fc-study-entry__play:hover {
  transform: scale(1.08);
}

.fc-study-entry__play svg { width: 16px; height: 16px; }

/* Play/pause icon toggle */
.fc-study-entry__play .fc-home-icon-pause { display: none; }
.fc-study-entry--playing .fc-study-entry__play .fc-home-icon-play { display: none; }
.fc-study-entry--playing .fc-study-entry__play .fc-home-icon-pause { display: block; }

/* Playing state: button goes dark */
.fc-study-entry--playing .fc-study-entry__play {
  background: var(--fc-ink);
  color: var(--fc-surface);
}

/* ─── Wave bars — always visible, animate when playing ─── */
.fc-study-entry__wave {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 24px;
  flex-shrink: 0;
}

.fc-study-entry__wave span {
  display: block;
  width: 3px;
  border-radius: 2px;
  background: var(--fc-border);
  transform-origin: center center;
  will-change: transform;
  transition: background 0.2s ease;
}

.fc-study-entry__wave span:nth-child(1) { height: 8px; }
.fc-study-entry__wave span:nth-child(2) { height: 14px; }
.fc-study-entry__wave span:nth-child(3) { height: 10px; }
.fc-study-entry__wave span:nth-child(4) { height: 18px; }
.fc-study-entry__wave span:nth-child(5) { height: 12px; }
.fc-study-entry__wave span:nth-child(6) { height: 20px; }
.fc-study-entry__wave span:nth-child(7) { height: 14px; }
.fc-study-entry__wave span:nth-child(8) { height: 8px; }

.fc-study-entry--playing .fc-study-entry__wave span {
  background: var(--fc-accent);
  animation: fc-wave-pulse 0.8s ease-in-out infinite alternate;
}

.fc-study-entry--playing .fc-study-entry__wave span:nth-child(1) { animation-delay: 0s; }
.fc-study-entry--playing .fc-study-entry__wave span:nth-child(2) { animation-delay: 0.1s; }
.fc-study-entry--playing .fc-study-entry__wave span:nth-child(3) { animation-delay: 0.2s; }
.fc-study-entry--playing .fc-study-entry__wave span:nth-child(4) { animation-delay: 0.3s; }
.fc-study-entry--playing .fc-study-entry__wave span:nth-child(5) { animation-delay: 0.4s; }
.fc-study-entry--playing .fc-study-entry__wave span:nth-child(6) { animation-delay: 0.5s; }
.fc-study-entry--playing .fc-study-entry__wave span:nth-child(7) { animation-delay: 0.6s; }
.fc-study-entry--playing .fc-study-entry__wave span:nth-child(8) { animation-delay: 0.7s; }


/* ─── Paused state: frozen green waves + accent ring ─── */
.fc-study-entry--paused .fc-study-entry__play {
  background: var(--fc-accent);
  color: var(--fc-surface);
  box-shadow: 0 0 0 2.5px var(--fc-surface), 0 0 0 4.5px var(--fc-accent);
}
.fc-study-entry--paused .fc-study-entry__play .fc-home-icon-play { display: block; }
.fc-study-entry--paused .fc-study-entry__play .fc-home-icon-pause { display: none; }
.fc-study-entry--paused .fc-study-entry__wave span {
  background: var(--fc-accent);
  animation: none;
}

/* ─── No-audio icon fallback ─── */
.fc-study-entry__icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fc-surface-alt, var(--fc-border-light));
  color: var(--fc-dim);
  flex-shrink: 0;
}

.fc-study-entry__icon svg { width: 16px; height: 16px; }

/* ─── Body — title + meta row ─── */
.fc-study-entry__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
  color: inherit;
}

.fc-study-entry__headline {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-semibold);
  line-height: 1.35;
  letter-spacing: -0.2px;
  color: var(--fc-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s ease;
}

.fc-study-entry:hover .fc-study-entry__headline {
  color: var(--fc-accent);
}

.fc-study-entry__teaser {
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--fc-dim);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.fc-study-entry__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  font-size: 0.68rem;
  color: var(--fc-ghost);
  font-weight: var(--fc-w-medium);
  line-height: 1.4;
}

.fc-study-entry__sep {
  margin: 0 5px;
  color: var(--fc-border);
}

.fc-study-entry__journal-tag {
  font-style: italic;
}

/* ─── Arrow link ─── */
.fc-study-entry__link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.fc-study-entry__arrow {
  color: var(--fc-ghost);
  transition: color 0.15s ease, transform 0.15s ease;
}

.fc-study-entry:hover .fc-study-entry__arrow {
  color: var(--fc-accent);
  transform: translateX(3px);
}

/* ─── Mobile ─── */
@media (max-width: 767px) {
  .fc-study-entry {
    gap: var(--fc-space-3);
    padding: var(--fc-space-4) var(--fc-space-3);
  }
  .fc-study-entry__play {
    width: 36px;
    height: 36px;
    min-width: 36px;
  }
  .fc-study-entry__play svg { width: 13px; height: 13px; }
  .fc-study-entry__icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
  }
  .fc-study-entry__body {
    gap: var(--fc-space-1);
  }
  .fc-study-entry__headline {
    font-size: 0.84rem;
    white-space: normal;
    line-height: 1.3;
  }
  .fc-study-entry__teaser {
    display: none;
  }
  .fc-study-entry__wave {
    display: none;
  }
  .fc-study-entry__meta {
    font-size: 0.62rem;
    margin-top: var(--fc-space-0);
  }
  /* Mobile: show author + year only — journal & sample belong on the study page */
  .fc-study-entry__journal-tag,
  .fc-study-entry__sample {
    display: none !important;
  }
  .fc-study-entry__sep:has(+ .fc-study-entry__journal-tag),
  .fc-study-entry__sep:has(+ .fc-study-entry__sample) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fc-study-entry__wave span { animation: none !important; }
}


/* Fuel-only "Evidence Base — Supporting Research" + "Research Brief v2.0" CSS REMOVED v12.5.0 (2026-04-15) — tier retired per REBUILD_PLAN Audit-3. */


/* ═══════════════════════════════════════════
   SINGLE STUDY — Elite Detail Page v2.0
   Narrow prose (660px) + wide structural elements.
   Creates visual rhythm: narrow text, wide cards.
   ═══════════════════════════════════════════ */

/* ─── Prose Container ─── */
/* Reading zone — width now controlled by center column max-width.
   Wide elements (trust bar, claims) live OUTSIDE this. */
.fc-study-prose {
  /* no max-width — center column is capped at 820px with 56px padding */
  margin-bottom: 0;
}

/* ─── Badges ─── */
.fc-study-badges {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 24px; flex-wrap: wrap;
}

.fc-study-badge-design {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 5px 14px; border-radius: 6px;
  font-size: 0.68rem; font-weight: var(--fc-w-semibold);
  text-transform: uppercase; letter-spacing: 0.3px;
  background: rgba(99,102,241,0.08); color: var(--fc-design-meta);
}
.fc-study-badge-design--meta-analysis { background: rgba(0,209,142,0.08); color: var(--fc-design-rct); }
.fc-study-badge-design--systematic-review { background: rgba(59,130,246,0.08); color: var(--fc-design-cohort); }
.fc-study-badge-design--rct { background: rgba(139,92,246,0.08); color: var(--fc-design-cross); }
.fc-study-badge-design--observational { background: rgba(245,158,11,0.08); color: var(--fc-design-animal); }
.fc-study-badge-design--cross-sectional { background: rgba(236,72,153,0.08); color: #DB2777; }
.fc-study-badge-design--case-study { background: rgba(107,114,128,0.08); color: #4B5563; }

.fc-study-badge-source {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 5px 12px; border-radius: 6px;
  font-size: 0.68rem; font-weight: var(--fc-w-semibold);
}
.fc-study-badge-source svg { flex-shrink: 0; }
.fc-study-badge-source--full_paper_verified { background: rgba(0,209,142,0.08); color: var(--fc-design-rct); }
.fc-study-badge-source--abstract_only { background: rgba(245,158,11,0.08); color: var(--fc-design-animal); }
.fc-study-badge-source--paywalled_pending { background: rgba(99,102,241,0.08); color: var(--fc-design-meta); }
.fc-study-badge-source--retracted { background: rgba(239,68,68,0.08); color: #DC2626; }

/* ─── Study Title — Magazine-size, matches reading-v1 ─── */
.fc-study-title {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-hero);  /* 4.2rem */
  font-weight: var(--fc-w-regular);
  line-height: var(--fc-lh-tight); /* 1.06 */
  letter-spacing: -2px;
  color: var(--fc-ink);
  max-width: 840px;
}

/* ─── Byline ─── */
.fc-study-byline {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  font-size: 0.82rem; color: var(--fc-dim);
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--fc-border);
}
.fc-study-byline__ref { font-weight: var(--fc-w-medium); color: var(--fc-ink); }
.fc-study-byline__journal { font-style: italic; }

/* ─── Trust Bar — Metric Chips ─── */
.fc-study-trust {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-bottom: var(--fc-section-gap);
}
.fc-study-trust__item {
  display: flex; flex-direction: column;
  padding: 16px 22px;
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  min-width: 130px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.fc-study-trust__item:hover {
  border-color: var(--fc-dim);
  box-shadow: var(--fc-shadow-sm);
}
.fc-study-trust__num {
  font-size: 1.3rem; font-weight: var(--fc-w-bold);
  color: var(--fc-ink); letter-spacing: -0.5px;
  margin-bottom: 2px;
}
.fc-study-trust__label {
  font-size: 0.6rem; color: var(--fc-ghost);
  text-transform: uppercase; letter-spacing: 0.5px;
  font-weight: var(--fc-w-medium);
}

/* ─── Key Finding — White card with floating badge, reading-v1 style ─── */
.fc-study-key-finding {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 16px;
  padding: 36px 32px 28px;
  margin: 2.4em 0;
  box-shadow: var(--fc-shadow);
  position: relative;
}
.fc-study-key-finding__kicker {
  position: absolute;
  top: -11px; left: 24px;
  display: inline-flex;
  font-size: 0.56rem; font-weight: var(--fc-w-bold);
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 5px 14px; border-radius: var(--fc-radius-pill);
  background: var(--fc-ink); color: var(--fc-accent);
  line-height: 1;
}
.fc-study-key-finding__text {
  font-family: var(--fc-display);
  font-size: 1.5rem;
  font-weight: var(--fc-w-regular);
  line-height: 1.4;
  color: var(--fc-ink);
  margin-top: 4px;
  letter-spacing: -0.3px;
}
/* v12.4.13 — Source attribution line. Sits inside the white card beneath the bold punchline.
   Small, muted, sans — same visual logic as fc-study-hero-stat__source. */
.fc-study-key-finding__source {
  font-family: var(--fc-sans);
  font-size: 0.85rem;
  color: var(--fc-dim);
  line-height: 1.5;
  margin-top: 1.2em;
  letter-spacing: 0.01em;
}

/* ─── Plain Summary — Generous Reading ─── */
.fc-study-plain {
  margin-bottom: var(--fc-section-gap);
}
.fc-study-plain__kicker {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-semibold);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--fc-accent);
  margin-bottom: 16px;
  font-family: var(--fc-mono);
}
.fc-study-plain__text {
  font-family: var(--fc-serif);
  font-size: 1.15rem;
  line-height: 1.9;
  color: var(--fc-body);
  letter-spacing: 0.01em;
}

/* ─── Inline Study Type Explainer ─── */
.fc-study-explainer-inline {
  margin-bottom: var(--fc-section-gap);
  padding: 22px 26px;
  background: rgba(99,102,241,0.03);
  border: 1px solid rgba(99,102,241,0.06);
  border-radius: 12px;
}
.fc-study-explainer-inline__q {
  font-size: 0.82rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  margin-bottom: 8px;
}
.fc-study-explainer-inline__a {
  font-size: 0.92rem;
  color: var(--fc-dim);
  line-height: 1.7;
}

/* ─── Claims Gallery — bottom of story, matches reading-v1 ─── */
.fc-study-claims-section {
  margin-top: 3em;
  padding-top: 2.5em;
  border-top: 1px solid var(--fc-border);
}
.fc-study-claims-heading {
  font-family: var(--fc-serif);
  font-size: 1.8rem;
  font-weight: var(--fc-w-regular);
  letter-spacing: -0.5px;
  color: var(--fc-ink);
  margin-bottom: 10px;
}
.fc-study-claims-intro {
  font-size: 0.88rem;
  color: var(--fc-dim);
  line-height: 1.6;
  margin-bottom: 28px;
  max-width: 44rem;
}
.fc-study-claims-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

/* ─── Claim Cards ─── */
.fc-study-claim-card {
  display: flex; flex-direction: column;
  padding: 20px 24px;
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 12px;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.fc-study-claim-card:hover {
  border-color: var(--fc-dim);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  transform: translateY(-1px);
}

.fc-study-claim-card__top { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.fc-study-claim-card__grade {
  padding: 3px 8px; border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.6rem; font-weight: var(--fc-w-bold); color: var(--fc-surface); flex-shrink: 0;
  letter-spacing: 0.02em;
  transition: box-shadow 0.2s;
}
.fc-study-claim-card:hover .fc-study-claim-card__grade {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04);
}
.fc-study-claim-card__verdict {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 10px; border-radius: 5px;
  font-size: 0.58rem; font-weight: var(--fc-w-semibold);
  text-transform: uppercase; letter-spacing: 0.3px;
}
.fc-study-claim-card__verdict--verified  { background: var(--fc-verified-bg); color: var(--fc-design-rct); }
.fc-study-claim-card__verdict--emerging  { background: var(--fc-emerging-bg); color: var(--fc-design-meta); }
.fc-study-claim-card__verdict--contested { background: var(--fc-contested-bg); color: var(--fc-design-animal); }
.fc-study-claim-card__verdict-dot { width: 5px; height: 5px; border-radius: 50%; }
.fc-study-claim-card__verdict--verified .fc-study-claim-card__verdict-dot  { background: var(--fc-verified); }
.fc-study-claim-card__verdict--emerging .fc-study-claim-card__verdict-dot  { background: var(--fc-emerging); }
.fc-study-claim-card__verdict--contested .fc-study-claim-card__verdict-dot { background: var(--fc-contested); }

.fc-study-claim-card__title {
  font-size: 0.92rem; font-weight: var(--fc-w-semibold);
  color: var(--fc-ink); line-height: 1.35;
  margin-bottom: 6px; flex: 1;
}
.fc-study-claim-card__stmt {
  font-size: 0.78rem; color: var(--fc-dim);
  line-height: 1.55; margin-bottom: 12px;
  display: -webkit-box; -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; overflow: hidden;
}
.fc-study-claim-card__score { display: none; }
.fc-study-claim-card__tier-link {
  display: flex; align-items: center; gap: 5px;
  margin-top: auto;
  font-family: var(--fc-sans); font-size: 0.7rem;
  color: var(--fc-dim); letter-spacing: 0.01em;
}
.fc-study-claim-card__tier-dot {
  width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
}

/* DOI CTA in sidebar */
.fc-study-doi-cta {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px; background: var(--fc-card);
  border: 1px solid var(--fc-border); border-radius: 10px;
  transition: border-color 0.15s;
}
.fc-study-doi-cta:hover { border-color: var(--fc-accent); }
.fc-study-doi-cta__icon {
  width: 32px; height: 32px; border-radius: 8px; background: rgba(0,209,142,0.07);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.fc-study-doi-cta__icon svg { width: 16px; height: 16px; stroke: var(--fc-accent); }
.fc-study-doi-cta__kicker {
  font-size: 0.58rem; font-weight: var(--fc-w-semibold);
  text-transform: uppercase; letter-spacing: 0.5px; color: var(--fc-ghost);
}
.fc-study-doi-cta__title { font-size: 0.78rem; color: var(--fc-accent); font-weight: var(--fc-w-medium); }


/* ═══════════════════════════════════════════
   GLOBAL STICKY AUDIO CTA
   Pinned to bottom of every sidebar. Core USP.
   ═══════════════════════════════════════════ */

/* .fc-sidebar__scroll base is now in layouts.css (single source of truth) */

/* The sticky audio block — holds both tiers */
.fc-audio-sticky {
  flex-shrink: 0;
  padding: 16px 24px 20px;
  border-top: 1px solid var(--fc-border);
  background: var(--fc-bg);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fc-audio-sticky__cta {
  background: var(--fc-ink);
  border-radius: 12px;
  padding: 14px 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: background 0.15s, box-shadow 0.2s;
  position: relative;
  overflow: hidden;
}
.fc-audio-sticky__cta::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(135deg, rgba(0,209,142,0.08) 0%, transparent 60%);
  pointer-events: none;
}
.fc-audio-sticky__cta:hover {
  background: var(--fc-body);
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.fc-audio-sticky__icon {
  width: 36px; height: 36px;
  background: rgba(255,255,255,0.08);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background 0.15s;
}
.fc-audio-sticky__cta:hover .fc-audio-sticky__icon {
  background: rgba(0,209,142,0.15);
}
.fc-audio-sticky__icon svg { width: 18px; height: 18px; stroke: var(--fc-accent); }

.fc-audio-sticky__text { flex: 1; min-width: 0; }
.fc-audio-sticky__kicker {
  font-size: 0.56rem; font-weight: var(--fc-w-bold);
  text-transform: uppercase; letter-spacing: 0.8px;
  color: rgba(255,255,255,0.35); margin-bottom: 1px;
}
.fc-audio-sticky__title {
  font-size: 0.82rem; color: rgba(255,255,255,0.92);
  font-weight: var(--fc-w-medium); line-height: 1.3;
}
.fc-audio-sticky__title em {
  color: var(--fc-accent); font-style: italic;
  font-family: var(--fc-display);
}

/* Animated sound bars */
.fc-audio-sticky__bars {
  display: flex; align-items: flex-end; gap: 2px;
  height: 20px; flex-shrink: 0;
}
.fc-audio-sticky__bars span {
  width: 3px; border-radius: 2px;
  background: var(--fc-accent);
  animation: fc-bar-bounce 1.2s ease-in-out infinite;
}
.fc-audio-sticky__bars span:nth-child(1) { height: 8px;  animation-delay: 0s; }
.fc-audio-sticky__bars span:nth-child(2) { height: 14px; animation-delay: 0.15s; }
.fc-audio-sticky__bars span:nth-child(3) { height: 6px;  animation-delay: 0.3s; }
.fc-audio-sticky__bars span:nth-child(4) { height: 12px; animation-delay: 0.45s; }

@keyframes fc-bar-bounce {
  0%, 100% { transform: scaleY(0.4); opacity: 0.5; }
  50%      { transform: scaleY(1);   opacity: 1; }
}

/* Quiet the sidebar CTA bars when the player is active —
   player is the hero, CTA steps back */
body.fc-audio-playing .fc-audio-sticky__bars span {
  animation-play-state: paused;
  opacity: 0.25;
}
body.fc-audio-playing .fc-audio-sticky__cta {
  opacity: 0.85;
  transition: opacity 0.3s ease;
}


/* ═══════════════════════════════════════════
   TIER 1: INSTANT PLAY — content pages only
   Compact "play this page" button. Accent-forward.
   ═══════════════════════════════════════════ */

.fc-instant-play {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 10px 14px;
  background: linear-gradient(135deg, rgba(0,209,142,0.10) 0%, rgba(0,209,142,0.04) 100%);
  border: 1px solid rgba(0,209,142,0.18);
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.fc-instant-play:hover {
  background: linear-gradient(135deg, rgba(0,209,142,0.16) 0%, rgba(0,209,142,0.08) 100%);
  border-color: rgba(0,209,142,0.35);
  box-shadow: 0 4px 16px rgba(0,209,142,0.12);
  transform: translateY(-1px);
}
.fc-instant-play:active {
  transform: translateY(0);
}

/* Play button circle */
.fc-instant-play__btn {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--fc-accent);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,209,142,0.3);
  transition: transform 0.2s, box-shadow 0.2s;
}
.fc-instant-play:hover .fc-instant-play__btn {
  transform: scale(1.08);
  box-shadow: 0 3px 12px rgba(0,209,142,0.4);
}
.fc-instant-play__btn svg {
  width: 12px; height: 12px;
  color: var(--fc-surface);
  margin-left: 1px; /* optical centering for play triangle */
}

/* Text */
.fc-instant-play__text {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 1px;
}
.fc-instant-play__label {
  font-size: 0.78rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  line-height: 1.2;
}
.fc-instant-play__sub {
  font-size: 0.65rem;
  color: var(--fc-dim);
  line-height: 1.3;
}

/* Mini equalizer — only animates on hover to hint at interactivity */
.fc-instant-play__eq {
  display: flex; align-items: flex-end; gap: 2px;
  height: 16px; flex-shrink: 0;
}
.fc-instant-play__eq span {
  width: 2.5px; border-radius: 1.5px;
  background: var(--fc-accent);
  transition: height 0.3s ease;
}
.fc-instant-play__eq span:nth-child(1) { height: 4px; }
.fc-instant-play__eq span:nth-child(2) { height: 8px; }
.fc-instant-play__eq span:nth-child(3) { height: 5px; }

.fc-instant-play:hover .fc-instant-play__eq span {
  animation: fc-bar-bounce 1.2s ease-in-out infinite;
}
.fc-instant-play:hover .fc-instant-play__eq span:nth-child(1) { height: 6px;  animation-delay: 0s; }
.fc-instant-play:hover .fc-instant-play__eq span:nth-child(2) { height: 14px; animation-delay: 0.15s; }
.fc-instant-play:hover .fc-instant-play__eq span:nth-child(3) { height: 8px;  animation-delay: 0.3s; }


/* Site footer — inside scroll wrapper, only visible when scrolled to bottom.
   Floating glass pill player sits above the page via position:fixed. */


/* ═══════════════════════════════════════════
   SINGLE STUDY — ELITE MICRO-INTERACTIONS
   Scroll reveals, progress bar, section nav,
   copy citation, whisper toggle, counters.
   ═══════════════════════════════════════════ */

/* A. Scroll-triggered reveal animations */
.fc-reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.fc-reveal--visible {
  opacity: 1;
  transform: translateY(0);
}

/* C. Sticky section nav */
.fc-study-section-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0 8px;
  flex-shrink: 0;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.25s ease, max-height 0.25s ease;
  border-bottom: 1px solid transparent;
}
.fc-study-section-nav--visible {
  opacity: 1;
  max-height: 40px;
  border-bottom-color: var(--fc-border);
}
.fc-study-section-nav__btn {
  background: none;
  border: none;
  font-family: var(--fc-sans);
  font-size: 0.68rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ghost);
  cursor: pointer;
  padding: 2px 6px;
  border-radius: var(--fc-radius-xxs);
  transition: color 0.15s, background 0.15s;
}
.fc-study-section-nav__btn:hover {
  color: var(--fc-ink);
  background: var(--fc-card);
}
.fc-study-section-nav__sep {
  color: var(--fc-border);
  font-size: 0.8rem;
  user-select: none;
}

/* D. Copy citation button */
.fc-study-copy-citation {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 12px;
  padding: 6px 12px;
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: 6px;
  font-family: var(--fc-sans);
  font-size: 0.7rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-dim);
  cursor: pointer;
  transition: all 0.15s ease;
}
.fc-study-copy-citation:hover {
  border-color: var(--fc-accent);
  color: var(--fc-accent);
}
.fc-study-copy-citation--done {
  border-color: var(--fc-verified);
  color: var(--fc-verified);
  background: rgba(0, 209, 142, 0.04);
}

/* F. Whispered section — smooth toggle */
.fc-claim-whispered__toggle svg:last-child {
  transition: transform 0.25s ease;
}
.fc-claim-whispered__toggle[aria-expanded="true"] svg:last-child {
  transform: rotate(180deg);
}
.fc-claim-whispered__content {
  display: none;
}
.fc-claim-whispered__content.is-open {
  display: block;
}

/* G. Claim card — enhanced hover */
.fc-study-claim-card {
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.fc-study-claim-card:hover {
  border-color: var(--fc-dim);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.fc-study-claim-card__grade {
  transition: box-shadow 0.2s;
}
.fc-study-claim-card:hover .fc-study-claim-card__grade {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04);
}
.fc-study-claim-card__score-fill {
  transition: width 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

/* ═══════════════════════════════════════════════════
   GODMODE v3.3 — "The Reading Room"
   Typography system designed for legendary dwell time.

   Philosophy: magazine-grade reading rhythm.
   Narrative body = 19px serif at 65-70 chars/line.
   Sections breathe. Pull quotes break monotony.
   Every element has a purpose in the scroll cadence.
   ═══════════════════════════════════════════════════ */

/* ── So What callout ──────────────────────── */
.fc-study-so-what {
  margin: 28px 0 40px;
  padding: 24px 28px;
  background: var(--fc-bg-alt, #FAFAF9);
  border-radius: 14px;
  border-left: 4px solid var(--fc-accent, #00D18E);
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}
.fc-study-so-what__kicker {
  font-size: 11px;
  font-weight: var(--fc-w-extrabold);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--fc-accent, #00D18E);
  margin-bottom: 10px;
  font-family: var(--fc-sans, -apple-system, sans-serif);
}
.fc-study-so-what__text {
  font-size: 18px;
  line-height: 1.65;
  color: var(--fc-ink, #1A1A1A);
  font-family: var(--fc-serif, Georgia, serif);
}

/* ── Scene Setter — cinematic entrance ─────── */
.fc-study-scene-setter {
  margin: 0 0 40px;
  padding: 0 0 32px;
  border-bottom: 1px solid var(--fc-border, #E8E6E0);
  font-family: var(--fc-serif, Georgia, serif);
  font-size: 21px;
  line-height: 1.75;
  color: var(--fc-body, #2D2C2A);
  font-style: italic;
}
/* Drop cap on first paragraph */
.fc-study-scene-setter p:first-child::first-letter {
  float: left;
  font-size: 3.6em;
  line-height: 0.8;
  font-weight: var(--fc-w-bold);
  font-style: normal;
  margin: 4px 12px 0 0;
  color: var(--fc-ink, #1A1A1A);
  font-family: var(--fc-display, 'Playfair Display', Georgia, serif);
}
.fc-study-scene-setter p:first-child {
  font-size: 21px;
  line-height: 1.7;
}

/* ── Narrative — the main reading experience ── */
.fc-study-narrative {
  margin: 0 0 48px;
  max-width: 44rem; /* matches fc-article-body — 65 chars/line at 21px */
  font-family: var(--fc-serif, Georgia, serif);
  font-size: 21px;
  line-height: 1.75;
  color: var(--fc-body, #2D2C2A);
}
.fc-study-narrative p {
  margin-bottom: 1.4em;
}
/* Slightly more air after short punchy paragraphs (< 2 lines visually) */
.fc-study-narrative p + p {
  margin-top: 0;
}

/* Section headings — editorial chapter breaks */
.fc-study-narrative__heading {
  font-family: var(--fc-sans, -apple-system, sans-serif);
  font-size: 1.55rem;
  font-weight: var(--fc-w-extrabold);
  margin: 56px 0 20px;
  padding-top: 24px;
  color: var(--fc-ink, #1A1A1A);
  letter-spacing: -0.4px;
  line-height: 1.25;
  border-top: 1px solid var(--fc-border, #E8E6E0);
}
/* First heading has no top border (follows scene setter) */
.fc-study-narrative__heading:first-child,
.fc-study-scene-setter + .fc-study-narrative .fc-study-narrative__heading:first-child {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

.fc-study-narrative strong {
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink, #1A1A1A);
}
/* Dark-background blocks — bold must inherit white, not dark ink.
   Targets .fc-dark-block__text strong with enough specificity to
   beat both .fc-article-body strong and .fc-study-narrative strong. */
.fc-study-narrative .fc-dark-block__text strong,
.fc-article-body .fc-dark-block__text strong,
.fc-dark-block__text strong {
  color: rgba(255,255,255,0.95);
  font-weight: var(--fc-w-bold);
}

/* ── Pull Quotes — magazine-style breakers ─── */
.fc-study-pull-quote {
  margin: 48px 0;
  padding: 32px 0;
  border-top: 2px solid var(--fc-ink, #1A1A1A);
  border-bottom: 1px solid var(--fc-border, #E8E6E0);
  border-left: none;
  border-right: none;
  background: none;
  border-radius: 0;
  text-align: center;
}
.fc-study-pull-quote blockquote {
  font-family: var(--fc-display, 'Playfair Display', Georgia, serif);
  font-size: 1.5rem;
  line-height: 1.5;
  font-style: italic;
  color: var(--fc-ink, #1A1A1A);
  margin: 0 auto;
  padding: 0;
  border: none;
  quotes: none;
  max-width: 32rem;
  letter-spacing: -0.3px;
}
.fc-study-pull-quote figcaption {
  margin-top: 16px;
  font-size: 12px;
  font-family: var(--fc-sans, -apple-system, sans-serif);
  font-weight: var(--fc-w-semibold);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--fc-dim, #8C8A85);
  font-style: normal;
}

/* ── Controversy box ──────────────────────── */
.fc-study-controversy {
  margin: 40px 0;
  padding: 24px 28px;
  background: #fef8f7;
  border: 1px solid #f0dbd8;
  border-left: 4px solid #dc6b5c;
  border-radius: 0 14px 14px 0;
}
.fc-study-controversy__kicker {
  font-size: 11px;
  font-weight: var(--fc-w-extrabold);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #b44535;
  margin-bottom: 12px;
  font-family: var(--fc-sans, -apple-system, sans-serif);
}
.fc-study-controversy__text {
  font-size: 16px;
  line-height: 1.7;
  color: var(--fc-body, #2D2C2A);
  font-family: var(--fc-serif, Georgia, serif);
}
.fc-study-controversy__text p:last-child {
  margin-bottom: 0;
}

/* ── TL;DR card ──────────────────────────── */
.fc-study-tldr {
  margin: 40px 0;
  padding: 24px 28px;
  background: #f6fdf8;
  border: 1px solid #c8edd4;
  border-left: 4px solid var(--fc-accent, #00D18E);
  border-radius: 0 14px 14px 0;
}
.fc-study-tldr__kicker {
  font-size: 11px;
  font-weight: var(--fc-w-extrabold);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #0d9455;
  margin-bottom: 12px;
  font-family: var(--fc-sans, -apple-system, sans-serif);
}
.fc-study-tldr p {
  font-size: 16px;
  line-height: 1.7;
  color: var(--fc-body, #2D2C2A);
  font-family: var(--fc-serif, Georgia, serif);
}
.fc-study-tldr p:last-child {
  margin-bottom: 0;
}

/* ═══════════════════════════════════════════════════
   GODMODE v4.0 — Claim Answer Engine
   "The Final Destination"
   Title → one-line verdict → answer card → prose that
   flows like water → one earned visual break → FAQ.
   Zero data dump. Every scroll earned.
   ═══════════════════════════════════════════════════ */


/* ── BLOCK 3 REMOVED: v2.0 prose-zone claim CSS — now in components.css v4.0 ── */

/* ═══════════════════════════════════════════════════════════════
   CLAIMS OVERVIEW — "What the Science Says"
   Playlist-style discovery archive for /claims/
   Content-first: hero → topic row → single-column rows
   Same DNA as homepage cluster rows (accent bar + format icons + arrow)
   BEM namespace: fc-claims-*
   @since 11.21.0
   ═══════════════════════════════════════════════════════════════ */

/* ─── Hero — mirrors fc-manifesto spacing/type hierarchy ─── */
.fc-claims-hero {
  margin-bottom: 24px;
  flex-shrink: 0;
}
.fc-claims-hero__kicker {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--fc-accent);
  margin-bottom: var(--fc-space-3);
}
.fc-claims-hero__title {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-h1);
  font-weight: var(--fc-w-regular);
  line-height: 1.08;
  letter-spacing: -1.5px;
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-4);
}
.fc-claims-hero__sub {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-8);
}

/* ─── Search — compact, unobtrusive ─── */
.fc-claims-search {
  position: relative;
  max-width: 420px;
  margin-bottom: 24px;
}
.fc-claims-search__icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fc-ghost);
  pointer-events: none;
}
.fc-claims-search__input {
  width: 100%;
  padding: 10px 16px 10px 42px;
  font-family: var(--fc-sans);
  font-size: 0.82rem;
  color: var(--fc-ink);
  background: var(--fc-bg-alt);
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 8px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.fc-claims-search__input::placeholder {
  color: var(--fc-ghost);
}
.fc-claims-search__input:focus {
  background: var(--fc-surface);
  border-color: var(--fc-border);
  box-shadow: 0 0 0 3px rgba(0,209,142,0.08);
}

/* ─── Topic Row — Matches fc-topic-pill from components.css ─── */
.fc-claims-topics {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 20px;
  flex-shrink: 0;
}
.fc-claims-topics__scroll {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fc-claims-topics__scroll::-webkit-scrollbar {
  display: none;
}
.fc-claims-topic {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 5px;
  font-size: 0.65rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  background: transparent;
  border: 1px solid rgba(0,0,0,0.06);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
  font-family: var(--fc-sans);
  flex-shrink: 0;
}
.fc-claims-topic:hover {
  border-color: var(--fc-dim);
  color: var(--fc-ink);
}
.fc-claims-topic--active {
  background: var(--fc-ink);
  border-color: var(--fc-ink);
  color: var(--fc-surface);
  font-weight: var(--fc-w-semibold);
}
.fc-claims-topic--active:hover {
  color: var(--fc-surface);
  border-color: var(--fc-body);
  background: var(--fc-body);
}


/* ─── Claim List — pixel-matches fc-cluster-list from components.css ─── */
.fc-claims-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 48px;
}

/* Row — pixel-match to .fc-cluster-row */
.fc-claims-row {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  padding: var(--fc-space-4) var(--fc-space-5) var(--fc-space-4) 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  flex-shrink: 0;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  text-decoration: none;
  color: inherit;
}
.fc-claims-row:hover {
  box-shadow: var(--fc-shadow-hover);
  border-color: rgba(0,0,0,0.06);
}

/* Accent bar — verdict-colored, left edge (matches ::before on fc-cluster-row) */
.fc-claims-row__bar {
  width: 4px;
  align-self: stretch;
  border-radius: 4px 0 0 4px;
  background: var(--fc-claim-accent, var(--fc-accent));
  opacity: 0.35;
  transition: opacity 0.3s ease;
  flex-shrink: 0;
}
.fc-claims-row:hover .fc-claims-row__bar {
  opacity: 1;
}

/* Info section — clickable <a> link (v12.46.0) */
.fc-claims-row__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  color: inherit;
}

/* Verdict label — the claims-specific identity element */
.fc-claims-row__verdict {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.58rem;
  font-weight: var(--fc-w-black);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 2px;
}
.fc-claims-row__verdict--verified  { color: var(--fc-verified); }
.fc-claims-row__verdict--emerging  { color: var(--fc-emerging); }
.fc-claims-row__verdict--contested { color: var(--fc-contested); }
.fc-claims-row__verdict-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

/* Title — Inter sans, semibold (vs Playfair on homepage = differentiator) */
.fc-claims-row__title {
  font-family: var(--fc-sans);
  font-size: 1.08rem;
  font-weight: var(--fc-w-semibold);
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: var(--fc-ink);
  transition: color 0.2s ease;
}

/* Subtitle — plain-language explanation */
.fc-claims-row__sub {
  font-size: 0.74rem;
  line-height: 1.45;
  color: var(--fc-dim);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}
.fc-claims-row:hover .fc-claims-row__sub {
  color: var(--fc-body);
}

/* Studies count moved to __meta line (v12.46.0) */

/* Topic tag — ghosted, small, clean */
.fc-claims-row__topic {
  font-size: 0.62rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  margin-top: 4px;
  transition: color 0.2s ease;
}
.fc-claims-row:hover .fc-claims-row__topic {
  color: var(--fc-dim);
}

/* Actions/format/arrow replaced by __play + __wave + __icon + __link (v12.46.0) */


/* ─── Empty State ─── */
.fc-claims-empty {
  text-align: center;
  padding: var(--fc-space-16) var(--fc-space-6);
}
.fc-claims-empty__text {
  font-size: var(--fc-text-ui);
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-4);
}
.fc-claims-empty__reset {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
  background: transparent;
  border: 1px solid var(--fc-accent);
  border-radius: var(--fc-radius-pill);
  padding: var(--fc-space-2) var(--fc-space-5);
  cursor: pointer;
  transition: background 0.15s var(--fc-ease-out);
}
.fc-claims-empty__reset:hover {
  background: var(--fc-accent-dim);
}

/* ─── Play button — 40px circle, cluster-colored (matches fc-study-entry__play) ─── */
.fc-claims-row__play {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fc-accent);
  color: var(--fc-surface);
  transition: transform 0.15s ease, background 0.15s ease;
  flex-shrink: 0;
}
.fc-claims-row__play:hover {
  transform: scale(1.08);
}
.fc-claims-row__play svg { width: 16px; height: 16px; }

/* Play/pause icon toggle */
.fc-claims-row__play .fc-home-icon-pause { display: none; }
.fc-claims-row--playing .fc-claims-row__play .fc-home-icon-play { display: none; }
.fc-claims-row--playing .fc-claims-row__play .fc-home-icon-pause { display: block; }

/* Playing state: button goes dark */
.fc-claims-row--playing .fc-claims-row__play {
  background: var(--fc-ink);
  color: var(--fc-surface);
}

/* ─── Wave bars — always visible when audio, animate when playing ─── */
.fc-claims-row__wave {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 24px;
  flex-shrink: 0;
}
.fc-claims-row__wave span {
  display: block;
  width: 3px;
  border-radius: 2px;
  background: var(--fc-border);
  transform-origin: center center;
  will-change: transform;
  transition: background 0.2s ease;
}
.fc-claims-row__wave span:nth-child(1) { height: 8px; }
.fc-claims-row__wave span:nth-child(2) { height: 14px; }
.fc-claims-row__wave span:nth-child(3) { height: 10px; }
.fc-claims-row__wave span:nth-child(4) { height: 18px; }
.fc-claims-row__wave span:nth-child(5) { height: 12px; }
.fc-claims-row__wave span:nth-child(6) { height: 20px; }
.fc-claims-row__wave span:nth-child(7) { height: 14px; }
.fc-claims-row__wave span:nth-child(8) { height: 8px; }

.fc-claims-row--playing .fc-claims-row__wave span {
  background: var(--fc-accent);
  animation: fc-wave-pulse 0.8s ease-in-out infinite alternate;
}
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(1) { animation-delay: 0s; }
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(2) { animation-delay: 0.1s; }
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(3) { animation-delay: 0.3s; }
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(4) { animation-delay: 0.2s; }
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(5) { animation-delay: 0.4s; }
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(6) { animation-delay: 0.5s; }
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(7) { animation-delay: 0.6s; }
.fc-claims-row--playing .fc-claims-row__wave span:nth-child(8) { animation-delay: 0.7s; }

/* ─── Paused state: frozen accent waves + accent ring ─── */
.fc-claims-row--paused .fc-claims-row__play {
  background: var(--fc-accent);
  color: var(--fc-surface);
  box-shadow: 0 0 0 2.5px var(--fc-surface), 0 0 0 4.5px var(--fc-accent);
}
.fc-claims-row--paused .fc-claims-row__play .fc-home-icon-play { display: block; }
.fc-claims-row--paused .fc-claims-row__play .fc-home-icon-pause { display: none; }
.fc-claims-row--paused .fc-claims-row__wave span {
  background: var(--fc-accent);
  animation: none;
}

/* ─── Playing/paused row states ─── */
.fc-claims-row--playing {
  border-color: var(--fc-accent);
}
.fc-claims-row--playing .fc-claims-row__bar {
  opacity: 1;
}

/* ─── No-audio icon fallback ─── */
.fc-claims-row__icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fc-surface-alt, var(--fc-border-light));
  color: var(--fc-dim);
  flex-shrink: 0;
}
.fc-claims-row__icon svg {
  width: 18px;
  height: 18px;
}

/* ─── Meta line (duration · studies) ─── */
.fc-claims-row__meta {
  font-size: 0.6rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  margin-top: 2px;
}
.fc-claims-row__sep {
  margin: 0 4px;
  color: var(--fc-ghost);
}

/* ─── Arrow link — separate <a> on right ─── */
.fc-claims-row__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  margin-left: var(--fc-space-1);
}
.fc-claims-row__arrow {
  width: 16px;
  height: 16px;
  color: var(--fc-ghost);
  transition: color 0.2s ease, transform 0.2s ease;
}
.fc-claims-row:hover .fc-claims-row__arrow {
  color: var(--fc-accent);
  transform: translateX(3px);
}



/* ─── Sidebar — Recently Updated ─── */
.fc-claims-side-item {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-0);
  padding: var(--fc-space-2) 0;
  text-decoration: none;
  border-bottom: 1px solid var(--fc-border-light);
  transition: opacity 0.15s;
}
.fc-claims-side-item:hover {
  opacity: 0.7;
}
.fc-claims-side-item__title {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ink);
  line-height: var(--fc-lh-snug);
}
.fc-claims-side-item__time {
  font-size: var(--fc-text-micro);
  color: var(--fc-ghost);
}

/* ─── Sidebar — Grounded Truth Map CTA ─── */
.fc-claims-side-truthmap {
  display: block;
  padding: var(--fc-space-4);
  background: var(--fc-bg-alt);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-xs);
  text-decoration: none;
  transition: border-color 0.2s var(--fc-ease-out);
}
.fc-claims-side-truthmap:hover {
  border-color: var(--fc-dim);
}
.fc-claims-side-truthmap__icon {
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-3);
}
.fc-claims-side-truthmap__title {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-1);
}
.fc-claims-side-truthmap__desc {
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  margin-bottom: var(--fc-space-3);
}
.fc-claims-side-truthmap__link {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
}


/* ─── Grounded Truth Map CTA — Mobile/Tablet only ─── */
.fc-claims-truthmap-mobile {
  display: none;
  text-decoration: none;
  color: var(--fc-ink);
  margin-top: var(--fc-space-4);
  margin-bottom: var(--fc-space-8);
}
.fc-claims-truthmap-mobile__inner {
  display: flex;
  align-items: center;
  gap: var(--fc-space-4);
  padding: var(--fc-space-5);
  background: var(--fc-bg-alt);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  transition: border-color 0.2s var(--fc-ease-out);
}
.fc-claims-truthmap-mobile:hover .fc-claims-truthmap-mobile__inner {
  border-color: var(--fc-dim);
}
.fc-claims-truthmap-mobile__icon {
  color: var(--fc-dim);
  flex-shrink: 0;
}
.fc-claims-truthmap-mobile__text {
  flex: 1;
  min-width: 0;
}
.fc-claims-truthmap-mobile__title {
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-bold);
  margin-bottom: var(--fc-space-0);
}
.fc-claims-truthmap-mobile__desc {
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
}
.fc-claims-truthmap-mobile__arrow {
  font-size: var(--fc-text-body);
  color: var(--fc-accent);
  flex-shrink: 0;
}

/* Show on tablet and mobile (where sidebar is hidden) */
@media (max-width: 1199px) {
  .fc-claims-truthmap-mobile {
    display: block;
  }
}


/* ─── Responsive — Mobile (<768px) ─── */
@media (max-width: 767px) {
  .fc-claims-hero {
    margin-bottom: 32px;
  }
  .fc-claims-hero__title {
    font-size: 2.2rem;
    letter-spacing: -1px;
  }
  .fc-claims-hero__sub {
    font-size: 0.84rem;
  }
  .fc-claims-search {
    max-width: 100%;
  }
  .fc-claims-row {
    padding: var(--fc-space-4) var(--fc-space-3) var(--fc-space-4) 0;
    gap: var(--fc-space-3);
  }
  .fc-claims-row__info {
    gap: var(--fc-space-1);
  }
  .fc-claims-row__title {
    font-size: 0.88rem;
    line-height: 1.3;
  }
  .fc-claims-row__meta {
    margin-top: var(--fc-space-0);
  }
  .fc-claims-row__sub {
    display: none;
  }
  .fc-claims-row__play {
    width: 36px;
    height: 36px;
    min-width: 36px;
  }
  .fc-claims-row__play svg { width: 13px; height: 13px; }
  .fc-claims-row__wave {
    display: none;
  }
  .fc-claims-row__icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
  }
  .fc-claims-row__icon svg { width: 14px; height: 14px; }
  .fc-claims-row__link {
    width: 28px;
    height: 28px;
  }
}


/* ═══════════════════════════════════════════════════════════════
   GROUNDED TRUTH MAP — The Audit Trail
   Technical dataset for Google, LLMs, and researchers.
   BEM namespace: fc-gtm-*
   @since 11.19.0
   ═══════════════════════════════════════════════════════════════ */

/* ─── Hero ─── */
.fc-gtm-hero {
  margin-bottom: var(--fc-space-10);
}
.fc-gtm-hero__title {
  font-family: var(--fc-display);
  font-size: var(--fc-text-h1);
  font-weight: var(--fc-w-regular);
  line-height: var(--fc-lh-tight);
  letter-spacing: -1.5px;
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-4);
}
.fc-gtm-hero__sub {
  font-size: var(--fc-text-ui);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  max-width: var(--fc-prose-max);
  margin-bottom: var(--fc-space-8);
}

/* Stats bar */
.fc-gtm-stats {
  display: flex;
  gap: var(--fc-space-8);
  flex-wrap: wrap;
}
.fc-gtm-stats__item {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-0);
}
.fc-gtm-stats__value {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-h2);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  line-height: var(--fc-lh-tight);
}
.fc-gtm-stats__label {
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ─── Grade Legend ─── */
.fc-gtm-legend {
  padding: var(--fc-space-3) var(--fc-space-4);
  background: var(--fc-bg-alt);
  border: 1px solid var(--fc-border-light);
  border-radius: var(--fc-radius-sm);
  margin-bottom: var(--fc-space-8);
}
.fc-gtm-legend__title {
  font-size: 0.6rem;
  font-weight: var(--fc-w-bold);
  color: var(--fc-dim);
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: var(--fc-space-2);
}
.fc-gtm-legend__row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fc-space-3);
  margin-bottom: var(--fc-space-1);
}
.fc-gtm-legend__row:last-child {
  margin-bottom: 0;
}
.fc-gtm-legend__item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.fc-gtm-legend__desc {
  font-size: 0.58rem;
  color: var(--fc-ghost);
}

/* ─── Grade badges ─── */
.fc-gtm-grade {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-bold);
  border-radius: var(--fc-radius-full);
  flex-shrink: 0;
  text-transform: capitalize;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
}
/* Compact grade in legend */
.fc-gtm-legend .fc-gtm-grade {
  padding: 3px 8px;
  font-size: 0.6rem;
}
/* Compact verdict in legend */
.fc-gtm-legend .fc-gtm-verdict {
  font-size: 0.54rem;
  padding: 1px 6px;
}
/* Letter-based grades (legacy) */
.fc-gtm-grade--a { color: var(--fc-grade-a); background: rgba(0,209,142,0.10); }
.fc-gtm-grade--b { color: var(--fc-grade-b); background: rgba(59,130,246,0.10); }
.fc-gtm-grade--c { color: var(--fc-grade-c); background: rgba(245,158,11,0.10); }
.fc-gtm-grade--d { color: var(--fc-grade-d); background: rgba(239,68,68,0.10); }
/* Tier-based grades (current — matches PHP output) */
.fc-gtm-grade--high     { color: var(--fc-grade-a); background: rgba(0,209,142,0.10); }
.fc-gtm-grade--moderate { color: var(--fc-grade-c); background: rgba(245,158,11,0.10); }
.fc-gtm-grade--low      { color: var(--fc-grade-d); background: rgba(239,68,68,0.10); }

/* ─── Verdict pills ─── */
.fc-gtm-verdict {
  display: inline-block;
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-bold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: var(--fc-space-0) var(--fc-space-2);
  border-radius: var(--fc-radius-xxs);
}
.fc-gtm-verdict--verified  { color: var(--fc-verified);  background: var(--fc-verified-bg); }
.fc-gtm-verdict--emerging  { color: var(--fc-emerging);  background: var(--fc-emerging-bg); }
.fc-gtm-verdict--contested { color: var(--fc-contested); background: var(--fc-contested-bg); }

/* ─── Cluster sections ─── */
.fc-gtm-cluster {
  margin-bottom: var(--fc-space-12);
}
.fc-gtm-cluster__header {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  margin-bottom: var(--fc-space-5);
  padding-bottom: var(--fc-space-3);
  border-bottom: 2px solid var(--fc-border);
}
.fc-gtm-cluster__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}
.fc-gtm-cluster__name {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-body);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  margin: 0;
}
.fc-gtm-cluster__count {
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  margin-left: auto;
}

/* ─── Card grid ─── */
.fc-gtm-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--fc-space-3);
}
.fc-gtm-card {
  display: block;
  padding: var(--fc-space-5);
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  text-decoration: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.fc-gtm-card:hover {
  border-color: var(--fc-accent);
  box-shadow: var(--fc-shadow-hover);
}
.fc-gtm-card__badges {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  margin-bottom: var(--fc-space-3);
}
.fc-gtm-card__title {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-body);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  line-height: var(--fc-lh-snug);
  margin: 0 0 var(--fc-space-2) 0;
}
.fc-gtm-card:hover .fc-gtm-card__title {
  color: var(--fc-accent);
}
.fc-gtm-card__quote {
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  font-style: italic;
  margin: 0 0 var(--fc-space-3) 0;
  padding-left: var(--fc-space-3);
  border-left: 2px solid var(--fc-border);
}
/* Statement replaces source_quote — synthesized answer, not raw paper text */
.fc-gtm-card__statement {
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  margin: 0 0 var(--fc-space-3) 0;
}
.fc-gtm-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--fc-space-3);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-2);
}
.fc-gtm-card__studies {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-dim);
}
.fc-gtm-card__studies svg {
  color: var(--fc-ghost);
}
.fc-gtm-card__doi {
  color: var(--fc-body);
}
.fc-gtm-card__journal {
  color: var(--fc-ghost);
  font-style: italic;
}
.fc-gtm-card__synthesis {
  display: flex;
  align-items: center;
  gap: var(--fc-space-1);
  font-family: var(--fc-mono);
  font-size: 0.6rem;
  color: var(--fc-ghost);
  letter-spacing: 0.3px;
}

/* ─── Empty State ─── */
.fc-gtm-empty {
  text-align: center;
  padding: var(--fc-space-16) var(--fc-space-6);
}
.fc-gtm-empty__text {
  font-size: var(--fc-text-ui);
  color: var(--fc-dim);
}

/* ─── Data Access section ─── */
.fc-gtm-access {
  margin-top: var(--fc-space-10);
  margin-bottom: var(--fc-space-10);
  padding-top: var(--fc-space-10);
  border-top: 1px solid var(--fc-border);
}
.fc-gtm-access__title {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-h2);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-2);
}
.fc-gtm-access__sub {
  font-size: var(--fc-text-ui);
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-6);
}
.fc-gtm-access__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--fc-space-4);
}
.fc-gtm-access__card {
  padding: var(--fc-space-5);
  background: var(--fc-bg-alt);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
}
.fc-gtm-access__card-title {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-2);
}
.fc-gtm-access__code {
  display: block;
  font-family: var(--fc-mono);
  font-size: var(--fc-text-micro);
  color: var(--fc-accent);
  background: rgba(0,209,142,0.06);
  padding: var(--fc-space-2) var(--fc-space-3);
  border-radius: var(--fc-radius-xxs);
  margin-bottom: var(--fc-space-3);
  word-break: break-all;
}
.fc-gtm-access__card-desc {
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  margin: 0;
}
.fc-gtm-access__card-link {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
  text-decoration: none;
  transition: opacity 0.15s;
}
.fc-gtm-access__card-link:hover {
  opacity: 0.8;
}

/* ─── Methodology note ─── */
.fc-gtm-methodology {
  margin-bottom: var(--fc-space-12);
}
.fc-gtm-methodology__inner {
  padding: var(--fc-space-6);
  background: var(--fc-ink);
  border-radius: var(--fc-radius-sm);
  color: var(--fc-surface);
}
.fc-gtm-methodology__title {
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-bold);
  margin-bottom: var(--fc-space-3);
}
.fc-gtm-methodology__text {
  font-size: var(--fc-text-small);
  color: rgba(255,255,255,0.7);
  line-height: var(--fc-lh-body);
  margin-bottom: var(--fc-space-4);
}
.fc-gtm-methodology__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fc-space-5);
}
.fc-gtm-methodology__links a {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
  text-decoration: none;
  transition: opacity 0.15s;
}
.fc-gtm-methodology__links a:hover {
  opacity: 0.8;
}

/* ─── Sidebar links (compact) ─── */
.fc-side-link {
  display: block;
  font-size: var(--fc-text-small);
  color: var(--fc-body);
  text-decoration: none;
  padding: var(--fc-space-1) 0;
  border-bottom: 1px solid var(--fc-border-light);
  transition: color 0.15s;
}
.fc-side-link:last-child { border-bottom: none; }
.fc-side-link:hover { color: var(--fc-accent); }

/* ─── Sidebar nav ─── */
.fc-gtm-side-nav {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  padding: var(--fc-space-1) 0;
  text-decoration: none;
  transition: opacity 0.15s;
}
.fc-gtm-side-nav:hover {
  opacity: 0.7;
}
.fc-gtm-side-nav__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.fc-gtm-side-nav__name {
  font-size: var(--fc-text-small);
  color: var(--fc-ink);
  font-weight: var(--fc-w-medium);
}
.fc-gtm-side-nav__count {
  font-size: var(--fc-text-micro);
  color: var(--fc-ghost);
  margin-left: auto;
}

/* Sidebar CTA */
.fc-gtm-side-cta {
  display: block;
  padding: var(--fc-space-4);
  background: var(--fc-accent-dim);
  border: 1px solid rgba(0,209,142,0.15);
  border-radius: var(--fc-radius-xs);
  text-decoration: none;
  transition: border-color 0.2s var(--fc-ease-out);
}
.fc-gtm-side-cta:hover {
  border-color: var(--fc-accent);
}
.fc-gtm-side-cta__title {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-1);
}
.fc-gtm-side-cta__desc {
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  margin-bottom: var(--fc-space-2);
}
.fc-gtm-side-cta__link {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
}

/* ─── Scoring Rubric ─── */
.fc-gtm-rubric {
  margin-bottom: var(--fc-space-10);
  padding: var(--fc-space-6);
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
}
.fc-gtm-rubric__title {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--fc-space-3);
}
.fc-gtm-rubric__desc {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  margin-bottom: var(--fc-space-5);
}
.fc-gtm-rubric__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fc-space-4);
}
.fc-gtm-rubric__factor {
  display: flex;
  align-items: flex-start;
  gap: var(--fc-space-3);
}
.fc-gtm-rubric__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fc-accent-dim);
  border-radius: var(--fc-radius-xxs);
  color: var(--fc-accent);
}
.fc-gtm-rubric__factor strong {
  display: block;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-0);
}
.fc-gtm-rubric__factor span {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
  line-height: var(--fc-lh-snug);
}
.fc-gtm-rubric__footer {
  margin-top: var(--fc-space-5);
  padding-top: var(--fc-space-4);
  border-top: 1px solid var(--fc-border);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
}
.fc-gtm-rubric__footer a {
  color: var(--fc-accent);
  text-decoration: none;
  font-weight: var(--fc-w-semibold);
}
.fc-gtm-rubric__footer a:hover {
  text-decoration: underline;
}

/* ─── Synthesis ID ─── */
.fc-gtm-synthesis {
  font-weight: var(--fc-w-semibold);
  color: var(--fc-dim);
}
.fc-gtm-synthesis__sep {
  color: var(--fc-ghost);
}

/* ─── Responsive — Mobile (<768px) ─── */
@media (max-width: 767px) {
  .fc-gtm-rubric__grid {
    grid-template-columns: 1fr;
  }
  .fc-gtm-hero__title {
    font-size: 2rem;
    letter-spacing: -1px;
  }
  .fc-gtm-stats {
    gap: var(--fc-space-5);
  }
  .fc-gtm-legend__row {
    flex-direction: column;
    gap: var(--fc-space-3);
  }
  .fc-gtm-card {
    padding: var(--fc-space-4);
  }
  .fc-gtm-card__title {
    font-size: var(--fc-text-ui);
  }
  .fc-gtm-access__grid {
    grid-template-columns: 1fr;
  }
}

/* ─── Responsive — Tablet (768px–1199px) ─── */
@media (min-width: 768px) and (max-width: 1199px) {
  .fc-gtm-access__grid {
    grid-template-columns: 1fr 1fr;
  }
}
