/* The Tally: shared styles. Concept: the public record, marked up. Black paper, white ink, a highlighter for the facts that matter, red pencil for notes. */
:root{
  --paper:#131313; --ink:#EDEBE5; --ink2:#B7B5AF; --ink3:#7E7C77; --rule:#2B2B29; --wash:#1C1C1A;
  --hl:#FFE24A; --onhl:#141414; --pencil:#FF7A66; color-scheme:dark;
  --wide:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
}
:root[data-theme="light"]{
  --paper:#FFFFFF; --ink:#141414; --ink2:#4F4F4F; --ink3:#8C8C8C; --rule:#E2E2DE; --wash:#F4F4F1; --pencil:#C8382B; color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html,body{margin:0}
html{scroll-padding-top:64px}
body{background:var(--paper); color:var(--ink); font-family:var(--serif); font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden}
p,ul,ol,h1,h2,h3,h4,h5,figure,dl,dd{margin:0}
a{color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; text-decoration-color:var(--ink3)}
a:hover{text-decoration-color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pencil); outline-offset:2px}
mark{background:none; color:inherit; padding:0; font-weight:600; text-decoration:underline; text-decoration-color:var(--hl); text-decoration-thickness:3px; text-underline-offset:3px; text-decoration-skip-ink:none}
.cap{font-family:var(--wide); font-stretch:85%; font-weight:600; font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--ink2)}

/* site bar */
.sitebar{border-bottom:1px solid var(--rule)}
.sitebar .in{max-width:1240px; margin:0 auto; padding-inline:20px; padding-block:12px; display:flex; justify-content:space-between; align-items:center; gap:14px}
.wordmark{font-family:var(--wide); font-stretch:125%; font-weight:900; font-size:17px; letter-spacing:.02em; text-transform:uppercase; text-decoration:none}
.join-link{font-family:var(--wide); font-size:14px; font-weight:700; background:var(--hl); color:var(--onhl); padding:6px 12px; text-decoration:none; white-space:nowrap}

/* page tabs */
.tabs{position:sticky; top:0; z-index:20; background:var(--paper); border-bottom:1px solid var(--ink)}
.tabs .in{max-width:1240px; margin:0 auto; padding-inline:20px; display:flex; align-items:stretch; gap:4px}
.tabs ul{list-style:none; padding:0; display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; min-width:0}
.tabs ul::-webkit-scrollbar{display:none}
.tabs a{display:block; font-family:var(--wide); font-size:15px; font-weight:700; color:var(--ink2); text-decoration:none; padding:12px 10px 9px; border-bottom:3px solid transparent; white-space:nowrap}
.tabs li:first-child a{padding-left:0}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--hl)}
.fbtn{margin-left:auto; flex:none; font-family:var(--wide); font-size:14px; font-weight:600; background:none; border:none; color:var(--ink2); padding:12px 0 9px 10px; cursor:pointer; border-bottom:3px solid transparent}
.fbtn[aria-expanded="true"]{color:var(--ink)}
.fpanel{position:absolute; left:0; right:0; top:100%; background:var(--paper); border-bottom:2px solid var(--ink); padding:12px 20px 14px}
.show{max-width:1200px; margin:0 auto 6px; display:flex; flex-wrap:wrap; gap:8px 16px; align-items:baseline; font-family:var(--wide); font-size:14px}
.show button{font:inherit; background:none; border:none; padding:2px 0; color:var(--ink2); cursor:pointer; border-bottom:2px solid transparent}
.show button:hover{color:var(--ink)}
.show button[aria-pressed="true"]{color:var(--ink); font-weight:700; border-bottom-color:var(--hl)}
.status{display:block; max-width:1200px; margin:0 auto; font-family:var(--wide); font-size:12.5px; color:var(--ink3)}
@media (max-width:440px){ .tabs .in{padding-inline:16px} .tabs a{font-size:14px; padding-inline:7px} .fbtn{font-size:13.5px} }

/* masthead (issue) */
.mast{max-width:1240px; margin:0 auto; padding-inline:20px; padding-block:30px 22px; display:grid; gap:12px; border-bottom:4px solid var(--ink)}
.mast .session{font-family:var(--wide); font-stretch:85%; font-weight:600; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink2)}
.mast h1{font-family:var(--wide); font-stretch:125%; font-weight:900; font-size:clamp(54px,12.5vw,150px); line-height:.86; letter-spacing:-.02em; text-transform:uppercase}
.mast .brand{font-family:var(--wide); font-stretch:105%; font-weight:800; font-size:clamp(20px,2.8vw,26px); line-height:1.2}
.mast .places{font-family:var(--wide); font-size:14px; font-weight:600; color:var(--ink2); letter-spacing:.02em}
.mast .deck{font-size:clamp(18px,2.3vw,21px); line-height:1.4; max-width:44ch; color:var(--ink2)}
.dateline{display:flex; flex-wrap:wrap; gap:6px 18px; font-family:var(--wide); font-size:14px; color:var(--ink2); border-top:1px solid var(--rule); padding-top:12px}
.dateline b{color:var(--ink); font-weight:700}

/* page header (standing pages) */
.phead{max-width:1240px; margin:0 auto; padding-inline:20px; padding-block:30px 22px; display:grid; gap:10px; border-bottom:4px solid var(--ink)}
.phead h1{font-family:var(--wide); font-stretch:115%; font-weight:900; font-size:clamp(38px,8vw,84px); line-height:.92; letter-spacing:-.015em; text-transform:uppercase}
.phead .deck{font-size:clamp(17px,2.2vw,20px); line-height:1.45; max-width:58ch; color:var(--ink2)}
.phead .updated{display:flex; flex-wrap:wrap; gap:6px 16px; font-family:var(--wide); font-size:13.5px; color:var(--ink2)}
.phead .updated b{color:var(--ink)}

.tag{display:inline-block; font-family:var(--wide); font-stretch:85%; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:1px 6px; line-height:1.5; vertical-align:1px}
.tag.new{background:var(--hl); color:var(--onhl)}
.tag.bg{border:1px solid var(--pencil); color:var(--pencil)}
.tag.old{border:1px solid var(--ink3); color:var(--ink2)}
.stamp{font-family:var(--wide); font-size:13px; color:var(--ink3); display:flex; gap:8px; align-items:center; flex-wrap:wrap}

/* frame */
.frame{max-width:1240px; margin:0 auto; padding-inline:20px}
.main{display:flex; flex-direction:column; gap:80px; padding-block:36px 80px; min-width:0}
.item{display:flex; flex-direction:column; gap:24px; scroll-margin-top:60px}
.itemhead{display:grid; gap:6px; border-top:2px solid var(--ink); padding-top:16px}
.itemhead h2{font-family:var(--wide); font-stretch:110%; font-weight:850; font-size:clamp(30px,5.4vw,46px); line-height:1; letter-spacing:-.01em; text-wrap:balance}
.itemhead p{color:var(--ink2); max-width:60ch; font-size:16.5px}
.panel, .story, .thread, .mentry{scroll-margin-top:70px}

/* snapshot cards */
.snap{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:8px}
@media (min-width:900px){ .snap{grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px} }
.snapcard{display:grid; gap:6px; align-content:start; padding:14px 14px 12px; border:1px solid var(--ink); text-decoration:none; color:var(--ink); background:var(--paper); min-width:0}
.snapcard:hover{background:var(--wash)}
.snapcard .cap{font-size:11px}
.snapcard b{font-family:var(--wide); font-stretch:118%; font-weight:900; font-size:clamp(28px,7vw,40px); line-height:.95; font-variant-numeric:tabular-nums; letter-spacing:-.01em}
.snapcard b.dn{color:var(--pencil)}
.snapcard .sl{font-size:14.5px; line-height:1.35; color:var(--ink2)}
.snapcard .sl strong{color:var(--ink); font-weight:700}
.snapcard .sgo{font-family:var(--wide); font-size:12.5px; font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-decoration-color:var(--hl); text-underline-offset:3px; margin-top:2px}
@media (max-width:420px){ .snapcard{padding:12px 11px 10px} .snapcard .sl{font-size:13.5px} }
.snapnote{font-family:var(--wide); font-size:13.5px; color:var(--ink2); margin:2px 0 6px}
.snapnote a{color:var(--ink); font-weight:700}

/* rundown */
.rundown{list-style:none; padding:0; display:grid; counter-reset:r}
.rundown li{display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; padding:16px 0; border-bottom:1px solid var(--rule); counter-increment:r}
.rundown li::before{content:counter(r); font-family:var(--wide); font-stretch:125%; font-weight:900; font-size:32px; line-height:1}
.rundown .where{display:block; margin-bottom:3px}
.rundown p{font-size:17.5px; line-height:1.5}
.rundown .kind{display:inline-block; font-stretch:85%; font-weight:800; font-size:11px; letter-spacing:.08em; padding:1px 6px; margin-right:8px; border:1px solid var(--ink); color:var(--ink)}
.rundown .k-conn .kind{border-color:var(--pencil); color:var(--pencil)}

/* stories */
.stories{display:grid; border-top:1px solid var(--ink)}
.story{display:flex; flex-direction:column; gap:14px; padding:26px 0 30px; border-bottom:1px solid var(--rule)}
.story > *{max-width:720px}
.story.lead{padding-top:30px}
.story h3{font-family:var(--wide); font-stretch:105%; font-weight:800; font-size:clamp(26px,4.6vw,38px); line-height:1.05; letter-spacing:-.01em; text-wrap:balance}
.story.lead h3{font-size:clamp(32px,6vw,54px); font-stretch:115%}
.story .lede{font-size:19px; line-height:1.5}
.story.brief{gap:10px; padding:18px 0 20px}
.story.brief h3{font-size:clamp(21px,3.6vw,26px)}
.story.brief .lede, .story.brief .why p{font-size:16.5px}
@media (min-width:900px){ .stories{grid-template-columns:1fr 1fr; column-gap:48px} .story:not(.brief){grid-column:1 / -1} }
.lede b{font-family:var(--wide); font-weight:700; font-size:16px}
.figure{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; padding:14px 0; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule)}
.figure b{font-family:var(--wide); font-stretch:120%; font-weight:900; font-size:clamp(44px,8vw,64px); line-height:.9; font-variant-numeric:tabular-nums}
.figure span{font-size:16px; color:var(--ink2); max-width:40ch}
.why{border-left:4px solid var(--hl); padding:4px 0 4px 16px; display:grid; gap:6px}
.why .cap{font-family:var(--wide)}
.why p{font-size:17.5px; line-height:1.55}
.story.brief .why{border-left-width:3px; padding-left:12px}
.next{font-size:17px}
.next b{font-family:var(--wide); font-weight:700}
.links{display:grid; gap:4px; font-family:var(--wide); font-size:13.5px}
.links .cap{margin-bottom:2px}
.links a{display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:baseline}
.links em{font-style:normal; color:var(--ink3)}
.links em::after{content:" ·"}

/* connections */
.threads{display:grid; gap:44px}
.thread{display:grid; gap:14px}
.thread h3{font-family:var(--wide); font-stretch:105%; font-weight:800; font-size:clamp(25px,4.4vw,34px); line-height:1.05; text-wrap:balance}
.dots{list-style:none; padding:0; display:grid}
.dots li{display:grid; grid-template-columns:130px minmax(0,1fr); gap:16px; padding:12px 0; border-top:1px solid var(--rule)}
.dots .place{font-family:var(--wide); font-weight:700; font-size:15px; line-height:1.3}
.dots .place small{display:block; font-weight:400; color:var(--ink3); font-size:13px; margin-top:2px}
.dots .place .when{display:block; font-weight:400; color:var(--ink3); font-size:12.5px; margin-top:4px}
@media (max-width:520px){ .dots li{grid-template-columns:1fr; gap:4px} }
.sowhat{border-left:4px solid var(--hl); padding:4px 0 4px 16px; font-size:17.5px; line-height:1.5}
.sowhat .cap{display:block; margin-bottom:6px}
.built{font-family:var(--wide); font-size:13px; color:var(--ink3)}

/* glossary */
.term .tbtn{font:inherit; color:inherit; background:none; border:none; padding:0; cursor:pointer; text-decoration:underline dotted; text-decoration-color:var(--ink2); text-underline-offset:3px}
.term .tbtn[aria-expanded="true"]{background:var(--wash)}
.term .def{display:block; margin:6px 0 8px; padding:10px 12px; background:var(--wash); border-left:3px solid var(--ink); font-family:var(--wide); font-size:14px; line-height:1.45; font-style:normal; color:var(--ink)}

/* data panels */
.board{display:grid; grid-template-columns:minmax(0,1fr); border-top:1px solid var(--ink)}
@media (min-width:760px){ .board{grid-template-columns:1fr 1fr; column-gap:56px} }
.panel{display:grid; gap:12px; align-content:start; padding-block:22px; border-bottom:1px solid var(--rule); min-width:0}
.panel.wide{grid-column:1 / -1}
.panel h4{font-family:var(--wide); font-stretch:105%; font-weight:800; font-size:21px; line-height:1.15; text-wrap:balance}
.panel .read{font-size:15.5px; color:var(--ink2); line-height:1.45}
.fresh{font-family:var(--wide); font-size:12.5px; line-height:1.4; padding:6px 9px; background:var(--wash); color:var(--ink2)}
.fresh b{color:var(--ink)}
a.how{font-weight:800; color:var(--ink); white-space:nowrap}
.hbars{display:grid; gap:10px}
.hbar{display:grid; gap:4px}
.hbar .lab{display:flex; justify-content:space-between; gap:10px; font-family:var(--wide); font-size:14px}
.hbar .lab b{font-variant-numeric:tabular-nums; white-space:nowrap}
.track{height:14px; background:var(--wash)}
.fill{height:100%; background:var(--ink)}
.fill.key{background:var(--hl); outline:1px solid var(--ink); outline-offset:-1px}
.fill.soft{background:var(--ink3)}
.pair .track{height:10px}
.delta{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
.delta b{font-family:var(--wide); font-stretch:120%; font-weight:900; font-size:clamp(40px,8vw,56px); line-height:.9; font-variant-numeric:tabular-nums; color:var(--pencil)}
.delta b.up{color:var(--ink)}
.delta span{font-size:15.5px; color:var(--ink2); line-height:1.35; max-width:34ch}
.tiles{display:grid; grid-template-columns:1fr 1fr}
.tile{padding:6px 0; display:grid; gap:4px}
.tile b{font-family:var(--wide); font-stretch:120%; font-weight:900; font-size:46px; line-height:.9; font-variant-numeric:tabular-nums}
.tile span{font-size:14.5px; color:var(--ink2); line-height:1.35}
.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:14px}
.tiles.three .tile b{font-size:clamp(28px,6vw,40px)}
.goalbar{position:relative; height:22px; background:var(--wash); margin-top:28px}
.goalbar .done{position:absolute; left:0; top:0; bottom:0; background:var(--ink)}
.goalbar .pace{position:absolute; top:-26px; bottom:-6px; width:0; border-left:2px dashed var(--pencil)}
.goalbar .pace span{position:absolute; left:6px; top:0; white-space:nowrap; font-family:var(--wide); font-size:12px; font-weight:700; color:var(--pencil)}
.goalkey{display:flex; justify-content:space-between; gap:10px; font-family:var(--wide); font-size:12.5px; color:var(--ink2); margin-top:6px}
.cols{position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:8px; align-items:end; height:190px; border-bottom:1px solid var(--ink); padding-top:22px}
.col{display:flex; flex-direction:column; justify-content:flex-end; height:100%; position:relative}
.col .bar{background:var(--ink); position:relative}
.col .bar.part{background:repeating-linear-gradient(135deg, var(--ink) 0 3px, transparent 3px 7px); outline:1px solid var(--ink); outline-offset:-1px}
.col .v{position:absolute; left:0; right:0; text-align:center; transform:translateY(-120%); font-family:var(--wide); font-size:12.5px; font-weight:700; font-variant-numeric:tabular-nums; z-index:2}
.col .v::before{content:''; position:absolute; inset:-1px 12%; background:var(--paper); z-index:-1}
.goalline{position:absolute; left:0; right:0; bottom:calc((100% - 22px) * .65); border-top:2px dashed var(--pencil); pointer-events:none}
.colx{display:grid; grid-template-columns:repeat(6,1fr); gap:8px; font-family:var(--wide); font-size:12.5px; color:var(--ink2); text-align:center; margin-top:5px}
.colx.pct{margin-top:2px; font-weight:800; color:var(--ink)}
.colx.pct .lo{color:var(--pencil)}
.donutwrap{display:grid; grid-template-columns:140px minmax(0,1fr); gap:18px; align-items:center}
@media (max-width:420px){ .donutwrap{grid-template-columns:110px minmax(0,1fr)} }
.donutwrap svg{width:100%; height:auto; display:block}
.legend{list-style:none; padding:0; display:grid; gap:6px; font-family:var(--wide); font-size:13.5px; line-height:1.3}
.legend li{display:grid; grid-template-columns:14px minmax(0,1fr) auto; gap:8px; align-items:center}
.legend i{width:14px; height:14px; display:block}
.legend.inline{display:flex; flex-wrap:wrap; gap:6px 16px}
.legend.inline li{display:flex; gap:6px}

/* scoreboard */
.scoregrid{display:grid; gap:18px 28px}
@media (min-width:900px){ .scoregrid{grid-template-columns:repeat(3,minmax(0,1fr))} }
.sglab{display:block; font-family:var(--wide); font-size:12.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding-top:8px; border-top:2px solid var(--ink)}
.score{display:grid; grid-template-columns:1fr 1fr; column-gap:16px}
.score a{display:grid; gap:6px; align-content:start; padding:16px 0; text-decoration:none; border-bottom:1px solid var(--rule)}
.score a:hover b{text-decoration:underline; text-decoration-thickness:2px}
.score b{font-family:var(--wide); font-stretch:120%; font-weight:900; font-size:clamp(32px,5.4vw,40px); line-height:.9; font-variant-numeric:tabular-nums}
.score span{font-size:14.5px; line-height:1.35; color:var(--ink2)}
.score em{font-style:normal; font-family:var(--wide); font-weight:800; font-size:13px; color:var(--pencil)}
.score em.up{color:var(--ink)}
.score small{font-family:var(--wide); font-size:12px; color:var(--ink3)}

/* elections */
.dates{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--ink)}
@media (min-width:760px){ .dates{grid-template-columns:repeat(5,minmax(0,1fr))} }
.dates div{display:grid; gap:2px; padding:12px 12px 12px 0; border-bottom:1px solid var(--rule)}
.dates b{font-family:var(--wide); font-stretch:115%; font-weight:900; font-size:24px; line-height:1}
.dates span{font-size:14px; color:var(--ink2); line-height:1.3}
.hatch, .seg.na{background:repeating-linear-gradient(135deg, var(--ink3) 0 2px, transparent 2px 5px) !important; outline:1px solid var(--ink3); outline-offset:-1px}
.races{display:grid; gap:4px}
@media (min-width:760px){ .races{grid-template-columns:1fr 1fr; column-gap:28px} }
.race{display:grid; gap:8px; padding:12px 0; border-top:1px solid var(--rule)}
.race h5{font-family:var(--wide); font-weight:800; font-size:15px}
.cand{display:grid; gap:3px}
.cand .lab{display:flex; justify-content:space-between; gap:10px; font-family:var(--wide); font-size:14px}
.cand .lab i{font-style:normal; color:var(--ink3)}
.cand .lab b{font-variant-numeric:tabular-nums}
.cand small{font-family:var(--wide); font-size:12px; color:var(--ink3)}
.track.stack{background:transparent; height:14px}
.track.stack .bar{display:flex; height:100%}
.seg{height:100%}
.seg.wh{background:var(--hl); outline:1px solid var(--ink); outline-offset:-1px}
.seg.wa{background:var(--ink)}
.seg.oos{background:var(--ink3)}
.ie{font-size:14.5px; color:var(--ink2); line-height:1.4; border-left:3px solid var(--pencil); padding-left:10px}
.mlist{list-style:none; padding:0; display:grid; gap:12px}
.mlist li{display:grid; gap:3px; padding-bottom:10px; border-bottom:1px solid var(--rule)}
.mlist b{font-family:var(--wide); font-weight:800; font-size:15px}
.mlist span{font-size:15.5px; color:var(--ink2); line-height:1.4}
.mlist em{font-style:normal; font-family:var(--wide); font-size:13px; color:var(--ink); line-height:1.4}

/* tracker */
.trackkey{display:flex; flex-wrap:wrap; gap:6px 16px; font-family:var(--wide); font-size:12.5px; color:var(--ink2)}
.trackkey i{display:inline-block; width:18px; height:8px; vertical-align:middle; margin-right:5px; background:var(--rule)}
.trackkey i.on{background:var(--ink)} .trackkey i.now{background:var(--hl); outline:1px solid var(--ink)}
.trackkey i.oldk{width:10px; height:10px; background:var(--pencil)}
.tracker{display:grid; gap:14px}
.tgroup{display:grid}
.tcat{width:100%; background:none; border:none; border-bottom:2px solid var(--ink); padding:10px 0; cursor:pointer; text-align:left; color:var(--ink); display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:12px; align-items:center}
.tcat .tl{font-family:var(--wide); font-stretch:105%; font-weight:800; font-size:19px}
.tcat .tl span{font-size:13px; font-weight:700; color:var(--ink3); margin-left:8px}
.tcat .ts{grid-column:1; font-family:var(--wide); font-size:13px; color:var(--ink2); margin-top:3px}
.tcat::after{content:""; grid-column:2; grid-row:1 / span 2; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-right:4px}
.tcat[aria-expanded="true"]::after{transform:rotate(-135deg)}
.trows{display:grid}
.trow{display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:14px 0; border-bottom:1px solid var(--rule)}
@media (min-width:760px){ .trow{grid-template-columns:minmax(0,1.4fr) 210px minmax(0,1fr); gap:20px; align-items:start} }
.trow .what{font-family:var(--wide); font-weight:700; font-size:16.5px; line-height:1.3}
.trow .what small{display:block; font-weight:400; color:var(--ink3); font-size:13px; margin-top:3px}
.trow .age{display:block; font-family:var(--wide); font-weight:400; font-size:12.5px; color:var(--ink3); margin-top:3px}
.trow .age.old{color:var(--pencil); font-weight:700}
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:3px}
.steps span{height:8px; background:var(--rule)}
.steps span.on{background:var(--ink)}
.steps span.now{background:var(--hl); outline:1px solid var(--ink)}
.steplabel{font-family:var(--wide); font-size:12.5px; color:var(--ink2); margin-top:5px}
.trow .nexttxt{font-size:15.5px; line-height:1.45}
.trow .nexttxt b{font-family:var(--wide); font-weight:700}
.tall{font-family:var(--wide); font-size:13px; font-weight:700; background:none; border:none; padding:0; color:var(--ink2); cursor:pointer; text-decoration:underline; align-self:flex-start}

/* on deck */
.days{display:grid; border-top:1px solid var(--ink)}
.day{display:grid; grid-template-columns:72px minmax(0,1fr); gap:16px; padding:16px 0; border-bottom:1px solid var(--rule)}
.day .d{font-family:var(--wide); font-stretch:120%; font-weight:900; font-size:40px; line-height:.85}
.day .d small{display:block; font-stretch:85%; font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink2); margin-top:6px}
.evs{display:grid; gap:16px; min-width:0}
.ev{display:grid; gap:3px}
.ev .t{font-family:var(--wide); font-size:13.5px; color:var(--ink2)}
.ev p{font-size:17px; line-height:1.45}
.ev .acts{display:flex; gap:14px; flex-wrap:wrap; margin-top:4px; font-family:var(--wide); font-size:13.5px}
.ev .acts a{font-weight:600}
.ledger{display:grid; border-top:1px solid var(--rule)}
.lrow{display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; padding:10px 0; border-bottom:1px solid var(--rule)}
.lrow .amt{font-family:var(--wide); font-stretch:110%; font-weight:900; font-size:22px; line-height:1; font-variant-numeric:tabular-nums}
.lrow .amt.tbd{font-size:15px; font-weight:700; color:var(--ink3); padding-top:4px}
.lrow p{font-size:14.5px; line-height:1.45}
.lrow .stage{display:block; font-family:var(--wide); font-size:12px; color:var(--ink3); margin-top:3px}
@media (max-width:600px){ .lrow{grid-template-columns:1fr; gap:2px} .lrow .amt{font-size:20px} .lrow .amt.tbd{padding-top:0} }

/* keep going: links to standing pages */
.more{display:grid; grid-template-columns:minmax(0,1fr); gap:12px}
@media (min-width:760px){ .more{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px} }
.morecard{display:grid; gap:6px; padding:18px 18px 16px; border:1px solid var(--ink); text-decoration:none; color:var(--ink)}
.morecard:hover{background:var(--wash)}
.morecard h3{font-family:var(--wide); font-stretch:110%; font-weight:850; font-size:24px; line-height:1.05}
.morecard p{font-size:15.5px; line-height:1.4; color:var(--ink2)}
.morecard .moved{font-family:var(--wide); font-size:13.5px; color:var(--ink); border-left:3px solid var(--hl); padding-left:8px}
.morecard .go{font-family:var(--wide); font-size:13px; font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-decoration-color:var(--hl); text-underline-offset:3px}

/* buttons, forms */
.morebtn{justify-self:start; align-self:flex-start; font-family:var(--wide); font-size:14px; font-weight:700; background:var(--paper); color:var(--ink); border:1px solid var(--ink); padding:9px 14px; cursor:pointer}
.morebtn::after{content:""; display:inline-block; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin:0 0 3px 10px}
.morebtn[aria-expanded="true"]::after{transform:rotate(-135deg); margin-bottom:-1px}
.morebtn:hover{background:var(--wash)}
.methods{display:grid; border-top:1px solid var(--ink)}
@media (min-width:760px){ .methods{grid-template-columns:1fr 1fr; column-gap:28px} }
.mentry{padding:14px 0; border-bottom:1px solid var(--rule); display:grid; gap:6px; align-content:start}
.mentry h5{font-family:var(--wide); font-weight:800; font-size:16px}
.mentry p{font-size:15.5px; color:var(--ink2); line-height:1.45}
.mentry:target{background:var(--wash); box-shadow:0 0 0 8px var(--wash)}
.forms{display:grid; grid-template-columns:minmax(0,1fr); gap:28px}
@media (min-width:860px){ .forms{grid-template-columns:1fr 1fr} }
form{display:grid; gap:12px; align-content:start}
form h4{font-family:var(--wide); font-weight:800; font-size:21px}
label{font-family:var(--wide); font-size:13.5px; font-weight:600; display:grid; gap:5px}
input[type=text],input[type=email],select,textarea{font:inherit; font-family:var(--wide); font-size:16px; padding:10px 12px; border:1px solid var(--ink); background:var(--paper); color:var(--ink); border-radius:0; width:100%}
textarea{min-height:110px; resize:vertical}
fieldset{border:none; padding:0; margin:0; display:grid; gap:8px}
legend{font-family:var(--wide); font-weight:800; font-size:21px; margin-bottom:6px; padding:0}
.opt{display:flex; gap:10px; align-items:flex-start; font-family:var(--serif); font-weight:400; font-size:16.5px; cursor:pointer}
.opt input{margin-top:6px; accent-color:var(--ink)}
.btn{justify-self:start; font-family:var(--wide); font-weight:700; font-size:15px; background:var(--ink); color:var(--paper); border:none; padding:11px 18px; cursor:pointer}
.btn.hl{background:var(--hl); color:var(--onhl)}
.formmsg{font-family:var(--wide); font-size:14px; color:var(--ink2)}
.about{display:grid; grid-template-columns:minmax(0,1fr); gap:24px}
@media (min-width:760px){ .about{grid-template-columns:1fr 1fr} }
.about div{display:grid; gap:6px; align-content:start}
.about h4{font-family:var(--wide); font-weight:800; font-size:18px}
.about p{font-size:16.5px; line-height:1.55}
.join-box{border:3px solid var(--ink); padding:24px 22px; display:grid; gap:12px; justify-items:start}
.join-box h3{font-family:var(--wide); font-stretch:115%; font-weight:900; font-size:clamp(28px,5vw,40px); line-height:1; text-transform:uppercase}
.join-box p{max-width:52ch}
.join-row{display:flex; flex-wrap:wrap; gap:8px; width:100%; max-width:480px}
.join-row input{flex:1 1 220px; width:auto}
.empty{font-family:var(--wide); font-size:15px; color:var(--ink3)}
.foot{border-top:4px solid var(--ink)}
.foot .in{max-width:1240px; margin:0 auto; padding-inline:20px; padding-block:18px 40px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-family:var(--wide); font-size:13.5px; color:var(--ink2)}

@media (prefers-reduced-motion: no-preference){ .fill,.col .bar{transition:width .5s ease, height .5s ease} }

/* jump menu (standing pages) */
.jump{display:flex; flex-wrap:wrap; gap:8px; font-family:var(--wide); font-size:13.5px; font-weight:600; margin-bottom:-40px}
.jump a{text-decoration:none; color:var(--ink2); border:1px solid var(--rule); padding:5px 10px}
.jump a:hover{color:var(--ink); border-color:var(--ink)}

/* past issues */
.archive{list-style:none; padding:0; display:grid; border-top:1px solid var(--ink)}
.archive a{display:grid; grid-template-columns:90px minmax(0,1fr); column-gap:16px; row-gap:2px; padding:14px 0; border-bottom:1px solid var(--rule); text-decoration:none}
.archive b{grid-row:1 / span 2; font-family:var(--wide); font-stretch:115%; font-weight:900; font-size:22px; line-height:1.1}
.archive span:first-of-type{font-family:var(--wide); font-size:14px; font-weight:700}
.archive span + span{font-size:15.5px; color:var(--ink2); line-height:1.4}
.archive a:hover b{text-decoration:underline; text-decoration-color:var(--hl); text-decoration-thickness:3px}

/* accessibility */
.skip{position:absolute; left:12px; top:-60px; z-index:50; background:var(--hl); color:var(--onhl); font-family:var(--wide); font-weight:700; font-size:14px; padding:8px 12px; text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.tabs{top:env(safe-area-inset-top, 0px)}
.foot nav{display:flex; flex-wrap:wrap; gap:6px 14px}
.foot .pub{flex-basis:100%; color:var(--ink3); font-size:12.5px}
@media print{ .tabs, .sitebar, .join-box, .fbtn, .jump{display:none !important} body{background:#fff; color:#000} }
