/* The Counterparty — broadsheet theme.
   Layout rules are shared with the sibling masthead; only palette and
   typography differ. Generated by tools/gen-brand-css.js from brands.js. */
/* Shared entity-page styles — extracted from gen-entity-pages.js STYLE (was ~4.2KB inlined per page) */

    :root { --bg:#FBF7F0; --text:#12100E; --muted:#5C5750; --accent:#8C2D19; --border:#E2D9CB; --bg-soft:#F3ECE1; }
    /* Explicit app theme choice wins; else follow OS. data-theme is set by the
       no-flash head script (reads localStorage "di.theme"). */
    :root[data-theme="dark"] { --bg:#14120F; --text:#F2EDE4; --muted:#A79E92; --accent:#D4785E; --border:#2A2621; --bg-soft:#1C1916; }
    @media (prefers-color-scheme: dark) {
      :root:not([data-theme="light"]) { --bg:#14120F; --text:#F2EDE4; --muted:#A79E92; --accent:#D4785E; --border:#2A2621; --bg-soft:#1C1916; }
    }
    * { box-sizing: border-box; }
    body { margin:0; font-family:'Times New Roman', Times, 'Liberation Serif', serif; background:var(--bg); color:var(--text); line-height:1.65; -webkit-font-smoothing:antialiased; }
    header.di-hdr { position:sticky; top:0; z-index:10; background:color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter:saturate(160%) blur(8px); border-bottom:1px solid var(--border); }
    .di-hdr-inner { max-width:880px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px 24px; }
    .di-hdr a.brand { color:var(--text); text-decoration:none; font-weight:700; letter-spacing:-0.01em; font-size:17px; }
    .di-hdr nav a { color:var(--muted); text-decoration:none; margin-left:18px; font-size:14px; font-weight:500; }
    .di-hdr nav a:hover { color:var(--text); }
    main.di-guide { max-width:760px; margin:0 auto; padding:48px 24px 80px; }
    .breadcrumb { color:var(--muted); font-size:13px; margin-bottom:24px; }
    .breadcrumb a { color:var(--muted); text-decoration:none; }
    .breadcrumb a:hover { color:var(--accent); }
    .di-guide h1 { font-family:'Times New Roman', Times, 'Liberation Serif', serif; font-size:38px; line-height:1.18; letter-spacing:-0.015em; margin:0 0 8px; }
    .di-guide .ent-meta { color:var(--muted); font-size:14px; margin:0 0 24px; }
    .di-guide h2 { font-family:'Times New Roman', Times, 'Liberation Serif', serif; font-size:26px; margin:48px 0 16px; line-height:1.3; }
    .di-guide h3 { font-size:20px; margin:32px 0 12px; }
    .di-guide p { margin:0 0 18px; font-size:17px; }
    .di-guide a { color:var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
    .di-guide ul, .di-guide ol { padding-left:24px; margin:0 0 18px; }
    .di-guide li { margin-bottom:8px; }
    .di-guide blockquote { margin:24px 0; padding:14px 20px; border-left:3px solid var(--accent); background:var(--bg-soft); font-style:italic; color:var(--muted); }
    .di-guide code { background:var(--bg-soft); padding:2px 6px; border-radius:4px; font-size:0.92em; }
    .di-guide table { width:100%; border-collapse:collapse; margin:24px 0; font-size:14px; }
    .di-guide th, .di-guide td { border:1px solid var(--border); padding:8px 12px; text-align:left; vertical-align:top; }
    .di-guide th { background:var(--bg-soft); font-weight:600; }
    .type-badge { display:inline-block; margin-left:10px; font-size:12px; font-weight:500; color:var(--accent); padding:3px 10px; background:var(--bg-soft); border:1px solid var(--border); border-radius:99px; text-transform:uppercase; letter-spacing:0.04em; vertical-align:middle; }
    .cta-rail { margin:60px 0 0; padding:28px; border:1px solid var(--border); border-radius:12px; background:var(--bg-soft); }
    .cta-rail h3 { margin:0 0 12px; font-size:18px; }
    .cta-rail p { font-size:15px; color:var(--muted); margin:0 0 16px; }
    .cta-rail .btns a { display:inline-block; padding:10px 18px; background:var(--accent); color:#fff; text-decoration:none; border-radius:8px; font-weight:600; font-size:14px; margin-right:10px; }
    .cta-rail .btns a.outline { background:transparent; color:var(--accent); border:1px solid var(--accent); }
    footer.di-foot { border-top:1px solid var(--border); padding:36px 24px; text-align:center; color:var(--muted); font-size:13px; }
    footer.di-foot a { color:var(--muted); text-decoration:none; margin:0 10px; }
    footer.di-foot a:hover { color:var(--text); }
    .app-cta { margin-top:32px; padding:18px 22px; border:1px solid var(--accent); border-radius:10px; background:var(--bg-soft); display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
    .app-cta strong { font-size:16px; }
    .app-cta a { display:inline-block; padding:10px 16px; background:var(--accent); color:#fff !important; text-decoration:none !important; border-radius:8px; font-weight:600; font-size:14px; }
    /* Dark-mode accent is light (#818CF8): white button text = 2.98:1 (fails WCAG).
       Use near-black label on the accent fill in dark = 6.45:1. Both theme signals. */
    :root[data-theme="dark"] .cta-rail .btns a:not(.outline), :root[data-theme="dark"] .app-cta a { color:#0B0E1A !important; }
    @media (prefers-color-scheme: dark) {
      :root:not([data-theme="light"]) .cta-rail .btns a:not(.outline),
      :root:not([data-theme="light"]) .app-cta a { color:#0B0E1A !important; }
    }


/* ---- broadsheet article layer (mockup: "The Counterparty — Article") ---- */
header.di-hdr { position:static; backdrop-filter:none; background:var(--bg-soft); border-bottom:1px solid var(--border); }
.di-hdr-inner { padding:9px 24px; }
.di-hdr a.brand { font-size:15px; letter-spacing:.02em; }
.di-hdr nav a { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; }
main.di-guide { max-width:760px; padding:38px 24px 60px; }
.breadcrumb { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding-bottom:18px; border-bottom:1px solid var(--border); margin-bottom:26px; }
.di-guide h1 { font-size:clamp(30px,5vw,44px); line-height:1.08; letter-spacing:-.014em; font-weight:700; margin:0 0 14px; }
.di-guide .ent-meta { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 6px; }
.di-guide .ent-meta:last-of-type { padding-bottom:16px; border-bottom:1px solid var(--text); margin-bottom:24px; }
.di-guide h2 { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); font-weight:600; margin:44px 0 14px; padding-bottom:8px; border-bottom:1px solid var(--border); }
.di-guide h2::before { content:"\25A0\00A0"; }
.di-guide h3 { font-size:18px; font-weight:700; letter-spacing:-.005em; margin:28px 0 8px; }
.di-guide p { font-size:16.5px; line-height:1.75; margin:0 0 18px; }
/* Drop cap on the opening paragraph of the overview, as in the article mockup. */
.di-guide h2#overview + p::first-letter { float:left; font-size:56px; line-height:.82; font-weight:700; padding:7px 10px 0 0; color:var(--accent); }
.di-guide a { text-decoration:none; border-bottom:1px solid var(--accent); }
.di-guide a:hover { color:var(--accent); }
.type-badge { border-radius:0; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing:.12em; }
.di-guide ul, .di-guide ol { font-size:15.5px; line-height:1.7; }
.di-sources h2 { border-bottom:1px solid var(--border); }
.di-sources .src-list { list-style:none; padding:0; }
.di-sources .src-list li { padding:6px 0; border-bottom:1px dotted var(--border); font-size:13px; }
footer.di-foot { border-top:3px double var(--text); font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
@media (max-width:720px){ main.di-guide{padding:24px 18px 48px} .di-guide p{font-size:16px} }

/* ---- depth blocks (inject-cp-depth.js) ---- */
.di-guide ul.cp-src,.di-guide ul.cp-events,.di-guide ul.cp-wire,.di-guide ul.cp-related{list-style:none;padding:0;margin:0 0 18px}
.di-guide ul.cp-src li,.di-guide ul.cp-events li,.di-guide ul.cp-wire li,.di-guide ul.cp-related li{padding:7px 0;border-bottom:1px dotted var(--border);font-size:14.5px;line-height:1.55}
.di-guide ul.cp-wire .d{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--muted);margin-right:8px}
.di-guide ul.cp-wire i,.di-guide ul.cp-related i{color:var(--muted);font-style:normal;font-size:12px}
.di-guide ul.cp-related li a{border-bottom:1px solid var(--accent)}
