@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#111;--paper:#f2ead8;--red:#ff3b30;--blue:#2e5cff;--muted:#6d675c;--line:3px solid var(--ink);--shadow:7px 7px 0 var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif;line-height:1.35}a{color:inherit}p{margin:.45rem 0 0}.ticker{background:var(--ink);color:var(--paper);padding:9px 18px;display:flex;justify-content:space-between;gap:16px;font:500 11px 'DM Mono',monospace;letter-spacing:.08em;border-bottom:var(--line)}.masthead{display:grid;grid-template-columns:90px 1fr 190px;gap:28px;padding:42px 5vw 46px;border-bottom:var(--line);min-height:500px;align-items:start}.masthead__stamp{border:var(--line);font:700 27px/1 'DM Mono',monospace;padding:12px 10px;box-shadow:var(--shadow);background:var(--red)}.masthead__stamp small{font-size:12px;display:block;margin-top:18px}.kicker,.eyebrow,.label{font:500 11px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase}.kicker{margin-top:9px}h1{font-size:clamp(74px,14vw,190px);line-height:.78;letter-spacing:-.09em;margin:28px 0 30px;font-weight:700}h1 em{font-style:normal;color:var(--red);-webkit-text-stroke:2px var(--ink)}.dek{font-size:clamp(18px,2.2vw,30px);max-width:620px;font-weight:600;line-height:1.05}.masthead__meta{border-left:var(--line);padding-left:17px;display:grid;align-content:start;gap:4px;font:11px 'DM Mono',monospace}.masthead__meta span{margin-top:12px;color:var(--muted)}.masthead__meta strong{font-size:17px}.warning-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--line)}.warning{display:flex;gap:15px;padding:25px 5vw 27px;border-right:var(--line)}.warning:last-child{border:0}.warning--red{background:var(--red)}.warning__mark{font:bold 38px/1 'DM Mono',monospace}.warning strong{font:600 13px 'DM Mono',monospace}.warning p{max-width:580px}.scope-bar{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--line);background:#ded5c2}.scope-bar>div{padding:18px 5vw;border-right:var(--line)}.scope-bar>div:last-child{border:0}.scope-bar strong{display:block;font-size:15px;line-height:1.15;margin-top:8px}.split-heading{padding:38px 5vw 30px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}.split-heading h2{flex-shrink:0}.split-heading h2,.method-grid h2,.references h2{font-size:clamp(36px,5vw,72px);line-height:.85;letter-spacing:-.07em;margin:0}.split-heading p{max-width:430px;font-size:14px}.party-columns{display:grid;grid-template-columns:1fr 1fr;border-top:var(--line);border-bottom:var(--line)}.party-column{min-width:0}.party-column--dem{border-right:var(--line)}.party-header{display:flex;align-items:center;gap:15px;padding:22px 28px;border-bottom:var(--line);position:sticky;top:0;z-index:2;background:var(--paper)}.party-column--dem .party-header{background:var(--blue);color:white}.party-column--rep .party-header{background:var(--red)}.party-header__flag{font:bold 34px/1 'DM Mono',monospace;border:var(--line);padding:6px 11px;background:var(--paper);color:var(--ink)}.party-header h2{margin:3px 0 0;font-size:clamp(28px,3.3vw,50px);letter-spacing:-.07em;line-height:.85}.party-count{margin-left:auto;font:bold 30px 'DM Mono',monospace}.case-stack{padding:22px}.case-card{border:var(--line);margin-bottom:24px;padding:21px;background:#f7f0df;box-shadow:var(--shadow);position:relative}.case-card::before{content:attr(data-index);position:absolute;right:13px;top:13px;font:500 11px 'DM Mono',monospace}.case-card__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.case-card__head h3{font-size:30px;line-height:.9;letter-spacing:-.06em;margin:0}.case-card__tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;margin-right:32px}.tag{font:600 20px/1 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px 8px;border:3px solid var(--ink)}.tag--pedo{background:#ff1500;color:#fff;border-width:4px;font-weight:700}.tag--rape{background:#8f0a0a;color:#fff}.tag--grope{background:#ff7a00;color:var(--ink)}.tag--monger{background:#7a1fa2;color:#fff}.tag--gay{background:#2e5cff;color:#fff}.tag--peeper{background:#0b8f7e;color:#fff}.tag--creeper{background:#3a7d1f;color:#fff}
/* --- tag filter bar (sits in the PARTY DIVIDE heading row) --- */
.tag-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;flex:1 1 auto;min-width:220px;max-width:560px}
.tag-bar__label{font:600 12px 'DM Mono',monospace;letter-spacing:.14em;color:var(--muted);margin-right:2px}
button.tag{cursor:pointer;appearance:none;-webkit-appearance:none}
.tag-bar__btn{box-shadow:4px 4px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}
.tag-bar__btn--active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
/* --- filter animation: non-matching blocks fade + collapse; the collapse is what slides matching cards to the top of their column. Visibility flips delayed on the way out (after the fade) and instantly on the way back in. --- */
.case-card,.other-case{overflow:hidden;transition:opacity .25s ease,max-height .32s cubic-bezier(.4,0,.2,1),margin .3s ease,padding .3s ease,border-width .3s ease,box-shadow .3s ease,visibility 0s}
.is-tag-hidden{opacity:0;max-height:0;overflow:hidden;margin-bottom:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0;box-shadow:none;pointer-events:none;visibility:hidden;transition:opacity .25s ease,max-height .32s cubic-bezier(.4,0,.2,1),margin .3s ease,padding .3s ease,border-width .3s ease,box-shadow .3s ease,visibility 0s .3s}
.stack-empty{font:600 11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;border:2px dashed var(--muted);color:var(--muted);padding:16px;text-align:center}
@media (prefers-reduced-motion:reduce){.case-card,.other-case,.tag-bar__btn{transition:none}}.case-card__meta{font:11px 'DM Mono',monospace;text-transform:uppercase;line-height:1.5;border-top:var(--line);border-bottom:1px solid var(--ink);padding:8px 0;margin-bottom:14px}.case-card__label{font:600 10px 'DM Mono',monospace;text-transform:uppercase;color:var(--muted);letter-spacing:.09em;margin-top:13px}.case-card__outcome{border-left:6px solid var(--red);padding-left:11px;font-weight:600}.case-card__note{font-size:12px;color:#49443b}.source-link,.report-link{display:inline-block;margin-top:16px;font:500 11px 'DM Mono',monospace;text-transform:uppercase;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}.other-case{display:grid;grid-template-columns:180px 1fr;gap:30px;border-bottom:var(--line);padding:38px 5vw;background:#ded5c2}.other-case h2{font-size:44px;letter-spacing:-.07em;line-height:.9;margin:0}.other-case__label{font:500 11px 'DM Mono',monospace;letter-spacing:.12em}.other-case__sub{font:12px 'DM Mono',monospace}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:var(--line)}.method-grid>div{padding:30px 5vw 40px;border-right:var(--line)}.method-grid>div:last-child{border:0}.method-grid h2{font-size:42px;margin:12px 0 20px}.method-grid p:not(.eyebrow){font-size:14px}.references{padding:35px 5vw 50px;display:grid;grid-template-columns:1fr 1.4fr;gap:14px 40px}.references__head{grid-row:span 2}.references__head h2{margin:10px 0 22px}.references__head span{font:11px 'DM Mono',monospace}.references>p{font-size:15px;max-width:680px}.report-link{color:var(--red);font-weight:600}footer{background:var(--ink);color:var(--paper);padding:16px 5vw;display:flex;justify-content:space-between;font:11px 'DM Mono',monospace;letter-spacing:.08em} @media(max-width:800px){.ticker{font-size:9px}.ticker span:nth-child(2){display:none}.masthead{grid-template-columns:55px 1fr;padding:28px 20px 36px;min-height:auto;gap:15px}.masthead__meta{grid-column:2;border:0;border-top:var(--line);padding:12px 0 0;display:flex;gap:13px;flex-wrap:wrap}.masthead__meta span{margin:0}.masthead__meta strong{font-size:13px}.warning-grid,.scope-bar,.party-columns,.method-grid{grid-template-columns:1fr}.warning{border-right:0;border-bottom:var(--line);padding:20px}.scope-bar>div{border-right:0;border-bottom:1px solid var(--ink);padding:16px 20px}.split-heading{padding:28px 20px;display:block}.split-heading p{margin-top:16px}.party-column--dem{border-right:0;border-bottom:var(--line)}.party-header{position:static;padding:18px 20px}.case-stack{padding:20px}.case-card{box-shadow:5px 5px 0 var(--ink)}.other-case{grid-template-columns:1fr;padding:28px 20px;gap:14px}.method-grid>div{border-right:0;border-bottom:var(--line);padding:28px 20px}.references{display:block;padding:30px 20px 40px}.references__head{margin-bottom:20px}footer{display:block;padding:16px 20px}footer span{display:block;margin:4px 0}.tag-bar{justify-content:flex-start;margin-top:14px;max-width:none}h1{font-size:21vw}}
