:root{
  --paper:#eef0ea; --paper-2:#e3e6dd; --ink:#132119; --ink-2:#3d4a42; --ink-3:#6b776f; --rule:#c7cdc2;
  --green:#1f5d45; --green-soft:#d8e5dc; --gold:#a8791f; --gold-soft:#efe4c6; --ox:#7a2e2e; --ox-soft:#eddcdc; --sel:#ffffff;
  --s0001:#1f5d45;--s0002:#a8791f;--s0003:#2e5f8a;--s0004:#7a2e2e;--s0005:#5c4a8a;--s0006:#3f7a3f;--s0007:#8a5a2e;--s0008:#2f6f7a;
  color-scheme:light dark;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#101713; --paper-2:#171f1a; --ink:#e8ebe4; --ink-2:#bfc7be; --ink-3:#8a948c; --rule:#2c3630;
  --green:#5fb08e; --green-soft:#1b2f26; --gold:#d4a94a; --gold-soft:#2b2412; --ox:#d16a6a; --ox-soft:#31201f; --sel:#1c2620;
  --s0001:#5fb08e;--s0002:#d4a94a;--s0003:#6fa3d6;--s0004:#d16a6a;--s0005:#a293d8;--s0006:#7fbf6f;--s0007:#c98a55;--s0008:#5fb3c2; }}
:root[data-theme="dark"]{
  --paper:#101713; --paper-2:#171f1a; --ink:#e8ebe4; --ink-2:#bfc7be; --ink-3:#8a948c; --rule:#2c3630;
  --green:#5fb08e; --green-soft:#1b2f26; --gold:#d4a94a; --gold-soft:#2b2412; --ox:#d16a6a; --ox-soft:#31201f; --sel:#1c2620;
  --s0001:#5fb08e;--s0002:#d4a94a;--s0003:#6fa3d6;--s0004:#d16a6a;--s0005:#a293d8;--s0006:#7fbf6f;--s0007:#c98a55;--s0008:#5fb3c2; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;line-height:1.55;margin:0;padding-block:0 72px;padding-inline:16px}
.wrap{max-width:1180px;margin:0 auto}
h1,h2,h3,h4{font-family:"IM Fell English",Georgia,serif;font-weight:400;text-wrap:balance;margin:0}
.sc{font-family:"IM Fell English SC","IM Fell English",serif}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.mono{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums}
p{max-width:68ch}
a{color:var(--green)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.fine{font-size:13px;color:var(--ink-3)}
/* nav */
nav.top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--ink)}
nav.top .brand{font-family:"IM Fell English",serif;font-size:24px;color:var(--ink);text-decoration:none;margin-right:auto}
nav.top .brand b{color:var(--gold);font-weight:400}
nav.top a.l{font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none;letter-spacing:.02em}
nav.top a.l[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--gold)}
nav.top a.l.soon{color:var(--ink-3)}
/* masthead */
.mast{border:1px solid var(--ink);margin-top:24px;padding:28px 32px;position:relative;background:var(--paper-2)}
.mast:before{content:"";position:absolute;inset:6px;border:1px solid var(--rule);pointer-events:none}
.mast .row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end}
.mast h1{font-size:clamp(38px,7vw,72px);line-height:1;letter-spacing:.01em}
.mast .sub{font-family:"IM Fell English",serif;font-style:italic;font-size:20px;color:var(--ink-2);margin-top:8px;max-width:60ch}
.seal{width:92px;height:92px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:"IM Fell English SC",serif;font-size:11px;text-align:center;line-height:1.15;letter-spacing:.06em;background:var(--gold-soft);flex:none}
.seal b{font-size:26px;display:block;font-weight:400}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin-top:22px;border-top:1px solid var(--rule)}
.stat{padding:12px 14px 4px 0}
.stat .v{font-family:"IM Fell English",serif;font-size:32px;line-height:1}
.stat .k{font-size:13px;color:var(--ink-3);margin-top:2px}
section{margin-top:48px}
.sec-h{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--ink);padding-bottom:8px;margin-bottom:20px;flex-wrap:wrap}
.sec-h h2{font-size:32px}
.sec-h .n{font-family:"IM Fell English SC",serif;color:var(--gold);font-size:18px}
.sec-h .r{margin-left:auto;font-size:14px;color:var(--ink-3)}
.lede{font-size:20px;font-family:"IM Fell English",serif;color:var(--ink-2);max-width:60ch}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px 40px}
/* ledger */
.ledger{border:1px solid var(--rule);background:var(--paper-2);padding:16px;margin-top:8px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.tb-group{display:flex;border:1px solid var(--rule);border-radius:3px;overflow:hidden}
.tb-group button{background:none;border:0;padding:6px 12px;font:600 13px "Source Sans 3",sans-serif;color:var(--ink-2);cursor:pointer}
.tb-group button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
label.tog{display:inline-flex;gap:8px;align-items:center;font-size:14px;color:var(--ink-2);cursor:pointer}
.tb-hint{margin-left:auto;font-size:13px;color:var(--ink-3)}
svg text{font-family:"IBM Plex Mono",monospace;fill:var(--ink-2);font-size:11px}
svg .yr{cursor:pointer}
svg .yr:hover text,svg .yr[data-sel="1"] text{fill:var(--ink);font-weight:500}
svg .owner-lab{cursor:pointer;fill:var(--ink);font-family:"Source Sans 3",sans-serif;font-size:13px}
svg .owner-lab:hover{fill:var(--green)}
svg .cell{cursor:pointer;stroke:var(--paper-2);stroke-width:1}
svg .cell:hover{stroke:var(--ink);stroke-width:1.5}
svg .grid{stroke:var(--rule);stroke-dasharray:2 3}
svg .axis{fill:var(--ink-3)}
svg .paylab{font-size:9px;fill:var(--ink-3)}
.panel{margin-top:14px;border-top:1px solid var(--rule);padding-top:14px;display:grid;grid-template-columns:1.1fr 1fr;gap:24px}
@media (max-width:820px){.panel{grid-template-columns:1fr}}
.panel h3{font-size:28px;margin-bottom:6px}
.k{font-size:13px;color:var(--ink-3)}
table{border-collapse:collapse;width:100%;font-size:14px}
th{text-align:left;font-weight:600;color:var(--ink-3);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid var(--rule)}
td{padding:6px 8px;border-bottom:1px solid var(--rule);vertical-align:top}
td.num,th.num{text-align:right;font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.me td{background:var(--sel)}
tr.link{cursor:pointer}
tr.link:hover td{background:var(--sel)}
.tscroll{overflow-x:auto}
.chip{display:inline-block;padding:1px 8px;border:1px solid var(--rule);border-radius:2px;font-size:12px;color:var(--ink-2);margin:0 6px 6px 0;white-space:nowrap}
.chip.gold{border-color:var(--gold);color:var(--gold)}
.chip.ox{border-color:var(--ox);color:var(--ox)}
.chip.green{border-color:var(--green);color:var(--green)}
.swatch{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:middle;border-radius:1px}
.lore{font-family:"IM Fell English",serif;font-size:17px;color:var(--ink-2);border-left:2px solid var(--gold);padding-left:12px;margin:10px 0;max-width:68ch}
.drill{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.drill a,.drill button{background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:5px 10px;font:600 13px "Source Sans 3",sans-serif;color:var(--ink);cursor:pointer;text-decoration:none}
.drill a:hover,.drill button:hover{border-color:var(--ink)}
/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{border:1px solid var(--rule);background:var(--paper-2);padding:14px;position:relative;color:inherit;text-decoration:none;display:block}
.card:hover{border-color:var(--ink)}
.card .bar{height:4px;margin:-14px -14px 12px}
.card .art{display:block;width:calc(100% + 28px);height:96px;object-fit:contain;margin:-14px -14px 12px;border-bottom:1px solid var(--rule);background:#111}
.card h3{font-size:24px}
.card .own{color:var(--ink-3);font-size:14px}
.card .row{display:flex;justify-content:space-between;font-size:14px;margin-top:6px;border-top:1px solid var(--rule);padding-top:6px}
.card .big{font-family:"IM Fell English",serif;font-size:34px;line-height:1;margin-top:8px}
/* page header for sub-pages */
.ph{margin-top:28px;display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:14px}
.ph h1{font-size:clamp(34px,5vw,56px);line-height:1.05}
.ph .crest{width:64px;height:64px;border-radius:50%;border:2px solid var(--rule);display:grid;place-items:center;font-family:"IM Fell English SC",serif;font-size:14px;flex:none}
.ph .crest.img{width:112px;height:112px;overflow:hidden;background:#111}
.ph .crest.img img{width:100%;height:100%;object-fit:cover;display:block}
.banner{display:block;width:100%;max-height:220px;object-fit:contain;background:#111;border:1px solid var(--rule);margin-bottom:14px}
.thumb{width:100%;max-height:120px;object-fit:cover;display:block;border:1px solid var(--rule);margin-bottom:10px}
.ph .meta{color:var(--ink-3);font-size:14px}
.crumbs{margin-top:18px;font-size:13px;color:var(--ink-3)}
.crumbs a{color:var(--ink-3)}
.grid2{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}
@media (max-width:820px){.grid2{grid-template-columns:1fr}}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:15px}
.kv dt{color:var(--ink-3)}
.kv dd{margin:0}
.spark{width:100%;height:120px;display:block}
.bracket{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.bracket .g{border:1px solid var(--rule);padding:10px 12px;background:var(--paper-2);font-size:14px}
.bracket .g .t{display:flex;justify-content:space-between;gap:10px}
.bracket .g .w{font-weight:600}
.soon{border:1px dashed var(--rule);padding:18px 22px;background:var(--paper-2);max-width:70ch}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px;font-size:14px}
select,input[type=search]{font:inherit;font-size:14px;padding:4px 8px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:2px}
.contract{font-family:"IBM Plex Mono",monospace;font-size:13px;word-break:break-all;background:var(--paper-2);border:1px solid var(--rule);padding:8px 10px;display:inline-block}
footer{margin-top:64px;border-top:1px solid var(--rule);padding-top:14px;font-size:13px;color:var(--ink-3);display:flex;gap:16px;flex-wrap:wrap}
footer .sp{margin-left:auto}
@media (prefers-reduced-motion:no-preference){ .cell{transition:opacity .15s} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
