:root{--bg:#fbfaf7;--fg:#1d2330;--muted:#5b6475;--line:#e3e0d8;--card:#fff;--accent:#1f4fd1;--accent-2:#0e2f8a;--soft:#eef2fd;--warn:#8a5a00;--na:#9aa1ad;
--font:system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
@media (prefers-color-scheme:dark){:root{--bg:#12151c;--fg:#e8eaf0;--muted:#a3abba;--line:#2a303c;--card:#1a1e27;--accent:#8fb0ff;--accent-2:#bcd0ff;--soft:#1c2540;--warn:#e5b45a;--na:#6c7482}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--font)}
a{color:var(--accent)}a:hover{color:var(--accent-2)}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:9}
.mast{border-bottom:1px solid var(--line);background:var(--card)}
.mast .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;flex-wrap:wrap}
.brand{font:700 20px/1 var(--serif);color:var(--fg);text-decoration:none}
.mast nav{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}
.mast nav a{color:var(--muted);text-decoration:none}.mast nav a[aria-current]{color:var(--fg);font-weight:600}
main{padding:24px 16px 48px}
h1{font:700 clamp(28px,4vw,40px)/1.15 var(--serif);margin:8px 0 12px}
h2{font:700 22px/1.3 var(--serif);margin:36px 0 12px}
.lede{font-size:18px;color:var(--muted);max-width:760px}
.crumbs{font-size:13px;color:var(--muted)}.crumbs a{color:var(--muted)}
.quick{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:20px 0}
.quick h2{margin-top:4px}
.quick dl{margin:0;display:grid;gap:10px}
.qa{display:grid;grid-template-columns:220px 1fr;gap:12px;border-top:1px solid var(--line);padding-top:10px}
.qa:first-child{border-top:0;padding-top:0}
.qa dt{font-weight:600}.qa dd{margin:0}
.cite,.src{font-size:13px;color:var(--muted)}
.verified{font-size:13px;color:var(--muted);margin:12px 0 0}
.statute{font-size:14px}
.toc{font-size:14px;margin:16px 0;color:var(--muted)}
table{border-collapse:collapse;width:100%}
.rules th,.rules td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}
.rules th{width:220px;font-weight:600}
.note{font-size:14px;color:var(--warn);margin-top:4px}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.cmp{font-size:14px;min-width:640px}
.cmp caption{text-align:left;padding:10px 12px;font-weight:600}
.cmp th,.cmp td{text-align:left;vertical-align:top;padding:10px 12px;border-top:1px solid var(--line)}
.cmp thead th{background:var(--soft);position:sticky;top:0}
.cmp td.na{color:var(--na);font-style:italic}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:20px 0}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--fg)}
.card b{display:block;margin-bottom:4px;color:var(--accent)}.card span{font-size:14px;color:var(--muted)}
.grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 16px}
.cols{columns:2 280px}
.steps li{margin-bottom:8px}
.county-list li{margin-bottom:6px}
.template{background:#fff;color:#111;border:1px solid var(--line);border-radius:8px;padding:20px 24px;max-width:760px;font-family:Georgia,serif}
.fed{border-left:4px solid var(--accent);padding-left:16px;margin:28px 0}
@media print{.mast,.foot,.crumbs,.disclaimer,.more,button,.note{display:none}.template{border:0}}
.tool{display:grid;gap:12px;max-width:620px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.tool label{display:grid;gap:4px;font-weight:600;font-size:14px}
.tool select,.tool input{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
.answer{font-size:18px;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 18px;max-width:820px}
.links{font-size:14px}
.faq{border:1px solid var(--line);border-radius:10px;background:var(--card);margin:8px 0}
.faq summary{cursor:pointer;padding:12px 16px;font-weight:600}
.faq div{padding:0 16px 14px}
.more{font-size:14px}
.disclaimer{margin-top:48px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.foot{border-top:1px solid var(--line);font-size:14px;color:var(--muted);padding:20px 0}
.foot .fl{margin-top:6px}.foot a{color:var(--muted)}
@media (max-width:640px){
  .qa{grid-template-columns:1fr;gap:2px}
  .rules th{width:auto;display:block;border-bottom:0;padding-bottom:0}.rules td{display:block}
  .cmp{min-width:0}.cmp thead{display:none}.cmp tr{display:block;border-top:1px solid var(--line);padding:8px 0}
  .cmp th,.cmp td{display:block;border:0;padding:4px 12px}
  .cmp td::before{content:attr(data-l);display:block;font-size:12px;font-weight:600;color:var(--muted)}
}
