@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Public+Sans:wght@400;500;600;700&family=Zilla+Slab:wght@600;700&display=swap');

:root{--paper:#e9ede6;--stock:#fbfcfa;--ink:#16201c;--soft:#56635c;--rule:#c8d1c4;--rule-light:#dfe5dc;--border:#285a86;--enforcement:#84334f;--temporary:#9a6117;--permanent:#2f664d;--accent:#a93424;--pad:clamp(1rem,4vw,2rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Public Sans",system-ui,sans-serif}a{color:inherit}.shell{width:min(68rem,100%);margin-inline:auto;padding-inline:var(--pad)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--ink);color:white;padding:.75rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--rule);background:rgba(251,252,250,.96);backdrop-filter:blur(10px)}.header-inner{min-height:4.2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-family:"Zilla Slab",serif;font-weight:700;font-size:1.05rem}.brand-mark{display:grid;place-items:center;width:2.1rem;height:2.1rem;background:var(--ink);color:var(--stock);font:600 .67rem "IBM Plex Mono",monospace;letter-spacing:.08em}.site-header nav{display:flex;gap:1.4rem}.site-header nav a{font-size:.84rem;font-weight:600;text-decoration:none;color:var(--soft)}.site-header nav a:hover{text-decoration:underline;color:var(--ink)}
.eyebrow{margin:0 0 .75rem;font:600 .72rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--soft)}h1,h2,h3{font-family:"Zilla Slab",Georgia,serif}h1{margin:0;max-width:12ch;font-size:clamp(2.05rem,4.4vw,3.25rem);line-height:1.02;letter-spacing:-.03em}h2{margin:0;font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.05;letter-spacing:-.02em}
.hero{background:var(--ink);color:var(--stock);padding:clamp(2.1rem,5vw,3.25rem) 0 clamp(2.6rem,5.5vw,4rem)}.hero ::selection{background:#3d5348;color:var(--stock)}.hero-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3.5rem;align-items:start;margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}.hero-copy{min-width:0}.hero .dek{max-width:54ch;margin:.8rem 0 0;font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.6;color:#c5d0c8}.updated-stamp{margin:0;padding-top:.15rem;text-align:right;min-width:11.5rem}.updated-stamp time{display:block;font:600 clamp(1.7rem,2.6vw,2.2rem) "IBM Plex Mono",monospace;letter-spacing:-.03em;line-height:1.05;color:var(--stock);font-variant-numeric:tabular-nums}.updated-stamp span{display:block;margin-top:.45rem;font:600 .7rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:#c5d0c8}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.section-heading>p{margin:0;max-width:38ch;color:var(--soft);font-size:.93rem;line-height:1.55}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #425049}.result-card{min-height:12.5rem;padding:1.4rem;display:flex;flex-direction:column;text-decoration:none;border-right:1px solid #425049;position:relative;transition:background .16s}.result-card:last-child{border-right:0}.result-card:before{content:"";position:absolute;left:1.4rem;right:1.4rem;top:0;height:3px;background:var(--cat)}.result-card:hover{background:#202c27}.result-card:focus-visible{outline:2px solid var(--stock);outline-offset:-2px}.result-value{font:600 clamp(2rem,4vw,3rem) "IBM Plex Mono",monospace;margin-top:1.1rem;font-variant-numeric:tabular-nums}.result-label{font-size:.9rem;line-height:1.45;margin-top:.6rem}.result-date{margin-top:auto;padding-top:1rem;color:#aebbb4;font:500 .7rem "IBM Plex Mono",monospace}.border{--cat:var(--border)}.enforcement{--cat:var(--enforcement)}.temporary{--cat:var(--temporary)}.permanent{--cat:var(--permanent)}
.categories{padding-block:clamp(3.5rem,7vw,6rem)}.section-heading.compact>p{color:var(--soft)}.text-button{border:0;background:none;padding:.5rem 0;color:var(--ink);font:600 .82rem "IBM Plex Mono",monospace;cursor:pointer}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.category-card{text-align:left;min-height:13rem;padding:1.4rem;border:1px solid var(--rule);background:var(--stock);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;position:relative;transition:transform .16s,border-color .16s}.category-card:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;background:var(--cat)}.category-card:hover{transform:translateY(-2px);border-color:#89958d}.category-top{display:flex;justify-content:space-between;gap:1rem;font:700 1.25rem "Zilla Slab",serif}.category-top b{font:600 .78rem "IBM Plex Mono",monospace;border:1px solid var(--rule);padding:.25rem .45rem}.category-copy{max-width:43ch;margin-top:1rem;color:var(--soft);font-size:.91rem;line-height:1.55}.category-link{margin-top:auto;padding-top:1rem;font:600 .72rem "IBM Plex Mono",monospace}
.ledger{padding-bottom:6rem}.ledger-heading{border-top:3px solid var(--ink);padding-top:1.3rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}.showing{font:500 .72rem "IBM Plex Mono",monospace;color:var(--soft)}.controls{margin-top:1.5rem;padding:1rem;background:var(--stock);border:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:1rem}.filter-row{display:flex;flex-wrap:wrap;gap:.4rem}.filter-row button{border:1px solid var(--rule);background:transparent;color:var(--soft);padding:.55rem .7rem;font-size:.75rem;font-weight:600;cursor:pointer}.filter-row button span{font-family:"IBM Plex Mono",monospace;margin-left:.35rem}.filter-row button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.search-sort{display:flex;gap:.5rem}.search-sort input,.search-sort select{height:2.35rem;border:1px solid var(--rule);background:white;color:var(--ink);padding:0 .7rem;font:500 .78rem "Public Sans",sans-serif}.search-sort input{width:12rem}.entry-list{margin-top:2rem}.entry{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1.5rem;border-top:1px solid var(--rule);padding:2.2rem 0 3rem;scroll-margin-top:6rem}.entry-index{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;color:var(--soft);font:500 .72rem "IBM Plex Mono",monospace}.entry-index i{display:block;width:2.2rem;height:4px;background:var(--cat)}.entry-body{min-width:0;max-width:58rem}.entry-meta{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem;font:500 .71rem "IBM Plex Mono",monospace;color:var(--soft)}.category-label{color:var(--cat);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.entry h3{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.08;margin:0;max-width:28ch}.summary{max-width:66ch;font-size:1.08rem;line-height:1.58;margin:.8rem 0;color:#2f3c35}.detail{max-width:70ch;line-height:1.67;color:var(--soft);font-size:.94rem}.entry-metric{margin:1.2rem 0;display:flex;align-items:baseline;gap:.8rem}.entry-metric b{font:600 1.65rem "IBM Plex Mono",monospace;color:var(--cat)}.entry-metric span{font-size:.82rem;color:var(--soft)}.status-note{max-width:48rem;margin:1.2rem 0;padding:.85rem 1rem;border-left:3px solid var(--rule);background:var(--stock)}.status-note span{font:600 .68rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}.status-note p{margin:.35rem 0 0;font-size:.88rem;line-height:1.5}.chart-frame{max-width:48rem;margin:1.5rem 0 .75rem;padding:.45rem;border:1px solid var(--rule);background:white}.chart-frame img{display:block;width:100%;height:auto}.chart-frame img+img{margin-top:.45rem}.sources{max-width:48rem;border-block:1px solid var(--rule);margin-top:1rem}.sources summary{list-style:none;padding:.8rem 0;cursor:pointer;font:600 .73rem "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.05em}.sources summary::-webkit-details-marker{display:none}.sources summary:after{content:"+";float:right}.sources[open] summary:after{content:"−"}.sources summary span{color:var(--soft)}.sources>div{padding:0 0 .8rem;display:grid;gap:.35rem}.sources a{display:grid;grid-template-columns:9.5rem 1fr auto;gap:.7rem;align-items:baseline;text-decoration:none;padding:.55rem .65rem;background:var(--stock);font-size:.82rem}.sources a:hover{text-decoration:underline}.sources small{font:500 .65rem "IBM Plex Mono",monospace;text-transform:uppercase;color:var(--soft)}.sources b{font-weight:500}.empty{text-align:center;padding:5rem 1rem;border-top:1px solid var(--rule)}.empty h3{font-size:1.6rem;margin:0}.empty p{color:var(--soft)}.empty button{border:1px solid var(--ink);background:var(--ink);color:white;padding:.7rem 1rem;cursor:pointer}
.about-section{background:#dfe5dc;border-top:1px solid var(--rule);padding:4.5rem 0}.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem}.about-copy p{margin:0 0 1rem;max-width:66ch;color:#3e4b44;line-height:1.65;font-size:.94rem}.about-copy a{font-weight:600}footer{background:var(--stock);border-top:1px solid var(--rule)}footer .shell{min-height:4.5rem;display:flex;justify-content:space-between;align-items:center;color:var(--soft);font:500 .69rem "IBM Plex Mono",monospace}
@media(max-width:850px){.results-grid{grid-template-columns:repeat(2,1fr)}.result-card:nth-child(2){border-right:0}.result-card:nth-child(-n+2){border-bottom:1px solid #425049}.controls{align-items:stretch;flex-direction:column}.search-sort input{width:100%}.search-sort label:first-child{flex:1}.about-grid{grid-template-columns:1fr;gap:2rem}}
@media(max-width:720px){.hero-top{display:flex;flex-direction:column;gap:1.15rem}.updated-stamp{text-align:left;min-width:0;padding:0 0 1.15rem;border-bottom:1px solid #425049;order:-1}}
@media(max-width:620px){.site-header nav{display:none}h1{font-size:2.2rem;max-width:none}.section-heading{align-items:flex-start;flex-direction:column}.results-grid,.category-grid{grid-template-columns:1fr}.result-card{min-height:10.5rem;border-right:0;border-bottom:1px solid #425049}.result-card:last-child{border-bottom:0}.category-card{min-height:11rem}.ledger-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.filter-row{display:grid;grid-template-columns:repeat(2,1fr)}.search-sort{flex-direction:column}.search-sort input,.search-sort select{width:100%}.entry{grid-template-columns:1fr;gap:.75rem}.entry-index{flex-direction:row;align-items:center}.entry h3{max-width:none}.sources a{grid-template-columns:1fr auto}.sources small{grid-column:1/-1}.about-section{padding:3rem 0}footer .shell{align-items:flex-start;flex-direction:column;justify-content:center;gap:.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.category-card,.result-card{transition:none}}
