/* Shared ReportModel V1 presentation. Relies on prototype.css theme tokens. */

.report-page {
  --report-gap: clamp(16px, 2.4vw, 28px);
}

.report-page :where(h1, h2, h3, p, li, dt, dd, strong, span, small) {
  overflow-wrap: anywhere;
}

.report-page :where(h1, h2, h3, p, li) {
  word-break: keep-all;
}

.report-anchor-alias {
  position: relative;
  top: -96px;
  display: block;
  width: 0;
  height: 0;
  visibility: hidden;
}

.report-section,
.report-view-rail,
.report-toc {
  scroll-margin-top: 96px;
}

.report-cover .hero-visual::before {
  content: none;
  display: none;
}

.report-cover__summary {
  min-height: 360px;
  align-content: center;
  justify-items: stretch;
  gap: 14px;
  padding: clamp(24px, 3.8vw, 46px);
  text-align: left;
  transform: none;
}

.report-cover__summary > * {
  width: 100%;
  margin: 0;
}

.report-cover__summary > strong {
  color: var(--proto-vivid-ink);
  font-size: clamp(34px, 4.8vw, 64px);
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.05em;
}

.report-cover__summary > p:not(.report-cover__label) {
  font-size: 16px;
  font-weight: 820;
  line-height: 1.55;
}

.report-cover__label {
  width: fit-content;
  padding: 6px 10px;
  color: #17141b;
  background: var(--proto-yellow);
  border: 2px solid var(--proto-line);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
}

.report-cover__summary dl {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.report-cover__summary dl div {
  display: grid;
  grid-template-columns: minmax(98px, 0.34fr) minmax(0, 1fr);
  gap: 12px;
  padding: 11px 12px;
  color: var(--proto-text);
  background: color-mix(in srgb, var(--proto-surface) 88%, transparent);
  border: 2px solid var(--proto-line);
  border-radius: 11px;
}

.report-cover__summary dt,
.report-cover__summary dd {
  min-width: 0;
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

.report-cover__summary dt {
  font-weight: 950;
}

.report-cover__summary dd {
  text-align: right;
}

.report-cover__state {
  max-width: 760px;
  display: grid;
  gap: 7px;
  padding: 16px 18px;
  color: var(--proto-text);
  background: color-mix(in srgb, var(--proto-yellow) 24%, var(--proto-surface));
  border: 2.5px dashed var(--proto-line);
  border-radius: var(--proto-radius);
}

.report-cover__state strong {
  color: var(--proto-ink);
  font-size: 14px;
  font-weight: 950;
}

.report-cover__state p,
.report-cover__state small {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
}

.report-cover__state p {
  color: var(--proto-muted);
}

.report-cover__state small {
  color: var(--proto-ink);
  font-weight: 850;
}

.report-notice {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  color: var(--proto-vivid-ink);
  background: var(--proto-lime);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-sm);
}

.report-notice strong {
  flex: 0 0 auto;
  padding: 5px 9px;
  background: var(--proto-yellow);
  border: 2px solid var(--proto-line);
  border-radius: 7px;
  font-size: 11px;
  font-weight: 950;
}

.report-notice span {
  font-size: 14px;
  font-weight: 760;
  line-height: 1.55;
}

.report-view-rail {
  margin-top: clamp(30px, 4.5vw, 54px);
  padding: clamp(18px, 2.6vw, 26px);
}

.report-view-rail__intro {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.report-view-rail__intro strong {
  color: var(--proto-ink);
  font-size: 17px;
  font-weight: 950;
}

.report-view-rail__intro span {
  color: var(--proto-muted);
  font-size: 12px;
}

.report-view-rail ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.report-view-rail li {
  min-width: 0;
}

.report-view-rail a {
  min-height: 88px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  color: var(--proto-text);
  background: var(--proto-surface-2);
  border: 2px solid var(--proto-line);
  border-radius: 14px;
  text-decoration: none;
}

.report-view-rail a:hover {
  background: color-mix(in srgb, var(--proto-cyan) 30%, var(--proto-surface));
}

.report-view-rail .is-current a {
  color: var(--proto-vivid-ink);
  background: var(--proto-cyan);
  box-shadow: var(--proto-shadow-sm);
}

.report-view-rail__number {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #17141b;
  background: var(--proto-yellow);
  border: 2px solid var(--proto-line);
  border-radius: 50%;
  font-family: var(--proto-mono);
  font-size: 10px;
  font-weight: 950;
}

.report-view-rail__copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.report-view-rail__copy strong {
  color: inherit;
  font-size: 15px;
  font-weight: 950;
}

.report-view-rail__copy small {
  color: inherit;
  font-size: 10px;
  line-height: 1.4;
  opacity: 0.8;
}

.report-toc {
  margin-top: 16px;
  padding: 18px 22px;
}

.report-toc > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  list-style-position: inside;
}

.report-toc[open] > summary {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 2px dashed color-mix(in srgb, var(--proto-ink) 28%, transparent);
}

.report-toc > summary strong {
  color: var(--proto-ink);
  font-size: 12px;
  font-weight: 950;
}

.report-toc > summary span {
  color: var(--proto-muted);
  font-size: 11px;
  font-weight: 800;
}

.report-toc ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: report-toc;
}

.report-toc li {
  counter-increment: report-toc;
}

.report-toc a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  color: var(--proto-ink);
  background: var(--proto-surface-2);
  border: 2px solid var(--proto-line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

.report-toc a::before {
  content: counter(report-toc, decimal-leading-zero);
  color: var(--proto-muted);
  font-family: var(--proto-mono);
  font-size: 9px;
}

.report-toc a:hover {
  color: #17141b;
  background: var(--proto-yellow);
}

.report-key-answer {
  display: grid;
  gap: 12px;
  padding: clamp(24px, 3.5vw, 40px);
  color: var(--proto-vivid-ink);
  background: var(--proto-yellow);
}

.report-key-answer > span {
  width: fit-content;
  padding: 5px 8px;
  color: #fff;
  background: #17141b;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 950;
}

.report-key-answer > strong {
  max-width: 920px;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 950;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.report-key-answer > p {
  max-width: 840px;
  margin: 0;
  font-size: 15px;
  font-weight: 740;
  line-height: 1.65;
}

.report-availability-grid,
.report-facet-grid,
.report-hypothesis-grid,
.report-question-grid,
.report-rights-grid,
.report-participant-grid,
.report-takeaway-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: var(--report-gap);
  margin-top: clamp(22px, 3vw, 34px);
}

.report-availability-card {
  min-width: 0;
  padding: 20px;
  color: var(--proto-text);
  background: var(--proto-surface);
  border: 2.5px solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-sm);
}

.report-availability-card.is-sample {
  background: color-mix(in srgb, var(--proto-lime) 20%, var(--proto-surface));
}

.report-availability-card.is-limited {
  background: color-mix(in srgb, var(--proto-cyan) 20%, var(--proto-surface));
}

.report-availability-card.is-unused {
  border-style: dashed;
}

.report-card-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.report-card-meta strong {
  color: var(--proto-ink);
  font-size: 15px;
  font-weight: 950;
}

.report-card-meta span {
  flex: 0 0 auto;
  padding: 4px 7px;
  color: #17141b;
  background: var(--proto-yellow);
  border: 1.5px solid var(--proto-line);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
}

.report-availability-card > p {
  margin: 18px 0 0;
  color: var(--proto-muted);
  font-size: 12px;
  line-height: 1.6;
}

.report-inline-note {
  margin: 22px 0 0;
  padding: 18px 20px;
  color: var(--proto-text);
  background: var(--proto-surface);
  border: 2.5px dashed var(--proto-line);
  border-radius: var(--proto-radius);
  font-size: 13px;
  line-height: 1.6;
}

.report-inline-note strong {
  color: var(--proto-ink);
}

.report-facet-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
}

.report-facet-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(22px, 2.6vw, 30px);
  color: var(--proto-vivid-ink);
  background: var(--proto-yellow);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-md);
}

.report-facet-card:nth-child(4n + 2) { background: var(--proto-cyan); }
.report-facet-card:nth-child(4n + 3) { background: var(--proto-pink-soft); }
.report-facet-card:nth-child(4n) { background: var(--proto-purple); }

.report-facet-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 13px;
  border-bottom: 2px solid color-mix(in srgb, #17141b 62%, transparent);
}

.report-facet-card__head span {
  font-family: var(--proto-mono);
  font-size: 12px;
  font-weight: 950;
}

.report-facet-card__head small {
  font-size: 11px;
  font-weight: 900;
  text-align: right;
}

.report-facet-card h3 {
  margin: 24px 0 14px;
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.report-facet-card ul,
.report-check-list,
.report-uncertainty-card ul,
.report-use-card ul,
.report-program-card ul,
.report-evidence-status ul,
.report-source-details ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 19px;
  font-size: 12px;
  line-height: 1.55;
}

.report-source-line {
  margin: auto 0 0;
  padding-top: 22px;
  font-size: 10px;
  font-weight: 800;
  opacity: 0.75;
}

.report-domain-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: var(--report-gap);
}

.report-condition-card {
  padding: clamp(24px, 3vw, 36px);
  background: color-mix(in srgb, var(--proto-lime) 18%, var(--proto-surface));
}

.report-condition-card h3,
.report-tradeoff-card h3,
.report-hypothesis-card h3 {
  margin: 0;
  color: var(--proto-ink);
  font-size: clamp(22px, 2.7vw, 32px);
  font-weight: 950;
  line-height: 1.16;
}

.report-check-list {
  margin-top: 24px;
  font-size: 14px;
}

.report-tradeoff-list {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.report-tradeoff-card {
  padding: 22px;
  color: var(--proto-text);
  background: var(--proto-surface);
  border: 2.5px solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-sm);
}

.report-tradeoff-card:nth-of-type(2) {
  background: color-mix(in srgb, var(--proto-cyan) 16%, var(--proto-surface));
}

.report-tradeoff-card small,
.report-participant-card small {
  display: block;
  margin-bottom: 12px;
  color: var(--proto-muted);
  font-size: 10px;
  font-weight: 950;
}

.report-tradeoff-card p,
.report-hypothesis-card p {
  margin: 12px 0 0;
  color: var(--proto-muted);
  font-size: 13px;
  line-height: 1.6;
}

.report-subtitle {
  margin: clamp(34px, 5vw, 58px) 0 0;
  color: var(--proto-ink);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 950;
}

.report-hypothesis-card {
  min-width: 0;
  padding: 24px;
  color: var(--proto-text);
  background: var(--proto-surface);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-md);
}

.report-hypothesis-card > span,
.report-question-card > span,
.report-takeaway-card > span {
  display: inline-block;
  margin-bottom: 24px;
  padding: 4px 8px;
  color: #fff;
  background: #17141b;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 950;
}

.report-evidence-summary,
.report-use-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--report-gap);
}

.report-evidence-status {
  min-width: 0;
  padding: clamp(22px, 2.8vw, 32px);
}

.report-state-pill {
  width: fit-content;
  display: inline-flex;
  padding: 5px 9px;
  color: #17141b;
  background: var(--proto-lime);
  border: 2px solid var(--proto-line);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}

.report-state-pill[data-state="insufficient_evidence"] {
  background: var(--proto-yellow);
}

.report-state-pill[data-state="boundary"] {
  background: var(--proto-cyan);
}

.report-state-pill[data-state="not_assessed"] {
  background: var(--proto-surface-2);
  border-style: dashed;
}

.report-evidence-status h3 {
  margin: 0 0 18px;
  color: var(--proto-ink);
  font-size: 22px;
  font-weight: 950;
}

.report-evidence-status dl {
  display: grid;
  gap: 16px;
  margin: 22px 0 0;
}

.report-evidence-status dl div {
  display: grid;
  gap: 5px;
  padding-top: 12px;
  border-top: 1.5px solid var(--proto-line);
}

.report-evidence-status dt,
.report-evidence-status dd {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

.report-evidence-status dt {
  color: var(--proto-ink);
  font-weight: 950;
}

.report-evidence-status dd {
  color: var(--proto-muted);
}

.report-state-guide {
  margin-top: var(--report-gap);
  padding: clamp(22px, 3vw, 32px);
  color: var(--proto-text);
  background: color-mix(in srgb, var(--proto-surface-2) 88%, transparent);
  border: 2.5px dashed var(--proto-line);
  border-radius: var(--proto-radius);
}

.report-state-guide__head {
  max-width: 840px;
}

.report-state-guide__head h3 {
  margin: 0;
  color: var(--proto-ink);
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 950;
}

.report-state-guide__head p {
  margin: 10px 0 0;
  color: var(--proto-muted);
  font-size: 12px;
  line-height: 1.6;
}

.report-state-guide__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.report-state-card {
  min-width: 0;
  padding: 18px;
  background: var(--proto-surface);
  border: 2px solid var(--proto-line);
  border-radius: 12px;
}

.report-state-card[data-state="boundary"] {
  background: color-mix(in srgb, var(--proto-cyan) 16%, var(--proto-surface));
}

.report-state-card[data-state="insufficient_evidence"] {
  background: color-mix(in srgb, var(--proto-yellow) 18%, var(--proto-surface));
}

.report-state-card[data-state="not_assessed"] {
  border-style: dashed;
}

.report-state-card > span {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 5px 8px;
  color: #17141b;
  background: var(--proto-lime);
  border: 1.5px solid var(--proto-line);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}

.report-state-card[data-state="boundary"] > span { background: var(--proto-cyan); }
.report-state-card[data-state="insufficient_evidence"] > span { background: var(--proto-yellow); }
.report-state-card[data-state="not_assessed"] > span { background: var(--proto-surface-2); }

.report-state-card p {
  margin: 7px 0 0;
  color: var(--proto-muted);
  font-size: 11px;
  line-height: 1.55;
}

.report-state-card p strong {
  color: var(--proto-ink);
}

.report-evidence-comparisons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: var(--report-gap);
  margin-top: var(--report-gap);
}

.report-evidence-comparison {
  min-width: 0;
  padding: 22px;
  color: var(--proto-vivid-ink);
  background: var(--proto-yellow);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-md);
}

.report-evidence-comparison:nth-child(3n + 2) { background: var(--proto-cyan); }
.report-evidence-comparison:nth-child(3n) { background: var(--proto-pink-soft); }

.report-evidence-comparison blockquote {
  margin: 24px 0;
  padding: 0 0 0 14px;
  border-left: 4px solid #17141b;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.45;
}

.report-interpretation {
  padding: 14px;
  color: var(--proto-text);
  background: color-mix(in srgb, var(--proto-surface) 85%, transparent);
  border: 2px solid var(--proto-line);
  border-radius: 11px;
}

.report-interpretation small {
  color: var(--proto-muted);
  font-size: 9px;
  font-weight: 950;
}

.report-interpretation p {
  margin: 7px 0 0;
  font-size: 12px;
  line-height: 1.55;
}

.report-evidence-preview,
.report-review-card,
.report-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: var(--report-gap);
  padding: 22px;
}

.report-evidence-preview strong,
.report-review-card strong,
.report-next strong {
  color: var(--proto-ink);
  font-size: 19px;
  font-weight: 950;
}

.report-evidence-preview p,
.report-review-card p,
.report-next p {
  margin: 5px 0 0;
  color: var(--proto-muted);
  font-size: 12px;
  line-height: 1.55;
}

.report-source-details {
  margin-top: var(--report-gap);
  padding: 0;
  overflow: hidden;
}

.report-source-details summary {
  min-height: 52px;
  display: flex;
  align-items: center;
  padding: 14px 18px;
  color: var(--proto-ink);
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
}

.report-source-details[open] summary {
  border-bottom: 2px solid var(--proto-line);
}

.report-source-details__body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  padding: 24px;
}

.report-source-details h3 {
  margin: 0 0 14px;
  color: var(--proto-ink);
  font-size: 16px;
  font-weight: 950;
}

.report-uncertainty-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--report-gap);
}

.report-uncertainty-card {
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  color: var(--proto-text);
  background: var(--proto-surface);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-md);
}

.report-uncertainty-card.is-unknown {
  background: color-mix(in srgb, var(--proto-purple) 16%, var(--proto-surface));
  border-style: dashed;
}

.report-uncertainty-card h3,
.report-use-card h3 {
  margin: 0 0 20px;
  color: var(--proto-ink);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 950;
  line-height: 1.12;
}

.report-question-grid {
  margin-top: 0;
}

.report-question-card {
  min-width: 0;
  padding: 22px;
  color: var(--proto-vivid-ink);
  background: var(--proto-yellow);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-sm);
}

.report-question-card:nth-child(3n + 2) { background: var(--proto-cyan); }
.report-question-card:nth-child(3n) { background: var(--proto-pink-soft); }

.report-question-card > span {
  margin-bottom: 20px;
}

.report-question-card > strong {
  display: block;
  font-size: 19px;
  font-weight: 950;
  line-height: 1.35;
}

.report-experiment {
  margin-top: var(--report-gap);
  padding: clamp(24px, 3.5vw, 40px);
}

.report-experiment__head > span {
  display: inline-block;
  padding: 5px 9px;
  color: #17141b;
  background: var(--proto-lime);
  border: 2px solid var(--proto-line);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 950;
}

.report-experiment__head h3 {
  max-width: 980px;
  margin: 18px 0 10px;
  color: var(--proto-ink);
  font-size: clamp(25px, 3.5vw, 42px);
  font-weight: 950;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.report-experiment__head p {
  max-width: 820px;
  margin: 0;
  color: var(--proto-muted);
  font-size: 13px;
  line-height: 1.6;
}

.report-experiment dl,
.report-program-card dl,
.report-space-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
  margin: 28px 0 0;
}

.report-experiment dl div,
.report-program-card dl div,
.report-space-info div {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 16px;
  background: var(--proto-surface-2);
  border: 2px solid var(--proto-line);
  border-radius: 12px;
}

.report-experiment dt,
.report-experiment dd,
.report-program-card dt,
.report-program-card dd,
.report-space-info dt,
.report-space-info dd {
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
}

.report-experiment dt,
.report-program-card dt,
.report-space-info dt {
  color: var(--proto-ink);
  font-weight: 950;
}

.report-experiment dd,
.report-program-card dd,
.report-space-info dd {
  color: var(--proto-muted);
}

.report-program-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(24px, 4vw, 54px);
  padding: clamp(24px, 3.6vw, 42px);
}

.report-program-card h3 {
  margin: 18px 0 10px;
  color: var(--proto-ink);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 950;
}

.report-program-card p {
  margin: 0;
  color: var(--proto-muted);
  line-height: 1.6;
}

.report-program-card__choices {
  padding: 22px;
  color: var(--proto-vivid-ink);
  background: var(--proto-cyan);
  border: 3px solid var(--proto-line);
  border-radius: var(--proto-radius);
}

.report-program-card__choices h3 {
  color: #17141b;
  font-size: 23px;
}

.report-visit-flow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.report-visit-flow li {
  min-width: 0;
  padding: 20px;
  color: var(--proto-text);
  background: var(--proto-surface);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-sm);
}

.report-visit-flow li > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  color: #17141b;
  background: var(--proto-yellow);
  border: 2px solid var(--proto-line);
  border-radius: 50%;
  font-family: var(--proto-mono);
  font-size: 10px;
  font-weight: 950;
}

.report-visit-flow strong {
  display: block;
  margin-bottom: 8px;
  color: var(--proto-ink);
  font-size: 17px;
  font-weight: 950;
}

.report-visit-flow p {
  margin: 0;
  color: var(--proto-muted);
  font-size: 12px;
  line-height: 1.55;
}

.report-participant-card {
  min-width: 0;
  padding: 24px;
  color: var(--proto-text);
  background: var(--proto-surface);
  border: 2.5px solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-sm);
}

.report-participant-card:nth-child(4n + 2) { background: color-mix(in srgb, var(--proto-yellow) 18%, var(--proto-surface)); }
.report-participant-card:nth-child(4n + 3) { background: color-mix(in srgb, var(--proto-cyan) 16%, var(--proto-surface)); }
.report-participant-card:nth-child(4n) { background: color-mix(in srgb, var(--proto-purple) 16%, var(--proto-surface)); }

.report-participant-card h3,
.report-participant-card blockquote,
.report-participant-card p {
  margin: 0;
  color: var(--proto-ink);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.45;
}

.report-takeaway-card {
  min-width: 0;
  padding: 24px;
  color: var(--proto-vivid-ink);
  background: var(--proto-yellow);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-md);
}

.report-takeaway-card:nth-child(3n + 2) { background: var(--proto-cyan); }
.report-takeaway-card:nth-child(3n) { background: var(--proto-pink-soft); }

.report-takeaway-card h3 {
  margin: 0 0 10px;
  font-size: 23px;
  font-weight: 950;
}

.report-takeaway-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.report-media-slot {
  margin: var(--report-gap) 0 0;
  overflow: hidden;
  background: var(--proto-surface);
  border: 3px dashed var(--proto-line);
  border-radius: var(--proto-radius);
}

.report-media-slot > div {
  min-height: 230px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 30px;
  text-align: center;
}

.report-media-slot strong {
  color: var(--proto-ink);
  font-size: clamp(18px, 2.4vw, 26px);
  font-weight: 950;
}

.report-media-slot span {
  max-width: 680px;
  color: var(--proto-muted);
  font-size: 12px;
  line-height: 1.6;
}

.report-media-slot figcaption {
  padding: 12px 16px;
  color: var(--proto-muted);
  background: var(--proto-surface-2);
  border-top: 2px solid var(--proto-line);
  font-size: 10px;
  text-align: center;
}

.report-space-info {
  margin-top: 0;
  padding: 22px;
}

.report-use-card {
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  color: var(--proto-vivid-ink);
  background: var(--proto-lime);
  border: var(--proto-outline) solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-md);
}

.report-use-card.is-prohibited {
  background: var(--proto-pink-soft);
}

.report-use-card h3 {
  color: #17141b;
}

.report-rights-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.report-right-card {
  min-width: 0;
  padding: 22px;
  color: var(--proto-text);
  background: var(--proto-surface);
  border: 2.5px solid var(--proto-line);
  border-radius: var(--proto-radius);
  box-shadow: var(--proto-shadow-sm);
}

.report-right-card h3 {
  margin: 0 0 9px;
  color: var(--proto-ink);
  font-size: 18px;
  font-weight: 950;
}

.report-right-card p {
  margin: 0;
  color: var(--proto-muted);
  font-size: 12px;
  line-height: 1.55;
}

.report-provenance {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 10px;
  padding: 18px;
}

.report-provenance div {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 16px;
  background: var(--proto-surface-2);
  border: 1.5px solid var(--proto-line);
  border-radius: 11px;
}

.report-provenance dt,
.report-provenance dd {
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
}

.report-provenance dt {
  color: var(--proto-muted);
  font-size: 9px;
  font-weight: 950;
}

.report-provenance dd {
  color: var(--proto-ink);
}

.report-review-card small {
  display: block;
  margin-bottom: 5px;
  color: var(--proto-muted);
  font-size: 9px;
  font-weight: 950;
}

.report-next {
  margin-top: 0;
}

.report-next__links {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

@media (max-width: 980px) {
  .report-domain-layout,
  .report-program-card {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 780px) {
  .report-cover__summary {
    min-height: auto;
  }

  .report-cover__summary dl div {
    grid-template-columns: 1fr;
  }

  .report-cover__summary dd {
    text-align: left;
  }

  .report-notice,
  .report-view-rail__intro,
  .report-evidence-preview,
  .report-review-card,
  .report-next {
    align-items: flex-start;
    flex-direction: column;
  }

  .report-view-rail ol,
  .report-facet-grid,
  .report-evidence-summary,
  .report-state-guide__grid,
  .report-source-details__body,
  .report-uncertainty-grid,
  .report-use-grid {
    grid-template-columns: 1fr;
  }

  .report-toc ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-toc a {
    width: 100%;
  }

  .report-evidence-preview .button,
  .report-review-card .button,
  .report-next__links,
  .report-next__links .button {
    width: 100%;
  }

  .report-next__links {
    justify-content: stretch;
  }
}

@media (max-width: 430px) {
  .report-toc ol {
    grid-template-columns: 1fr;
  }

  .report-card-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .report-card-meta span {
    flex: 0 1 auto;
  }

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

@media (forced-colors: active) {
  .report-notice,
  .report-cover__state,
  .report-view-rail,
  .report-view-rail a,
  .report-toc,
  .report-toc a,
  .report-key-answer,
  .report-availability-card,
  .report-facet-card,
  .report-condition-card,
  .report-tradeoff-card,
  .report-hypothesis-card,
  .report-evidence-status,
  .report-state-guide,
  .report-state-card,
  .report-evidence-comparison,
  .report-uncertainty-card,
  .report-question-card,
  .report-experiment,
  .report-program-card,
  .report-visit-flow li,
  .report-participant-card,
  .report-takeaway-card,
  .report-media-slot,
  .report-use-card,
  .report-right-card,
  .report-provenance,
  .report-review-card,
  .report-next {
    border-color: CanvasText;
    box-shadow: none;
  }
}

@media print {
  .report-view-rail,
  .report-toc,
  .report-next,
  .hero-actions {
    display: none !important;
  }

  .report-availability-card,
  .report-facet-card,
  .report-condition-card,
  .report-tradeoff-card,
  .report-hypothesis-card,
  .report-evidence-status,
  .report-state-guide,
  .report-state-card,
  .report-evidence-comparison,
  .report-uncertainty-card,
  .report-question-card,
  .report-experiment,
  .report-program-card,
  .report-visit-flow li,
  .report-participant-card,
  .report-takeaway-card,
  .report-use-card,
  .report-right-card,
  .report-provenance div {
    break-inside: avoid;
    box-shadow: none;
  }
}
