
:root{--fg:#14171c;--mut:#4b5563;--br:#d9dee5;--acc:#0f4c9c;--soft:#f4f6f9}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--fg);background:#fff}
.wrap{max-width:1100px;margin:0 auto;padding:0 1rem}
a{color:var(--acc)}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem;z-index:20}.skip:focus{left:.5rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header.top{border-bottom:1px solid var(--br)}
.bar{display:flex;flex-direction:column;gap:.3rem;padding-top:.6rem;padding-bottom:.4rem}
.logo{font-weight:700;font-size:1.15rem;color:var(--fg);text-decoration:none}
nav.main{display:flex;gap:1rem;overflow-x:auto;white-space:nowrap;padding-bottom:.2rem}
nav.main a{color:var(--fg);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent;font-size:.95rem}
nav.main a[aria-current]{border-color:var(--acc);font-weight:600}
@media(min-width:960px){.bar{flex-direction:row;align-items:center;justify-content:space-between}}
h1{font-size:1.7rem;line-height:1.2;margin:1rem 0 .5rem}h2{font-size:1.3rem;margin:2rem 0 .5rem}h3{font-size:1.1rem}
.lede{font-size:1.1rem;color:var(--mut);max-width:60rem}.crumb{font-size:.85rem;color:var(--mut);margin:.8rem 0 0}
.computed,.sub,.srcnote{font-size:.85rem;color:var(--mut)}.sub{display:block}
.srcnote{margin:.4rem 0 1rem}
.badge{display:inline-block;padding:.05rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid}
.c-high{background:#e3f4e8;color:#14532d;border-color:#9bd1ab}.c-medium{background:#fff4d6;color:#7a4a00;border-color:#e6c36b}.c-low{background:#fde8e8;color:#8a1c1c;border-color:#eba3a3}
.tw{overflow:auto;max-height:80vh;border:1px solid var(--br);border-radius:6px;margin:1rem 0;-webkit-overflow-scrolling:touch}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem}
table.wide{min-width:1300px}table.mid{min-width:900px}
.swipe{display:none;font-size:.85rem;color:var(--mut);margin:.3rem 0 -.6rem}
th,td{padding:.45rem .6rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--br)}
thead th{position:sticky;top:0;background:#e9eef5;z-index:1;white-space:nowrap}
tbody tr:nth-child(even){background:#fafbfc}
td.n{white-space:nowrap}.brk{overflow-wrap:anywhere}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1rem 0 .3rem}
.stats div{background:var(--soft);border:1px solid var(--br);border-radius:6px;padding:.7rem}
.stats b{display:block;font-size:1.6rem}.stats span{font-size:.85rem;color:var(--mut)}
@media(min-width:700px){.stats{grid-template-columns:repeat(5,1fr)}}
.cards{display:grid;gap:.75rem;grid-template-columns:1fr;margin:1rem 0}
.cards a{display:block;border:1px solid var(--br);border-radius:6px;padding:.9rem;text-decoration:none;color:var(--fg)}
.cards a:hover{border-color:var(--acc)}.cards b{display:block;color:var(--acc);margin-bottom:.2rem}
@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}
.callout{border-left:4px solid var(--acc);background:var(--soft);padding:.75rem 1rem;margin:1rem 0}
.aff-slot{border:2px dashed #9aa5b4;border-radius:6px;padding:.8rem 1rem;margin:1rem 0;color:var(--mut);font-size:.9rem;text-align:center}
.chart{display:block;width:100%;max-width:640px;height:auto;margin:.5rem 0}
.cl{font-size:14px;fill:#14171c}.cv{font-size:14px;font-weight:700;fill:#14171c}.cb{fill:#1f5fae}.ax{stroke:#9aa5b4;stroke-width:1}
.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin:1rem 0}
.filters label,.fld label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.2rem}
select,input,textarea,button{font:inherit;padding:.45rem .6rem;border:1px solid #8b95a5;border-radius:6px;background:#fff;color:var(--fg)}
.filters select{min-width:11rem;max-width:100%}
button{cursor:pointer;background:var(--acc);color:#fff;border-color:var(--acc)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:0;list-style:none}
.chips li{border:1px solid var(--br);border-radius:999px;padding:.15rem .7rem;background:var(--soft)}
.tiles{display:grid;grid-template-columns:repeat(11,1fr);gap:3px;max-width:560px;margin:1rem 0}
.tiles-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.7rem;border-radius:4px;background:#eef1f5;color:#4b5563}
.tile.on{background:var(--acc);color:#fff;font-weight:700}.tile.gap{background:none}
.fld{margin:.9rem 0}.fld input,.fld select,.fld textarea{width:100%;max-width:34rem}.fld small{display:block;color:var(--mut)}
details{margin:.5rem 0}summary{cursor:pointer;font-weight:600}
.foot{border-top:1px solid var(--br);margin-top:3rem;padding:1rem 0 2rem;font-size:.9rem;color:var(--mut)}
@media(max-width:640px){
.filters{flex-direction:column;align-items:stretch}.filters>div{width:100%}.filters select{width:100%;min-width:0}.filters button{width:100%}
.swipe{display:block}.tw{max-height:70vh}
table.wide,table.mid{font-size:.82rem}th,td{padding:.4rem .5rem}
table.wide td:first-child,table.wide th:first-child{position:sticky;left:0;background:#fff;z-index:2;box-shadow:1px 0 0 var(--br);max-width:9rem}
table.wide thead th:first-child{background:#e9eef5;z-index:3}
.tiles{gap:2px;min-width:330px}.tile{font-size:.68rem;font-weight:600}
h1{font-size:1.45rem}
}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
