/* Layout: single centered column — IRS first, then a searchable list of state trackers */
:root{
  --bg:#F4F6F8; --surface:#FFFFFF; --fg:#18222E; --muted:#5E6B78; --line:#DCE2E8;
  --accent:#0F6E6A; --accent-ink:#FFFFFF; --accent-soft:#E2F0EF; --navy:#1C3554;
  --font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0F151B; --surface:#17202A; --fg:#E6ECF1; --muted:#97A5B2; --line:#2A3642;
  --accent:#3FB5AE; --accent-ink:#06201F; --accent-soft:#16302F; --navy:#9EC0E6; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F151B; --surface:#17202A; --fg:#E6ECF1; --muted:#97A5B2; --line:#2A3642;
  --accent:#3FB5AE; --accent-ink:#06201F; --accent-soft:#16302F; --navy:#9EC0E6; color-scheme:dark}

img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}

body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.55}
.wrap{max-width:760px;margin:0 auto;padding-block:40px 56px;
  padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));
  display:flex;flex-direction:column;gap:28px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
h1{font-family:var(--font-display);font-size:clamp(30px,6vw,42px);line-height:1.1;margin:6px 0 10px;color:var(--navy);text-wrap:balance}
.lede{color:var(--muted);max-width:60ch;margin:0}
h2{font-family:var(--font-display);font-size:20px;margin:0;color:var(--navy)}

.irs{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;
  display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.irs .txt{min-width:0;flex:1 1 320px;display:flex;flex-direction:column;gap:4px}
.irs p{margin:0;color:var(--muted);font-size:14px}
.irs .need{color:var(--fg);font-weight:500}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);
  text-decoration:none;font-weight:600;font-size:14px;padding:10px 16px;border-radius:8px;white-space:nowrap}
.btn:hover{filter:brightness(1.08)}
.btn:focus-visible,.row a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.states{display:flex;flex-direction:column;gap:12px}
.head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}
.search{position:relative;flex:1 1 260px;max-width:340px}
.search label{display:block;margin-bottom:4px}
.search input{width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);
  border-radius:8px;background:var(--surface);color:var(--fg)}
.list{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.row{display:grid;grid-template-columns:150px 1fr auto;gap:6px 18px;padding:14px 18px;border-top:1px solid var(--line);align-items:center}
.row:first-child{border-top:0}
.row .st{font-weight:600}
.row .info{min-width:0;font-size:13.5px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.row .info b{color:var(--fg);font-weight:500}
.row a{color:var(--accent);font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
.row a:hover{text-decoration:underline}
.empty{padding:18px;color:var(--muted)}
.note{font-size:13.5px;color:var(--muted);background:var(--accent-soft);border-radius:10px;padding:14px 16px;margin:0}
footer{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:4px}
footer strong{color:var(--fg)}
@media (max-width:560px){
  .row{grid-template-columns:1fr auto}
  .row .info{grid-column:1 / -1;grid-row:2}
}
