@font-face{font-family:"Courier Prime";src:url(/fonts/courier-prime-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Courier Prime";src:url(/fonts/courier-prime-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Literata;src:url(/fonts/literata-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Literata;src:url(/fonts/literata-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Literata;src:url(/fonts/literata-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Stencil;src:url(/fonts/stardos-stencil-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:block}

:root{
  --paper:#ECEEE7; --sheet:#FAFAF6; --manila:#D9BE85; --manila-hi:#E6CF9C; --manila-deep:#B99A5B;
  --ink:#1E2433; --ink-2:#4A5162; --ink-3:#6B7180; --rule:#C8CBC1; --focus:#2A5BA0;
  --v-confirmed:#2E6B43; --v-solved:#2A5BA0; --v-unsolved:#A4471C; --v-unproven:#866300; --v-debunked:#B42318;
  --type:"Courier Prime",ui-monospace,Menlo,Consolas,monospace;
  --read:Literata,Georgia,"Times New Roman",serif;
  --stencil:Stencil,Impact,sans-serif;
  --wrap:1120px; --measure:38rem;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#22262D;--sheet:#2B3038;--manila:#6E5C36;--manila-hi:#7D6A41;--manila-deep:#57482A;
    --ink:#E9E6DC;--ink-2:#C2C0B7;--ink-3:#9C9C96;--rule:#3E444D;--focus:#8FB3EB;
    --v-confirmed:#6FB98A;--v-solved:#8FB3EB;--v-unsolved:#E58A5E;--v-unproven:#D9B24A;--v-debunked:#F07A6E;color-scheme:dark}
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.7 var(--read)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
img,svg{display:block;max-width:100%}
h1,h2,h3{font-family:var(--type);font-weight:700;line-height:1.15;letter-spacing:-.01em;margin:0}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:8px;background:var(--sheet);padding:8px 12px;z-index:9}
.skip:focus{left:8px}

/* ---------- masthead: a manila band with department tabs ---------- */
.mast{background:var(--manila);border-bottom:2px solid var(--manila-deep)}
.mast-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-mark{width:38px;height:38px;flex:none}
.brand b{font:700 1.6rem/1 var(--type);letter-spacing:-.02em;white-space:nowrap}
.random{font:700 .95rem/1 var(--type);color:var(--ink);background:var(--sheet);border:2px solid var(--ink);padding:10px 14px;border-radius:3px;cursor:pointer;text-decoration:none;white-space:nowrap}
.random:hover{background:var(--ink);color:var(--sheet)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-bottom:-2px;padding-top:4px}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;font:700 .88rem/1 var(--type);text-decoration:none;color:var(--ink-2);padding:10px 14px 9px;background:var(--manila-hi);border:2px solid var(--manila-deep);border-bottom:0;border-radius:8px 8px 0 0}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current]{background:var(--paper);color:var(--ink);border-color:var(--manila-deep)}

/* ---------- shared bits ---------- */
.crumbs{font:400 .9rem/1.4 var(--type);color:var(--ink-3);padding-top:22px}
.crumbs a{color:var(--ink-2)}
.fileno{font:700 .9rem/1 var(--type);color:var(--ink-2)}
.btn{display:inline-block;font:700 1rem/1 var(--type);color:var(--sheet);background:var(--ink);border:2px solid var(--ink);padding:14px 20px;border-radius:3px;text-decoration:none;cursor:pointer}
.btn:hover{background:transparent;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--sheet)}
.section{padding:56px 0 8px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.section-head h2{font-size:1.6rem}
.section-head p{margin:0;color:var(--ink-2);font-size:.98rem}

/* verdict colors as classes */
.v-confirmed{--v:var(--v-confirmed)} .v-solved{--v:var(--v-solved)} .v-unsolved{--v:var(--v-unsolved)} .v-unproven{--v:var(--v-unproven)} .v-debunked{--v:var(--v-debunked)}

/* the tally: one inked square per case, in order */
.tally{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.tally li{width:22px;height:22px;border:2px solid var(--v);color:var(--v);display:grid;place-items:center;font:700 .72rem/1 var(--stencil);border-radius:2px}
.tally a{color:inherit;text-decoration:none;width:100%;height:100%;display:grid;place-items:center}
.tally-sm li{width:14px;height:14px;font-size:0;border-width:0;background:var(--v);opacity:.88}

/* ---------- home hero: the lead file as an open folder ---------- */
.lead{padding:40px 0 8px}
.folder{position:relative;background:var(--manila);border-radius:0 10px 10px 10px;margin-top:34px;box-shadow:0 1px 0 var(--manila-deep)}
.folder::before{content:"";position:absolute;left:0;top:-30px;width:min(260px,60%);height:32px;background:var(--manila);border-radius:10px 10px 0 0}
.folder-tab{position:absolute;left:18px;top:-24px;font:700 .95rem/1 var(--type);color:var(--ink)}
.folder-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;padding:14px}
.folder-cover{padding:24px 28px 28px}
.folder-cover .dept{font:700 .9rem/1 var(--type);color:var(--ink-2);text-decoration:none}
.folder-cover h1{font-size:clamp(2rem,4.6vw,3.35rem);margin:14px 0 16px;text-wrap:balance}
.folder-cover p{font-size:1.1rem;max-width:34rem;color:var(--ink)}
.folder-cover .tally{margin:22px 0 26px}
.index-sheet{align-self:center;background:var(--sheet);padding:22px 24px 18px;border-radius:2px;transform:rotate(.6deg);box-shadow:0 1px 3px rgba(30,36,51,.18)}
.index-sheet h2{font-size:1rem;color:var(--ink-2);margin-bottom:10px}
.index-sheet ol{margin:0;padding:0;list-style:none;font:400 .95rem/1.35 var(--type)}
.index-sheet li{display:flex;gap:10px;padding:7px 0;border-top:1px dashed var(--rule)}
.index-sheet li span{color:var(--ink-3);min-width:1.6em}
.index-sheet a{text-decoration:none}
.index-sheet a:hover{text-decoration:underline}

/* ---------- file tiles ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:34px 22px;margin:34px 0 0;padding:0;list-style:none}
.tile{position:relative;background:var(--manila);border-radius:0 8px 8px 8px;padding:18px 18px 16px;display:flex;flex-direction:column;min-height:100%}
.tile::before{content:"";position:absolute;left:0;top:-22px;width:118px;height:24px;background:var(--manila);border-radius:8px 8px 0 0}
.tile .tab{position:absolute;left:12px;top:-17px;font:700 .82rem/1 var(--type);color:var(--ink-2)}
.tile .glyph{position:absolute;right:14px;top:14px;font:700 .8rem/1 var(--stencil);letter-spacing:.06em;color:var(--ink);opacity:.5;border:2px solid currentColor;padding:4px 6px 3px;transform:rotate(-4deg);border-radius:2px}
.tile .dept{font:700 .82rem/1 var(--type);color:var(--ink-2);margin-bottom:10px;padding-right:96px;min-height:1em}
.tile h3{font-size:1.2rem;margin-bottom:10px}
.tile h3 a{text-decoration:none}
.tile h3 a::after{content:"";position:absolute;inset:-22px 0 0 0}
.tile p{font-size:.95rem;line-height:1.5;color:var(--ink-2);margin-bottom:14px;flex:1}
.tile:hover h3 a{text-decoration:underline}
.tile:focus-within{outline:3px solid var(--focus);outline-offset:3px}
.tile a:focus-visible{outline:0}

/* ---------- verdict legend ---------- */
.legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.legend li{background:var(--sheet);padding:18px 16px 14px;border-radius:2px;border-top:4px solid var(--v)}
.legend .mini-stamp{font:700 1.05rem/1 var(--stencil);color:var(--v);letter-spacing:.06em}
.legend p{font-size:.93rem;line-height:1.5;margin:10px 0 8px;color:var(--ink-2)}
.legend a{font:700 .85rem/1.2 var(--type);color:var(--v)}

.depts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px;list-style:none;margin:0;padding:0;background:var(--rule);border:2px solid var(--rule)}
.depts li{background:var(--sheet)}
.depts a{display:block;padding:16px 18px;text-decoration:none;height:100%}
.depts b{display:block;font:700 1.05rem/1.2 var(--type);margin-bottom:4px}
.depts span{font-size:.9rem;line-height:1.45;color:var(--ink-2)}
.depts a:hover b{text-decoration:underline}

/* ---------- file page ---------- */
.file-head{padding:10px 0 0}
.file-head .folder-cover{padding:26px 28px 30px}
.file-head .folder-in{display:block;padding:0}
.file-head .intro{font-size:1.12rem;max-width:var(--measure);color:var(--ink)}
.file-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font:400 .9rem/1.4 var(--type);color:var(--ink-2);margin-top:20px}
.counts{display:flex;flex-wrap:wrap;gap:6px 14px;font:700 .86rem/1.3 var(--type);margin:12px 0 0;padding:0;list-style:none}
.counts li{color:var(--v)}
.howto{font-size:.92rem;color:var(--ink-2);margin:14px 0 0;max-width:var(--measure)}
.howto a{color:var(--ink)}

.layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:44px;align-items:start;margin-top:40px}
.toc{position:sticky;top:20px;font:400 .9rem/1.35 var(--type)}
.toc h2{font-size:.95rem;color:var(--ink-2);margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--rule)}
.toc li a{display:flex;gap:10px;align-items:baseline;padding:6px 0 6px 12px;text-decoration:none;color:var(--ink-2);margin-left:-2px;border-left:2px solid transparent}
.toc li a:hover{color:var(--ink)}
.toc li a.on{border-left-color:var(--ink);color:var(--ink)}
.toc i{flex:none;width:9px;height:9px;background:var(--v);border-radius:1px;transform:translateY(-1px)}

.case{position:relative;background:var(--sheet);padding:30px 34px 26px;margin-bottom:28px;border-radius:2px;box-shadow:0 1px 2px rgba(30,36,51,.14);scroll-margin-top:16px}
.case-head{display:flex;flex-wrap:wrap;gap:4px 18px;font:400 .88rem/1.4 var(--type);color:var(--ink-3);margin-bottom:8px}
.case-head b{color:var(--ink);font-weight:700}
.case h2{font-size:clamp(1.45rem,2.6vw,1.85rem);margin-bottom:16px;max-width:30ch}
.case .body{max-width:var(--measure)}
.case .body p{margin-bottom:1.05em}
.ruling{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin:22px 0 4px;padding-top:20px;border-top:1px dashed var(--rule)}
.ruling p{margin:0;font-size:.98rem;line-height:1.55;color:var(--ink)}
.ruling p b{font-family:var(--type);font-size:.9rem;color:var(--ink-2);display:block;margin-bottom:2px}

/* the stamp: the one loud thing on the page */
.stamp{font:700 1.5rem/1 var(--stencil);letter-spacing:.08em;color:var(--v);border:3px solid var(--v);padding:9px 14px 7px;border-radius:4px;transform:rotate(-7deg);white-space:nowrap;position:relative;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 2.1'/%3E%3C/filter%3E%3Crect width='120' height='60' filter='url(%23n)'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.4 2.1'/%3E%3C/filter%3E%3Crect width='120' height='60' filter='url(%23n)'/%3E%3C/svg%3E")}
.case:nth-of-type(even) .stamp{transform:rotate(5deg)}
.js .case .stamp{opacity:0}
.js .case.seen .stamp{animation:thunk .42s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes thunk{0%{opacity:0;transform:scale(1.9) rotate(-14deg)}70%{opacity:1}100%{opacity:1;transform:scale(1) rotate(-7deg)}}
.case:nth-of-type(even).seen .stamp{animation-name:thunk2}
@keyframes thunk2{0%{opacity:0;transform:scale(1.9) rotate(12deg)}70%{opacity:1}100%{opacity:1;transform:scale(1) rotate(5deg)}}
@media (prefers-reduced-motion:reduce){.js .case .stamp{opacity:1;animation:none!important}}

.sources{margin-top:16px;font-size:.9rem}
.sources summary{font:700 .86rem/1.4 var(--type);color:var(--ink-2);cursor:pointer;width:max-content}
.sources ul{margin:10px 0 0;padding-left:1.1em;color:var(--ink-2);line-height:1.5}
.sources li{margin-bottom:6px;overflow-wrap:anywhere}

.closing{font-size:1.1rem;font-style:italic;max-width:var(--measure);margin:8px 0 40px}

/* poll */
.poll{background:var(--manila);padding:26px 28px 24px;border-radius:2px;margin-bottom:28px}
.poll h2{font-size:1.4rem;margin-bottom:6px}
.poll > p{color:var(--ink-2);font-size:.95rem;margin-bottom:16px}
.poll ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.poll button{width:100%;text-align:left;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;font:700 .95rem/1.3 var(--type);color:var(--ink);background:var(--sheet);border:2px solid transparent;padding:11px 14px;border-radius:3px;cursor:pointer;position:relative;overflow:hidden}
.poll button:hover:not([disabled]){border-color:var(--ink)}
.poll button[disabled]{cursor:default}
.poll .bar{position:absolute;inset:0 auto 0 0;width:0;background:var(--manila-hi);transition:width .5s ease}
.poll .lbl,.poll .pct{position:relative}
.poll .pct{font-weight:400;color:var(--ink-2)}
.poll button.mine{border-color:var(--ink)}
.poll .note{font:400 .85rem/1.4 var(--type);color:var(--ink-2);margin:12px 0 0;min-height:1.2em}
@media (prefers-reduced-motion:reduce){.poll .bar{transition:none}}

.aside-card{background:var(--sheet);padding:22px 24px;border-radius:2px;margin-bottom:28px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.aside-card h2{font-size:1.15rem;margin-bottom:4px}
.aside-card p{margin:0;color:var(--ink-2);font-size:.95rem}
.share{display:flex;gap:10px;flex-wrap:wrap}

.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 0}
.pager a{display:block;background:var(--sheet);padding:16px 18px;text-decoration:none;border-radius:2px}
.pager a:hover b{text-decoration:underline}
.pager span{display:block;font:400 .85rem/1.3 var(--type);color:var(--ink-3);margin-bottom:4px}
.pager b{font:700 1.02rem/1.3 var(--type)}
.pager .next{text-align:right}

/* list pages */
.page-head{padding:34px 0 0}
.page-head h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:12px}
.page-head p{max-width:var(--measure);font-size:1.1rem}
.page-head .stamp{display:inline-block;margin:6px 0 18px;font-size:2rem}
.caselist{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:12px}
.caselist li{background:var(--sheet);padding:16px 20px;border-radius:2px;border-left:5px solid var(--v)}
.caselist a{font:700 1.1rem/1.3 var(--type);text-decoration:none}
.caselist a:hover{text-decoration:underline}
.caselist .from{font:400 .86rem/1.4 var(--type);color:var(--ink-3);margin:4px 0 6px}
.caselist p{margin:0;font-size:.95rem;line-height:1.5;color:var(--ink-2)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.filters a{font:700 .88rem/1 var(--type);padding:9px 12px;border:2px solid var(--v,var(--ink));color:var(--v,var(--ink));border-radius:3px;text-decoration:none}
.filters a[aria-current]{background:var(--v,var(--ink));color:var(--sheet)}

.prose{max-width:var(--measure);padding:34px 0 40px}
.prose h1{font-size:2.4rem;margin-bottom:18px}
.prose h2{font-size:1.3rem;margin:30px 0 10px}
.prose ul{padding-left:1.2em}

/* footer */
footer{margin-top:72px;background:var(--ink);color:#E9E6DC;padding:36px 0 40px;font:400 .9rem/1.6 var(--type)}
@media (prefers-color-scheme:dark){footer{background:#181B20}}
footer a{color:#E9E6DC}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.foot h2{font-size:.95rem;color:#B9B6AC;margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:4px}
.foot p{margin:0 0 10px;font-family:var(--read);color:#C9C6BD;max-width:30rem}
.foot-meta{margin-top:26px;color:#9A978F;display:flex;gap:18px;flex-wrap:wrap}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .layout{grid-template-columns:1fr}
  .toc{display:none}
  .legend{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legend li:last-child{grid-column:1/-1}
  .folder-in{grid-template-columns:1fr}
  .index-sheet{transform:none;margin:0 6px 6px}
  .foot{grid-template-columns:1fr 1fr}
  .foot > div:first-child{grid-column:1/-1}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .brand b{font-size:1.3rem}
  .brand-mark{width:32px;height:32px}
  .random{padding:9px 10px;font-size:.85rem}
  .random .long{display:none}
  .folder-cover,.file-head .folder-cover{padding:20px 18px 24px}
  .folder-in{padding:8px}
  .case{padding:24px 18px 20px;margin-left:-4px;margin-right:-4px}
  .ruling{grid-template-columns:1fr;gap:14px}
  .ruling .stamp{justify-self:start;margin-left:6px}
  .stamp{font-size:1.3rem}
  .legend{grid-template-columns:1fr}
  .pager{grid-template-columns:1fr}
  .pager .next{text-align:left}
  .poll{padding:22px 16px 20px}
  .tally li{width:20px;height:20px}
  .tally{gap:3px}
}
@media print{.mast .tabs,.random,.poll,.aside-card,.pager,footer,.toc,ins.adsbygoogle,.google-auto-placed{display:none!important}.case{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.js .case .stamp{opacity:1}}
