/* "보고서 보기" mode: light paper-style document, full width, print-ready.
   Activated by body.doc-mode (toggle in the report hero). Re-themes via CSS variables first,
   then patches the few hard-coded dark colours in styles.css. */
body.doc-mode {
  --bg: #e9ecf1;
  --panel: #ffffff;
  --panel-2: #f3f5f8;
  --line: #d9dee7;
  --text: #1b2230;
  --muted: #5d6879;
  --accent: #e8590c;
  background: var(--bg);
  color: var(--text);
}
body.doc-mode .topbar,
body.doc-mode .tabs-top { display: none; }
body.doc-mode .page { padding: 20px 16px 60px; }
body.doc-mode .report-layout { display: block; height: auto; }
body.doc-mode .report-layout > aside,
body.doc-mode .report-layout > .report-side { display: none; }
body.doc-mode .report-main {
  height: auto; overflow: visible;
  max-width: 1040px; margin: 0 auto; padding: 48px 56px 64px;
  background: #fff; border: 1px solid var(--line); border-radius: 6px;
  box-shadow: 0 10px 40px rgba(20, 30, 50, .12);
}
body.doc-mode .hero {
  background: transparent; border: 0; border-bottom: 3px solid var(--text);
  border-radius: 0; padding: 0 0 18px; margin-bottom: 20px;
}
body.doc-mode .hero h2 { font-size: 30px; line-height: 1.3; }
body.doc-mode .eyebrow { color: var(--accent); letter-spacing: .14em; }
body.doc-mode .run-state { background: var(--panel-2); color: var(--muted); }
body.doc-mode .ghost-btn { background: #fff; color: var(--text); border-color: var(--line); }
body.doc-mode .ghost-btn:hover { background: var(--panel-2); }
body.doc-mode .lineup,
body.doc-mode .report-nav {
  background: var(--panel-2); border-color: var(--line);
}
body.doc-mode .report-nav { position: sticky; top: 0; z-index: 5; }
body.doc-mode .report-nav a { color: var(--muted); }
body.doc-mode .report-nav a:hover { color: var(--text); background: #fff; }
body.doc-mode .lineup-seat span { color: var(--muted); }
body.doc-mode .kpi-tile,
body.doc-mode .finding-card,
body.doc-mode .stance-card,
body.doc-mode .reco-card,
body.doc-mode .method-box,
body.doc-mode .next-checks,
body.doc-mode .topic-card,
body.doc-mode .summary-panel,
body.doc-mode .decision-board > *,
body.doc-mode .report-table > *,
body.doc-mode .deep-dive-grid > * {
  background: #fff; border-color: var(--line); color: var(--text);
}
body.doc-mode .kpi-tile.hero-tile { background: #fff7f0; border-color: #f4b98f; }
body.doc-mode .finding-card p,
body.doc-mode .brief-body p,
body.doc-mode .stance-card li,
body.doc-mode .reco-card p,
body.doc-mode .next-checks li { color: #2b3445; }
body.doc-mode .headline-quote { color: var(--text); border-left-color: var(--accent); background: #fff7f0; }
body.doc-mode .report-section { margin-top: 36px; break-inside: avoid-page; }
body.doc-mode table, body.doc-mode th, body.doc-mode td { border-color: var(--line); }
body.doc-mode th { background: var(--panel-2); color: var(--text); }
body.doc-mode td { color: var(--text); }
body.doc-mode [style*="color:#fff"], body.doc-mode [style*="color: #fff"] { color: var(--text) !important; }
body.doc-mode .reveal { opacity: 1 !important; transform: none !important; }

/* ---- Print / PDF ---- */
@media print {
  @page { size: A4; margin: 14mm 12mm; }
  body, body.doc-mode { background: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .topbar, .tabs-top, .report-layout > aside, .report-layout > .report-side,
  .hero-actions, .report-nav, .modal-overlay, #refreshBtn { display: none !important; }
  .page { padding: 0 !important; }
  .report-layout { display: block !important; height: auto !important; }
  .report-main {
    max-width: none !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; box-shadow: none !important; overflow: visible !important; height: auto !important;
  }
  .report-section { break-inside: avoid-page; margin-top: 22px; }
  .kpi-tile, .finding-card, .stance-card, .reco-card, .decision-board > * { break-inside: avoid; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* ---- patches for hard-coded dark surfaces / pale text ---- */
body.doc-mode .hero { display: block; }
body.doc-mode .hero-actions { flex-wrap: wrap; margin-top: 14px; }
body.doc-mode .hero-actions .ghost-btn { white-space: nowrap; }
body.doc-mode .menu-card { background: #fff; border-color: var(--line); box-shadow: 0 1px 3px rgba(20,30,50,.06); }
body.doc-mode .menu-card-photo { background: var(--panel-2); }
body.doc-mode .menu-card h3, body.doc-mode .menu-card h4, body.doc-mode .menu-card strong { color: var(--text); }
body.doc-mode .menu-card-score.high strong { color: #15803d; }
body.doc-mode .menu-card-score.mid strong { color: #b45309; }
body.doc-mode .menu-card-score.low strong { color: #b91c1c; }
body.doc-mode .menu-card p, body.doc-mode .menu-card li { color: #2b3445; }

/* chips, bubbles, decision badges */
body.doc-mode .chip { background: var(--panel-2); color: #334155; border-color: var(--line); }
body.doc-mode .chip.segment-consumer { background: #e8f0fe; color: #1d4ed8; border-color: #bfd3fb; }
body.doc-mode .chip.segment-expert { background: #f3e8ff; color: #7e22ce; border-color: #dcc1fa; }
body.doc-mode .bubble { background: var(--panel-2); border-color: var(--line); }
body.doc-mode .bubble p { color: #2b3445; }
body.doc-mode .kd.ok { color: #15803d; background: #e8f7ee; }
body.doc-mode .kd.warn { color: #b45309; background: #fff4e0; }
body.doc-mode .kd.bad { color: #b91c1c; background: #fdecec; }

body.doc-mode .score-track,
body.doc-mode .cand-support-track,
body.doc-mode .mini-meter { background: #e6eaf0; }
