/* law.css — reading + verification typography for the human statute view. */
:root{
  --ink:#1a1a1a; --muted:#5c6470; --line:#e3e6ea; --bg:#fbfbf9; --paper:#fff;
  --accent:#7a1f2b;            /* legal maroon */
  --verify:#0b5d3b; --verify-bg:#e8f4ee;
  --aid:#8a5a00; --aid-bg:#fdf6e3; --aid-line:#e8d9a8;
  --max:46rem;
}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  line-height:1.6;-webkit-text-size-adjust:100%}
a{color:var(--accent);text-underline-offset:2px}
.muted{color:var(--muted)}
code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}

/* top bar + search */
.topbar{position:sticky;top:0;z-index:20;display:flex;gap:1rem;align-items:center;
  padding:.55rem 1rem;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{font-weight:700;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand span{color:var(--muted);font-weight:400}
.search{display:flex;flex:1;min-width:240px;gap:.4rem}
.search input{flex:1;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;
  font:inherit;font-size:.95rem;background:#fff}
.search input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.search button{padding:.5rem .9rem;border:1px solid var(--accent);background:var(--accent);color:#fff;
  border-radius:8px;font:inherit;cursor:pointer}

/* layout */
main{max-width:var(--max);margin:0 auto;padding:1.4rem 1.1rem 4rem}
main.wide{max-width:64rem}
.loading{color:var(--muted);padding:2rem 0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem;margin:1rem 0}
h1{font-size:1.6rem;line-height:1.25;margin:.2rem 0 .6rem}
h2.chapter-title{font-size:1.3rem;margin:.1rem 0 .3rem;color:var(--accent)}

/* breadcrumb + cite header */
.crumbs{font-size:.85rem;color:var(--muted);margin:.2rem 0 .6rem}
.crumbs a{color:var(--muted)}
.cite-head{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin:.1rem 0 .2rem}
.cite-head .cite{font-weight:700;font-size:1.05rem}
.copybtn{font:inherit;font-size:.78rem;border:1px solid var(--line);background:#fff;border-radius:6px;
  padding:.1rem .45rem;cursor:pointer;color:var(--muted)}
.copybtn:hover{border-color:var(--accent);color:var(--accent)}

/* provenance / verify bar — the hero of the verification view */
.provenance{display:flex;gap:.6rem 1rem;flex-wrap:wrap;align-items:center;
  background:var(--verify-bg);border:1px solid #cfe6da;border-left:4px solid var(--verify);
  border-radius:8px;padding:.55rem .8rem;margin:.7rem 0 1.1rem;font-size:.85rem}
.provenance .verify{font-weight:700;color:var(--verify);text-decoration:none;white-space:nowrap}
.provenance .verify:hover{text-decoration:underline}
.provenance .meta{color:#34603f}
.provenance .hash{cursor:copy}
.stale{background:#fbe8e6;border-color:#e7b9b0;border-left-color:#b3402d}
.stale .meta{color:#7a2c20}

/* verbatim statute body */
.statute{margin-top:.4rem}
.statute .struct{color:var(--muted);font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;margin:.3rem 0}
.statute .struct.big{color:var(--ink);font-size:1.08rem;font-weight:700;text-transform:none;letter-spacing:0;margin:.7rem 0 .2rem}
.statute section{padding-top:.6rem;margin-top:.6rem;border-top:1px solid var(--line)}
.statute section:first-of-type{border-top:0}
.sec-h{font-weight:700;margin:.1rem 0 .35rem;scroll-margin-top:4rem}
.sec-h .anchor{font-weight:400;color:var(--muted);text-decoration:none;margin-left:.4rem;opacity:0;font-size:.85em}
.sec-h:hover .anchor{opacity:1}
.statute p{margin:.45rem 0}
.statute p.sub{margin-left:1.4rem}.statute p.sub2{margin-left:2.8rem}.statute p.sub3{margin-left:4.2rem}
.statute p.history{color:var(--muted);font-size:.85rem;font-style:italic;margin:.3rem 0}
mark{background:#fff2a8;padding:0 .1em}
:target .sec-h, .sec-h:target{background:#fff8d6;border-radius:4px}

/* AI research aid — walled off, collapsed, never the law */
.aid{margin:1.2rem 0;border:1px dashed var(--aid-line);background:var(--aid-bg);border-radius:10px}
.aid summary{cursor:pointer;padding:.6rem .8rem;color:var(--aid);font-size:.85rem;font-weight:700}
.aid .aidbody{padding:0 .8rem .8rem;font-size:.92rem}
.aid .badge{display:inline-block;background:var(--aid);color:#fff;border-radius:4px;font-size:.68rem;
  padding:.05rem .35rem;margin-right:.4rem;vertical-align:.08em;letter-spacing:.03em}
.aid .tags{margin-top:.5rem;display:flex;gap:.3rem;flex-wrap:wrap}
.aid .tags span{background:#fff;border:1px solid var(--aid-line);border-radius:999px;padding:.05rem .5rem;font-size:.78rem}

/* directories + lists */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.7rem;margin:1rem 0}
.grid a{display:block;text-decoration:none;color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}
.grid a:hover{border-color:var(--accent)}
.grid .nm{font-weight:700}.grid .sub{color:var(--muted);font-size:.82rem;margin-top:.15rem}
ul.chapters{list-style:none;padding:0;margin:1rem 0}
ul.chapters li{border-bottom:1px solid var(--line);padding:.55rem .2rem}
ul.chapters a{font-weight:600;text-decoration:none}
ul.chapters .ct{color:var(--muted);font-size:.88rem;margin-top:.15rem}

/* prev / next */
.pager{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0 0;font-size:.9rem}
.pager a{max-width:48%;text-decoration:none}

/* search results */
.result{border-bottom:1px solid var(--line);padding:.8rem 0}
.result .cite{font-weight:700}
.result .ex{color:#333;font-size:.92rem;margin-top:.2rem}
.result .ex mark{background:#fff2a8}
.searchmeta{color:var(--muted);font-size:.85rem;margin:.3rem 0 1rem}

/* search-scope picker */
.scope{padding:.4rem .85rem}
.scope summary{cursor:pointer;font-size:.9rem;padding:.25rem 0}
.scopeactions{margin:.35rem 0 .1rem}
.scopeactions button{font:inherit;font-size:.78rem;border:1px solid var(--line);background:#fff;border-radius:6px;padding:.15rem .55rem;cursor:pointer;margin-right:.35rem}
.scopeactions button:hover{border-color:var(--accent);color:var(--accent)}
.scopegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.1rem .9rem;max-height:17rem;overflow:auto;margin-top:.4rem;padding-top:.3rem;border-top:1px solid var(--line)}
.scopebox{display:flex;align-items:center;gap:.35rem;font-size:.86rem;padding:.13rem 0}
.scopebox .onlyone{font-size:.72rem;border:0;background:none;color:var(--accent);cursor:pointer;opacity:0;padding:0 .2rem}
.scopebox:hover .onlyone{opacity:1}

.foot{max-width:var(--max);margin:0 auto;padding:1.5rem 1.1rem 3rem;border-top:1px solid var(--line);
  color:var(--muted);font-size:.82rem}
.foot a{color:var(--muted)}

@media print{
  .topbar,.foot,.pager,.copybtn,.aid{display:none!important}
  body{background:#fff}
  .provenance{background:#fff;border:1px solid #999}
  .provenance .verify::after{content:" — " attr(href)}
  main{max-width:none}
  a{color:#000;text-decoration:none}
}
