/* ============================================================
   Cantillon Research: deep dive stylesheet (27 Oct 2026)

   Loaded after assets/brief.css on every deep-dive-*.html page and
   the deep dive template, both linked by inject_chrome.py after the
   page's own <style>. brief.css covers what the two share (hero,
   sections, tables, gate); this file covers what only research
   issues have: the conclusion box, scorecard, verification log, net
   cash bridge, three worlds, flags, tear sheet, and the Cantillon
   File chapter. Colours come from tokens only; theme.css swaps in
   the light palette by default.
   ============================================================ */

.meta-bar{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;font-size:.88rem;color:var(--text-3);margin:0 0 1.2rem}
.meta-bar span,.meta-bar b{color:var(--text-1);font-weight:500}
.elite-badge,.rev-badge{display:inline-block;font-size:.8rem;font-weight:700;color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);border:0;border-radius:5px;padding:.15rem .55rem}
.body-p{font-size:1.02rem;line-height:1.7;color:var(--text-2);margin:0 0 1rem}
.body-p strong{color:var(--text-1);font-weight:650}
.correction{font-size:.95rem;line-height:1.6;color:var(--text-1);background:color-mix(in srgb,var(--warn) 10%,transparent);border-left:3px solid var(--warn);border-radius:0 10px 10px 0;padding:.8rem 1rem;margin:0 0 1.2rem}

.callout{background:var(--bg-2);border:0;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:1rem 1.2rem;margin:1.2rem 0;font-size:1rem;line-height:1.7;color:var(--text-2)}
.callout.bear{border-left-color:var(--bear)} .callout.bull{border-left-color:var(--bull)} .callout.warn{border-left-color:var(--warn)}
.callout strong{color:var(--text-1);font-weight:650}

.gate-tag{display:inline-block;font-size:.8rem;font-weight:700;border-radius:5px;padding:.12rem .5rem;margin-left:.6rem;vertical-align:middle;border:0}
.gate-tag.pass{color:var(--bull);background:color-mix(in srgb,var(--bull) 13%,transparent)}
.gate-tag.wait{color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,transparent)}
.gate-tag.fail{color:var(--bear);background:color-mix(in srgb,var(--bear) 13%,transparent)}
.pass-c,.yes,.ok,.f-clear,.st-conf{color:var(--bull)} .fail-c,.no,.f-raised,.st-unav{color:var(--bear)} .warn-c,.amber,.f-noted,.st-corr{color:var(--warn)} .st-est{color:var(--text-3)}

/* The conclusion box: eight questions, one action */
.concl{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0 0 1.6rem}
.concl-head{font-size:1rem;font-weight:700;color:var(--gold);padding:.9rem 1.1rem .5rem}
.concl table{width:100%;border-collapse:collapse;font-size:.97rem}
.concl td{padding:.6rem 1.1rem;border-bottom:1px solid var(--border);color:var(--text-2);line-height:1.5}
.concl td:last-child{text-align:right;color:var(--text-1);font-weight:650;white-space:nowrap}
.concl tr:last-child td{border-bottom:0;color:var(--text-1);font-weight:650}
.concl .lock{color:var(--text-3);font-weight:600}
.concl-foot{font-size:.9rem;color:var(--text-3);padding:.75rem 1.1rem .9rem;border-top:1px solid var(--border)}

/* Scorecard */
.scorecard{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:1.3rem 1.4rem;margin:.4rem 0 .8rem}
.score-head{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}
.score-total{line-height:1}
.score-num{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;color:var(--gold)}
.score-max{font-size:1.1rem;color:var(--text-3)}
.score-was{font-size:.9rem;color:var(--text-3)}
.score-verdict{display:flex;flex-direction:column;gap:.35rem}
.score-tier{font-size:1rem;font-weight:750;color:var(--gold)}
.score-timing{font-size:.92rem;font-weight:650;color:var(--warn)}
.score-table td:nth-child(2){color:var(--text-1);font-weight:700;text-align:center;white-space:nowrap}
.score-scale{font-size:.9rem;line-height:1.7;color:var(--text-3);margin-top:.9rem}
.score-scale b{color:var(--text-2);font-weight:650}

/* Verification log, flags, checks */
.verif-stamp{display:inline-block;font-size:.82rem;font-weight:700;color:var(--bull);background:color-mix(in srgb,var(--bull) 12%,transparent);border:0;border-radius:5px;padding:.15rem .55rem;margin-bottom:.8rem}
.vlog td:nth-child(6){white-space:nowrap;font-weight:650}
.flags td:nth-child(2){white-space:nowrap;font-weight:650;text-align:center}
.checks td:nth-child(3){color:var(--gold);white-space:nowrap}
.score-table,.vlog,.flags,.checks,.worlds{width:100%;border-collapse:collapse;font-size:.95rem}

/* Net cash bridge */
.bridge{width:100%;border-collapse:collapse;font-size:.97rem}
.bridge td{padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text-2)}
.bridge td:nth-child(2){text-align:right;white-space:nowrap;color:var(--text-1)}
.bridge tr.minus td:first-child{padding-left:1.6rem;color:var(--text-3)}
.bridge tr.minus td:nth-child(2){color:var(--bear)}
.bridge tr.total td{border-top:2px solid var(--gold);border-bottom:0;padding-top:.7rem;color:var(--gold);font-weight:750}

/* Three worlds */
.worlds td:nth-child(1){color:var(--text-1);font-weight:650}
.worlds .w-bear td:nth-child(1){color:var(--bear)}
.worlds .w-base td:nth-child(1){color:var(--gold)}
.worlds .w-bull td:nth-child(1){color:var(--bull)}
.worlds tr.ev td{border-top:2px solid var(--gold);color:var(--gold);font-weight:700}

/* Tear sheet and stat grids */
.tear{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:1.3rem;margin:.5rem 0}
.tear-grid,.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem 1.4rem}
.tear-item,.stat{display:flex;flex-direction:column;gap:.15rem}
.tear-k,.stat .k{font-size:.85rem;color:var(--text-3)}
.tear-v,.stat .v{font-size:1rem;font-weight:700;color:var(--text-1)}
.tear-v.gold{color:var(--gold)} .tear-v.bull{color:var(--bull)} .tear-v.bear{color:var(--bear)} .tear-v.warn{color:var(--warn)}
.bignum{font-size:2.2rem;font-weight:800;letter-spacing:-.02em;color:var(--text-1);line-height:1.1}
.one-num .body{font-size:1rem;line-height:1.65;color:var(--text-2)}
.paywall-note{font-size:.92rem;line-height:1.6;color:var(--text-3);max-width:52ch}

/* ── The Cantillon File chapter (scripts/file_chapter.py) ──── */
.file-chapter{margin:2.6rem 0 0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg)}
.file-chapter .fc-head{padding:1.2rem 1.3rem 1rem;background:var(--bg-2);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.35rem}
.file-chapter .fc-kicker{font-size:.9rem;font-weight:700;color:var(--gold)}
.file-chapter h2{font-size:1.35rem;font-weight:750;line-height:1.25;color:var(--text-1);margin:0}
.file-chapter .fc-intro{font-size:.98rem;line-height:1.6;color:var(--text-2);margin:0}
.file-chapter .fc-stats{display:flex;flex-wrap:wrap;gap:.6rem;padding:1rem 1.3rem 0}
.file-chapter .fc-stat{display:flex;flex-direction:column;gap:.1rem;padding:.6rem .85rem;border:1px solid var(--border);border-radius:10px;min-width:9rem}
.file-chapter .fc-stat span{font-size:.84rem;color:var(--text-3)}
.file-chapter .fc-stat b{font-size:1.05rem;font-weight:750;color:var(--text-1)}
.file-chapter ol{list-style:none;margin:0;padding:.6rem 1.3rem 0;counter-reset:fc}
.file-chapter li{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.2rem .6rem;padding:.85rem 0;border-bottom:1px solid var(--border)}
.file-chapter li:last-child{border-bottom:0}
.file-chapter li::before{counter-increment:fc;content:counter(fc,decimal-leading-zero);grid-row:span 2;font-size:.9rem;font-weight:750;color:var(--gold);padding-top:.1rem}
.file-chapter .fc-k{font-size:.86rem;font-weight:650;color:var(--text-3)}
.file-chapter .fc-v{font-size:1.02rem;line-height:1.55;color:var(--text-1)}
.file-chapter .fc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;padding:.9rem 1.3rem 1.1rem;border-top:1px solid var(--border);font-size:.9rem;color:var(--text-3)}
.file-chapter .fc-foot a{font-weight:650}

/* Link from a File page back to its deep dive (inject_chrome.py) */
.cr-deeplink{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin:1rem 0 1.4rem;padding:.85rem 1.1rem;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:var(--bg-2);font-size:.97rem;color:var(--text-2)}
.cr-deeplink b{color:var(--text-1);font-weight:700}
.cr-deeplink a{font-weight:650;white-space:nowrap}

@media (max-width:640px){
  .score-num{font-size:2.1rem}
  .file-chapter .fc-stat{min-width:0;flex:1 1 40%}
}
