:root{--ink:#153d38;--muted:#5c6e68;--paper:#faf9f4;--line:#d9ded4;--accent:#215f51}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.65 system-ui,-apple-system,sans-serif}a{color:var(--accent);text-underline-offset:4px}a:hover{color:#101e19}header,main,footer{max-width:1160px;margin:auto;padding:24px 40px}header{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);font-size:14px}nav{display:flex;gap:22px;flex-wrap:wrap}.brand{text-decoration:none;font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font:12px/1.5 system-ui;color:var(--muted);margin:28px 0 16px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(40px,6vw,76px);max-width:850px;margin:12px 0 28px;letter-spacing:-.035em}h2{font-size:32px;margin-top:48px}h3{font-size:23px}p{max-width:850px}.intro{font:23px/1.55 Georgia,serif;max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.button{display:inline-block;border:1px solid var(--ink);padding:11px 18px;text-decoration:none;font-size:14px}.primary{background:var(--ink);color:white}.primary:hover{color:white;background:#286458}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:44px 0}.stat{padding:24px 20px 24px 0}.stat strong{display:block;font:36px Georgia,serif}.stat span,.muted,footer{font-size:14px;color:var(--muted)}.note{padding:20px 24px;border-left:3px solid var(--accent);background:#edf0e8;max-width:900px}.controls{display:flex;gap:12px;margin:24px 0}input,select,button{font:inherit;color:var(--ink);background:white;border:1px solid #acbbb1;padding:10px}input{flex:1;min-width:80px}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}.entry{display:grid;grid-template-columns:80px 1fr;gap:15px;border-top:1px solid var(--line);padding:20px 0}.entry h3{margin:0 0 10px;font-size:22px}.entry h3 a{text-decoration:none}.meta{font-size:13px;color:var(--muted)}.badge{font:11px system-ui;border:1px solid #acbbb1;padding:3px 6px;margin-right:8px;text-transform:uppercase}.paging{display:flex;gap:16px;align-items:center;margin:24px 0}.article{max-width:950px}.article h1{font-size:40px;margin-top:60px}.article h2{font-size:29px}.article>p,.article li{font:18px/1.8 Georgia,serif}.article pre{font:13px/1.5 ui-monospace,monospace;overflow:auto;background:#eef0e9;padding:18px}.article code{overflow-wrap:anywhere;font-size:.85em}.article table{display:block;overflow:auto;border-collapse:collapse;max-width:100%}th,td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left}blockquote{border-left:2px solid #acbbb1;margin-left:0;padding-left:22px;color:#47605a}.article a{overflow-wrap:anywhere}.article img{max-width:100%}footer{border-top:1px solid var(--line);margin-top:60px;padding-bottom:45px}@media(max-width:650px){header,main,footer{padding:20px}header{flex-direction:column;gap:10px}.stats{grid-template-columns:1fr}.stat{padding:15px 0}.stat strong{font-size:28px}.controls{flex-wrap:wrap}.entry{grid-template-columns:1fr;gap:6px}h1{font-size:43px}.article h1{font-size:32px}}
#progress{margin:54px 0;padding-top:5px;border-top:1px solid var(--line)}.chart-scroll{overflow-x:auto;margin:20px 0 8px}.progress-chart{display:block;width:100%;min-width:560px;height:auto}.progress-chart text{font:15px system-ui;fill:var(--muted)}.progress-chart a:hover circle{r:7;fill:#a66a32}.chart-legend{display:flex;gap:25px;font-size:14px}details{margin:20px 0;color:var(--muted);font-size:14px}summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}details table{font-variant-numeric:tabular-nums;font-size:13px;display:block;overflow:auto}#progress h3{margin-top:32px}
