
:root{--fog:#EEF1EF;--paper:#fff;--pine:#17332D;--slate:#4D6A86;--blaze:#E9B824;--pass:#2F8A57;--fail:#B8432F;--line:#CFD8D4}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fog);color:var(--pine);font:15.5px/1.55 "Atkinson Hyperlegible",system-ui,sans-serif}
a{color:var(--slate);text-underline-offset:3px}a:hover{color:var(--pine)}
.filters{display:flex;flex-wrap:wrap;gap:10px 22px;margin:4px 0 14px;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.fg{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fl{font:700 11px/1 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-right:2px}.filters button{font:600 12.5px/1 Inter,system-ui,sans-serif;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--fog);color:var(--pine);cursor:pointer}.filters button:hover{border-color:var(--slate)}.filters button.on{background:var(--pine);color:#fff;border-color:var(--pine)}.more{display:flex;align-items:center;gap:12px;color:var(--slate);font-size:14px}#morebtn{font:600 13px Inter,system-ui,sans-serif;padding:7px 14px;border-radius:8px;border:1px solid var(--pine);background:var(--paper);color:var(--pine);cursor:pointer}
.bdg{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 4px}.b{font:600 10.5px/1 Inter,system-ui,sans-serif;padding:3px 7px;border-radius:5px;border:1px solid var(--line);color:var(--slate);background:var(--fog);white-space:nowrap}.b.mcp{background:#E8EEF6;border-color:#C5D3E6;color:#2C4A6E}.b.plug{background:#F1E9FA;border-color:#D9C6EE;color:#5B3A86}.b.off{background:#FFF6DA;border-color:#EBCB6B;color:#7A5A00}.b.ver{background:#E6F4EC;border-color:#B5DCC4;color:#21673F}.b.pub{background:#fff}.b.live{background:#E6F4EC;border-color:#9FD3B2;color:#1E7A45}.b.auth{background:#FFF1E0;border-color:#F0C88F;color:#8A5300}.b.down{background:#FBE9E6;border-color:#EDB9AE;color:#9A3422}
.acts{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.chip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:78px;height:22px;gap:4px;padding:0 8px;border-radius:999px;font:600 12px/1 Inter,system-ui,sans-serif;text-decoration:none;white-space:nowrap;border:1px solid;transition:transform .15s,box-shadow .15s,background .15s}.chip svg{width:12px;height:12px;flex:none}.chip:hover{transform:translateY(-1px)}.src{color:var(--slate);border-color:var(--line);background:var(--paper)}.src svg{fill:none;stroke:currentColor;stroke-width:2.4}.src:hover{color:var(--pine);border-color:var(--slate);box-shadow:0 2px 6px rgba(23,51,45,.12)}.fund{color:#9E1F4E;border-color:#F2B8C9;background:linear-gradient(135deg,#FFF4D6,#FFE3EC)}.fund svg{fill:#E0457B;transition:transform .2s}.fund:hover{color:#7A1239;box-shadow:0 3px 10px rgba(224,69,123,.25)}.fund:hover svg{transform:scale(1.2)}
.crumb{font-size:14px;margin:28px 0 -32px;color:var(--slate)}.crumb a{text-decoration:none;font-weight:700}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.cat{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--pine);border-radius:8px;padding:16px 18px}
.cat h3 a{text-decoration:none;color:var(--pine)}.cat .cnt{color:var(--slate);font-size:13px;margin:4px 0 10px}
.cat ul{list-style:none;margin:0;padding:0;font-size:14px}.cat li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-top:1px dashed var(--line)}
.cat li a{text-decoration:none;color:var(--pine)}.cat li a:hover{text-decoration:underline}.cat li span{color:var(--slate);font-variant-numeric:tabular-nums;white-space:nowrap}
.plats{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.plats button{font:600 12.5px/1 Inter,system-ui,sans-serif;padding:6px 10px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--pine);cursor:pointer}
.plats button span{color:var(--slate);font-weight:500;margin-left:4px}.plats button.on{background:var(--blaze);border-color:#C99A0A}
:focus-visible{outline:3px solid var(--blaze);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}
.brand{font:900 28px/1 "Big Shoulders Display",sans-serif;color:var(--pine);text-decoration:none;display:flex;align-items:center;gap:10px}
.brand i{display:inline-block;width:12px;height:30px;background:var(--blaze);border-radius:2px}
nav a{margin-left:20px;text-decoration:none;font-weight:700}
h1,h2,h3{font-family:"Big Shoulders Display",sans-serif;line-height:.95;margin:0}
h1{font-size:clamp(42px,7.5vw,80px);font-weight:900;max-width:12ch;margin:56px 0 24px}
h2{font-size:34px;font-weight:800;margin:56px 0 16px}
h3{font-size:22px;font-weight:800}
p.lede{font-size:18px;max-width:60ch;margin:0 0 24px}
form.pack{display:flex;gap:10px;flex-wrap:wrap;max-width:860px}
form.pack input{flex:1 1 300px;min-width:0;font:inherit;font-size:17px;padding:14px 16px;border:2px solid var(--pine);border-radius:6px;background:var(--paper);color:var(--pine)}
form.pack button,.btn{font:700 16px/1 "Atkinson Hyperlegible",sans-serif;padding:15px 20px;border:0;border-radius:6px;background:var(--pine);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
.examples{margin:12px 0 0;color:var(--slate);font-size:14px}.examples button{font:inherit;background:none;border:0;color:var(--slate);text-decoration:underline;cursor:pointer;padding:0 6px 0 0}
.kit{margin:28px 0 0;border-left:10px solid var(--blaze);background:var(--paper);padding:8px 0;max-width:860px}
.kit[hidden]{display:none}
.kit h3{padding:12px 22px 4px}
.kit .note{padding:0 22px 8px;color:var(--slate);font-size:15px}
.item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:14px 22px;border-top:1px solid var(--line)}
.item .box{width:20px;height:20px;border:2px solid var(--pine);border-radius:3px;margin-top:4px}
.item b{font-size:16.5px}.item p{margin:2px 0 6px}
code{font:13px/1.4 ui-monospace,Consolas,monospace;background:#F4F6F5;border:1px solid var(--line);padding:3px 6px;border-radius:4px;word-break:break-all}
.trails{list-style:none;margin:0;padding:0;border-top:2px solid var(--pine)}
.trails li a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--pine)}
.trails li a:hover{background:var(--paper)}
.trails .t{font:800 22px/1.1 "Big Shoulders Display",sans-serif}.trails .c{color:var(--slate);font-variant-numeric:tabular-nums;align-self:center}
.trails .d{grid-column:1/-1;color:var(--slate);font-size:14px}
.cols{display:grid;grid-template-columns:300px 1fr;gap:40px;margin-top:24px}
aside.notes{font-size:14px;color:var(--slate)}aside.notes h3{color:var(--pine);margin:0 0 8px}
table{width:100%;border-collapse:collapse;background:var(--paper);font-size:14px}
th{text-align:left;font-weight:700;padding:10px 12px;border-bottom:2px solid var(--pine);white-space:nowrap}
td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
.state{font-size:12px;font-weight:700;white-space:nowrap}.state.untested{color:var(--slate)}.state.pass{color:var(--pass)}.state.fail{color:var(--fail)}
.draft{display:inline-block;font-size:13px;font-weight:700;background:var(--fog);border:1px solid var(--line);padding:2px 8px;border-radius:99px;margin-left:8px;vertical-align:middle}
footer{margin:72px 0 0;padding:24px 0 40px;border-top:1px solid var(--line);color:var(--slate);font-size:13px}
@media (max-width:760px){.cols{grid-template-columns:1fr}nav a{margin-left:12px}form.pack button{width:100%}.wrap{padding:0 16px}td,th{padding:8px}h2{font-size:28px}table .hide{display:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
