
:root{color-scheme:light dark;--bg:#f6f8fb;--paper:#fff;--ink:#172c3a;--muted:#465d6d;--line:#cbd7df;--accent:#174f79;--soft:#eaf1f7;--warn:#6a4816;--warnbg:#fff4db;--code:#edf2f7}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header,main,footer{max-width:1120px;margin:auto;padding:28px}header{border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;font-size:1.2rem;font-weight:750;text-decoration:none}.brand img{width:48px;height:48px}nav{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;font-size:.93rem}nav a{padding:4px 0;text-decoration:none}nav a[aria-current=page]{border-bottom:2px solid var(--accent);font-weight:700}.skip{position:absolute;left:12px;top:-90px;background:var(--paper);padding:12px;z-index:2}.skip:focus{top:10px}main{min-height:65vh;padding-top:42px;padding-bottom:70px}h1,h2,h3{line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2.15rem,4.3vw,3.5rem);max-width:18ch;margin:.3em 0 .55em}h2{font-size:1.55rem;margin:2.1em 0 .7em}h3{font-size:1.12rem}p,li{max-width:80ch}.lead{font-size:1.18rem;color:var(--muted);max-width:65ch}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:var(--accent)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:45px;align-items:center}.hero>img{width:150px;height:150px}.badge{display:inline-block;padding:5px 11px;border:1px solid var(--line);border-radius:30px;font-size:.8rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.button{background:var(--accent);color:#fff;text-decoration:none;padding:10px 19px;border-radius:7px;font-weight:650}.button.secondary{background:var(--paper);color:var(--accent);border:1px solid var(--line)}.boundary{border-left:4px solid var(--accent);background:var(--soft);padding:14px 22px;margin:27px 0;border-radius:0 7px 7px 0}.boundary h2{margin:0;font-size:1rem;letter-spacing:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{display:block;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px;text-decoration:none}.card strong,.card span{display:block}.card strong{margin-bottom:8px}.card span{color:var(--muted);font-size:.92rem}.card:hover{border-color:var(--accent)}code{font: .88em/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}pre{white-space:pre;overflow:auto;max-width:100%;padding:20px;background:var(--code);border:1px solid var(--line);border-radius:8px}pre code{overflow-wrap:normal}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{vertical-align:top;text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.table-scroll{max-width:100%;overflow-x:auto}.claim{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:20px 24px;margin:16px 0}.claim h2{margin:0 0 8px;font-size:1.05rem;letter-spacing:0}.claim p{margin:9px 0}.meta{font-size:.85rem;color:var(--muted)}footer{border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}footer p{margin:.35em 0}.quiet{color:var(--muted)}.credits{font-size:.9rem}ul{padding-left:1.35em}li{margin:.4em 0}hr{border:0;border-top:1px solid var(--line);margin:35px 0}body.walsh{--accent:#14675f;--soft:#e8f3f0}
@media(prefers-color-scheme:dark){:root{--bg:#101c26;--paper:#152633;--ink:#e4edf2;--muted:#b0c3cf;--line:#3e5667;--accent:#94c9ef;--soft:#1d3345;--warn:#f0cd8a;--warnbg:#352d1d;--code:#172b3b}body.walsh{--accent:#96d9cb;--soft:#1a3735}.button{color:#102330}}
@media(max-width:760px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:minmax(0,1fr) 85px;gap:20px}.hero>img{width:85px;height:85px}}
@media(max-width:480px){header,main,footer{padding:20px}.hero{display:block}.hero>img{display:none}.cards{grid-template-columns:1fr}nav{gap:6px 17px}td,th{padding:11px 8px}.claim{padding:17px}.lead{font-size:1.08rem}h1{max-width:22ch}}
