:root{--ink:#16202b;--muted:#5b6876;--line:#e3e8ee;--bg:#fff;--soft:#f5f7fa;--brand:#1d5fd1;--ok:#0f7a43;--warn:#a15c00;--no:#b42318;--max:1100px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;padding-bottom:12px}
.brand{font-weight:800;text-decoration:none;color:var(--ink);font-size:1.1rem}
.site-header nav{display:flex;flex-wrap:wrap;gap:16px;font-size:.95rem}
.site-header nav a{text-decoration:none;color:var(--muted)}
.site-header nav a:hover{color:var(--brand)}
.crumbs{font-size:.85rem;color:var(--muted);margin:16px 0 0}
.crumbs a{color:var(--muted)}
.content{max-width:820px}
.content.wide,.home .content{max-width:none}
h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.2;margin:18px 0 8px}
h2{font-size:1.4rem;margin-top:2.2rem;line-height:1.3}
h3{font-size:1.1rem}
.lede{font-size:1.15rem;color:#2b3947}
.meta,.muted{color:var(--muted)}
.small{font-size:.85rem}
.meta{font-size:.85rem}
.answer-box{border:1px solid var(--line);border-left:6px solid var(--muted);background:var(--soft);border-radius:10px;padding:16px 18px;margin:18px 0}
.answer-box.status-authorized{border-left-color:var(--ok)}
.answer-box.status-enacted_not_operational,.answer-box.status-unsure{border-left-color:var(--warn)}
.answer-box.status-not_enacted,.answer-box.status-not_authorized{border-left-color:var(--no)}
.answer-head{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline}
.answer-head .label{font-weight:600}
.verdict{font-weight:800;font-size:1.2rem}
.status-authorized .verdict{color:var(--ok)}
.status-enacted_not_operational .verdict,.status-unsure .verdict{color:var(--warn)}
.status-not_enacted .verdict,.status-not_authorized .verdict{color:var(--no)}
.answer-short{font-size:1.05rem;margin:.5rem 0}
.facts{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:6px 14px;margin:10px 0;font-size:.93rem}
.facts dt{font-weight:600;color:#2b3947}
.facts dd{margin:0}
.flag{background:#fff7e6;border:1px solid #f3d29a;border-radius:8px;padding:8px 10px;font-size:.9rem}
.src{font-size:.8rem;color:var(--muted)}
.table-scroll{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:10px}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
thead th{background:var(--soft);position:sticky;top:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em;color:#3a4856}
tbody tr:hover{background:#fafcff}
table.compare td:first-child{min-width:150px}
table.compare td:nth-child(5),table.compare td:nth-child(6){min-width:220px}
tr.status-authorized td:nth-child(2){color:var(--ok);font-weight:600}
tr.status-not_enacted td:nth-child(2),tr.status-not_authorized td:nth-child(2){color:var(--no);font-weight:600}
tr.status-unsure td:nth-child(2),tr.status-enacted_not_operational td:nth-child(2){color:var(--warn);font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:14px 0}
.card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff}
.card h3{margin:.1rem 0}
.card .price{font-weight:700;margin:.3rem 0}
.callout{background:#eef4ff;border:1px solid #cfe0ff;border-radius:10px;padding:12px 16px;margin:16px 0}
.faq details{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0;background:#fff}
.faq summary{font-weight:600;cursor:pointer}
.footnote{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);margin-top:2rem}
.footnote ol{padding-left:1.2rem}
sup a{text-decoration:none;font-size:.75em}
.site-footer{border-top:1px solid var(--line);margin-top:48px;padding:20px 0;background:var(--soft);font-size:.88rem;color:#3a4856}
ol li,ul li{margin:.25rem 0}
@media (max-width:720px){
  .facts{grid-template-columns:1fr}
  table.compare thead,table.states thead{display:none}
  table.compare tr,table.states tr{display:block;border-bottom:2px solid var(--line);padding:6px 0}
  table.compare td,table.states td{display:grid;grid-template-columns:110px 1fr;gap:8px;border:0;padding:6px 12px}
  table.compare td::before,table.states td::before{content:attr(data-l);font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase}
  .table-scroll{overflow:visible}
}
sup[id^="fnref"] a::before{content:"["}
sup[id^="fnref"] a::after{content:"]"}
h2[id],section[id],tr[id]{scroll-margin-top:70px}
@media (max-width:720px){.site-header{position:static}.site-header nav{gap:10px;font-size:.9rem}}
