:root{--paper:#f7f5ef;--card:#fffefb;--ink:#14130f;--soft:#57534a;--rule:#14130f;
--hair:#d9d5c8;--pass:#1d6b45;--fail:#a5321f;--accent:#a5321f;--link:#14130f}
@media (prefers-color-scheme:dark){:root{--paper:#131210;--card:#1b1a17;--ink:#f1eee5;
--soft:#a8a397;--rule:#f1eee5;--hair:#36332c;--pass:#6fca9b;--fail:#f08a73;--accent:#f08a73;--link:#f1eee5}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Georgia,"Iowan Old Style","Times New Roman",serif}
a{color:var(--link);text-underline-offset:3px}a:hover{color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.sans,.brand,h1,h2,h3,nav,.panel,table,.tag,.btn,footer,.kicker{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
header.site{border-bottom:6px solid var(--rule)}
header.site .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;justify-content:space-between;padding-top:18px;padding-bottom:12px}
.brand{font-weight:900;font-size:22px;letter-spacing:-.02em;text-decoration:none}
nav a{margin-right:18px;font-size:14px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}
nav a:last-child{margin-right:0}nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}
h1{font-size:clamp(34px,6vw,60px);line-height:1.02;letter-spacing:-.03em;font-weight:900;margin:48px 0 18px;text-wrap:balance}
h2{font-size:28px;line-height:1.15;letter-spacing:-.02em;font-weight:900;margin:64px 0 8px;padding-top:14px;border-top:6px solid var(--rule)}
h3{font-size:18px;font-weight:800;margin:28px 0 6px}
.lede{font-size:21px;line-height:1.5;max-width:42em;color:var(--ink)}
.kicker{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.note{border-left:4px solid var(--accent);padding:10px 16px;background:var(--card);margin:24px 0;max-width:46em;font-size:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:24px}
.panel{background:var(--card);border:2px solid var(--rule);padding:10px 12px 12px;color:var(--ink)}
.panel .t{font-size:30px;font-weight:900;letter-spacing:-.03em;line-height:1;border-bottom:1px solid var(--rule);padding-bottom:6px}
.panel .p{font-size:15px;font-weight:700;line-height:1.25;padding:6px 0;border-bottom:8px solid var(--rule)}
.panel .p small{display:block;font-weight:400;color:var(--soft)}
.panel .score{display:flex;justify-content:space-between;align-items:baseline;border-bottom:4px solid var(--rule);padding:4px 0}
.panel .score b{font-size:15px}.panel .score span{font-size:34px;font-weight:900;letter-spacing:-.03em}
.panel ol{list-style:none;margin:0;padding:0}
.panel li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--hair);padding:5px 0;font-size:14px;line-height:1.3}
.panel li b{font-weight:800;white-space:nowrap}.pass{color:var(--pass)}.fail{color:var(--fail)}
.panel .f{font-size:12px;color:var(--soft);padding-top:8px;line-height:1.4}
.btn{display:inline-block;margin-top:10px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.crit{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:0 32px;margin-top:12px}
.crit div{border-bottom:1px solid var(--hair);padding:14px 0}
.crit b{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;display:block;font-size:16px}
.crit span{color:var(--soft);font-size:15.5px}
.prose{max-width:46em}.prose h2{font-size:26px}.prose h3{font-size:19px}
.prose code,code{font:14px ui-monospace,Menlo,monospace;background:var(--card);border:1px solid var(--hair);padding:1px 5px}
.tablewrap{overflow-x:auto;margin:18px 0;border:2px solid var(--rule);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.4}
th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;border-bottom:4px solid var(--rule);padding:8px 10px;white-space:nowrap}
td{vertical-align:top;border-bottom:1px solid var(--hair);padding:8px 10px}
.prose .tablewrap td,.prose .tablewrap th{font-size:14px}
td.n{white-space:nowrap;font-weight:700}td.muted{color:var(--soft)}
input[type=search]{font:16px "Helvetica Neue",Helvetica,Arial,sans-serif;width:100%;max-width:420px;padding:10px 12px;border:2px solid var(--rule);background:var(--card);color:var(--ink)}
.why{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;border-bottom:1px solid var(--hair);padding:16px 0;max-width:52em}
.why .m{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:900;font-size:26px;line-height:1}
.why b{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.why p{margin:4px 0 0;font-size:16px}
figure{margin:20px 0;max-width:520px}figure img{max-width:100%;height:auto;border:2px solid var(--rule);background:#fff}
figcaption{font-size:14px;color:var(--soft);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
footer{margin-top:80px;border-top:6px solid var(--rule);font-size:14px;color:var(--soft)}
footer .wrap{padding-top:18px;padding-bottom:40px}footer a{color:var(--soft)}