/* The Institute — the evidence shelf.
   Same two hues as site/index.html, and they still mean what they mean there.
   INDIGO is the standard: what we assert, and what an entry entitles us to say.
   RUST is the consequence: every place something costs us. Here that is the
   limits and the refusals — which is the right reading, because a stated limit
   is a claim given up. */
:root{
  --ground:#eef1f5;
  --surface:#ffffff;
  --surface-2:#e4e9ef;
  --ink:#131b24;
  --mid:#4f5c69;
  --faint:#7f8b98;
  --hair:#d5dde5;
  --rule:#b9c4ce;
  --standard:#3f4fb8;
  --standard-soft:#e7e9fa;
  --consequence:#a4501a;
  --consequence-soft:#f7ece1;
  --display:"Newsreader",Georgia,"Times New Roman",serif;
  --ui:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0e141a;
  --surface:#161e27;
  --surface-2:#111922;
  --ink:#e6ecf2;
  --mid:#9fadba;
  --faint:#6e7d8b;
  --hair:#26313c;
  --rule:#33404c;
  --standard:#8e9bf0;
  --standard-soft:#1a2135;
  --consequence:#dc9552;
  --consequence-soft:#2a1d12;
}}
:root[data-theme="dark"]{
  --ground:#0e141a;
  --surface:#161e27;
  --surface-2:#111922;
  --ink:#e6ecf2;
  --mid:#9fadba;
  --faint:#6e7d8b;
  --hair:#26313c;
  --rule:#33404c;
  --standard:#8e9bf0;
  --standard-soft:#1a2135;
  --consequence:#dc9552;
  --consequence-soft:#2a1d12;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--ui);
     line-height:1.62;-webkit-font-smoothing:antialiased;}
.wrap{max-width:940px;margin:0 auto;padding:0 22px;}
.narrow{max-width:660px;}
a{color:var(--standard);}
:focus-visible{outline:2px solid var(--standard);outline-offset:3px;border-radius:2px;}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important;}}

/* ── masthead, identical in shape to the home page ── */
header.top{border-bottom:1px solid var(--hair);background:var(--surface);}
.top .wrap{max-width:940px;display:flex;align-items:center;justify-content:space-between;
           gap:16px;padding-top:16px;padding-bottom:16px;}
.mark{font-family:var(--display);font-size:19px;letter-spacing:-.01em;color:var(--ink);
      text-decoration:none;}
.mark b{font-weight:500;}
.mast-right{display:flex;align-items:center;gap:22px;}
nav{display:flex;gap:20px;font-size:14px;}
nav a{color:var(--mid);text-decoration:none;}
nav a:hover{color:var(--ink);}
nav a.on{color:var(--ink);font-weight:500;}
.signin{font-size:13.5px;text-decoration:none;color:var(--standard);white-space:nowrap;
        border:1px solid var(--standard);padding:6px 15px;border-radius:2px;}
.signin:hover{background:var(--standard-soft);}
@media(max-width:620px){ nav{display:none;} }

/* ── the shelf ── */
.hero{padding:64px 0 10px;}
.eyebrow{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
         color:var(--consequence);margin:0 0 18px;}
h1{font-family:var(--display);font-weight:300;font-size:clamp(34px,5.6vw,54px);
   line-height:1.05;letter-spacing:-.02em;margin:0 0 22px;text-wrap:balance;}
.stand{font-size:clamp(16.5px,2vw,19px);color:var(--mid);margin:0 0 16px;}

.counts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);
        border:1px solid var(--rule);margin:32px 0 0;}
@media(max-width:560px){.counts{grid-template-columns:repeat(2,1fr);}}
.counts div{background:var(--surface);padding:15px 16px;}
.counts b{display:block;font-family:var(--display);font-size:29px;font-weight:400;
          line-height:1;font-variant-numeric:tabular-nums;}
.counts span{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);}

.policy{border-left:3px solid var(--standard);background:var(--standard-soft);
        padding:17px 20px;margin:26px 0 0;}
.policy p{margin:0;font-size:15px;}

h2.sec{font-family:var(--display);font-weight:400;font-size:26px;letter-spacing:-.01em;
       margin:52px 0 14px;}

.legend{display:grid;grid-template-columns:1fr 1fr;gap:26px;
        border:1px solid var(--hair);background:var(--surface);padding:20px 22px;}
@media(max-width:660px){.legend{grid-template-columns:1fr;gap:22px;}}
.legend p{margin:0 0 9px;font-size:14px;color:var(--mid);}
.lab-h{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
       color:var(--faint);margin:0 0 10px !important;}
.note{font-size:14.5px;color:var(--mid);margin:14px 0 0;}

/* ── labels ── */
.lab{display:inline-block;font-size:11px;letter-spacing:.06em;font-weight:600;
     padding:2px 8px;border:1px solid var(--rule);border-radius:2px;color:var(--mid);
     background:var(--surface-2);white-space:nowrap;}
.s-strong{color:var(--standard);border-color:var(--standard);background:var(--standard-soft);}
.s-moderate{color:var(--mid);}
.s-limited,.d-secondary{color:var(--consequence);border-color:var(--consequence);
                        background:var(--consequence-soft);}
.d-full-text{color:var(--standard);border-color:var(--standard);background:var(--standard-soft);}

/* ── filters and rows ── */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px;}
.filters input,.filters select{font:inherit;font-size:14px;padding:8px 11px;
  border:1px solid var(--rule);border-radius:2px;background:var(--surface);color:var(--ink);}
.filters input{flex:1 1 230px;}
.showing{font-size:13px;color:var(--faint);margin:0 0 14px;}
.rows{display:flex;flex-direction:column;gap:1px;background:var(--rule);
      border:1px solid var(--rule);}
.row{display:flex;gap:18px;justify-content:space-between;align-items:flex-start;
     background:var(--surface);padding:16px 18px;text-decoration:none;color:inherit;}
.row:hover{background:var(--surface-2);}
.row[hidden]{display:none;}
.r-title{font-family:var(--display);font-size:19px;font-weight:400;line-height:1.25;
         margin:0 0 5px;color:var(--ink);}
.r-src{font-size:12.5px;color:var(--faint);margin:0 0 7px;}
.r-claim{font-size:14px;color:var(--mid);margin:0;}
.r-side{display:flex;flex-direction:column;gap:6px;align-items:flex-end;flex:0 0 auto;}
@media(max-width:640px){
  .row{flex-direction:column;gap:10px;}
  .r-side{flex-direction:row;align-items:center;}
}
.empty{font-size:15px;color:var(--mid);margin:16px 0 0;}
.empty button{font:inherit;font-size:15px;color:var(--standard);background:none;border:0;
              padding:0;text-decoration:underline;cursor:pointer;}

/* ── one entry ── */
.entry{padding:38px 0 0;}
.crumb{font-size:13px;margin:0 0 26px;}
.crumb a{text-decoration:none;}
.evid{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
      color:var(--consequence);margin:0 0 12px;}
.entry h1{font-size:clamp(28px,4.4vw,40px);margin:0 0 14px;}
.source{font-size:15px;color:var(--mid);margin:0 0 20px;}
.labels{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px;}
.labels .lab{font-size:11.5px;padding:4px 10px;}
.labels .lab b{font-weight:700;}

.claim{border-left:3px solid var(--standard);background:var(--standard-soft);
       padding:16px 20px;margin:0 0 34px;}
.claim p:last-child{margin:0;font-size:16.5px;}

.entry h2{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:-.01em;
          margin:34px 0 10px;}
.prose p{margin:0 0 13px;font-size:16px;color:var(--mid);}
.prose p:last-child{margin:0;}
.prose b{color:var(--ink);}

.limits,.refuse{border:1px solid var(--consequence);background:var(--consequence-soft);
                padding:17px 20px;margin:34px 0 0;}
.limits .lab-h,.refuse .lab-h{color:var(--consequence);}
.limits .prose p,.refuse .prose p{color:var(--ink);}

.foot-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0 0;
           padding:22px 0 0;border-top:1px solid var(--hair);}
@media(max-width:560px){.foot-meta{grid-template-columns:1fr;}}
.foot-meta p{margin:0;font-size:14px;color:var(--mid);}
.t-chip{display:inline-block;font-size:12px;padding:2px 9px;margin:0 4px 4px 0;
        border:1px solid var(--rule);border-radius:2px;color:var(--mid);}
.t-foundational{border-color:var(--standard);color:var(--standard);}
.back{margin:34px 0 0;font-size:15px;}

footer{border-top:1px solid var(--hair);background:var(--surface);margin-top:70px;}
footer .wrap{max-width:940px;display:flex;justify-content:space-between;gap:16px;
             flex-wrap:wrap;padding-top:22px;padding-bottom:40px;
             font-size:13.5px;color:var(--faint);}
footer a{color:var(--mid);text-decoration:none;}
footer a:hover{color:var(--ink);}
