
:root{
  --paper:#F7F4EC;
  --ink:#12100A;
  --accent:#6B2D5B;
  --support:#7A6A4F;
  --rule:color-mix(in srgb, var(--ink) 15%, var(--paper));
  --rule-mid:color-mix(in srgb, var(--ink) 30%, var(--paper));
  --rule-strong:color-mix(in srgb, var(--ink) 58%, var(--paper));
  --meta:color-mix(in srgb, var(--support) 62%, var(--ink));
  --wash:color-mix(in srgb, var(--ink) 4%, var(--paper));
  --measure:66ch;
}

@font-face{font-family:'Zilla Slab';src:url('/fonts/zillaslab-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Zilla Slab';src:url('/fonts/zillaslab-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Zilla Slab';src:url('/fonts/zillaslab-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Commissioner';src:url('/fonts/commissioner-var.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Courier Prime';src:url('/fonts/courierprime-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Courier Prime';src:url('/fonts/courierprime-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Commissioner',ui-sans-serif,sans-serif;
  font-size:17px;
  line-height:1.62;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:'tnum' 1,'lnum' 1;
  text-rendering:optimizeLegibility;
}

.wrap{max-width:78rem;margin:0 auto;padding:0 1.5rem}

/* ---------- masthead ---------- */
.mast{padding:2.75rem 0 0}
.mast__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem}
.mast__name{
  font-family:'Zilla Slab',serif;font-weight:700;
  font-size:clamp(1.9rem,4.6vw,3.25rem);line-height:1.02;letter-spacing:-.018em;
  margin:0;text-transform:none;
}
.mast__name a{color:inherit;text-decoration:none}
.mast__folio{
  font-family:'Courier Prime',monospace;font-size:.78rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--meta);white-space:nowrap;
}
.mast__rule{height:3px;background:var(--accent);margin:.85rem 0 0;transform-origin:left center;animation:draw .85s cubic-bezier(.22,.75,.2,1) both}
.mast__sub{margin:.7rem 0 0;max-width:52ch;color:var(--meta);font-size:.95rem}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.mast__rule{animation:none}}

.nav{margin:1.4rem 0 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 1.55rem}
.nav a{
  display:inline-block;padding:.62rem 0;color:var(--ink);text-decoration:none;
  font-size:.86rem;letter-spacing:.005em;border-bottom:2px solid transparent;
}
.nav a:hover{border-bottom-color:var(--rule-mid)}
.nav a[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}

/* ---------- page head ---------- */
.head{padding:3.4rem 0 0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.kicker{
  font-family:'Courier Prime',monospace;font-size:.76rem;letter-spacing:.17em;
  text-transform:uppercase;color:var(--accent);margin:0 0 .9rem;
}
h1{
  font-family:'Zilla Slab',serif;font-weight:700;
  font-size:clamp(2.05rem,5.1vw,3.5rem);line-height:1.06;letter-spacing:-.02em;
  margin:0;max-width:20ch;
}
.lead{font-size:1.16rem;line-height:1.58;max-width:var(--measure);margin:1.4rem 0 0}
.stand{
  margin:1.5rem 0 0;padding-top:.85rem;border-top:1px solid var(--rule);
  font-family:'Courier Prime',monospace;font-size:.76rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--meta);
  display:flex;flex-wrap:wrap;gap:.35rem 1.6rem;
}
@media (min-width:72rem){
  .head{grid-template-columns:minmax(0,1fr) 17rem;column-gap:4rem}
  .kicker,h1,.lead{grid-column:1}
  .stand{
    grid-column:2;grid-row:1 / span 3;align-self:start;margin:.2rem 0 0;
    padding-top:.7rem;border-top:2px solid var(--accent);
    flex-direction:column;gap:.55rem;
  }
  .stand span{display:block;border-bottom:1px solid var(--rule);padding-bottom:.5rem}
  .stand span:last-child{border-bottom:0}
}

/* ---------- sections ---------- */
main{padding:0 0 4rem}
section{margin:3.6rem 0 0}
h2{
  font-family:'Zilla Slab',serif;font-weight:700;font-size:clamp(1.35rem,2.6vw,1.85rem);
  line-height:1.16;letter-spacing:-.012em;margin:0 0 1.15rem;
  padding-top:1.05rem;border-top:1px solid var(--rule-mid);
  display:flex;gap:.85rem;align-items:baseline;
}
h2 .no{font-family:'Courier Prime',monospace;font-weight:400;font-size:.8rem;color:var(--accent);letter-spacing:.08em;flex:none;padding-top:.15rem}
h3{font-family:'Zilla Slab',serif;font-weight:500;font-size:1.16rem;line-height:1.3;margin:2.1rem 0 .7rem;letter-spacing:-.005em}
h4{font-family:'Commissioner',sans-serif;font-weight:600;font-size:.95rem;margin:1.5rem 0 .4rem}
p,li{max-width:var(--measure)}
p{margin:0 0 1.05rem}
a{color:var(--ink);text-underline-offset:.18em;text-decoration-thickness:1px;text-decoration-color:var(--rule-mid)}
a:hover{text-decoration-color:var(--accent)}
ul,ol{padding-left:1.15rem;margin:0 0 1.15rem}
li{margin:0 0 .4rem}
strong{font-weight:600}
code,.mono{font-family:'Courier Prime',monospace;font-size:.92em}

/* ---------- the arithmetic column ---------- */
.ledger{max-width:44rem;margin:1.4rem 0 0}
table.work{width:100%;border-collapse:collapse}
table.work caption{caption-side:top;text-align:left;font-family:'Courier Prime',monospace;font-size:.78rem;line-height:1.5;letter-spacing:.02em;color:var(--meta);padding:0 0 .8rem;max-width:52ch}
table.work th,table.work td{padding:.5rem .6rem;vertical-align:baseline;border:0}
table.work thead th{
  font-family:'Courier Prime',monospace;font-weight:400;font-size:.7rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--meta);text-align:left;
  border-bottom:1px solid var(--rule-strong);padding-bottom:.42rem;
}
table.work thead th.num{text-align:right}
table.work tbody th{text-align:left;font-weight:400;font-size:.97rem}
table.work tbody td.num,table.work tbody th.num{
  font-family:'Courier Prime',monospace;text-align:right;white-space:nowrap;font-size:.98rem;
}
table.work td.op{font-family:'Courier Prime',monospace;color:var(--meta);text-align:center;width:2.4rem;font-size:.95rem}
table.work td.line{font-family:'Courier Prime',monospace;color:var(--accent);font-size:.76rem;width:2.6rem;padding-right:0}
table.work tbody tr td,table.work tbody tr th{border-bottom:1px solid var(--rule)}
table.work tr.total th,table.work tr.total td{
  border-top:2px solid var(--accent);border-bottom:1px solid var(--accent);
  padding-top:.66rem;font-weight:600;
}
table.work tr.total td.num{font-size:1.12rem;color:var(--accent);font-weight:700}
table.work tr.total + tr.rule-under td{border-top:1px solid var(--accent);padding:0;height:3px}
.figure{
  font-family:'Zilla Slab',serif;font-weight:700;color:var(--accent);
  font-size:clamp(2.1rem,5.6vw,3.1rem);line-height:1;letter-spacing:-.02em;display:block;
}
.figure__label{font-family:'Courier Prime',monospace;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--meta);display:block;margin:0 0 .5rem}
.figure__note{display:block;font-size:.92rem;line-height:1.5;color:var(--meta);margin:.7rem 0 0;max-width:46ch}

/* ---------- data tables ---------- */
.scroll{overflow-x:auto;margin:1.3rem 0 0;border-bottom:1px solid var(--rule)}
table.data{width:100%;border-collapse:collapse;font-size:.93rem;min-width:44rem}
table.data caption{
  caption-side:top;text-align:left;color:var(--meta);font-size:.82rem;line-height:1.5;
  padding:0 0 .8rem;max-width:74ch;
}
table.data thead th{
  font-family:'Courier Prime',monospace;font-weight:400;font-size:.68rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--meta);text-align:left;vertical-align:bottom;
  padding:0 .75rem .45rem 0;border-bottom:1px solid var(--rule-strong);
}
table.data thead th.num{text-align:right}
table.data tbody th{font-weight:400;text-align:left;padding:.44rem .75rem .44rem 0;vertical-align:baseline}
table.data tbody td{padding:.44rem .75rem .44rem 0;vertical-align:baseline}
table.data tbody td.num,table.data tbody th.num{font-family:'Courier Prime',monospace;text-align:right;white-space:nowrap}
table.data td.band,table.data th.band{white-space:nowrap}
table.data td.acc{color:var(--accent);font-weight:600}
table.data td.gap,table.data th.gap{color:var(--meta);font-style:italic}
table.data tbody tr:nth-child(5n) th,table.data tbody tr:nth-child(5n) td{border-bottom:1px solid var(--rule-mid)}
table.data tbody tr:last-child th,table.data tbody tr:last-child td{border-bottom:1px solid var(--rule-strong)}
table.data td.ref,table.data th.ref{font-family:'Courier Prime',monospace;font-size:.8rem;color:var(--meta);white-space:nowrap}

/* ---------- asides, notes ---------- */
aside.note{
  margin:1.6rem 0 0;padding:.05rem 0 .05rem 1.15rem;border-left:2px solid var(--support);
  max-width:var(--measure);
}
aside.note h3{margin-top:1.1rem;font-size:1rem}
aside.note p,aside.note li{font-size:.94rem;color:var(--meta);max-width:62ch}
.gapnote{
  font-family:'Courier Prime',monospace;font-size:.86rem;color:var(--meta);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:.75rem 0;margin:1.3rem 0 0;max-width:var(--measure);
}
.tag{
  font-family:'Courier Prime',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--meta);border:1px solid var(--rule-mid);padding:.08rem .38rem;white-space:nowrap;
}
.tag--official{color:var(--accent);border-color:var(--accent)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.6rem 2.4rem;margin:1.5rem 0 0}
.cols p,.cols li{max-width:38ch}
.dl{margin:1.4rem 0 0;border-top:1px solid var(--rule)}
.dl__row{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:0 1.5rem;padding:.6rem 0;border-bottom:1px solid var(--rule)}
.dl__k{font-family:'Courier Prime',monospace;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--meta);padding-top:.18rem}
.dl__v{font-size:.97rem;max-width:52ch}
.idx{list-style:none;padding:0;margin:1.4rem 0 0;border-top:1px solid var(--rule-mid);max-width:none}
.idx li{margin:0;border-bottom:1px solid var(--rule);max-width:none}
.idx a{display:grid;grid-template-columns:2.9rem minmax(0,1fr) auto;gap:0 1rem;align-items:baseline;padding:.72rem 0;text-decoration:none}
.idx a:hover .idx__n{color:var(--accent)}
.idx a:hover .idx__t{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.18em}
.idx__n{font-family:'Courier Prime',monospace;font-size:.76rem;color:var(--meta)}
.idx__t{font-family:'Zilla Slab',serif;font-weight:500;font-size:1.05rem}
.idx__d{font-size:.86rem;color:var(--meta)}
.idx__v{font-family:'Courier Prime',monospace;font-size:.9rem;text-align:right;white-space:nowrap}

/* ---------- footer ---------- */
footer{border-top:3px solid var(--accent);margin:4rem 0 0;padding:1.6rem 0 3.5rem}
footer .f{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.5rem 2.5rem}
footer p,footer li{font-size:.86rem;color:var(--meta);max-width:40ch;margin:0 0 .5rem}
footer h2{font-family:'Courier Prime',monospace;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--meta);border:0;padding:0;margin:0 0 .6rem;display:block;font-weight:400}
footer ul{list-style:none;padding:0;margin:0}
footer a{color:var(--meta)}

/* ---------- mobile is its own layout ---------- */
@media (max-width:46rem){
  body{font-size:16px;line-height:1.58}
  .wrap{padding:0 1.1rem}
  .mast{padding:1.9rem 0 0}
  .mast__folio{display:none}
  .nav{margin-top:1.05rem;border-bottom:1px solid var(--rule)}
  .nav ul{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
  .nav li{border-bottom:1px solid var(--rule)}
  .nav li:nth-last-child(-n+2){border-bottom:0}
  .nav a{display:block;padding:.58rem 0;font-size:.88rem;line-height:1.3;border-bottom:0}
  .nav a[aria-current="page"]{border-bottom:0}
  .head{padding-top:2.3rem}
  h1{max-width:none}
  .lead{font-size:1.06rem}
  .stand{flex-direction:column;gap:.2rem}
  section{margin-top:2.6rem}
  h2{flex-direction:column;gap:.35rem}
  .ledger{max-width:none;overflow-x:auto;border-bottom:1px solid var(--rule)}
  table.work{min-width:23rem}
  table.work caption{position:sticky;left:0;max-width:20.5rem;font-size:.74rem}
  table.work td.line{display:none}
  table.work th,table.work td{padding:.45rem .45rem}
  table.work td.op{width:1.9rem;font-size:.86rem}
  table.work tbody td.num,table.work tbody th.num{font-size:.9rem}
  table.work tbody th{font-size:.92rem}
  table.data{min-width:38rem;font-size:.88rem}
  .dl__row{grid-template-columns:minmax(0,1fr);gap:.1rem}
  .idx a{grid-template-columns:2.2rem minmax(0,1fr);row-gap:.2rem}
  .idx__v{grid-column:2;text-align:left}
  footer .f{grid-template-columns:minmax(0,1fr)}
}
