
:root{--bg0:#05080f;--bg1:#0a111d;--bg2:#0f1826;--ink:#e6ecf4;--ink2:#a7b2c2;--ink3:#5d6a7d;
--line:rgba(140,160,190,.13);--line2:rgba(140,160,190,.3);
--red:#ff4d5e;--red-ink:#ffb3ba;--red-dim:rgba(255,77,94,.13);
--grn:#2fbf71;--grn-ink:#8fe0b6;--grn-dim:rgba(47,191,113,.10);
--blu:#3d7bff;--blu-ink:#9db9ff;--steel:#8593a8;--steel-dim:rgba(133,147,168,.12);
--gold:#c9a24a;
--mono:"Cascadia Mono","SF Mono",Consolas,ui-monospace,monospace;
--serif:Georgia,"Times New Roman",serif;
--sans:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#26334c transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#26334c;border-radius:6px;border:2px solid var(--bg0);background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:var(--blu);border:2px solid var(--bg0);background-clip:padding-box}
::-webkit-scrollbar-corner{background:transparent}
body{background:var(--bg0);color:var(--ink2);font:15px/1.7 var(--sans);
background-image:radial-gradient(1000px 560px at 78% -8%,rgba(61,123,255,.06),transparent),
linear-gradient(rgba(61,123,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(61,123,255,.035) 1px,transparent 1px);
background-size:auto,44px 44px,44px 44px}
::selection{background:rgba(61,123,255,.35);color:var(--ink)}
a{color:var(--blu-ink);text-decoration:none}a:hover{text-decoration:underline}
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;padding:12px 22px;border-bottom:1px solid var(--line);background:rgba(5,8,15,.82);backdrop-filter:blur(10px)}
.top img{width:22px;height:22px}.top .t{font-family:var(--serif);font-size:15px;color:var(--ink)}
.top .r{margin-left:auto;font-size:12px;color:var(--ink3);font-family:var(--mono)}
main{max-width:1720px;margin:0 auto;padding:34px clamp(16px,3.2vw,52px) 70px}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr) 320px;gap:clamp(20px,2.4vw,36px);align-items:start}
@media(max-width:1180px){.layout{grid-template-columns:minmax(0,1fr) 300px}.casenav{display:none}.casenav-m{display:block}}
@media(max-width:880px){.layout{grid-template-columns:1fr}}
.casenav{position:sticky;top:70px;font-size:12.5px;max-height:calc(100vh - 90px);overflow:auto;padding-right:6px}
.casenav .gh2{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-family:var(--mono);margin:16px 0 8px}
.casenav .gh2:first-child{margin-top:0}
.casenav a{display:block;padding:5px 9px;color:var(--ink2);border-left:2px solid transparent;line-height:1.4}
.casenav a:hover{color:var(--ink);text-decoration:none;background:var(--bg1)}
.casenav a.on{color:var(--blu-ink);border-left-color:var(--blu);background:var(--bg1)}
.casenav a .t{display:block;font-size:10.5px;color:var(--ink3);font-family:var(--mono)}
.casenav-m{display:none;margin:0 0 16px}
.casenav-m select{width:100%;padding:9px 10px;background:var(--bg1);color:var(--ink);border:1px solid var(--line2);font:13px var(--sans)}
/* Structural findings sit under the document: what the article says the
   subject is, where a removed word actually went, what stopped existing. */
.struct{border:1px solid var(--line);border-left:3px solid var(--blu);background:var(--navy2);padding:16px 18px;margin:22px 0}
.struct h2{font-size:15px;margin:0 0 6px}
.struct .sh{font-size:12.5px;color:var(--ink3);margin:0 0 12px;line-height:1.55;max-width:70ch}
.struct .dl{margin:0 0 10px}
.struct .dt{font:600 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);display:block;margin-bottom:4px}
.struct p.was,.struct p.now{margin:0;font-size:14px;line-height:1.5}
.struct p.was{color:var(--ink3);text-decoration:line-through;text-decoration-color:rgba(150,165,185,.5)}
.struct p.now{color:var(--ink)}
ul.bur{list-style:none;margin:0;padding:0}
ul.bur li{font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--line)}
ul.bur li:last-child{border-bottom:none}
ul.bur .mini{font-size:11.5px;color:var(--ink3);font-family:var(--mono)}
.caseimg{border:1px solid var(--line);background:var(--bg1);padding:8px}
.caseimg img{width:100%;display:block}
.caseimg figcaption{font-size:10.5px;color:var(--ink3);padding-top:7px;font-family:var(--mono)}
.kick{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-family:var(--mono)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(26px,4.5vw,44px);color:var(--ink);line-height:1.12;margin:10px 0 12px}
.verdict{font-size:16px;line-height:1.65;border-left:3px solid var(--red);padding:10px 16px;background:var(--red-dim);margin:14px 0 6px;color:var(--ink)}
.checked{font-size:12px;color:var(--ink3);margin-bottom:18px;font-family:var(--mono)}
.wikilinks{font-size:12.5px;margin:0 0 18px;display:flex;gap:16px;flex-wrap:wrap}
.tier{font-size:12.5px;padding:7px 14px;margin:8px 0 4px;border-left:3px solid}
.tier.hand{border-color:var(--grn);background:var(--grn-dim);color:var(--grn-ink)}
.tier.auto{border-color:var(--steel);background:rgba(133,147,168,.08);color:var(--ink2)}
h2{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:30px 0 8px;font-family:var(--mono)}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}
@media(max-width:880px){.grid{grid-template-columns:1fr}}
.doc{border:1px solid var(--line);background:var(--bg1);padding:24px 28px;box-shadow:0 14px 40px rgba(0,0,0,.4)}
.doc .dh{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--grn-ink);margin-bottom:10px;font-family:var(--mono)}
.doc .dh a{color:var(--grn-ink)}
.doc .dh.now{color:var(--red-ink)}
.doc .dh .rc{float:right;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink3)}
.doc.hidden{display:none}
.nw2{background:var(--red-dim);color:var(--red-ink);padding:1px 3px;border-radius:2px}
.doc p{font-family:var(--serif);font-size:15.5px;line-height:1.95;color:var(--ink2)}
/* readable by default: passages carry only a faint underline and a number.
   The "show the edits" toggle applies the full strike and highlight. */
.gone{border-bottom:3px double rgba(255,77,94,.95);background:linear-gradient(transparent 88%,rgba(255,77,94,.16) 88%);padding:1px 0}
.mod{border-bottom:2px dotted rgba(185,196,214,.95);padding:1px 0}
body.marked .gone{background:var(--red-dim);color:var(--red-ink);text-decoration:line-through;text-decoration-color:rgba(255,179,186,.5);padding:1px 3px;border-radius:2px;border-bottom:none}
body.marked .mod{border-bottom:2px dotted rgba(133,147,168,.8);padding:1px 2px}
.gone.lit,.mod.lit,body.marked .gone.lit,body.marked .mod.lit{background:rgba(61,123,255,.30);color:var(--ink);transition:background .3s}
sup.fl{color:var(--red);font-weight:700;font-family:var(--mono);font-size:11px;padding-left:2px;cursor:pointer}
sup.fl.m{color:var(--steel)}
.flip{display:inline-flex;border:1px solid var(--line2);border-radius:3px;overflow:hidden}
.flip button{font:11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:7px 13px;background:var(--bg1);color:var(--ink3);border:none;cursor:pointer}
.flip button.on{background:var(--blu);color:#fff}
.flip button:not(.on):hover{color:var(--ink)}
.nt{cursor:pointer}
.nt.lit{outline:1px solid var(--blu);background:var(--bg2)}
.notes{position:sticky;top:70px;display:flex;flex-direction:column;gap:10px}
.nt{border:1px solid var(--line);border-left:3px solid var(--red);background:var(--bg1);padding:10px 13px;font-size:12.5px;line-height:1.6}
.nt.m{border-left-color:var(--steel)}
.nt b.n{color:var(--red);font-family:var(--mono);font-size:11px}
.nt.m b.n{color:var(--steel)}
.nt .w{color:var(--red-ink);font-weight:700}
/* watch cards are the instrument speaking, so they carry the measurement blue */
.nt.watch{border-left-color:var(--blu)}
.nt.watch b.n{color:var(--blu-ink);font-family:var(--mono);font-size:11px}
.nt .q{color:var(--ink);font-family:var(--serif);font-style:italic}
.nt .ex{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);color:var(--blu-ink)}
.nt .pin{display:block;margin-top:5px;color:var(--ink3);font-family:var(--mono);font-size:11.5px}
.nt .pin i{color:var(--ink2)}
.today{border:1px solid rgba(61,123,255,.35);background:rgba(61,123,255,.06);padding:14px 18px;margin-top:22px;font-size:14px}
.today .dh{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--blu-ink);margin-bottom:6px;font-family:var(--mono)}
.imgblk{border:1px solid var(--line);background:var(--bg1);padding:13px 17px;margin-top:16px}
.imgblk .dh{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--red-ink);margin-bottom:8px;font-family:var(--mono)}
.imgrow{font-size:13px;padding:4px 0;border-top:1px solid var(--line)}
.imgrow:first-of-type{border-top:none}
.imgrow .w{font-family:var(--mono);font-size:11px;color:var(--ink3);margin-right:8px}
.imgnote{font-size:11.5px;color:var(--ink3);margin-top:8px}
.docfoot{border-top:1px solid var(--line);margin-top:16px;padding-top:10px;font-size:12px;color:var(--ink3)}
.tally{width:100%;border-collapse:collapse;margin:8px 0 0;font-size:12.5px;font-family:var(--mono)}
.tally th,.tally td{border:1px solid var(--line);padding:5px 9px;text-align:center}
.tally th{color:var(--ink3);font-weight:400;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.tally td.up{color:var(--grn-ink);background:var(--grn-dim);font-weight:700}
.tally td.dn{color:var(--red-ink);background:var(--red-dim);font-weight:700}
.tally td.sm{color:var(--ink2)}
.tally td.lk{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.tally td.lk:hover{outline:1px solid var(--blu)}
.tally td.zero{color:var(--ink3);opacity:.55}
.tally caption{caption-side:bottom;text-align:left;font-size:10.5px;color:var(--ink3);padding-top:7px;font-family:var(--sans)}
.receipts{font-size:12.5px;color:var(--ink3);border-top:1px solid var(--line);margin-top:28px;padding-top:14px}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;border:1px solid var(--line);background:var(--bg1);padding:10px 16px;margin:14px 0;font-size:12.5px;color:var(--ink3)}
.legend .li{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.legend .li.hidden{display:none}
.legend .lg-row{display:flex;flex-wrap:wrap;gap:8px 20px;min-height:20px}
.legend .lg-tabs{margin-top:9px;border-top:1px solid var(--line);padding-top:9px}
/* the case header: left-aligned in the center column, like a file label */
.casehead{margin:0 0 24px;text-align:left}

.snav{position:sticky;top:0;z-index:60;background:rgba(5,8,15,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.snav-in{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:10px clamp(16px,3.2vw,52px)}
.snav a{color:var(--ink2);text-decoration:none}
.snav a:hover{color:var(--ink)}
.snav .snav-brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-family:var(--serif);font-size:15px;flex:none}
.snav .snav-brand img{width:20px;height:20px}
.snav-links{display:flex;gap:18px;flex-wrap:wrap;flex:1 1 auto;font:12px var(--sans);letter-spacing:.1em;text-transform:uppercase}
.snav-links a.on{color:var(--gold)}
.snav-right{font:12px var(--mono);color:var(--ink3);flex:none}
.snav details{position:relative;flex:none}
.snav summary{cursor:pointer;font:12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);list-style:none}
.snav summary::-webkit-details-marker{display:none}
.snav details[open] summary{color:var(--gold)}
.snav-mega{position:absolute;right:0;top:calc(100% + 11px);width:min(900px,94vw);background:rgba(10,17,29,.99);
  border:1px solid var(--line2);box-shadow:0 24px 60px rgba(0,0,0,.5);padding:20px 20px 14px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:18px 20px}
.snav-mega .g{min-width:0}
.snav-mega .h{font:12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);opacity:.75;margin-bottom:6px}
.snav-mega a{display:block;font:13px var(--sans);padding:3px 0;color:var(--ink2)}
.snav-mega a.on{color:var(--gold)}
.snav-foot{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;display:flex;flex-wrap:wrap;gap:14px}
.snav-foot a{font:12px var(--sans);color:var(--ink3)}
@media(max-width:820px){
  .snav-in{gap:12px}
  .snav-links,.snav-right{display:none}
  .snav details{margin-left:auto}
  .snav-mega{position:fixed;left:0;right:0;top:auto;width:auto;max-height:70vh;overflow:auto}
}
