/* ============================================================
   In the Chair — reading edition (read/)
   Loaded only on the web edition of the textbook. Inherits every
   token from styles.css; this file is the long-form reading layer:
   a narrower measure, book typography, and the chapter furniture.
   ============================================================ */

.read .wrap{max-width:812px}
.read{padding-bottom:clamp(28px,4vw,52px)}

/* ---- breadcrumb ---- */
.rd-crumb{display:inline-block;margin-top:clamp(22px,3.4vw,38px);font-family:var(--mono);
  font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);text-decoration:none}
.rd-crumb:hover{color:var(--ink)}

/* ---- contents page hero ---- */
.rd-hero{padding:clamp(18px,2.6vw,30px) 0 clamp(24px,3.4vw,40px)}
.rd-eyebrow{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--c);opacity:.85}
.rd-htitle{font-size:clamp(34px,5.4vw,58px);margin:12px 0 0}
.rd-hsub{color:var(--muted);font-size:clamp(17px,2vw,20px);max-width:56ch;margin:16px 0 26px;line-height:1.5}
.rd-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---- contents list ---- */
.rd-toc{border-top:2px solid var(--ink);margin-top:clamp(20px,3vw,30px)}
.rd-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:14px;
  padding:15px 4px 15px 14px;border-bottom:1px solid var(--line);position:relative;
  text-decoration:none;color:inherit;transition:background .18s,padding-left .18s}
.rd-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);opacity:.85}
.rd-row:hover{background:var(--paper2);padding-left:20px}
.rd-pico{width:22px;height:22px;color:var(--c);display:block}
.rd-row-t{font-family:var(--display);font-weight:900;font-size:21px;letter-spacing:-.02em;color:var(--c)}
.rd-row-d{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
@media (max-width:520px){
  .rd-row{grid-template-columns:22px 1fr;gap:11px}
  .rd-row-d{grid-column:2;margin-top:2px}
}

/* ---- chapter opener ---- */
.rd-open{border-top:4px solid var(--c);padding:clamp(26px,3.6vw,42px) 0 clamp(18px,2.4vw,26px);
  margin-top:clamp(16px,2.4vw,26px)}
.rd-headrow{display:flex;align-items:center;gap:14px;margin:12px 0 0}
.rd-glyph{width:40px;height:40px;color:var(--c);flex:none}
.rd-title{font-size:clamp(38px,6.4vw,64px);color:var(--c);line-height:.98}
.rd-idea{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(19px,2.4vw,25px);
  color:var(--ink2);max-width:34ch;margin:16px 0 0;line-height:1.25}
.rd-open .spectrum{margin-top:22px;height:6px;max-width:260px}

/* ---- prose ---- */
.rd-prose{margin-top:clamp(22px,3vw,34px);font-size:19px;line-height:1.68;color:var(--ink)}
.rd-prose > :first-child{margin-top:0}
.rd-prose h2{font-size:clamp(24px,3.2vw,32px);color:var(--c);margin:clamp(34px,4.4vw,52px) 0 12px;line-height:1.08}
.rd-prose h3{font-family:var(--display);font-weight:600;font-size:clamp(19px,2.2vw,23px);
  letter-spacing:-.01em;color:var(--ink);margin:30px 0 8px;line-height:1.2}
.rd-prose p{margin:0 0 17px;text-wrap:pretty}
.rd-prose ul,.rd-prose ol{margin:14px 0 18px;padding-left:24px}
.rd-prose li{margin:7px 0}
.rd-prose li::marker{color:var(--c)}
.rd-prose a{color:var(--c);text-underline-offset:3px;text-decoration-thickness:1px}
.rd-prose hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.rd-prose img{margin:22px 0;border-radius:10px}

/* two callout styles, matching the print edition: a tight mono chip for worked
   math, and a tinted box for model answers and pull-quotes */
.rd-prose blockquote{margin:22px 0}
.rd-prose blockquote > :first-child{margin-top:0}
.rd-prose blockquote > :last-child{margin-bottom:0}
.rd-prose blockquote.calc{width:fit-content;max-width:100%;padding:12px 18px;background:var(--paper2);
  border-left:3px solid var(--c);border-radius:0 8px 8px 0;overflow-x:auto}
.rd-prose blockquote.calc,.rd-prose blockquote.calc p{font-family:var(--mono);font-size:15px;
  line-height:1.62;color:var(--ink2);margin:0}
.rd-prose blockquote.calc strong{color:var(--ink)}
.rd-prose blockquote.quote{padding:18px 22px;background:var(--paper2);border-left:4px solid var(--c);
  border-radius:0 12px 12px 0;color:var(--ink2)}
.rd-prose blockquote.quote p{margin:10px 0}

/* tables scroll rather than forcing the page sideways on a phone */
.rd-prose table{border-collapse:collapse;width:100%;font-size:16px;margin:22px 0;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.rd-prose th,.rd-prose td{border-bottom:1px solid var(--line);padding:10px 14px;text-align:left;
  vertical-align:top;line-height:1.45}
.rd-prose thead th{background:var(--paper2);font-family:var(--mono);font-weight:500;font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rd-prose tbody tr:last-child td{border-bottom:0}
.rd-prose tbody td:first-child{font-weight:600}
@media (max-width:640px){
  .rd-prose table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ---- in-chapter funnel ---- */
.rd-runlive{margin:clamp(34px,4.4vw,52px) 0 0;padding:22px 24px;background:var(--panel);
  border:1px solid var(--line);border-left:4px solid var(--c);border-radius:0 14px 14px 0}
.rd-k{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--c);display:block}
.rd-runlive p{margin:10px 0 16px;color:var(--ink2);font-size:17px;line-height:1.55}
.rd-runlive b{color:var(--ink)}

/* ---- appendix A ---- */
.rd-jump{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.rd-jump a{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-decoration:none;
  color:var(--c);border:1px solid var(--line);border-radius:99px;padding:7px 14px;transition:background .18s}
.rd-jump a:hover{background:var(--paper2)}
.rd-ans{margin-top:clamp(34px,4.4vw,50px);scroll-margin-top:calc(var(--nav-h) + 16px)}
.rd-ans-h{display:flex;align-items:center;gap:12px;font-size:clamp(24px,3.2vw,32px);color:var(--c);
  padding-top:18px;border-top:2px solid var(--c)}
.rd-ansg{width:26px;height:26px;color:var(--c);flex:none}
.rd-ans .rd-prose{margin-top:18px}
.rd-ans .rd-prose h2{font-size:clamp(20px,2.4vw,24px);color:var(--ink);margin-top:32px}

/* ---- pager ---- */
.rd-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:clamp(34px,4.4vw,52px) 0 0;
  padding-top:24px;border-top:1px solid var(--line)}
.rd-pager a{display:flex;flex-direction:column;gap:5px;padding:16px 18px;text-decoration:none;
  border:1px solid var(--line);border-radius:12px;background:var(--panel);transition:border-color .18s,transform .18s}
.rd-pager a:hover{border-color:var(--c);transform:translateY(-2px)}
.rd-pager span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.rd-pager b{font-family:var(--display);font-weight:900;font-size:19px;letter-spacing:-.02em;color:var(--ink)}
.rd-next{text-align:right;align-items:flex-end}
.rd-prev:only-child{grid-column:1}
@media (max-width:520px){.rd-pager{grid-template-columns:1fr}.rd-next{text-align:left;align-items:flex-start}}

/* ---- license footnote ---- */
.rd-lic{margin:clamp(26px,3.4vw,38px) 0 0;padding-top:18px;border-top:1px solid var(--line);
  font-size:15px;color:var(--muted);line-height:1.6;max-width:70ch}
.rd-lic a{color:var(--ink2);text-underline-offset:3px}
