.reader-summary{font-size:18px;line-height:1.8;color:var(--summary-ink);margin:18px 0}
.reader-name{font-weight:700;letter-spacing:.06em}
.reader-chapters{display:grid;gap:12px;margin:20px 0}
.reader-chapter{padding:20px 24px;border:1px solid var(--chapter-line);background:var(--surface-raised);border-radius:10px}
.reader-chapter>summary{cursor:pointer;list-style:disclosure-closed;font-size:19px;color:var(--text-strong)}
.reader-chapter[open]>summary{list-style:disclosure-open;margin-bottom:14px}
.reader-chapter summary span{display:block;font-size:13px;font-weight:400;color:var(--text-faint);margin-top:6px}
.reader-chapter .n-p{font-size:15px;line-height:1.9}
.reader-chapter .n-h{font-size:16px}
.evidence{margin:12px 0;color:var(--muted);font-size:12px}
.evidence summary{cursor:pointer;padding:8px 0}
.evidence pre,.reader-debug pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
/* 해설자 자리. 방마다 하나씩 — 담당이 없어도 자리는 보인다. */
.guide{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 0 14px;
  background:var(--surface-warm);border:1px solid var(--line-soft);border-radius:10px}
.guide-face{flex:none;display:grid;place-items:center;width:64px;height:64px;
  border-radius:50%;background:var(--surface-raised);border:1px solid var(--line-soft);color:var(--hz-ink)}
.guide-icon{width:36px;height:36px}
.guide-portrait{width:100%;height:100%;border-radius:50%;object-fit:cover} /* 얼굴 칸(64px, 인쇄 30px)을 따라간다 */
.guide-who{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--text-strong)}
.guide-domain{font-size:12px;color:var(--text-faint)}
.guide-line{font-size:13px;color:var(--text);font-style:italic;margin-top:4px}
.guide-line::before,.guide-line::after{content:"\201C"}
.guide-line::after{content:"\201D"}
/* 담당이 아직 없는 방. 자리는 두되 조용하게 — 완성된 척하지 않는다. */
.guide-empty{background:var(--chip-soft);border-style:dashed;border-color:var(--line-faint)}
.guide-empty .guide-face{color:var(--empty-ink);background:var(--surface-raised)}
.guide-empty .guide-who b{font-weight:600;color:var(--text-faint)}
.guide-chip{display:inline-block;padding:6px 12px;background:var(--chip);border-radius:18px;font-size:13px}
.reader-options{margin:10px 0}.reader-options label{flex-direction:row;align-items:center}
.reader-options input{width:auto}.reader-footer{font-size:12px;color:var(--text-faint);margin-top:24px}
.reader-simple .col .hid,.reader-simple .col .meta,.reader-simple .rowlab .r-hid,.reader-simple .rowlab .r-meta,
.reader-simple .reader-advanced,.reader-simple .col .sinsal .shape{display:none}
.reader-simple .col .sinsal .ext:nth-of-type(n+4){display:none}
.reader-debug{margin:20px 0}.reader-debug .audit{font-size:12px}
@media(max-width:600px){.reader-chapter{padding:16px}.reader-summary{font-size:16px}}
@media print{
  .reader-options,.reader-debug,.chapter-generate,.reader-footer,.evidence{display:none!important}
  .reader-chapter{border:0;border-radius:0;padding:0;margin:0 0 6mm;background:transparent;break-inside:avoid;page-break-inside:avoid}
  .reader-chapter:not([open]){display:none}
  .reader-chapter>summary{font-size:14pt;break-after:avoid;list-style:none}
  .reader-chapter summary span{font-size:9pt}
  .reader-chapter .n-p{font-size:10.5pt;line-height:1.75;orphans:3;widows:3;break-inside:avoid}
  .reader-chapters{display:block}.guide-chip{background:none;padding:0}
  .guide{background:none;border:0;padding:0;margin:0 0 3mm;gap:8px}
  .guide-face{width:30px;height:30px;border-color:var(--print-line)}
  .guide-icon{width:18px;height:18px}
  .guide-empty{display:none}
}
/* 근거가 모자라 뺀 물음 안내. 사과가 아니라 기준을 밝히는 줄이라 조용하게. */
.n-thin{font-size:12.5px;color:var(--text-faint);margin-top:12px;padding-top:10px;
  border-top:1px dashed var(--line-faint);line-height:1.7}
.question-reading{padding:14px 0;border-top:1px solid var(--surface-mute)}
.question-reading:first-child{border-top:0}
.question-reading h3{font-size:17px;line-height:1.6;margin:0 0 8px}
.question-reflection{padding:12px 16px;background:var(--chip-soft);border-left:2px solid var(--gold-soft);line-height:1.8}
.question-reflection span{display:block;font-size:12px;color:var(--text-faint);margin-bottom:3px}
.question-status{font-size:12px;color:var(--text-faint);line-height:1.6}
.question-lens{font-size:13px;color:var(--text-faint);line-height:1.8;orphans:3;widows:3}
@media print{
  .question-reading{break-inside:auto;padding:3mm 0}
  .question-reading h3{break-after:avoid}
  .question-reflection{break-inside:avoid;orphans:3;widows:3}
  .question-status{display:none}
}

/* 단서와 되묻는 물음은 접어 둔다. 버리지 않되 마지막 인상이 되지 않게(H안). */
.question-more{margin-top:10px}
.question-more>summary{font-size:12px;color:var(--text-faint);cursor:pointer;list-style:none}
.question-more>summary::-webkit-details-marker{display:none}
.question-more>summary::before{content:"＋ ";color:var(--gold-soft)}
.question-more[open]>summary::before{content:"− "}
.question-more>*{margin-top:8px}
/* 인쇄 규칙 — 여기 둘은 **사용자가 고른 것이 아니라 언제나 접혀 나가는** 것이다
   (단서·되묻는 물음, 계산 읽기). 고른 적이 없으니 인쇄에서는 펴서 싣는다.
   사용자가 고르는 접기(`.reader-chapter`, 만세력의 `.chart-basic`·`.chart-focus`)
   는 반대로 접힌 채면 싣지 않는다. 두 규칙이 이 저장소의 전부다. */
@media print{.question-more{display:block}.question-more>summary{display:none}}

/* 계산 읽기는 언제나 있다(K안). AI 가 있으면 접히고, 없으면 펼쳐진 채로 본문이 된다. */
.question-basic{margin-top:10px}
.question-basic>summary{font-size:12px;color:var(--text-dim);cursor:pointer;list-style:none;letter-spacing:.02em}
.question-basic>summary::-webkit-details-marker{display:none}
.question-basic[open]>summary{margin-bottom:6px}
@media print{.question-basic{display:block}.question-basic>summary{display:none}}


/* B2안 — 한자 뜻은 문장 안 괄호가 아니라 카드 아래 한 줄로.
   문장 282자 중 126자가 괄호였다. 뜻을 버린 게 아니라 자리를 옮겼다. */
.question-terms { margin: .5rem 0 0; font-size: .85em; opacity: .62;
  display: flex; flex-wrap: wrap; gap: .15rem .9rem; line-height: 1.5; }
.question-terms span { white-space: normal; }
.question-terms b { font-weight: 600; opacity: .85; }


/* B5·B6안 — 일상 풀이가 먼저 크게, 명리 해석이 그다음, 계산은 접어서. */
.question-basic .n-scene { margin: .1rem 0 .55rem; font-size: 1.02em; line-height: 1.75; }
.question-basic .n-lens { margin: .1rem 0 .55rem; opacity: .78; }
.question-calc { margin-top: .35rem; }
.question-calc > summary { cursor: pointer; font-size: .9em; opacity: .6; }
.question-calc[open] > summary { margin-bottom: .35rem; }
.question-calc .n-p { margin: 0 0 .45rem; opacity: .82; }

/* 근거 상자의 첫 줄 — id 목록 위에 '무엇을 겹쳐 본 것인지' 한 문장. */
.evidence-basis{font-size:12.5px;color:var(--muted);line-height:1.75;margin:0 0 6px}

/* 장 머리 문단(B23). 카드보다 먼저 읽히되 카드를 누르지 않도록
   본문보다 한 톤 작게, 왼쪽 선으로 "이건 안내"라고 표시한다. */
.chapter-lead{
  margin:.2rem 0 .9rem; padding:.55rem 0 .55rem .85rem;
  border-left:3px solid var(--line-faint); color:var(--void-ink);
  font-size:.97em; line-height:1.85;
}

/* 관찰 한 줄(B15). ②③ 아래에 펴 두되 본문보다 조용하게 — 이 카드가 무엇을
   보고 하는 말인지 접기를 열지 않고도 보이게 하는 것이 목적이다. */
.n-observed{
  margin:.45rem 0 .5rem; font-size:.93em; line-height:1.8; color:var(--muted);
}
