/* Lore explorer: plain CSS, no build step. Tokens on :root, dark mode via media query. */
:root{
  --bg:#f8f5f4;
  --surface:#ffffff;
  --surface-2:#f2ecea;
  --ink:#1c1416;
  --muted:#675a57;
  --line:#e4dbd8;
  --line-strong:#cfc2be;
  --accent:#c8170b;
  --accent-soft:rgba(200,23,11,.09);
  --on-accent:#ffffff;
  --ok:#11703a;   --ok-bg:#e3f3e8;
  --bad:#b0200f;  --bad-bg:#fbe6e3;
  --warn:#7f5200; --warn-bg:#fdf0d2;
  --info:#1d55b0; --info-bg:#e6eefc;
  --none:#8a7d7a;
  --focus:#1d55b0;
  --shadow:0 1px 2px rgba(40,20,20,.05),0 6px 24px rgba(40,20,20,.06);
  --radius:14px;
  --display:'Space Grotesk',system-ui,sans-serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --gutter:clamp(16px,4vw,32px);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0b0709;
    --surface:#151012;
    --surface-2:#1d1619;
    --ink:#f2ece9;
    --muted:#ab9d9a;
    --line:#2d2327;
    --line-strong:#43363b;
    --accent:#ff4a38;
    --accent-soft:rgba(255,74,56,.12);
    --on-accent:#1a0604;
    --ok:#5fd394;   --ok-bg:rgba(95,211,148,.12);
    --bad:#ff7a6c;  --bad-bg:rgba(255,122,108,.12);
    --warn:#f2b84b; --warn-bg:rgba(242,184,75,.12);
    --info:#86adff; --info-bg:rgba(134,173,255,.12);
    --none:#7d706d;
    --focus:#86adff;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.15;margin:0}
p{margin:0}
a{color:var(--accent)}
a:hover{text-decoration-thickness:2px}
button,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--surface);color:var(--ink);padding:8px 12px;border-radius:8px;border:1px solid var(--line)}
.skip:focus{top:8px}
.mono{font-family:var(--mono);font-size:.86em}
.muted{color:var(--muted)}
.wrap{max-width:1200px;margin:0 auto;padding-inline:var(--gutter)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.section-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.section-nav a{font-weight:600}
.trio:has(#contracts:target),.trio:has(#connect:target){padding-bottom:35vh}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap;padding-block:8px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font:700 20px var(--display);letter-spacing:-.01em}
.brand-sub{font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:3px 7px;border:1px solid var(--line);border-radius:999px}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.pill{display:inline-flex;align-items:center;gap:7px;font:500 12px var(--mono);padding:5px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);white-space:nowrap;max-width:100%}
.dot{width:8px;height:8px;border-radius:50%;background:var(--none);flex:none}
.dot-net{background:var(--info)}
.pill.live .dot{background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:ping 2s infinite}
.pill.snap .dot{background:var(--warn)}
.pill.err .dot{background:var(--bad)}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 60%,transparent)}100%{box-shadow:0 0 0 7px transparent}}
.back{font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;padding:6px 4px}
.back:hover{color:var(--ink)}

/* ---------- intro ---------- */
.intro{padding:44px 0 26px;max-width:820px}
.eyebrow{font:500 11px var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.intro h1{font-size:clamp(28px,4.6vw,46px);font-weight:700}
.intro h1 em{font-style:normal;color:var(--accent)}
.lede{margin-top:14px;color:var(--muted);font-size:16px;max-width:680px}

/* ---------- blocks ---------- */
.block{margin-top:44px}
.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;margin-bottom:14px}
.block-head h2{font-size:24px}
.block-head p{font-size:14px;max-width:560px}

/* ---------- lifecycle ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;counter-reset:step}
.step{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 14px 16px;counter-increment:step;min-width:0}
.step::before{content:counter(step,decimal-leading-zero);font:500 11px var(--mono);color:var(--accent);letter-spacing:.12em}
.step h3{font-size:15px;margin:6px 0 6px;display:flex;align-items:center;gap:7px}
.step h3 svg{flex:none;color:var(--accent)}
.step p{font-size:13px;color:var(--muted);line-height:1.5}
.step .where{display:inline-block;margin-top:8px;font:500 10.5px var(--mono);letter-spacing:.06em;color:var(--info);background:var(--info-bg);padding:2px 7px;border-radius:99px}

/* ---------- topics + graph ---------- */
.topics-area{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media (min-width:920px){.topics-area{grid-template-columns:300px minmax(0,1fr);align-items:start}}
.topic-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.topic-btn{display:block;width:100%;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px;transition:border-color .15s,background .15s}
.topic-btn:hover{border-color:var(--line-strong)}
.topic-btn[aria-pressed="true"]{border-color:var(--accent);background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--surface);box-shadow:inset 3px 0 0 var(--accent)}
.topic-btn .t-id{font:500 11px var(--mono);color:var(--muted)}
.topic-btn .t-title{display:block;font:700 15.5px/1.3 var(--display);margin-top:2px}
.topic-btn .t-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;color:var(--muted);margin-top:4px}
.t-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted)}
.t-meta b{color:var(--ink);font-weight:600}

.graph-card{padding:18px;min-width:0}
.graph-head h3{font-size:20px}
.graph-head .desc{color:var(--muted);font-size:14px;margin-top:6px;max-width:720px}
.graph-head .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;font-size:13px;color:var(--muted)}
.graph-head .row b{color:var(--ink)}
.price{font:600 12px var(--mono);color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:99px}
.graph-scroll{margin-top:14px;border:1px dashed var(--line);border-radius:12px;background:
  radial-gradient(circle at 1px 1px,var(--line) 1px,transparent 1.5px) 0 0/18px 18px,var(--surface-2);overflow-x:auto;padding:8px}
#graph{display:block;margin:0 auto;width:100%;height:auto}
.g-edge{fill:none;stroke:var(--line-strong);stroke-width:1.6}
.g-edge.hl{stroke:var(--accent);stroke-width:2.4}
.g-arrow{fill:var(--line-strong)}
.g-arrow-hl{fill:var(--accent)}
.g-node{cursor:pointer;outline:none}
.g-node rect.box{fill:var(--surface);stroke:var(--line-strong);stroke-width:1.2;transition:stroke .15s}
.g-node:hover rect.box{stroke:var(--accent)}
.g-node.root rect.box{stroke-dasharray:none}
.g-node .root-bar{fill:var(--info)}
.g-node.is-rel rect.box{stroke:var(--accent);stroke-dasharray:4 3}
.g-node.sel rect.box{stroke:var(--accent);stroke-width:2.4;fill:var(--accent-soft)}
.g-node:focus-visible rect.box{stroke:var(--focus);stroke-width:3}
.g-node .nid{font:500 10.5px var(--mono);fill:var(--muted)}
.g-node .ntitle{font:600 12.5px var(--body);fill:var(--ink)}
.g-node .pdot{stroke:var(--surface);stroke-width:2}
.pdot.ok,.lg-dot.ok{fill:var(--ok);background:var(--ok)}
.pdot.warn,.lg-dot.warn{fill:var(--warn);background:var(--warn)}
.pdot.bad,.lg-dot.bad{fill:var(--bad);background:var(--bad)}
.pdot.none,.lg-dot.none{fill:var(--none);background:var(--none)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted);margin-top:10px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.lg{display:inline-block;width:14px;height:10px;border-radius:3px;border:1.5px solid var(--line-strong);background:var(--surface)}
.lg-root{box-shadow:inset 3px 0 0 var(--info)}
.lg-sel{border-color:var(--accent);background:var(--accent-soft)}
.lg-dot{width:8px;height:8px;border-radius:50%;border:0}

.node-detail{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.node-detail .eyebrow{margin-bottom:6px}
.node-detail h4{font:700 18px/1.25 var(--display);margin:0;letter-spacing:-.01em}
.node-detail .desc{margin-top:6px;color:var(--muted);font-size:14px;max-width:760px}
.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:14px 0 0;font-size:13.5px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.link-btn{cursor:pointer;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:1px 9px;font:500 12px var(--mono);color:var(--ink)}
.link-btn:hover{border-color:var(--accent);color:var(--accent)}
.locked{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:13px;color:var(--muted)}
.locked svg{flex:none;margin-top:2px;color:var(--ink)}
.locked b{color:var(--ink);font-weight:600}
.empty{color:var(--muted);font-size:14px;padding:12px 0}

/* ---------- proof badge ---------- */
.proof{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-width:760px}
.proof>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;font-size:13px;font-weight:600;flex-wrap:wrap}
.proof>summary::-webkit-details-marker{display:none}
.proof .p-icon{flex:none}
.proof-ok .p-icon,.proof-ok .p-label{color:var(--ok)}
.proof-warn .p-icon,.proof-warn .p-label{color:var(--warn)}
.proof-bad .p-icon,.proof-bad .p-label{color:var(--bad)}
.proof-none .p-icon,.proof-none .p-label{color:var(--muted)}
.proof .p-who{font-weight:500;color:var(--muted)}
.proof .p-model{font:500 11px var(--mono);padding:2px 7px;border-radius:99px;background:var(--surface-2);color:var(--ink)}
.proof .chev{margin-left:auto;color:var(--muted);transition:transform .15s;flex:none}
.proof[open] .chev{transform:rotate(180deg)}
.proof[open]>summary{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}
.proof-ok>summary{background:var(--ok-bg)} .proof-warn>summary{background:var(--warn-bg)} .proof-bad>summary{background:var(--bad-bg)}
.p-body{padding:12px 14px 14px;font-size:13.5px}
.p-body p+p{margin-top:8px}
.p-limit{border-left:3px solid var(--warn);padding:6px 10px;background:var(--warn-bg);border-radius:0 8px 8px 0;color:var(--ink)}
.p-body .kv{font-size:13px}
.p-hint{font-size:12.5px;color:var(--muted);margin-top:10px}

/* ---------- copy / code ---------- */
.copy-row{display:flex;align-items:stretch;gap:6px;margin-top:6px;min-width:0}
.copy-row code{flex:1;min-width:0;display:block;font:500 12.5px/1.5 var(--mono);background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:7px 10px;white-space:normal;overflow-wrap:anywhere}
.copy-btn{flex:none;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:0 10px;font:600 12px var(--body);color:var(--muted)}
.copy-btn:hover{color:var(--ink);border-color:var(--line-strong)}
.copy-btn.done{color:var(--ok);border-color:var(--ok)}
.icon-copy{cursor:pointer;border:0;background:none;padding:0 2px;color:var(--muted);vertical-align:middle}
.icon-copy:hover{color:var(--ink)}

/* ---------- submissions ---------- */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.filters{display:flex;flex-wrap:wrap;gap:6px}
.filter{cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:5px 12px;font-size:13px;font-weight:500}
.filter .n{font:500 11px var(--mono);color:var(--muted);margin-left:5px}
.filter[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.filter[aria-pressed="true"] .n{color:inherit;opacity:.75}
.select-wrap select{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:6px 12px;font-size:13px;max-width:100%}
.sub-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sub{padding:14px 16px;min-width:0}
.sub-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.sub-id{font:700 15px var(--mono)}
.sub-topic{font-size:13.5px;font-weight:600;min-width:0}
.sub-time{margin-left:auto;font-size:12px;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:5px;font:600 11.5px var(--body);padding:3px 9px;border-radius:99px;white-space:nowrap}
.st-Accepted{color:var(--ok);background:var(--ok-bg)}
.st-Rejected{color:var(--bad);background:var(--bad-bg)}
.st-Reported{color:var(--info);background:var(--info-bg)}
.st-Pending{color:var(--warn);background:var(--warn-bg)}
.sub-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:12px}
@media (min-width:760px){.sub-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.lbl{font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.verdict{font:600 12px var(--body);letter-spacing:0;text-transform:none;padding:1px 8px;border-radius:99px}
.verdict.ok{color:var(--ok);background:var(--ok-bg)} .verdict.bad{color:var(--bad);background:var(--bad-bg)} .verdict.none{color:var(--muted);background:var(--surface-2)}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.chk{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 8px 2px 6px;border-radius:99px;border:1px solid transparent}
.chk.ok{color:var(--ok);background:var(--ok-bg)}
.chk.bad{color:var(--bad);background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 40%,transparent);font-weight:600}
.chk.none{color:var(--muted);background:var(--surface-2)}
.sim{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12.5px;color:var(--muted)}
.meter{position:relative;flex:1;max-width:220px;height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.meter i{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--info)}
.meter.hi i{background:var(--bad)}
.sim b{color:var(--ink);font-variant-numeric:tabular-nums}
.votebar{position:relative;height:12px;margin-top:4px}
.votebar .track{position:absolute;inset:0;display:flex;border-radius:99px;overflow:hidden;background:var(--surface-2)}
.votebar .y{background:var(--ok);height:100%}
.votebar .n{background:var(--bad);height:100%}
.votebar .q{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);border-radius:2px}
.votebar .q::after{content:"quorum";position:absolute;top:-16px;left:50%;transform:translateX(-50%);font:500 9.5px var(--mono);color:var(--muted);letter-spacing:.06em}
.vote-wrap{padding-top:12px}
.vote-nums{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted);margin-top:8px}
.vote-nums b{color:var(--ink);font-variant-numeric:tabular-nums}
.vote-nums .y b{color:var(--ok)} .vote-nums .n b{color:var(--bad)}
.vote-note{font-size:12.5px;color:var(--muted);margin-top:4px}
.sub-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.sub-foot .outcome{color:var(--ink)}
.sub .proof{margin-top:10px}
.sub.flash{animation:flash 1.4s}
@keyframes flash{0%,40%{box-shadow:0 0 0 3px var(--accent)}100%{box-shadow:var(--shadow)}}

/* ---------- trio panels ---------- */
.trio{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:44px}
@media (min-width:980px){.trio{grid-template-columns:1.25fr 1fr 1fr}}
.panel{padding:18px;min-width:0}
.panel h2{font-size:19px;margin-bottom:8px}
.panel p.note{font-size:13.5px;color:var(--muted)}
.panel h3{font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:16px 0 4px}
.tools{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.tools li{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:10px;font-size:12.5px;align-items:baseline}
.tools code{font:500 12px var(--mono);color:var(--accent)}
.tools span{color:var(--muted)}
@media (max-width:420px){.tools li{grid-template-columns:minmax(0,1fr);gap:0}}
.bullets{margin:10px 0 0;padding-left:18px;font-size:13px;color:var(--muted)}
.bullets li+li{margin-top:4px}
.leak-list,.contract-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.leak{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px}
.leak .row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.leak .t{color:var(--muted);margin-top:4px}
.leak .score{margin-left:auto;font:600 12px var(--mono)}
.traced{color:var(--bad);background:var(--bad-bg)}
.badge.ok{color:var(--ok);background:var(--ok-bg)}
.clean{color:var(--muted);background:var(--surface-2)}
.contract{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.contract:last-child{border-bottom:0}
.contract .name{font-weight:600}
.contract .role{grid-column:1/-1;color:var(--muted);font-size:12px}
.chain-line{font-size:13px;color:var(--muted)}

/* ---------- footer / misc ---------- */
.foot{margin-top:56px;border-top:1px solid var(--line);padding:22px 0 34px;font-size:13px;color:var(--muted)}
.foot-in{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between}
.foot nav{display:flex;gap:16px}
.foot a{color:var(--muted)}
.notice{margin-top:20px;padding:14px 16px;border-radius:12px;background:var(--bad-bg);color:var(--ink);font-size:14px}

@media (max-width:560px){
  html{scroll-padding-top:12px}
  .top{position:static}
  .steps{grid-template-columns:minmax(0,1fr);gap:8px}
  .step{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;padding:10px 12px 12px}
  .step::before{grid-row:1/span 3;padding-top:3px}
  .step h3{margin:0 0 2px}
  .step .where{justify-self:start;margin-top:6px}
  .back{display:none}
  .pills{margin-left:0;width:100%}
  .intro{padding-top:28px}
  .sub-time{margin-left:0;width:100%}
  .graph-card,.panel{padding:14px}
  .proof .p-model{display:none}
  .kv{grid-template-columns:minmax(0,1fr);gap:0}
  .kv dd{margin-bottom:8px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
}

/* ---------- network totals ---------- */
.net-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin:22px 0 0;max-width:900px}
.net-stat{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}
.net-stat dt{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.net-stat dd{margin:4px 0 0;font:700 19px/1.2 var(--display);overflow-wrap:anywhere}

/* ---------- submissions: compact rows ---------- */
.sub{padding:0}
.sub-details>summary{list-style:none}.sub-details>summary::-webkit-details-marker{display:none}
.sub-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto 16px;align-items:center;gap:6px 12px;padding:11px 14px;cursor:pointer;border-radius:inherit}
.sub-row:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.sub-row .sub-topic{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sub-facts{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--muted)}
.sub-facts .fact.bad{color:var(--bad)}.sub-facts .outcome{color:var(--ink)}
.sub-row .sub-time{margin-left:0;white-space:nowrap}
.sub-row .chev{color:var(--muted);transition:transform .15s}
.sub-details[open]>.sub-row .chev{transform:rotate(180deg)}
.sub-details[open]>.sub-row{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}
.sub-body{padding:12px 16px 14px}
.sub-evidence{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:760px){.sub-evidence{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 14px}
.checklist .chk{background:none;border:0;padding:2px 0;border-radius:0;font-size:13px;gap:7px}
.checklist .chk.ok svg{color:var(--ok)}.checklist .chk.ok{color:var(--ink)}
.sub-more{display:flex;justify-content:center;margin-top:12px}
.sub-more:empty{display:none}
.more-btn{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;padding:9px 18px;font:600 13px var(--body)}
.more-btn:hover{border-color:var(--accent)}
@media (max-width:640px){
  .sub-row{grid-template-columns:auto auto minmax(0,1fr) 16px;padding:11px 12px}
  .sub-row .sub-topic{grid-column:1/-1;grid-row:2;white-space:normal}
  .sub-row .sub-facts{grid-column:1/-1;grid-row:3}
  .sub-row .sub-time{grid-column:3;grid-row:1;justify-self:end}
  .sub-row .chev{grid-column:4;grid-row:1}
  .sub-body{padding:12px}
}
