/* The Counterparty — broadsheet system. Generated by tools/cp-theme.js.
   Shared by the front page, the archive and the ledger. */
:root{--paper:#FBF7F0;--ink:#12100E;--muted:#5C5750;--accent:#8C2D19;--rule:#E2D9CB;--soft:#F3ECE1;--green:#1F6B3D}
:root[data-theme="dark"]{--paper:#14120F;--ink:#F2EDE4;--muted:#A79E92;--accent:#D4785E;--rule:#2A2621;--soft:#1C1916;--green:#57A277}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#14120F;--ink:#F2EDE4;--muted:#A79E92;--accent:#D4785E;--rule:#2A2621;--soft:#1C1916;--green:#57A277}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Times New Roman',Times,'Liberation Serif',serif;line-height:1.55}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
.mono{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace}

/* utility bar */
.util{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 36px;border-bottom:1px solid var(--rule);background:var(--soft);font-size:10.5px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.util a{border-bottom:1px solid var(--rule)}
.shell{max-width:1300px;margin:0 auto;padding:0 36px}

/* masthead + nav */
.mast{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:40px 0 24px;border-bottom:1px solid var(--ink)}
.mast .rail{font-size:9.5px;letter-spacing:.14em;color:var(--muted);line-height:1.8;min-width:0;text-transform:uppercase}
.wordmark{font-size:clamp(34px,5.2vw,64px);font-weight:700;letter-spacing:-.015em;line-height:1;white-space:nowrap}
.tagline{font-size:11px;letter-spacing:.3em;color:var(--accent);margin-top:13px;text-transform:uppercase}
.nav{display:flex;justify-content:center;gap:30px;padding:12px 0;border-bottom:3px double var(--ink);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap}
.nav a.on{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:4px}

/* breaking band */
.band{display:flex;align-items:center;gap:14px;padding:10px 16px;margin:14px 0 0;background:var(--accent);color:var(--paper)}
.band .chip{font-size:9.5px;font-weight:700;letter-spacing:.2em;background:var(--paper);color:var(--accent);padding:3px 9px;white-space:nowrap}
.band .txt{font-size:13.5px;font-weight:600;line-height:1.4}
.band a{margin-left:auto;font-size:10px;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.5)}

/* section kickers + headings */
.kicker{font-size:10px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin-bottom:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sec{border-top:3px double var(--ink);padding:26px 0 32px}
.sec h2{font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}
.sec .note{font-size:12px;color:var(--muted);margin:0 0 18px;max-width:70ch;line-height:1.6}

/* front-page columns */
.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:0;padding:26px 0 34px}
.col-l{padding-right:32px;border-right:1px solid var(--rule)}
.col-r{padding-left:32px}
.item{border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:16px}
.item:last-child{border-bottom:0}
.item .meta{font-size:9.5px;color:var(--muted);letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}
.item h3{font-size:20px;font-weight:600;line-height:1.25;margin:0 0 7px;letter-spacing:-.005em}
.item .dek{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.chips{margin-top:8px;font-size:11px;color:var(--muted);letter-spacing:.04em}
.chips a{border-bottom:1px solid var(--rule)}

/* lead + drop cap */
.lead h3{font-size:34px;line-height:1.1;letter-spacing:-.012em}
.lead .dek{font-size:16px;color:var(--ink)}
.dropcap{float:left;font-size:52px;line-height:.82;font-weight:700;padding:6px 10px 0 0;color:var(--accent)}

/* figure box */
.fig{border:1px solid var(--ink);background:var(--soft);padding:16px 18px 12px;margin:20px 0}
.fig-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:12px;flex-wrap:wrap}
.fig-head .l{font-size:9.5px;letter-spacing:.16em;color:var(--accent);text-transform:uppercase}
.fig-head .r{font-size:9.5px;color:var(--muted)}
.fig svg{width:100%;height:auto;display:block}
.fig .src{font-size:9.5px;color:var(--muted);margin-top:8px;letter-spacing:.04em}

/* almanac */
.almanac{font-size:11.5px}
.almanac .row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dotted var(--rule)}
.almanac .row span{color:var(--muted)}

/* beats (recurring columns) */
.beats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink)}
.beats>div{padding:20px 22px;border-right:1px solid var(--rule)}
.beats>div:last-child{border-right:0}
.beats h3{font-size:19px;font-weight:700;margin:0 0 6px}
.beats p{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0 0 10px}
.beats .go{font-size:10px;letter-spacing:.1em;color:var(--accent);text-transform:uppercase}

/* tables (ledger) */
.tbl{border:1px solid var(--ink);overflow-x:auto}
.tbl .tr{display:grid;align-items:center}
.tbl .th{font-size:9.5px;letter-spacing:.1em;color:var(--muted);background:var(--soft);border-bottom:1px solid var(--ink);text-transform:uppercase}
.tbl .tr+.tr{border-top:1px solid var(--rule)}
.tbl span,.tbl a{padding:11px 14px;font-size:13.5px}
.tbl .th span{padding:9px 14px}
.tbl .loss{text-align:right;font-variant-numeric:tabular-nums}

/* archive rows */
.filters{display:flex;gap:8px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:10.5px;letter-spacing:.08em;flex-wrap:wrap;text-transform:uppercase}
.filters a,.filters span{padding:6px 14px;border:1px solid var(--ink)}
.filters .on{background:var(--ink);color:var(--paper)}
.rows a.row{display:grid;grid-template-columns:170px 1fr 150px;gap:20px;padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.rows .k{font-size:10px;color:var(--accent);letter-spacing:.12em;text-transform:uppercase}
.rows .k i{color:var(--muted);font-style:normal;display:block;margin-top:3px}
.rows .t{font-size:20px;font-weight:700;line-height:1.25;display:block;margin-bottom:4px}
.rows .d{font-size:12.5px;color:var(--muted);line-height:1.5}
.rows .r{font-size:10px;color:var(--muted);text-align:right;letter-spacing:.06em;text-transform:uppercase}
.group{font-size:10px;letter-spacing:.24em;color:var(--accent);padding:18px 0 10px;border-bottom:1px solid var(--ink);text-transform:uppercase}

/* graph cards */
.graph{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.graph .card{border-top:3px solid var(--ink);padding-top:12px}
.graph h3{font-size:19px;margin:0 0 4px;font-weight:700}
.graph .st{font-size:9.5px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:8px}
.graph p{font-size:13.5px;color:var(--muted);line-height:1.6;margin:0 0 8px}

/* charter + colophon */
.charter{display:grid;grid-template-columns:1fr 1.6fr;gap:44px;align-items:start}
.charter .promises{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;font-size:13.5px;line-height:1.65;color:var(--muted)}
.charter .promises b{color:var(--ink);font-size:15px}
.foot{border-top:3px double var(--ink);padding:18px 0 34px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}

@media(max-width:900px){
 .util,.shell{padding-left:18px;padding-right:18px}
 .mast{grid-template-columns:1fr}.mast .rail{display:none}
 .nav{justify-content:flex-start;overflow-x:auto;white-space:nowrap;gap:20px;flex-wrap:nowrap}
 .grid,.graph,.charter,.charter .promises,.beats{grid-template-columns:1fr}
 .beats>div{border-right:0;border-bottom:1px solid var(--rule)}
 .col-l{border-right:0;padding-right:0;border-bottom:1px solid var(--rule);padding-bottom:24px;margin-bottom:24px}
 .col-r{padding-left:0}
 .tbl .tr{min-width:720px}
 .rows a.row{grid-template-columns:1fr;gap:6px}
 .rows .r{text-align:left}
 .band{flex-wrap:wrap}.band a{margin-left:0}
}