*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --paper:#f7f5f0;--ink:#1a1a1a;--muted:#6b6b6b;--rule:#e0d9ca;--rule-s:#cbc3b1;
  --accent:#15527a;--accent-h:#0f3d5c;--accent-s:rgba(21,82,122,.07);--tag-bg:#ece7dc;
  --flag:#8a5a1f;--flag-bg:#fdf6ec;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;
  --search-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");
}
html,body{min-height:100%;}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;}
main{flex:1;}
a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--rule-s);}
a:hover{color:var(--accent);text-decoration-color:var(--accent);}
::selection{background:rgba(21,82,122,.14);}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px;}

.hdr{border-bottom:1px solid var(--rule);flex:none;}
.hdr-in{max-width:1100px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;gap:14px;}
.wm{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.01em;text-decoration:none;color:var(--ink);white-space:nowrap;}
.hsrch{flex:1;max-width:440px;display:flex;}
.hsrch input{flex:1;font:inherit;font-size:14px;padding:7px 12px 7px 32px;border:1px solid var(--rule-s);border-right:none;border-radius:3px 0 0 3px;background:#fff var(--search-icon) no-repeat 10px center;background-size:14px;color:var(--ink);outline:none;}
.hsrch input::placeholder{color:#9a948a;}
.hsrch input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-s);}
.hsrch button{font-family:var(--mono);font-size:12px;padding:0 14px;border:1px solid var(--rule-s);border-radius:0 3px 3px 0;background:#fff;color:var(--muted);cursor:pointer;font-weight:600;}
.hsrch button:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.nav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap;}
.nav a{font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap;}
.nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.nav a.on{color:var(--ink);font-weight:600;}

.ft{border-top:1px solid var(--rule);margin-top:2.5rem;}
.ft-in{max-width:1180px;margin:0 auto;padding:18px 22px 32px;color:var(--muted);font-size:13px;line-height:1.65;}
.ft a{color:var(--muted);}
.ft-help{margin-top:10px;font-size:13px;}

.btn{display:inline-flex;align-items:center;gap:.45em;font-family:var(--sans);font-size:14px;font-weight:600;padding:.65em 1.1em;border-radius:3px;text-decoration:none;border:1px solid transparent;cursor:pointer;line-height:1;}
.bp{background:var(--accent);color:#fff;border-color:var(--accent);}
.bp:hover{background:var(--accent-h);color:#fff;}
.bs{background:transparent;color:var(--ink);border-color:var(--rule-s);}
.bs:hover{border-color:var(--ink);}

.pg{max-width:680px;margin:0 auto;padding:2.25rem 22px 3rem;}
.pg-w{max-width:560px;margin:0 auto;padding:2.25rem 22px 3rem;}
.pg-l{max-width:1100px;margin:0 auto;padding:1.75rem 22px 3rem;}
.back{font-size:14px;color:var(--muted);text-decoration:none;}
.back:hover{color:var(--ink);text-decoration:underline;}
.lead{font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--muted);margin-top:8px;}
.meta{font-size:13px;color:var(--muted);margin:.4rem 0 1.25rem;}
.meta b{font-family:var(--mono);font-weight:400;color:var(--ink);}
.topics a{color:var(--accent);text-decoration:none;font-size:14px;}
.topics a:hover{text-decoration:underline;}
.topics .sep{color:var(--rule-s);margin:0 7px;}

h1{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.01em;margin-bottom:6px;}
h2{font-family:var(--serif);font-size:18px;font-weight:600;margin-bottom:8px;}
.sub{font-size:15px;color:var(--muted);margin:0;}
.kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px;}
.tag{display:inline-block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;color:var(--ink);background:var(--tag-bg);border:1px solid var(--rule-s);padding:2px 7px;border-radius:3px;margin-left:6px;vertical-align:1px;}
.tag-topic{color:var(--accent);background:var(--accent-s);border-color:rgba(21,82,122,.18);}
.tag-posture{color:var(--flag);background:var(--flag-bg);border-color:rgba(138,90,31,.2);}
.tag-first{margin-left:0;}

.dl .row{display:grid;grid-template-columns:32% 1fr;gap:14px;padding:9px 0;}
.dl .row+.row{border-top:1px solid var(--rule);}
.dl dt{color:var(--muted);font-size:14px;}
.dl dd{margin:0;font-size:15px;}
.dl dd.m{font-family:var(--mono);font-size:14px;letter-spacing:.02em;}

.sibs{border:1px solid var(--rule);background:#fff;}
.sib{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-size:14px;transition:background .1s;}
.sib:last-child{border-bottom:none;}
.sib:hover{background:var(--accent-s);}
.sib .sl{font-family:var(--mono);font-size:12px;color:var(--muted);}

table.t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--rule);}
table.t th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule-s);background:var(--paper);}
table.t td{font-size:15px;padding:10px 12px;border-bottom:1px solid var(--rule);}
table.t tr:last-child td{border-bottom:none;}
table.t tbody tr{transition:background .08s;}
table.t tbody tr:hover{background:var(--accent-s);}
table.t td a{color:var(--ink);}
table.t td a:hover{color:var(--accent);}
table.t .m{font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap;}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.lsrch{display:flex;margin-bottom:1.5rem;}
.lsrch input{flex:1;font:inherit;font-size:15px;padding:10px 14px;border:1px solid var(--rule-s);border-right:none;border-radius:3px 0 0 3px;background:#fff;color:var(--ink);outline:none;}
.lsrch input::placeholder{color:#9a948a;}
.lsrch input:focus{border-color:var(--accent);}
.lsrch button{font-family:var(--mono);font-size:13px;padding:10px 18px;border:1px solid var(--rule-s);border-radius:0 3px 3px 0;background:#fff;color:var(--muted);cursor:pointer;font-weight:600;}
.lsrch button:hover{background:var(--accent);color:#fff;border-color:var(--accent);}

.search-status{font-size:13px;color:var(--muted);margin:0 0 1rem;}
.search-disclaimer{font-size:12px;color:var(--muted);margin-top:2rem;line-height:1.55;max-width:60ch;}
.search-results{border-top:1px solid var(--rule);}
.search-hit{padding:1.25rem 0;border-bottom:1px solid var(--rule);}
.search-hit-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:6px;}
.search-hit-title{font-size:20px;margin:0 0 8px;font-weight:600;}
.search-hit-title a{color:var(--ink);text-decoration:none;}
.search-hit-title a:hover{color:var(--accent);text-decoration:underline;}
.search-topics{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.search-label{font-weight:600;color:var(--muted);}
.search-lesson,.search-snippet{font-size:14px;line-height:1.6;margin:6px 0;color:var(--ink);}
.search-limits{font-size:13px;color:var(--muted);margin:10px 0 6px;line-height:1.5;}
.search-source{font-size:13px;margin:0;}
.search-source a{color:var(--accent);}
.search-empty{font-size:14px;color:var(--muted);padding:2rem 0;}
.search-filters{margin-bottom:1rem;}

.field{padding:16px 0;border-top:1px solid var(--rule);}
.field label.lbl{display:block;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;}
.field input[type=text],.field input[type=email],.field input[type=url],.field textarea{font:inherit;font-size:15px;width:100%;padding:10px 12px;border:1px solid var(--rule-s);border-radius:3px;background:#fff;color:var(--ink);outline:none;}
.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-s);}
.field .hint{font-size:13px;color:var(--muted);margin-top:4px;display:block;}
.field .radios{display:flex;flex-direction:column;gap:8px;}
.field .radios label{font-size:15px;display:flex;align-items:center;gap:8px;cursor:pointer;}
.field .radios input{accent-color:var(--accent);}

.stats{display:flex;gap:2rem;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:1.5rem;}
.stat-v{font-family:var(--mono);font-size:20px;font-weight:600;}
.stat-l{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}

.case-card{padding:18px 0;border-bottom:1px solid var(--rule);}
.case-card:first-child{padding-top:0;}
.case-card h3{font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:4px;}
.case-card h3 a{color:var(--ink);text-decoration:none;}
.case-card h3 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.case-meta{font-size:13px;color:var(--muted);margin-bottom:6px;}
.case-tags{display:flex;gap:6px;flex-wrap:wrap;}

.topic-card{padding:22px 0;border-bottom:1px solid var(--rule);}
.topic-card h3{font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:4px;}
.topic-card h3 a{color:var(--ink);text-decoration:none;}
.topic-card h3 a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.topic-card p{font-size:14px;color:var(--muted);line-height:1.55;max-width:52ch;}
.topic-count{font-family:var(--mono);font-size:12px;color:var(--accent);margin-top:8px;}

.boundary{border:1px solid var(--rule-s);background:#fff;padding:16px 18px;font-size:13px;color:var(--muted);line-height:1.65;margin-top:1.5rem;}

.src-link{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:14px;border-bottom:1px solid var(--rule);}
.src-link:last-child{border-bottom:none;}
.src-link a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}
.src-icon{width:14px;height:14px;background:var(--accent-s);border:1px solid rgba(21,82,122,.15);border-radius:2px;flex:none;}

.lesson{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--accent);padding:14px 18px;font-size:14px;color:var(--ink);line-height:1.6;margin-top:1rem;}

.gov-beta{background:var(--accent-s);border-bottom:1px solid rgba(21,82,122,.12);font-size:13px;color:var(--ink);}
.gov-beta-in{max-width:var(--w);margin:0 auto;padding:10px 20px;line-height:1.5;}
.gov-beta a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;}
.sidecar-note{font-size:14px;color:var(--muted);max-width:54ch;margin:16px auto 0;line-height:1.55;}
.sidecar-note a{color:var(--accent);}

.home{max-width:600px;margin:0 auto;text-align:center;padding-top:2.5rem;}
.home .mark{font-family:var(--serif);font-size:40px;font-weight:600;letter-spacing:-.02em;}
.home p.t{font-size:16px;color:var(--muted);margin-top:8px;}
.bigsrch{display:flex;margin:1.75rem 0 .75rem;}
.bigsrch input{flex:1;font:inherit;font-size:17px;padding:14px 16px 14px 46px;border:1px solid var(--rule-s);border-right:none;border-radius:4px 0 0 4px;background:#fff var(--search-icon) no-repeat 17px center;background-size:18px;color:var(--ink);outline:none;}
.bigsrch input::placeholder{color:#9a948a;}
.bigsrch input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-s);}
.bigsrch button{font-family:var(--mono);font-size:14px;padding:0 22px;border:1px solid var(--accent);border-radius:0 4px 4px 0;background:var(--accent);color:#fff;cursor:pointer;font-weight:600;}
.bigsrch button:hover{background:var(--accent-h);}
.eg{font-size:13px;color:var(--muted);}
.eg a{color:var(--accent);text-decoration:none;margin:0 2px;}
.eg a:hover{text-decoration:underline;}
.home .count{font-size:13px;color:var(--muted);margin-top:2rem;}
.home .browse{font-size:13px;color:var(--muted);margin-top:.5rem;}
.home .browse a{color:var(--accent);text-decoration:none;}
.home .browse a:hover{text-decoration:underline;}
.home .sidecar-note{margin-top:1.5rem;font-size:13px;color:var(--muted);max-width:52ch;margin-left:auto;margin-right:auto;line-height:1.55;}
.home .sidecar-note a{color:var(--accent);}
.hero{text-align:center;margin-top:2.5rem;margin-bottom:1.5rem;}
.hero h1{font-size:32px;}
.hero-lead{font-size:17px;color:var(--muted);max-width:52ch;margin:10px auto 0;line-height:1.55;}
.hero-note{font-size:13px;color:var(--rule-s);margin-top:12px;font-style:italic;}
.hero-actions{display:flex;gap:12px;justify-content:center;margin-bottom:2.5rem;flex-wrap:wrap;}
.res{display:grid;grid-template-columns:198px 1fr;gap:2.75rem;align-items:start;}
.facet{margin-bottom:1.6rem;}
.facet h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;margin-bottom:.55rem;}
.facet label{display:flex;align-items:center;gap:8px;font-size:14px;padding:3px 0;cursor:pointer;color:var(--ink);}
.facet label .fc{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted);}
.facet input{accent-color:var(--accent);flex:none;}
.facet label.off{color:var(--rule-s);cursor:default;}
.facet label.off .fc{color:var(--rule-s);}
.rhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:.5rem;flex-wrap:wrap;}
.rhead .rc{font-size:14px;color:var(--muted);}
.rhead .rc b{color:var(--ink);}
.rhead select{font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--rule-s);border-radius:3px;background:#fff;color:var(--ink);}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1rem;}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--accent-s);border:1px solid rgba(21,82,122,.18);color:var(--accent);padding:3px 8px;border-radius:3px;cursor:pointer;}
.chip .x{font-family:var(--mono);}
.r{padding:16px 14px;margin:0 -14px;border-bottom:1px solid var(--rule);transition:background .08s;}
.r:last-child{border-bottom:none;}
.r:hover{background:var(--accent-s);}
.r .cap{font-family:var(--serif);font-size:17px;color:var(--ink);text-decoration:none;display:block;}
.r .cap:hover{color:var(--accent);text-decoration:underline;}
.r .rm{font-size:13px;color:var(--muted);margin:3px 0 6px;}
.r .snip{font-size:14px;color:#3a3a3a;line-height:1.55;max-width:72ch;}
.r .rlimits{font-size:13px;color:var(--muted);margin:8px 0 4px;line-height:1.5;}
.r .rsource{font-size:13px;margin:0;}
.r .rsource a{color:var(--accent);}
.r .matchnote{font-size:12px;color:var(--muted);margin-top:5px;}
.r .rec-q{font-size:14px;line-height:1.55;margin:6px 0;color:var(--ink);}
.r .rec-q .search-label{font-weight:600;color:var(--muted);}
mark{background:var(--accent-s);color:inherit;padding:0 1px;border-radius:2px;}
.empty{text-align:center;padding:2.5rem 0;}
.empty .h{font-size:16px;color:var(--ink);}
.empty p{color:var(--muted);font-size:14px;max-width:470px;margin:.4rem auto 0;}
.list{border-top:1px solid var(--rule);}
.list a{display:flex;align-items:baseline;justify-content:space-between;padding:11px 14px;margin:0 -14px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-size:15px;transition:background .08s;}
.list a:hover{color:var(--accent);background:var(--accent-s);}
.list a .n{font-family:var(--mono);font-size:13px;color:var(--muted);}
.actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;}
.actions a{font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--rule-s);}
.actions a:hover{color:var(--accent);}
.note{font-size:13px;color:var(--muted);line-height:1.65;border-top:1px solid var(--rule);margin-top:2rem;padding-top:1rem;}
.feed{border-top:1px solid var(--rule);margin-top:.6rem;}
.feed .fr{display:flex;gap:12px;align-items:baseline;padding:10px 2px;border-bottom:1px solid var(--rule);font-size:14px;}
.feed .fr:last-child{border-bottom:none;}
.feed .ft-t{flex:none;width:118px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.feed .fd{font-family:var(--mono);font-size:12px;color:var(--rule-s);margin-left:auto;flex:none;}
.btn svg{width:14px;height:14px;}
h2.q{font-family:var(--serif);font-size:18px;font-weight:400;font-style:italic;margin:2.25rem 0 .6rem;}
.tag.in{margin-left:6px;vertical-align:1px;}

.filters{display:flex;gap:10px;margin-bottom:1.5rem;flex-wrap:wrap;font-size:13px;color:var(--muted);align-items:center;}
.filters select{font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--rule-s);border-radius:3px;background:#fff;color:var(--ink);cursor:pointer;}

.section-italic h2{font-style:italic;font-weight:400;}
.lead-serif{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--muted);margin-top:8px;}
.topic-list{border-top:1px solid var(--rule);}
.case-list{border-top:1px solid var(--rule);margin-top:8px;}
.src-list{border-top:1px solid var(--rule);margin-top:8px;}
.src{border-top:1px solid var(--rule);margin-top:.4rem;}
.src a{display:block;padding:8px 14px;margin:0 -14px;font-size:14px;border-bottom:1px solid var(--rule);color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:background .08s;}
.src a:hover{background:var(--accent-s);}
.src a:last-child{border-bottom:none;}
.disputed-list{font-size:15px;color:var(--ink);line-height:1.8;padding-left:18px;margin-top:8px;}

@media(max-width:720px){
  .hdr-in{padding-left:18px;padding-right:18px;}
  .pg,.pg-w,.pg-l{padding-left:18px;padding-right:18px;}
  .nav{display:none;}
  .home{padding-top:2rem;}
  .home .mark{font-size:32px;}
  .res{grid-template-columns:1fr;gap:1.5rem;}
  .res>div{order:1;}
  .res>aside#search-facets,.res>aside.facets{order:2;border-top:1px solid var(--rule);padding-top:1.25rem;}
  .res>aside#search-facets::before,.res>aside.facets::before{content:"Refine results";display:block;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;}
  .facet label{padding:7px 0;}
  .tscroll table.t{min-width:560px;}
  .feed .ft-t{width:auto;}
  .feed .fd{margin-left:0;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}}
@media(max-width:640px){
  .hdr-in{padding:12px 18px;}
  .wm{font-size:18px;}
  h1{font-size:24px;}
  .hero h1{font-size:24px;}
  .dl .row{grid-template-columns:1fr;gap:2px;padding:10px 0;}
  .sib{flex-direction:column;gap:2px;}
  .stats{flex-direction:column;gap:1rem;}
}
@media print{body{background:#fff;}.hdr{display:none;}table.t,.sibs{background:#fff;}}
