/* Report upload and review. Scientific content and comparison positions come from the view. */
[hidden] { display: none !important; }

.review-page {
  --review-bg: #100b07;
  --review-surface: #1b130d;
  --review-raised: #24190f;
  --review-border: rgba(240, 155, 84, .19);
  --review-ink: #f5ede3;
  --review-muted: #bdac9c;
  --review-dim: #a18d7c;
  --review-orange: #ff913e;
  --review-orange-bright: #ffab62;
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(ellipse at 82% 0%, rgba(197, 87, 17, .11), transparent 42%), var(--review-bg);
  color: var(--review-ink);
  font-family: var(--font, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif);
  font-size: 16px;
  line-height: 1.7;
  color-scheme: dark;
  overflow-x: clip;
}
.review-page *, .review-page *::before, .review-page *::after { box-sizing: border-box; }
.review-page :where(section) { max-width: none; padding: 0; }
.review-page :where(h1, h2, h3, h4, p, ul, ol, dl) { margin: 0; }
.review-page :is(p, h1, h2, h3, h4, label, summary, li, a, td, th) { overflow-wrap: anywhere; }
.review-page :is(button, input, textarea, select) { font: inherit; }
.review-page :is(button, a, input, textarea, select, summary):focus-visible { outline: 2px solid var(--review-orange-bright); outline-offset: 4px; }
.review-page a { color: var(--review-orange-bright); text-underline-offset: 4px; }
.review-page :is(button, a) { -webkit-tap-highlight-color: transparent; }
.review-container { width: min(1160px, calc(100% - 48px)); margin-inline: auto; min-width: 0; }
.review-real-references { margin-block: 0 36px; padding: 24px; border: 1px solid var(--review-border); border-radius: 20px; background: var(--review-surface); scroll-margin-top: 85px; }
.review-real-reference-controls { display: grid; gap: 7px; margin: 16px 0 12px; }
.review-real-reference-controls label { color: var(--review-muted); font-size: 14px; }
.review-real-reference-controls select { width: 100%; min-width: 0; padding: 11px 12px; color: var(--review-ink); background: var(--review-raised); border: 1px solid var(--review-border); border-radius: 10px; }
.review-real-reference-context { margin-bottom: 12px !important; font-size: 14px; color: var(--review-muted); }
.review-table-hint { display: none; }
.review-real-reference-table-wrap { overflow-x: auto; margin-bottom: 12px; }
.review-real-reference-table-wrap:focus-visible { outline: 2px solid var(--review-orange); }
.review-real-reference-table { width: 100%; min-width: 630px; border-collapse: collapse; text-align: left; }
.review-real-reference-table :is(th,td) { padding: 12px; border-bottom: 1px solid var(--review-border); }
.review-real-reference-table thead { color: var(--review-muted); font-size: 13px; }
.review-real-reference-table tbody th { font-size: 15px; font-weight: 600; }
.review-real-reference-table td { font-size: 13px; color: var(--review-muted); }
.review-real-reference-table .review-real-reference-value { color: var(--review-orange); font-size: 22px; font-weight: 650; white-space: nowrap; }
.review-real-references .review-button-secondary { margin: 12px 0; }
@media (max-width: 640px) { .review-table-hint { display: block; margin: 0 0 6px; color: var(--review-muted); font-size: 12px; } .review-real-references { padding: 18px; } .review-real-reference-table .review-real-reference-value { font-size: 19px; } }
@media print { .review-real-references { display: none !important; } }
.review-skip-link { position: absolute; top: 14px; left: 16px; z-index: 1000; padding: 9px 14px; border-radius: 8px; background: var(--review-orange); color: #1d0e05 !important; text-decoration: none; transform: translateY(-180%); }
.review-skip-link:focus-visible { transform: translateY(0); }

.review-topbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding-block: 18px; border-bottom: 1px solid var(--review-border); }
.review-topbar > .review-container { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.review-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--review-ink) !important; font-size: 17px; font-weight: 750; text-decoration: none; line-height: 1.35; }
.review-brand > span { min-width: 0; }
.review-brand strong { display: block; font-size: 19px; }
.review-brand small { display: block; margin-top: 3px; color: var(--review-muted); font-size: 11px; font-weight: 450; line-height: 1.6; }
.review-logo { display: grid; place-items: center; width: 35px; min-width: 35px; height: 35px; border-radius: 10px; background: linear-gradient(145deg, #ff9a45, #ee6e1b); color: #1b0e04; font-size: 17px; font-weight: 850; }
img.review-logo { display: block; width: 58px; min-width: 58px; height: 42px; border-radius: 0; background: transparent; object-fit: contain; }
.review-page .review-nav { position: static; inset: auto; z-index: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 20px; height: auto; padding: 0; border: 0; background: transparent; backdrop-filter: none; }
.review-page .review-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 2px 0; color: var(--review-muted); font-size: 14px; text-decoration: none; }
.review-page .review-nav a::after { display: none; }
.review-page .review-nav a:hover { color: var(--review-ink); }
.review-print { min-height: 40px; padding: 8px 14px; border: 1px solid var(--review-border); border-radius: 10px; background: transparent; color: var(--review-ink); cursor: pointer; }

.review-page .review-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; gap: 54px; padding-block: 54px 48px; }
.review-hero > *, .review-result-heading > *, .review-metric-head > * { min-width: 0; }
.review-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--review-orange-bright); font-size: 13px; font-weight: 650; letter-spacing: .12em; }
.review-kicker::before { content: ""; width: 22px; height: 2px; background: var(--review-orange); }
.review-headline { max-width: 650px; margin: 0; font-size: clamp(34px, 4.1vw, 52px); font-weight: 800; line-height: 1.22; letter-spacing: -.035em; text-wrap: balance; }
.review-accent { color: var(--review-orange); }
.review-copy { max-width: 570px; margin: 22px 0 0; color: var(--review-muted); font-size: 16px; line-height: 1.9; }
.review-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.review-button, .review-button-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; max-width: 100%; padding: 12px 21px; border: 1px solid transparent; border-radius: 11px; font-size: 15px; font-weight: 700; line-height: 1.45; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; transition: background .16s, border-color .16s, transform .16s; }
.review-button { background: linear-gradient(135deg, #ff963d, #f17b25); color: #1d0e05 !important; box-shadow: 0 7px 23px rgba(231, 98, 16, .13); }
.review-button:hover { background: linear-gradient(135deg, #ffab60, #ff8a31); transform: translateY(-1px); }
.review-button-secondary { border-color: var(--review-border); background: rgba(255,255,255,.02); color: var(--review-ink) !important; }
.review-button-secondary:hover, .review-print:hover { border-color: rgba(255, 161, 84, .55); background: rgba(255, 145, 62, .06); }
.review-page button:disabled { opacity: .48; cursor: default; transform: none; }
.review-upload-card { min-width: 0; padding: 25px; border: 1px solid var(--review-border); border-radius: 20px; background: linear-gradient(145deg, rgba(38, 25, 15, .95), rgba(23, 15, 10, .95)); box-shadow: 0 18px 42px rgba(0,0,0,.16); }
.review-upload-card h2 { margin-bottom: 6px; font-size: 20px; line-height: 1.45; }
.review-dropzone { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 11px; min-height: 206px; margin-top: 19px; padding: 24px 18px; border: 1px dashed rgba(255, 153, 69, .45); border-radius: 14px; background: rgba(255, 135, 46, .035); text-align: center; cursor: pointer; }
.review-dropzone:hover, .review-dropzone:focus-within, .review-dropzone.is-dragover, .review-dropzone[data-dragover="true"] { border-color: var(--review-orange-bright); background: rgba(255, 135, 46, .075); }
.review-upload-icon { display: grid; place-items: center; width: 48px; height: 48px; color: var(--review-orange-bright); border: 1px solid rgba(255, 145, 62, .21); border-radius: 14px; background: rgba(255, 145, 62, .06); font-size: 26px; line-height: 1; }
.review-upload-icon svg { width: 24px; height: 24px; }
.review-local-note, .review-format-note, .review-status-line { margin-top: 12px; font-size: 13px; line-height: 1.75; }
.review-local-note { color: var(--review-muted); }
.review-format-note { color: var(--review-dim); }
.review-status-line { min-height: 24px; color: var(--review-orange-bright); }
.review-upload-card > div.review-status-line { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin-top: 0; }
.review-upload-card > div.review-status-line small { color: var(--review-muted); font-size: 11px; }
.review-file-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.review-preview-note { padding: 13px 17px; border: 1px solid var(--review-border); border-radius: 12px; background: rgba(255, 145, 62, .035); color: var(--review-muted); font-size: 13px; line-height: 1.8; }
.review-hero .review-preview-note { margin-top: 18px; }

.review-page .review-results { padding-block: 28px 54px; scroll-margin-top: 24px; }
.review-result-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.review-result-heading h2 { font-size: clamp(25px, 3vw, 34px); line-height: 1.4; letter-spacing: -.025em; }
.review-demo-badge, .review-chip { display: inline-flex; align-items: center; max-width: 100%; padding: 4px 10px; border: 1px solid rgba(255, 158, 79, .3); border-radius: 7px; background: rgba(255, 145, 62, .07); color: var(--review-orange-bright); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.review-demo-badge { margin-top: 8px; }
.review-result-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; }
.review-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 35px; }
.review-summary-card { min-width: 0; padding: 19px 21px; border: 1px solid var(--review-border); border-radius: 14px; background: var(--review-surface); }
.review-summary-label { display: block; color: var(--review-muted); font-size: 13px; }
.review-summary-value { display: block; margin-top: 7px; color: var(--review-ink); font-size: 20px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.review-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 24px; margin: 32px 0 17px; }
.review-section-heading h3, h3.review-section-heading { font-size: 22px; line-height: 1.4; }
.review-section-heading p { color: var(--review-muted); font-size: 14px; }
.review-metrics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.review-metric-card { min-width: 0; padding: 23px 25px; border: 1px solid var(--review-border); border-radius: 17px; background: linear-gradient(145deg, var(--review-surface), #19110c); }
.review-metric-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.review-metric-label { font-size: 18px; font-weight: 700; line-height: 1.5; }
.review-metric-method { margin-top: 4px; color: var(--review-muted); font-size: 12px; line-height: 1.7; }
.review-chip { flex-shrink: 0; }
.review-value-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 21px; border: 1px solid rgba(240, 155, 84, .12); border-radius: 12px; overflow: hidden; }
.review-value-block { min-width: 0; padding: 17px 12px; background: rgba(255,255,255,.015); text-align: center; }
.review-value-block + .review-value-block { border-left: 1px solid var(--review-border); }
.review-value-block strong { display: block; font-size: clamp(25px, 2.55vw, 33px); font-weight: 750; line-height: 1.3; font-variant-numeric: tabular-nums; letter-spacing: -.035em; overflow-wrap: anywhere; }
.review-value-block small { display: block; margin-top: 7px; color: var(--review-muted); font-size: 12px; line-height: 1.7; }
.review-value-client, .review-value-client strong { color: var(--review-orange); }
.review-value-reference, .review-value-reference strong { color: var(--review-ink); }
.review-value-unit { display: inline-block; margin-left: 4px; font-size: 12px; font-weight: 500; color: var(--review-muted); letter-spacing: 0; }
.review-metric-track { position: relative; height: 27px; margin: 23px 8px 2px; }
.review-metric-track::before { content: ""; position: absolute; top: 12px; left: 0; right: 0; height: 3px; border-radius: 3px; background: #594332; }
.review-reference-marker { position: absolute; top: 3px; left: 50%; width: 2px; height: 21px; border-radius: 2px; background: var(--review-ink); transform: translateX(-50%); }
.review-client-marker { position: absolute; top: 7px; width: 13px; height: 13px; border: 2px solid var(--review-surface); border-radius: 50%; background: var(--review-orange); box-shadow: 0 0 0 1px rgba(255, 145, 62, .25); transform: translateX(-50%); }
.review-track-labels { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; color: var(--review-dim); font-size: 12px; line-height: 1.6; }
.review-track-labels > * { min-width: 0; max-width: 49%; overflow-wrap: anywhere; }
.review-track-labels > :last-child { text-align: right; }
.review-difference { margin-top: 15px; color: var(--review-orange-bright); font-size: 14px; font-variant-numeric: tabular-nums; }
.review-metric-note { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(240, 155, 84, .11); color: var(--review-muted); font-size: 12px; line-height: 1.8; }

.review-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.review-evidence-card { min-width: 0; padding: 23px 25px; border: 1px solid var(--review-border); border-radius: 17px; background: var(--review-surface); }
.review-evidence-card h4 { margin-bottom: 13px; font-size: 18px; }
.review-tem-preview { display: grid; place-items: center; min-height: 170px; padding: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: #110e0b; overflow: hidden; }
.review-tem-preview svg, .review-tem-preview img { display: block; width: 100%; max-width: 100%; height: auto; max-height: 290px; object-fit: contain; }
.review-marker-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.review-marker-table th, .review-marker-table td { padding: 11px 8px; border-bottom: 1px solid var(--review-border); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.review-marker-table th { color: var(--review-muted); font-size: 12px; font-weight: 550; }
.review-marker-table tbody tr:last-child td { border-bottom: 0; }
.review-evidence-status { margin-top: 13px; color: var(--review-orange-bright); font-size: 13px; line-height: 1.8; }
.review-evidence-list { display: grid; gap: 9px; margin: 13px 0 0; padding-left: 19px; color: var(--review-muted); font-size: 13px; line-height: 1.8; }
.review-page .review-next-step { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 17px 28px; margin-top: 28px; padding: 23px 25px; border: 1px solid rgba(255, 145, 62, .27); border-radius: 16px; background: rgba(255, 145, 62, .045); }
.review-next-step h3 { margin-bottom: 4px; font-size: 18px; }
.review-next-step p { max-width: 730px; color: var(--review-muted); font-size: 14px; }
.review-footnote, .review-source-boundary { margin-top: 20px; color: var(--review-muted); font-size: 12px; line-height: 1.85; }
.review-source-boundary { padding: 13px 16px; border-left: 2px solid #866448; border-radius: 0 8px 8px 0; background: rgba(255,255,255,.02); }
.review-empty-state { padding: 30px 22px; border: 1px dashed var(--review-border); border-radius: 13px; color: var(--review-muted); text-align: center; }
.review-page .review-confirm-panel { margin-block: 0 32px; padding: 25px; border: 1px solid rgba(255, 158, 79, .32); border-radius: 18px; background: var(--review-surface); }
.review-confirm-panel h2, .review-confirm-panel h3 { margin-bottom: 12px; line-height: 1.5; }
.review-confirm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 20px 0; }
.review-confirm-field { display: grid; align-content: start; gap: 7px; min-width: 0; }
.review-confirm-field label { color: var(--review-muted); font-size: 13px; line-height: 1.6; }
.review-confirm-field input, .review-confirm-field textarea, .review-confirm-field select { width: 100%; max-width: 100%; min-height: 44px; min-width: 0; padding: 10px 12px; border: 1px solid #51402f; border-radius: 9px; background: #120d09; color: var(--review-ink); font-size: 14px; line-height: 1.5; }
.review-confirm-field textarea { min-height: 88px; resize: vertical; }
.review-confirm-field input::placeholder, .review-confirm-field textarea::placeholder { color: #ad9784; opacity: 1; }
.review-checkbox-line { display: flex; align-items: flex-start; gap: 10px; margin-block: 14px; color: var(--review-muted); font-size: 13px; line-height: 1.8; }
.review-checkbox-line input { flex-shrink: 0; width: 17px; height: 17px; margin-top: 3px; accent-color: var(--review-orange); }
.review-warning, .review-error { padding: 12px 15px; border: 1px solid rgba(235, 174, 110, .32); border-radius: 10px; background: rgba(210, 139, 72, .06); color: #f0c397; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.review-error { margin-top: 13px; }
.review-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 18px; padding-block: 24px 32px; border-top: 1px solid var(--review-border); color: var(--review-dim); font-size: 12px; line-height: 1.85; }
.review-footer small { flex-basis: 100%; font-size: 12px; }
.review-page details { min-width: 0; }
.review-page summary { padding-block: 8px; cursor: pointer; color: var(--review-orange-bright); font-size: 13px; line-height: 1.8; }
.review-page details[open] summary { margin-bottom: 8px; }
.review-page details :is(p, ul, ol, dl) { color: var(--review-muted); font-size: 13px; line-height: 1.85; }

@media (max-width: 900px) {
  .review-page .review-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-block: 34px 32px; }
  .review-headline { max-width: 720px; font-size: clamp(34px, 5.8vw, 48px); }
  .review-copy { max-width: 720px; }
  .review-upload-card { max-width: none; }
  .review-confirm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .review-container { width: calc(100% - 32px); }
  .review-topbar, .review-topbar > .review-container { gap: 14px; align-items: flex-start; }
  .review-brand { font-size: 15px; gap: 8px; }
  .review-brand strong { font-size: 16px; }
  .review-brand small { max-width: 14em; font-size: 10px; }
  .review-logo { width: 31px; min-width: 31px; height: 31px; }
  img.review-logo { width: 45px; min-width: 45px; height: 33px; }
  .review-page .review-nav { gap: 8px 12px; }
  .review-page .review-nav a { font-size: 12px; min-height: 31px; }
  .review-print { font-size: 12px; min-height: 34px; padding: 7px 10px; }
  .review-page .review-hero { padding-block: 28px; gap: 26px; }
  .review-headline { font-size: clamp(31px, 8.6vw, 39px); line-height: 1.3; }
  .review-kicker { margin-bottom: 13px; font-size: 12px; }
  .review-copy { margin-top: 17px; font-size: 14px; line-height: 1.85; }
  .review-hero-actions { gap: 10px; margin-top: 21px; }
  .review-button, .review-button-secondary { padding: 11px 16px; min-height: 44px; font-size: 14px; }
  .review-upload-card { padding: 20px; border-radius: 16px; }
  .review-dropzone { min-height: 183px; padding: 20px 12px; }
  .review-result-heading { flex-direction: column; align-items: stretch; gap: 14px; }
  .review-result-actions { justify-content: flex-start; }
  .review-summary-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-bottom: 27px; }
  .review-summary-card { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 10px; align-items: baseline; padding: 14px 16px; }
  .review-summary-value { margin-top: 0; font-size: 17px; text-align: right; }
  .review-metrics-grid, .review-evidence-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .review-metric-card, .review-evidence-card { padding: 20px 18px; border-radius: 14px; }
  .review-metric-head { gap: 10px; }
  .review-metric-label { font-size: 17px; }
  .review-chip { max-width: 42%; padding: 3px 7px; font-size: 11px; flex-shrink: 1; }
  .review-value-pair { margin-top: 18px; }
  .review-value-block { padding: 16px 9px; }
  .review-value-block strong { font-size: clamp(24px, 7vw, 29px); }
  .review-value-unit { display: block; margin: 4px 0 0; font-size: 11px; }
  .review-page .review-next-step { padding: 19px 18px; }
  .review-confirm-grid { grid-template-columns: minmax(0, 1fr); }
  .review-page .review-confirm-panel { padding: 20px 18px; }
  .review-section-heading { margin-top: 27px; }
  .review-section-heading h3, h3.review-section-heading { font-size: 20px; }
  .review-tem-preview { min-height: 155px; }
}
@media (prefers-reduced-motion: reduce) {
  .review-page *, .review-page *::before, .review-page *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media print {
  @page { margin: 14mm; }
  .review-page { background: #fff !important; color: #261c14 !important; font-size: 10pt; color-scheme: light; overflow: visible; }
  .review-container { width: 100%; max-width: none; margin: 0; }
  .review-page :is(.review-topbar, .review-hero, .review-confirm-panel, .review-preview-note, .review-footer, .review-result-actions, .review-hero-actions, .review-print, .review-skip-link) { display: none !important; }
  .review-page main > :not(.review-results) { display: none !important; }
  .review-page .review-results { display: block; padding: 0; }
  .review-results[hidden] { display: none !important; }
  .review-results::before { content: "客户值 / 参考均值：仅按本页所列条件比较，均值不是正常范围或合格界线。"; display: block; margin-bottom: 5mm; padding-bottom: 3mm; border-bottom: 1px solid #b7a491; font-size: 9pt; line-height: 1.7; color: #5e4e3f; }
  .review-result-heading { display: block; margin-bottom: 5mm; }
  .review-result-heading h2 { font-size: 21pt; color: #261c14; }
  .review-demo-badge { width: max-content; background: none; border: 1px solid #a79583; color: #5a4737; font-size: 9pt; }
  .review-demo-badge::after { content: "演示"; position: fixed; left: 20%; top: 42%; color: #86715d; opacity: .12; font-size: 92pt; font-weight: 750; transform: rotate(-28deg); pointer-events: none; z-index: 0; }
  .review-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3mm; margin-bottom: 6mm; }
  .review-metrics-grid, .review-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4mm; }
  .review-summary-card, .review-metric-card, .review-evidence-card, .review-next-step { position: relative; background: transparent !important; border-color: #c8b9aa; box-shadow: none; border-radius: 3mm; break-inside: avoid; page-break-inside: avoid; }
  .review-summary-card { padding: 3mm; }
  .review-metric-card, .review-evidence-card { padding: 4mm; }
  .review-summary-value, .review-metric-label, .review-value-reference, .review-value-reference strong { color: #261c14; }
  .review-value-client, .review-value-client strong, .review-difference, .review-evidence-status { color: #8f4716; }
  .review-value-block { background: none; padding: 3mm; }
  .review-value-pair, .review-value-block + .review-value-block, .review-metric-note, .review-marker-table th, .review-marker-table td { border-color: #ccbfb3; }
  .review-value-block strong { font-size: 23pt; }
  .review-page :is(.review-summary-label, .review-metric-method, .review-value-unit, .review-value-block small, .review-metric-note, .review-track-labels, .review-footnote, .review-source-boundary, .review-evidence-list, .review-section-heading p, .review-next-step p) { color: #655343; font-size: 9pt; }
  .review-chip { background: none; border-color: #baa18a; color: #805020; }
  .review-section-heading { margin: 6mm 0 3mm; break-after: avoid; }
  .review-tem-preview { min-height: 32mm; background: #fff; border-color: #b9ada1; }
  .review-client-marker { background: #8f4716; border-color: #fff; box-shadow: none; }
  .review-reference-marker { background: #261c14; }
  .review-metric-track::before { background: #9a8877; }
  .review-client-marker, .review-reference-marker, .review-metric-track::before { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .review-page .review-next-step { margin-top: 5mm; padding: 4mm; }
  .review-results details::details-content { content-visibility: visible !important; height: auto !important; }
  .review-results details > *:not(summary) { display: block !important; }
  .review-results details summary { color: #654b35; }
  .review-page a { color: #493728; text-decoration: none; }
}
.review-reference-value{padding-top:9px}.review-reference-value>span{display:block;font-size:11px;color:var(--review-muted);margin-bottom:4px}.review-value-block .review-reference-value>strong{font-size:19px;letter-spacing:-.015em}.review-difference p{display:flex;justify-content:space-between;gap:14px}.review-difference strong{font-size:14px;white-space:nowrap}.review-value-client>small{margin-bottom:12px}
@media(max-width:600px){.review-value-block .review-reference-value>strong{font-size:16px}.review-difference p{font-size:12px;flex-wrap:wrap}.review-difference strong{font-size:13px}}
@media print{.review-value-block .review-reference-value>strong{font-size:13pt}.review-demo-badge{display:block!important}.review-demo-badge[hidden]{display:none!important}}

/* Experimental workflow chapters and source-labelled template figures. */
.review-workflow-nav {
  position: sticky;
  top: 8px;
  z-index: 12;
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 24px 0 29px;
  padding: 10px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #775036 #1b130d;
  border: 1px solid var(--review-border);
  border-radius: 13px;
  background: rgba(23, 15, 10, .97);
  box-shadow: 0 5px 18px rgba(0, 0, 0, .12);
}
.review-workflow-nav a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  padding: 8px 14px;
  border: 1px solid rgba(240, 155, 84, .13);
  border-radius: 9px;
  background: rgba(255, 255, 255, .02);
  color: var(--review-muted);
  font-size: 13px;
  line-height: 1.55;
  text-decoration: none;
  white-space: nowrap;
}
.review-workflow-nav a:hover, .review-workflow-nav a[aria-current="step"], .review-workflow-nav a[aria-current="true"], .review-workflow-nav a.is-active {
  color: var(--review-ink);
  border-color: rgba(255, 145, 62, .42);
  background: rgba(255, 145, 62, .085);
}
.review-workflow-nav a:focus-visible { outline-offset: -3px; }
.review-page .review-workflow-stage { margin-top: 30px; padding-top: 7px; scroll-margin-top: 96px; }
.review-workflow-stage + .review-workflow-stage { padding-top: 24px; border-top: 1px solid var(--review-border); }
.review-workflow-stage > .review-section-heading:first-child { margin-top: 0; }
.review-separation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.review-separation-field { min-width: 0; padding: 17px 18px; border: 1px solid var(--review-border); border-radius: 12px; background: var(--review-surface); }
.review-separation-field :is(label, dt, small), .review-separation-field > span:first-child { display: block; margin-bottom: 7px; color: var(--review-muted); font-size: 12px; line-height: 1.7; }
.review-separation-field :is(strong, dd), .review-status-value { display: block; margin: 0; color: var(--review-ink); font-size: 16px; font-weight: 650; line-height: 1.65; overflow-wrap: anywhere; }
.review-separation-field p { color: var(--review-ink); font-size: 14px; line-height: 1.8; }
.review-process-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-top: 19px; }
.review-process-step { position: relative; min-width: 0; padding: 17px 18px; border: 1px solid rgba(255, 145, 62, .2); border-radius: 12px; background: rgba(255, 145, 62, .035); }
.review-process-step:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: -23px; width: 20px; color: var(--review-dim); font-size: 20px; line-height: 1; transform: translateY(-50%); text-align: center; }
.review-process-step :is(h4, strong) { display: block; margin-bottom: 5px; color: var(--review-ink); font-size: 15px; line-height: 1.6; }
.review-process-step :is(p, small) { color: var(--review-muted); font-size: 12px; line-height: 1.8; }
.review-figure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; margin-top: 18px; align-items: start; }
.review-figure-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--review-border); border-radius: 15px; background: var(--review-surface); }
.review-template-image { display: block; width: 100%; max-width: 100%; height: auto; max-height: 320px; padding: 8px; border-radius: 8px; background: #fff; object-fit: contain; object-position: center; image-rendering: auto; }
.review-figure-caption { margin-top: 12px; padding-inline: 3px; color: var(--review-ink); font-size: 14px; font-weight: 600; line-height: 1.75; overflow-wrap: anywhere; }
.review-figure-provenance { margin-top: 7px; padding-inline: 3px; color: var(--review-muted); font-size: 12px; font-weight: 400; line-height: 1.8; overflow-wrap: anywhere; }
.review-image-button { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; gap: 7px; max-width: 100%; min-height: 40px; margin: 11px 3px 2px; padding: 8px 12px; border: 1px solid rgba(255, 145, 62, .26); border-radius: 8px; background: transparent; color: var(--review-orange-bright); font-size: 12px; font-weight: 550; line-height: 1.6; text-decoration: none; white-space: normal; cursor: pointer; }
.review-image-button:hover { border-color: var(--review-orange-bright); background: rgba(255, 145, 62, .06); }
.review-downstream-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.review-downstream-card { min-width: 0; padding: 20px; border: 1px solid var(--review-border); border-radius: 14px; background: var(--review-surface); }
.review-downstream-card :is(h4, h5) { margin: 0 0 11px; color: var(--review-muted); font-size: 14px; font-weight: 550; line-height: 1.7; }
.review-downstream-card :is(p, small) { margin-top: 8px; color: var(--review-muted); font-size: 12px; line-height: 1.85; }
.review-unmeasured { color: var(--review-dim); font-weight: 450; overflow-wrap: anywhere; }
.review-status-value.review-unmeasured { color: var(--review-dim); }

@media (max-width: 900px) {
  .review-separation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-downstream-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .review-workflow-nav { top: 5px; gap: 7px; margin: 20px 0 24px; padding: 8px; border-radius: 10px; }
  .review-workflow-nav a { min-height: 38px; padding: 8px 11px; font-size: 12px; }
  .review-page .review-workflow-stage { margin-top: 25px; scroll-margin-top: 90px; }
  .review-workflow-stage + .review-workflow-stage { padding-top: 19px; }
  .review-separation-grid, .review-figure-grid, .review-downstream-grid, .review-process-flow { grid-template-columns: minmax(0, 1fr); }
  .review-separation-grid { gap: 10px; }
  .review-separation-field { padding: 15px 17px; }
  .review-process-flow { gap: 24px; margin-top: 15px; }
  .review-process-step:not(:last-child)::after { content: "↓"; top: auto; right: auto; bottom: -22px; left: 50%; width: 20px; transform: translateX(-50%); }
  .review-figure-grid { gap: 14px; }
  .review-figure-card { padding: 10px; border-radius: 13px; }
  .review-template-image { padding: 6px; }
  .review-figure-caption { margin-top: 10px; font-size: 13px; }
  .review-image-button { min-height: 44px; }
  .review-downstream-grid { gap: 11px; }
  .review-downstream-card { padding: 17px; }
}
@media print {
  .review-workflow-nav, .review-image-button { display: none !important; }
  .review-page .review-workflow-stage { margin-top: 6mm; padding-top: 0; scroll-margin-top: 0; break-inside: avoid; page-break-inside: avoid; }
  .review-workflow-stage + .review-workflow-stage { padding-top: 4mm; border-top-color: #c8b9aa; }
  .review-workflow-stage > .review-section-heading { break-after: avoid; page-break-after: avoid; }
  .review-separation-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; }
  .review-process-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5mm; margin-top: 4mm; }
  .review-process-step:not(:last-child)::after { content: "→"; top: 50%; bottom: auto; left: auto; right: -4.5mm; width: 4mm; font-size: 12pt; color: #7c6958; transform: translateY(-50%); }
  .review-figure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4mm; margin-top: 4mm; }
  .review-downstream-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3mm; }
  .review-separation-field, .review-process-step, .review-downstream-card, .review-figure-card { background: transparent !important; border-color: #c8b9aa; border-radius: 3mm; padding: 3mm; break-inside: avoid; page-break-inside: avoid; }
  .review-template-image { width: 100%; height: auto; max-height: 45mm; padding: 1mm; object-fit: contain; background: #fff; }
  .review-status-value, .review-separation-field :is(strong, dd, p), .review-process-step :is(strong, h4), .review-figure-caption { color: #261c14; font-size: 10pt; }
  .review-separation-field :is(label, dt, small), .review-separation-field > span:first-child, .review-process-step :is(p, small), .review-downstream-card :is(h4, h5, p, small), .review-unmeasured, .review-status-value.review-unmeasured { color: #655343; font-size: 9pt; }
  .review-figure-caption { margin-top: 2mm; padding: 0; }
  .review-figure-provenance { margin-top: 1mm; padding: 0; color: #655343; font-size: 8.5pt; line-height: 1.7; }
  .review-figure-provenance:not([hidden]), .review-source-boundary:not([hidden]) { display: block !important; }
}

#review-protein-metrics{grid-template-columns:1fr}#review-tem-evidence .review-evidence-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}#review-tem-evidence h4,#review-tem-evidence .review-evidence-status{grid-column:1/-1}#review-tem-evidence .review-tem-preview{grid-row:3/6}#review-marker-evidence{margin-top:18px}.review-workflow-stage .review-figure-grid{margin-top:18px}.review-process-flow{margin-top:18px}
@media(max-width:600px){#review-tem-evidence .review-evidence-card{grid-template-columns:minmax(0,1fr)}#review-tem-evidence .review-tem-preview{grid-row:auto}}
#review-tem-evidence .review-tem-preview{display:block;min-height:0;height:auto;padding:0;border:0;background:none}#review-tem-evidence .review-template-image{height:auto;max-height:320px}#review-tem-evidence .review-figure-card{margin:0}
@media print{#review-tem-evidence .review-template-image{max-height:45mm}}

/* Compact result reading: preserve full chapters and original image links. */
.review-quick-review{margin:0 0 22px;border:1px solid var(--review-border);border-radius:14px;overflow:hidden;background:var(--review-surface)}
.review-quick-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--review-border)}
.review-quick-heading h3{font-size:19px;line-height:1.4}.review-quick-heading>span{color:var(--review-muted);font-size:12px}
.review-quick-scroll{overflow:auto}.review-quick-table{width:100%;min-width:820px;border-collapse:collapse;font-size:13px;text-align:left}
.review-quick-table th,.review-quick-table td{padding:12px 16px;border-bottom:1px solid var(--review-border);vertical-align:middle;line-height:1.6}
.review-quick-table thead{color:var(--review-muted);font-size:12px}.review-quick-table tbody th{font-weight:500;min-width:155px}.review-quick-table small{display:block;color:var(--review-muted);font-size:11px;font-weight:400}
.review-quick-table tbody tr:last-child>*{border-bottom:0}.review-quick-value{color:var(--review-orange-bright);font-weight:700;white-space:nowrap}
.review-quick-evidence{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 18px;border-top:1px solid var(--review-border);font-size:12px;color:var(--review-muted)}
.review-quick-note{padding:0 18px 14px;font-size:12px;color:var(--review-muted);line-height:1.7}
@media screen{
 .review-page .review-hero{padding-block:34px 30px;gap:36px}.review-headline{font-size:clamp(30px,3.7vw,46px)}
 .review-page .review-results{padding-block:20px 36px}.review-result-heading{margin-bottom:16px}.review-summary-grid{gap:10px;margin-bottom:20px}
 .review-page .review-workflow-stage{margin-top:22px}.review-workflow-stage+.review-workflow-stage{padding-top:18px}.review-metrics-grid{gap:12px}
 .review-metric-card{padding:18px}.review-template-image,#review-tem-evidence .review-template-image{max-height:250px}.review-figure-grid{gap:12px;margin-top:12px}
}
@media(max-width:640px){.review-quick-heading{align-items:start;padding:12px 14px}.review-quick-heading h3{font-size:17px}.review-quick-heading>span{font-size:11px}.review-quick-evidence{gap:7px;padding:12px 14px}.review-quick-evidence span{display:block;flex-basis:100%}.review-quick-note{padding-inline:14px}}
@media print{.review-quick-review{background:transparent;border-color:#b7a491;break-inside:avoid}.review-quick-scroll{overflow:visible}.review-quick-table{min-width:0;font-size:8pt;color:#261c14}.review-quick-table th,.review-quick-table td{padding:2mm;border-color:#c8b9aa}.review-quick-table small,.review-quick-heading>span,.review-quick-evidence,.review-quick-note{color:#5e4e3f}.review-quick-value{color:#9b490d}.review-quick-heading h3{color:#261c14}}

#review-target-sample-panel{padding:16px;border:1px solid var(--review-border);border-radius:10px;margin-bottom:20px;background:var(--review-surface)}.review-reading-source{font-size:12px;color:var(--review-muted);line-height:1.6;overflow-wrap:anywhere}.review-confirm-field select[id^="review-candidate-"]{font-size:12px}

.review-report-image-panel{padding-top:18px;margin:20px 0;border-top:1px solid var(--review-border)}.review-image-choice{padding:16px;border:1px solid var(--review-border);border-radius:12px;min-width:0}.review-image-choice select{width:100%;max-width:100%;min-height:44px;background:var(--review-surface);color:var(--review-ink);border:1px solid var(--review-border);padding:8px}.review-image-choice>label:not(.review-checkbox-line){display:block;margin:8px 0;font-size:13px}.review-image-choice .review-template-image{max-height:220px}
.review-literature-tem{min-width:0;margin:14px 0 0;padding:16px;border:1px solid var(--review-border);border-radius:14px;background:var(--review-surface)}
.review-literature-tem-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.review-literature-tem h4{font-size:15px;margin:0}.review-literature-tem-heading>span{color:var(--review-muted);font-size:12px}
.review-literature-tem-scroll{max-width:min(100%,860px);margin-inline:auto;overflow-x:auto;border-radius:8px;background:#fff}.review-literature-tem-scroll:focus-visible{outline:2px solid var(--review-orange);outline-offset:3px}
/* Original645x743 figure retained: show its TEM photos and labels at y447..621. */
.review-literature-tem-crop{position:relative;aspect-ratio:645/174;min-width:645px;overflow:hidden}
.review-literature-tem-crop img{position:absolute;left:0;top:-256.8965517241%;width:100%;height:auto;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0}
.review-literature-tem figcaption{margin-top:10px;font-size:13px;line-height:1.7;color:var(--review-muted)}.review-literature-tem-credit{margin:7px 0 0;font-size:11px;line-height:1.65;color:var(--review-muted)}.review-literature-tem-credit a{color:var(--review-orange-bright)}
@media(max-width:640px){.review-literature-tem{padding:12px}.review-literature-tem-heading{display:block}.review-literature-tem-heading>span{display:block;margin-top:5px}}
@media print{.review-literature-tem{break-inside:avoid;background:transparent;border-color:#c8b9aa}.review-literature-tem-crop{min-width:0}.review-literature-tem figcaption,.review-literature-tem-credit{color:#5e4e3f}}

.review-overview-badge{display:block;white-space:normal;font-size:11px;font-weight:400;line-height:1.5;color:var(--review-muted);margin-top:5px}

/* Reference guide replaces file intake. */
.review-guide-card{padding:28px;border:1px solid var(--review-border);border-radius:20px;background:linear-gradient(145deg,rgba(38,25,15,.95),rgba(23,15,10,.95))}
.review-guide-card h2{font-size:25px;line-height:1.4;margin:10px 0 22px}.review-guide-card ol{list-style:none;padding:0;margin:0 0 22px;counter-reset:guide;display:grid;gap:20px}.review-guide-card li{counter-increment:guide;display:grid;grid-template-columns:32px 1fr;gap:4px 12px}.review-guide-card li:before{content:'0' counter(guide);grid-row:span 2;color:var(--review-accent);font-weight:700}.review-guide-card li strong{font-size:16px}.review-guide-card li span{font-size:14px;color:var(--review-muted);line-height:1.7}.review-guide-card a{display:inline-flex}@media(max-width:600px){.review-guide-card{padding:22px}}

@media print {
  html[lang="en-US"] .review-results::before { content: "Your value / reference mean: compare only under the conditions shown. A mean is not a normal range or a pass threshold."; }
  html[lang="en-US"] .review-demo-badge::after { content: "EXAMPLE"; font-size: 52pt; }
}
