:root{--bg:#eff1f5;--surface:#e6e9ef;--crust:#dce0e8;--text:#4c4f69;--muted:#6c6f85;--line:#ccd0da;--accent:#7287fd;--accent-strong:#5a6fe8;--accent-soft:#e3e7fc;--warn:#df8e1d;--radius:8px;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--cat-food:#fe640b;--cat-health:#1e66f5;--cat-family-youth:#df8e1d;--cat-mental-health:#8839ef;--cat-recovery:#40a02b;--cat-lgbtq:#ea76cb;--cat-housing:#209fb5;--cat-veterans:#179299;--cat-crisis:#d20f39;--cat-legal:#e64553;--cat-financial:#dd7878;--cat-seniors:#04a5e5;--cat-mutual-aid:#dc8a78;--cat-reentry:#7c7f93;--cat-other:#9ca0b0}*{box-sizing:border-box}html{color-scheme:light}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;line-height:1.55}.wrap{max-width:62rem;margin:0 auto;padding:0 1rem}a{color:var(--accent-strong);font-weight:500}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}header.site{border-bottom:1px solid var(--line);background:var(--surface);padding:.8rem 0}header.site .wrap{flex-wrap:wrap;align-items:baseline;gap:1.2rem;display:flex}header.site .brand{letter-spacing:.04em;color:var(--text);font-weight:700;text-decoration:none}header.site nav{gap:1rem;display:flex}header.site nav a{color:var(--muted);text-decoration:none}header.site nav a:hover{color:var(--accent)}footer.site{border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding:1.2rem 0 2rem;font-size:.85rem}h1{margin:1.4rem 0 .6rem;font-size:1.6rem}h2{margin:1.6rem 0 .5rem;font-size:1.15rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:.6rem 0;padding:.9rem 1rem}.card h3{margin:0 0 .2rem;font-size:1rem}.card .meta{color:var(--muted);font-size:.88rem}.chip{background:var(--accent-soft);color:var(--accent-strong);border-radius:99px;margin-right:.3rem;padding:.05rem .6rem;font-size:.78rem;display:inline-block}.chip.cat{background:color-mix(in srgb, var(--cat) 14%, var(--bg));color:color-mix(in srgb, var(--cat) 55%, var(--text))}h2.cat{border-left:4px solid var(--cat);padding-left:.5rem}.usmap path{fill:var(--surface);stroke:var(--accent);stroke-width:.8px}.usmap a:hover path,.usmap a:focus-visible path{fill:var(--accent-soft)}.state-map path.outline{fill:var(--surface);stroke:var(--accent);stroke-width:1px}.state-map circle{fill:var(--dot,var(--accent));fill-opacity:.7;stroke:var(--bg);stroke-width:1px}.choropleth path{stroke:var(--line);stroke-width:.6px}.choropleth a:hover path,.choropleth a:focus-visible path{stroke:var(--text);stroke-width:1.2px}.choropleth-legend .swatch{vertical-align:text-bottom;border-radius:3px;width:.85rem;height:.85rem;margin:0 .2rem 0 .6rem;display:inline-block}.state-map a:hover circle,.state-map a:focus-visible circle{fill:var(--accent-strong);fill-opacity:1}.donut{flex-wrap:wrap;align-items:center;gap:1.4rem;display:flex}.donut .legend{min-width:15rem;font-size:.88rem}.donut .legend li{margin:.15rem 0;list-style:none}.donut .legend ul{margin:0;padding:0}.donut .swatch{vertical-align:baseline;border-radius:3px;width:.7rem;height:.7rem;margin-right:.45rem;display:inline-block}.donut .center-n{fill:var(--text);font-size:1.3rem;font-weight:700}.donut .center-l{fill:var(--muted);font-size:.55rem}.stat-row{flex-wrap:wrap;gap:1rem;margin:1rem 0;display:flex}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:8rem;padding:.7rem 1.1rem}.stat .n{font-size:1.5rem;font-weight:700}.stat .l{color:var(--muted);font-size:.82rem}.cols{columns:3 14rem}.cols a{padding:.1rem 0;text-decoration:none;display:block}table{border-collapse:collapse;width:100%}.table-scroll{overflow-x:auto}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.4rem .6rem}.crisis-band{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);margin:1rem 0;padding:.7rem 1rem}@media print{header.site nav,.usmap,.state-map,.donut,#day-filter,form[role=search],.stat-row,details{display:none!important}body{color:#000;background:#fff}.card{break-inside:avoid;border:1px solid #999}.chip{border:1px solid #999;color:#000!important;background:0 0!important}a{color:#000;font-weight:600;text-decoration:none}.card h3 a[href^=http]:after{content:" (" attr(href) ")";word-break:break-all;font-size:.75em;font-weight:400}footer.site{border-top:1px solid #999}}
