/* Layout idea: a prosecution file. Hard red verdict bars, a ledger, dated exhibits, then the reader's own toolkit. */
:root{
  --paper:#f3f4f1; --ink:#14201b; --muted:#56635c; --line:#d3d9d4;
  --accent:#0f6b55; --alarm:#b3261e; --card:#ffffff; --alarm-soft:#fbeceb;
  --display:"Fraunces", Georgia, serif;
  --body:"IBM Plex Sans", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#101513; --ink:#e7ece9; --muted:#9aa8a1; --line:#2a3430;
    --accent:#4cc3a0; --alarm:#ff8a80; --card:#172019; --alarm-soft:#2a1715; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#101513; --ink:#e7ece9; --muted:#9aa8a1; --line:#2a3430;
  --accent:#4cc3a0; --alarm:#ff8a80; --card:#172019; --alarm-soft:#2a1715; color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font:16px/1.65 var(--body)}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.alertbar{background:var(--alarm);color:#fff;font:500 .85rem var(--mono);text-align:center;padding:8px 16px}
.alertbar a{color:#fff}
header.top{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:12px;flex-wrap:wrap}
.brand{font:800 1.15rem var(--display);text-decoration:none;color:var(--ink)}
.brand span{color:var(--alarm)}
nav.main{display:flex;gap:16px;flex-wrap:wrap;font-size:.92rem}
nav.main a{color:var(--muted);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--alarm)}
nav.main a.cta{color:#fff;background:var(--alarm);padding:4px 12px;border-radius:4px;border:0}
h1,h2,h3{font-family:var(--display);text-wrap:balance;line-height:1.12;margin:0}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800}
h3{font-size:1.12rem;font-weight:600}
p{max-width:70ch}
.eyebrow{font:500 .8rem var(--mono);color:var(--alarm);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}
.lede{color:var(--muted);font-size:1.1rem;margin:18px 0 0}
.hero{padding:44px 0 30px;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
.pagehead{padding:40px 0 20px}
section{padding:38px 0;border-top:1px solid var(--line);scroll-margin-top:72px}
.sec-head{display:flex;gap:14px;align-items:baseline;margin-bottom:18px}
.sec-head .n{font-family:var(--mono);color:var(--alarm);font-size:.9rem}
.ledger{background:var(--card);border:1px solid var(--line);border-radius:6px;font-variant-numeric:tabular-nums}
.ledger .hd{padding:12px 16px;border-bottom:1px solid var(--line);font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.ledger .row{display:grid;grid-template-columns:70px 1fr auto;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.92rem}
.ledger .row:last-child{border-bottom:0}
.neg{color:var(--alarm);font-weight:500}
.ledger .total{background:var(--alarm-soft)}
.verdicts{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.verdicts li{border-left:5px solid var(--alarm);background:var(--card);padding:12px 16px;border-radius:0 6px 6px 0}
.verdicts strong{display:block;font-family:var(--display);font-size:1.1rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:20px}
.panel.red{border-color:var(--alarm);box-shadow:inset 4px 0 0 var(--alarm)}
.panel ul,.panel ol{margin:10px 0 0;padding-left:20px}
.panel li{margin:6px 0}
.stat{font:800 2.2rem var(--display);color:var(--alarm);font-variant-numeric:tabular-nums;line-height:1}
.stat small{display:block;font:500 .85rem var(--body);color:var(--muted);margin-top:6px}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:14px 0;border-bottom:1px dashed var(--line)}
.timeline time{font-family:var(--mono);font-size:.86rem;color:var(--muted)}
.timeline li.key time{color:var(--alarm);font-weight:500}
.chat{display:grid;gap:8px;max-width:600px}
.bubble{padding:9px 14px;border-radius:14px;max-width:86%;font-size:.95rem}
.me{justify-self:end;background:var(--accent);color:#fff}
.them{justify-self:start;background:var(--card);border:1px solid var(--line)}
.bubble.hl{outline:3px solid var(--alarm);outline-offset:2px}
.bubble small{display:block;opacity:.75;font-family:var(--mono);font-size:.72rem;margin-top:3px}
.chatlog{display:grid;gap:8px;max-width:680px}
figure{margin:0}
figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.exhibit{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:14px}
.exhibit .tag{font:500 .75rem var(--mono);color:var(--alarm);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.scroller{max-height:640px;overflow-y:auto;border:1px solid var(--line);border-radius:6px}
blockquote{margin:12px 0;padding:10px 16px;border-left:4px solid var(--line);color:var(--ink);background:var(--card);border-radius:0 6px 6px 0}
blockquote cite{display:block;font-style:normal;font-size:.82rem;color:var(--muted);margin-top:6px}
table{border-collapse:collapse;width:100%;font-size:.93rem}
.tablewrap{overflow-x:auto}
th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
td.bad{color:var(--alarm);font-weight:600}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:16px}
.steps>li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.steps>li::before{content:counter(s);font:800 1.3rem var(--display);color:var(--alarm);border:2px solid var(--alarm);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}
.rebut{display:grid;gap:14px}
.rebut .q{font-weight:600;color:var(--muted)}
.rebut .a{margin-top:6px}
form{display:grid;gap:14px}
label{font-weight:500;font-size:.92rem;display:grid;gap:6px}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);width:100%}
textarea{min-height:280px;font-family:var(--mono);font-size:.84rem;line-height:1.5}
.row2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
button,.btn{font:600 .95rem var(--body);padding:11px 18px;border-radius:4px;border:0;background:var(--alarm);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:transparent;color:var(--alarm);border:1px solid var(--alarm)}
.btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.note{font-size:.86rem;color:var(--muted)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{background:transparent;color:var(--ink);border:1px solid var(--line)}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.faq{display:grid;gap:10px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:14px 18px}
.faq summary{cursor:pointer;font-weight:600}
.faq details p{margin:10px 0 0}
.contact{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.contact .handle{font:800 1.5rem var(--display)}
.pill{display:inline-block;font:500 .75rem var(--mono);padding:2px 8px;border-radius:999px;border:1px solid currentColor}
.pill.red{color:var(--alarm)}
.pill.green{color:var(--accent)}
footer{padding:30px 0 50px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}
footer .cols{display:grid;grid-template-columns:2fr 1fr;gap:24px}
footer nav{display:grid;gap:4px}
@media (max-width:780px){
  .hero,.grid2,.grid3,.row2,.row3,footer .cols{grid-template-columns:1fr}
  .timeline li{grid-template-columns:1fr;gap:4px}
  header.top{position:static}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{header.top,.alertbar,footer,nav.main,.btns{display:none}}
