
:root{--ink:#112b40;--muted:#53697a;--line:#d2dee6;--teal:#087b70;--red:#bd5144;--paper:#f6f9fb;--blue:#145faa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.72 Arial,Helvetica,sans-serif}a{color:var(--blue);text-underline-offset:4px}a:hover{color:var(--teal)}button,input,select{font:inherit}button,.downloads a{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 16px;border-radius:4px;cursor:pointer;font-size:15px;text-decoration:none}button:hover{border-color:var(--teal)}:focus-visible{outline:3px solid #db8928;outline-offset:4px}header{border-bottom:1px solid var(--line);background:#fff;padding:20px 4vw;display:flex;justify-content:space-between;gap:18px;font-size:15px}header>a{font-weight:700;letter-spacing:.06em;text-decoration:none;color:var(--ink)}header nav{display:flex;gap:24px;flex-wrap:wrap}.layout{max-width:1480px;margin:auto;display:grid;grid-template-columns:255px minmax(0,1fr);gap:55px;padding:40px 40px 80px}.toc{font-size:14px;position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow-y:auto;padding:0 15px 20px 0}.toc p,.eyebrow{font:13px/1.6 ui-monospace,Consolas,monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--teal)}.toc ol{padding-left:25px}.toc li{margin:0 0 9px;padding-left:4px}.toc a{text-decoration:none;color:var(--muted)}.toc a:hover,.toc a.active{color:var(--teal)}main{min-width:0;max-width:1020px}.hero{border-bottom:1px solid var(--ink);padding-bottom:35px;margin-bottom:30px}.hero h1{font-size:clamp(3.5rem,7vw,6.4rem);line-height:1.03;letter-spacing:-.065em;margin:16px 0 26px;font-weight:600}.hero .sub{font-size:26px;line-height:1.4;max-width:750px;margin:0 0 22px}.hero .intro{max-width:740px;font-size:18px;color:var(--muted)}.hero .chips{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.chips a{background:white;border:1px solid var(--line);border-radius:3px;padding:8px 13px;font-size:14px;text-decoration:none}.hero-graph{margin:25px 0 0;border:1px solid var(--line);background:#fff;padding:10px}.meta{font-size:14px;color:var(--muted)}section{padding:38px 0 28px;border-bottom:1px solid var(--line);scroll-margin-top:24px}section h2{font-size:34px;font-weight:500;letter-spacing:-.035em;line-height:1.25;margin:10px 0 16px}section h3{font-size:23px;line-height:1.35;margin:30px 0 12px}section .lead{font-size:21px;line-height:1.5;color:var(--muted);margin-bottom:28px}.number{font:13px ui-monospace,monospace;color:var(--teal);letter-spacing:.1em}p{margin:0 0 20px}blockquote{margin:28px 0;padding:24px 28px;border-left:4px solid var(--teal);background:#e6f2f0;font-size:24px;line-height:1.5}figure{margin:28px 0}img{display:block;width:100%;height:auto;border:1px solid var(--line)}figcaption,.caption{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0}.sources-inline{font-size:13px;line-height:1.7;margin-top:20px}.sources-inline a{color:var(--muted)}.table-wrap{overflow:auto;margin:25px 0}table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.55;background:#fff}th,td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--line);min-width:135px}th{font-size:14px;color:var(--teal);background:#eef4f7}.formula{background:#112b40;color:#edf7f7;border-radius:3px;padding:22px 26px;font:17px/1.9 ui-monospace,Consolas,monospace;margin:28px 0;overflow-x:auto}.note{border-left:3px solid #b47725;padding:20px;background:#fff5e7}.lab{background:#fff;border:1px solid var(--line);padding:26px;margin:30px 0;border-top:3px solid var(--teal)}.lab h3{margin:0 0 22px}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}.lab label{display:block;font-size:15px;color:var(--muted)}input[type=number],select{display:block;width:100%;margin-top:8px;border:1px solid #bacbd7;border-radius:3px;padding:9px 12px;color:var(--ink);background:#fff}input[type=range]{display:block;width:100%;margin:16px 0;accent-color:var(--teal)}output{font:15px ui-monospace,monospace;color:var(--ink)}.chart{margin:22px 0 12px}.chart svg,.hero-graph svg{width:100%;height:auto;display:block}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{border-top:1px solid var(--line);padding:14px 0}.stat b{display:block;font-size:25px;line-height:1.35;font-weight:500}.stat span{font-size:13px;color:var(--muted)}.result{background:#e8f3f1;padding:18px 20px;margin:20px 0 0;font-size:17px}.result.bad{background:#fff0e8;color:#943b29}.downloads{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}details{border:1px solid var(--line);padding:16px 20px;background:#fff;margin:20px 0}summary{cursor:pointer;font-weight:600}details p{margin:16px 0 0}.question{border-top:1px solid var(--line);padding:22px 0}.question h3{font-size:19px;margin:0 0 14px}.question button{display:block;text-align:left;width:100%;margin:7px 0}.question button.selected{border-color:var(--red);background:#fff1ed}.question button.correct{border-color:var(--teal);background:#e5f4ef}.feedback{font-size:16px;margin:13px 0 0}.reading-list{padding-left:25px}.reading-list li{padding:0 0 18px 6px;font-size:16px}.reading-list small{display:block;font-size:14px;color:var(--muted)}footer{font-size:14px;color:var(--muted);margin-top:35px}.related{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.skip{position:absolute;top:-100px}.skip:focus{top:8px;background:white;padding:10px;z-index:100}noscript p{background:#fff1cf;padding:20px}.progress{position:fixed;top:0;left:0;height:3px;background:var(--teal);width:0;z-index:10}@media(max-width:1000px){.layout{grid-template-columns:205px minmax(0,1fr);gap:28px;padding:30px 25px}.hero h1{font-size:4.4rem}.toc{font-size:13px}section h2{font-size:30px}}@media(max-width:740px){body{font-size:17px}.layout{display:block;padding:24px 20px 50px}.toc{position:static;max-height:none;padding:0;margin:0 0 28px}.toc details{margin:0}.toc ol{columns:1}.toc .toc-inner{max-height:250px;overflow:auto}header{padding:16px 20px;font-size:13px;display:block}header nav{margin-top:12px;gap:15px}.hero h1{font-size:3.8rem}.hero .sub{font-size:23px}.hero .intro{font-size:17px}section h2{font-size:28px}section .lead{font-size:20px}section{padding:28px 0}.controls{grid-template-columns:1fr}.lab{padding:18px}.stats{grid-template-columns:1fr 1fr}.stat b{font-size:22px}blockquote{font-size:21px;padding:18px 20px}.formula{font-size:14px;padding:18px}th,td{padding:11px 13px}.chart{overflow-x:auto}.chart svg{min-width:490px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{body{background:#fff;font-size:11pt;line-height:1.55}header,.toc,.progress,.downloads,button,.hero .chips{display:none!important}.layout{display:block;padding:0}main{max-width:none}.hero h1{font-size:45pt}.hero .sub{font-size:18pt}section{break-before:auto}section h2{font-size:23pt;break-after:avoid}h3,summary{break-after:avoid}.lab,figure,.formula,blockquote,.question{break-inside:avoid}.lab{padding:12px}.controls{display:none}.chart svg{min-width:0}.table-wrap{overflow:visible}table{font-size:9pt}th,td{min-width:0;padding:7px}a{color:inherit}.result{background:#eee}.caption{font-size:9pt}}
