/* A continuous reading column. The name, prose and figures share one axis. */
.nm-detail { max-width: 700px; margin: 0 auto; padding: 0 0 12px; }
.nm-detail-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; font-family: var(--sans); }
.nm-detail-top .back-link { margin: 0; }
.nm-detail-top .text-button { font-size: 12px; }
.nm-detail-hero { padding-bottom: 28px; }
.nm-detail-name-block { width: fit-content; max-width: 100%; }
.nm-detail-name { display: grid; grid-template-columns: repeat(var(--nm-char-count), minmax(0, 1fr)); gap: 8px; width: fit-content; max-width: 100%; font-family: var(--serif); font-weight: 400; font-size: 62px; line-height: 1.4; letter-spacing: 0; }
.nm-detail-name span { display: block; min-width: 1.05em; text-align: center; }
.nm-detail-pinyin { display: grid; grid-template-columns: repeat(var(--nm-char-count), minmax(0, 1fr)); gap: 8px; margin-top: 5px; color: var(--muted); font-family: var(--sans); font-size: 14px; line-height: 1.8; letter-spacing: .015em; }
.nm-detail-pinyin span { text-align: center; }
.nm-detail-reading-fallback { margin-top: 5px; color: var(--muted); font-family: var(--sans); font-size: 14px; line-height: 1.8; overflow-wrap: break-word; }
.nm-detail-intent { font-family: var(--serif); font-size: 21px; line-height: 1.9; margin-top: 25px; }
.nm-reading-body { font-family: var(--serif); font-size: 18px; line-height: 1.95; letter-spacing: .01em; line-break: strict; }
.nm-reading-section { margin: 0; }
.nm-reading-section + .nm-reading-section { margin-top: 1em; }
.nm-reading-paragraph { margin: 0 0 1em; overflow-wrap: break-word; }
.nm-reading-paragraph:last-child { margin-bottom: 0; }
.nm-reading-heading { font-family: var(--serif); font-size: 22px; font-weight: 500; line-height: 1.7; margin: 35px 0 16px; letter-spacing: .02em; }
.nm-reading-meaning .nm-reading-heading { margin-top: 0; }
.nm-detail-note { color: var(--muted); font-family: var(--sans); font-size: 12px; line-height: 1.95; margin-top: 12px; white-space: pre-line; }
.nm-reading-footnote { margin-top: 25px; }
.nm-reading-missing { color: #976344; }
.nm-reading-tones { margin: 20px 0 15px; }
.nm-reading-tone-row { display: flex; align-items: baseline; gap: 24px; width: fit-content; max-width: 100%; }
.nm-reading-tone-row > span { text-align: center; min-width: 1.8em; }
.nm-reading-tone-char { display: block; font-size: 20px; line-height: 1.6; }
.nm-reading-tone-row small { display: block; font-family: var(--sans); color: var(--muted); font-size: 12px; line-height: 1.8; }
.nm-reading-tones figcaption { font-family: var(--sans); color: var(--muted); font-size: 11px; margin-top: 6px; letter-spacing: 0; }
.nm-reading-concern { margin-top: 23px; padding-left: 14px; border-left: 2px solid var(--red); font-family: var(--sans); font-size: 13px; line-height: 1.95; color: #8b463c; }
.nm-reading-concern p + p { margin-top: 6px; }
.nm-reading-attention { border-left-color: #aeb8a2; color: var(--muted); }
.nm-reading-context-pending { margin-top: 20px; font-family: var(--sans); font-size: 12px; color: var(--muted); line-height: 1.9; }
.nm-reading-context-pending .text-button { font-size: 12px; }
.nm-reading-tradeoff { margin-bottom: 3px; }
.nm-detail-quotation { border-left: 2px solid #bd6c60; padding-left: 20px; margin: 25px 0 22px; }
.nm-detail-quotation blockquote { margin: 0 0 12px; font-family: var(--serif); font-size: 22px; line-height: 1.9; white-space: pre-line; }
.nm-detail-quotation .report-note { font-family: var(--sans); font-size: 11px; }
.nm-detail-traditional { margin-top: 35px; }
.nm-detail-traditional > .nm-reading-heading { margin-top: 0; }
.nm-detail-traditional > .report { border: 0; margin-top: 24px; padding-top: 0; }
.nm-detail-traditional .report h2 { font-family: var(--serif); font-size: 20px; font-weight: 500; }
.nm-detail-traditional .report-subtitle, .nm-detail-traditional .report-note { line-height: 1.95; }
.nm-detail-traditional .report-section { border: 0; padding-bottom: 15px; }
.nm-detail-traditional .report-section h3 { font-family: var(--sans); font-size: 13px; font-weight: 500; }
.nm-detail-traditional .pillars { max-width: none; }
.nm-detail-traditional .element-track { background: #ecefe6; }
.nm-reading-decision { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line); font-family: var(--sans); }
.nm-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.nm-detail-save { background: var(--red); border: 1px solid var(--red); color: #fff; border-radius: 5px; min-height: 43px; padding: 9px 17px; font-size: 13px; }
.nm-detail-save:hover { background: #a4372e; }
.nm-detail-save[aria-pressed=true] { background: var(--soft); color: var(--ink); border-color: var(--soft); }
.nm-detail-save[aria-pressed=true]:hover { background: #e3e9dc; }
.nm-detail-compare { min-height: 43px; font-size: 13px; }
.nm-detail-adjust { background: transparent; min-height: 43px; padding: 9px 0; font-size: 13px; color: var(--muted); }
.nm-detail-adjust:hover { color: var(--red); }
.nm-reading-comparison { margin-top: 9px; }
.nm-reading-comparison .text-button { font-size: 12px; }
.nm-detail-feedback { padding: 0; margin-top: 35px; background: transparent; border-radius: 0; font-family: var(--sans); }
.nm-detail-feedback > h2 { font-family: var(--serif); font-size: 23px; font-weight: 500; }
.nm-detail-feedback textarea { min-height: 91px; }
.nm-detail-feedback .button-row { justify-content: flex-end; }
.nm-reading-endnotes { margin-top: 36px; font-family: var(--sans); }
.nm-detail-disclosure { border-top: 1px solid var(--line); }
.nm-detail-disclosure:last-child { border-bottom: 1px solid var(--line); }
.nm-detail-disclosure > summary { position: relative; cursor: pointer; display: flex; align-items: baseline; gap: 22px; padding: 18px 29px 18px 0; list-style: none; }
.nm-detail-disclosure > summary::-webkit-details-marker { display: none; }
.nm-detail-disclosure > summary::after { content: '+'; position: absolute; right: 3px; top: 14px; font-size: 21px; color: var(--muted); line-height: 1.5; }
.nm-detail-disclosure[open] > summary::after { content: '−'; }
.nm-detail-disclosure-title { font-size: 13px; flex-shrink: 0; }
.nm-detail-disclosure-note { font-size: 11px; color: var(--muted); line-height: 1.9; }
.nm-detail-disclosure-body { padding: 2px 0 22px; }
.nm-detail-disclosure-body h3 { font-size: 13px; font-weight: 500; margin: 18px 0 10px; }
.nm-detail-disclosure-body h3:first-child { margin-top: 0; }
.nm-detail-reason-list, .nm-detail-issue-list { margin: 9px 0 0; padding-left: 19px; font-size: 13px; line-height: 1.9; }
.nm-detail-reason-list li + li, .nm-detail-issue-list li + li { margin-top: 7px; }
.nm-detail-check-row { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: baseline; gap: 13px; padding: 10px 0; border-bottom: 1px solid #e9ece4; font-size: 12px; }
.nm-detail-check-status { font-size: 11px; color: #546951; }
.nm-detail-check-failed .nm-detail-check-status { color: var(--red); }
.nm-detail-check-pending .nm-detail-check-status { color: #987449; }
.nm-detail-check-basis { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.nm-detail-requirement { font-weight: 550; margin-bottom: 5px; }
@media (max-width: 760px) {
  .nm-detail-top { margin-bottom: 27px; }
  .nm-detail-name { font-size: 62px; }
  .nm-reading-body { font-size: 18px; }
  .nm-reading-heading { font-size: 21px; }
}
@media (max-width: 560px) {
  .nm-detail { padding-bottom: 5px; }
  .nm-detail-top { gap: 10px; margin-bottom: 24px; }
  .nm-detail-top .text-button { font-size: 11px; }
  .nm-detail-top .back-link { font-size: 12px; }
  .nm-detail-name { font-size: clamp(34px,calc((100vw - 74px) / var(--nm-char-count) - 8px),58px); gap: 5px; }
  .nm-detail-name span { min-width: 1.04em; }
  .nm-detail-pinyin { font-size: 13px; gap: 5px; }
  .nm-detail-hero { padding-bottom: 24px; }
  .nm-detail-intent { font-size: 19px; margin-top: 21px; }
  .nm-reading-body { font-size: 17px; line-height: 1.95; letter-spacing: 0; }
  .nm-reading-heading { margin-top: 30px; margin-bottom: 14px; font-size: 21px; }
  .nm-detail-note { font-size: 11px; }
  .nm-detail-quotation { padding-left: 15px; }
  .nm-detail-quotation blockquote { font-size: 20px; }
  .nm-reading-concern { font-size: 12px; margin-top: 18px; }
  .nm-detail-traditional { margin-top: 31px; }
  .nm-reading-decision { margin-top: 35px; padding-top: 21px; }
  .nm-detail-actions { gap: 9px 12px; }
  .nm-detail-save { font-size: 12px; padding: 9px 15px; }
  .nm-detail-compare, .nm-detail-adjust { font-size: 12px; }
  .nm-detail-feedback { padding: 0; margin-top: 30px; }
  .nm-detail-feedback > h2 { font-size: 21px; }
  .nm-detail-disclosure > summary { display: block; padding: 17px 27px 17px 0; }
  .nm-detail-disclosure-note { display: block; margin-top: 3px; }
  .nm-detail-check-row { grid-template-columns: 60px minmax(0, 1fr); gap: 10px; }
}
