.item-reason.has-fact-sources {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}
.reason-copy { flex: 1; min-width: 0; }
.fact-source-trigger,
.fact-source-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--r-sm);
  background: transparent;
  color: var(--gray-500);
  cursor: pointer;
  font: inherit;
  font-size: 18px;
}
.fact-source-trigger { margin-top: -0.5rem; }
.fact-source-trigger:hover,
.fact-source-close:hover { background: var(--gray-50); color: var(--press-black); }
.fact-source-trigger[aria-expanded="true"] {
  color: var(--tiger-orange);
  background: rgba(249,104,21,0.07);
  border-color: rgba(249,104,21,0.2);
}
.fact-source-trigger:focus-visible,
.fact-sources-popover :is(button, a):focus-visible {
  outline: 2px solid var(--tiger-orange);
  outline-offset: 3px;
}
.fact-sources-popover {
  position: fixed;
  inset: auto;
  margin: 0;
  width: min(440px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 2rem;
  border: 1px solid var(--gray-200);
  border-radius: var(--r-md);
  background: var(--white);
  color: var(--press-black);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.04);
  font-family: inherit;
  font-size: 1.3rem;
  line-height: 1.65;
}
.fact-sources-popover::backdrop { background: transparent; }
.fact-sources-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.fact-sources-heading h2 { margin: 0; font-size: 1.6rem; font-weight: 800; }
.fact-sources-context { margin: 0.1rem 0 1.6rem; color: var(--gray-500); font-size: 1.2rem; }
.fact-sources-list > div + div { border-top: 1px solid var(--gray-100); margin-top: 1.6rem; padding-top: 1.6rem; }
.fact-source-domain { color: var(--gray-500); font-size: 1.15rem; margin-bottom: 0.35rem; }
.fact-source-title { display: flex; align-items: flex-start; gap: 1rem; color: var(--press-black); font-weight: 800; font-size: 1.4rem; text-decoration: none; overflow-wrap: anywhere; }
.fact-source-title span { flex: 1; }
.fact-source-title i { flex-shrink: 0; color: var(--gray-500); font-weight: 500; }
.fact-source-title:hover { color: var(--tiger-orange); }
.fact-source-summary { margin: 0.8rem 0; color: var(--gray-700); overflow-wrap: anywhere; }
.fact-source-quote { margin: 1rem 0; padding: 1rem 1.2rem; background: var(--gray-50); border-radius: var(--r-sm); overflow-wrap: anywhere; }
.fact-source-quote-label { display: block; margin-bottom: 0.3rem; font-size: 1.1rem; color: var(--gray-500); }
.fact-source-quote blockquote { margin: 0; font-size: 1.2rem; }
.fact-source-date { margin: 0.8rem 0 0; color: var(--gray-500); font-size: 1.15rem; }
.fact-sources-more { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; margin-top: 1.6rem; padding: 0.9rem; border: 1px solid var(--gray-200); border-radius: var(--r-sm); background: var(--white); color: var(--gray-700); font: inherit; cursor: pointer; }
.fact-sources-more:hover { background: var(--gray-50); }
.fact-sources-note { padding: 1.2rem; background: var(--gray-50); border-radius: var(--r-sm); color: var(--gray-700); }
.fact-sources-note strong { display: block; margin-bottom: 0.3rem; color: var(--press-black); }
.fact-sources-demo { margin: 1.5rem 0 0; padding-top: 1.2rem; border-top: 1px solid var(--gray-100); color: var(--gray-500); font-size: 1.1rem; }
