/* Shared styles for every irregularities page. */
/* Light theme only, whatever the viewer's system setting.
   Layout: One reading column (--col) that every block shares, so left and
   right edges line up. Spacing comes from one scale (--s1..--s6). Opened content starts where its row's heading text
   starts (--inset for claims, --inset-t for rows without a letter), and each nested level indents by one step (--s4). */
:root{
  --paper:#fcfbf8;--ink:#2b302c;--muted:#62675f;--line:#d8dbd3;--band:#f5f5ef;--open:#f0f2ec;--link:#3b5b52;
  --sup:#356258;--sup-fill:#d7e8e0;--lim:#816127;--lim-fill:#ede2c1;--cha:#86525b;--cha-fill:#ecd9dc;--flag:#8a4b2a;
  --serif:"Libertinus Serif",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --col:820px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:40px;
  --row-x:12px;--mark:12px;--letter:14px;--gap:8px;
  color-scheme:light;
  --inset:calc(var(--row-x) + var(--mark) + var(--gap) + var(--letter) + var(--gap));
  --inset-t:calc(var(--row-x) + var(--mark) + var(--gap));
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--serif);margin:0}
p{margin:0}
.wrap{max-width:calc(var(--col) + 2 * 16px);margin:0 auto;padding-block:var(--s5) var(--s6);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--link);outline-offset:2px}
button{font:inherit;color:var(--link);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
details>summary{cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
.cite{font:400 13px/1.4 var(--sans);white-space:nowrap}

/* page head */
.top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:var(--s3)}
.brand{font:400 27px/1 var(--serif);color:var(--ink);text-decoration:none}
.state a{color:var(--muted)}
.state{font:400 12px/1.4 var(--sans);color:var(--muted)}
h1{font:400 40px/1.15 var(--serif);margin:var(--s6) 0 var(--s3);text-wrap:balance}
.desc{font-size:20px;line-height:1.5}
.notice{font:400 13px/1.55 var(--sans);color:var(--muted);margin-top:var(--s3)}

/* sections */
.claims-sec,.block{margin-top:var(--s6)}
.bar{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;padding-bottom:var(--s2);border-bottom:1px solid var(--line)}
h2{font:500 12px/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0}
.sec-intro{font:400 14px/1.55 var(--sans);color:var(--muted);padding:var(--s3) var(--row-x) var(--s3);border-bottom:1px solid var(--line)}
.legend{display:flex;gap:var(--s1);align-items:center;flex-wrap:wrap}
.legend .t{min-width:0;height:auto;padding:var(--s1) var(--s2)}
.legend button{margin-left:var(--s2);font:400 13px var(--sans)}
.t{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 var(--s2);border-radius:2px;color:var(--ink);font:500 12px/1 var(--sans)}
.t-sup{background:var(--sup-fill)}.t-lim{background:var(--lim-fill)}.t-cha{background:var(--cha-fill)}
.tally{display:inline-flex;gap:var(--s1);margin-left:auto;flex:none}

/* claim and theme rows */
.claim,.theme{border-bottom:1px solid var(--line)}
.claim>summary,.theme>summary{display:flex;align-items:baseline;gap:var(--gap);padding:var(--s3) var(--row-x);background:var(--band)}
.claim>summary:hover,.theme>summary:hover{background:var(--open)}
.claim[open]>summary,.theme[open]>summary{background:var(--open)}
.claim[open]>summary{box-shadow:inset 2px 0 0 var(--sup)}
.chev{width:var(--mark);flex:none;color:var(--muted);font:400 13px var(--sans)}
.chev::before{content:"›"}
details[open]>summary .chev::before{content:"⌄"}
.v{flex:none;width:var(--letter);color:var(--muted);font:400 12px var(--sans)}
.c-head{font:400 19px/1.35 var(--serif);min-width:0;flex:1}
.theme>summary .c-head{font-size:18px}
.g-n{font:400 12px/1.4 var(--sans);color:var(--muted);white-space:nowrap}

/* inside a claim: everything starts at the heading text */
.claim-body{padding:var(--s4) var(--row-x) var(--s5) var(--inset);display:grid;gap:var(--s4)}
.inshort{display:grid;gap:var(--s1)}
.status-line{font:400 12px/1.6 var(--sans);color:var(--muted)}
.status{display:inline-flex;gap:var(--s2);align-items:baseline;margin-left:var(--s1)}
.status b{font:600 12px/1 var(--sans);padding:var(--s1) var(--s2);border-radius:2px;border:1px solid var(--line);color:var(--ink)}
.st-c b{border-color:var(--lim);color:var(--lim)}.st-r2 b{border-color:var(--sup);color:var(--sup)}
.amended{font:400 13px/1.55 var(--sans);color:var(--muted)}
.original{display:grid;gap:var(--s1)}
.orig-head{display:flex;justify-content:space-between;gap:var(--s3);align-items:baseline}
.label{font:500 12px/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.sub>summary{font:400 13px/1.6 var(--sans);color:var(--link);padding:var(--s1) 0}
.sub>summary::before{content:"▸ "}
.sub[open]>summary::before{content:"▾ "}
.sub>*:not(summary){margin-left:var(--s4)}
.sub .s-title{margin-top:var(--s1)}
.sub>p{font-size:15px;line-height:1.5}
.sub>p+p{margin-top:var(--s2)}
.m{padding:var(--s1) 0 var(--s1) var(--s3);border-left:1px solid var(--line);margin:var(--s2) 0 var(--s2) var(--s4)}
.m p{font-size:15px}
.m .loc{font:400 11px/1.5 var(--sans);color:var(--muted)}

/* evidence groups */
.groups{border-top:1px solid var(--line)}
.group{border-bottom:1px solid var(--line)}
.group>summary{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0;font:400 14px/1.4 var(--sans)}
.group>summary .g-name::before{content:"›";display:inline-block;width:var(--s4);color:var(--muted)}
.group[open]>summary .g-name::before{content:"⌄"}
.g-sup .g-name{color:var(--sup)}.g-lim .g-name{color:var(--lim)}.g-cha .g-name{color:var(--cha)}.g-rel .g-name{color:var(--ink)}
.studies,.rel{padding:0 0 var(--s3) var(--s4)}
.study>summary{display:block;padding:var(--s1) 0 var(--s1) var(--s4);text-indent:calc(-1 * var(--s4));font-size:15px;line-height:1.5}
.study>summary::before{content:"›";display:inline-block;width:var(--s4);text-indent:0;color:var(--muted);font-family:var(--sans)}
.study[open]>summary::before{content:"⌄"}
.tag{font:500 10px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line);padding:var(--s1);border-radius:2px;color:var(--muted);vertical-align:1px;margin-left:var(--s1);white-space:nowrap}
.study-body{padding:var(--s1) 0 var(--s3) var(--s4);display:grid;gap:var(--s2)}
.s-title{font:600 14px/1.45 var(--sans)}
.finding{display:grid;gap:var(--s1)}
.cond{font:400 12px/1.5 var(--sans);color:var(--muted)}
.flag{font:400 13px/1.55 var(--sans);color:var(--flag)}
.more{font:400 13px var(--sans);margin:var(--s2) 0 0 var(--s4)}
.empty{font:400 13px var(--sans);color:var(--muted);padding:0 0 var(--s3) var(--s4)}
.rel-note{font:400 12px/1.5 var(--sans);color:var(--muted);padding:0 0 var(--s2) var(--s4)}
.rel .theme{border-bottom:1px dotted var(--line)}
.rel .theme:last-child{border-bottom:0}
.rel .theme>summary{background:none;padding:var(--s2) 0}
.rel .theme>summary .c-head{font-size:16px}
.rel .theme-body{padding:0 0 var(--s3) calc(var(--mark) + var(--gap))}

/* theme rows in topical sections: body starts at the title text */
.theme-body{padding:var(--s3) var(--row-x) var(--s4) var(--inset-t);display:grid;gap:var(--s2)}
.ex{margin:0;padding-left:var(--s4);font-size:15px;display:grid;gap:var(--s1)}

/* reading list and gaps */
.rl{list-style:none;margin:0;padding:0}
.rl li{display:grid;grid-template-columns:var(--inset-t) minmax(0,1fr);padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.rank{font:400 12px/1.9 var(--sans);color:var(--muted);padding-left:var(--row-x)}
.rl li>div{display:grid;gap:var(--s1)}
.s-title-inline{font-size:16px}
.why{font-size:15px;color:var(--muted)}
.gaps-box>summary{display:grid;gap:var(--s1);padding:var(--s3) var(--row-x);border-bottom:1px solid var(--line)}
.gaps-sum{font-size:16px}
.gaps-toggle{font:400 13px/1.4 var(--sans);color:var(--link)}
.gaps-toggle::before{content:"› "}
.gaps-box[open] .gaps-toggle::before{content:"⌄ "}
.gaps{margin:0;padding:var(--s3) var(--row-x) 0 var(--inset-t);display:grid;gap:var(--s2)}
footer{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid var(--line);font:400 12px/1.5 var(--sans);color:var(--muted)}

@media (max-width:640px){
  :root{--row-x:8px;--letter:12px}
  h1{font-size:32px;margin-top:var(--s5)}
  .desc{font-size:18px}
  .claim>summary{flex-wrap:wrap}
  .claim>summary .c-head{flex-basis:calc(100% - 64px)}
  .claim>summary .tally{margin-left:calc(var(--mark) + var(--gap) + var(--letter) + var(--gap))}
  .claim-body{padding-left:var(--row-x)}
  .theme-body{padding-left:var(--row-x)}
  .orig-head{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Catalog home: same column, scale and rows as the entry pages. */
.intro{font-size:20px;line-height:1.5;margin-top:var(--s6)}
.filters{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);align-items:baseline}
.filters button{font:400 13px/1.6 var(--sans);color:var(--muted);text-decoration:none;padding:0 0 var(--s1);border-bottom:1px solid transparent}
.filters button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--ink)}
.count{font:400 12px/1.4 var(--sans);color:var(--muted);white-space:nowrap}
.cat{list-style:none;margin:0;padding:0}
.cat li{border-bottom:1px solid var(--line)}
.cat .row{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr) auto;gap:var(--s4);align-items:baseline;padding:var(--s3) var(--row-x);background:var(--band);color:var(--ink);text-decoration:none}
.cat a.row:hover{background:var(--open)}
.cat .name{font:400 19px/1.35 var(--serif)}
.cat a.row .name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--line)}
.cat .what{font-size:16px;line-height:1.45;color:var(--muted)}
.cat .state-tag{font:400 12px/1.4 var(--sans);color:var(--muted);white-space:nowrap}
.cat a.row .state-tag{color:var(--link)}
@media (max-width:640px){
  .cat .row{grid-template-columns:minmax(0,1fr) auto;gap:var(--s1) var(--s3)}
  .cat .what{grid-column:1 / -1;grid-row:2}
}
