:root{--paper:#f5f2ea;--paper2:#ece7da;--ink:#15171c;--ink2:#3b3f4a;--mute:#6b6f7a;--line:#d8d1c0;--rec:#e8432e;--v:#1f7a4d;--c:#a8661a;--o:#2b5da8;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:var(--ink);text-decoration-color:var(--rec);text-underline-offset:3px}a:hover{color:var(--rec)}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 18px}.narrow{max-width:780px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:9}
h1,h2,h3{font-family:var(--serif);line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}h1{font-size:clamp(2rem,6vw,3.4rem)}h2{font-size:clamp(1.3rem,3.5vw,1.7rem)}h3{font-size:1.2rem}
.eyebrow{font:600 .75rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--rec);margin:0 0 .6rem}
.lede{font-size:1.1rem;color:var(--ink2);max-width:62ch}.small{font-size:.875rem;color:var(--mute)}
.top{position:sticky;top:0;z-index:5;background:var(--ink);color:var(--paper)}.top-in{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:10px;color:var(--paper);text-decoration:none;font:600 1.2rem var(--serif)}.brand b{color:var(--rec);font-weight:700}.logo{width:34px;height:34px;color:var(--paper)}
.logo .lf{fill:var(--paper)}.logo .lh{fill:var(--ink)}
.nav-d{display:none}.nav-d a,.nav-m a{color:var(--paper);text-decoration:none;font-size:.95rem}.nav-d a[aria-current],.nav-m a[aria-current]{color:var(--rec)}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center}.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:22px;height:2px;background:var(--paper)}.nav-m{position:absolute;left:0;right:0;top:60px;background:var(--ink);display:flex;flex-direction:column;padding:8px 18px 18px;border-bottom:3px solid var(--rec)}.nav-m a{padding:12px 0;border-bottom:1px solid #2b2e36}
.ticker{background:#0d0e11;color:#b9bcc6;font:500 .7rem/1 var(--mono);letter-spacing:.1em;padding:8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rec);margin-right:6px;animation:b 1.6s infinite}
@keyframes b{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.rec{animation:none}}
.hero{background:var(--ink);color:var(--paper);padding:44px 0 36px;border-bottom:6px solid var(--rec)}.hero h1 em{font-style:italic;color:#f2b8ad}.hero .lede{color:#d4d6dc}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px}.btn{display:inline-block;background:var(--rec);color:#fff;text-decoration:none;padding:12px 18px;border-radius:999px;font-weight:600}.btn:hover{color:#fff;filter:brightness(1.08)}.btn-ghost{background:transparent;border:1.5px solid #6b6f7a;color:var(--paper)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0}.stats div{border-top:1px solid #3b3f4a;padding-top:10px}.stats dt{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#9da1ab}.stats dd{margin:0;font:600 2rem var(--serif);color:#fff}
.sec{padding-top:28px;padding-bottom:8px}.head{padding-top:36px}
.legend{background:#fff;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:10px;padding:12px 14px;font-size:.9rem;line-height:2}
.tag{display:inline-block;font:700 .66rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:5px;vertical-align:2px;white-space:nowrap}
.tag-v{background:#dcefe4;color:var(--v)}.tag-c{background:#f7e7cf;color:var(--c)}.tag-o{background:#dde7f6;color:var(--o)}.na{color:var(--mute);font-style:italic;font-size:.9em}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:16px}
.grid2{display:grid;gap:16px}
.log{list-style:none;padding:0;margin:0 0 10px}.log li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:.95rem}.log time{display:block;font:600 .72rem var(--mono);color:var(--rec)}
.bars{list-style:none;padding:0;margin:8px 0 12px}.bars li{display:grid;grid-template-columns:1fr;gap:4px;padding:8px 0;border-bottom:1px solid var(--paper2)}.bars a{font-weight:600}.bars small{color:var(--mute);font-size:.8rem}
.bar{position:relative;display:block;height:26px;background:var(--paper2);border-radius:6px}.bar::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--ink);border-radius:6px}.bar span{position:relative;font:600 .8rem/26px var(--mono);padding-left:8px;color:#fff;mix-blend-mode:difference}
.feature{display:block;background:var(--paper2);border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none;margin-bottom:16px;transition:transform .15s}.feature:hover{transform:translateY(-2px);color:var(--ink)}.feature .more{font-weight:600;color:var(--rec)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-size:.9rem}.chip:hover{border-color:var(--rec)}
.filters{display:grid;gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px}
.filters label{display:flex;flex-direction:column;font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mute);gap:4px}
.filters input[type=search],.filters select{font:16px var(--sans);padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);width:100%}
.filters input:focus,.filters select:focus{outline:2px solid var(--rec);outline-offset:1px}.filters .chk{flex-direction:row;align-items:center;gap:8px;font-size:.8rem;color:var(--ink)}.chk input{width:20px;height:20px;accent-color:var(--rec)}
.count{font:600 .8rem var(--mono);color:var(--mute);margin:14px 0 8px}.empty{padding:20px;background:#fff;border-radius:var(--r)}
.cards{display:grid;gap:14px;margin-bottom:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px;border-top:4px solid var(--ink)}
.card[hidden]{display:none}.card-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.card h3{margin:0}.card h3 a{text-decoration:none}.vendor{font:500 .75rem var(--mono);color:var(--mute)}.model{margin:0;font-size:.88rem;color:var(--ink2)}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.pill{font:600 .7rem/1 var(--mono);padding:5px 8px;border-radius:999px;border:1px solid}.pill-good{color:var(--v);border-color:#9fd0b5;background:#effaf3}.pill-mid{color:var(--c);border-color:#e6c48f;background:#fdf6ea}.pill-bad{color:#a3271a;border-color:#efb1a8;background:#fdf0ee}.pill-na{color:var(--ink2);border-color:var(--line);background:var(--paper)}
.mini{display:grid;gap:6px;margin:4px 0;font-size:.88rem}.mini div{display:grid;grid-template-columns:80px 1fr;gap:8px}.mini dt{font:600 .7rem/1.9 var(--mono);text-transform:uppercase;color:var(--mute)}.mini dd{margin:0}
.checked{font:500 .75rem var(--mono);color:var(--mute);margin:auto 0 0}.checked.big{font-size:.85rem;margin-top:10px}
.crumbs{font-size:.85rem;color:var(--mute);margin-bottom:14px}
.alert{background:#fdf0ee;border:1px solid #efb1a8;border-radius:10px;padding:10px 14px;color:#7c1d13}
.grid-tool{display:grid;gap:18px}.facts{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.th{font:600 .75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute);margin:0 0 8px}.facts-x{text-align:left;font:600 .75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute);padding:0 0 8px}.facts th,.facts td{padding:12px 14px;border-bottom:1px solid var(--paper2);vertical-align:top;text-align:left}
.facts th{width:34%;font:600 .78rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);background:#fbfaf6}.facts td{font-size:.95rem}
.claim,.note{border-radius:var(--r);padding:14px 16px;margin-bottom:16px}.claim{background:#fdf6ea;border:1px solid #e6c48f}.note{background:#eef3fb;border:1px solid #b9cbe8}.claim p,.note p{margin:.5em 0 0}
.srcs{padding-left:20px;margin:0;word-break:break-all;font-size:.85rem}.srcs li{margin-bottom:6px}.apiline{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}.cmp{border-collapse:collapse;min-width:900px;width:100%;font-size:.88rem}
.cmp th,.cmp td{padding:10px 12px;border-bottom:1px solid var(--paper2);text-align:left;vertical-align:top}.cmp thead th{background:var(--ink);color:var(--paper);font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.06em;position:sticky;top:0}
.cmp tbody th{position:sticky;left:0;background:#fbfaf6;min-width:150px;z-index:1;border-right:1px solid var(--line)}.cmp tbody th small{display:block;font:500 .7rem var(--mono);color:var(--mute)}.cmp tr.off{opacity:.65}.cmp .pill{white-space:nowrap;display:inline-block}
.plain{padding-left:20px}.plain li{margin-bottom:6px}
.qa{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;padding:0 16px}.qa summary{cursor:pointer;font:600 1.05rem var(--serif);padding:16px 0;list-style:none}.qa summary::after{content:"+";float:right;color:var(--rec);font-family:var(--mono)}.qa[open] summary::after{content:"−"}.qa p{margin:0 0 16px;color:var(--ink2)}
.prose{font-size:1.05rem}.prose h2{margin-top:1.6em}.prose p,.prose li{max-width:68ch}.prose ol,.prose ul{padding-left:22px}.prose li{margin-bottom:6px}.prose .scroll{margin:14px 0}
.day h2{font-size:1.15rem}
.foot{margin-top:48px;background:var(--ink);color:#c6c8cf;padding:34px 0}.foot-in{display:grid;gap:20px}.foot p{max-width:52ch;font-size:.92rem}.foot .small{color:#8d919c}.foot nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.foot nav a{color:#e6e7ea;text-decoration:none}.foot nav a:hover{color:var(--rec)}
@media (min-width:700px){.filters{position:sticky;top:92px;z-index:2}.stats{grid-template-columns:repeat(4,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:2fr 1fr 1fr auto auto;align-items:end}.grid2{grid-template-columns:1fr 1fr}.foot-in{grid-template-columns:2fr 1fr}.bars li{grid-template-columns:190px 1fr;align-items:center}.bars small{grid-column:2}}
@media (min-width:1000px){.menu{display:none}.nav-d{display:flex;gap:22px}.cards{grid-template-columns:repeat(3,1fr)}.grid-tool{grid-template-columns:1.6fr 1fr}.hero{padding:70px 0 50px}}