/* Proton NMR: visual entry points and optional deeper explanations. */
[data-nmr-book] .nmr-reading-bar {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  flex-wrap:wrap; padding:12px 16px; margin:0 0 20px;
  border:1px solid var(--accent-line); border-radius:8px;
  background:var(--accent-soft); font:14px/1.6 var(--sans);
}
.nmr-reading-bar .nmr-mode-buttons { display:flex; gap:6px; }
.nmr-mode-buttons button {
  border:1px solid var(--accent-line); padding:7px 12px; border-radius:6px;
  background:white; color:var(--accent); cursor:pointer; font:inherit;
}
.nmr-mode-buttons button[aria-pressed="true"] { background:var(--accent); color:white; }
.nmr-mode-buttons button:focus-visible, .nmr-depth summary:focus-visible {
  outline:3px solid var(--accent-line); outline-offset:3px;
}
[data-nmr-book] .nmr-page-context { margin-top:14px; font:14px/1.8 var(--sans); color:var(--ink-soft); }
.nmr-page-context > summary { cursor:pointer; width:fit-content; color:var(--accent); }
.nmr-primer { padding:20px 20px 12px; margin:0 0 28px; border:1px solid var(--accent-line); border-radius:10px; background:#fff; }
.nmr-primer .nmr-kicker { color:var(--accent); font:600 12px/1.5 var(--sans); letter-spacing:.1em; }
.nmr-primer h2 { font:700 23px/1.5 var(--sans); margin:8px 0 6px; }
.nmr-primer .nmr-takeaway { font:17px/1.85 var(--sans); color:var(--ink); text-align:left; }
.nmr-primer .nmr-boundary { font:14px/1.8 var(--sans); text-align:left; color:var(--ink-soft); padding:10px 12px; background:var(--paper-warm); border-radius:6px; }
.nmr-primer .figure { margin:14px 0; }
.nmr-primer .fig-inner { padding:0; border:0; background:transparent; overflow:visible; }
[data-nmr-book] .nmr-map svg { min-width:0; width:100%; height:auto; font-family:var(--sans); }
.nmr-map .nmr-map-mobile { display:none; }
.nmr-map text { fill:var(--ink); }
.nmr-map .nmr-node-title { font-weight:700; fill:var(--accent); }
.nmr-map .nmr-node-detail { fill:var(--ink-soft); }
.nmr-map .nmr-step { fill:var(--accent); font-size:12px; font-weight:600; }
.nmr-primer .nmr-boundary b { color:var(--accent); }
[data-nmr-book] details.nmr-depth {
  margin:12px 0 18px; border:1px solid var(--hairline-soft);
  border-left:3px solid var(--accent-line); border-radius:5px; background:#fff;
}
.nmr-depth > summary {
  padding:10px 14px; font:14px/1.6 var(--sans); color:var(--accent);
  cursor:pointer; background:var(--paper-warm);
}
.nmr-depth > .nmr-depth-body { padding:2px 15px 12px; }
.nmr-depth[open] > summary { border-bottom:1px solid var(--hairline-soft); }
[data-nmr-book] .nmr-inline-diagram { margin:22px 0 30px; }
.nmr-inline-diagram .fig-inner { padding:14px; background:#fbfcfb; }
[data-nmr-book] .nmr-inline-diagram svg {
  min-width:0; width:100%; max-width:440px; margin:auto; height:auto;
  font-family:var(--sans);
}
.nmr-inline-diagram .nmr-small { font-size:14px; fill:var(--ink-soft); }
[data-nmr-book] .prose > h3 { margin-top:36px; }
@media(max-width:640px) {
  .nmr-reading-bar { padding:11px 12px; }
  .nmr-reading-bar .nmr-mode-buttons { width:100%; }
  .nmr-mode-buttons button { flex:1; }
  .nmr-primer { padding:16px 12px 10px; }
  .nmr-primer h2 { font-size:21px; }
  .nmr-primer .nmr-takeaway { font-size:16px; }
  .nmr-map .nmr-map-desktop { display:none; }
  .nmr-map .nmr-map-mobile { display:block; }
  .nmr-depth > .nmr-depth-body { padding-left:10px; padding-right:10px; }
  .nmr-inline-diagram .fig-inner { padding:8px; }
}
@media print {
  .nmr-reading-bar { display:none; }
  .nmr-primer, .nmr-depth, .nmr-inline-diagram { break-inside:avoid; }
  .nmr-depth > summary { display:none; }
  .nmr-depth > .nmr-depth-body { display:block!important; }
}
