:root{--bg:#f7f5ee;--ink:#14181d;--mute:#5a6169;--line:#d9d5c7;--card:#fffdf7;--accent:#ffc531;--link:#0b4f8a;--bar:#e8b010}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#101419;--ink:#f1eee4;--mute:#a4a9ae;--line:#2b323a;--card:#171d24;--link:#7db8f0;--bar:#ffc531}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 ui-sans-serif,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
a{color:var(--link)}
.top{border-top:6px solid var(--accent);border-bottom:1px solid var(--line);background:var(--card)}
.hdr{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em;color:var(--ink);text-decoration:none;font-size:1.1rem}
.mark{width:22px;height:14px;background:var(--accent);border:2px solid var(--ink);border-radius:3px 7px 2px 2px;display:inline-block}
nav{display:flex;gap:18px}
nav a{color:var(--ink);text-decoration:none;font-weight:600;padding:8px 0;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--accent)}
main.wrap{padding-top:28px;padding-bottom:40px}
h1{font-size:clamp(1.7rem,5.2vw,2.5rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 16px;font-weight:800}
h2{font-size:1.35rem;margin:36px 0 10px;letter-spacing:-.01em;border-top:2px solid var(--ink);padding-top:10px}
.lede{font-size:1.15rem;color:var(--ink);max-width:62ch}
p,ul{max-width:68ch}
li{margin:6px 0}
.scroll{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:6px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);background:transparent;white-space:nowrap}
tbody tr:last-child>*{border-bottom:0}
tbody th{font-weight:600}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.nowrap{white-space:nowrap}
.barcell{position:relative;min-width:150px}
.barcell .fill{position:absolute;left:0;top:50%;height:60%;transform:translateY(-50%);background:var(--bar);opacity:.35;border-radius:0 3px 3px 0;display:block;padding:0}
.barcell span:not(.fill){position:relative}
.recalls td:last-child{min-width:280px}
.glance{max-width:520px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}
.stats div{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:6px;padding:12px 14px}
.stats b{display:block;font-size:1.8rem;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stats span{font-size:.85rem;color:var(--mute)}
.years{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;max-width:none}
.years li{margin:0;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:10px 14px;display:flex;flex-direction:column}
.years a{font-weight:800;font-size:1.25rem;text-decoration:none}
.years span{font-size:.85rem;color:var(--mute)}
.foot{border-top:1px solid var(--line);padding:18px 0 28px;color:var(--mute);font-size:.9rem;background:var(--card)}
.foot p{margin:6px 0}
@media (max-width:560px){.yeartable{font-size:.85rem}.yeartable th,.yeartable td{padding:8px 5px;white-space:normal}.yeartable .barcell{min-width:0}.yeartable thead th{font-size:.68rem;letter-spacing:.02em}.recalls thead{display:none}.recalls tr{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.recalls tbody tr:last-child{border-bottom:0}.recalls td{display:block;border:0;padding:2px 12px;white-space:normal}.recalls td:before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}.recalls td:last-child{min-width:0}body{font-size:16px}.stats{grid-template-columns:1fr}th,td{padding:8px 9px}}
