:root{--paper:#fbfbfd;--ink:#14203a;--muted:#56607a;--rule:#d9dde8;--navy:#1b2f5e;--red:#b3192b;--tint:#eef1f8;--redtint:#fbecee;
--display:"Newsreader",Georgia,"Times New Roman",serif;--body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}
@media (prefers-color-scheme:dark){:root{--paper:#0f1626;--ink:#e7eaf2;--muted:#a2abc2;--rule:#2a3550;--navy:#9db4ec;--red:#f0707e;--tint:#18223a;--redtint:#2a1820;color-scheme:dark}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--body)}
.flag{height:6px;background:linear-gradient(to right,var(--red) 0 33.3%,var(--paper) 33.3% 66.6%,var(--navy) 66.6%)}
.topbar{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:5}
.topbar .in{max-width:46rem;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:0 1rem;flex-wrap:wrap}
.brand{font:700 1.05rem var(--display);color:var(--navy);text-decoration:none;padding:.7rem 0;margin-right:auto}
.brand span{color:var(--red)}
nav.tabs{display:flex;gap:.2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
nav.tabs a{font:600 .85rem var(--body);color:var(--muted);text-decoration:none;padding:.8rem .7rem;border-bottom:3px solid transparent;white-space:nowrap}
nav.tabs a:hover{color:var(--navy)}
nav.tabs a[aria-current="page"]{color:var(--navy);border-bottom-color:var(--red)}
.wrap{max-width:46rem;margin:0 auto;padding:2.2rem max(16px,env(safe-area-inset-right,0px)) 4rem max(16px,env(safe-area-inset-left,0px))}
.caption{font:500 .78rem/1.5 var(--mono);color:var(--muted);letter-spacing:.02em;border-block:1px solid var(--rule);padding-block:.7rem;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.caption b{color:var(--navy);font-weight:500}
.crumb{font:400 .8rem var(--mono);color:var(--muted)}
.crumb a{color:var(--muted)}
h1{font:700 clamp(2rem,6vw,3rem)/1.08 var(--display);letter-spacing:-.01em;margin:1.4rem 0 1rem;text-wrap:balance}
h1 em{font-style:normal;color:var(--red)}
.lede{font-size:1.18rem;line-height:1.55;margin:0 0 1.2rem;max-width:40rem}
.byline{font-size:.88rem;color:var(--muted);margin:0 0 2.2rem}
.byline strong{color:var(--ink)}
h2{font:600 1.65rem/1.2 var(--display);margin:3rem 0 .8rem;text-wrap:balance;color:var(--navy)}
h2 .n{font:500 .8rem var(--mono);color:var(--red);display:block;letter-spacing:.08em;margin-bottom:.3rem}
h3{font:700 1rem/1.35 var(--body);margin:1.6rem 0 .4rem}
p{margin:0 0 1rem;max-width:40rem}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--red)}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.cite{font:400 .76rem var(--mono);color:var(--muted);white-space:nowrap}
.tier{display:inline-block;font:600 .68rem/1 var(--body);letter-spacing:.09em;text-transform:uppercase;padding:.3rem .5rem;border-radius:3px;margin-right:.4rem;vertical-align:.12em}
.t-court{background:var(--navy);color:var(--paper)}
.t-gov{background:var(--tint);color:var(--navy);box-shadow:inset 0 0 0 1px var(--rule)}
.t-family{background:var(--redtint);color:var(--red)}
.key{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;font-size:.86rem;color:var(--muted);background:var(--tint);padding:1rem 1.1rem;border-radius:4px;margin:0 0 1rem}
.key p{margin:0;max-width:none}
.note{border-left:4px solid var(--navy);background:var(--tint);padding:.9rem 1.1rem;border-radius:0 4px 4px 0;font-size:.93rem;margin:1.2rem 0}
.note p{margin:0}
.tablewrap{overflow-x:auto;margin:1.2rem 0 1.4rem}
table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.93rem}
th,td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{font:600 .72rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--navy)}
td.amt{font:600 1.05rem var(--display);white-space:nowrap;color:var(--red);font-variant-numeric:tabular-nums}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
ol.clock{list-style:none;padding:0;margin:1.2rem 0;border-left:2px solid var(--rule)}
ol.clock li{position:relative;padding:.2rem 0 1.1rem 1.4rem}
ol.clock li::before{content:"";position:absolute;left:-7px;top:.55rem;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--navy)}
ol.clock li.hit::before{background:var(--red);border-color:var(--red)}
ol.clock .when{font:500 .78rem var(--mono);color:var(--muted);display:block}
ol.clock p{margin:.15rem 0 0}
blockquote{margin:1.4rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--red);font:500 1.2rem/1.45 var(--display);max-width:38rem}
blockquote footer{font:400 .76rem var(--mono);color:var(--muted);margin-top:.5rem}
.status{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:1.2rem 0}
.status div{background:var(--paper);padding:1rem}
.status .k{font:600 .7rem var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.status .v{font:600 1.05rem/1.35 var(--display);margin-top:.3rem}
.status .v.open{color:var(--red)}
.act{background:var(--navy);color:var(--paper);border-radius:4px;padding:1.6rem 1.4rem;margin:3rem 0 0;scroll-margin-top:4rem}
.act h2{color:var(--paper);margin-top:0}
.act p,.act a{color:var(--paper)}
.act a{font-weight:600}
.act ul{margin:.4rem 0 1rem;padding-left:1.1rem}
.act li{margin:.35rem 0}
.tags{font:400 .8rem var(--mono);opacity:.85;word-spacing:.3rem}
.sources{font-size:.85rem;color:var(--muted)}
.sources li{margin:.3rem 0}
.letter{background:var(--tint);border:1px solid var(--rule);border-radius:4px;padding:1.1rem 1.2rem;margin:1rem 0;font-size:.95rem;white-space:pre-wrap;max-width:40rem}
.btnrow{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0 1.2rem}
.btn{font:600 .9rem var(--body);background:var(--red);color:#fff;border:0;border-radius:4px;padding:.65rem 1rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{filter:brightness(1.08);color:#fff}
.btn.ghost{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.btn.ghost:hover{color:var(--red);box-shadow:inset 0 0 0 1.5px var(--red)}
.asks{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin:1rem 0}
.asks div{border-top:3px solid var(--red);padding-top:.6rem}
.asks h3{margin:0 0 .3rem}
.asks p{font-size:.93rem;margin:0}
.champion{border:2px solid var(--red);border-radius:4px;padding:1.3rem 1.3rem .4rem;margin:1.4rem 0}
.champion h2{margin-top:0}
.faq details{border-bottom:1px solid var(--rule);padding:.8rem 0}
.faq summary{font:600 1.02rem var(--body);cursor:pointer}
.faq details p{margin:.6rem 0 0}
.cards{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);margin:1rem 0 1.4rem}
.card{background:var(--paper);padding:1rem 1.1rem}
.card .meta{font:500 .74rem var(--mono);color:var(--muted);letter-spacing:.03em}
.card .meta b{color:var(--red);font-weight:500;text-transform:uppercase}
.card h3{font:600 1.2rem/1.3 var(--display);margin:.25rem 0 .35rem}
.card h3 a{text-decoration:none;color:var(--ink)}
.card h3 a:hover{color:var(--red)}
.card p{font-size:.93rem;color:var(--muted);margin:0}
.tablist{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.4rem 0 .4rem}
.tablist button{font:600 .85rem var(--body);background:var(--tint);color:var(--navy);border:0;border-radius:999px;padding:.5rem .95rem;cursor:pointer}
.tablist button[aria-selected="true"]{background:var(--navy);color:var(--paper)}
.points{padding-left:1.2rem}
.points li{margin:.4rem 0}
.applies{border:2px solid var(--navy);border-radius:4px;padding:1.1rem 1.2rem .3rem;margin:1.8rem 0}
.applies h2{margin:0 0 .6rem;font-size:1.3rem}
footer.end{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:.82rem;color:var(--muted)}
footer.end p{max-width:none}