/* Layout: a navy masthead band carries the nav; pages sit on white with pale-blue tint panels. Gold marks emphasis only: numbers, labels and the current tab. Headings use an inscription-style face. */
:root{
  --bg:#fbfaf7; --tint:#f1f4f9; --surface:#ffffff; --ink:#141f33; --muted:#5b6678; --line:#dde3ec;
  --band:#13294b; --band-2:#0d1f3a; --on-band:#ffffff; --on-band-muted:#c3cfe2;
  --accent:#1f4f8f; --accent-soft:#e7eef8;
  --gold:#b08a3e; --gold-ink:#8a6a26; --gold-soft:#f7f0df; --gold-line:#e4d3a8;
  --yes:#2e7d4f; --yes-bg:#e4f2e9; --part:#94661a; --part-bg:#f8eed8;
  --no:#a63d32; --no-bg:#f7e3df; --nf:#5b6678; --nf-bg:#eef1f6;
  --info:#2f5d8a; --info-bg:#e3ecf5;
  --bar-in:#d8c38c; --bar-out:#1f4f8f; --target:#fbf3dc;
  --label:#5b6b86; --shadow:0 1px 2px rgba(19,41,75,.06),0 6px 18px rgba(19,41,75,.07);
  --f-display:"Marcellus", "Trajan Pro", Georgia, "Times New Roman", serif;
  --f-body:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-data:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --label:#9fb0cc; --bg:#0b1220; --tint:#101a2c; --surface:#142036; --ink:#e8edf5; --muted:#9ba8bd; --line:#24324b;
  --band:#0f1e38; --band-2:#0a1529; --on-band:#f4f6fa; --on-band-muted:#a6b4cc;
  --accent:#8fb4e8; --accent-soft:#182a47;
  --gold:#d8b665; --gold-ink:#dcbd72; --gold-soft:#2a2614; --gold-line:#5a4c25;
  --yes:#7fd1a0; --yes-bg:#173527; --part:#e6b85c; --part-bg:#3a2e14; --no:#f0958a; --no-bg:#3d1f1b; --nf:#a7b3b1; --nf-bg:#1b2840;
  --info:#8fb9e3; --info-bg:#1b2a3a;
  --bar-in:#7a6a3c; --bar-out:#8fb4e8; --target:#2f2a15; --shadow:none; color-scheme:dark }}
:root[data-theme="dark"]{
  --label:#9fb0cc; --bg:#0b1220; --tint:#101a2c; --surface:#142036; --ink:#e8edf5; --muted:#9ba8bd; --line:#24324b;
  --band:#0f1e38; --band-2:#0a1529; --on-band:#f4f6fa; --on-band-muted:#a6b4cc;
  --accent:#8fb4e8; --accent-soft:#182a47;
  --gold:#d8b665; --gold-ink:#dcbd72; --gold-soft:#2a2614; --gold-line:#5a4c25;
  --yes:#7fd1a0; --yes-bg:#173527; --part:#e6b85c; --part-bg:#3a2e14; --no:#f0958a; --no-bg:#3d1f1b; --nf:#a7b3b1; --nf-bg:#1b2840;
  --info:#8fb9e3; --info-bg:#1b2a3a;
  --bar-in:#7a6a3c; --bar-out:#8fb4e8; --target:#2f2a15; --shadow:none; color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:17px/1.65 var(--f-body);margin:0}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;text-wrap:balance;margin:0;line-height:1.2;letter-spacing:.005em}
h1{font-size:clamp(2.1rem,5.2vw,3.4rem)}
h2{font-size:clamp(1.6rem,3.6vw,2.2rem);color:var(--band)}
h3{font-size:1.3rem}
h4{font-size:1.05rem}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) h2{color:var(--ink)} }
:root[data-theme="dark"] h2{color:var(--ink)}
p{margin:0;max-width:65ch}
a{color:var(--accent);text-underline-offset:3px;text-decoration-color:var(--gold-line)}
a:hover{text-decoration-color:var(--gold)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}
ul,ol{margin:0}
.eyebrow{font:600 .72rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.num{font-family:var(--f-data);font-variant-numeric:tabular-nums}
.calc{font-size:.75rem;color:var(--muted);font-style:italic}

/* Masthead band + nav */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--band);box-shadow:0 1px 0 var(--gold)}
.topbar-in{max-width:1120px;margin-inline:auto;padding-inline:16px;display:flex;align-items:center;gap:22px}
.brand{font:400 1.15rem var(--f-display);white-space:nowrap;color:var(--on-band);text-decoration:none;padding-block:14px;display:flex;align-items:center;gap:10px}
.brand span{color:var(--gold)}
nav.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}
nav.tabs::-webkit-scrollbar{display:none}
nav.tabs a{font:500 .88rem var(--f-body);color:var(--on-band-muted);text-decoration:none;padding:17px 11px 14px;border-bottom:3px solid transparent;white-space:nowrap}
nav.tabs a:hover{color:var(--on-band)}
nav.tabs a[aria-current="page"]{color:var(--on-band);border-bottom-color:var(--gold)}

main{max-width:1120px;margin-inline:auto;padding-inline:20px;padding-block:40px 80px}
.panel{display:grid;gap:44px}
section.block{display:grid;gap:16px}
.block > header{display:grid;gap:10px}
.block > header::after{content:"";width:56px;height:2px;background:var(--gold);margin-top:4px}
.hero::after,.qbar::after{content:none}

/* Lesson framing */
.learn{display:grid;gap:8px;background:var(--tint);border-radius:10px;padding:18px 22px}
.learn strong{font:600 .72rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.learn ul{padding-left:1.1em;display:grid;gap:4px}
.takeaway{display:grid;gap:10px;background:var(--band);color:var(--on-band);border-radius:12px;padding:26px 28px;position:relative;overflow:hidden}
.takeaway strong{font:600 .72rem var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.takeaway p{font:400 1.25rem/1.45 var(--f-display);max-width:60ch}
.path{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.88rem}
.next{display:flex;justify-content:flex-end}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .9rem var(--f-body);background:var(--band);color:var(--on-band);text-decoration:none;padding:11px 18px;border-radius:999px;border:1px solid var(--band);cursor:pointer}
.btn:hover{background:var(--band-2)}
.btn.ghost{background:transparent;color:var(--gold-ink);border-color:var(--gold)}
.btn.ghost:hover{background:var(--gold-soft)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#1b1607}
.btn.gold:hover{background:var(--gold-ink);border-color:var(--gold-ink)}

/* Citations */
a.c{font:500 .66rem/1 var(--f-data);text-decoration:none;color:var(--gold-ink);background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:4px;padding:2px 4px;margin-left:3px;vertical-align:2px;white-space:nowrap}
a.c:hover{border-color:var(--gold)}

/* Pills */
.pill{display:inline-flex;align-items:center;gap:6px;font:600 .7rem/1 var(--f-body);letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border-radius:999px;white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.yes{color:var(--yes);background:var(--yes-bg)}
.part{color:var(--part);background:var(--part-bg)}
.no{color:var(--no);background:var(--no-bg)}
.nf{color:var(--nf);background:var(--nf-bg)}
.info{color:var(--info);background:var(--info-bg)}
.legend{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font-size:.85rem;color:var(--muted)}

/* Home hero: navy band */
.hero{position:relative;overflow:hidden;display:grid;gap:18px;background:var(--band);color:var(--on-band);border-radius:16px;padding:clamp(28px,6vw,64px) clamp(22px,5vw,56px)}
.hero > *{position:relative}
.hero .eyebrow{color:var(--gold)}
.hero h1{color:var(--on-band);max-width:18ch}
.hero .lede{font-size:1.12rem;max-width:58ch;color:var(--on-band)}
.hero .path{color:var(--on-band-muted)}
.hero .path a{color:var(--gold);font-weight:600}
.hero .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.hero .btn.ghost{color:var(--gold);border-color:var(--gold)}
.hero .btn.ghost:hover{background:rgba(216,182,101,.14)}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.fact{display:grid;gap:10px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.fact:hover{border-color:var(--gold);transform:translateY(-2px)}
.fact .big{font:400 2.2rem/1.05 var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums}
.fact .more{font-size:.85rem;color:var(--accent);font-weight:600}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;display:grid;gap:10px;align-content:start;min-width:0}
.box h3,.box h4{color:var(--accent)}
.box ul{padding-left:1.1em;display:grid;gap:6px}
ol.route{list-style:none;padding:0;display:grid;gap:10px;counter-reset:r}
ol.route li{counter-increment:r;display:grid;grid-template-columns:2.4rem 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px}
ol.route li::before{content:counter(r);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--gold);font:400 1rem var(--f-display);color:var(--gold-ink)}
ol.route a{font-weight:600;text-decoration:none}
ol.route .time{font:.8rem var(--f-data);color:var(--muted);white-space:nowrap}

/* Problem cards */
.problems{display:grid;gap:20px}
.prob{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;display:grid;gap:16px;scroll-margin-top:80px;box-shadow:var(--shadow)}
.prob-head{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.prob-head .pn{font:400 .95rem var(--f-display);color:var(--on-band);background:var(--band);border-radius:999px;padding:4px 12px}
.prob-head h3{flex:1 1 280px}
.prob .one{font:400 1.12rem/1.5 var(--f-display);max-width:70ch;color:var(--ink)}
.prob-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 24px}
.prob-grid > div{display:grid;gap:6px;align-content:start;min-width:0}
.prob-grid h4{font:600 .7rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.prob-grid p,.prob-grid li{font-size:.93rem}
.prob-grid ul{padding-left:1.1em;display:grid;gap:4px}
.ask{background:var(--tint);border-radius:10px;padding:12px 16px;font-size:.94rem}
.ask b{color:var(--gold-ink)}

/* Tables */
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--line)}
thead th{font:600 .74rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--tint)}
thead th.adams{color:var(--gold-ink);background:var(--gold-soft)}
tbody th{font-weight:600;font-size:.94rem}
tbody th .crit-note{display:block;font-weight:400;color:var(--muted);font-size:.8rem;margin-top:4px}
td{font-size:.87rem}
td .pill{margin-bottom:6px}
td.adams{background:var(--gold-soft)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
.t3{min-width:700px} .t3 tbody th{width:28%} .t3 td{width:36%}
.t4{min-width:800px} .t4 tbody th{width:25%} .t4 td{width:25%}
.years{min-width:720px}
.years td.num{text-align:right;white-space:nowrap}
.years thead th.r{text-align:right}
.rubric{min-width:640px}
.rubric td.sc{font:400 1.4rem var(--f-display);color:var(--gold-ink);width:4.5rem;text-align:center}

/* Bars */
.bars{display:grid;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.bar-row{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:6px 16px;align-items:center}
.bar-row .lbl{font-size:.9rem;font-weight:600}
.bar-track{display:grid;gap:4px;min-width:0}
.bar{height:12px;border-radius:999px}
.bar.in{background:var(--bar-in)}
.bar.out{background:var(--bar-out)}
.bar-vals{display:flex;flex-wrap:wrap;gap:4px 14px;font:.78rem var(--f-data);color:var(--muted)}
.bar-vals b{font-weight:500;color:var(--ink)}
.gap-pos{color:var(--yes)} .gap-neg{color:var(--no)}
.key{display:flex;gap:18px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
.key i{display:inline-block;width:14px;height:10px;border-radius:999px;margin-right:6px;vertical-align:middle}
.howto{display:grid;gap:8px;background:var(--tint);padding:16px 20px;border-radius:10px}
.howto strong{color:var(--accent)}
.howto ol{padding-left:1.2em;display:grid;gap:4px;font-size:.93rem}
.ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.ledger .cell{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:6px}
.ledger .cell span{font-size:.8rem;color:var(--muted)}
.ledger .cell b{font:400 1.5rem var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums}
@media (max-width:560px){ .bar-row{grid-template-columns:1fr} }

/* Accountability */
.score{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.score .cell{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:6px}
.score .cell b{font:400 2.2rem/1 var(--f-display);font-variant-numeric:tabular-nums}
.score .cell span{font-size:.82rem;color:var(--muted)}
.commit{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:14px;box-shadow:var(--shadow)}
.commit-head{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between}
.commit q{font:400 1.15rem/1.5 var(--f-display);quotes:"“" "”"}
.timeline{list-style:none;padding:0;display:grid;gap:0;border-left:2px solid var(--gold-line);margin-left:6px}
.timeline li{position:relative;padding:0 0 14px 20px;font-size:.92rem}
.timeline li::before{content:"";position:absolute;left:-7px;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--gold)}
.timeline li.miss::before{border-color:var(--no);background:var(--no-bg)}
.timeline .d{font:500 .78rem var(--f-data);color:var(--muted);display:block}
.empty{border:1.5px dashed var(--gold-line);border-radius:12px;padding:26px;display:grid;gap:10px;justify-items:start;background:var(--surface)}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 18px;font-size:.88rem}
.fields div{display:grid;gap:2px}
.fields b{font:600 .72rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}

/* Questions page */
.qbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 56px);z-index:5;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;background:var(--surface);border:1px solid var(--gold-line);border-radius:16px;padding:10px 12px 10px 20px;box-shadow:var(--shadow)}
.qbar .count{font-weight:600;flex:1 1 auto}
.qbar .count b{font:400 1.2rem var(--f-display);color:var(--gold-ink)}
.qbar .status{font-size:.85rem;color:var(--accent);flex-basis:100%;padding-left:2px}
.qbar .status:empty{display:none}
.qfallback{width:100%;min-height:9rem;font:.9rem/1.5 var(--f-body);color:var(--ink);background:var(--surface);border:1px solid var(--gold);border-radius:10px;padding:12px}
.qgroup > header .eyebrow{display:flex;gap:8px}
ol.qs{list-style:none;padding:0;display:grid;gap:12px}
.qcard{display:grid;grid-template-columns:auto 1fr auto;gap:6px 16px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;transition:border-color .15s,background .15s;scroll-margin-top:130px}
.qcard:has(input:checked){border-color:var(--gold);background:var(--gold-soft)}
.qpick{display:flex;align-items:center;gap:10px;cursor:pointer;padding-top:2px}
.qpick input{width:20px;height:20px;accent-color:var(--band);cursor:pointer;margin:0}
.qpick .qn{font:400 1rem var(--f-display);color:var(--gold-ink);min-width:2.2rem}
.qtext{display:grid;gap:6px;min-width:0}
.qq{font-weight:600;font-size:1rem;line-height:1.5}
.qsrc{font-size:.82rem;color:var(--muted)}
.copy1{font:600 .78rem var(--f-body);background:transparent;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;white-space:nowrap}
.copy1:hover{border-color:var(--gold);color:var(--gold-ink)}
@media (max-width:620px){ .qcard{grid-template-columns:auto 1fr} .copy1{grid-column:2;justify-self:start} .qbar{border-radius:14px} }

/* Town hall */
.ladder{display:grid;gap:10px}
.rung{display:grid;grid-template-columns:minmax(160px,0.8fr) 1.2fr;gap:4px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;align-items:baseline}
.rung .they{font:400 1.05rem var(--f-display);color:var(--muted)}
.rung .you{font-size:.94rem}
.rung .you b{color:var(--gold-ink)}
@media (max-width:620px){ .rung{grid-template-columns:1fr} }

/* Learn */
.terms{display:grid;gap:12px}
details.term{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0}
details.term[open]{border-color:var(--gold-line)}
details.term summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
details.term summary::-webkit-details-marker{display:none}
details.term summary::after{content:"+";font:400 1.3rem var(--f-display);color:var(--gold-ink)}
details.term[open] summary::after{content:"–"}
details.term summary b{font:400 1.2rem var(--f-display);color:var(--accent)}
details.term summary span{font-size:.88rem;color:var(--muted);flex:1;margin-left:12px}
.term-body{padding:0 20px 20px;display:grid;gap:12px;font-size:.94rem}
.term-body .tag{font:600 .7rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);display:block;margin-bottom:2px}
.quiz{display:grid;gap:12px}
.qz{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:12px}
.qz .opts{display:flex;flex-wrap:wrap;gap:8px}
.qz button.opt{font:500 .88rem var(--f-body);background:var(--tint);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer;text-align:left}
.qz button.opt:hover{border-color:var(--gold)}
.qz button.opt.right{border-color:var(--yes);background:var(--yes-bg);color:var(--yes)}
.qz button.opt.wrong{border-color:var(--no);background:var(--no-bg);color:var(--no)}
.qz .fb{font-size:.92rem}

/* Evidence */
.ev{display:grid;gap:10px}
.ev-item{display:grid;grid-template-columns:3.4rem 1fr;gap:4px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;scroll-margin-top:80px}
.ev-item:target,.ev-item.hl{background:var(--target);border-color:var(--gold)}
.ev-id{font:400 1.05rem var(--f-display);color:var(--gold-ink)}
.ev-body{display:grid;gap:4px;min-width:0}
.ev-doc{font-weight:600}
.ev-doc .pg{font:500 .78rem var(--f-data);color:var(--muted);margin-left:6px}
.ev-what{font-size:.91rem}
.ev-link{font-size:.8rem;word-break:break-all}
.ev-group{font:600 .72rem var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-top:14px}
.steps{padding-left:1.2em;display:grid;gap:8px;max-width:72ch}

footer.site{background:var(--band);color:var(--on-band-muted);font-size:.85rem;border-top:2px solid var(--gold)}
footer.site > span,footer.site{display:block}
footer.site{padding:28px max(20px,calc((100% - 1080px)/2)) 48px}

/* ===== Focus pass: gold is reserved for the one thing to look at; everything secondary goes quiet ===== */
a{text-decoration-color:var(--line)} a:hover{text-decoration-color:var(--accent)}
.eyebrow{color:var(--label)}
.hero .eyebrow{color:var(--on-band-muted)}
.block > header::after{background:var(--line);height:2px}
a.c{color:var(--muted);background:var(--tint);border-color:var(--line)}
a.c:hover{color:var(--accent);border-color:var(--accent)}
.prob-grid h4,.term-body .tag,.fields b,.ev-group,.learn strong{color:var(--label)}
.prob-head .pn{background:var(--tint);color:var(--accent);font:600 .78rem var(--f-body);letter-spacing:.04em}
.ask b,.rung .you b,.rubric td.sc,.ev-id,.qpick .qn,.qbar .count b{color:var(--accent)}
ol.route li::before{border-color:var(--line);color:var(--accent)}
.ledger .cell b{color:var(--ink)}
.timeline{border-left-color:var(--line)} .timeline li::before{border-color:var(--accent)}
details.term summary::after{color:var(--accent)}
.btn.ghost{color:var(--accent);border-color:var(--accent)} .btn.ghost:hover{background:var(--accent-soft)}
.hero .btn.ghost{color:var(--on-band);border-color:var(--on-band-muted)} .hero .btn.ghost:hover{background:rgba(255,255,255,.08)}

/* Reading progress */
.progress{height:3px;background:transparent}
.progress span{display:block;height:100%;width:0;background:var(--gold)}

/* 30-second version */
.tldr{display:grid;grid-template-columns:auto 1fr;gap:8px 28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 26px;box-shadow:var(--shadow)}
.tldr .lab{grid-column:1/-1;font:600 .7rem var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--label)}
.tldr .big{font:400 clamp(2.2rem,5vw,3rem)/1 var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.tldr .big small{display:block;font:500 .78rem var(--f-body);color:var(--muted);margin-top:6px;white-space:normal;max-width:16ch}
.tldr ul{list-style:none;padding:0;display:grid;gap:6px;font-size:1.04rem}
.tldr li{padding-left:1.1em;position:relative}
.tldr li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
@media (max-width:620px){ .tldr{grid-template-columns:1fr} }

/* One-minute deck */
.deck-wrap{display:grid;gap:10px}
.deck-hint{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;color:var(--muted)}
.deck{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,330px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 2px 14px}
.card{scroll-snap-align:start;background:var(--band);color:var(--on-band);border-radius:18px;padding:26px 24px;display:grid;gap:14px;align-content:space-between;min-height:320px}
.card .n{font:600 .72rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--on-band-muted)}
.card .big{font:400 clamp(2.2rem,6vw,2.8rem)/1.05 var(--f-display);color:var(--gold)}
.card p{font-size:1.06rem;line-height:1.5;color:var(--on-band)}
.card a.c{color:var(--on-band);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}
.card .go{color:var(--gold);font-weight:600;text-decoration:none}
.card.cta{background:var(--surface);color:var(--ink);border:1.5px solid var(--gold)}
.card.cta .n{color:var(--label)} .card.cta p{color:var(--ink)} .card.cta .big{color:var(--gold-ink)}
@media (max-width:620px){ .deck{grid-auto-columns:86%} }

/* Problems: key number first, evidence on tap */
.prob .keynum{font:400 clamp(1.9rem,4.5vw,2.4rem)/1 var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums}
details.more{border-top:1px solid var(--line);padding-top:12px}
details.more > summary{cursor:pointer;list-style:none;font-weight:600;font-size:.92rem;color:var(--accent);display:inline-flex;gap:8px;align-items:center}
details.more > summary::-webkit-details-marker{display:none}
details.more > summary::before{content:"+";display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border:1px solid var(--accent);border-radius:50%;font-size:.9rem;line-height:1}
details.more[open] > summary::before{content:"–"}
details.more[open] > .prob-grid{margin-top:16px}

/* Recall check */

/* Saved copies */
.ev-arch{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem}
.ev-arch a{font-weight:600;text-decoration:none}
.ev-arch a::before{content:"↓ ";color:var(--muted)}
.ev-arch a[href^="https://web.archive.org"]::before{content:"⟲ "}
.archive-table td{font-size:.84rem}
.archive-table code{font:.74rem var(--f-data);word-break:break-all;color:var(--muted)}
.archive-table .links{display:flex;flex-direction:column;gap:2px;white-space:nowrap}

@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}

.panel{display:grid;gap:40px}

/* ===== Visuals: charts and figures. Gold marks the one thing to look at; the rest is navy or muted. ===== */
:root{--chart-navy:#1f4f8f;--chart-mid:#6f8fbd;--chart-light:#a9b9d3;--chart-pale:#d5dce8}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--chart-navy:#4f74b0;--chart-mid:#7f9dcc;--chart-light:#b7c6de;--chart-pale:#33435f} }
:root[data-theme="dark"]{--chart-navy:#4f74b0;--chart-mid:#7f9dcc;--chart-light:#b7c6de;--chart-pale:#33435f}
figure.viz{margin:0;display:grid;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}
figure.viz figcaption{font-weight:600;font-size:.98rem;line-height:1.45;max-width:70ch}
figure.viz .key{gap:6px 18px}
figure.viz .key b{font-weight:500;color:var(--ink)}
.chart-box{position:relative;width:100%;min-width:0}
.chart-box canvas{display:block;position:absolute;inset:0}
.chart-flows{aspect-ratio:16/10}
.chart-pages{aspect-ratio:4/3;max-width:520px}
.chart-balance{aspect-ratio:6/1;min-height:150px}
.chart-icm{aspect-ratio:16/9;max-width:760px}
.chart-gv{aspect-ratio:16/5;min-height:190px}
.chart-hq{aspect-ratio:8/1;min-height:120px}
.chart-lean{aspect-ratio:16/5;min-height:260px}
.chart-donut{aspect-ratio:1;width:100%;max-width:280px}
@media (max-width:620px){ .chart-flows{aspect-ratio:3/4} .chart-icm{aspect-ratio:4/3} figure.viz{padding:16px} }
details.viz-table > summary{cursor:pointer;font-weight:600;font-size:.88rem;color:var(--accent)}
details.viz-table[open] > summary{margin-bottom:10px}
details.viz-table th,details.viz-table td{padding:9px 12px;font-size:.84rem}
details.viz-table td.num,details.viz-table th.r{text-align:right;white-space:nowrap}
details.viz-table tfoot th,details.viz-table tfoot td{border-top:1px solid var(--line);border-bottom:0;font-weight:600}
.viz-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px 28px;align-items:start}
.donut{display:grid;gap:10px;justify-items:center;min-width:0}
.donut > strong{font:600 .74rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--label)}
.donut-mid{position:absolute;inset:22%;display:grid;place-content:center;justify-items:center;gap:4px;text-align:center;pointer-events:none;font-size:.8rem;line-height:1.3;color:var(--muted)}
.donut-mid b{font:400 1.25rem/1.1 var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}
.donut-mid a{pointer-events:auto}
.donut-mid .none{font-weight:600;color:var(--ink)}
.ring{display:block;width:100%;height:100%}
.ring circle{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 3}
.donut ul{list-style:none;padding:0;display:grid;gap:4px;font-size:.84rem;justify-self:stretch}
.donut li{display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.donut li i{flex:none;width:10px;height:10px;border-radius:2px;align-self:center}
.donut li span{flex:1}
.gv{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.gv-bar{height:22px;border-radius:6px;border:1.5px solid var(--chart-navy);overflow:hidden}
.gv-fill{height:100%;background:var(--chart-navy)}
.gv-vals{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font-size:.84rem;color:var(--muted)}
.gv-vals b{font-weight:500;color:var(--ink)}
.waffle{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;width:100%;max-width:210px}
.waffle i{position:relative;aspect-ratio:1;border:1.5px solid var(--chart-navy);border-radius:2px;overflow:hidden}
.waffle i.on{background:var(--gold);border-color:var(--gold)}
.waffle i.half{border-color:var(--gold)}
.waffle i.half::before{content:"";position:absolute;inset:0 50% 0 0;background:var(--gold)}
/* Timeline draw-in: only while visuals.js is animating; without it the line and dots are simply there. */
.timeline li::before{transform:scale(var(--dot,1))}
.timeline.draw{position:relative;border-left-color:transparent}
.timeline.draw::before{content:"";position:absolute;left:-2px;top:0;bottom:0;width:2px;background:var(--line);transform:scaleY(var(--draw,1));transform-origin:top}

/* ===== Officials on the record (rendered from records.js) ===== */
#office-queues{display:grid;gap:40px} #office-queues:empty{display:none}
#official-records{display:grid;gap:12px}
#record-score{margin-top:-2px}
#record-score .cell a{font-weight:600}
table.queue td:nth-child(3){min-width:300px;font-size:.95rem}
table.queue .crit-note{display:block;color:var(--muted);font-size:.8rem;margin-top:6px}
table.queue td:first-child,table.queue td:nth-child(4){white-space:nowrap}
.official h4{font-size:1.3rem}
.official .score{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}
.official .score .cell{background:var(--tint);border:0;padding:14px 16px}
.official .score .cell b{font-size:1.7rem}
.thread-wrap{display:grid;gap:14px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button[aria-pressed="true"]{background:var(--band);border-color:var(--band);color:var(--on-band)}
.thread{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:18px}
.thread > header{display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.thread > header strong{font-size:.95rem}
ol.exchanges{list-style:none;padding:0;display:grid;gap:26px}
.exch{display:grid;gap:10px;scroll-margin-top:80px;border-radius:10px}
.exch[hidden]{display:none}
.exch:target{outline:2px solid var(--gold);outline-offset:8px}
.bubble{margin:0;display:grid;gap:6px;max-width:78%;min-width:0}
.bubble figcaption{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.82rem;color:var(--label)}
.bubble .av{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:600 .66rem var(--f-body);letter-spacing:.04em;background:var(--tint);color:var(--accent);border:1px solid var(--line)}
.bubble .bub{border-radius:4px 16px 16px 16px;padding:14px 16px;background:var(--tint);display:grid;gap:6px;overflow-wrap:anywhere}
.bubble h5{margin:0;font:600 .72rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--label)}
.bubble blockquote{margin:0;font-size:.96rem;line-height:1.55}
.bubble.official{justify-self:end}
.bubble.official figcaption{flex-direction:row-reverse;text-align:right}
.bubble.official .av{background:var(--band);color:var(--on-band);border-color:var(--band)}
.bubble.official .bub{border-radius:16px 4px 16px 16px;background:var(--band);color:var(--on-band);border:1px solid var(--line)}
.chips{display:flex;justify-content:flex-end;max-width:none}
.promise-chip{font:600 .76rem var(--f-body);text-decoration:none;color:var(--ink);border:1.5px solid var(--gold);border-radius:999px;padding:5px 12px;background:var(--surface)}
.promise-chip:hover{background:var(--gold-soft)}
.ob-note{border-top:1px dashed var(--line);padding-top:10px;font-size:.82rem;line-height:1.55;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.ob-note .lab{font:600 .66rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--label)}
.ob-note > span:last-child{flex:1 1 260px}
.ob-note b{color:var(--ink);font-weight:600}
@media (max-width:620px){ .bubble{max-width:88%} .thread{padding:16px} }
ol.promised{list-style:none;padding:0;display:grid;gap:12px}
ol.promised .commit-head{flex-wrap:nowrap;align-items:flex-start}
ol.promised h4{color:var(--ink);font-size:1.1rem}
#record-followups ul{font-size:.93rem}

/* ===== Promises tab (rendered from records.js) ===== */
.controls{display:grid;gap:10px}
.filters .lab{font:600 .7rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--label);align-self:center;margin-right:4px}
#promise-groups{display:grid;gap:36px}
.pgroup{scroll-margin-top:80px}
.pgroup[hidden]{display:none}
#promise-counts b{color:var(--ink)}
ol.pcards{list-style:none;padding:0;display:grid;gap:14px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:12px;box-shadow:var(--shadow);scroll-margin-top:80px;min-width:0}
.pcard.late{border-left:4px solid var(--no)}
.pcard:target{border-color:var(--gold)}
.pcard .commit-head{justify-content:space-between}
.pcard .pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pcard > h4{font-size:1.15rem}
.pcard blockquote{margin:0;padding:2px 0 2px 14px;border-left:2px solid var(--line);font:400 1.1rem/1.5 var(--f-display);max-width:70ch}
.pcard .timeline{margin-top:14px}
span.promise-chip{color:var(--ink)}
@media (max-width:620px){ .pcard{padding:18px} }

/* Town hall: promises still open from an earlier meeting */
ul.outstanding{list-style:none;padding:0;display:grid;gap:10px;font-size:.93rem}
ul.outstanding li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
ul.outstanding a:not(.c){font-weight:600}
#promised-section h4{margin-top:10px}

/* ===== Home: what ADAMS does not provide. Red is used only for the X marks, the 4× badge and the card top borders. ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
ol.xlist{list-style:none;padding:0;display:grid;gap:12px}
.xlist li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.xmark{display:grid;justify-items:center;gap:6px;width:76px}
.xmark svg,.tx{width:44px;height:44px;flex:none}
.xmark circle,.tx circle{fill:var(--no-bg)}
.xmark path,.tx path{stroke:var(--no);stroke-width:4;stroke-linecap:round;fill:none}
.xlab{font:600 .62rem/1.2 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--no);text-align:center}
.xbody{display:grid;gap:6px;min-width:0}
.xbody h3{font-size:1.2rem}
.xbody p{font-size:.94rem}
.xbody .neighbors{font-size:.86rem;color:var(--muted)}
.xbody .neighbors b{color:var(--ink);font-weight:600}
.more-link{font-weight:600;display:inline-flex;align-items:center;min-height:44px;margin-left:6px}
.xlist.armed .xmark svg{opacity:0;transform:scale(.6)}
.xlist.armed.go .xmark svg{animation:xin .6s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--i) * 80ms)}
@keyframes xin{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion: reduce){ .xlist.armed .xmark svg{opacity:1;transform:none;animation:none} }
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.tcard{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--no);border-radius:12px;padding:22px;display:grid;gap:14px;align-content:start;min-width:0;box-shadow:var(--shadow)}
.tcard h3{display:flex;gap:10px;align-items:center;font-size:1.25rem}
.tcard .tx{width:26px;height:26px}
.tcard > p{font-size:.94rem}
.gfx{display:grid;gap:12px;background:var(--tint);border-radius:10px;padding:16px;font-size:.86rem}
.ba{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.ba-cell{display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.ba-cell span{font-size:.74rem;color:var(--muted)}
.ba-cell b,.stats b{font:400 1.35rem/1.1 var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums}
.ba-arrow{font-size:1.2rem;color:var(--muted)}
.badge-x{font:700 .95rem var(--f-body);color:var(--no);background:var(--no-bg);border-radius:999px;padding:5px 11px;white-space:nowrap}
.badge-x .calc{color:var(--no);font-weight:400}
.ba-line{font-size:.86rem}
ul.bubbles{list-style:none;padding:0;display:grid;gap:6px}
.bubbles li{display:flex;gap:8px;align-items:center}
.bubbles svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--chart-navy);stroke-width:1.6;stroke-linejoin:round}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stats div{display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.stats span{font-size:.76rem;color:var(--muted)}
.versus{display:grid;gap:10px}
.versus > div,.cal{display:grid;gap:6px}
.cells{display:flex;gap:3px;flex-wrap:wrap}
.cells i{width:16px;height:16px;border-radius:3px;background:var(--chart-navy)}
.cells.one i{background:transparent;border:2px solid var(--no)}
.cal{border-top:1px dashed var(--line);padding-top:12px}
.cal .cells i{background:transparent;border:1.5px solid var(--chart-navy)}
.cal .cells i.on{background:var(--chart-navy)}
.tlinks{display:flex;flex-wrap:wrap;gap:0 18px;font-size:.9rem;font-weight:600}
.tlinks a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
@media (max-width:620px){ .xlist li{grid-template-columns:1fr;gap:10px;padding:16px} .xmark{grid-auto-flow:column;justify-content:start;align-items:center;width:auto;gap:10px} .xmark svg{width:36px;height:36px} }

/* ===== Home: lead section on the missing budget. Red only for X marks, zeros and the 4× badge; amber for "Deferred". ===== */
.lead{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(22px,4.5vw,48px);gap:clamp(22px,3vw,34px);box-shadow:var(--shadow);scroll-margin-top:70px}
.lead > header h2{font-size:clamp(2rem,5vw,3rem)}
.lead-part{display:grid;gap:14px}
.lead-part > h3{font-size:1.35rem}
.counter{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{display:grid;gap:6px;align-content:start;background:var(--tint);border-radius:12px;padding:20px}
.tile b{font:400 clamp(2.6rem,7vw,3.8rem)/1 var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums}
.tile.zero{background:var(--no-bg)}
.tile.zero b{color:var(--no)}
.tile span{font-size:.92rem;font-weight:600}
.hbars{display:grid;gap:16px}
.hbar{display:grid;gap:6px}
.hbar-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:.94rem}
.hbar .amt{font-family:var(--f-display);color:var(--gold-ink);font-size:1.05rem}
.hbar-track{display:flex;align-items:center;gap:10px;min-height:44px;border-radius:8px;padding:6px 12px;font-weight:600;font-size:.86rem}
.hbar-track.hatch{border:1px solid var(--line);background-color:var(--tint);background-image:repeating-linear-gradient(135deg,var(--line) 0 2px,transparent 2px 9px)}
.hbar-track.hatch > span{background:var(--surface);border-radius:999px;padding:3px 10px}
.qm,.ok{width:26px;height:26px;flex:none}
.qm circle{fill:var(--no-bg)} .qm text{fill:var(--no);font:700 24px var(--f-body)}
.ok circle{fill:var(--yes-bg)} .ok path{stroke:var(--yes);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;fill:none}
.hbar.contrast{max-width:560px;border-top:1px dashed var(--line);padding-top:14px}
.hbar-track.split{padding:0;gap:2px;min-height:28px;font-size:.76rem}
.hbar-track.split span{display:flex;align-items:center;justify-content:center;min-height:28px;color:#fff;background:var(--chart-navy);border-radius:6px 0 0 6px;overflow:hidden;white-space:nowrap}
.hbar-track.split span + span{background:var(--chart-mid);border-radius:0 6px 6px 0}
.hbar-note{display:flex;gap:8px;align-items:center;font-size:.86rem;max-width:none}
.swap{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
.swap .ba-arrow{align-self:center}
.swap-card{display:flex;gap:12px;align-items:flex-start;background:var(--tint);border-radius:12px;padding:16px}
.swap-card .tx,.swap-card .ok{width:30px;height:30px}
.swap-card div{display:grid;gap:4px;min-width:0}
.swap-card div > span{font-size:.78rem;color:var(--muted)}
.swap-card b{font:400 1.7rem/1.1 var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums}
.swap-card p{font-size:.9rem}
ol.asks{list-style:none;padding:0;display:grid;gap:10px}
.asks li{display:grid;grid-template-columns:1fr 1fr auto;gap:10px 20px;align-items:start;background:var(--tint);border-radius:12px;padding:16px 18px;font-size:.92rem}
.asks .who{display:block;font:600 .68rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--label);margin-bottom:4px}
.asks blockquote{margin:0}
.asks .verdict{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;min-width:150px}
.asks .verdict .tx{width:22px;height:22px}
.asks .verdict a:not(.c){flex-basis:100%;font-size:.84rem;font-weight:600;display:inline-flex;align-items:center;min-height:44px}
.nob{color:var(--no);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
@media (max-width:760px){ .counter{grid-template-columns:1fr} .swap{grid-template-columns:1fr} .swap .ba-arrow{transform:rotate(90deg);justify-self:center} .asks li{grid-template-columns:1fr} }
.hero .btn,.lead .btn{min-height:44px}

/* ===== Trends tab (rendered from trends.js). Gold only for key counts; amber for deferred; red for overdue. ===== */
#pattern-cards{display:grid;gap:14px}
.pattern{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:14px;box-shadow:var(--shadow);scroll-margin-top:80px;min-width:0}
.pattern:target{border-color:var(--gold)}
.pattern-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.pcode,.tdot,#trend-filters button b{font:600 .8rem var(--f-data)}
.pcode{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--band);color:var(--on-band)}
.pattern h4{font-size:1.2rem}
.pcount{display:grid;justify-items:center;line-height:1}
.pcount b{font:400 2.6rem/1 var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums}
.pcount span{font-size:.74rem;color:var(--muted)}
.yearstrip{display:flex;gap:6px;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:0}
.ycol{flex:1;display:grid;gap:4px;justify-items:center;min-width:0}
.ydots{display:flex;flex-direction:column-reverse;gap:3px;min-height:14px}
.ydots i{width:12px;height:12px;border-radius:50%;background:var(--chart-navy)}
.ylab{font:.68rem var(--f-data);color:var(--muted);padding:4px 0;border-top:1px solid var(--line);width:100%;text-align:center}
.pattern .timeline{margin-top:14px}
ol.tline{list-style:none;padding:18px 14px 12px;margin:0;display:flex;gap:6px;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.tcol{flex:1;display:grid;gap:8px;justify-items:center;min-width:0}
.tdots{display:flex;flex-direction:column-reverse;gap:6px;align-items:center}
.tdot{min-width:44px;min-height:44px;padding:0 8px;border-radius:999px;border:1.5px solid var(--chart-navy);background:var(--chart-navy);color:#fff;cursor:pointer;white-space:nowrap}
.tdot.pos{background:var(--yes-bg);border-color:var(--yes);color:var(--yes)}
.tdot.dim{opacity:.22}
.tdot[aria-pressed="true"]{outline:3px solid var(--gold);outline-offset:2px}
.tlab{font:.68rem/1.3 var(--f-data);color:var(--muted);text-align:center;border-top:2px solid var(--line);padding-top:6px;width:100%}
#trend-filters{align-items:center}
#trend-filters button{min-height:44px;min-width:44px}
#trend-detail .box{border-color:var(--gold-line)}
.sbars{display:grid;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}
.sbar{display:grid;grid-template-columns:minmax(150px,300px) 1fr 2ch;gap:6px 14px;align-items:center;font-size:.88rem}
.strack{height:14px;border-radius:999px;background:var(--tint);overflow:hidden}
.strack i{display:block;height:100%;border-radius:999px;background:var(--chart-navy)}
.sbar.amber .strack i{background:var(--part)}
.snum{font:500 .95rem var(--f-data);text-align:right}
#trend-responses{display:grid;gap:12px}
#trend-responses .legend b{color:var(--ink)}
ol.practices{list-style:none;padding:0;display:grid;gap:12px}
.practices li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:grid;gap:8px}
.pr-head{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between;align-items:center}
.pr-head h4{font-size:1.12rem;color:var(--accent)}
.pr-mark{display:inline-flex;gap:8px;align-items:center}
.practices p{font-size:.92rem;max-width:80ch}
@media (max-width:760px){
  ol.tline{flex-direction:column;align-items:stretch;gap:10px}
  .tcol{grid-template-columns:104px 1fr;justify-items:start;align-items:center}
  .tdots{flex-direction:row;flex-wrap:wrap;order:2}
  .tlab{order:1;border-top:0;border-right:2px solid var(--line);padding:0 8px 0 0;text-align:left}
  .sbar{grid-template-columns:1fr 2ch} .sbar .slab{grid-column:1/-1}
  .pattern{padding:18px} .pattern-head{grid-template-columns:auto 1fr} .pcount{grid-column:1/-1;grid-auto-flow:column;justify-content:start;align-items:baseline;gap:8px}
}

/* ===== Grouped navigation: top bar, dropdowns, mobile panel, subtab bar, breadcrumb ===== */
#site-nav{flex:1;min-width:0;display:flex;justify-content:flex-end;align-items:center;min-height:52px}
.nav-plain{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.nav-plain a{font:500 .88rem var(--f-body);color:var(--on-band-muted);text-decoration:none;padding:17px 10px 14px;white-space:nowrap}
.nav-plain a:hover{color:var(--on-band)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--on-band-muted);border-radius:10px;background:transparent;cursor:pointer}
.nav-burger,.nav-burger::before,.nav-burger::after{display:block;width:20px;height:2px;border-radius:2px;background:var(--on-band)}
.nav-burger{position:relative}
.nav-burger::before,.nav-burger::after{content:"";position:absolute;left:0}
.nav-burger::before{top:-6px} .nav-burger::after{top:6px}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:stretch}
.nav-list > li{position:relative}
.nav-top{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 14px;font:400 1.02rem var(--f-display);letter-spacing:.01em;color:var(--on-band-muted);background:none;border:0;border-bottom:3px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap}
.nav-top:hover,.nav-top[aria-expanded="true"]{color:var(--on-band)}
.nav-cat.active > .nav-top,.nav-top[aria-current="page"]{color:var(--on-band);border-bottom-color:var(--gold)}
.nav-chev{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.nav-top[aria-expanded="true"] .nav-chev{transform:translateY(2px) rotate(-135deg)}
.nav-menu{position:absolute;right:0;top:100%;min-width:310px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;box-shadow:0 14px 30px rgba(0,0,0,.2);padding:10px;z-index:20}
.nav-menu[hidden]{display:none}
.nav-blurb{font:600 .68rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--label);padding:6px 10px 8px;max-width:none}
.nav-menu ul{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.nav-menu a{display:grid;gap:2px;align-content:center;min-height:48px;padding:8px 10px;border-radius:8px;text-decoration:none;font-family:var(--f-body)}
.nav-menu a b{font-weight:600;color:var(--accent)}
.nav-menu a span{font-size:.82rem;color:var(--muted)}
.nav-menu a:hover{background:var(--tint)}
.nav-menu a[aria-current="page"]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--gold)}
.subtabs{background:var(--tint);border-bottom:1px solid var(--line)}
.subtabs-in{max-width:1120px;margin-inline:auto;padding:8px 16px;display:flex;gap:14px;align-items:center;min-width:0}
.subtabs-cat{font:400 1rem var(--f-display);color:var(--muted);white-space:nowrap}
.subtabs-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;min-width:0;padding:3px;position:relative}
.subtabs-row::-webkit-scrollbar{display:none}
.subtabs-row a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font:600 .88rem var(--f-body);text-decoration:none;white-space:nowrap}
.subtabs-row a:hover{border-color:var(--accent)}
.subtabs-row a[aria-current="page"]{background:var(--band);color:var(--on-band);border-color:var(--gold)}
.crumb{font-size:.8rem;color:var(--muted);margin-bottom:-26px;max-width:none}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.cat-card ul{list-style:none;padding:0;display:grid;gap:4px}
.cat-card li{display:grid;gap:1px}
.cat-card li a{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.cat-card li span{font-size:.84rem;color:var(--muted);margin-top:-8px;padding-bottom:6px}
@media (max-width:899px){
  .nav-toggle{display:inline-flex}
  .nav-list{display:none;position:fixed;left:0;right:0;top:var(--topbar-h,56px);bottom:0;overflow-y:auto;overscroll-behavior:contain;background:var(--band);flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 48px;z-index:30}
  #site-nav.open .nav-list{display:flex}
  .nav-top{width:100%;justify-content:space-between;min-height:54px;padding:0 6px;font-size:1.2rem;border-bottom:1px solid rgba(255,255,255,.14)}
  .nav-cat.active > .nav-top,.nav-top[aria-current="page"]{border-bottom:2px solid var(--gold)}
  .nav-menu{position:static;min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;padding:6px 0 12px}
  .nav-blurb{color:var(--on-band-muted)}
  .nav-menu a b{color:var(--on-band)} .nav-menu a span{color:var(--on-band-muted)}
  .nav-menu a:hover{background:rgba(255,255,255,.08)}
  .nav-menu a[aria-current="page"]{background:rgba(255,255,255,.1)}
  html.nav-open{overflow:hidden}
  .subtabs-in{gap:10px;padding:6px 12px}
}

/* ===== Their Own Rules, evidence provenance, home note ===== */
#rule-cards,#rule-actions{display:grid;gap:14px}
ol.rules,ol.actions-list{list-style:none;padding:0;display:grid;gap:16px}
.rule{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:16px;box-shadow:var(--shadow);scroll-margin-top:80px;min-width:0}
.rule:target{border-color:var(--gold)}
.rule-head{display:grid;gap:8px}
.rule-head h3{font-size:1.3rem}
.rule-head .pills{display:flex;flex-wrap:wrap;gap:8px}
.rule-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}
.rule-side{display:grid;gap:10px;align-content:start;min-width:0}
.rule-side h4{font:600 .7rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--label)}
.rule-side:first-child{border-right:1px solid var(--line);padding-right:28px}
.rule-quote{margin:0;display:grid;gap:4px}
.rule-quote blockquote{margin:0;padding:2px 0 2px 14px;border-left:2px solid var(--line);font:400 1.02rem/1.5 var(--f-display)}
.rule-quote figcaption{font-size:.8rem;color:var(--muted);padding-left:14px}
.rule-side p{font-size:.94rem}
.actions-list li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;gap:6px}
.actions-list h4{color:var(--accent)}
.actions-list p{font-size:.94rem;max-width:80ch}
#rule-summary b{color:var(--ink)}
.ev-prov{display:block}
ul.quotes{padding-left:1.1em;display:grid;gap:8px;font-size:.9rem;margin-top:10px}
.ev-slides{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:8px}
.ev-slides a{display:grid;gap:4px;font-size:.78rem;font-weight:600;text-decoration:none}
.ev-slides img{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;display:block}
.calc[title]{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}
@media (max-width:760px){ .rule-cols{grid-template-columns:1fr} .rule-side:first-child{border-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:16px} .rule{padding:18px} }

/* ===== Home: Gainesville, years of giving (rendered from OB_GAINESVILLE in records.js) ===== */
.gv17 #gv17-body{display:grid;gap:18px}
.gv-intro{font-size:1.06rem;max-width:75ch}
.gv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.gv-stats .tile{background:var(--surface);border:1px solid var(--line)}
.gv-stats .tile b{font-size:clamp(1.7rem,3.6vw,2.3rem)}
.gv-stats .tile.main b{color:var(--gold-ink);font-size:clamp(2.6rem,7vw,3.8rem)}
.gv-stats .tile span{font-weight:500}
ol.gvline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px 0}
.gvline li{display:grid;gap:6px;align-content:start;padding:0 14px 0 0;border-top:3px solid var(--chart-navy);position:relative;padding-top:18px;min-width:0}
.gv-dot{position:absolute;top:-12px;left:0;width:22px;height:22px;border-radius:50%;background:var(--chart-navy);color:#fff;display:grid;place-items:center;font:700 .8rem var(--f-body)}
.gv-when{font:600 .82rem var(--f-data);color:var(--ink)}
.gv-state{font:600 .62rem var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:4px}
.gv-what{font-size:.86rem;color:var(--muted)}
.gvline li.promised,.gvline li.future{border-top-style:dashed;border-top-color:var(--gold)}
.gvline li.promised .gv-dot{background:var(--surface);border:3px solid var(--gold)}
.gvline li.future .gv-dot{background:var(--surface);border:3px dashed var(--chart-navy)}
.gvline li.future{border-top-color:var(--chart-navy)}
.gvline li.unknown .gv-dot{background:var(--nf-bg);color:var(--nf);border:2px solid var(--nf)}
.gvline li.overdue{border-top-color:var(--no)} .gvline li.overdue .gv-dot{background:var(--no-bg);color:var(--no);border:2px solid var(--no)} .gvline li.overdue .gv-state{color:var(--no)}
.gvline li.done .gv-dot{background:var(--yes-bg);color:var(--yes);border:2px solid var(--yes)} .gvline li.done .gv-state{color:var(--yes)}
.gv-recon{border-color:var(--gold-line)} .gv-recon b{color:var(--gold-ink)}
.gv-close{font-weight:600;max-width:none}
@media (max-width:900px){ ol.gvline{grid-template-columns:1fr;gap:0;border-left:3px solid var(--chart-navy);margin-left:10px} .gvline li,.gvline li.promised,.gvline li.future,.gvline li.overdue{border-top:0;padding:0 0 18px 22px} .gv-dot{top:0;left:-13px} }

/* ===== Home: "Rule vs. Reality" panel (rendered from rules.js). Navy in both themes, gold left border. ===== */
.rr{background:var(--band);color:var(--on-band);border-left:4px solid var(--gold);border-radius:16px;padding:clamp(1.5rem,4vw,3rem);display:grid;gap:clamp(14px,2vw,22px);scroll-margin-top:70px}
.rr-eyebrow{font:600 .78rem/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.rr h2{font-size:clamp(1.75rem,4vw,2.75rem);color:var(--on-band);max-width:24ch}
.rr-sub{color:var(--on-band-muted);font-size:1.05rem}
ol.rr-rows{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.16)}
.rr-row{display:grid;grid-template-columns:1fr auto 1fr;gap:6px 22px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.rr-rule,.rr-seen{display:grid;gap:8px;align-content:start;min-width:0}
.rr-seen{border-left:1px solid rgba(255,255,255,.16);padding-left:22px}
.rr-lab{font:600 .66rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--on-band-muted)}
.rr-rule b{font:400 1.25rem/1.3 var(--f-display);color:var(--on-band)}
.rr-line{font-size:.98rem}
.rr-chips,.rr-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rr-chip{font:500 .72rem var(--f-data);color:var(--on-band);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:6px 9px;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.rr-chip:hover{border-color:var(--gold)}
.rr a.c{color:var(--on-band);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.rr-arrow{font-size:1.4rem;color:var(--gold)}
.rr-status .tx,.rr-status .ok{width:24px;height:24px}
.rr-count{color:var(--on-band-muted);font-size:.95rem;max-width:none}
.rr-count b{color:var(--on-band);font:400 1.3rem var(--f-display)}
.rr-cta{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.rr-cta .btn{min-height:48px;font-size:1rem;padding-inline:22px}
.rr-link{color:var(--gold);font-weight:600;display:inline-flex;align-items:center;min-height:44px}
@media (max-width:899px){
  .rr-row{grid-template-columns:1fr;gap:12px}
  .rr-arrow{display:none}
  .rr-seen{border-left:0;padding-left:0;border-top:1px dashed rgba(255,255,255,.2);padding-top:12px}
}
#member-powers{scroll-margin-top:80px}

/* A table opened inside a figure scrolls inside its own box instead of widening the page on phones. */
figure.viz > *,.donut > *{min-width:0}
details.viz-table{min-width:0;max-width:100%}

/* Their Own Rules: the section label under a rule's title, when the rule sets one. */
.rule-chip a{font:500 .78rem var(--f-data);color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.rule-chip a:hover{color:var(--ink)}

/* Approximate figures: "~" reads as part of the number; the "*" is a small gold superscript linking to the footnote. */
.approx{white-space:nowrap}
.approx-mark{position:relative;display:inline-block;font:700 .72em/1 var(--f-body);vertical-align:super;color:var(--gold-ink);text-decoration:none;margin-left:.08em;padding:0 .1em;border-radius:3px;cursor:help}
.approx-mark::after{content:"";position:absolute;inset:-12px -10px}
.approx-mark:hover{color:var(--ink)}
.approx-mark:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.card .big .approx-mark,.rr .approx-mark,.hero .approx-mark{color:var(--gold)}
.card .big .approx-mark:hover,.rr .approx-mark:hover,.hero .approx-mark:hover{color:var(--on-band)}
h1 .approx-mark,h2 .approx-mark,h3 .approx-mark,h4 .approx-mark,.big .approx-mark,.keynum .approx-mark,.tile b .approx-mark{font-size:.45em;vertical-align:.9em}
.approx-note{max-width:none;margin-top:40px;padding-top:14px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted);scroll-margin-top:140px}
.approx-note b{color:var(--gold-ink);font-weight:700;margin-right:4px}
.approx-note:focus{outline:none}
.approx-note:target{color:var(--ink)}
#approx-tip{position:absolute;z-index:60;max-width:min(260px,calc(100vw - 16px));background:var(--band-2);color:var(--on-band);font:500 .8rem/1.4 var(--f-body);padding:8px 10px;border-radius:8px;box-shadow:var(--shadow);pointer-events:none;white-space:normal}
#approx-tip[hidden]{display:none}
@media print{.approx-mark{color:inherit}#approx-tip{display:none}}
.gv-stats .tile b .approx{display:inline;font:inherit;color:inherit}
/* A card whose key figure is two full dollar amounts: smaller so both fit on one line each. */
.card .big.exact{font-size:clamp(1.5rem,4.4vw,1.9rem);line-height:1.15}

/* Evidence submissions: a text link with an envelope, never a big button (except the one on evidence.html#submit). */
.mail-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;min-height:44px;vertical-align:middle}
.mail-ico{width:1.05em;height:1.05em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn .mail-ico{margin-right:8px;vertical-align:-.15em}
.q-mail{white-space:nowrap}
.foot-contact{display:block;margin-top:10px}
footer.site a{color:var(--on-band);text-decoration-color:var(--gold)}
footer.site a:hover{color:var(--gold)}
footer.site .mail-link{font-weight:600}

/* Forms: submit.html and followup.html. */
.ob-form{display:grid;gap:22px;max-width:680px}
.ob-form .field{display:grid;gap:6px;border:0;padding:0;margin:0;min-width:0}
.ob-form label,.ob-form legend{font-weight:600;padding:0}
.ob-form .req,.ob-form .opt{font:500 .72rem var(--f-data);color:var(--muted);margin-left:6px;text-transform:uppercase;letter-spacing:.06em}
.ob-form .req{color:var(--gold-ink)}
.ob-form input[type=text],.ob-form input[type=date],.ob-form select,.ob-form textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%;max-width:100%;min-height:46px}
.ob-form input[type=file]{font:inherit;color:var(--ink);max-width:100%}
.ob-form textarea{resize:vertical;line-height:1.5}
.ob-form select:focus-visible,.ob-form textarea:focus-visible,.ob-form input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ob-form [aria-invalid="true"]{border-color:var(--no)}
.ob-form .choice{display:flex;gap:10px;align-items:flex-start;font-weight:500;min-height:44px;padding:8px 0}
.ob-form .choice input{width:20px;height:20px;margin:3px 0 0;flex:none;accent-color:var(--band)}
.ob-form .hint{font-size:.85rem;color:var(--muted)}
.field-err{font-size:.88rem;font-weight:600;color:var(--no)}
.field-err:empty{display:none}
.form-alert{background:var(--no-bg);color:var(--no);border-radius:10px;padding:12px 14px;font-weight:600;max-width:680px}
.before-box{border-left:4px solid var(--gold);max-width:680px}
.file-list{list-style:none;padding:0;display:grid;gap:10px}
.file-list li{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;background:var(--tint);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.file-list .file-name{font-weight:600;overflow-wrap:anywhere;min-width:0}
.file-badge{grid-column:1 / -1;font-size:.82rem;font-weight:600;border-radius:8px;padding:6px 10px}
.file-badge.clean{background:var(--yes-bg);color:var(--yes)}
.file-badge.warn{background:var(--part-bg);color:var(--part)}
.form-progress{display:grid;gap:6px;max-width:680px}
.form-progress-track{height:10px;background:var(--tint);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.form-progress-track span{display:block;height:100%;width:0;background:var(--gold);transition:width .15s linear}
.ob-form button[disabled]{opacity:.6;cursor:progress}
.receipt{border-left:4px solid var(--yes);max-width:680px}
.receipt:focus{outline:none}
.receipt-id,.followup-code code{font:600 1.15rem var(--f-data);letter-spacing:.04em;overflow-wrap:anywhere}
.followup-code{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.privacy-note{max-width:680px;margin-top:28px}
.fu-thread{display:grid;gap:12px;max-width:680px;margin-bottom:22px}
.fu-msg{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:12px 14px;background:var(--surface)}
.fu-msg.mine{border-left-color:var(--gold)}
.fu-msg small{display:block;color:var(--muted);margin-bottom:4px}
.fu-msg p{white-space:pre-wrap;overflow-wrap:anywhere}
/* On the form pages a hidden element is always hidden, whatever its display rule (grid boxes, the form, the receipt). */
#submit [hidden],#followup [hidden]{display:none !important}
.foot-legal{display:block;margin-top:10px}

/* Gainesville town hall question set (gainesville-questions.html). */
.btn-row{display:flex;flex-wrap:wrap;gap:10px}
.gq-callout{border-left:4px solid var(--gold)}
.gq-sub{color:var(--muted);font-weight:500}
.gq-event{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-weight:600}
.gq-lab{font:600 .7rem/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--label)}
.gq-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.gq-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:6px;align-content:start;min-width:0}
.gq-tile b{font:400 clamp(1.5rem,3.4vw,1.9rem)/1.1 var(--f-display);color:var(--gold-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.gq-tile .gq-note{font-size:.9rem;font-weight:500}
.gq-caveat{background:var(--info-bg);border-color:transparent;border-left:4px solid var(--info)}
.gq-caveat h4{color:var(--info)}
.gq-jump{min-width:0;max-width:100%;position:sticky;top:calc(env(safe-area-inset-top,0px) + 104px);z-index:4;background:var(--bg);padding:8px 0;margin-block:8px}
.gq-jump-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
.gq-jump a{flex:none;font:600 .82rem var(--f-body);text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:9px 14px;min-height:40px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.gq-jump a b{font:500 .78rem var(--f-data);color:var(--gold-ink)}
.gq-jump a:hover{border-color:var(--gold)}
@media (max-width:899px){.gq-jump{position:static}}
.gq-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:var(--surface);border:1px solid var(--gold-line);border-radius:14px;padding:12px 16px;margin-bottom:8px}
.gq-bar .count{font-weight:600;flex:1 1 auto}
.gq-bar .count b{font:400 1.2rem var(--f-display);color:var(--gold-ink)}
.gq-bar .status{font-size:.85rem;color:var(--accent);flex-basis:100%}
.gq-bar .status:empty{display:none}
.gq-filters{display:flex;gap:8px}
.gq-filters .copy1{min-height:40px;padding:8px 14px}
.gq-filters .copy1[aria-pressed="true"]{background:var(--band);color:var(--on-band);border-color:var(--band)}
.gq-section{scroll-margin-top:170px;margin-top:28px}
.gq-num{font:500 .95rem var(--f-data);color:var(--gold-ink);margin-right:6px}
.gq-list{list-style:none;padding:0;display:grid;gap:14px}
.gq-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:12px;scroll-margin-top:170px;min-width:0}
.gq-card[hidden],.gq-section.all-asked{display:none}
.gq-card.asked{border-color:var(--gold);background:var(--gold-soft)}
.gq-top{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.gq-id{font:500 .85rem var(--f-data);color:var(--gold-ink)}
.gq-top h4{font-size:1rem;color:var(--muted);font-family:var(--f-body);font-weight:600}
.gq-q{font-size:1.12rem;line-height:1.5;font-weight:600;max-width:70ch}
.gq-follow ul{margin-top:4px;padding-left:20px}
.gq-follow li{max-width:68ch}
.gq-record{display:flex;gap:10px;align-items:flex-start;background:var(--tint);border-radius:10px;padding:10px 12px;max-width:none}
.gq-doc{width:20px;height:20px;flex:none;margin-top:2px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gq-pending{background:var(--part-bg);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:.9rem;max-width:none}
.gq-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);max-width:none}
.gq-answer blockquote{margin:8px 0 4px;padding-left:12px;border-left:3px solid var(--line)}
.gq-tools{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px}
.gq-asked{display:inline-flex;gap:8px;align-items:center;font-weight:600;min-height:44px;cursor:pointer}
.gq-asked input{width:20px;height:20px;accent-color:var(--band);margin:0}
.gq-tools .copy1{min-height:40px;padding:8px 14px}
.gq-pairs{display:grid;gap:14px}
.gq-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.gq-pair > div{display:grid;gap:4px;align-content:start;min-width:0}
.gq-pair > div:first-child p{font-style:italic}
@media (max-width:620px){.gq-pair{grid-template-columns:1fr}}
section.gq-tracker{display:none}
.gq-tracker-table{width:100%;border-collapse:collapse}
.gq-tracker-table th,.gq-tracker-table td{border:1px solid #000;padding:6px 8px;text-align:left;height:2.1rem;font-size:.85rem}
.gq-tracker-table th:first-child{width:9%} .gq-tracker-table th:nth-child(3){width:22%} .gq-tracker-table th:nth-child(4){width:15%}

@media print{
  body:has(#gquestions){background:#fff;color:#000;font-size:10pt;line-height:1.45}
  body:has(#gquestions) .topbar,body:has(#gquestions) .subtabs,body:has(#gquestions) footer.site,#gquestions .crumb,#gquestions .gq-actions,#gquestions .gq-jump,#gquestions .gq-bar,#gquestions .gq-tools,#gquestions .next,#gquestions .qfallback,#gquestions #gq-countdown,#gquestions .gq-answer.none{display:none !important}
  #gquestions,#gquestions *{color:#000 !important;background:transparent !important;box-shadow:none !important}
  body:has(#gquestions) main{max-width:none;padding:0}
  #gquestions a{text-decoration:none}
  #gquestions a.c{border:1px solid #000;padding:0 3px}
  #gquestions .gq-card,#gquestions .gq-tile,#gquestions .gq-pair,#gquestions .box{border:1px solid #000;break-inside:avoid;page-break-inside:avoid}
  #gquestions .gq-card[hidden],#gquestions .gq-section.all-asked{display:grid !important}
  /* Grid and flex containers do not split across pages well: lay the page out as plain blocks. */
  #gquestions section.block,#gquestions header.block,#gquestions .gq-section > header,#gquestions .gq-list,#gquestions .gq-pairs,#gquestions .panel,#gquestions{display:block}
  #gquestions section.block{margin-top:14pt}
  #gquestions .gq-pair,#gquestions .gq-stats,#gquestions .box{margin-bottom:8pt}
  #gquestions h3{margin-bottom:4pt}
  #gquestions .gq-card{margin-bottom:6pt;padding:7pt 10pt;gap:4pt}
  #gquestions .gq-record{padding:2pt 0}
  #gquestions .gq-stats{grid-template-columns:repeat(4,1fr);gap:6pt}
  #gquestions .gq-section > header{break-after:avoid;page-break-after:avoid}
  #gquestions .gq-q{font-size:10.5pt}
  #gquestions .gq-tracker-table{margin-bottom:18pt}
  #gquestions .gq-tracker-table td{height:22pt}
  #gquestions .pill{border:1px solid #000}
  #gquestions .gq-doc{stroke:#000}
  #gquestions .gq-tracker{display:block;break-before:page;page-break-before:always}
  #gquestions .gq-pair{grid-template-columns:1fr 1fr}
}

/* Gainesville questions: collapsible sections */
.gq-fold > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 0;border-bottom:1px solid var(--line)}
.gq-fold > summary::-webkit-details-marker{display:none}
.gq-fold > summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.gq-fold > summary:hover h3{color:var(--gold-ink)}
.gq-sum{display:grid;gap:2px;flex:1 1 auto;min-width:0}
.gq-sum h3{margin:0}
.gq-sum-count{font-size:.85rem;color:var(--muted);font-weight:500}
.gq-chev{width:22px;height:22px;flex:none;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.gq-fold[open] > summary .gq-chev{transform:rotate(180deg)}
.gq-fold[open] > summary{margin-bottom:12px}
.gq-intro{margin-bottom:14px}
@media (prefers-reduced-motion:reduce){.gq-chev{transition:none}}
@media print{#gquestions .gq-chev,#gquestions .gq-sum-count{display:none} #gquestions .gq-fold > summary{border:0;min-height:0;padding:0}}
