@font-face{font-family:'Bebas Neue';src:url('fonts/BebasNeue-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Oswald';src:url('fonts/Oswald-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Oswald';src:url('fonts/Oswald-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Oswald';src:url('fonts/Oswald-700.woff2') format('woff2');font-weight:700;font-display:swap}

:root{
  --ink:#050506; --coal:#0a0b0c; --panel:#101214; --panel-2:#161a1d;
  --bone:#f2eee4; --dim:#a7a49b; --faint:#6e6b64;
  --line:rgba(242,238,228,.15); --line-hard:rgba(242,238,228,.26);
  --blood:#a8342a; --blood-deep:#5c1a15; --amber:#c08a3e;
  --ice:#c2d6e0; --paper:#d7d4cb; --paper-ink:#191a18;
  --display:'Bebas Neue','Liberation Sans Narrow','Arial Narrow',sans-serif;
  --label:'Oswald','Liberation Sans Narrow',sans-serif;
  --serif:'Charter','Bitstream Charter','Iowan Old Style',Georgia,serif;
  --mono:ui-monospace,'DejaVu Sans Mono','Liberation Mono',monospace;
  --gutter:clamp(18px,4vw,54px);
}

*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:74px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink);color:var(--bone);
  font:16px/1.62 var(--serif);
  background-image:
    radial-gradient(120% 90% at 50% -10%,rgba(207,18,51,.10),transparent 55%),
    radial-gradient(80% 60% at 90% 100%,rgba(207,18,51,.05),transparent 60%);
  background-attachment:fixed;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.055'/%3E%3C/svg%3E");
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:98;
  box-shadow:inset 0 0 220px 60px rgba(0,0,0,.85);
}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--blood);outline-offset:4px}
img{max-width:100%}
.skip{position:absolute;left:-9999px;top:0;background:var(--bone);color:#000;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}

/* ---------- masthead ---------- */
.masthead{position:sticky;top:0;z-index:60;background:rgba(8,8,10,.94);backdrop-filter:blur(9px);border-bottom:1px solid var(--line)}
.mast-in{max-width:1360px;margin:auto;padding:11px var(--gutter);display:flex;align-items:center;gap:20px}
.wordmark{font-family:var(--display);font-size:27px;letter-spacing:.11em;line-height:1;display:flex;align-items:baseline;gap:9px;white-space:nowrap}
.wordmark b{font-weight:400;color:var(--bone)}
.wordmark .p{color:var(--amber)}
.wordmark em{font-style:normal;font-family:var(--mono);font-size:8.5px;letter-spacing:.24em;color:var(--faint);text-transform:uppercase;display:block}
.nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.nav a{font-family:var(--label);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;padding:9px 9px;color:var(--dim);border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{color:var(--bone);border-color:var(--amber)}
.nav a[aria-current="page"]{color:var(--bone);border-color:var(--amber)}
.topbar-note{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--faint);text-transform:uppercase;border-left:1px solid var(--line);padding-left:18px;margin-left:4px}
@media(max-width:1360px){.topbar-note{display:none}}
@media(max-width:760px){.mast-in{flex-wrap:wrap;gap:10px}.nav{margin-left:0;width:100%;gap:0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;border-top:1px solid var(--line);padding-top:2px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,#000 88%,transparent 100%)}.nav a{padding:9px 9px;font-size:10px;white-space:nowrap}.nav::-webkit-scrollbar{display:none}.sect-head{flex-wrap:wrap;gap:8px}.sect-head .count{margin-left:0;width:100%}.hero .lede{margin-bottom:22px}.hero-foot{margin-top:26px}}

/* ---------- shared ---------- */
.wrap{max-width:1360px;margin:auto;padding:0 var(--gutter)}
.narrow{max-width:820px}
.kicker{font-family:var(--label);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin:0}
.kicker.plain{color:var(--faint)}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding:clamp(28px,5vh,64px) 0 0}
.hero-in{max-width:1360px;margin:auto;padding:0 var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(68px,15.2vw,214px);line-height:.8;letter-spacing:.005em;margin:14px 0 0;text-transform:uppercase}
.hero h1 .slash{color:var(--amber);padding:0 .04em}
.hero h1 small{display:block;font-family:var(--display);font-size:clamp(22px,3.4vw,46px);letter-spacing:.14em;color:var(--dim);line-height:1;margin-top:.18em}
.hero .lede{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:#ded7c8;max-width:56ch;margin:26px 0 34px}
.hero .lede b{color:var(--bone);font-weight:600}
.serial{display:none}
.filecard{width:250px;overflow:visible;border:1px solid var(--line-hard);background:rgba(19,19,23,.72);padding:16px 16px 14px;position:relative;align-self:start;margin-top:6px}
.filecard .hd{font-family:var(--mono);font-size:8.5px;letter-spacing:.26em;color:var(--amber);text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:11px}
.filecard dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.filecard dt{color:var(--faint)}
.filecard dd{margin:0;color:var(--bone);text-align:right}
.filecard .stampline{margin-top:14px;display:flex;justify-content:flex-end}
@media(max-width:900px){.filecard{display:none}}
.hero-foot{max-width:1360px;margin:auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:clamp(28px,6vh,64px)}
.hero-foot div{padding:16px 18px 18px 0;border-right:1px solid var(--line)}
.hero-foot div:last-child{border-right:0}
.hero-foot b{display:block;font-family:var(--display);font-size:clamp(30px,3.6vw,46px);line-height:1;color:var(--bone)}
.hero-foot span{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);display:block;margin-top:6px}
@media(max-width:820px){.hero-in{grid-template-columns:1fr}.serial{display:none}.hero-foot{grid-template-columns:repeat(2,1fr)}.hero-foot div:nth-child(2){border-right:0}}

/* ---------- ticker ---------- */
.ticker{border-block:1px solid var(--line);background:#0b0b0e;overflow:hidden;white-space:nowrap;padding:9px 0}
.ticker span{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--faint);animation:slide 48s linear infinite}
.ticker b{color:var(--blood);font-weight:400}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker span{animation:none}}

/* ---------- warning / method strip ---------- */
.warn{border:1px solid var(--line-hard);background:linear-gradient(180deg,rgba(207,18,51,.09),rgba(207,18,51,.02));padding:22px 24px;margin:clamp(30px,4.5vw,48px) 0;display:grid;grid-template-columns:max-content minmax(0,860px);gap:26px;align-items:start}
.warn .tag{font-family:var(--label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);border:1px solid var(--amber);padding:5px 8px;white-space:nowrap;transform:rotate(-2deg)}
.warn p{margin:0;font-size:15.5px;color:#ded7c8;max-width:78ch}
.warn p+p{margin-top:8px}
@media(max-width:600px){.warn{grid-template-columns:1fr;gap:12px}}

/* ---------- section head ---------- */
.sect{padding:clamp(40px,7vw,80px) 0 0}
.sect-head{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid var(--line-hard);padding-bottom:12px;margin-bottom:0}
.sect-head h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,4.4vw,56px);line-height:.95;margin:0;text-transform:uppercase;letter-spacing:.01em;display:flex;align-items:center;gap:14px}
.sect-head h2::before{content:"";width:13px;height:13px;background:var(--blood);flex:none;transform:translateY(-2px)}
.sect-head .count{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--faint);text-transform:uppercase;white-space:nowrap}
.sect-note{color:var(--dim);font-size:15px;max-width:70ch;margin:16px 0 26px}

/* ---------- chapter grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(318px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}
.card{position:relative;background:var(--panel);padding:20px 22px 18px;display:flex;flex-direction:column;min-height:238px;transition:background .18s ease}
.card:hover{background:#191920}
.card:hover .num{color:var(--blood)}
.card:hover h3{color:#fff}
.card .num{font-family:var(--display);font-size:58px;line-height:.8;color:#37373f;transition:color .18s}
.card .yr{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:var(--faint);text-transform:uppercase;margin-top:10px}
.card h3{font-family:var(--display);font-weight:400;font-size:31px;line-height:.96;margin:6px 0 10px;text-transform:uppercase;letter-spacing:.015em}
.card p{font-size:14.5px;line-height:1.5;color:var(--dim);margin:0 0 18px}
.card .foot{margin-top:auto;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.chip{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--line-hard);color:var(--dim);padding:3px 6px}
.chip.hot{border-color:var(--blood);color:#f0a3ae}
.chip.ok{border-color:#5f7f63;color:#a9c9ab}
.card .arrow{position:absolute;right:18px;bottom:18px;font-family:var(--mono);color:var(--faint);font-size:13px}
.meter{display:flex;height:3px;margin:12px 0 0;background:#26262e}
.meter i{display:block;height:3px}
.meter .m-c{background:var(--blood)}
.meter .m-a{background:#8fae92}
.meter .m-o{background:#3b3b46}
.meter-key{display:flex;gap:12px;margin-top:8px;font-family:var(--mono);font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.meter-key b{font-weight:400;color:var(--dim)}
.card:hover .arrow{color:var(--blood)}

/* ---------- chapter page ---------- */
.chapter-head{padding:clamp(34px,6vw,64px) 0 26px;border-bottom:2px solid var(--blood);display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,3vw,38px);align-items:start}
.chapter-no{font-family:var(--display);font-size:clamp(84px,11vw,148px);line-height:.76;color:var(--blood)}
.chapter-head h1{font-family:var(--display);font-weight:400;font-size:clamp(44px,7.4vw,92px);line-height:.88;margin:6px 0 10px;text-transform:uppercase}
.chapter-head .sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.chapter-head .sub b{color:var(--amber);font-weight:400}
.coldopen{font-size:clamp(17px,1.7vw,20.5px);line-height:1.62;color:#e6dfd1;max-width:74ch;margin:30px 0 0;border-left:3px solid var(--amber);padding:2px 0 2px 22px}
.cite{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;color:var(--dim);border:1px solid var(--line);padding:0 3px;margin-left:2px;text-decoration:none;white-space:nowrap;vertical-align:.12em}
.cite:hover{color:var(--bone);border-color:var(--blood)}
.stamp-row{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 0}
.stamp{display:inline-block;border:2px solid currentColor;padding:4px 9px;font-family:var(--label);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-2.4deg);color:var(--amber)}
.stamp.ok{color:#a9c3cf}
.stamp.open{color:var(--amber);border-style:dashed;transform:rotate(1.6deg)}
.stamp.mixed{color:#b9c4d6}

.note{margin:24px 0 0;border:1px solid var(--line);background:rgba(19,19,23,.6);max-width:900px}
.note summary{cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);padding:11px 14px;list-style:none}
.note summary::-webkit-details-marker{display:none}
.note summary::before{content:"＋ ";color:var(--blood)}
.note[open] summary::before{content:"− "}
.note summary:hover{color:var(--bone)}
.note p{margin:0;padding:0 16px 16px;font-size:14px;line-height:1.6;color:var(--dim);max-width:88ch}

.subhead{display:flex;align-items:baseline;gap:14px;margin:clamp(38px,6vw,64px) 0 0;border-bottom:1px solid var(--line-hard);padding-bottom:9px}
.subhead h2{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.8vw,34px);margin:0;text-transform:uppercase;letter-spacing:.03em}
.subhead .num{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.16em}

.dossiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:1px;background:transparent;border:0}
.person{background:var(--panel);padding:0 0 16px;display:flex;flex-direction:column;outline:1px solid var(--line);outline-offset:-.5px}
.person .plate{height:104px;background:linear-gradient(160deg,#1d1d24,#101014 70%);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.person .plate span{font-family:var(--display);font-size:54px;color:#4a4a58;letter-spacing:.05em}
.person .plate i{position:absolute;left:0;right:0;height:7px;background:repeating-linear-gradient(90deg,var(--amber) 0 26px,transparent 26px 34px);opacity:.22}
.person .plate i.a{top:18px}
.person .plate i.b{bottom:18px}
.person .plate em{position:absolute;right:7px;bottom:6px;font-family:var(--mono);font-size:7.5px;letter-spacing:.14em;color:#4b4b56;font-style:normal;text-transform:uppercase}
.person .body{padding:14px 16px 0;display:flex;flex-direction:column;flex:1}
.person .case{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.person h3{font-family:var(--label);font-weight:600;font-size:15px;line-height:1.25;margin:0 0 6px;letter-spacing:.01em}
.person .case{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}
.person .out{font-size:13.5px;line-height:1.45;color:#d6cfc1;margin:0 0 10px}
.person .stamp{align-self:flex-start;font-size:9px;padding:2px 6px;margin-bottom:10px}
.person .role{font-size:12.5px;color:var(--dim);border-top:1px dashed var(--line);padding-top:9px;margin-top:auto;padding-bottom:2px}

table.record{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:0;border:1px solid var(--line);border-top:0}
table.record th{font-family:var(--label);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);text-align:left;padding:11px 13px;border-bottom:1px solid var(--line-hard);background:#0f0f13;font-weight:600}
.record td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;font-size:13.5px;color:#d9d2c5}
.record th:first-child{width:21%}
.record th:nth-child(2){width:17%}
.record th:last-child{width:74px;text-align:right}
.record td:last-child{white-space:nowrap;text-align:right}
table.record tr:last-child td{border-bottom:0}
table.record td.n{font-family:var(--mono);color:var(--faint);font-size:11px}
table.record strong{color:var(--bone);font-weight:600}
.tablewrap{overflow-x:auto;border:0}

.chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:clamp(44px,7vw,80px) 0 0}
.chapter-nav a{background:var(--panel);padding:20px 22px;display:block;transition:background .18s}
.chapter-nav a:hover{background:#191920}
.chapter-nav .dir{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--faint);text-transform:uppercase}
.chapter-nav b{display:block;font-family:var(--display);font-size:26px;text-transform:uppercase;margin-top:6px;line-height:1}
.chapter-nav .next{text-align:right}
@media(max-width:640px){.chapter-nav{grid-template-columns:1fr}}

/* ---------- players ---------- */
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);position:sticky;top:56px;background:rgba(8,8,10,.96);z-index:20;backdrop-filter:blur(8px)}
.filters label{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.filters input,.filters select{background:var(--panel);border:1px solid var(--line-hard);color:var(--bone);font:14px var(--serif);padding:9px 11px;border-radius:0}
.filters input{min-width:230px;flex:1}
.filters .count{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase}
.clear{background:none;border:1px solid var(--line-hard);color:var(--dim);font-family:var(--label);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:9px 11px;cursor:pointer}
.clear:hover{border-color:var(--blood);color:var(--bone)}
@media(max-width:640px){.filters{position:static}.filters input{min-width:0;width:100%}.filters .count{margin-left:0}}

/* ---------- timeline ---------- */
.tl{position:relative;margin-top:26px;padding-left:0}
.tl::before{content:"";position:absolute;left:104px;top:8px;bottom:8px;width:1px;background:var(--line-hard)}
.tl-item{display:grid;grid-template-columns:104px minmax(0,1fr);gap:26px;padding:16px 0;position:relative}
.tl-item .yr{font-family:var(--display);font-size:38px;line-height:.9;color:var(--faint);text-align:right;padding-right:14px}
.tl-item:hover .yr{color:var(--blood)}
.tl-item .dot{position:absolute;left:99px;top:26px;width:11px;height:11px;border:1px solid var(--line-hard);background:var(--ink);transform:rotate(45deg)}
.tl-item:hover .dot{border-color:var(--blood);background:var(--blood)}
.tl-item .body{padding-left:8px}
.tl-item h3{font-family:var(--display);font-size:24px;text-transform:uppercase;margin:0 0 4px;font-weight:400}
.tl-item p{font-size:14px;color:var(--dim);margin:0}
@media(max-width:640px){.tl::before{left:0}.tl-item{grid-template-columns:1fr;gap:4px}.tl-item .yr{text-align:left;padding:0;font-size:26px}.tl-item .dot{display:none}.tl-item .body{padding-left:0;border-left:1px solid var(--line);padding-left:14px}}

/* ---------- archive ---------- */
.arch{border-top:1px solid var(--line)}
.arch details{border-bottom:1px solid var(--line);background:var(--panel)}
.arch summary{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px 20px;align-items:baseline}
.arch summary::-webkit-details-marker{display:none}
.arch summary h3{font-family:var(--label);font-weight:600;font-size:15.5px;margin:0 0 3px}
.arch summary .per{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.arch summary .stat{font-family:var(--mono);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--amber);border:0;border-right:2px solid rgba(217,163,60,.5);padding:1px 9px 1px 0;max-width:330px;text-align:right;line-height:1.5}
.arch details[open] summary{background:#16161c}
.arch details[open] .stat{border-color:var(--blood);color:#f0a3ae}
.arch details[open] summary h3{color:#fff}
@media(max-width:760px){.arch summary{grid-template-columns:1fr}.arch summary .stat{max-width:none;text-align:left;justify-self:start;border-right:0;border-left:2px solid rgba(217,163,60,.5);padding:1px 0 1px 9px}}
.arch summary:hover h3{color:#fff}
.arch .inner{padding:0 20px 20px;font-size:14.5px;color:#d8d1c3;max-width:90ch}
.arch .inner .scope{color:var(--faint);font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
.arch .inner .links{font-size:12px;color:var(--dim);margin-top:10px}
.arch .inner .links a{border-bottom:1px solid var(--line-hard)}
.arch .inner .links a:hover{color:var(--bone);border-color:var(--blood)}
.arch .gap{border-left:2px solid rgba(217,163,60,.5);padding:2px 0 2px 12px;color:var(--amber);font-size:13.5px}

/* ---------- sources ---------- */
.src{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.src li{border-bottom:1px solid var(--line);padding:13px 0;display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;font-size:14px}
.src .sid{font-family:var(--mono);font-size:10px;color:var(--faint);padding-top:3px}
.src a{color:#cfd8e6;border-bottom:1px solid rgba(207,216,230,.2);overflow-wrap:anywhere}
.src a:hover{color:#fff;border-color:var(--blood)}
.src .meta{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:5px}

/* ---------- prose (method page) ---------- */
.prose{max-width:76ch}
.prose h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,38px);text-transform:uppercase;letter-spacing:.02em;margin:44px 0 10px;border-bottom:1px solid var(--line-hard);padding-bottom:8px}
.prose h3{font-family:var(--label);font-weight:600;font-size:16px;letter-spacing:.02em;margin:26px 0 6px}
.prose p,.prose li{font-size:16px;color:#ddd6c8}
.prose ul{padding-left:20px}
.prose li{margin:7px 0}
.prose blockquote{margin:18px 0;padding:12px 18px;border-left:3px solid var(--blood);background:var(--panel);color:#e6dfd1;font-size:15px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);margin-top:clamp(56px,9vw,110px);padding:28px 0 44px;font-size:12.5px;color:var(--faint)}
.foot-in{max-width:1360px;margin:auto;padding:0 var(--gutter);display:flex;gap:28px;flex-wrap:wrap;align-items:baseline}
.foot-in .wm{font-family:var(--display);font-size:20px;letter-spacing:.1em;color:var(--dim)}
.foot-in p{margin:0;max-width:62ch}
.foot-in nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
.foot-in nav a{font-family:var(--label);font-size:10px;letter-spacing:.16em;text-transform:uppercase}

@media print{
  body{background:#fff;color:#111}
  body::before,body::after,.masthead,.filters,.ticker,.chapter-nav{display:none}
  a{color:#111}
  .card,.person,.panel{break-inside:avoid}
  .chapter-head{border-color:#111}
}

/* ---------- sentence trend ---------- */
.scale{margin-top:18px;border:1px solid var(--line);background:#0b0b0f;padding:16px 18px 8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.srow{display:grid;grid-template-columns:212px minmax(0,1fr) 76px;gap:14px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(243,238,227,.05)}
.srow:last-child{border-bottom:0}
.slab{font-family:var(--label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);line-height:1.35}
.slab b{color:var(--blood);font-weight:600;margin-right:7px}
.slab em{display:block;font-style:normal;color:var(--faint);font-size:9.5px;letter-spacing:.18em;margin-top:3px}
.strack{position:relative;height:26px;border-left:1px solid var(--line-hard);background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100% / 6))}
.dot{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);display:block}
.dot.prison{background:var(--blood);box-shadow:0 0 0 2px rgba(207,18,51,.20)}
.dot.hd{background:var(--amber);box-shadow:0 0 0 2px rgba(217,163,60,.18)}
.med{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--bone);opacity:.5}
.sval{font-family:var(--mono);font-size:11px;color:var(--dim);text-align:right}
.srow.axis{border-bottom:0;padding:2px 0 0}
.srow.axis .slab{color:var(--faint)}
.srow.axis .sval{color:var(--faint);font-size:9.5px;text-transform:uppercase;letter-spacing:.14em}
.srow.axis .strack{height:auto;background:none;display:flex;justify-content:space-between;border-left:1px solid var(--line-hard)}
.srow.axis .strack span{font-family:var(--mono);font-size:9.5px;color:var(--faint);transform:translateX(-50%);white-space:nowrap}
.srow.axis .strack span:first-child{transform:none}
.obss{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:14px}
.obs{background:#0e0e12;padding:20px 22px}
.obs b{display:block;font-family:var(--display);font-size:46px;line-height:.88;color:var(--blood);font-weight:400}
.obs span{display:block;font-family:var(--label);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:7px 0 11px;line-height:1.4}
.obs p{margin:0;font-size:14px;line-height:1.55;color:#cfc8bb}
@media(min-width:880px){.obss{grid-template-columns:repeat(3,1fr)}}
table.eratable th:first-child{width:15%}
table.eratable th:nth-child(2){width:37%}
table.eratable th:nth-child(3){width:11%}
table.eratable th:last-child{width:auto;text-align:left}
table.eratable td:last-child{text-align:left}
table.eratable td:nth-child(n+3){font-family:var(--mono);font-size:12.5px;color:#d9d2c5}
table.termtable th:first-child{width:56px}
table.termtable th:nth-child(2){width:36%}
table.termtable th:nth-child(3){width:120px}
table.termtable th:last-child{width:92px}
.termtable td.term{font-family:var(--mono);font-size:12.5px;color:var(--bone);white-space:nowrap}
.termtable td.term em{font-style:normal;color:var(--amber);font-size:9.5px;letter-spacing:.12em}
.termtable td.srccell{text-align:right;white-space:nowrap}
@media(max-width:720px){
  .srow{grid-template-columns:1fr;gap:7px;padding:10px 0}
  .sval{text-align:left}
  .strack{height:22px}
  .srow.axis .slab,.srow.axis .sval{display:none}
}

/* ---------- the labs, in the judgments ---------- */
.hero.lab-hero .hero-in{align-items:end}
h1.plain{font-family:var(--display);font-size:clamp(46px,7.4vw,96px);line-height:.92;letter-spacing:.005em;margin:10px 0 18px;text-transform:uppercase}
.labs{display:grid;gap:20px;margin-top:26px}
.lab{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),rgba(13,13,16,.6));padding:26px 28px 22px;position:relative}
.lab::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blood);opacity:.55}
.lab-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.lab-kicker{font-family:var(--label);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin:0 0 6px}
.lab h3{font-family:var(--display);font-size:clamp(26px,3.1vw,40px);line-height:1;margin:0;letter-spacing:.01em}
.kind{font-family:var(--label);font-size:9.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;padding:6px 10px;border:1px solid var(--blood);color:#e8b7c0}
.kind.n{border-color:var(--line-hard);color:var(--dim)}
.lab-lede{color:var(--dim);margin:0 0 18px;max-width:72ch}
.jqs{display:grid;gap:12px}
.jq{margin:0;padding:14px 16px;border-left:2px solid var(--blood);background:rgba(243,238,227,.028)}
.jq p{margin:0;font-size:16.5px;line-height:1.56;color:#ece6d9}
.jq cite{display:block;margin-top:9px;font-family:var(--label);font-style:normal;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint)}
.lwho,.lsent{margin:16px 0 0;font-size:14.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:12px}
.lwho span,.lsent span{font-family:var(--label);font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--amber);margin-right:10px}
.lsent{color:var(--bone)}
.jlist{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.jlist li{padding:14px 16px;border-left:2px solid var(--amber);background:rgba(243,238,227,.028);font-size:16.5px;line-height:1.56}
.jlist cite{display:block;margin-top:9px;font-family:var(--label);font-style:normal;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint)}
.gaptable{width:100%;border-collapse:collapse;margin-top:20px;font-size:14.5px}
.gaptable th{font-family:var(--label);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;text-align:left;color:var(--dim);border-bottom:1px solid var(--line-hard);padding:10px 12px}
.gaptable td{border-bottom:1px solid var(--line);padding:12px;vertical-align:top;color:var(--dim)}
.gaptable td:first-child{color:var(--amber);font-family:var(--label)}
.gaptable td:nth-child(2){color:var(--bone);width:30%}
@media (max-width:720px){
  .lab{padding:20px 18px}
  .lab-head{flex-direction:column;gap:10px}
  .gaptable td:nth-child(2){width:auto}
  .gaptable{font-size:13.5px}
}


/* ============ EVIDENCE-FILE THEME — chapter opener ============ */
.evcard{position:relative;padding:clamp(26px,3.2vw,52px) clamp(22px,3.6vw,58px) clamp(30px,3.4vw,54px);
  background:transparent url(paper-1.webp) center/calc(100% - 22px) calc(100% - 22px) no-repeat;border:0;border-radius:2px;
  color:#1b1c18;transform:rotate(-.3deg);isolation:isolate;overflow:visible;
  filter:drop-shadow(0 26px 40px rgba(0,0,0,.55)) drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.evcard--2{background-image:url(paper-2.webp)}
.evcard--3{background-image:url(paper-3.webp)}
.evcard--4{background-image:url(paper-4.webp)}
.evcard::before{display:none}
.evcard>*{position:relative;z-index:1}
.ev-kicker{font-family:var(--label);font-weight:700;font-size:clamp(10px,1.05vw,12.5px);
  letter-spacing:.46em;text-transform:uppercase;color:#33332c;margin:0 0 12px}
.ev-title{font-family:var(--display);font-weight:400;font-size:clamp(46px,8vw,104px);line-height:.86;
  letter-spacing:.004em;text-transform:uppercase;color:#111210;margin:0 0 6px;text-wrap:balance}
.ev-sub{font-family:var(--display);font-size:clamp(16px,1.7vw,23px);letter-spacing:.3em;
  text-transform:uppercase;color:#4c483e;margin:0 0 clamp(18px,2.4vw,30px)}
.ev-rule{height:2px;margin:0 0 clamp(16px,2vw,24px);
  background:linear-gradient(90deg,#26261f 0%,#26261f 22%,rgba(38,38,31,.24) 22%,rgba(38,38,31,.24) 100%)}
.ev-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px clamp(20px,3vw,44px);margin:0 0 clamp(14px,1.8vw,22px)}
.ev-fields>div{display:flex;align-items:baseline;gap:12px;border-bottom:1px dotted rgba(38,38,31,.42);padding-bottom:6px;min-width:0}
.ev-fields dt{font-family:var(--label);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#575349;flex:0 0 auto}
.ev-fields dd{margin:0 0 0 auto;font-family:var(--mono);font-size:clamp(11.5px,1.1vw,13.5px);color:#1b1c18;text-align:right;overflow-wrap:anywhere}
.ev-fields dd a{color:#1b1c18}
.ev-legend{font-family:var(--mono);font-size:10.5px;line-height:1.6;letter-spacing:.02em;color:#5d584f;margin:0;max-width:78ch}
.ev-stamp{position:absolute;top:clamp(8px,1.4vw,18px);right:clamp(8px,1.6vw,22px);width:clamp(106px,12.2vw,158px);
  color:rgba(26,26,22,.72);pointer-events:none;z-index:3;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.ev-caption{font-family:var(--label);font-size:clamp(9.5px,1vw,11.5px);letter-spacing:.44em;text-transform:uppercase;
  color:var(--amber);margin:0;padding:22px 0 6px}
.mast-stamp{width:23px;height:23px;flex:0 0 auto;color:var(--amber);opacity:.85}
@media(max-width:720px){
  .evcard{transform:none}
  .ev-fields{grid-template-columns:1fr}
  .ev-stamp{width:78px;color:rgba(32,32,26,.5)}
}

/* filecard stamp overlap */
.hero-side{width:250px;flex:0 0 250px;display:flex;flex-direction:column;align-items:flex-end;gap:20px}
.hero-stamp{width:clamp(120px,14vw,172px);height:auto;color:rgba(242,238,228,.46);transform:rotate(7deg);margin:0 4px 0 0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55))}
@media(max-width:760px){.hero-side{width:100%;flex:none;align-items:flex-start}.hero-stamp{width:104px;margin:0}}

/* ============ PALETTE SWITCH — brass (default) / blood ============ */
html[data-theme="blood"]{--amber:#d0202f;--blood:#a8342a}
html[data-theme="blood"] .ev-stamp{color:rgba(112,16,14,.66)}
html[data-theme="blood"] .hero-stamp{color:rgba(208,32,47,.34)}


.theme-tog{display:inline-flex;align-items:center;gap:7px;margin-left:6px;padding:6px 10px 6px 8px;
  font-family:var(--label);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);
  background:transparent;border:1px solid var(--line);border-radius:2px;cursor:pointer;transition:color .18s,border-color .18s}
.theme-tog i{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 1px rgba(0,0,0,.4) inset}
.theme-tog:hover{color:var(--bone);border-color:var(--line-hard)}
.theme-tog[aria-pressed="true"]{color:var(--bone)}
@media(max-width:900px){.theme-tog{padding:5px 7px 5px 6px;margin-left:0;font-size:9px;letter-spacing:.14em}.theme-tog i{width:7px;height:7px}}
