/* Chapters 03, 04, 06, the article-in-brief panel, and the expanded sources.
   Uses the local tokens defined in styles.css, which resolve through the shared
   ecosystem tokens with fallbacks. No colour literals except where noted. */

/* ---- Seven-chapter navigation ---- */
.chapters a{padding:20px 10px 17px;font-size:.86rem}
.chapters a span{margin-right:9px}

/* ---- Shared small pieces ---- */
h4.field{font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--blue);margin:24px 0 6px}
.study-type{font-size:.86rem;color:var(--muted);margin:-4px 0 0}
.mechanism-card ul,.evidence-card ul{padding-left:1.2rem;margin:6px 0}
.mechanism-card li{line-height:1.7;margin:4px 0}
.part-heading{font:normal 1.35rem/1.25 Georgia,'Times New Roman',serif;letter-spacing:-.01em;margin:40px 0 14px}
.mini{font-size:.8rem;color:var(--muted);margin:2px 0 8px}
.question-picker b{display:inline-block;min-width:3.1em;font-variant-numeric:tabular-nums;opacity:.8}

.text-link{padding:8px 0}
.concept-note>summary{padding:8px 0}

/* ---- Article in brief ---- */
.brief{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:0 0 22px}
.brief>summary{padding:14px 20px;font-weight:700;font-size:.92rem}
.brief-body{padding:2px 22px 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 32px}
.brief-body h3{font:normal 1.15rem/1.3 Georgia,serif;margin:14px 0 6px}
.brief-body p{font-size:.92rem;line-height:1.65;color:var(--muted);margin:0}
.brief-map{grid-column:1/-1;min-width:0}

/* ---- Tables ---- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:24px 0}
.table-wrap:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
table.compare{width:100%;min-width:640px;border-collapse:collapse;font-size:.88rem;line-height:1.5}
table.compare caption{text-align:left;font-weight:800;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);padding:14px 16px 6px}
table.compare th,table.compare td{text-align:left;vertical-align:top;padding:12px 16px;border-top:1px solid var(--line)}
table.compare thead th{background:var(--surface-2);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
table.compare tbody th{font-weight:700;width:24%}
table.compare tr.is-selected>*{background:var(--surface-2);box-shadow:inset 0 0 0 0 transparent}
table.compare tr.is-selected>th{box-shadow:inset 4px 0 0 var(--blue)}

/* ---- 03 Evidence ---- */
.step-track.study-track{grid-template-columns:repeat(6,1fr)}
.study-track button{min-height:64px}

/* ---- 04 Statute ---- */
.statute-grid .question-picker button{display:flex;align-items:baseline;gap:10px;line-height:1.35}
.statute-grid .question-picker b{flex:0 0 3.1em;min-width:0}
.seam-block{margin:34px 0 8px}
.seam-block>.eyebrow{color:var(--muted);margin-bottom:6px}
.seam-block h3{font-size:1.5rem}
.seam{display:grid;grid-template-columns:1fr 58px 1fr;align-items:stretch;margin:18px 0 16px}
.channel{border:1px solid var(--line);border-radius:10px;padding:24px 26px}
.channel .eyebrow{margin-bottom:8px}
.channel strong{font:normal 1.25rem/1.3 Georgia,serif;display:block;margin-bottom:8px}
.channel p:not(.eyebrow){margin:0;font-size:.92rem;line-height:1.65}
.channel.regulated{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
.channel.regulated .eyebrow{color:var(--gold)}
.channel.regulated p:not(.eyebrow){color:var(--on-dark);opacity:.88}
.channel.exempted{background:var(--surface)}
.channel.exempted .eyebrow{color:var(--blue)}
.channel.exempted p:not(.eyebrow){color:var(--muted)}
.seam-line{position:relative;display:flex;align-items:center;justify-content:center}
.seam-line::before{content:"";position:absolute;top:8px;bottom:8px;left:50%;border-left:2px dashed var(--muted)}
.seam-line span{position:relative;background:var(--paper);padding:6px 4px;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl}
.seam-note{max-width:860px;font-size:.93rem;color:var(--muted);line-height:1.7;margin:0 0 6px}
.statute-band{border-top:1px solid var(--line);margin-top:22px}

/* ---- 06 Stress-test ---- */
.stress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.stress-panel{border:1px solid var(--line);border-radius:10px;padding:20px 24px;background:var(--surface)}
.stress-panel h4{font-size:.74rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--blue);margin:0 0 8px}
.stress-panel ul{margin:0;padding-left:1.15rem}
.stress-panel li{line-height:1.65;margin:8px 0;font-size:.92rem}
.prop-list{display:grid;gap:10px}
.concept-note.prop{margin-top:10px;padding:16px 22px}
.concept-note.prop p{margin:10px 0 0;color:var(--muted)}

/* ---- Sources panel ---- */
#source-content h3{font:normal 1.2rem/1.3 Georgia,serif;margin:26px 0 8px;color:var(--ink)}
#source-content h3:first-child{margin-top:4px}
dl.terms{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:10px 26px;margin:0}
dl.terms dt{font-weight:700;color:var(--ink)}
dl.terms dd{margin:0;line-height:1.6}
.ref-list{list-style:none;padding:0;margin:0}
.ref-list li{padding-left:2em;text-indent:-2em;margin:0 0 10px!important;line-height:1.55;font-size:.86rem;overflow-wrap:anywhere}

/* ---- Responsive ---- */
@media(max-width:1100px){
  .chapters a{font-size:.8rem;padding:16px 6px}
  .chapters a span{display:block;margin:0 0 6px}
  .step-track.study-track{grid-template-columns:repeat(3,1fr)}
  .step-track.study-track button:last-child{grid-column:auto}
}
@media(max-width:850px){
  .inquiry-grid{grid-template-columns:minmax(0,1fr)}
  .question-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
  .brief-body{grid-template-columns:minmax(0,1fr)}
  .stress-grid{grid-template-columns:minmax(0,1fr)}
  .seam{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 44px auto}
  .seam-line::before{top:50%;bottom:auto;left:8px;right:8px;border-left:0;border-top:2px dashed var(--muted)}
  .seam-line span{writing-mode:horizontal-tb;padding:2px 10px}
}
@media(max-width:620px){
  .question-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .statute-grid .question-picker button{padding:12px 10px;gap:6px}
  .statute-grid .question-picker b{flex-basis:2.6em}
  .chapters a:last-child:nth-child(odd){grid-column:1/-1}
  .chapters a span{display:inline;margin:0 8px 0 0}
  .step-track.study-track{grid-template-columns:repeat(2,1fr)}
  .channel{padding:20px}
  dl.terms{grid-template-columns:1fr;gap:2px}
  dl.terms dd{margin-bottom:12px}
  .brief-body{padding:2px 18px 22px}
  .part-heading{font-size:1.2rem}
}
@media print{.brief,.table-wrap{display:none!important}}
