@charset "UTF-8";
:root{--ink:#102038;--muted:#596b83;--blue:#1755bd;--line:#dbe4f0;--pale:#f2f6fc;--nav:274px;--top:66px;color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:17px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;line-height:1.7}a{color:var(--blue);text-underline-offset:3px}a:hover{color:#0c3680}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--blue);background:var(--blue);color:white;border-radius:4px;padding:.65rem 1rem;font-size:.88rem;font-weight:600}button:hover{background:#104393}button.quiet{background:white;color:var(--blue)}:focus-visible{outline:3px solid #dc8c19;outline-offset:4px}.skip-link{position:fixed;left:1rem;top:-200px;background:white;padding:1rem;z-index:100}.skip-link:focus{top:1rem}
.topbar{position:fixed;inset:0 0 auto;min-height:var(--top);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 28px;background:#0a182b;color:#fff;z-index:30;border-bottom:1px solid #233954}.brand{font-size:.83rem;font-weight:700;letter-spacing:.09em;color:#fff;text-decoration:none;white-space:nowrap}.brand small{color:#a7bcda;font-weight:400;margin-left:12px;letter-spacing:.025em}.top-links{display:flex;align-items:center;gap:24px}.top-links a{font-size:.82rem;color:#d1e1f6;text-decoration:none}.top-links button{border-color:#486284;background:transparent;font-size:.8rem;padding:.35rem .7rem}.reading-track{position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:#233954}#reading-progress{display:block;height:100%;background:#76aaf6;width:0}#menu-toggle{display:none}
.sidebar{position:fixed;left:0;top:var(--top);bottom:0;width:var(--nav);border-right:1px solid var(--line);background:#f7f9fd;display:flex;flex-direction:column;z-index:25}.sidebar-head{padding:24px 24px 14px;font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.sidebar nav{overflow-y:auto;padding:0 12px 22px;overscroll-behavior:contain;flex:1}.sidebar a{display:flex;align-items:baseline;gap:11px;font-size:.82rem;line-height:1.35;text-decoration:none;color:#43536a;padding:10px 12px;border-left:2px solid transparent;border-radius:0 4px 4px 0}.sidebar a span{font-family:monospace;font-size:.72rem;min-width:20px;color:#667a94}.sidebar a.active{color:#11489f;background:#e8f0fd;border-left-color:var(--blue);font-weight:600}.sidebar a:hover{background:#edf2f9}.sidebar-foot{flex:none;padding:15px 24px;border-top:1px solid var(--line);background:#f7f9fd;font-size:.74rem;line-height:1.6;color:var(--muted)}.sidebar-foot b{color:var(--ink);font-weight:500}.nav-overlay{display:none}
main{margin-left:var(--nav);padding:calc(var(--top) + 48px) 48px 0;max-width:1460px}.book-header{max-width:960px;margin:0 auto;padding-bottom:42px;border-bottom:2px solid var(--ink)}.eyebrow{font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:0 0 24px}.book-header h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.6rem,5.2vw,4.5rem);font-weight:400;letter-spacing:-.04em;line-height:1.04;margin:0 0 24px;max-width:920px}.book-header .subtitle{font-size:1.13rem;font-weight:600;margin-bottom:16px}.book-header .lead{max-width:780px;font-size:1.06rem;color:#33465f;margin:16px 0 24px}.meta-row{font-size:.77rem;color:var(--muted);display:flex;gap:20px;flex-wrap:wrap}.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.quick-links a{font-size:.8rem;line-height:1.4;text-decoration:none;border:1px solid var(--line);padding:8px 12px;background:white;border-radius:3px}.evidence-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:20px}.evidence-links a{padding:16px 18px;display:flex;flex-direction:column;background:var(--pale);text-decoration:none;font-size:.8rem;line-height:1.5}.evidence-links b{font-size:1rem;margin-bottom:3px}.evidence-links small{color:var(--muted);font-size:.74rem}
section.chapter{max-width:960px;margin:0 auto;padding:68px 0 42px;border-bottom:1px solid var(--line);scroll-margin-top:var(--top)}.chapter-header{margin-bottom:28px}.section-number{font-size:.78rem;letter-spacing:.13em;color:var(--blue);text-transform:uppercase;display:block;margin-bottom:12px}.chapter h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.85rem,3vw,2.65rem);font-weight:400;line-height:1.18;letter-spacing:-.024em;margin:0 0 16px}.chapter .deck{font-size:1.1rem;line-height:1.5;color:var(--muted);max-width:800px;margin:0}.chapter-body>p{max-width:840px}.chapter p{margin:0 0 20px}.chapter h3{font-size:1.18rem;line-height:1.4;letter-spacing:-.013em;margin:34px 0 16px}.chapter ul{padding-left:22px;max-width:850px;margin:18px 0 28px}.chapter li{padding-left:5px;margin-bottom:12px}.chapter small{font-size:.82em;color:var(--muted)}.cite{font-size:.76rem;white-space:nowrap;text-decoration:none;font-weight:600;padding-left:4px}.note{margin:30px 0;padding:23px 26px;border-left:3px solid var(--blue);background:var(--pale)}.note p{margin:8px 0 0;max-width:850px;font-size:.94rem}.note>b{font-size:.93rem}.equation{padding:24px 28px;background:#0e233e;color:#fff;margin:28px 0;border-radius:4px}.formula{font-family:Georgia,'Times New Roman',serif;font-size:1.42rem;line-height:1.7;overflow-wrap:anywhere}.equation p{font-size:.83rem;color:#c6d7ed;margin:12px 0 0}.formula sub{font-family:Arial,sans-serif;font-size:.58em}.table-scroll{max-width:100%;overflow-x:auto;margin:28px 0 36px;-webkit-overflow-scrolling:touch}.table-scroll table{border-collapse:collapse;width:100%;font-size:.86rem;line-height:1.55;text-align:left;min-width:510px}.table-scroll caption{caption-side:bottom;text-align:left;padding:14px 0 0;font-size:.78rem;color:var(--muted)}th{background:#f0f4fa;color:#263d5c;font-size:.8rem;font-weight:700;border-top:1px solid #a9bbd3;border-bottom:1px solid #a9bbd3}td,th{padding:14px 16px;vertical-align:top}td{border-bottom:1px solid var(--line)}td:first-child{font-weight:600}td:first-child small{font-weight:400}tbody tr:last-child td{border-bottom-color:#a9bbd3}
.flow{margin:30px 0}.flow>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.flow-node{background:var(--pale);border-top:2px solid var(--blue);padding:17px 17px 22px;display:flex;flex-direction:column;line-height:1.4}.flow-node>span{font-size:.71rem;color:var(--blue);margin-bottom:20px;font-family:monospace}.flow-node b{font-size:.93rem;margin-bottom:12px}.flow-node small{font-size:.77rem;color:#596b83}.flow figcaption,.plot figcaption{color:var(--muted);font-size:.78rem;margin-top:13px}.flow>div:has(>.flow-node:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.exercise{border-top:1px solid #b8c7dd;border-bottom:1px solid #b8c7dd;margin:30px 0 12px;background:#fcfdff}.exercise summary{font-weight:600;line-height:1.5;font-size:.92rem;cursor:pointer;padding:20px 16px;color:#24446c}.exercise>div{padding:3px 24px 10px;font-size:.94rem}.exercise[open] summary{color:var(--blue)}
.lab{margin:36px 0;background:#f6f9fe;border:1px solid #bdcee5;border-radius:5px;overflow:hidden}.lab-head{padding:24px 28px 18px;border-bottom:1px solid #d3dfef}.lab-head>span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:700}.lab-head h3{margin:10px 0 12px;font-size:1.34rem}.lab-head p{font-size:.85rem;color:#52647e;margin:0;max-width:820px}.lab-controls{padding:24px 28px;display:grid;grid-template-columns:1fr 1fr;gap:23px 28px}.control label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.82rem;line-height:1.5;margin-bottom:10px}.control label span{flex:1}.control output{color:var(--blue);font-weight:700;white-space:nowrap}.control input[type=range]{width:100%;min-height:24px;accent-color:var(--blue);cursor:pointer}.control select{width:100%;font-size:.88rem;padding:9px;border:1px solid #aebfd5;color:var(--ink);background:white;border-radius:4px;min-height:44px}.lab-results{padding:0 28px 28px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #b9cbe3;border-bottom:1px solid #b9cbe3;margin:4px 0 24px;background:#fff}.stat{padding:17px 16px;display:flex;flex-direction:column;min-width:0;border-right:1px solid #d8e3f1}.stat:last-child{border-right:0}.stat>span{font-size:.76rem;line-height:1.45;color:var(--muted);min-height:2.9em}.stat>b{font-size:1.6rem;line-height:1.25;margin:12px 0 8px;font-weight:500;color:#124895;overflow-wrap:anywhere}.stat>small{font-size:.73rem;line-height:1.5}.model-note{font-size:.8rem;color:#566b85;margin:18px 0 0!important}.model-warning{background:#fff2d9;color:#6d4107;padding:14px;border-left:3px solid #bf7d13}.model-fallback{padding:28px;font-size:.87rem}.bars{display:grid;gap:14px;margin:20px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.76rem;line-height:1.45;margin-bottom:6px}.bar-row b{font-weight:500;white-space:nowrap}.bar-track{height:9px;background:#dfe8f4}.bar-track span{display:block;height:100%;background:#2365c5;transition:width .1s}.bar-row:nth-child(2) .bar-track span{background:#608fcf}.bar-row:nth-child(3) .bar-track span{background:#819ec7}.plot{margin:20px 0 8px}.plot svg{width:100%;height:auto;display:block;overflow:visible}.plot text{font:14px Arial,sans-serif;fill:#52647e}.plot-line{fill:none;stroke:#1755bd;stroke-width:3}.plot-grid{stroke:#d6e0ed;stroke-width:1}
.person{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.person-index{font-size:.76rem;color:var(--blue);font-family:monospace;padding-top:6px}.person h3{margin:0 0 4px!important;font-size:1.11rem}.person-latin{font-size:.8rem;color:var(--muted)}.person p{font-size:.89rem;margin:12px 0 0}.person p b{font-weight:500;color:#425e82}.question{border:1px solid var(--line);margin:24px 0;padding:18px 22px 22px;min-width:0}.question legend{font-size:.97rem;font-weight:600;line-height:1.55;padding:0 8px;max-width:100%}.question label{display:flex;gap:12px;align-items:flex-start;margin-top:12px;font-size:.9rem;cursor:pointer}.question input{margin-top:7px;width:17px;height:17px;flex:0 0 auto;accent-color:var(--blue)}.question .feedback{font-size:.87rem;line-height:1.6;padding:14px 16px;background:var(--pale);margin:18px 0 0}.question.correct{border-left:4px solid #2c7c65}.question.incorrect{border-left:4px solid #b05732}.question.unanswered{border-left:4px solid #a1813b}.quiz-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quiz-actions output{font-size:.9rem;width:100%;color:var(--blue)}
.source{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:22px 0;border-top:1px solid var(--line);scroll-margin-top:105px;line-height:1.55}.source>span{font-family:monospace;font-size:.75rem;color:var(--muted);padding-top:3px}.source a{font-size:.92rem;font-weight:600;overflow-wrap:anywhere}.source p{margin:7px 0 0;font-size:.78rem;color:var(--muted)}.source:target{background:#eff5ff;outline:10px solid #eff5ff}.book-footer{max-width:960px;margin:0 auto;padding:40px 0 70px;color:var(--muted);font-size:.83rem}.book-footer a{margin-right:16px}.book-footer b{color:var(--ink);font-weight:500}code{background:#edf2fa;padding:2px 5px;font-size:.85em;border-radius:3px}
@media(min-width:1700px){main{margin-right:auto;padding-left:76px;padding-right:76px}}
@media(max-width:1100px){:root{--nav:240px}main{padding-left:32px;padding-right:32px}.top-links{gap:15px}.brand small{display:none}.flow>div{grid-template-columns:1fr 1fr}.lab-controls{grid-template-columns:1fr}.lab-head,.lab-controls,.lab-results{padding-left:22px;padding-right:22px}.stats{grid-template-columns:1fr 1fr}.stat:last-child{grid-column:1/-1;border-top:1px solid #d8e3f1}.stat>span{min-height:auto}.evidence-links a{padding:12px}.stat>b{font-size:1.48rem}}
@media(max-width:780px){:root{--nav:270px;--top:60px;font-size:17px}.topbar{padding:0 17px;gap:12px}.brand{font-size:.74rem;letter-spacing:.045em}.top-links>a{display:none}.top-links{gap:8px}.top-links button{font-size:.73rem;padding:5px 8px;min-height:36px}#menu-toggle{display:block}.sidebar{transform:translateX(-100%);visibility:hidden;transition:transform .15s ease}.nav-open .sidebar{transform:none;visibility:visible}.nav-open .nav-overlay{display:block;position:fixed;inset:var(--top) 0 0;background:#0a182b66;z-index:24}.nav-open{overflow:hidden}main{margin:0;padding:calc(var(--top) + 35px) 21px 0}.book-header{padding-bottom:32px}.book-header h1{font-size:2.65rem;letter-spacing:-.043em}.book-header .subtitle{font-size:1rem}.book-header .lead{font-size:.99rem}.eyebrow{font-size:.66rem;line-height:1.6;margin-bottom:19px}.evidence-links{grid-template-columns:1fr}.evidence-links a{padding:12px 15px;display:grid;grid-template-columns:90px 1fr;gap:3px 9px}.evidence-links a small{grid-column:2}.evidence-links b{font-size:.92rem;margin:0}.quick-links{gap:7px;margin:20px 0}.quick-links a{font-size:.75rem;padding:7px 10px}.meta-row{gap:8px 15px;font-size:.7rem}section.chapter{padding:44px 0 30px}.chapter h2{font-size:1.98rem}.chapter .deck{font-size:1rem}.chapter h3{font-size:1.12rem}.chapter p{margin-bottom:19px}.note{padding:19px 19px;margin:24px 0}.equation{padding:20px 19px;margin:24px 0}.formula{font-size:1.18rem}.equation p{font-size:.81rem}.table-scroll{margin:22px -4px 28px}.table-scroll table{font-size:.82rem;min-width:550px}td,th{padding:12px 13px}.flow>div{grid-template-columns:1fr 1fr;gap:10px}.flow>div:has(>.flow-node:nth-child(3):last-child){grid-template-columns:1fr}.flow-node{padding:14px}.flow-node>span{margin-bottom:12px}.flow-node b{font-size:.85rem}.lab-head{padding:20px 18px 17px}.lab-head h3{font-size:1.2rem}.lab-controls{padding:20px 18px;gap:23px}.lab-results{padding:0 18px 22px}.control label{font-size:.8rem}.stats{display:block}.stat{padding:15px 14px;border-right:0;border-bottom:1px solid #d8e3f1}.stat:last-child{border-top:0;border-bottom:0}.stat>span{min-height:0}.stat>b{font-size:1.7rem;margin:7px 0 3px}.bar-row>div:first-child{font-size:.73rem}.lab{margin:28px -4px}.question{padding:16px 16px 20px}.question legend{font-size:.9rem}.question label{font-size:.88rem}.source{grid-template-columns:25px 1fr;gap:9px}.source a{font-size:.88rem}.book-footer{padding-bottom:45px}.exercise summary{padding:17px 12px;font-size:.89rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{html{font-size:11pt;scroll-behavior:auto}body{color:black;background:white}.topbar,.sidebar,.nav-overlay,.skip-link,.quick-links,.lab-controls,.quiz-actions{display:none!important}main{margin:0;padding:0;max-width:none}.book-header,section.chapter,.book-footer{max-width:none}.book-header h1{font-size:38pt}.book-header{padding-bottom:18pt}.evidence-links{display:none}section.chapter{padding:24pt 0 12pt}.chapter h2{font-size:24pt;break-after:avoid}.chapter h3{break-after:avoid}.chapter p{orphans:3;widows:3}a{color:inherit}.equation{color:black;background:#f3f3f3;border:1px solid #ccc;break-inside:avoid}.equation p{color:#333}.note,.lab-head,.stats,.person,.question{break-inside:avoid}.table-scroll{overflow:visible}.table-scroll table{min-width:0;font-size:9pt}td,th{padding:7pt}thead{display:table-header-group}tr{break-inside:avoid}.flow>div{grid-template-columns:repeat(4,1fr)}.lab{background:white;border:1px solid #bbb}.stats{display:flex}.stat{flex:1}.stat>b{font-size:18pt}.lab-results{padding:14pt}.model-fallback{display:none}.source:target{outline:0}.feedback[hidden]{display:block}.exercise>div{display:block}.exercise summary{list-style:none}.source p{font-size:8pt}@page{size:A4;margin:16mm}}

.authors{font-size:.86rem;color:var(--muted);margin:0 0 20px}.publication-note{margin:20px 0}.publication-note summary{cursor:pointer;font-weight:600}.publication-note p{margin-top:12px;max-width:780px}
