
:root{color-scheme:light;--paper:#fcf9f5;--ink:#08142d;--teal:#007c7e;--muted:#5a6470;--line:#d4d5db}*{box-sizing:border-box}html{scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.75 Georgia,'Times New Roman',serif;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.header{max-width:1320px;margin:auto;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:34px;font-weight:bold;letter-spacing:-1.4px;color:var(--ink);text-decoration:none}.header nav{display:flex;gap:28px;font-size:17px}.header nav a{text-decoration:none}.book-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 40px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;font-size:16px}.book-band>a{font-weight:bold;text-decoration:none}.book-band>span{color:var(--muted);font-style:italic}.layout{max-width:1240px;margin:0 auto;padding:58px 40px 72px;display:grid;grid-template-columns:240px minmax(0,760px);gap:64px;align-items:start}.chapter-nav{position:sticky;top:24px;font-size:15px;line-height:1.5}.eyebrow{font:600 11px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:1.8px;color:var(--teal);margin:0 0 18px}.chapter-nav nav{display:grid;gap:14px}.chapter-nav nav a{color:var(--muted);text-decoration:none}.chapter-nav nav a:hover{color:var(--teal)}.all-contents{display:inline-block;font-size:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.chapter-meta{display:flex;justify-content:space-between;gap:16px;font:600 11px/1.6 system-ui,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--teal);padding-bottom:20px;border-bottom:1px solid var(--line)}h1{font-size:clamp(36px,4vw,54px);letter-spacing:-1.5px;line-height:1.14;margin:26px 0 32px}h2{font-size:29px;line-height:1.3;letter-spacing:-.4px;margin:54px 0 24px}p{margin:0 0 22px}.reading article>p:first-of-type{font-size:23px;line-height:1.65}.nutshell{border:1px solid #9bc7c3;border-left:4px solid var(--teal);border-radius:7px;background:#eef6f2;padding:22px 26px;margin:32px 0 44px;break-inside:avoid}.nutshell h3{font:700 11px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:1.7px;color:var(--teal);margin:0 0 10px}.nutshell p{font-size:18px;line-height:1.65;margin:0}.reference{font-size:16px;line-height:1.7;overflow-wrap:anywhere;padding-left:24px;text-indent:-24px}.ref-number{font-weight:bold}.chapter-end{margin-top:46px;border-top:1px solid var(--line);padding-top:24px;display:grid;gap:14px;font-size:17px}.chapter-end>span{font-size:15px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:25px 40px;display:flex;justify-content:center;gap:30px;flex-wrap:wrap;font-size:15px}footer>span{color:var(--muted)}.skip{position:absolute;left:20px;top:-80px;background:var(--ink);color:white;padding:10px;z-index:5}.skip:focus{top:10px}.contents-layout{display:block;max-width:1000px}.contents h1{margin-top:12px}.subtitle{font-size:23px;font-style:italic;color:var(--muted);margin-top:-12px}.intro{max-width:720px}.availability{font-size:17px;border-left:3px solid var(--teal);padding:12px 20px;background:#eef6f2;margin:28px 0}.start-reading{display:inline-block;border:1px solid var(--teal);background:var(--teal);color:white;text-decoration:none;padding:10px 23px;border-radius:7px;font-size:18px}.contents-heading{font-size:34px;margin-top:64px}.part h2{font:600 12px/1.7 system-ui,sans-serif;text-transform:uppercase;letter-spacing:1.2px;color:var(--teal);margin:40px 0 12px}.part ol{list-style:none;padding:0;margin:0}.part li{display:grid;grid-template-columns:32px 1fr auto;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid #e4e1dd;font-size:18px;line-height:1.45}.chapter-number{font-size:14px;color:var(--muted)}.status{font:11px/1.5 system-ui,sans-serif;color:var(--muted);white-space:nowrap}.status.live{color:var(--teal);font-weight:600}.available>a{font-weight:bold;text-decoration:none}.part li.appendix{grid-template-columns:1fr auto}
@media(max-width:950px){.layout{gap:35px;grid-template-columns:190px minmax(0,1fr);padding:40px 28px}.chapter-nav{font-size:14px}.header{padding:18px 28px}.book-band{padding:14px 28px}.contents-layout{display:block}}
@media(max-width:700px){body{font-size:19px;line-height:1.75}.header{padding:16px 22px}.brand{font-size:29px}.header nav{font-size:14px;gap:16px}.book-band{padding:13px 22px;justify-content:flex-start;font-size:14px}.book-band>span{font-size:13px}.layout{display:flex;flex-direction:column;padding:30px 22px 50px;gap:30px}.chapter-nav{position:static;order:0;width:100%;border-bottom:1px solid var(--line);padding-bottom:23px}.chapter-nav nav{display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;font-size:12px}.chapter-nav .eyebrow{margin-bottom:14px}.chapter-nav .all-contents{display:none}.reading{width:100%;min-width:0}h1{font-size:36px;margin:23px 0 28px}h2{font-size:26px;margin-top:44px}.reading article>p:first-of-type{font-size:21px}.nutshell{padding:20px;margin:28px 0 36px}.nutshell p{font-size:17px}.chapter-meta{font-size:10px;letter-spacing:1px}.contents-layout{display:block}.subtitle{font-size:21px}.part li{grid-template-columns:25px 1fr;gap:5px 12px;font-size:17px}.part .status{grid-column:2}.part li.appendix{grid-template-columns:1fr}.part .appendix .status{grid-column:1}footer{padding:22px;gap:10px 22px;font-size:13px}}
@media print{body{font-size:11pt;background:white;color:black}.header,.book-band,.chapter-nav,.chapter-end,footer,.skip{display:none}.layout{display:block;padding:0;max-width:none}.reading{max-width:none}h1{font-size:26pt}h2{font-size:17pt;break-after:avoid}.reading article>p:first-of-type{font-size:12pt}.nutshell{background:white;border:1px solid #888;padding:12px}.nutshell p{font-size:10pt}.reference{font-size:9pt}a{color:inherit;text-decoration:none}}

/* Chapter equations */
.equation{font:18px/1.7 Georgia,serif;border:1px solid var(--line);border-radius:6px;background:#f3f1eb;padding:16px 20px;margin:25px 0;overflow-wrap:anywhere}.chapter-end a{overflow-wrap:anywhere}@media(max-width:700px){.equation{font-size:17px;padding:14px 16px}}

/* Chapter figures */
.chapter-figure{margin:32px 0;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff}.chapter-figure img{display:block;width:100%;height:auto}.chapter-figure figcaption{font-size:16px;line-height:1.65;margin-top:15px;color:var(--muted)}@media(max-width:700px){.chapter-figure{padding:8px}.chapter-figure figcaption{font-size:15px;padding:6px}}

/* Chapter tables */
.chapter-table{max-width:100%;overflow-x:auto;margin:26px 0;border:1px solid var(--line);border-radius:6px}.chapter-table table{border-collapse:collapse;width:100%;min-width:580px;font-size:16px;line-height:1.6}.chapter-table th,.chapter-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.chapter-table th{background:#eaf2ef;font-weight:700}.chapter-table tbody tr:last-child td{border-bottom:0}.chapter-table:focus-visible{outline:2px solid var(--teal);outline-offset:3px}

/* Keep all section links reachable in long desktop chapter menus. */
@media(min-width:701px){.chapter-nav{max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;padding-right:10px;scrollbar-width:thin}}

/* Chapter printing */
.chapter-meta-actions{display:inline-flex;align-items:baseline;justify-content:flex-end;flex-wrap:wrap;gap:4px 14px}
.print-chapter{display:inline-flex;align-items:center;gap:6px;appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.print-icon{width:16px;height:16px;flex:none}
.print-chapter:focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* Chapter printing — keep after all component rules */
@media print{
  @page{size:auto;margin:18mm 16mm}
  html{scroll-padding-top:0}
  body{font:11pt/1.5 Georgia,'Times New Roman',serif;background:#fff;color:#000}
  .header,.book-band,.chapter-nav,.chapter-end,footer,.skip,.print-chapter{display:none}
  .layout{display:block;max-width:none;margin:0;padding:0}
  .reading{width:100%;max-width:none;min-width:0}
  .chapter-meta{color:#000;font-size:7.5pt;letter-spacing:.8pt;padding-bottom:8pt;border-color:#888}
  h1{font-size:26pt;line-height:1.15;margin:12pt 0 18pt;break-after:avoid;page-break-after:avoid}
  h2{font-size:17pt;line-height:1.25;margin:24pt 0 10pt;break-after:avoid;page-break-after:avoid}
  p{margin:0 0 10pt;orphans:3;widows:3}
  .reading article>p:first-of-type{font-size:12pt;line-height:1.5}
  a{color:#000;text-decoration:none}
  .equation{font:11pt/1.5 Georgia,'Times New Roman',serif;background:#fff;border:1px solid #888;border-radius:0;padding:8pt 10pt;margin:12pt 0;overflow-wrap:anywhere;break-inside:avoid;page-break-inside:avoid}
  .nutshell{background:#fff;border:1px solid #888;border-radius:0;padding:9pt 11pt;margin:14pt 0 18pt;break-inside:avoid;page-break-inside:avoid}
  .nutshell h3{font-size:8pt;color:#000;margin-bottom:5pt}
  .nutshell p{font-size:10pt;line-height:1.45;margin:0}
  .reference{font-size:9pt;line-height:1.4;margin-bottom:7pt;overflow-wrap:anywhere;break-inside:avoid;page-break-inside:avoid}
  .chapter-table{overflow:visible;max-width:100%;border:0;border-radius:0;margin:12pt 0;break-inside:auto;page-break-inside:auto}
  .chapter-table table{width:100%;min-width:0;font-size:9.5pt;line-height:1.35;break-inside:auto;page-break-inside:auto}
  .chapter-table thead{display:table-header-group}
  .chapter-table tbody{break-inside:auto;page-break-inside:auto}
  .chapter-table tr{break-inside:avoid;page-break-inside:avoid}
  .chapter-table th,.chapter-table td{padding:6pt 7pt;background:#fff;border-color:#888;overflow-wrap:anywhere}
  .chapter-figure{width:100%;max-width:150mm;margin:14pt auto;padding:6pt;background:#fff;border:1px solid #888;border-radius:0;break-inside:avoid;page-break-inside:avoid}
  .chapter-figure img{display:block;width:100%;max-width:100%;height:auto}
  .chapter-figure figcaption{font-size:9pt;line-height:1.4;color:#000;margin-top:7pt;padding:0}
}
