
/* Dehype old-index embedded report layout v2026-05-16d typography pass */
:root {
  --ink: #0f172a;
  --ink-2: #1e293b;
  --muted: #64748b;
  --muted-2: #94a3b8;
  --line: #e2e8f0;
  --soft: #f8fafc;
  --paper: #ffffff;
  --amber: #f59e0b;
  --green: #059669;
  --red: #dc2626;
  --blue: #2563eb;
  --shadow: 0 26px 80px rgba(15,23,42,.12);
}

.dehype-report-wrap {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  width: min(1160px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 72px;
}

.example-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 34px;
  overflow: visible;
  box-shadow: var(--shadow);
}

.example-top {
  background: linear-gradient(135deg, #0f172a, #1f2937);
  color: #fff;
  padding: 30px;
  border-radius: 34px 34px 0 0;
}

.example-top h1,
.example-top h2 {
  font-size: clamp(26px, 3.6vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.055em;
  margin: 16px 0 8px;
  max-width: 920px;
}

.example-top p {
  color: #cbd5e1;
  line-height: 1.7;
  margin: 0;
}

.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 0;
}

.pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  color: #475569;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.pill.amber { color: #92400e; background: #fffbeb; border-color: #fde68a; }
.pill.green { color: #065f46; background: #ecfdf5; border-color: #a7f3d0; }
.pill.blue  { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
.pill.red   { color: #991b1b; background: #fef2f2; border-color: #fecaca; }
.pill.slate { color: #475569; background: #f8fafc; border-color: #e2e8f0; }

.embedded-report-main {
  padding: 28px;
  display: grid;
  gap: 18px;
}

.components-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 34px;
  box-shadow: var(--shadow);
  padding: 28px;
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 28px;
  align-items: center;
  overflow: visible;
}

.grade-circle {
  --grade-color: #f59e0b;
  --grade-percent: 50%;
  position: relative;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  justify-self: center;
  background: radial-gradient(circle at center, #fff 0 54%, transparent 55%), conic-gradient(var(--grade-color) 0 var(--grade-percent), #e2e8f0 var(--grade-percent) 100%);
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.06), 0 20px 48px rgba(15,23,42,.12);
}
.grade-circle.green { --grade-color: #059669; }
.grade-circle.amber { --grade-color: #f59e0b; }
.grade-circle.red { --grade-color: #dc2626; }
.grade-circle.slate,
.grade-circle.grey { --grade-color: #64748b; }

.grade-inner {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #f1f5f9;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 12px;
}

.grade-inner .label {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #92400e;
}
.grade-inner .grade {
  font-size: 58px;
  line-height: .95;
  letter-spacing: -0.08em;
  font-weight: 900;
  margin: 5px 0 4px;
  color: var(--ink);
}
.grade-inner .meaning {
  color: #475569;
  font-size: 11.5px;
  line-height: 1.28;
  font-weight: 800;
}

.component-table { display: grid; gap: 12px; }
.component-row {
  position: relative;
  border: 1px solid #eef2f7;
  background: #f8fafc;
  border-radius: 20px;
  padding: 15px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  outline: none;
}
.component-row h3 { font-size: 16px; margin: 0 0 4px; letter-spacing: -0.025em; }
.component-row p { margin: 0; color: #64748b; line-height: 1.58; font-size: 14px; font-weight: 400; }
.component-grade {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid #e2e8f0;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -0.05em;
}
.component-grade.green { color: #047857; background: #ecfdf5; border-color: #a7f3d0; }
.component-grade.red { color: #b91c1c; background: #fef2f2; border-color: #fecaca; }
.component-grade.amber { color: #b45309; background: #fffbeb; border-color: #fde68a; }
.component-grade.slate,
.component-grade.grey { color: #475569; background: #f8fafc; border-color: #e2e8f0; }
.bar-track { height: 7px; background: #e2e8f0; border-radius: 999px; overflow: hidden; margin-top: 10px; }
.bar-fill { height: 100%; border-radius: 999px; background: #dc2626; }
.bar-fill.green { background: #059669; }
.bar-fill.amber { background: #f59e0b; }
.bar-fill.red { background: #dc2626; }
.bar-fill.slate,
.bar-fill.grey { background: #64748b; }

.report-block {
  border: 1px solid #eef2f7;
  border-radius: 24px;
  padding: 20px;
  background: #fff;
  overflow: visible;
}
.report-block h2,
.report-block h3 { font-size: 18px; letter-spacing: -0.025em; margin: 0 0 12px; }
.report-block p,
.report-prose { color: #475569; line-height: 1.72; margin: 0; font-size: 15.5px; font-weight: 400; }
.report-prose p { color: #475569; line-height: 1.72; font-size: 15.5px; font-weight: 400; }
.report-heading { display: flex; align-items: center; gap: 10px; line-height: 1.25; }
.report-heading-icon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #0f172a;
  flex: 0 0 auto;
  font-size: 14px;
}

.source-block { overflow: visible; }
.source-stepper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  align-items: start;
  padding-top: 4px;
}
.source-stepper::before {
  content: '';
  position: absolute;
  left: calc(12.5% + 22px);
  right: calc(12.5% + 22px);
  top: 24px;
  height: 3px;
  background: linear-gradient(90deg, #cbd5e1, #94a3b8);
  border-radius: 999px;
  z-index: 0;
}
.source-step { position: relative; z-index: 1; display: flex; flex-direction: column; min-width: 0; }
.step-node {
  width: 48px;
  height: 48px;
  margin: 0 auto 14px;
  border-radius: 999px;
  background: #fff;
  border: 2px solid #cbd5e1;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 24px rgba(15,23,42,.10);
}
.step-number { font-size: 14px; font-weight: 900; color: #475569; line-height: 1; }
.source-step.ok .step-node { border-color: #86efac; background: #ecfdf5; }
.source-step.ok .step-number { color: #047857; }
.source-step.missing .step-node { border-color: #fca5a5; background: #fef2f2; }
.source-step.missing .step-number { color: #b91c1c; }
.source-card {
  position: relative;
  border-radius: 18px;
  border: 1px solid #eef2f7;
  background: #f8fafc;
  padding: 14px;
  min-height: 158px;
  display: flex;
  flex-direction: column;
  outline: none;
}
.source-card .top { display: flex; justify-content: space-between; gap: 8px; align-items: start; margin-bottom: 8px; }
.source-card .label { color: var(--muted-2); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.source-card strong { display: block; font-size: 14px; line-height: 1.45; margin-bottom: 12px; font-weight: 750; }
.source-url-hint { color: #94a3b8; font-size: 12px; line-height: 1.45; margin-top: 4px; overflow-wrap: anywhere; }
.source-status { display: inline-flex; align-self: flex-start; margin-top: auto; padding: 7px 10px; border-radius: 999px; background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; font-size: 11px; font-weight: 900; line-height: 1; }
.source-status.missing { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.source-rationale { margin-top: 16px !important; }

.claim-row {
  border: 1px solid #eef2f7;
  border-radius: 20px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 12px;
}
.claim-row:last-child { margin-bottom: 0; }
.small-label { color: var(--muted-2); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; font-weight: 900; margin-bottom: 5px; }
.claim-row p { margin: 0; color: #475569; font-size: 14.5px; line-height: 1.66; font-weight: 400; }
.claim-row .article-claim { color: var(--ink); font-weight: 800; }
.judgement { display: inline-flex; justify-content: center; border-radius: 999px; padding: 8px 11px; color: #92400e; background: #fffbeb; border: 1px solid #fde68a; font-size: 12px; font-weight: 900; white-space: nowrap; }

.caveat-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.caveat { background: #f8fafc; border: 1px solid #eef2f7; border-radius: 18px; padding: 15px; }
.caveat i { color: #0f172a; margin-bottom: 10px; }
.caveat strong { display: block; font-size: 13.5px; margin-bottom: 5px; }
.caveat span { color: #64748b; font-size: 14.5px; line-height: 1.66; display: block; font-weight: 400; }

.safer-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.safer-box, .action-box { border-radius: 20px; padding: 18px; }
.safer-box { border: 1px solid #fde68a; background: #fffbeb; }
.action-box { border: 1px solid #fecaca; background: #fef2f2; }
.safer-box strong, .action-box strong { display: block; margin-bottom: 6px; }
.safer-box strong { color: #78350f; }
.safer-box p { color: #92400e; }
.action-box strong { color: #991b1b; }
.action-box p { color: #7f1d1d; }
.safer-box p, .action-box p { margin: 0; font-size: 15px; line-height: 1.68; font-weight: 400; }

.locked-strip {
  border-radius: 22px;
  background: linear-gradient(135deg, #f8fafc, #fff7ed);
  border: 1px dashed #fbbf24;
  padding: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.locked-strip strong { display: block; margin-bottom: 4px; }
.locked-strip span { color: #64748b; font-size: 15px; line-height: 1.65; }
.locked-strip .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 15px;
  font-size: 14px;
  font-weight: 900;
  background: var(--ink);
  color: #fff;
  text-decoration: none;
}

.has-tip { cursor: help; z-index: 20; }
.has-tip:hover, .has-tip:focus { z-index: 9999; }
.has-tip::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 11px);
  transform: translateX(-50%) translateY(4px);
  width: min(310px, 84vw);
  padding: 12px 13px;
  border-radius: 14px;
  background: rgba(15,23,42,.97);
  color: #f8fafc;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  white-space: pre-line;
  opacity: 0;
  pointer-events: none;
  transition: 160ms ease;
  z-index: 10000;
  box-shadow: 0 16px 38px rgba(15,23,42,.24);
}
.has-tip:hover::after,
.has-tip:focus::after { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 980px) {
  .components-panel { grid-template-columns: 1fr; }
  .source-stepper { grid-template-columns: 1fr 1fr; }
  .source-stepper::before { display: none; }
  .safer-action-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .dehype-report-wrap { width: min(100% - 20px, 1160px); padding-top: 20px; }
  .example-top,
  .embedded-report-main,
  .components-panel { padding: 22px; }
  .grade-circle { width: 200px; height: 200px; }
  .grade-inner { width: 128px; height: 128px; }
  .source-stepper,
  .caveat-grid,
  .claim-row { grid-template-columns: 1fr; }
  .component-row { grid-template-columns: 1fr; }
  .component-grade { width: 100%; height: 46px; border-radius: 14px; }
  .source-card { min-height: 0; }
}

/* Report typography fine-tuning v2026-05-16d */
.example-top h1,
.example-top h2,
.report-block h2,
.report-block h3,
.component-row h3 {
  text-wrap: balance;
}

.report-block p,
.report-prose,
.claim-row p,
.caveat span,
.safer-box p,
.action-box p {
  max-width: none;
}

.claim-row .article-claim {
  font-weight: 700;
}

.pill,
.source-status,
.judgement,
.small-label,
.source-card .label,
.grade-inner .label {
  letter-spacing: .075em;
}

.grade-inner .grade,
.component-grade {
  font-weight: 900;
}

@media (max-width: 680px) {
  .report-block p,
  .report-prose,
  .report-prose p,
  .claim-row p,
  .caveat span,
  .safer-box p,
  .action-box p {
    font-size: 15.5px;
    line-height: 1.72;
  }
}

/* Public report print/PDF-friendly styling v2026-05-16e */
.report-print-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin: 0 0 14px;
  color: #64748b;
  font-size: 13px;
}

.report-print-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid #dbe4ee;
  background: #ffffff;
  color: #0f172a;
  font-family: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
}

.report-print-button:hover {
  border-color: #94a3b8;
  transform: translateY(-1px);
}

.report-print-masthead,
.report-print-sources,
.report-print-footer {
  display: none;
}

@page {
  size: A4;
  margin: 14mm 12mm 16mm;
}

@media print {
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  html,
  body {
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 10.5pt;
    line-height: 1.45;
  }

  body {
    margin: 0 !important;
  }

  .site-header,
  .site-footer,
  .report-print-actions,
  .locked-strip,
  .has-tip::after,
  .has-tip::before {
    display: none !important;
  }

  .site-main {
    min-height: 0 !important;
  }

  .dehype-report-wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .example-panel,
  .components-panel,
  .report-block,
  .source-card,
  .component-row,
  .caveat,
  .safer-box,
  .action-box {
    box-shadow: none !important;
  }

  .example-panel {
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  .report-print-masthead {
    display: flex !important;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 0 0 8mm;
    margin: 0 0 7mm;
    border-bottom: 1px solid #cbd5e1;
    color: #0f172a;
  }

  .report-print-masthead strong {
    display: block;
    font-size: 14pt;
    letter-spacing: -.02em;
  }

  .report-print-masthead span,
  .report-print-url {
    color: #475569;
    font-size: 8.5pt;
    line-height: 1.35;
  }

  .report-print-url {
    text-align: right;
    max-width: 82mm;
    overflow-wrap: anywhere;
  }

  .example-top {
    background: #0f172a !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 9mm !important;
    margin: 0 0 7mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .example-top h1,
  .example-top h2 {
    font-size: 21pt !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    max-width: none !important;
    margin: 7mm 0 3mm !important;
  }

  .example-top p {
    color: #e2e8f0 !important;
    font-size: 10pt !important;
    line-height: 1.48 !important;
  }

  .badge-row {
    gap: 4px !important;
  }

  .pill {
    padding: 4px 7px !important;
    font-size: 7.8pt !important;
    font-weight: 800 !important;
    border-color: #cbd5e1 !important;
  }

  .embedded-report-main {
    display: block !important;
    padding: 0 !important;
  }

  .components-panel {
    display: grid !important;
    grid-template-columns: 42mm 1fr !important;
    gap: 8mm !important;
    align-items: start !important;
    border: 0 !important;
    border-radius: 8px !important;
    padding: 7mm !important;
    margin: 0 0 7mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .grade-circle {
    width: 38mm !important;
    height: 38mm !important;
    box-shadow: none !important;
  }

  .grade-inner {
    width: 25mm !important;
    height: 25mm !important;
    padding: 3mm !important;
  }

  .grade-inner .label {
    font-size: 6.5pt !important;
  }

  .grade-inner .grade {
    font-size: 24pt !important;
    margin: 1mm 0 !important;
  }

  .grade-inner .meaning {
    font-size: 6.8pt !important;
    line-height: 1.12 !important;
  }

  .component-table {
    gap: 3mm !important;
  }

  .component-row {
    grid-template-columns: 1fr 14mm !important;
    gap: 4mm !important;
    padding: 4mm !important;
    border-radius: 7px !important;
    background: #f8fafc !important;
    border-color: #dbe4ee !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .component-row h3 {
    font-size: 10pt !important;
    margin-bottom: 1mm !important;
  }

  .component-row p {
    font-size: 8.6pt !important;
    line-height: 1.38 !important;
  }

  .component-grade {
    width: 14mm !important;
    height: 14mm !important;
    border-radius: 5px !important;
    font-size: 13pt !important;
  }

  .bar-track {
    height: 4px !important;
    margin-top: 2.5mm !important;
  }

  .report-block {
    border: 1px solid #dbe4ee !important;
    border-radius: 8px !important;
    padding: 6mm !important;
    margin: 0 0 6mm !important;
    background: #ffffff !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .report-block h2,
  .report-block h3 {
    font-size: 12pt !important;
    line-height: 1.18 !important;
    margin: 0 0 4mm !important;
  }

  .report-heading-icon {
    width: 8mm !important;
    height: 8mm !important;
    border-radius: 3mm !important;
    font-size: 8pt !important;
  }

  .report-block p,
  .report-prose,
  .report-prose p,
  .claim-row p,
  .caveat span,
  .safer-box p,
  .action-box p {
    max-width: none !important;
    font-size: 9.4pt !important;
    line-height: 1.5 !important;
    color: #1e293b !important;
  }

  .source-stepper {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 3mm !important;
    padding-top: 0 !important;
  }

  .source-stepper::before,
  .step-node {
    display: none !important;
  }

  .source-card {
    min-height: 0 !important;
    border-radius: 6px !important;
    padding: 4mm !important;
    border-color: #dbe4ee !important;
    background: #f8fafc !important;
  }

  .source-card .label,
  .small-label {
    font-size: 6.8pt !important;
    letter-spacing: .06em !important;
  }

  .source-card strong {
    font-size: 8.6pt !important;
    line-height: 1.32 !important;
    margin-bottom: 2mm !important;
  }

  .source-url-hint {
    font-size: 7.5pt !important;
    line-height: 1.28 !important;
    color: #64748b !important;
  }

  .source-status,
  .judgement {
    font-size: 7.2pt !important;
    padding: 3px 6px !important;
    font-weight: 800 !important;
  }

  .source-rationale {
    margin-top: 4mm !important;
  }

  .claim-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr 24mm !important;
    gap: 4mm !important;
    padding: 4mm !important;
    border-radius: 7px !important;
    margin-bottom: 3mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .caveat-grid,
  .safer-action-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3mm !important;
  }

  .caveat,
  .safer-box,
  .action-box {
    border-radius: 7px !important;
    padding: 4mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .caveat strong,
  .safer-box strong,
  .action-box strong {
    font-size: 9pt !important;
  }

  .report-print-sources {
    display: block !important;
  }

  .report-print-sources ul {
    margin: 2mm 0 0 !important;
    padding-left: 5mm !important;
  }

  .report-print-sources li {
    font-size: 8.6pt !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere;
    margin-bottom: 1.5mm !important;
  }

  .report-print-footer {
    display: block !important;
    margin-top: 8mm;
    padding-top: 4mm;
    border-top: 1px solid #cbd5e1;
    color: #475569;
    font-size: 8pt;
    line-height: 1.4;
  }

  a[href] {
    color: inherit !important;
    text-decoration: none !important;
  }

  .report-prose a[href^="http"]::after {
    content: " (" attr(href) ")";
    overflow-wrap: anywhere;
    color: #475569;
    font-size: 8pt;
  }
}

/* Public report print contrast and clipping fix v2026-05-16f */
@media print {
  /* Keep badges legible on the dark hero. The earlier print rules allowed some pills
     to inherit white text from .example-top, making pale badges effectively invisible. */
  .badge-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 6px !important;
    align-items: flex-start !important;
    overflow: visible !important;
  }

  .pill,
  .pill.slate,
  .pill.amber,
  .pill.green,
  .pill.blue,
  .pill.red {
    min-height: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: 1.18 !important;
    padding: 4px 7px !important;
    border-width: 1px !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .pill i {
    color: currentColor !important;
  }

  .pill {
    color: #0f172a !important;
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
  }

  .pill.amber {
    color: #78350f !important;
    background: #fffbeb !important;
    border-color: #fcd34d !important;
  }

  .pill.green {
    color: #064e3b !important;
    background: #ecfdf5 !important;
    border-color: #6ee7b7 !important;
  }

  .pill.red {
    color: #7f1d1d !important;
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
  }

  .pill.blue {
    color: #1e3a8a !important;
    background: #eff6ff !important;
    border-color: #93c5fd !important;
  }

  .pill.slate {
    color: #334155 !important;
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
  }

  /* Reduce grade glyph clipping in Chrome's print renderer. */
  .grade-inner {
    overflow: visible !important;
  }

  .grade-inner .grade {
    letter-spacing: -0.025em !important;
    line-height: 1 !important;
    padding-bottom: 1mm !important;
    overflow: visible !important;
  }

  .grade-inner .meaning {
    color: #334155 !important;
  }

  /* The judgement column was too narrow, clipping longer labels such as
     “Not clinically actionable”. Allow wrapping and give it a safer width. */
  .claim-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(32mm, 38mm) !important;
    align-items: start !important;
    overflow: visible !important;
  }

  .judgement {
    display: inline-flex !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    line-height: 1.18 !important;
    padding: 4px 7px !important;
    color: #78350f !important;
    background: #fffbeb !important;
    border-color: #f59e0b !important;
  }

  /* Force high-contrast text inside coloured callout boxes. */
  .safer-box,
  .action-box,
  .caveat,
  .source-card,
  .component-row {
    color: #0f172a !important;
  }

  .safer-box strong,
  .action-box strong,
  .caveat strong,
  .source-card strong,
  .component-row h3 {
    color: #0f172a !important;
  }

  .safer-box p,
  .action-box p,
  .caveat span,
  .source-url-hint,
  .component-row p,
  .claim-row p {
    color: #1e293b !important;
  }

  .small-label,
  .source-card .label {
    color: #64748b !important;
  }

  .source-status,
  .source-status.missing {
    white-space: normal !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
  }

  .source-status {
    color: #064e3b !important;
    background: #ecfdf5 !important;
    border-color: #6ee7b7 !important;
  }

  .source-status.missing {
    color: #7f1d1d !important;
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
  }

  /* Prevent dark Font Awesome glyphs from creating bounding-box clipping artefacts. */
  .report-heading-icon,
  .caveat i,
  .source-card i {
    overflow: visible !important;
    color: #0f172a !important;
  }

  @supports (break-inside: avoid) {
    .pill,
    .judgement,
    .source-status {
      break-inside: avoid !important;
    }
  }
}


/* Public browser render fixes v2026-05-16g */
.dehype-report-wrap,
.example-panel,
.example-top,
.embedded-report-main,
.components-panel,
.component-table,
.component-row,
.component-row > div,
.report-block,
.source-stepper,
.source-step,
.source-card,
.claim-row,
.claim-row > div,
.caveat-grid,
.caveat,
.safer-action-grid,
.safer-box,
.action-box,
.locked-strip,
.report-link-grid,
.report-link-card,
.related-report-grid,
.related-report-card {
  min-width: 0;
}

.report-block,
.report-prose,
.source-card,
.source-card strong,
.source-url-hint,
.claim-row,
.caveat,
.safer-box,
.action-box,
.related-report-card,
.report-link-card,
.locked-strip {
  overflow-wrap: anywhere;
}

/* Tooltips were always present as invisible pseudo-elements. On narrow cards,
   those invisible boxes increased scroll width and produced mobile horizontal scroll. */
.has-tip::after {
  content: none;
}

.has-tip:hover::after,
.has-tip:focus::after {
  content: attr(data-tooltip);
}

@media (max-width: 680px) {
  .embedded-report-main,
  .components-panel,
  .report-block {
    overflow: hidden;
  }

  .grade-inner .meaning,
  .component-row p,
  .source-url-hint,
  .report-link-card em,
  .related-report-card span {
    overflow-wrap: anywhere;
  }

  .source-stepper {
    gap: 12px;
  }
}

/* Public report layout refinements v2026-05-17a */
.report-source-callout {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 0;
  background: rgba(239, 246, 255, .10);
  display: grid;
  grid-template-columns: minmax(160px, auto) minmax(0, 1fr);
  gap: 6px 14px;
  align-items: baseline;
  max-width: 100%;
}

.report-source-callout span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
  line-height: 1.25;
}

.report-source-callout a {
  color: #ffffff;
  font-weight: 900;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.report-source-callout small {
  grid-column: 2;
  color: #cbd5e1;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.source-card {
  display: grid;
  grid-template-rows: auto minmax(3.8em, auto) minmax(2.9em, auto) auto;
  align-content: start;
  gap: 8px;
}

.source-card .top {
  min-height: 28px;
  align-items: center;
  margin-bottom: 0;
}

.source-card strong {
  margin-bottom: 0;
  min-height: 3.8em;
  display: block;
}

.source-url-hint {
  min-height: 2.9em;
  display: flex;
  align-items: flex-start;
  margin-top: 0;
}

.source-status {
  align-self: end;
  margin-top: 6px;
  min-height: 28px;
  align-items: center;
  text-align: center;
}

.claim-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(160px, 180px);
  align-items: stretch;
}

.claim-row > div {
  min-width: 0;
}

.judgement {
  width: 100%;
  min-height: 38px;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  align-items: center;
  align-self: start;
  line-height: 1.2;
}

@media (max-width: 680px) {
  .report-source-callout {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .report-source-callout small {
    grid-column: auto;
  }

  .source-card {
    grid-template-rows: none;
  }

  .source-card strong,
  .source-url-hint {
    min-height: 0;
  }
}

@media print {
  .report-link-graph {
    display: none !important;
  }

  .report-source-callout {
    border: 0 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    border-radius: 8px !important;
    padding: 4mm !important;
    margin-top: 5mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .report-source-callout span,
  .report-source-callout a,
  .report-source-callout small {
    color: #0f172a !important;
  }
}

/* Report Readability / Verdict Hierarchy patch v2026-05-17b */
.grade-verdict-stack {
  display: grid;
  gap: 14px;
  align-content: center;
  justify-items: center;
  min-width: 0;
}

.final-verdict-card {
  width: min(100%, 260px);
  border: 1px solid #eef2f7;
  border-radius: 18px;
  background: #f8fafc;
  padding: 13px 14px;
  text-align: left;
}

.final-verdict-card span {
  display: block;
  margin-bottom: 5px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
  line-height: 1.2;
}

.final-verdict-card p {
  margin: 0;
  color: #475569;
  font-size: 13.5px;
  line-height: 1.55;
  font-weight: 500;
}

.grade-inner .meaning {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.source-stepper {
  align-items: stretch;
}

.source-step {
  height: 100%;
}

.source-card {
  height: 100%;
  grid-template-rows: auto minmax(4.35em, 4.35em) minmax(2.95em, 2.95em) auto;
}

.source-card strong {
  min-height: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.source-url-hint {
  min-height: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.claim-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(210px, .75fr);
  align-items: stretch;
}

.claim-judgement-cell {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
}

.claim-judgement-cell .judgement {
  width: auto;
  max-width: 100%;
  min-height: 34px;
  align-self: flex-start;
  white-space: normal;
  overflow-wrap: anywhere;
}

.judgement-detail {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
}

@media (max-width: 980px) {
  .claim-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .claim-judgement-cell .judgement {
    align-self: flex-start;
  }
}

@media (max-width: 680px) {
  .grade-verdict-stack {
    justify-items: center;
  }

  .final-verdict-card {
    width: 100%;
  }

  .source-card {
    height: auto;
    grid-template-rows: none;
  }

  .source-card strong,
  .source-url-hint {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }
}

@media print {
  .grade-verdict-stack {
    gap: 3mm !important;
    justify-items: start !important;
  }

  .final-verdict-card {
    width: 38mm !important;
    padding: 3mm !important;
    border-radius: 5px !important;
    background: #f8fafc !important;
    border-color: #dbe4ee !important;
  }

  .final-verdict-card span {
    color: #64748b !important;
    font-size: 6.6pt !important;
  }

  .final-verdict-card p,
  .judgement-detail {
    color: #1e293b !important;
    font-size: 7.8pt !important;
    line-height: 1.35 !important;
  }

  .source-card {
    height: 100% !important;
    grid-template-rows: auto minmax(3.4em, 3.4em) minmax(2.6em, 2.6em) auto !important;
  }

  .source-card strong,
  .source-url-hint {
    display: block !important;
    overflow: hidden !important;
  }

  .claim-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(34mm, 42mm) !important;
  }

  .claim-judgement-cell {
    gap: 2mm !important;
  }
}

/* Report badge compacting + source-chain node fix v2026-05-18a */
.badge-row {
  align-items: center;
  overflow: visible;
}

.pill {
  max-width: min(240px, 100%);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 0 1 auto;
}

.pill i {
  flex: 0 0 auto;
}

.pill .pill-text {
  display: inline-block;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.step-node {
  width: 46px;
  height: 46px;
  min-width: 46px;
  max-width: 46px;
  min-height: 46px;
  max-height: 46px;
  aspect-ratio: 1 / 1;
  flex: 0 0 46px;
  border-radius: 50%;
  box-sizing: border-box;
  overflow: hidden;
}

.step-number {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
}

@media print {
  .pill,
  .pill.slate,
  .pill.amber,
  .pill.green,
  .pill.blue,
  .pill.red {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 42mm !important;
  }

  .pill .pill-text {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .step-node {
    width: 8.5mm !important;
    height: 8.5mm !important;
    min-width: 8.5mm !important;
    max-width: 8.5mm !important;
    min-height: 8.5mm !important;
    max-height: 8.5mm !important;
    border-radius: 50% !important;
  }
}


/* Paid customer access mobile hardening v2026-05-18b */
.page-paid-report-access .site-main,
.page-paid-report-access .dehype-report-wrap,
.page-paid-report-access .example-panel,
.page-paid-report-access .example-top,
.page-paid-report-access .embedded-report-main,
.page-paid-report-access .components-panel,
.page-paid-report-access .component-table,
.page-paid-report-access .component-row,
.page-paid-report-access .source-stepper,
.page-paid-report-access .source-step,
.page-paid-report-access .source-card,
.page-paid-report-access .claim-row,
.page-paid-report-access .claim-row > div,
.page-paid-report-access .caveat-grid,
.page-paid-report-access .caveat,
.page-paid-report-access .safer-action-grid,
.page-paid-report-access .safer-box,
.page-paid-report-access .action-box {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.page-paid-report-access .example-top h1,
.page-paid-report-access .example-top h2,
.page-paid-report-access .example-top p,
.page-paid-report-access .report-source-callout,
.page-paid-report-access .report-source-callout a,
.page-paid-report-access .source-url-hint,
.page-paid-report-access .report-prose,
.page-paid-report-access .claim-row p,
.page-paid-report-access .caveat span,
.page-paid-report-access .safer-box p,
.page-paid-report-access .action-box p {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .page-paid-report-access .dehype-report-wrap {
    width: 100%;
    padding: 12px 12px 52px;
  }

  .page-paid-report-access .example-panel {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(15,23,42,.10);
  }

  .page-paid-report-access .example-top {
    border-radius: 22px 22px 0 0;
    padding: 18px 16px;
  }

  .page-paid-report-access .example-top h1,
  .page-paid-report-access .example-top h2 {
    font-size: clamp(1.55rem, 8.5vw, 2.05rem);
    line-height: 1.06;
    letter-spacing: -.045em;
    margin: 12px 0 8px;
  }

  .page-paid-report-access .badge-row {
    gap: 6px;
    max-width: 100%;
  }

  .page-paid-report-access .pill {
    max-width: 100%;
    min-height: 30px;
    padding: 7px 10px;
  }

  .page-paid-report-access .embedded-report-main {
    padding: 14px;
    gap: 14px;
  }

  .page-paid-report-access .components-panel {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
    border-radius: 22px;
  }

  .page-paid-report-access .grade-circle {
    width: 172px;
    height: 172px;
  }

  .page-paid-report-access .grade-inner {
    width: 112px;
    height: 112px;
  }

  .page-paid-report-access .grade-inner .grade {
    font-size: 44px;
  }

  .page-paid-report-access .final-verdict-card {
    width: 100%;
  }

  .page-paid-report-access .component-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border-radius: 16px;
  }

  .page-paid-report-access .component-grade {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 42px;
    border-radius: 14px;
    justify-self: stretch;
  }

  .page-paid-report-access .report-block {
    padding: 16px;
    border-radius: 20px;
  }

  .page-paid-report-access .report-heading {
    align-items: flex-start;
  }

  .page-paid-report-access .source-stepper {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-top: 0;
  }

  .page-paid-report-access .source-stepper::before {
    display: none;
  }

  .page-paid-report-access .source-step {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    height: auto;
  }

  .page-paid-report-access .step-node {
    width: 34px;
    height: 34px;
    min-width: 34px;
    max-width: 34px;
    min-height: 34px;
    max-height: 34px;
    flex-basis: 34px;
    margin: 4px 0 0;
    box-shadow: none;
  }

  .page-paid-report-access .step-number {
    font-size: 12px;
  }

  .page-paid-report-access .source-card {
    width: 100%;
    height: auto;
    min-height: 0;
    grid-template-rows: none;
    padding: 13px;
    border-radius: 16px;
  }

  .page-paid-report-access .source-card strong,
  .page-paid-report-access .source-url-hint {
    display: block;
    min-height: 0;
    -webkit-line-clamp: unset;
    overflow: visible;
  }

  .page-paid-report-access .source-status,
  .page-paid-report-access .judgement {
    width: 100%;
    max-width: 100%;
    white-space: normal;
  }

  .page-paid-report-access .claim-row,
  .page-paid-report-access .caveat-grid,
  .page-paid-report-access .safer-action-grid {
    grid-template-columns: 1fr;
  }

  .page-paid-report-access .claim-judgement-cell .judgement {
    align-self: stretch;
  }

  .page-paid-report-access .report-source-callout {
    grid-template-columns: 1fr;
    padding: 13px;
    border-radius: 16px;
  }

  .page-paid-report-access .report-source-callout small {
    grid-column: auto;
  }
}

@media (max-width: 420px) {
  .page-paid-report-access .dehype-report-wrap,
  .page-paid-report-access .embedded-report-main {
    padding-left: 10px;
    padding-right: 10px;
  }

  .page-paid-report-access .components-panel,
  .page-paid-report-access .report-block,
  .page-paid-report-access .example-top {
    padding-left: 14px;
    padding-right: 14px;
  }

  .page-paid-report-access .grade-circle {
    width: 156px;
    height: 156px;
  }

  .page-paid-report-access .grade-inner {
    width: 102px;
    height: 102px;
  }

  .page-paid-report-access .grade-inner .grade {
    font-size: 39px;
  }
}

/* Landing Report Anatomy Section v1.6 — narrow-screen containment fallback.
   Uses the current public report component classes with annotation call-outs for the landing page. */
.landing-report-anatomy {
  position: relative;
  overflow: visible;
  overflow-x: clip;
  overflow-y: visible;
  isolation: isolate;
  background:
    radial-gradient(circle at 10% 4%, rgba(47, 111, 100, .10), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(245, 158, 11, .10), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.landing-report-anatomy .container {
  width: min(1280px, calc(100% - 2rem));
}

.landing-report-anatomy__head {
  width: min(1120px, 100%);
  margin-inline: auto;
  margin-bottom: clamp(1.8rem, 3vw, 2.6rem);
}

.landing-report-anatomy__head p {
  max-width: 44rem;
}

.report-anatomy-shell {
  --connector-length: clamp(1.1rem, 2vw, 2.2rem);
  position: relative;
  display: grid;
  grid-template-columns: minmax(168px, 198px) minmax(0, 1fr) minmax(168px, 198px);
  gap: clamp(.08rem, .35vw, .35rem);
  align-items: center;
}

.anatomy-connectors {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 2;
}

.anatomy-connector-path {
  fill: none;
  stroke: rgba(8,145,178,.34);
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transition: stroke .16s ease, stroke-width .16s ease, opacity .16s ease;
}

.anatomy-connector-dot {
  fill: rgba(14,116,144,.82);
  stroke: rgba(255,255,255,.96);
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 3px 8px rgba(8,145,178,.16));
  transition: fill .16s ease, r .16s ease, opacity .16s ease;
}

.report-anatomy-shell.has-active .anatomy-connector-path,
.report-anatomy-shell.has-active .anatomy-connector-dot {
  opacity: .24;
}

.report-anatomy-shell.has-active .anatomy-connector-path.is-active {
  opacity: 1;
  stroke: rgba(8,145,178,.88);
  stroke-width: 2.35;
}

.report-anatomy-shell.has-active .anatomy-connector-dot.is-active {
  opacity: 1;
  fill: #0891b2;
}

.anatomy-callout-column {
  position: relative;
  display: block;
  min-height: 100%;
}

.anatomy-callout-column--left,
.anatomy-callout-column--right {
  align-self: stretch;
}

.anatomy-callout-column--left {
  padding-right: 0;
}

.anatomy-callout-column--right {
  padding-left: 0;
}

.anatomy-callout {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .82rem;
  align-items: start;
  padding: .82rem;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 46px rgba(15,23,42,.10);
  outline: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.anatomy-callout-column .anatomy-callout {
  position: absolute;
  inset-inline: 0;
  top: var(--anatomy-callout-top, 50%);
  transform: translateY(-50%);
}

.anatomy-callout:hover,
.anatomy-callout:focus,
.anatomy-callout.is-active {
  transform: translateY(-2px);
  border-color: rgba(8, 145, 178, .46);
  background: #ffffff;
  box-shadow: 0 24px 58px rgba(15,23,42,.14);
}

.anatomy-callout-column .anatomy-callout:hover,
.anatomy-callout-column .anatomy-callout:focus,
.anatomy-callout-column .anatomy-callout.is-active {
  transform: translateY(calc(-50% - 2px));
}

.anatomy-callout__number {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #0e7490, #0d9488);
  color: #fff;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(13,148,136,.26);
}

.anatomy-callout h3 {
  margin: .1rem 0 .25rem;
  color: #0f172a;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.anatomy-callout p {
  margin: 0;
  color: #475569;
  font-size: .86rem;
  line-height: 1.52;
}

.anatomy-callout--left::after,
.anatomy-callout--right::after,
.anatomy-callout--left::before,
.anatomy-callout--right::before {
  display: none;
}

.anatomy-report-frame {
  min-width: 0;
  position: relative;
  z-index: 1;
}

.landing-anatomy-report {
  border-radius: 30px;
  box-shadow: 0 28px 90px rgba(15,23,42,.13);
}

.landing-anatomy-report .example-top {
  padding: clamp(1.1rem, 2vw, 1.55rem);
  border-radius: 30px 30px 0 0;
}

.landing-anatomy-report .example-top h1 {
  max-width: 100%;
  margin: .85rem 0 .5rem;
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
  line-height: 1.06;
}

.landing-anatomy-report .example-top p {
  max-width: 860px;
  font-size: .96rem;
}

.landing-anatomy-report .report-source-callout {
  margin-top: 1rem;
  background: rgba(239, 246, 255, .12);
}

.landing-anatomy-report .embedded-report-main {
  padding: clamp(1rem, 2vw, 1.35rem);
  gap: .9rem;
}

.landing-anatomy-report .components-panel {
  grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.35rem);
  padding: clamp(1rem, 2vw, 1.35rem);
  border-radius: 26px;
  box-shadow: 0 14px 42px rgba(15,23,42,.07);
}

.landing-anatomy-report .grade-circle {
  width: clamp(156px, 15vw, 190px);
  height: clamp(156px, 15vw, 190px);
}

.landing-anatomy-report .grade-inner {
  width: clamp(104px, 10vw, 124px);
  height: clamp(104px, 10vw, 124px);
}

.landing-anatomy-report .grade-inner .grade {
  font-size: clamp(2.35rem, 4.1vw, 3.1rem);
}

.landing-anatomy-report .final-verdict-card {
  width: min(100%, 260px);
}

.landing-anatomy-report .component-row {
  padding: .82rem;
  border-radius: 18px;
}

.landing-anatomy-report .component-row h3 {
  font-size: .98rem;
}

.landing-anatomy-report .component-row p {
  font-size: .86rem;
}

.landing-anatomy-report .component-grade {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  font-size: 1.55rem;
}

.landing-anatomy-report .report-block {
  position: relative;
  padding: clamp(1rem, 1.75vw, 1.2rem);
  border-radius: 22px;
}

.landing-anatomy-report .report-heading {
  margin-bottom: .75rem;
}

.landing-anatomy-report .report-heading span:last-child {
  min-width: 0;
}

.landing-anatomy-report .source-stepper {
  gap: .75rem;
}

.landing-anatomy-report .source-card {
  min-height: 0;
  padding: .78rem;
  border-radius: 16px;
}

.landing-anatomy-report .source-card strong,
.landing-anatomy-report .source-url-hint {
  min-height: 0;
}

.landing-anatomy-report .source-card strong {
  font-size: .86rem;
}

.landing-anatomy-report .source-url-hint,
.landing-anatomy-report .source-status {
  font-size: .75rem;
}

.landing-anatomy-report .claim-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(132px, 150px);
  padding: .85rem;
  border-radius: 18px;
}

.landing-anatomy-report .claim-row p,
.landing-anatomy-report .caveat span,
.landing-anatomy-report .safer-box p,
.landing-anatomy-report .action-box p,
.landing-anatomy-report .report-prose p {
  font-size: .88rem;
}

.landing-anatomy-report .caveat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.landing-anatomy-report .safer-action-grid {
  position: relative;
}

.landing-anatomy-report .locked-strip {
  margin-top: .1rem;
  border-radius: 20px;
}

.anatomy-report-section {
  position: relative;
  transition: opacity .16s ease, transform .16s ease, box-shadow .16s ease, border-color .16s ease, outline-color .16s ease;
}

.report-anatomy-shell.has-active .anatomy-report-section {
  opacity: .54;
}

.report-anatomy-shell.has-active .anatomy-report-section.is-active,
.anatomy-report-section:hover {
  opacity: 1;
  transform: translateY(-1px);
  border-color: rgba(8,145,178,.42) !important;
  box-shadow: 0 18px 44px rgba(8,145,178,.13);
}

.anatomy-anchor-dot {
  position: absolute;
  top: 50%;
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: #0e7490;
  box-shadow: 0 0 0 4px rgba(8,145,178,.12), 0 5px 13px rgba(8,145,178,.18);
  z-index: 5;
}

.anatomy-anchor-dot--left {
  left: -5.5px;
}

.anatomy-anchor-dot--right {
  right: -5.5px;
}

.anatomy-report-section[data-anatomy-section="final-grade"] .anatomy-anchor-dot {
  top: 32%;
}

.anatomy-report-section[data-anatomy-section="source-chain"] .anatomy-anchor-dot {
  top: 34%;
}

.anatomy-report-section[data-anatomy-section="study-type"] .anatomy-anchor-dot {
  top: 50%;
}

.anatomy-report-section[data-anatomy-section="claim-audit"] .anatomy-anchor-dot {
  top: 46%;
}

.anatomy-report-section[data-anatomy-section="caveats"] .anatomy-anchor-dot {
  top: 34%;
}

.anatomy-report-section[data-anatomy-section="safer-takeaway"] .anatomy-anchor-dot {
  top: 50%;
}


.anatomy-mobile-callouts {
  display: none;
}

@media (max-width: 1260px) {
  .report-anatomy-shell {
    grid-template-columns: minmax(146px, 176px) minmax(0, 1fr) minmax(146px, 176px);
    gap: .18rem;
  }

  .anatomy-callout {
    padding: .72rem;
    gap: .64rem;
  }

  .anatomy-callout p {
    font-size: .82rem;
  }

  .landing-anatomy-report .components-panel {
    grid-template-columns: 1fr;
  }

  .landing-anatomy-report .source-stepper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landing-anatomy-report .source-stepper::before {
    display: none;
  }
}

@media (max-width: 1500px) {
  .landing-report-anatomy {
    overflow-x: hidden;
    overflow-y: visible;
  }

  .report-anatomy-shell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0;
  }

  .anatomy-report-frame {
    position: relative;
    z-index: 1;
    display: block !important;
    width: 100%;
    max-width: 960px;
    min-width: 0;
    height: auto !important;
    margin-inline: auto;
    overflow: visible;
  }

  .landing-anatomy-report {
    display: block !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .anatomy-callout-column {
    display: none !important;
  }

  .anatomy-mobile-callouts {
    position: relative;
    z-index: 2;
    clear: both;
    display: grid;
    width: min(960px, 100%);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
    margin: 1rem auto 0;
  }

  .anatomy-callout::before,
  .anatomy-callout::after,
  .anatomy-anchor-dot,
  .anatomy-connectors {
    display: none !important;
  }

  .report-anatomy-shell.has-active .anatomy-report-section {
    opacity: 1;
  }
}


@media (max-width: 900px) {
  .landing-anatomy-report .source-stepper {
    grid-template-columns: 1fr;
  }

  .landing-anatomy-report .claim-row,
  .landing-anatomy-report .caveat-grid,
  .landing-anatomy-report .safer-action-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .landing-report-anatomy .container {
    width: min(100% - 1rem, 1280px);
  }

  .landing-report-anatomy__head {
    margin-bottom: 1.1rem;
  }

  .landing-anatomy-report,
  .landing-anatomy-report .example-top {
    border-radius: 24px 24px 0 0;
  }

  .landing-anatomy-report {
    border-radius: 24px;
  }

  .landing-anatomy-report .example-top h1 {
    font-size: clamp(1.45rem, 8vw, 2.05rem);
  }

  .landing-anatomy-report .report-source-callout {
    grid-template-columns: 1fr;
  }

  .landing-anatomy-report .report-source-callout small {
    grid-column: auto;
  }

  .landing-anatomy-report .embedded-report-main {
    padding: .72rem;
  }

  .landing-anatomy-report .components-panel,
  .landing-anatomy-report .source-stepper,
  .landing-anatomy-report .claim-row,
  .landing-anatomy-report .caveat-grid,
  .landing-anatomy-report .safer-action-grid,
  .anatomy-mobile-callouts {
    grid-template-columns: 1fr;
  }

  .landing-anatomy-report .grade-circle {
    width: 150px;
    height: 150px;
  }

  .landing-anatomy-report .grade-inner {
    width: 98px;
    height: 98px;
  }

  .landing-anatomy-report .claim-judgement-cell .judgement {
    align-self: stretch;
  }

  .landing-anatomy-report .locked-strip {
    align-items: stretch;
  }

  .landing-anatomy-report .locked-strip .btn {
    width: 100%;
  }

  .anatomy-callout {
    border-radius: 18px;
  }
}


@media (max-width: 560px) {
  .landing-report-anatomy {
    padding-top: 2.6rem;
    padding-bottom: 2.8rem;
  }

  .landing-report-anatomy__head p {
    max-width: 100%;
  }

  .report-anatomy-shell,
  .anatomy-report-frame,
  .landing-anatomy-report,
  .anatomy-mobile-callouts {
    contain: layout style;
  }

  .landing-anatomy-report .badge-row {
    gap: .4rem;
  }

  .landing-anatomy-report .example-top,
  .landing-anatomy-report .embedded-report-main {
    padding: .72rem;
  }
}

/* Report Anatomy Section v1.7 — Lenovo/tablet containment guard.
   Default to the reliable stacked explainer on tablets, coarse-pointer devices,
   and smaller desktop widths. The connector layout is kept only for genuinely
   wide, fine-pointer desktop viewports. */
.report-anatomy-shell.is-anatomy-stacked {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
}

.report-anatomy-shell.is-anatomy-stacked .anatomy-report-frame {
  position: relative !important;
  z-index: 1;
  display: block !important;
  width: min(100%, 960px) !important;
  max-width: 960px !important;
  min-width: 0 !important;
  height: auto !important;
  margin-inline: auto !important;
  overflow: visible !important;
  transform: none !important;
}

.report-anatomy-shell.is-anatomy-stacked .landing-anatomy-report {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.report-anatomy-shell.is-anatomy-stacked .anatomy-callout-column,
.report-anatomy-shell.is-anatomy-stacked .anatomy-connectors,
.report-anatomy-shell.is-anatomy-stacked .anatomy-anchor-dot {
  display: none !important;
}

.landing-report-anatomy.is-anatomy-stacked .anatomy-mobile-callouts {
  position: relative !important;
  z-index: 2;
  clear: both;
  display: grid !important;
  width: min(960px, 100%) !important;
  max-width: 960px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin: 1rem auto 0;
}

@media (max-width: 1700px), (hover: none), (pointer: coarse), (any-pointer: coarse) {
  .landing-report-anatomy {
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }

  .landing-report-anatomy .report-anatomy-shell {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  .landing-report-anatomy .anatomy-report-frame {
    position: relative !important;
    z-index: 1;
    display: block !important;
    width: min(100%, 960px) !important;
    max-width: 960px !important;
    min-width: 0 !important;
    height: auto !important;
    margin-inline: auto !important;
    overflow: visible !important;
    transform: none !important;
  }

  .landing-report-anatomy .landing-anatomy-report {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .landing-report-anatomy .anatomy-callout-column,
  .landing-report-anatomy .anatomy-connectors,
  .landing-report-anatomy .anatomy-anchor-dot {
    display: none !important;
  }

  .landing-report-anatomy .anatomy-mobile-callouts {
    position: relative !important;
    z-index: 2;
    clear: both;
    display: grid !important;
    width: min(960px, 100%) !important;
    max-width: 960px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
    margin: 1rem auto 0;
  }
}

@media (max-width: 720px), (hover: none) and (max-width: 900px) {
  .landing-report-anatomy .anatomy-mobile-callouts,
  .landing-report-anatomy.is-anatomy-stacked .anatomy-mobile-callouts {
    grid-template-columns: 1fr !important;
  }

  .landing-report-anatomy .anatomy-report-frame,
  .report-anatomy-shell.is-anatomy-stacked .anatomy-report-frame {
    width: 100% !important;
  }
}

/* Report Anatomy Section v1.9 — callout copy wrapping polish.
   Keeps the numbered badge and heading on the first row, then lets the explanatory
   copy span the full card width so callouts use their available space better. */
.landing-report-anatomy .anatomy-callout {
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap: .72rem;
  row-gap: .35rem;
}

.landing-report-anatomy .anatomy-callout > div {
  display: contents;
}

.landing-report-anatomy .anatomy-callout__number {
  grid-column: 1;
  grid-row: 1;
  flex: 0 0 auto;
}

.landing-report-anatomy .anatomy-callout h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  margin: 0;
  text-wrap: balance;
}

.landing-report-anatomy .anatomy-callout p {
  grid-column: 1 / -1;
  grid-row: 2;
  max-width: none;
  margin: 0;
  text-wrap: pretty;
  overflow-wrap: normal;
  hyphens: none;
}

@media (max-width: 720px), (hover: none) and (max-width: 900px) {
  .landing-report-anatomy .anatomy-callout {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: .68rem;
    row-gap: .38rem;
  }
}

/* Public Report Quality & Trust UX v2 + Report Template Foundation v2026-05-23a */
.report-template-badge {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  margin: 10px 0 0;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #dbeafe;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.report-answer-card {
  margin-top: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 16px;
  align-items: stretch;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  padding: 16px;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.report-answer-card__verdict,
.report-answer-card__metrics {
  min-width: 0;
}

.report-answer-card__verdict span,
.report-answer-card__metrics small {
  display: block;
  margin-bottom: 6px;
  color: #bfdbfe;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: .085em;
  line-height: 1.2;
  text-transform: uppercase;
}

.report-answer-card__verdict strong {
  display: block;
  color: #ffffff;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1.1;
  letter-spacing: -.025em;
}

.report-answer-card__verdict p {
  margin-top: 9px;
  color: #dbeafe;
  font-size: .98rem;
  line-height: 1.56;
}

.report-answer-card__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.report-answer-card__metrics > div {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 12px;
  background: rgba(15,23,42,.18);
}

.report-answer-card__metrics b {
  display: block;
  color: #fff;
  font-size: 1rem;
  line-height: 1.22;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}

.report-quality-grid {
  grid-template-columns: 156px minmax(0, 1fr);
  align-items: start;
}

.report-section-spine {
  position: sticky;
  top: var(--public-sticky-offset, 92px);
  display: grid;
  gap: 8px;
  align-self: start;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  box-shadow: 0 14px 34px rgba(15,23,42,.06);
}

.report-section-spine::before {
  content: 'Report';
  display: block;
  margin-bottom: 2px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.report-section-spine a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  padding: 7px 8px;
  border-radius: 13px;
  color: #475569;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.report-section-spine a::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: 0 0 0 4px #f8fafc;
  flex: 0 0 auto;
}

.report-section-spine a:hover,
.report-section-spine a:focus {
  background: #eff6ff;
  color: #1d4ed8;
}

.report-section-spine a:hover::before,
.report-section-spine a:focus::before {
  background: #2563eb;
}

.report-quality-body {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.report-block-intro {
  margin: -2px 0 14px !important;
  color: #64748b !important;
  font-size: 14.5px !important;
}

.claim-evidence-table {
  display: grid;
  gap: 12px;
}

.claim-evidence-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(190px, .75fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid #eef2f7;
  border-radius: 18px;
  background: #f8fafc;
  align-items: start;
}

.claim-evidence-row > div {
  min-width: 0;
}

.claim-evidence-row span {
  display: block;
  margin-bottom: 6px;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.claim-evidence-row p {
  margin: 0;
  color: #475569;
  font-size: 14.5px;
  line-height: 1.58;
}

.claim-evidence-row div:first-child p {
  color: #0f172a;
  font-weight: 750;
}

.claim-evidence-row strong {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid #fde68a;
  background: #fffbeb;
  color: #92400e;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.18;
}

.report-section-anchor {
  display: block;
  position: relative;
  top: calc(-1 * var(--public-sticky-offset, 92px));
  height: 0;
  overflow: hidden;
}

.page-report-admin-preview::before {
  content: 'Admin report preview · noindex';
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 9999;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(15,23,42,.92);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 16px 40px rgba(15,23,42,.24);
}

@media (max-width: 1080px) {
  .report-quality-grid {
    grid-template-columns: 1fr;
  }

  .report-section-spine {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .report-section-spine::before {
    width: 100%;
  }
}

@media (max-width: 780px) {
  .report-answer-card,
  .claim-evidence-row {
    grid-template-columns: 1fr;
  }

  .report-answer-card__metrics {
    grid-template-columns: 1fr;
  }

  .report-section-spine {
    padding: 10px;
    border-radius: 18px;
  }

  .report-section-spine a {
    flex: 1 1 auto;
    justify-content: center;
  }

  .report-section-spine a::before {
    display: none;
  }
}

@media print {
  .report-template-badge,
  .report-section-spine,
  .page-report-admin-preview::before {
    display: none !important;
  }

  .report-answer-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4mm !important;
    margin-top: 5mm !important;
    padding: 5mm !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .report-answer-card__verdict span,
  .report-answer-card__metrics small,
  .report-answer-card__verdict strong,
  .report-answer-card__verdict p,
  .report-answer-card__metrics b {
    color: #0f172a !important;
  }

  .report-answer-card__metrics {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 2mm !important;
  }

  .report-answer-card__metrics > div,
  .claim-evidence-row {
    border-color: #dbe4ee !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    padding: 3mm !important;
  }

  .report-quality-grid,
  .report-quality-body {
    display: block !important;
  }

  .claim-evidence-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(30mm, 40mm) !important;
    gap: 3mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .claim-evidence-row p,
  .claim-evidence-row strong {
    font-size: 8pt !important;
    line-height: 1.35 !important;
  }
}
