:root {
  --rp-ink: #143b3c;
  --rp-ink-deep: #08282b;
  --rp-paper: #eee5d8;
  --rp-paper-deep: #d9ccba;
  --rp-coral: #a9533f;
  --rp-sage: #739088;
  --rp-line: rgba(20, 59, 60, 0.18);
}

.research-positioning-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 28px;
  background: rgba(235, 226, 211, 0.24);
  border: 1px solid rgba(235, 226, 211, 0.28);
}

.research-positioning-card article {
  min-height: 126px;
  padding: 18px;
  background: rgba(6, 38, 41, 0.74);
}

.research-positioning-card b,
.research-positioning-card strong,
.research-positioning-card span { display: block; }
.research-positioning-card b { color: #ed9671; font: 700 8px/1.2 ui-monospace, monospace; letter-spacing: .12em; }
.research-positioning-card strong { margin-top: 10px; color: #f3e8d8; font: 400 17px/1.35 STSong, SimSun, serif; }
.research-positioning-card span { margin-top: 8px; color: #a8beb9; font-size: 10px; line-height: 1.7; }

.research-reposition-shell {
  color: var(--rp-ink);
  background: #e7ddcf;
  padding: clamp(55px, 7vw, 100px) clamp(20px, 6vw, 90px);
}

.research-reposition-shell + .method-audit { padding-top: 72px; }
.qr-four-layers.qr-five-layers { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.validation-grid .relation-evaluation-module { grid-column: 1 / -1; }
.rp-eyebrow { margin: 0; color: var(--rp-coral); font: 700 9px/1.2 ui-monospace, monospace; letter-spacing: .14em; }
.rp-section-head { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: 30px; align-items: end; }
.rp-section-head h2 { margin: 13px 0 0; font: 400 clamp(36px, 5vw, 68px)/1.08 STSong, SimSun, serif; letter-spacing: -.035em; }
.rp-section-head > p { margin: 0; color: #65736d; font-size: 12px; line-height: 1.9; }

.qr-question-ladder { margin-top: 42px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--rp-line); }
.qr-question-ladder article { min-height: 245px; padding: 22px 18px; border-right: 1px solid var(--rp-line); background: #eee6da; }
.qr-question-ladder article:last-child { border-right: 0; background: var(--rp-ink); color: #eef0e9; }
.qr-question-ladder small { color: var(--rp-coral); font: 700 8px/1.2 ui-monospace, monospace; }
.qr-question-ladder h3 { margin: 15px 0 12px; font: 400 22px/1.25 STSong, SimSun, serif; }
.qr-question-ladder p,
.qr-question-ladder li { font-size: 10px; line-height: 1.75; }
.qr-question-ladder ul { margin: 12px 0 0; padding-left: 16px; }
.qr-question-ladder .qr-public h3 { font-size: 28px; }
.qr-question-ladder .qr-output b { display: inline-block; margin-bottom: 10px; padding: 5px 8px; color: #fff; background: var(--rp-coral); font-size: 9px; }

.observation-sequences { margin-top: 72px; }
.sequence-intro { display: flex; justify-content: space-between; align-items: end; gap: 24px; border-bottom: 1px solid var(--rp-line); padding-bottom: 20px; }
.sequence-intro h3 { margin: 8px 0 0; font: 400 clamp(30px, 4vw, 52px)/1.12 STSong, SimSun, serif; }
.sequence-intro p { max-width: 460px; margin: 0; color: #65736d; font-size: 11px; line-height: 1.8; }
.sequence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.sequence-card { min-width: 0; background: #f0e8dc; border: 1px solid var(--rp-line); padding: 24px; }
.sequence-card > header { display: flex; justify-content: space-between; gap: 20px; }
.sequence-card h4 { margin: 4px 0 0; font: 400 27px/1.2 STSong, SimSun, serif; }
.sequence-card header span { color: var(--rp-coral); font: 700 8px/1.2 ui-monospace, monospace; }
.sequence-card header b { color: #fff; background: var(--rp-ink); padding: 7px 10px; height: max-content; font-size: 8px; }
.sequence-table-wrap { max-width: 100%; overflow-x: auto; margin-top: 18px; }
.sequence-table { width: 100%; min-width: 690px; border-collapse: collapse; font-size: 9px; }
.sequence-table th { color: #65736d; background: #dcd0bf; font-size: 7px; text-align: left; padding: 8px; }
.sequence-table td { border-top: 1px solid var(--rp-line); padding: 9px 8px; vertical-align: top; line-height: 1.55; }
.sequence-boundary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 18px; }
.sequence-boundary div { padding: 14px; background: #e1d5c5; }
.sequence-boundary b { display: block; color: var(--rp-coral); font-size: 8px; }
.sequence-boundary span { display: block; margin-top: 7px; font-size: 9px; line-height: 1.65; }

.parallel-replies { margin-top: 30px; color: #e8e5da; background: var(--rp-ink-deep); padding: 28px; }
.parallel-replies > header { display: grid; grid-template-columns: 1fr minmax(260px, .7fr); gap: 25px; align-items: end; }
.parallel-replies h3 { margin: 8px 0 0; font: 400 34px/1.15 STSong, SimSun, serif; }
.parallel-replies header p { color: #a2b8b3; font-size: 10px; line-height: 1.8; }
.reply-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 22px; background: rgba(255,255,255,.12); }
.reply-grid article { background: #10383a; padding: 20px; }
.reply-grid b { color: #ed9671; font: 700 9px/1 ui-monospace, monospace; }
.reply-grid strong { display: block; margin-top: 12px; font: 400 20px/1.3 STSong, SimSun, serif; }
.reply-grid p { color: #a9bbb7; font-size: 9px; line-height: 1.75; }
.parallel-boundaries { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.parallel-boundaries span { border: 1px solid rgba(255,255,255,.2); padding: 7px 9px; font-size: 8px; }

.macro-micro-workbench { margin-top: 78px; }
.relation-counts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.relation-counts button { border: 1px solid var(--rp-line); background: transparent; color: var(--rp-ink); padding: 9px 11px; font-size: 9px; }
.relation-counts button.active { color: #fff; background: var(--rp-coral); border-color: var(--rp-coral); }
.relation-counts button b { margin-left: 6px; }
.comparison-grid { display: grid; grid-template-columns: minmax(210px, .72fr) minmax(300px, 1fr) minmax(320px, 1.12fr); gap: 1px; margin-top: 14px; border: 1px solid var(--rp-line); background: var(--rp-line); }
.comparison-column { min-height: 620px; background: #eee6da; }
.comparison-column > header { min-height: 92px; padding: 19px; border-bottom: 1px solid var(--rp-line); }
.comparison-column > header small { color: var(--rp-coral); font: 700 8px/1 ui-monospace, monospace; }
.comparison-column > header h3 { margin: 9px 0 0; font: 400 23px/1.2 STSong, SimSun, serif; }
.macro-timeline { padding: 16px 19px; }
.macro-timeline article { position: relative; border-left: 1px solid #9eafa9; padding: 0 0 24px 18px; }
.macro-timeline article::before { content: ""; position: absolute; left: -4px; top: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--rp-coral); }
.macro-timeline time { color: var(--rp-coral); font: 700 9px/1 ui-monospace, monospace; }
.macro-timeline b { display: block; margin-top: 6px; font-size: 10px; }
.macro-timeline p { margin: 6px 0 0; color: #69766f; font-size: 8px; line-height: 1.6; }
.micro-cards { padding: 12px; display: grid; gap: 8px; }
.micro-cards button { width: 100%; color: var(--rp-ink); background: #e2d7c7; border: 1px solid transparent; text-align: left; padding: 16px; }
.micro-cards button:hover,
.micro-cards button.active { background: #f7efe3; border-color: var(--rp-coral); }
.micro-cards button small,
.micro-cards button strong,
.micro-cards button span { display: block; }
.micro-cards button small { color: var(--rp-coral); font: 700 8px/1 ui-monospace, monospace; }
.micro-cards button strong { margin-top: 9px; font: 400 18px/1.35 STSong, SimSun, serif; }
.micro-cards button span { margin-top: 8px; color: #69766f; font-size: 8px; line-height: 1.5; }
.empty-relation { margin: 14px; padding: 20px; color: #69766f; background: #ded2c2; font-size: 10px; line-height: 1.8; }
.relation-detail { padding: 18px; }
.relation-detail > span { display: inline-block; color: #fff; background: var(--rp-coral); padding: 6px 9px; font-size: 8px; }
.relation-detail h4 { margin: 13px 0 6px; font: 400 24px/1.25 STSong, SimSun, serif; }
.relation-detail .relation-strength { color: #65736d; font-size: 8px; }
.relation-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 16px; background: var(--rp-line); }
.relation-meta div { padding: 11px; background: #e3d8c8; }
.relation-meta b { display: block; color: var(--rp-coral); font-size: 7px; }
.relation-meta span { display: block; margin-top: 6px; font-size: 8px; line-height: 1.6; }
.relation-reason { margin-top: 15px; border-left: 3px solid var(--rp-coral); padding-left: 12px; }
.relation-reason b { display: block; font-size: 8px; }
.relation-reason p { margin: 6px 0 0; font-size: 9px; line-height: 1.7; }
.relation-sources,
.relation-next { margin-top: 16px; }
.relation-sources h5,
.relation-next h5 { margin: 0 0 8px; font-size: 8px; }
.relation-sources article { padding: 10px; background: #dfd3c3; margin-top: 6px; }
.relation-sources a,
.relation-sources strong { color: var(--rp-ink); font-size: 8px; font-weight: 700; }
.relation-sources p { margin: 5px 0 0; color: #65736d; font-size: 7px; line-height: 1.5; }
.relation-next ol { margin: 0; padding-left: 18px; font-size: 8px; line-height: 1.7; }
.relation-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
.relation-actions button,
.relation-actions a { border: 0; background: var(--rp-ink); color: #fff; padding: 10px 12px; font-size: 8px; text-decoration: none; }
.neutrality-note { margin: 15px 0 0; padding: 13px; color: #e8e5da; background: var(--rp-ink); font-size: 9px; line-height: 1.7; }

.five-output-levels { margin-top: 38px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--rp-line); }
.five-output-levels article { min-height: 165px; padding: 18px; background: #eee6da; }
.five-output-levels b { color: var(--rp-coral); font: 700 8px/1 ui-monospace, monospace; }
.five-output-levels h4 { margin: 11px 0 8px; font: 400 20px/1.2 STSong, SimSun, serif; }
.five-output-levels p { color: #65736d; font-size: 9px; line-height: 1.7; }

.ai-relation-extension { margin-top: 38px; padding: 25px; background: #d8ccbc; }
.ai-relation-extension h3 { margin: 8px 0 0; font: 400 28px/1.2 STSong, SimSun, serif; }
.ai-source-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; margin-top: 18px; background: var(--rp-line); }
.ai-source-grid article { padding: 14px; background: #eee6da; }
.ai-source-grid b { color: var(--rp-coral); font-size: 8px; }
.ai-source-grid p { font-size: 8px; line-height: 1.6; }
.ai-extension-list { margin: 18px 0 0; columns: 2; padding-left: 18px; font-size: 9px; line-height: 1.8; }
.offline-standard { margin-top: 18px; border: 1px solid var(--rp-line); padding: 13px; background: #f4ecdf; font-size: 9px; line-height: 1.7; }

.relation-original-modal { position: fixed; inset: 0; z-index: 10002; display: grid; place-items: center; padding: 22px; background: rgba(3, 23, 25, .92); }
.relation-original-modal[hidden] { display: none; }
.relation-original-panel { width: min(1180px, 96vw); max-height: 92vh; overflow: auto; background: #e8ded0; }
.relation-original-panel > header { position: sticky; top: 0; z-index: 4; display: flex; justify-content: space-between; align-items: center; color: #fff; background: var(--rp-ink); padding: 14px 18px; }
.relation-original-panel > header strong { font-size: 10px; }
.relation-original-panel > header button { color: #fff; background: var(--rp-coral); border: 0; padding: 9px 11px; }
.relation-original-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; padding: 16px; }
.relation-original-card { background: #d9cebd; padding: 12px; }
.relation-image-wrap { position: relative; min-height: 420px; background: #cabeac; }
.relation-image-wrap img { display: block; width: 100%; height: auto; max-height: 70vh; object-fit: contain; }
.relation-bbox { position: absolute; border: 2px solid #e25235; background: rgba(226, 82, 53, .12); pointer-events: none; }
.relation-bbox span { position: absolute; left: 0; top: -20px; color: #fff; background: #b54935; padding: 3px 5px; white-space: nowrap; font-size: 7px; }
.relation-field-list { margin-top: 10px; }
.relation-field-list p { margin: 6px 0 0; font-size: 8px; line-height: 1.6; }
.relation-field-list code { color: var(--rp-coral); font-size: 7px; }

/* 适配分不是历史概率，界面不再展示动态排名分数。 */
.currency-forensics-lab .forensics-hero aside > b,
.currency-forensics-lab .candidate-score { display: none !important; }
.forensics-status-boundary { display: block; margin-top: 10px; color: #f3e8d8; background: var(--rp-coral); padding: 7px 9px; font-size: 8px; }

@media (max-width: 1050px) {
  .qr-four-layers.qr-five-layers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qr-question-ladder { grid-template-columns: repeat(2, 1fr); }
  .qr-question-ladder article:nth-child(2n) { border-right: 0; }
  .comparison-grid { grid-template-columns: 1fr 1.2fr; }
  .comparison-column.relation-column { grid-column: 1 / -1; min-height: 0; }
  .five-output-levels,
  .ai-source-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px) {
  .qr-four-layers.qr-five-layers { grid-template-columns: 1fr; }
  .research-positioning-card,
  .rp-section-head,
  .sequence-grid,
  .parallel-replies > header,
  .reply-grid,
  .comparison-grid { grid-template-columns: 1fr; }
  .research-positioning-card article { min-height: auto; }
  .qr-question-ladder,
  .five-output-levels,
  .ai-source-grid { grid-template-columns: 1fr; }
  .qr-question-ladder article { border-right: 0; border-bottom: 1px solid var(--rp-line); min-height: auto; }
  .sequence-intro { display: block; }
  .sequence-intro p { margin-top: 14px; }
  .comparison-column { min-height: 0; }
  .relation-meta { grid-template-columns: 1fr; }
  .ai-extension-list { columns: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .research-reposition-shell *,
  .relation-original-modal * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
