:root{--paper:#f4f0e7;--ink:#192e2b;--panel:#fffdf8;--line:#c9c9bc;
--muted:#535b54;--gold:#7d5b00;--green:#28705f;--red:#9c3439;--blue:#2f5c8a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:"Avenir Next",Avenir,"Trebuchet MS",sans-serif;font-size:17px;line-height:1.65;
overflow-x:hidden}
a{color:inherit;text-underline-offset:4px}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid #bd5332;outline-offset:4px}
code{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.86em;
background:#192e2b0e;padding:1px 5px;overflow-wrap:anywhere}
pre{overflow:auto;padding:18px;background:#192e2b0e;font-size:13px;margin:18px 0}
pre code{background:none;padding:0}
.wrap{max-width:1240px;margin:auto;padding:0 44px}
.skip{position:absolute;left:20px;top:-100px;background:var(--panel);z-index:10;padding:10px}
.skip:focus{top:10px}
.masthead{display:flex;align-items:center;justify-content:space-between;padding:24px 44px;
border-bottom:1px solid var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.masthead>a{font-size:23px;font-weight:800;text-decoration:none;letter-spacing:-1px}
.masthead>a span{font-size:12px;letter-spacing:.06em;font-weight:500}
.hero{padding:64px 0 30px;position:relative;overflow:hidden}
.hero:after{content:"%";position:absolute;right:10px;top:20px;font-family:Georgia,serif;
font-size:clamp(260px,34vw,520px);line-height:1;color:#192e2b0b;z-index:-1}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,6.8vw,100px);
line-height:1.02;font-weight:400;letter-spacing:-.06em;margin:26px 0 40px;max-width:940px}
.hero em{font-weight:400;font-style:normal;color:var(--green)}
.hero-bottom{display:grid;grid-template-columns:2.2fr repeat(3,1fr);gap:40px;
border-top:2px solid var(--ink);padding-top:24px;align-items:start}
.hero-bottom>p{font-size:19px;line-height:1.55;margin:0}
.hero-bottom>div{border-left:1px solid var(--line);padding-left:24px}
.hero-bottom strong{display:block;font-family:Georgia,serif;font-size:40px;font-weight:400;
line-height:1.2}
.hero-bottom span{font-size:12px;display:block;margin-top:8px}
.toc{position:sticky;top:0;z-index:5;display:flex;gap:26px;justify-content:center;
padding:14px 24px;background:var(--ink);color:var(--paper);font-size:12px;overflow:auto;
white-space:nowrap}
.toc a{text-decoration:none}
.toc a:hover{color:#e8c266}
.chapter{padding:70px 0;border-bottom:1px solid var(--line)}
.chapter-head{display:grid;grid-template-columns:80px 1fr;gap:22px;margin-bottom:34px}
.number{font-family:Georgia,serif;font-size:55px;line-height:1;color:var(--green)}
h2{font-family:Georgia,serif;font-size:clamp(32px,3.2vw,46px);line-height:1.15;
letter-spacing:-.035em;font-weight:400;margin:0 0 18px;max-width:900px}
h3{font-size:19px;line-height:1.3;letter-spacing:-.02em;margin:0 0 14px}
h4{font-size:16px;line-height:1.35;margin:0 0 12px;font-weight:600}
p{margin:0 0 18px;max-width:1000px}
.lead{font-size:19px;max-width:920px;line-height:1.6;margin:0}
.note{font-size:12px;line-height:1.65;color:var(--muted);margin:14px 0;max-width:900px}
.plain{font-size:19px;line-height:1.55;padding:22px 26px;border-left:4px solid #d8a631;
background:var(--panel);margin:28px 0;max-width:none}
.callout{border-left:5px solid #d8a631;padding:24px 28px;margin:32px 0;background:var(--panel)}
.callout p:last-child{margin-bottom:0}
.formula{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:14.5px;
background:#192e2b0e;padding:16px 18px;line-height:1.6}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:32px 0}
.split>article,.split>div{min-width:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:30px 0}
.metrics{display:grid;gap:28px;margin:34px 0}
.metrics.three{grid-template-columns:repeat(3,1fr)}
.metrics article{border-top:3px solid var(--green);padding-top:18px;min-width:0}
.metrics strong{font-family:Georgia,serif;font-size:42px;font-weight:400;line-height:1.2;
display:block;margin-bottom:14px}
.metrics p{font-size:14px}
.metrics em{font-style:italic}
.chart-shell{border:1px solid var(--line);padding:22px 24px;margin:28px 0;
background:var(--panel);min-width:0}
.chart-shell h3,.chart-shell h4{margin:4px 0 12px}
.fig{max-width:100%;overflow-x:auto}
.fig svg{width:100%;height:auto;display:block}
.kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
margin:0 0 6px}
figure{margin:28px 0}
figcaption{margin-top:14px}
.ledger{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);
margin:30px 0;background:var(--panel)}
.ledger>div{padding:20px 22px;border-left:1px solid var(--line);min-width:0}
.ledger>div:first-child{border-left:0}
.ledger span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
color:var(--muted);margin-top:8px}
.ledger b{display:block;font-family:Georgia,serif;font-weight:400;font-size:32px;
line-height:1.15;margin:6px 0;font-variant-numeric:tabular-nums}
.ledger em{font-style:normal}
.ledger em.lula{color:var(--red)}
.ledger em.flavio{color:var(--blue)}
.ledger small{font-size:12px;color:var(--muted);line-height:1.5;display:block}
.stamp{display:inline-block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;
padding:2px 7px;border:1px solid currentColor;border-radius:3px;color:var(--green)}
.stamp.inferencia{color:var(--gold);
background:repeating-linear-gradient(45deg,transparent 0 4px,#d8a63130 4px 6px)}
.proof{display:inline-block;font-size:11px;letter-spacing:.05em;padding:5px 10px;
border-radius:3px;margin:0 0 8px;border:1px solid currentColor}
.proof.ok{color:var(--green);background:#28705f12}
.proof.warn{color:var(--gold);background:#7d5b0012}
.poll{border-top:3px solid var(--ink);padding-top:22px;margin:0 0 56px}
.poll-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}
.poll-head h3{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:-.02em}
.proofs{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.panel{border-top:2px solid var(--ink);padding-top:16px;min-width:0}
.panel h3{font-size:16px}.panel h3 small{font:500 12px/1 var(--mono,monospace);color:#535b54;margin-left:6px;letter-spacing:.04em}
.table-scroll{max-width:100%;overflow:auto;margin:24px 0;border-top:2px solid currentColor}
table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.45;
font-variant-numeric:tabular-nums}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;
padding:14px 12px;vertical-align:bottom;background:#192e2b0d}
td{padding:12px;border-top:1px solid var(--line);vertical-align:top}
td:first-child{font-weight:600;min-width:120px}
tr:hover td{background:#8ea59417}
.method-list{padding-left:20px;max-width:900px}
.method-list li{margin:0 0 14px;padding-left:6px;font-size:15px;line-height:1.6}
.downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:30px 0}
.download{display:block;padding:20px 22px;background:var(--panel);border:1px solid var(--line);
text-decoration:none}
.download b{display:block;font-size:17px;margin-bottom:6px}
.download span{font-size:13px;color:var(--muted)}
.download:hover{border-color:var(--ink)}
.footer{display:flex;justify-content:space-between;gap:20px;padding-top:34px;
padding-bottom:34px;font-size:11px;flex-wrap:wrap}
.footer b{font-size:14px}
.footer a{color:var(--muted)}
.js .reveal{opacity:0;transform:translateY(14px);
transition:opacity .55s ease,transform .55s ease}
.js .reveal.in,.js .reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){
.hero-bottom{grid-template-columns:1fr 1fr;gap:22px}
.hero-bottom>p{grid-column:1/-1}
.grid-3,.downloads{grid-template-columns:1fr 1fr}
.metrics.three{grid-template-columns:1fr}
.toc{justify-content:flex-start}
}
@media(max-width:760px){
body{font-size:16px}
.wrap{padding:0 20px}
.masthead{padding:16px 20px}
.masthead>a span{display:none}
.hero{padding:30px 0 18px}
.hero h1{font-size:52px;margin:22px 0 28px}
.hero-bottom strong{font-size:34px}
.chapter{padding:44px 0}
.chapter-head{grid-template-columns:1fr;gap:12px}
.number{font-size:32px}
h2{font-size:33px}
.lead{font-size:16px}
.split,.grid-3,.downloads{grid-template-columns:1fr;gap:26px}
.ledger{grid-template-columns:1fr 1fr}
.ledger b{font-size:25px;white-space:nowrap}
.ledger>div:nth-child(odd){border-left:0}
.ledger>div:nth-child(n+3){border-top:1px solid var(--line)}
.poll-head{grid-template-columns:1fr}
.proofs{align-items:flex-start}
.poll-head h3{font-size:24px}
.fig svg{min-width:520px}
.fig.wide svg{min-width:700px}
.panel .fig svg{min-width:0}
.plain{font-size:17px;padding:18px 20px}
th,td{padding:11px 9px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.js .reveal{opacity:1;transform:none;transition:none}
}
@media print{.toc,.skip{display:none}.chapter{break-before:page}
.js .reveal{opacity:1;transform:none}}
