
:root{
  --ground:#f5f6f7; --surface:#ffffff; --surface-2:#eceef0; --ink:#141b22; --ink-2:#47525c; --muted:#6c7782; --line:#dadfe4;
  --accent:#245750; --accent-ink:#ffffff; --sign:#6e2a2a; --yes:#2a78d6; --no:#eb6834; --seq-lo:#d9e8fa; --seq-hi:#0d366b; --seq-on:#ffffff;
  --bar:#2a78d6; --bar-soft:#cfe0f5; --mark:#fde9a8; --tip-bg:#141b22; --tip-ink:#ffffff;
  --brand:#2c5e57; --brand-fg:#f4efe3; --brand-soft:#a9c7b3; --brand-text:#2c5e57;
  --display:"Bricolage Grotesque","Public Sans",system-ui,sans-serif; --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0f1317; --surface:#161b20; --surface-2:#1d242a; --ink:#eef1f3; --ink-2:#b7c0c7; --muted:#8a949c; --line:#2a3239;
    --accent:#7cc0b5; --accent-ink:#0b1d1a; --sign:#e0a9a9; --yes:#3987e5; --no:#d95926; --seq-lo:#13283f; --seq-hi:#86b6ef; --seq-on:#0b1a2b;
    --bar:#3987e5; --bar-soft:#1c3350; --mark:#5a4a12; --tip-bg:#eef1f3; --tip-ink:#141b22;
    --brand:#35706a; --brand-fg:#f4efe3; --brand-soft:#a9c7b3; --brand-text:#a9c7b3;
  }
}
:root[data-theme="dark"]{
  --ground:#0f1317; --surface:#161b20; --surface-2:#1d242a; --ink:#eef1f3; --ink-2:#b7c0c7; --muted:#8a949c; --line:#2a3239;
  --accent:#7cc0b5; --accent-ink:#0b1d1a; --sign:#e0a9a9; --yes:#3987e5; --no:#d95926; --seq-lo:#13283f; --seq-hi:#86b6ef; --seq-on:#0b1a2b;
  --bar:#3987e5; --bar-soft:#1c3350; --mark:#5a4a12; --tip-bg:#eef1f3; --tip-ink:#141b22;
    --brand:#35706a; --brand-fg:#f4efe3; --brand-soft:#a9c7b3; --brand-text:#a9c7b3;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;padding-inline:20px}
.wrap{max-width:1240px;margin-inline:auto;padding-block:28px 72px;display:flex;flex-direction:column;gap:56px}
a{color:var(--accent);text-underline-offset:3px}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.12}
h1{font-size:clamp(2rem,5vw,3.1rem);font-weight:700;letter-spacing:-.02em}
h2{font-size:clamp(1.45rem,3vw,1.9rem);font-weight:700;letter-spacing:-.01em}
h3{font-size:1.05rem;font-weight:600}
p{margin:0;max-width:none}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.lede{font-size:1.1rem;color:var(--ink-2)}
.muted{color:var(--muted)} .small{font-size:.875rem}
header.top{display:flex;flex-direction:column;gap:18px}
.hero{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#12261a}
.hero img{display:block;width:100%;height:clamp(280px,40vw,450px);object-fit:cover;object-position:60% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,13,.88) 0%,rgba(7,22,13,.62) 38%,rgba(7,22,13,0) 72%)}
.hero figcaption{position:absolute;z-index:1;left:clamp(18px,4vw,40px);bottom:clamp(18px,4vw,36px);max-width:min(500px,46%);color:#fff;display:flex;flex-direction:column;gap:10px}
.hero .eyebrow{color:#e3e8ec}
.hero h1{color:#fff;font-size:clamp(1.7rem,3.6vw,2.6rem)}
.hero .facts{font-size:.9rem;color:#e8ecef}
.eyebrow::before{content:"";display:inline-block;width:9px;height:9px;background:var(--sign);margin-right:8px;border-radius:1px}
.hero .eyebrow::before{background:#e9c9c9}
@media (max-width:640px){.hero img{height:220px;object-position:68% 50%;border-radius:12px}
 .hero{background:transparent;border-radius:0;overflow:visible}.hero::after{display:none}
 .hero figcaption{position:static;max-width:none;color:var(--ink);padding-top:16px}.hero h1{color:var(--ink)}.hero .eyebrow{color:var(--accent)}.hero .eyebrow::before{background:var(--sign)}.hero .facts{color:var(--ink-2)}.hero .updated{color:var(--muted)}}
.band{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.band img{display:block;width:100%;aspect-ratio:1000/620;object-fit:cover;border-radius:12px}
@media (max-width:560px){.band{grid-template-columns:1fr}}
.ents{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px}
.ent{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;font-size:.9rem}
.ent .top{display:flex;flex-direction:column;gap:6px}
.ent h3{font-size:1.02rem}
.ent .tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ent .lbl{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ent p{color:var(--ink-2);max-width:none}
.ent .foot{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:.84rem}
.ent .foot button{font:inherit;font-weight:600;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tag.ok{color:var(--accent);border-color:var(--accent)} .tag.maybe{color:var(--sign);border-color:var(--sign)}
.mini{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.mini .track{height:8px} .mini span{font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.82rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-block:1px solid var(--line)}
.stat{padding:16px 16px 14px 0;display:flex;flex-direction:column;gap:2px}
.stat b{font-family:var(--display);font-size:1.9rem;font-weight:700;line-height:1.05}
.stat span{font-size:.85rem;color:var(--ink-2)}
.note{background:var(--surface-2);border-radius:10px;padding:14px 16px;font-size:.92rem;color:var(--ink-2);max-width:none}
.note strong{color:var(--ink)}
nav.jump{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--ground);border-bottom:1px solid var(--line);margin-inline:-20px;padding-inline:20px;overflow-x:auto}
nav.jump ul{display:flex;gap:22px;list-style:none;margin:0 auto;padding:12px 0;max-width:1240px;white-space:nowrap}
nav.jump a{color:var(--ink-2);text-decoration:none;font-size:.9rem;font-weight:600}
nav.jump a:hover{color:var(--accent)}
section{display:flex;flex-direction:column;gap:20px;scroll-margin-top:24px}
.sechead{display:flex;flex-direction:column;gap:8px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}
.panel h3+p{margin-top:-10px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;align-items:start}
.filters{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.filters label{font-size:.85rem;font-weight:600;color:var(--ink-2)}
select,input[type=search]{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-width:100%}
input[type=search]{flex:1 1 260px;min-width:0}
.seg{display:inline-flex;flex-wrap:wrap;max-width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.seg button{font:inherit;font-size:.88rem;font-weight:600;padding:7px 12px;border:0;background:transparent;color:var(--ink-2);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
/* decisions */
.motions{display:flex;flex-direction:column}
.motion{display:grid;grid-template-columns:74px 1fr auto;gap:6px 16px;padding:14px 0;border-top:1px solid var(--line);align-items:start}
.motion:first-child{border-top:0}
.motion .when{font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:600}
.motion .what{display:flex;flex-direction:column;gap:4px}
.motion .meta{font-size:.84rem;color:var(--muted)}
.motion .why{font-size:.84rem;color:var(--ink-2)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;border-radius:999px;padding:4px 10px;border:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}
.chip.split{border-color:var(--ink);} .chip i{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block}
.chip.split i{background:var(--no)} .chip.unan i{background:var(--yes)}
@media (max-width:560px){.motion{grid-template-columns:1fr auto}.motion .when{grid-column:1/-1}}
/* bars */
.bars{display:flex;flex-direction:column;gap:6px}
.barrow{display:grid;grid-template-columns:minmax(110px,34%) 1fr 104px;gap:10px;align-items:center;font-size:.88rem;border-radius:6px;padding:3px 4px;background:transparent;border:0;color:inherit;font-family:inherit;text-align:left;width:100%}
button.barrow{cursor:pointer}
button.barrow:hover,.barrow.on{background:var(--surface-2)}
.barrow .lab{overflow-wrap:break-word;line-height:1.25}
@media (max-width:560px){.barrow{grid-template-columns:1fr 96px;row-gap:4px}.barrow .lab{grid-column:1/-1}.barrow .val{font-size:.82rem}}
.barrow .lab small{color:var(--muted);font-weight:600;margin-right:6px;font-variant-numeric:tabular-nums}
.track{height:14px;background:transparent;border-left:1px solid var(--line)}
.fill{height:100%;background:var(--bar);border-radius:0 4px 4px 0;min-width:1px}
.barrow.dim .fill{background:var(--bar-soft)}
.barrow .val{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-2)}
/* tables / heatmaps */
.scroll{overflow-x:auto}
table{border-collapse:separate;border-spacing:2px;font-size:.82rem;font-variant-numeric:tabular-nums}
th{font-weight:600;color:var(--ink-2);text-align:left;padding:4px 6px;vertical-align:bottom}
th.col{text-align:center;min-width:34px}
td.cell{text-align:center;border-radius:4px;min-width:34px;height:30px;padding:0 4px;background:color-mix(in oklab,var(--seq-hi) calc(var(--v)*100%),var(--seq-lo));color:var(--ink)}
td.cell.hi{color:var(--seq-on)} td.cell.zero{background:var(--surface-2);color:var(--muted)}
td.cell:hover,td.cell:focus{outline:2px solid var(--ink);outline-offset:-1px}
#agree th.col{min-width:0;padding:4px 3px;font-size:.7rem;white-space:nowrap}
#agree td.cell{min-width:40px}
#agree th{font-size:.76rem}
.topicgrid{display:grid;grid-template-columns:170px repeat(var(--nb),minmax(15px,1fr));gap:2px;min-width:760px;font-size:.8rem;align-items:center}
.topicgrid .tlab{padding-right:8px;line-height:1.2;background:none;border:0;font:inherit;color:var(--accent);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tc{height:22px;border-radius:3px;background:color-mix(in oklab,var(--seq-hi) calc(var(--v)*100%),var(--seq-lo))}
.tc.zero{background:var(--surface-2)} .tc:hover{outline:2px solid var(--ink)}
.strip{grid-column:2/-1;position:relative;height:26px}
.strip span{position:absolute;top:0;bottom:0;border-left:1px solid var(--ink-2);padding-left:3px;font-size:.72rem;font-weight:700;color:var(--ink-2);overflow:hidden;white-space:nowrap}
.hours{grid-column:2/-1;position:relative;height:16px;font-size:.72rem;color:var(--muted)}
.hours span{position:absolute;top:0}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:.82rem;color:var(--ink-2)}
.ramp{display:inline-block;width:120px;height:10px;border-radius:3px;background:linear-gradient(90deg,var(--seq-lo),var(--seq-hi))}
.key{display:inline-flex;align-items:center;gap:6px}
.sw{width:22px;height:18px;border-radius:4px;display:inline-grid;place-items:center;font-size:.72rem;font-weight:700;color:#fff}
.sw.y,td.v.y{background:var(--yes)} .sw.n,td.v.n{background:var(--no)}
td.v{text-align:center;font-weight:700;color:#fff;border-radius:4px;min-width:44px;height:32px}
td.v.u{background:var(--surface-2);color:var(--muted)} td.v.inf{outline:2px dashed var(--ink);outline-offset:-3px}
.sw.inf{background:var(--surface-2);outline:2px dashed var(--ink);outline-offset:-3px}
td.mtext{max-width:520px;min-width:240px;padding:6px 8px 6px 0;font-size:.84rem;line-height:1.3;color:var(--ink)}
td.res{white-space:nowrap;font-weight:700;padding-inline:8px}
.prose{display:flex;flex-direction:column;gap:12px}
.prose>div:not(.step):not(.pitem){display:flex;flex-direction:column;gap:12px}
/* explorer */
.result{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.turn{padding:12px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.turn .who{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;font-size:.86rem}
.turn .who b{font-weight:700} .turn .who a{font-variant-numeric:tabular-nums;font-weight:600}
.tag{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px}
.turn p{max-width:none;font-size:.95rem;color:var(--ink-2)}
mark{background:var(--mark);color:inherit;border-radius:2px;padding:0 1px}
.more{align-self:flex-start;font:inherit;font-weight:600;font-size:.9rem;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.spark{display:flex;align-items:flex-end;gap:2px;height:56px;border-bottom:1px solid var(--line)}
.spark div{flex:1;background:var(--bar);border-radius:2px 2px 0 0;min-height:0}
.sparkax{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}
/* lists */
.plist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:0 28px}
.pitem{padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px;font-size:.92rem}
.pitem .h{display:flex;justify-content:space-between;gap:10px;font-weight:700}
.pitem .h a{font-weight:600;font-variant-numeric:tabular-nums;font-size:.84rem;white-space:nowrap}
.pitem p{color:var(--ink-2)}
#tip{position:fixed;z-index:50;pointer-events:none;background:var(--tip-bg);color:var(--tip-ink);font-size:.8rem;line-height:1.35;padding:8px 10px;border-radius:8px;max-width:280px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
#tip b{display:block;font-size:.9rem} #tip span{display:block;opacity:.85}
footer{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}
@media (prefers-reduced-motion:no-preference){.fill,.spark div{transition:width .25s ease,height .25s ease}}

/* ===== site chrome (added for the multi-page site) ===== */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand .mark{width:40px;height:40px;flex:none;display:block}
.brand .name{display:flex;flex-direction:column;gap:1px;line-height:1.1}
.brand b{font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:-.01em}
.brand small{font-family:var(--body);font-weight:600;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-text)}
.brand:hover b{color:var(--accent)}
.topbar nav{display:flex;gap:14px 18px;font-size:.9rem;font-weight:600;flex-wrap:wrap}
.topbar nav a{color:var(--ink-2);text-decoration:none} .topbar nav .navsep{width:5px;height:5px;border-radius:50%;background:var(--line);align-self:center;margin:0 2px} .topbar nav a:hover{color:var(--accent)}
.wrap{gap:40px}
.crumb{font-size:.88rem;color:var(--muted)} .crumb a{color:var(--accent);text-decoration:none;font-weight:600}
.mhead{display:flex;flex-direction:column;gap:14px}
.mhead .meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--ink-2);font-size:.95rem}
.brief{font-size:1.02rem;color:var(--ink-2);max-width:none}
details.about{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:0 16px}
details.about summary{cursor:pointer;font-weight:600;padding:12px 0;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center}
details.about summary::after{content:"+";font-weight:700;color:var(--muted)} details.about[open] summary::after{content:"–"}
details.about .prose{padding:0 0 16px;font-size:.92rem;color:var(--ink-2)}
/* tabs */
.tabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--ground);border-bottom:1px solid var(--line);margin-inline:-20px;padding-inline:20px;overflow-x:auto}
.tabs ul{display:flex;gap:4px;list-style:none;margin:0 auto;padding:8px 0;max-width:1240px;white-space:nowrap}
.tabs a{display:inline-block;color:var(--ink-2);text-decoration:none;font-size:.92rem;font-weight:600;padding:8px 14px;border-radius:8px}
.tabs a:hover{background:var(--surface-2)} .tabs a[aria-current=page]{background:var(--accent);color:var(--accent-ink)}
.tabpanel{display:flex;flex-direction:column;gap:24px}
.tabpanel>.sechead h2{font-size:clamp(1.3rem,2.6vw,1.6rem)}
details.fold{border-top:1px solid var(--line);padding-top:12px}
details.fold summary{cursor:pointer;font-weight:600;color:var(--accent);list-style:none}
details.fold summary::before{content:"▸ ";color:var(--muted)} details.fold[open] summary::before{content:"▾ "}
details.fold>*:not(summary){margin-top:14px}
/* compact decision rows */
.motion{grid-template-columns:64px 1fr auto;padding:12px 0}
.motion .what>div:first-child{font-size:.95rem}
/* accordion for people */
.acc{display:flex;flex-direction:column}
.acc .grp{font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:18px 0 6px;border-bottom:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 130px auto;gap:12px;align-items:center;padding:10px 4px;font-size:.92rem}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{background:var(--surface-2)}
.acc summary b{font-weight:600}
.acc summary .mini{gap:6px} .acc summary .mini span{font-size:.78rem}
.acc .body{padding:4px 4px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px 24px;font-size:.9rem;color:var(--ink-2)}
.acc .body .lbl{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.acc .body .foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.84rem}
.acc .body .foot button{font:inherit;font-weight:600;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.acc summary{grid-template-columns:1fr auto}.acc summary .mini{display:none}}
/* landing */
.hero{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#12261a}
.hero img{display:block;width:100%;height:clamp(300px,42vw,470px);object-fit:cover;object-position:60% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,22,13,.9) 0%,rgba(7,22,13,.66) 40%,rgba(7,22,13,0) 74%)}
.hero figcaption{position:absolute;z-index:1;left:clamp(18px,4vw,40px);bottom:clamp(18px,4vw,40px);max-width:min(560px,52%);color:#fff;display:flex;flex-direction:column;gap:12px}
.hero .eyebrow{color:#e3e8ec} .hero .eyebrow::before{background:#e9c9c9}
.hero h1{color:#fff;font-size:clamp(1.8rem,4vw,3rem)}
.hero .facts{font-size:1rem;color:#e8ecef;max-width:46ch}
.hero .updated{font-size:.72rem;color:#b7c9bc;margin-top:8px}
@media (max-width:640px){.hero img{height:220px;object-position:68% 50%;border-radius:12px}
 .hero{background:transparent;border-radius:0;overflow:visible}.hero::after{display:none}
 .hero figcaption{position:static;max-width:none;color:var(--ink);padding-top:16px}.hero h1{color:var(--ink)}.hero .eyebrow{color:var(--accent)}.hero .eyebrow::before{background:var(--sign)}.hero .facts{color:var(--ink-2)}.hero .updated{color:var(--muted)}}
.mlist{display:flex;flex-direction:column;gap:14px}
.mcard{display:grid;grid-template-columns:150px 1fr;gap:6px 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;text-decoration:none;color:inherit;transition:border-color .15s}
.mcard:hover{border-color:var(--accent)}
.mcard .date{font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1.15}
.mcard .date small{display:block;font-family:var(--body);font-weight:600;font-size:.8rem;color:var(--muted);margin-top:4px;letter-spacing:.04em;text-transform:uppercase}
.mcard h3{font-size:1.15rem}
.mcard p{color:var(--ink-2);font-size:.95rem;max-width:none;margin-top:6px}
.mcard .facts{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.85rem;color:var(--muted);margin-top:10px;font-variant-numeric:tabular-nums}
.mcard .facts b{color:var(--ink);font-weight:600}
.mcard .go{color:var(--accent);font-weight:600;font-size:.9rem;margin-top:10px}
@media (max-width:600px){.mcard{grid-template-columns:1fr}}
.doclist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}
.doc{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit}
.doc:hover{border-color:var(--accent)} .doc b{font-weight:600} .doc span{font-size:.85rem;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
.step{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--ink-2)}
.step b{color:var(--ink);font-family:var(--display);font-size:1rem}
.roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px 16px;font-size:.92rem}
.roster div{padding:8px 0;border-bottom:1px solid var(--line)} .roster span{display:block;font-size:.8rem;color:var(--muted)}
footer{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;font-size:.78rem}
footer a{color:var(--muted)}

/* landing page overview charts */
.cols.wide{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
@media (max-width:820px){.cols.wide{grid-template-columns:minmax(0,1fr)}}
.cols>*{min-width:0}
.sechead.sub{margin-top:8px}
.tlhost{width:100%}
svg.tl{display:block;width:100%;height:auto;font-family:var(--body)}
svg.tl .grid{stroke:var(--line);stroke-width:1}
svg.tl .ax{fill:var(--muted);font-size:11px}
svg.tl .rest{fill:var(--bar-soft)}
svg.tl .sel{fill:var(--bar)}
svg.tl .hit{fill:transparent;cursor:pointer}
svg.tl .col:hover .rest,svg.tl .col:focus .rest{fill:color-mix(in oklab,var(--bar-soft),var(--ink) 18%)}
svg.tl .col:focus{outline:none}
.legend .sw.sel{background:var(--bar)} .legend .sw.rest{background:var(--bar-soft)}
.barrow .track{position:relative}
.barrow .fill.soft{background:var(--bar-soft)} .barrow .fill.over{position:absolute;left:0;top:0;background:var(--bar)}
table.heat th.col{font-size:.68rem;font-weight:600;color:var(--muted);white-space:nowrap;padding:0 2px 6px;writing-mode:vertical-rl;transform:rotate(180deg);text-align:left;height:70px}
table.heat th{text-align:left;font-size:.82rem;font-weight:600;color:var(--ink-2);padding-right:10px;white-space:nowrap}
table.heat tr>th:first-child{position:sticky;left:0;z-index:2;background:var(--surface);box-shadow:4px 0 6px -4px rgba(0,0,0,.18)}
table.heat td.cell{min-width:23px;height:23px;padding:0}
table.heat th.yr{text-align:left;font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--line);padding:0 0 2px 4px;font-weight:700}
table.people{width:100%;border-collapse:collapse;font-size:.88rem}
table.people th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
table.people td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
table.people td.num{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-2)}
table.people td.bar{min-width:180px} table.people td.bar .track{display:inline-block;width:110px;vertical-align:middle;margin-right:8px;height:10px} table.people td.bar .fill{height:100%}
table.people tr.more{display:none}
button.more{margin-top:10px;font:inherit;font-size:.88rem;font-weight:600;color:var(--accent);background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer}
table.kinds td.bar{min-width:140px} table.kinds td.bar .track{width:80px}
table.people tr[tabindex]:hover,table.people tr[tabindex]:focus{background:var(--surface-2);outline:none}
/* data page and landing additions */
.dl{display:flex;flex-wrap:wrap;gap:8px} .dl a{font-size:.88rem;font-weight:600;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--surface);color:var(--accent)} .dl a:hover{background:var(--surface-2)}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px} .rule{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:.86rem;display:flex;flex-direction:column;gap:4px} .rule b{font-size:.92rem} .rule span{color:var(--ink-2);line-height:1.45}
.method{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px 32px} .method h3{margin-bottom:6px} .method p{color:var(--ink-2);font-size:.95rem;max-width:none}
.seg.chips{display:flex;flex:1 1 100%;flex-wrap:wrap;border:0;background:none;gap:6px;overflow:visible} .seg.chips button{border:1px solid var(--line);border-radius:999px;background:var(--surface)} .seg.chips button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.acc details.org summary{grid-template-columns:minmax(0,1fr) minmax(200px,34%) auto}
.acc details.org .body{display:block} .org .oname{display:flex;flex-direction:column;gap:2px;min-width:0} .org .oname small{color:var(--muted);font-size:.78rem}
.org .body p{color:var(--ink-2);font-size:.9rem;max-width:none} .org .mlinks{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:.84rem;margin:8px 0}

table.divided td.mtext{min-width:300px;font-size:.88rem} table.divided td.mtext a{margin-right:4px}
table.items td{font-size:.88rem}
a.org.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,34%) auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;font-size:.92rem} a.org.row:hover{background:var(--surface-2)}
a.org.row .mini{gap:6px} a.org.row .mini span{font-size:.78rem}
@media (max-width:560px){a.org.row{grid-template-columns:1fr auto}a.org.row .mini{display:none}}
a.more{display:inline-block;margin-top:10px;font-size:.92rem;font-weight:600}
.acc details.org .body .lbl{margin-top:8px}

/* embedded player */
.player{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,2fr);gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px}
.player .video{position:relative;aspect-ratio:16/9;background:#000;border-radius:8px;overflow:hidden}
.player .video iframe,.player .video #yt{position:absolute;inset:0;width:100%;height:100%}
.player .ytfallback{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);color:#141b22;font-size:.82rem;font-weight:600;padding:6px 10px;border-radius:6px;text-decoration:none;display:none}
.player.noembed .ytfallback{display:inline-block;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);font-size:.95rem;padding:10px 16px;background:var(--accent);color:var(--accent-ink)} .player.noembed .video{background:var(--surface-2)}
.player .chapters{display:flex;flex-direction:column;gap:8px;min-width:0}
.player .lbl{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.clist{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow:auto;padding-right:4px}
.chap{text-decoration:none;display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:baseline;text-align:left;font:inherit;font-size:.84rem;color:var(--ink);background:none;border:0;border-radius:6px;padding:5px 6px;cursor:pointer;line-height:1.3}
.chap .t{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600} .chap:hover{background:var(--surface-2)} .chap.on{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}
.now{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--line);padding-top:8px;font-size:.88rem} .now a{font-weight:600;font-size:.84rem}
@media (max-width:760px){.player{grid-template-columns:1fr}.clist{max-height:180px}}
a.vl{white-space:nowrap}
.why-open{grid-column:1/-1;background:color-mix(in oklab,var(--mark) 45%,var(--surface));border-left:3px solid #b8860b;border-radius:6px;padding:8px 12px;margin-bottom:4px} .why-open .lbl{margin:0 0 2px} .why-open p{max-width:none}
.tag.maybe{cursor:pointer}
.refs{font-size:.88rem;color:var(--ink-2);padding-left:30px;display:flex;flex-direction:column;gap:8px;line-height:1.45} .refs li::marker{font-weight:700;color:var(--ink)}
.method p a{font-weight:600} .method .span{grid-column:1/-1} .method .span p{font-size:1.05rem;max-width:none}
table.log td{vertical-align:top;font-size:.9rem} table.log td.num{white-space:nowrap;color:var(--muted)}
.mdocs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.mdocs .lbl{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.mdocs a.mdoc{font-size:.85rem;font-weight:600;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--surface);color:var(--accent)}
.mdocs a.mdoc:hover{background:var(--surface-2)}
/* margins chart and roll call record */
svg.tl .m0{fill:var(--bar-soft)} svg.tl .m1{fill:color-mix(in oklab,var(--bar),var(--bar-soft) 45%)} svg.tl .m2{fill:var(--bar)} svg.tl .mnc{fill:color-mix(in oklab,var(--muted),transparent 55%)}
.legend .sw.m0{background:var(--bar-soft)} .legend .sw.m1{background:color-mix(in oklab,var(--bar),var(--bar-soft) 45%)} .legend .sw.m2{background:var(--bar)} .legend .sw.mnc{background:color-mix(in oklab,var(--muted),transparent 55%)}
table.rc td.vote{text-align:center;font-weight:700;font-variant-numeric:tabular-nums;width:34px;color:var(--ink-2)}
table.rc td.vote.Y{background:color-mix(in oklab,var(--yes),transparent 82%)} table.rc td.vote.N{background:color-mix(in oklab,var(--yes),transparent 60%);color:var(--ink)}
table.rc td.vote.X,table.rc td.vote.A{color:var(--muted);font-weight:600} table.rc td.vote.none{color:var(--muted);font-weight:400}
table.rc th.col{font-size:.68rem;font-weight:600;color:var(--muted);white-space:nowrap;padding:0 2px 6px;writing-mode:vertical-rl;transform:rotate(180deg);text-align:left;height:70px;text-transform:none;letter-spacing:0}
table.rc td.mtext{min-width:260px;font-size:.85rem}
table.heat.agree th.col{height:72px;min-width:0} table.heat.agree td.cell{min-width:26px;width:26px;height:26px;padding:0} table.heat.agree th{padding-right:6px;font-size:.78rem}
.sechead p.cite{margin-top:4px;font-size:.9rem}
/* money, threads */
svg.tl.money .dot circle{fill:var(--bar);stroke:var(--surface);stroke-width:1.5;opacity:.85} svg.tl.money .dot:hover circle,svg.tl.money .dot:focus circle{opacity:1;stroke:var(--ink)} svg.tl.money .dot:focus{outline:none}
svg.tl.money .k-contract circle{fill:var(--bar)} svg.tl.money .k-borrow circle{fill:var(--seq-hi)} svg.tl.money .k-budget circle{fill:var(--accent)} svg.tl.money .k-pay circle{fill:color-mix(in oklab,var(--bar),var(--bar-soft) 50%)}
svg.tl.money .dot.split circle{stroke:var(--no);stroke-width:2.5}
.legend .sw.k-contract,table.money .sw.k-contract{background:var(--bar)} .legend .sw.k-borrow,table.money .sw.k-borrow{background:var(--seq-hi)} .legend .sw.k-budget,table.money .sw.k-budget{background:var(--accent)} .legend .sw.k-pay,table.money .sw.k-pay{background:color-mix(in oklab,var(--bar),var(--bar-soft) 50%)} .legend .sw.split-ring{background:transparent;border:2.5px solid var(--no)}
svg.tl.threads .bar{fill:var(--bar-soft)} svg.tl.threads .trow.open .bar{fill:var(--bar)} svg.tl.threads .pt{fill:var(--ink-2)} svg.tl.threads .trow.open .pt{fill:var(--surface)} svg.tl.threads .end{fill:var(--seq-hi)} svg.tl.threads .lab{fill:var(--ink-2);font-size:11.5px} svg.tl.threads .trow.open .lab{fill:var(--ink)}
svg.tl.threads .trow:hover .bar,svg.tl.threads .trow:focus .bar{fill:color-mix(in oklab,var(--bar),var(--ink) 25%)} svg.tl.threads .trow:hover .pt{fill:var(--surface)} svg.tl.threads .trow:focus{outline:none}
.legend .sw.t-closed{background:var(--bar-soft)} .legend .sw.t-open{background:var(--bar)}
table.money td.mtext{font-size:.85rem;min-width:220px} table.threads td{font-size:.85rem}
table.rc td.vote.off{background:var(--surface-2)} td.cell.na{background:var(--surface-2)} .legend .sw.na{background:var(--surface-2);border:1px solid var(--line)}
/* bills by category */
:root{--b-pass:#9aa3a8;--b-debt:#0d366b;--b-tid:#6b4fa0;--b-fire:#c8552b;--b-police:#2a78d6;--b-legal:#1f8a8a;--b-cons:#d19a1e;--b-util:#3aa6c9;--b-pw:#8a6b3b;--b-parks:#2c8a4a;--b-cap:#5e6b7a;--b-ben:#c05b8a;--b-admin:#7fb0e0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--b-debt:#86b6ef;--b-pass:#6d767b}}
:root[data-theme="dark"]{--b-debt:#86b6ef;--b-pass:#6d767b}
svg.tl.bills rect{stroke:var(--surface);stroke-width:1} svg.tl.bills .col:focus{outline:none} svg.tl.bills .col:hover rect,svg.tl.bills .col:focus rect{stroke:var(--ink)}
svg.tl.bills .b-pass rect,.sw.b-pass,.barrow.b-pass .fill{fill:var(--b-pass);background:var(--b-pass)} svg.tl.bills .b-debt rect,.sw.b-debt,.barrow.b-debt .fill{fill:var(--b-debt);background:var(--b-debt)}
svg.tl.bills .b-tid rect,.sw.b-tid,.barrow.b-tid .fill{fill:var(--b-tid);background:var(--b-tid)} svg.tl.bills .b-fire rect,.sw.b-fire,.barrow.b-fire .fill{fill:var(--b-fire);background:var(--b-fire)}
svg.tl.bills .b-police rect,.sw.b-police,.barrow.b-police .fill{fill:var(--b-police);background:var(--b-police)} svg.tl.bills .b-legal rect,.sw.b-legal,.barrow.b-legal .fill{fill:var(--b-legal);background:var(--b-legal)}
svg.tl.bills .b-cons rect,.sw.b-cons,.barrow.b-cons .fill{fill:var(--b-cons);background:var(--b-cons)} svg.tl.bills .b-util rect,.sw.b-util,.barrow.b-util .fill{fill:var(--b-util);background:var(--b-util)}
svg.tl.bills .b-pw rect,.sw.b-pw,.barrow.b-pw .fill{fill:var(--b-pw);background:var(--b-pw)} svg.tl.bills .b-parks rect,.sw.b-parks,.barrow.b-parks .fill{fill:var(--b-parks);background:var(--b-parks)}
svg.tl.bills .b-cap rect,.sw.b-cap,.barrow.b-cap .fill{fill:var(--b-cap);background:var(--b-cap)} svg.tl.bills .b-ben rect,.sw.b-ben,.barrow.b-ben .fill{fill:var(--b-ben);background:var(--b-ben)} svg.tl.bills .b-admin rect,.sw.b-admin,.barrow.b-admin .fill{fill:var(--b-admin);background:var(--b-admin)}
.legend button.lg{font:inherit;font-size:.82rem;color:var(--ink-2);background:none;border:1px solid transparent;border-radius:6px;padding:2px 6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.legend button.lg:hover{border-color:var(--line)} .legend button.lg.on{border-color:var(--ink);color:var(--ink);font-weight:600}
/* pull quote on the landing page */
blockquote.pull{margin:0;max-width:75%;position:relative;padding:34px 40px 30px 44px;background:var(--surface-2);border-left:5px solid var(--accent);border-radius:0 14px 14px 0}
blockquote.pull::before{content:"\201C";position:absolute;left:14px;top:2px;font-family:var(--display);font-size:5.5rem;line-height:1;color:var(--accent);opacity:.28}
blockquote.pull p{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:700;line-height:1.18;letter-spacing:-.012em;color:var(--ink);text-wrap:balance;max-width:none}
blockquote.pull footer{display:block;text-align:left;border:0;padding:0;margin:14px 0 0;font-size:.95rem;color:var(--muted)}
blockquote.pull footer a{color:var(--ink-2)}
@media (max-width:820px){blockquote.pull{max-width:none;padding:28px 22px 24px 30px}blockquote.pull::before{font-size:4rem;left:8px}}

/* village notices */
:root{--n-bulletin:#9aa3a8;--n-meetings:#2a78d6;--n-civic:#6b4fa0;--n-police:#c8552b;--n-parks:#2c8a4a;--n-roads:#8a6b3b;--n-services:#3aa6c9;--n-events:#d19a1e;--n-admin:#0d366b;--n-other:#5e6b7a}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--n-admin:#86b6ef;--n-bulletin:#6d767b}}
:root[data-theme="dark"]{--n-admin:#86b6ef;--n-bulletin:#6d767b}
svg.tl.notices .n-bulletin rect,.sw.n-bulletin,.barrow.n-bulletin .fill{fill:var(--n-bulletin);background:var(--n-bulletin)} svg.tl.notices .n-meetings rect,.sw.n-meetings,.barrow.n-meetings .fill{fill:var(--n-meetings);background:var(--n-meetings)}
svg.tl.notices .n-civic rect,.sw.n-civic,.barrow.n-civic .fill{fill:var(--n-civic);background:var(--n-civic)} svg.tl.notices .n-police rect,.sw.n-police,.barrow.n-police .fill{fill:var(--n-police);background:var(--n-police)}
svg.tl.notices .n-parks rect,.sw.n-parks,.barrow.n-parks .fill{fill:var(--n-parks);background:var(--n-parks)} svg.tl.notices .n-roads rect,.sw.n-roads,.barrow.n-roads .fill{fill:var(--n-roads);background:var(--n-roads)}
svg.tl.notices .n-services rect,.sw.n-services,.barrow.n-services .fill{fill:var(--n-services);background:var(--n-services)} svg.tl.notices .n-events rect,.sw.n-events,.barrow.n-events .fill{fill:var(--n-events);background:var(--n-events)}
svg.tl.notices .n-admin rect,.sw.n-admin,.barrow.n-admin .fill{fill:var(--n-admin);background:var(--n-admin)} svg.tl.notices .n-other rect,.sw.n-other,.barrow.n-other .fill{fill:var(--n-other);background:var(--n-other)}
svg.tl.notices .col:hover rect,svg.tl.notices .col:focus rect{stroke:var(--ink);stroke-width:1.5} svg.tl.notices .col:focus{outline:none}
.barrow.dim .fill{opacity:.45}
.ncard .date small{text-transform:none;letter-spacing:0}
.acc details.ntc summary{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
.ntc .nl{display:flex;flex-direction:column;gap:2px;min-width:0} .ntc .nl b{font-weight:600} .ntc .nl small{color:var(--muted);font-size:.78rem}
.ntc .chev{color:var(--muted);transition:transform .15s;font-size:1.1rem} .ntc[open] .chev{transform:rotate(90deg)}
.prio{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--muted)}
.prio.advisory{color:var(--n-events);border-color:var(--n-events)} .prio.alert{color:var(--no);border-color:var(--no)}
.acc details.ntc .body{display:block} .ntc .ntext p{max-width:none;font-size:.9rem;margin:0 0 8px;white-space:pre-line}
.ntc .body .foot{margin-top:6px} .ntc .body .foot a{font-weight:600}
@media (max-width:560px){.acc details.ntc summary{grid-template-columns:minmax(0,1fr) auto}.ntc .chev{display:none}}

table.money td .sw{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle} table.money td .sw.ring{box-shadow:0 0 0 2.5px var(--no)}
table.money tr.hl{background:var(--mark)} svg.tl.money .dot.hl circle{stroke:var(--ink);stroke-width:3;opacity:1}

.sechead.sub,#margins,.groups #plan,.groups #actual,.groups #compare,.groups #attention,#motions-subject{scroll-margin-top:24px}

/* landing page groups and contents */
.gnum{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-family:var(--display);font-size:1rem;font-weight:700;flex:none}
.sechead.grp{margin-top:36px;padding-top:28px;border-top:2px solid var(--line);gap:10px}
.sechead.grp h2.gh{display:flex;align-items:center;gap:14px;font-size:clamp(1.7rem,3.4vw,2.3rem)}
.sechead.grp h3{font-size:1.35rem;font-weight:700;margin-top:4px} .sechead.sub h3{font-size:1.35rem;font-weight:700}
.contents{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px}
.ccard{position:relative;display:flex;flex-direction:column;gap:5px;padding:12px 14px 12px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.ccard:hover,.ccard:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px rgba(16,32,26,.10);outline:none}
.ccard .gnum{width:22px;height:22px;font-size:.74rem}
.ccard b{font-family:var(--display);font-size:1rem;font-weight:700;line-height:1.1;color:var(--ink)}
.ccard p{margin:0;font-size:.78rem;color:var(--ink-2);max-width:none;line-height:1.4}
.ccard .subs{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:4px}
.ccard .subs span{font-size:.7rem;font-weight:600;color:var(--accent);background:var(--surface-2);border-radius:999px;padding:3px 8px}
.ccard.arch{border-left-color:var(--sign)} .ccard.arch .gnum{background:var(--sign);color:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ccard:hover{box-shadow:0 8px 24px rgba(0,0,0,.45)}}
:root[data-theme="dark"] .ccard:hover{box-shadow:0 8px 24px rgba(0,0,0,.45)}


.selbar{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;background:var(--accent);color:var(--accent-ink);border-radius:12px;padding:10px 16px;box-shadow:0 6px 18px rgba(16,32,26,.18)}
.selbar .fblabel{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;flex:1 1 240px} .selbar .fblabel b{font-family:var(--display);font-size:1.05rem} .selbar .fblabel span{font-size:.8rem;opacity:.9}
.selbar .filters{flex:0 1 auto;min-width:0;max-width:100%} .selbar .seg{flex-wrap:wrap;max-width:100%} .selbar .muted{color:var(--accent-ink);opacity:.85} .selbar .seg{background:var(--surface);border-color:transparent} .selbar select{background:var(--surface);color:var(--ink);border-color:transparent}
.groups{display:flex;flex-direction:column;gap:20px;margin-left:8px;padding-left:clamp(14px,3vw,34px);border-left:4px solid var(--accent)}
.groups .sechead.grp{margin-top:32px;padding-top:24px} .groups .sechead.grp:first-child{margin-top:8px;padding-top:0;border-top:0}
@media (max-width:560px){.groups{margin-left:2px;padding-left:12px;border-left-width:3px}.selbar{padding-inline:14px}}
@media (max-width:700px){.selbar{position:static;box-shadow:none}}

.selnav{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:5px;padding-top:6px;border-top:1px solid rgba(255,255,255,.18)}
.selnav a{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--accent-ink);text-decoration:none;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:4px 10px 4px 5px;opacity:.85}
.selnav a i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent-ink);color:var(--accent);font-style:normal;font-size:.68rem;font-weight:700}
.selnav a:hover,.selnav a.on{opacity:1;background:rgba(255,255,255,.16);border-color:var(--accent-ink)} .selnav a.up{padding-left:10px;background:rgba(255,255,255,.12)}
.totop{position:fixed;right:18px;bottom:18px;z-index:40;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.88rem;text-decoration:none;border-radius:999px;padding:10px 16px;box-shadow:0 6px 18px rgba(16,32,26,.28)}
.totop:hover{filter:brightness(1.1)} .totop[hidden]{display:none}
@media (min-width:701px){.groups .sechead.grp,.groups .sechead.sub,#margins,#motions-subject{scroll-margin-top:150px}}
@media (max-width:560px){.tabs{margin-inline:-16px;padding-inline:16px}}
svg.tl.threads .trow rect.bar{cursor:pointer}
@media (max-width:700px){.totop{padding:8px 12px;font-size:.8rem;right:12px;bottom:12px}}

svg.tl.motions .mk-routine rect,.sw.mk-routine{fill:var(--bar-soft);background:var(--bar-soft)} svg.tl.motions .mk-proc rect,.sw.mk-proc{fill:var(--no);background:var(--no)} svg.tl.motions .mk-sub rect,.sw.mk-sub{fill:var(--bar);background:var(--bar)}
svg.tl.per .bar{fill:var(--bar)} svg.tl.per .col.part .bar{opacity:.4} svg.tl.per .median{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:5 4} svg.tl.per .col{cursor:default} svg.tl.per .col:focus{outline:none} svg.tl.per .col:hover .bar{fill:var(--accent)}
svg.tl.motions .median{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:5 4} .sw.mk-median{background:transparent;border-top:2px dashed var(--ink);height:0;border-radius:0}
svg.tl.motions .event{stroke:var(--sign);stroke-width:1.5;stroke-dasharray:2 3} svg.tl.motions .col:hover rect,svg.tl.motions .col:focus rect{stroke:var(--ink);stroke-width:1.5} svg.tl.motions .col:focus{outline:none}
svg.tl.pat .dot circle{stroke:var(--surface);stroke-width:1.5;opacity:.85} svg.tl.pat .dot:hover circle,svg.tl.pat .dot:focus circle{opacity:1;stroke:var(--ink)} svg.tl.pat .dot:focus{outline:none}
svg.tl.pat .pk-reg circle,.sw.pk-reg{fill:var(--bar);background:var(--bar)} svg.tl.pat .pk-spec circle,.sw.pk-spec{fill:var(--no);background:var(--no)} svg.tl.pat .pk-town circle,.sw.pk-town{fill:var(--accent);background:var(--accent)}
.def{text-decoration:underline dotted;text-decoration-color:var(--muted);text-underline-offset:3px;cursor:help} .def:focus{outline:2px solid var(--accent);outline-offset:2px}
svg.tl.pace .line{fill:none;stroke-width:2.5} svg.tl.pace .yr-a,.sw.yr-a{stroke:var(--bar);background:var(--bar)} svg.tl.pace .yr-b,.sw.yr-b{stroke:var(--no);background:var(--no)} svg.tl.pace .yr-c,.sw.yr-c{stroke:var(--accent);background:var(--accent)} svg.tl.pace .yr-d,.sw.yr-d{stroke:var(--b-tid);background:var(--b-tid)} svg.tl.pace .pt circle{stroke:var(--panel);stroke-width:1.5} svg.tl.pace .yr-a circle{fill:var(--bar)} svg.tl.pace .yr-b circle{fill:var(--no)} svg.tl.pace .yr-c circle{fill:var(--accent)} svg.tl.pace .yr-d circle{fill:var(--b-tid)} svg.tl.pace .even{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:2 4} .sw.even{background:transparent;border-top:2px dotted var(--ink);height:0;border-radius:0} svg.tl.yvy .zero{stroke:var(--ink);stroke-width:1.2} svg.tl.yvy .lab{font-size:11px;fill:var(--ink)} svg.tl.yvy .lab.tot{font-weight:700} svg.tl.yvy .yr-a rect{fill:var(--bar)} svg.tl.yvy .yr-b rect{fill:var(--no)} svg.tl.yvy .yr-c rect{fill:var(--accent)} svg.tl.yvy .yr-d rect{fill:var(--b-tid)} svg.tl.yvy .bar{cursor:default} svg.tl.yvy .bar:focus{outline:none} table.yvy th.grp{border-bottom:none;padding-bottom:0} table.yvy td:first-child{white-space:nowrap} table.yvy td:last-child{white-space:nowrap;min-width:0} table.yvy td{white-space:nowrap}
svg.tl.strip .dot circle{fill:var(--muted);opacity:.28} svg.tl.strip .dot:hover circle{opacity:1} .sw.d-dot{background:var(--muted);opacity:.5;border-radius:50%} .sw.d-med{background:transparent;border-left:2px solid var(--ink);border-radius:0;width:0} svg.tl.strip .median{stroke:var(--ink);stroke-width:2} svg.tl.strip .mark circle,svg.tl.trend .mark circle{stroke:var(--surface);stroke-width:1.5} svg.tl.strip .d-sh circle,svg.tl.trend .d-sh circle{fill:var(--bar)} svg.tl.strip .d-mb circle{fill:var(--no)} svg.tl.trend .d-peer circle{fill:var(--bar-soft);stroke:var(--muted)} svg.tl.trend .seg{fill:none;stroke-width:2} svg.tl.trend .seg.d-sh{stroke:var(--bar)} svg.tl.trend .seg.d-peer{stroke:var(--bar-soft)} svg.tl.strip .lab,svg.tl.trend .lab{font-size:11px;fill:var(--ink)} svg.tl.strip .lab.tot,svg.tl.trend .lab.tot{font-weight:700} svg.tl.strip .mark,svg.tl.trend .mark{cursor:default} svg.tl.strip .mark:focus,svg.tl.trend .mark:focus{outline:none}
.waffle-wrap{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap} .waffle{display:grid;grid-template-columns:repeat(10,18px);grid-auto-rows:18px;gap:3px;flex:none} .waffle .sq{display:block;border-radius:3px;cursor:default} .waffle .sq:focus{outline:2px solid var(--ink);outline-offset:1px} .waffle-key{display:flex;flex-direction:column;gap:6px;font-size:.9rem;min-width:200px} .waffle-key .krow{display:flex;align-items:center;gap:8px} .waffle-key .krow b{font-family:var(--display);min-width:2.6em;text-align:right} .waffle .sq.b-admin{background:var(--b-admin)} .waffle .sq.b-police{background:var(--b-police)} .waffle .sq.b-pw{background:var(--b-pw)} .waffle .sq.b-parks{background:var(--b-parks)} .waffle .sq.b-cons{background:var(--b-cons)} .waffle .sq.b-ben{background:var(--b-ben)} .waffle .sq.b-legal{background:var(--b-legal)} .waffle .sq.b-cap{background:var(--b-cap)} .waffle .sq.b-tid{background:var(--b-tid)} .waffle .sq.b-util{background:var(--b-util)} .waffle .sq.b-debt{background:var(--b-debt)} .waffle .sq.b-pass{background:var(--b-pass)}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px} .trio h4{font-size:.85rem;margin:0 0 4px;color:var(--ink-2)} @media (max-width:820px){.trio{grid-template-columns:minmax(0,1fr)}} svg.tl.debtcmp .d-sh rect{fill:var(--bar)} svg.tl.debtcmp .d-mb rect{fill:var(--no)} svg.tl.debtcmp .db-p rect{fill:var(--bar)} svg.tl.debtcmp .db-i rect{fill:var(--no)} svg.tl.debtcmp .line{fill:none;stroke-width:2.5} svg.tl.debtcmp .line.base{stroke:var(--bar)} svg.tl.debtcmp .line.scen{stroke:var(--muted);stroke-dasharray:5 4} svg.tl.debtcmp .pt circle{fill:var(--bar);stroke:var(--surface);stroke-width:1.5} svg.tl.debtcmp .bar,svg.tl.debtcmp .pt{cursor:default} svg.tl.debtcmp .bar:focus,svg.tl.debtcmp .pt:focus{outline:none} .sw.ln-base{background:transparent;border-top:3px solid var(--bar);height:0;border-radius:0} .sw.ln-scen{background:transparent;border-top:3px dashed var(--muted);height:0;border-radius:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px} .card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink)} .card b{font-family:var(--display);font-size:1.15rem} .card span{font-size:.9rem;color:var(--ink-2)} .card:hover{border-color:var(--accent)}
.stats.fin{margin:6px 0 14px} .subnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px} .subnav a{font-size:.85rem;font-weight:600;padding:5px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink)} .subnav a:hover{border-color:var(--accent);color:var(--accent)} svg.tl.debt .db-p rect,.sw.db-p{fill:var(--bar);background:var(--bar)} svg.tl.debt .db-i rect,.sw.db-i{fill:var(--no);background:var(--no)}
svg.tl.dor .d-sh rect,.sw.d-sh{fill:var(--bar);background:var(--bar)} svg.tl.dor .d-mb rect,.sw.d-mb{fill:var(--no);background:var(--no)} svg.tl.dor .d-peer rect,.sw.d-peer{fill:var(--bar-soft);background:var(--bar-soft)} svg.tl.dor .lab{font-size:11px;fill:var(--ink)} svg.tl.dor .bar{cursor:default} svg.tl.dor .bar:focus{outline:none} table.dor td:first-child{white-space:nowrap} table.dor td:last-child{white-space:nowrap;min-width:0}
table.perres td:last-child{white-space:nowrap;min-width:0} table.perres td:first-child{white-space:normal} table.budget sup.flag{color:var(--no);font-weight:700;margin-left:3px;cursor:help} table.budget tr.sec td{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:12px}
table.budget td.key{font-weight:600} table.budget td .sw{margin-right:7px;vertical-align:-2px} table.budget tr.total td{font-weight:700;border-top:2px solid var(--ink)} table.budget td.neg{color:var(--no)} table.budget td:first-child{white-space:nowrap} table.budget td:last-child{white-space:normal;min-width:7em}
table.cmp td:first-child,table.cmp th{white-space:nowrap} table.cmp tr.base td{color:var(--muted)} table.cmp td.few{color:var(--muted)} table.cmp td.sig{font-weight:700;color:var(--accent)} table.cmp .filters{margin-bottom:8px}
table.corr th.col{font-size:.72rem;white-space:nowrap;text-align:center} table.corr th{font-size:.78rem} table.corr td.blank{border:0;background:transparent} table.corr td.cell{font-size:.78rem;min-width:52px;text-align:center} table.corr td.cell.neg{background:color-mix(in oklab,var(--no),var(--surface) calc((1 - var(--v))*100%));color:var(--ink)} table.corr td.cell.neg.hi{color:#fff}
svg.tl.pat .trend{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-dasharray:5 4;opacity:.7} svg.tl.pat .event{stroke:var(--sign);stroke-width:1.5;stroke-dasharray:2 3}
.legend button.lg.off{color:var(--muted);opacity:.7} .legend button.lg.off .sw{opacity:.35}
blockquote.pull sup{font-size:.45em;vertical-align:super;margin-left:2px} blockquote.pull sup a{text-decoration:none;color:var(--accent)} blockquote.pull footer sup{font-size:.7em;margin-right:2px}
table.corr td.cell.sel{outline:3px solid var(--ink);outline-offset:-3px;font-weight:700}
ol.links{margin:0;padding-left:20px;font-size:.9rem;color:var(--ink-2)} ol.links li{margin:4px 0;cursor:pointer} ol.links li:hover{color:var(--accent)}

/* the century band */
.century-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--surface),var(--bg,transparent))}
.century{min-width:1000px}
.centurysvg{display:block;width:100%;height:auto;font-family:var(--body,inherit)}
.centurysvg .pop-area{fill:url(#cg)} .centurysvg .pop-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}
.centurysvg .pop-pt circle{fill:var(--surface);stroke:var(--accent);stroke-width:2} .centurysvg .pop-lab{font-size:11px;fill:var(--ink-2)} .centurysvg .ygrid{stroke:var(--line);stroke-dasharray:2 4} .centurysvg .ylab{font-size:10.5px;fill:var(--muted)} .centurysvg .ytitle{font-size:11px;fill:var(--ink-2);font-weight:600;letter-spacing:.03em}
.centurysvg .baseline{stroke:var(--ink);stroke-width:1.5} .centurysvg .tick{stroke:var(--muted)} .centurysvg .decade{font-size:12px;fill:var(--muted);font-weight:600;letter-spacing:.04em}
.centurysvg .mtick{stroke:var(--bar);stroke-width:1.6;opacity:.85} .centurysvg .mtg:hover .mtick,.centurysvg .mtg:focus .mtick{stroke-width:3;opacity:1} .centurysvg .mtg:focus{outline:none} .centurysvg .present{font-size:11px;fill:var(--bar);font-weight:600}
.centurysvg .ev circle{fill:var(--surface);stroke:var(--ink);stroke-width:2} .centurysvg .ev.key circle{fill:var(--accent);stroke:var(--accent)} .centurysvg .ev.rec circle{fill:var(--bar);stroke:var(--bar)} .centurysvg .ev.cent circle{fill:var(--accent);stroke:var(--accent)}
.centurysvg .ev:hover circle,.centurysvg .ev:focus circle{stroke-width:4} .centurysvg .ev:focus{outline:none}
.centurysvg .leader{stroke:var(--line);stroke-width:1} .centurysvg .evlab{font-size:11px;fill:var(--ink-2)} .centurysvg .ev:hover .evlab,.centurysvg .ev:focus .evlab,.centurysvg .ev.on .evlab{fill:var(--accent);font-weight:700} .centurysvg .ev.key .evlab{font-weight:700;fill:var(--ink)} .centurysvg .ev.on circle{stroke-width:4;stroke:var(--accent)}
.century-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px} .chip{font:inherit;font-size:.82rem;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);cursor:pointer} .chip b{color:var(--ink);font-weight:700;margin-right:2px} .chip:hover,.chip.on{border-color:var(--accent);color:var(--accent)} .chip.on b{color:var(--accent)} .chip.rec b{color:var(--bar)} .chip.cent{border-color:var(--accent)} .chip:focus{outline:2px solid var(--accent);outline-offset:1px}
.centurysvg .before-lab{font-size:12.5px;font-weight:700;fill:var(--accent)} .centurysvg .before:hover .before-lab{text-decoration:underline} .centurysvg .before-ring{fill:var(--bg);stroke:var(--accent);stroke-width:2.5}
.centurysvg .badge-line{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:3 4} .centurysvg .badge-num{font-family:var(--display);font-size:34px;font-weight:700;fill:var(--accent)} .centurysvg .badge-sub{font-size:11px;fill:var(--accent);font-weight:600;letter-spacing:.04em}
.century-card{margin-top:14px;padding:18px 22px;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 12px 12px 0;display:grid;grid-template-columns:auto 1fr;column-gap:22px;row-gap:4px;align-items:baseline;min-height:96px}
.century-card .cy{font-family:var(--display);font-size:2.2rem;font-weight:700;color:var(--accent);grid-row:1/4;line-height:1;white-space:nowrap} .century-card h3{margin:0;font-size:1.15rem} .century-card p{margin:0;color:var(--ink-2);max-width:none} .century-card .src{font-size:.85rem;color:var(--muted)} .century-card .src a{font-weight:600}
@media (max-width:700px){.century-card{grid-template-columns:1fr} .century-card .cy{grid-row:auto;font-size:1.6rem}}

.land{border-left:5px solid var(--sign);background:var(--surface);border:1px solid var(--line);border-left-width:5px;border-left-color:var(--sign);border-radius:12px;padding:22px 26px;display:flex;flex-direction:column;gap:8px} .landk{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sign)} .land h2{font-size:clamp(1.4rem,2.8vw,1.9rem)} .land p{color:var(--ink-2);max-width:none;font-size:1.02rem} .land p a{font-weight:600}

.latest{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:22px 26px;display:flex;flex-direction:column;gap:10px} .latest .lhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.85rem} .latest .lk{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)} .latest h2{font-size:clamp(1.3rem,2.6vw,1.7rem)} .latest .ntext p{color:var(--ink-2);max-width:none} .latest .foot{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9rem} .latest .foot a{font-weight:600}

.land.api{max-width:50%;box-sizing:border-box;border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))} .land.api .landk{color:var(--accent)} .apiform{display:flex;flex-direction:column;gap:12px;margin-top:6px} .apiform .frow{display:grid;grid-template-columns:1fr 1fr;gap:12px} .apiform label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--ink-2)} .apiform input,.apiform select,.apiform textarea{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%} .apiform textarea{resize:vertical} .apiform .hp{display:none} .apiform .act{display:flex;align-items:center;gap:14px} .btn{font:inherit;font-weight:700;background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;padding:10px 18px;cursor:pointer} .btn:disabled{opacity:.6} @media (max-width:600px){.apiform .frow{grid-template-columns:1fr}}

.stat i{font-style:normal;font-size:.8rem;color:var(--accent);font-weight:600;margin-top:2px}

.method.two{grid-template-columns:1fr 1fr;margin-top:22px} @media (max-width:700px){.method.two{grid-template-columns:1fr}}

.panel.lens{margin:6px 0 14px} svg.tl.lens .lab{fill:var(--ink);font-size:12.5px;font-weight:600} svg.tl.lens .val{fill:var(--ink);font-size:12.5px;font-weight:700} svg.tl.lens .over{fill:var(--bar)} svg.tl.lens .under{fill:var(--bar-soft)} svg.tl.lens .one{stroke:var(--ink);stroke-width:1.5;stroke-dasharray:3 3} svg.tl.lens .one-lab{fill:var(--ink);font-weight:600} svg.tl.lens .lrow:hover rect.over,svg.tl.lens .lrow:hover rect.under{filter:brightness(.9)} svg.tl.lens .lrow:focus{outline:none} @media (max-width:600px){svg.tl.lens .lab{font-size:11px}}

:root{--j-school:#b9c4cf;--j-county:#d5dce3;--j-tech:#e8ecf0} .waffle .sq.j-school{background:var(--j-school)} .waffle .sq.j-county{background:var(--j-county)} .waffle .sq.j-tech{background:var(--j-tech)} .waffle .sq.b-debt{background:var(--b-debt)} .sw.j-school{background:var(--j-school)} .sw.j-county{background:var(--j-county)} .sw.j-tech{background:var(--j-tech)} .waffle-key .khead{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:6px} .waffle-key .krow b{min-width:4.2em} #homeVal{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:120px;font-variant-numeric:tabular-nums}

svg.tl.debthist .d-sh rect{fill:var(--bar)} svg.tl.debthist .d-mb rect{fill:var(--no)} svg.tl.debthist .issue{fill:var(--ink)} svg.tl.debthist .bar{cursor:default} svg.tl.debthist .bar:focus{outline:none} .sw.d-sh{background:var(--bar)} .sw.d-mb{background:var(--no)} .sw.issue{background:var(--ink);clip-path:polygon(0 0,100% 0,50% 100%)} h4.subh{font-size:1rem;margin:16px 0 4px}

:root{--s-value:#2a78d6;--s-spend:#c8552b;--s-debt:#0d366b;--s-rate:#1f8a8a} svg.tl.lens .line{fill:none;stroke-width:2.5} svg.tl.lens .line.s-value{stroke:var(--s-value)} svg.tl.lens .line.s-spend{stroke:var(--s-spend)} svg.tl.lens .line.s-debt{stroke:var(--s-debt)} svg.tl.lens .line.s-rate{stroke:var(--s-rate)} svg.tl.lens .pt circle:first-child{stroke:var(--surface);stroke-width:1.5} svg.tl.lens .pt.s-value circle:first-child{fill:var(--s-value)} svg.tl.lens .pt.s-spend circle:first-child{fill:var(--s-spend)} svg.tl.lens .pt.s-debt circle:first-child{fill:var(--s-debt)} svg.tl.lens .pt.s-rate circle:first-child{fill:var(--s-rate)} svg.tl.lens .pt{cursor:default} svg.tl.lens .pt:focus{outline:none} svg.tl.lens .val.s-value{fill:var(--s-value)} svg.tl.lens .val.s-spend{fill:var(--s-spend)} svg.tl.lens .val.s-debt{fill:var(--s-debt)} svg.tl.lens .val.s-rate{fill:var(--s-rate)} .sw.s-value{background:var(--s-value)} .sw.s-spend{background:var(--s-spend)} .sw.s-debt{background:var(--s-debt)} .sw.s-rate{background:var(--s-rate)}

svg.tl.bill{touch-action:none;cursor:ew-resize} svg.tl.bill .area{opacity:.85} svg.tl.bill .area.b-police{fill:var(--b-police)} svg.tl.bill .area.j-school{fill:var(--j-school)} svg.tl.bill .area.j-county{fill:var(--j-county)} svg.tl.bill .area.j-tech{fill:var(--j-tech)} svg.tl.bill .guide{stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3} svg.tl.bill .knob{fill:var(--surface);stroke:var(--ink);stroke-width:3;cursor:grab} svg.tl.bill .knoblab{fill:var(--ink);font-size:13px;font-weight:700} svg.tl.bill .knoblab2{fill:var(--ink-2);font-size:11.5px;font-weight:600}

.centurysvg .pop-pt{cursor:default} .centurysvg .pop-pt:hover circle:first-child,.centurysvg .pop-pt:focus circle:first-child{r:5.5} .centurysvg .pop-pt:focus{outline:none} .centurysvg .pop-pt:hover .pop-lab{font-weight:700}

.cols.wide.bill{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px 40px} .cols.bill>div{min-width:0} .waffle-key .krow.tot{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)} .sw.none{background:transparent} @media (max-width:820px){.cols.bill{grid-template-columns:1fr}}

.centurysvg .pop-pt circle.hit{fill:transparent;stroke:none} .centurysvg .pop-pt:hover circle:first-child,.centurysvg .pop-pt:focus circle:first-child{r:4.5}

/* one body size for the text pages, whatever the section */
.method p,.method .span p,p.lede,.mhead .brief,.sechead p.muted{font-size:1rem} .method h3{font-size:1.1rem} .land p{font-size:1rem}

svg.tl.lens .grid.minor{stroke-dasharray:2 3;opacity:.7} svg.tl.lens .ax.minor{opacity:.65}
.method .span p+p{margin-top:14px}
svg.tl.spend rect.act{fill:var(--bar)} svg.tl.spend rect.bud{fill:var(--bar-soft);stroke:var(--bar);stroke-width:1.2;stroke-dasharray:4 3} svg.tl.spend rect.ytd{fill:var(--bar);opacity:.85} svg.tl.spend .lab{font-size:11px;fill:var(--ink);font-weight:600} svg.tl.spend .bar:hover rect,svg.tl.spend .bar:focus rect{stroke:var(--ink);stroke-width:1.5} svg.tl.spend .bar:focus{outline:none} .sw.act{background:var(--bar)} .sw.bud{background:var(--bar-soft);border:1px dashed var(--bar)} .sw.ytd{background:var(--bar);opacity:.85}
svg.tl.h2h .lab{font-size:11px;fill:var(--ink)} svg.tl.h2h .val{font-size:11px;fill:var(--ink-2)} svg.tl.h2h .d-sh rect{fill:var(--bar)} svg.tl.h2h .d-mb rect{fill:var(--no)} svg.tl.h2h .grid{stroke:var(--line)} .sw.d-sh{background:var(--bar)} .sw.d-mb{background:var(--no)} .panel h3.gap{margin-top:22px}
.cols.wide.h2h{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} @media (max-width:820px){.cols.wide.h2h{grid-template-columns:minmax(0,1fr)}}
.scope{border:1.5px solid var(--accent);border-radius:16px;padding:16px 16px 2px;margin:6px 0 30px;background:linear-gradient(0deg,transparent,color-mix(in srgb,var(--accent) 5%,transparent))} .scope>.cols,.scope>.panel{margin-bottom:16px} .scopehead{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin-bottom:10px} .scopehead b{font-family:var(--display);font-size:1.05rem} .scope>.filters{margin-bottom:8px} .scope>#compNote{margin-bottom:14px} svg.tl.debthist .bar.dim rect{opacity:.5} svg.tl.debthist .bar.sel rect{stroke:var(--ink);stroke-width:1.5}
th .sortbtn{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit} th .sortbtn.on{color:var(--accent)} th .sortbtn:hover{text-decoration:underline} th .sortbtn .hint{color:var(--muted);opacity:.6;font-size:.9em}
.scopesub{margin:26px 0 12px} .scopesub h3{font-family:var(--display);font-size:1.15rem;margin-bottom:6px} .scopesub p{max-width:none}
svg.tl.debtcmp .bar.dim rect{opacity:.5} svg.tl.debtcmp .bar.sel rect{stroke:var(--ink);stroke-width:1.5}
.method>div p+p{margin-top:10px}
.scope.top{padding-top:14px} .scope.top>.panel{margin-bottom:6px} .selnav.light{border-top:0;padding-top:0;margin-bottom:0} .scope.top{padding-bottom:14px} .selnav.light a{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);opacity:1;background:transparent} .selnav.light a i{background:var(--accent);color:var(--accent-ink)} .selnav.light a:hover,.selnav.light a.on{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)} .selnav.light a.up{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.scope.top>.filters{margin-bottom:6px} .scope.top>#compNote{margin-bottom:14px}
svg.tl.h2h .d-peer rect{fill:var(--muted);opacity:.55} .sw.d-peer{background:var(--muted);opacity:.6} table.dor th.peer,table.dor td.peer{background:color-mix(in srgb,var(--accent) 9%,transparent)} table.dor th.peer{color:var(--accent)}
.scope>.filters{margin-bottom:6px} .scope>#compNote{margin-bottom:14px}
.scopesub.first{margin-top:0}
#closed .stats{margin-bottom:12px} table.closed td{vertical-align:top} table.closed td.neg{color:var(--no)}
#closed .cols{margin-bottom:14px} table.closed td:nth-child(3){min-width:220px}

@media(max-width:820px){.land.api{max-width:none}}
/* debt section */
svg.tl.debtsec .d-tid,.sw.d-tid{fill:var(--seq-hi);background:var(--seq-hi)} svg.tl.debtsec .d-utility,.sw.d-utility{fill:#5aa9d6;background:#5aa9d6} svg.tl.debtsec .d-levy,.sw.d-levy{fill:var(--bar);background:var(--bar)} svg.tl.debtsec .d-total,.sw.d-total{fill:var(--line);background:var(--line)}
svg.tl.debtsec .issue{fill:var(--ink)} .sw.issue{background:transparent;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--ink);border-radius:0}
svg.tl.debtsec text.mark{fill:var(--accent);font-weight:700}
ol.debtline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
ol.debtline li{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)} ol.debtline li:first-child{border-top:0;padding-top:4px}
ol.debtline .yr{display:flex;flex-direction:column;align-items:flex-start;gap:2px} ol.debtline .yr b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:.8rem} ol.debtline .yr span{font-size:.82rem;color:var(--muted);font-weight:600}
ol.debtline h4{margin:2px 0 4px;font-size:1rem} ol.debtline p{margin:0 0 6px;font-size:.92rem;line-height:1.5} ol.debtline p.src{margin:0}
.panel.assess{border-left:5px solid var(--sign)} .panel.assess .landk{color:var(--sign)} .panel.assess .prose p{font-size:1rem;line-height:1.6;margin:0 0 12px} .panel.assess .assessmore{display:inline-block;width:auto;align-self:flex-start;justify-self:start;margin:2px 0 10px;font:inherit;font-size:.85rem;font-weight:600;color:var(--sign);background:none;border:1px solid var(--sign);border-radius:6px;padding:4px 12px;cursor:pointer} .panel.assess .assessmore:hover{background:rgba(0,0,0,.04)}
@media (max-width:820px){ol.debtline li{grid-template-columns:48px 1fr}}
/* elections page */
.barrow.el-won .fill{background:var(--bar)} .barrow.el-lost .fill{background:var(--bar-soft)}
svg.tl.el .col rect{fill:var(--bar-soft)} svg.tl.el .col.on rect{fill:var(--bar)} svg.tl.el .col:hover rect,svg.tl.el .col:focus rect{opacity:.85}
svg.tl.el .e-sh rect,.sw.e-sh{fill:var(--bar);background:var(--bar)} svg.tl.el .e-dane rect,.sw.e-dane{fill:#5aa9d6;background:#5aa9d6} svg.tl.el .e-wi rect,.sw.e-wi{fill:var(--line);background:var(--line)}
svg.tl.el .m-mail rect,.sw.m-mail{fill:var(--seq-hi);background:var(--seq-hi)} svg.tl.el .m-early rect,.sw.m-early{fill:#5aa9d6;background:#5aa9d6} svg.tl.el .m-day rect,.sw.m-day{fill:var(--bar-soft);background:var(--bar-soft)}
svg.tl.el .dot circle{fill:var(--bar)} svg.tl.el .dot.s-a circle,.sw.s-a{fill:var(--bar);background:var(--bar)} svg.tl.el .dot.s-b circle,.sw.s-b{fill:var(--no);background:var(--no)} svg.tl.el .dot.s-c circle,.sw.s-c{fill:var(--accent);background:var(--accent)}
svg.tl.el path.line{fill:none;stroke-width:2} svg.tl.el path.line.s-a{stroke:var(--bar)} svg.tl.el path.line.s-b{stroke:var(--no)} svg.tl.el path.line.s-c{stroke:var(--accent)}
svg.tl.el text.small{font-size:.62rem} .bars h4.subh{margin:10px 0 4px}

.bars.wideval .barrow{grid-template-columns:minmax(120px,32%) 1fr auto} .bars.wideval .barrow .val{padding-left:6px} @media (max-width:560px){.bars.wideval .barrow{grid-template-columns:1fr auto}}
.refmen{margin:-2px 0 10px 4px;font-size:.82rem} .refmen .lg{padding:2px 8px;font-size:.8rem} .refmenlist{margin:6px 0 4px 8px;padding-left:10px;border-left:2px solid var(--line)}
/* Village Bulletin topics */
:root{--t0:#9aa3a8;--t1:#6b4fa0;--t2:#0d366b;--t3:#2a78d6;--t4:#3aa6c9;--t5:#c8552b;--t6:#8a6b3b;--t7:#2c8a4a;--t8:#d19a1e;--t9:#8fc45a;--t10:#b04a7a;--t11:#5e6b7a;--t12:#e8a598;--t13:#1f7a7a;--t14:#7a8fd6;--t15:#c9b38a}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--t2:#86b6ef;--t0:#6d767b}} :root[data-theme="dark"]{--t2:#86b6ef;--t0:#6d767b}
svg.tl.bul .t0 rect,.sw.t0{fill:var(--t0);background:var(--t0)} svg.tl.bul .t1 rect,.sw.t1{fill:var(--t1);background:var(--t1)} svg.tl.bul .t2 rect,.sw.t2{fill:var(--t2);background:var(--t2)} svg.tl.bul .t3 rect,.sw.t3{fill:var(--t3);background:var(--t3)} svg.tl.bul .t4 rect,.sw.t4{fill:var(--t4);background:var(--t4)} svg.tl.bul .t5 rect,.sw.t5{fill:var(--t5);background:var(--t5)} svg.tl.bul .t6 rect,.sw.t6{fill:var(--t6);background:var(--t6)} svg.tl.bul .t7 rect,.sw.t7{fill:var(--t7);background:var(--t7)} svg.tl.bul .t8 rect,.sw.t8{fill:var(--t8);background:var(--t8)} svg.tl.bul .t9 rect,.sw.t9{fill:var(--t9);background:var(--t9)} svg.tl.bul .t10 rect,.sw.t10{fill:var(--t10);background:var(--t10)} svg.tl.bul .t11 rect,.sw.t11{fill:var(--t11);background:var(--t11)} svg.tl.bul .t12 rect,.sw.t12{fill:var(--t12);background:var(--t12)} svg.tl.bul .t13 rect,.sw.t13{fill:var(--t13);background:var(--t13)} svg.tl.bul .t14 rect,.sw.t14{fill:var(--t14);background:var(--t14)} svg.tl.bul .t15 rect,.sw.t15{fill:var(--t15);background:var(--t15)}
svg.tl.bul .col.dim rect{opacity:.18} svg.tl.bul .col rect{stroke:var(--surface);stroke-width:.5}
.bars.pairs .pair{margin:0 0 10px} .bars.pairs .plab{font-size:.86rem;font-weight:700;margin:0 0 2px 4px} .bars.pairs .barrow{padding:1px 4px;font-size:.82rem} .bars.pairs .barrow.b .fill{background:var(--bar-soft);border:1px solid var(--bar)} .bars.pairs .barrow .lab{color:var(--muted)}
#bulList td .sw{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle;margin-right:2px} #bulList table.items td{font-size:.86rem} #bulList details.fold{margin-top:8px} #bulList details.fold ul{margin:6px 0 0 18px;padding:0;columns:2;column-gap:24px} #bulList .grp+p{margin:-8px 0 8px}
#bulSeries{min-height:200px}
#bulYear td.cell,#bulSeason td.cell{min-width:26px;width:26px;height:24px;font-size:.74rem;padding:0 2px} #bulYear th,#bulSeason th{font-size:.78rem;padding-right:8px} #bulYear th.col,#bulSeason th.col{height:44px;font-size:.66rem;min-width:0;padding:0 1px 4px}
/* the reference pages after the separator sit a step lighter than the four record pages */
.topbar nav .navsep~a{font-size:.82rem;font-weight:500;color:var(--muted);align-self:center} .topbar nav .navsep~a:hover{color:var(--accent)}
/* Revenue section */
:root{--r0:#0d366b;--r1:#c8552b;--r2:#2c8a4a;--r3:#3aa6c9;--r4:#d19a1e;--r5:#6b4fa0;--r6:#9aa3a8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--r0:#86b6ef}} :root[data-theme="dark"]{--r0:#86b6ef}
svg.tl.revsec .r0 rect,.sw.r0{fill:var(--r0);background:var(--r0)} svg.tl.revsec .r1 rect,.sw.r1{fill:var(--r1);background:var(--r1)} svg.tl.revsec .r2 rect,.sw.r2{fill:var(--r2);background:var(--r2)} svg.tl.revsec .r3 rect,.sw.r3{fill:var(--r3);background:var(--r3)} svg.tl.revsec .r4 rect,.sw.r4{fill:var(--r4);background:var(--r4)} svg.tl.revsec .r5 rect,.sw.r5{fill:var(--r5);background:var(--r5)} svg.tl.revsec .r6 rect,.sw.r6{fill:var(--r6);background:var(--r6)}
svg.tl.revsec .col rect{stroke:var(--surface);stroke-width:.5} svg.tl.revsec text.muted{fill:var(--muted);font-size:10px}
svg.tl.levy line.cap{stroke:var(--ink);stroke-width:2.5} .sw.cap{background:var(--ink);height:3px;margin-top:5px} svg.tl.levy rect.gap{fill:none;stroke:var(--no);stroke-width:1.5;stroke-dasharray:4 3} svg.tl.levy rect.ghost{fill:var(--line);opacity:.5} .sw.gap{background:transparent;border:1.5px dashed var(--no)} svg.tl.levy text.gapt{fill:var(--no);font-weight:700}
.wi2{display:grid;grid-template-columns:minmax(260px,30%) minmax(0,1fr);gap:10px 28px;align-items:start} @media (max-width:820px){.wi2{grid-template-columns:minmax(0,1fr)}}
.wi{display:flex;flex-direction:column;gap:9px} .wihead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px} .wihead b{font-family:var(--display);font-size:1rem} .wihead .lg{font-size:.78rem;padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-2);cursor:pointer;font-family:inherit} .wihead .lg:hover{border-color:var(--accent);color:var(--accent)}
.wirow{display:flex;flex-direction:column;gap:2px} .witop{display:flex;justify-content:space-between;gap:10px;align-items:baseline} .wilab{font-weight:600;font-size:.84rem;line-height:1.25} .wival{font-variant-numeric:tabular-nums;font-size:.9rem;white-space:nowrap} .wirow input[type=range]{width:100%;accent-color:var(--accent);margin:0}
.wichk{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;margin-top:4px} .wichk input{accent-color:var(--accent);margin-right:4px}
.wiview{position:sticky;top:66px} @media (max-width:820px){.wiview{position:static}} .wiview .wichart{margin:0 0 8px} .wiview .wichart .subh{margin-top:0} .wiview .wiout table td.small{font-size:.8rem} .wiview .wiout table{font-size:.84rem}
.wiout td.neg,#revFunds .neg{color:var(--no)} .wiout table td.small{color:var(--ink-2)} #revFunds td b{font-weight:600} #revFunds td .small{font-size:.74rem}
ol.said{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:10px} ol.said li{font-size:.9rem} ol.said b{font-size:.8rem;color:var(--muted)} ol.said p{margin:2px 0 0;line-height:1.5}
@media (max-width:820px){.cols.wide.bill{grid-template-columns:minmax(0,1fr)}}
.century-chips .chip{max-width:100%;white-space:normal;text-align:left}
svg.tl.wi rect.have{fill:var(--bar)} svg.tl.wi rect.need{fill:none;stroke:var(--ink);stroke-width:1.5} svg.tl.wi rect.short{fill:var(--no);opacity:.55} svg.tl.wi rect.spare{fill:var(--accent);opacity:.55} svg.tl.wi text.sparet{fill:var(--accent);font-weight:700}
.sw.wi-have{background:var(--bar)} .sw.wi-need{background:transparent;border:1.5px solid var(--ink)} .sw.wi-short{background:var(--no);opacity:.6} .sw.wi-spare{background:var(--accent);opacity:.6} .wichart{margin:6px 0 14px} .wichart .subh{margin-top:4px}
/* Safety and Health */
:root{--aq0:#4caf50;--aq1:#f2c94c;--aq2:#f28c28;--aq3:#d93a3a;--aq4:#8f3f97;--aq5:#7e0023;--nc-person:#d93a3a;--nc-prop:#2a78d6;--nc-road:#f28c28;--nc-welf:#1f8a8a;--nc-dist:#8f3f97;--nc-other:#9aa7b3;--pf-pfhxs:#0d366b;--pf-pfba:#2a78d6;--pf-pfbs:#5aa9d6;--pf-pfpea:#9ccbe8;--pf-pfhxa:#cfe0f5;--pf-pfoa:#d93a3a;--pf-pfos:#7e0023;--ld-c:#2a78d6;--ld-unk:#f2c94c;--ld-g:#d93a3a;--ld-di:#1f8a8a;--ld-p:#9aa7b3}
svg.tl.sh .p-rout,.sw.p-rout{fill:var(--bar-soft);background:var(--bar-soft)} svg.tl.sh .p-rest,.sw.p-rest{fill:var(--bar);background:var(--bar)} svg.tl.sh .p-all,.sw.p-all{fill:color-mix(in oklab,var(--bar),var(--bar-soft) 45%);background:color-mix(in oklab,var(--bar),var(--bar-soft) 45%)} svg.tl.sh .p-none{fill:var(--muted)}
svg.tl.sh .col:hover rect,svg.tl.sh .col:focus rect{stroke:var(--ink);stroke-width:1.5} svg.tl.sh .col:focus{outline:none} svg.tl.sh .col.part rect{opacity:.55} svg.tl.sh .limit{stroke:var(--sign);stroke-width:1.5;stroke-dasharray:5 4} svg.tl.sh .ax.lim{fill:var(--sign);font-weight:600} svg.tl.sh .lab{font-size:11px;fill:#fff;font-weight:600}
svg.tl.sh .nc-person rect,.sw.nc-person{fill:var(--nc-person);background:var(--nc-person)} svg.tl.sh .nc-prop rect,.sw.nc-prop{fill:var(--nc-prop);background:var(--nc-prop)} svg.tl.sh .nc-road rect,.sw.nc-road{fill:var(--nc-road);background:var(--nc-road)} svg.tl.sh .nc-welf rect,.sw.nc-welf{fill:var(--nc-welf);background:var(--nc-welf)} svg.tl.sh .nc-dist rect,.sw.nc-dist{fill:var(--nc-dist);background:var(--nc-dist)} svg.tl.sh .nc-other rect,.sw.nc-other{fill:var(--nc-other);background:var(--nc-other)}
svg.tl.sh .c-prop,.sw.c-prop{fill:var(--bar);background:var(--bar)} svg.tl.sh .c-viol,.sw.c-viol{fill:var(--sign);background:var(--sign)} .barrow.refrow{margin-top:6px;border-top:1px solid var(--line);padding-top:8px;border-radius:0}
svg.tl.sh .aq0 rect,svg.tl.sh circle.aq0,.sw.aq0,.aqc.aq0{fill:var(--aq0);background:var(--aq0)} svg.tl.sh .aq1 rect,svg.tl.sh circle.aq1,.sw.aq1,.aqc.aq1{fill:var(--aq1);background:var(--aq1)} svg.tl.sh .aq2 rect,svg.tl.sh circle.aq2,.sw.aq2,.aqc.aq2{fill:var(--aq2);background:var(--aq2)} svg.tl.sh .aq3 rect,svg.tl.sh circle.aq3,.sw.aq3,.aqc.aq3{fill:var(--aq3);background:var(--aq3)} svg.tl.sh .aq4 rect,svg.tl.sh circle.aq4,.sw.aq4,.aqc.aq4{fill:var(--aq4);background:var(--aq4)} svg.tl.sh .aq5 rect,svg.tl.sh circle.aq5,.sw.aq5,.aqc.aq5{fill:var(--aq5);background:var(--aq5)}
svg.tl.sh .aq-mean,.sw.aq-mean{fill:var(--bar-soft);background:var(--bar-soft)} .sw.aq-maxsw{background:transparent;border:2px solid var(--ink);border-radius:50%;width:12px;height:12px} svg.tl.sh circle.aq-max{stroke:var(--surface);stroke-width:1}
.aqgrid{display:flex;flex-direction:column;gap:3px;overflow-x:auto;padding-bottom:4px} .aqrow{display:grid;grid-template-columns:34px repeat(31,minmax(12px,1fr));gap:2px;align-items:center} .aqrow.head .aqd{font-size:.68rem;color:var(--muted);text-align:center} .aqm{font-size:.75rem;color:var(--ink-2);font-weight:600} .aqc{display:block;height:16px;border-radius:3px;cursor:default} .aqc:hover,.aqc:focus{outline:2px solid var(--ink);outline-offset:-1px}
svg.tl.sh .w-p90,.sw.w-p90{fill:var(--bar);background:var(--bar)} svg.tl.sh .w-max{stroke:var(--ink);stroke-width:2.5} .sw.w-maxsw{background:transparent;border-top:3px solid var(--ink);height:0;border-radius:0} .sw.w-limsw{background:transparent;border-top:2px dashed var(--sign);height:0;border-radius:0}
svg.tl.sh .w-dot{fill:var(--bar)} svg.tl.sh .w-nd{fill:var(--surface);stroke:var(--muted);stroke-width:1.5} .sw.w-dotsw{background:var(--bar);border-radius:50%;width:14px;height:14px} .sw.w-ndsw{background:transparent;border:1.5px solid var(--muted);border-radius:50%;width:14px;height:14px} svg.tl.sh .dot:focus{outline:none} svg.tl.sh .dot:hover circle,svg.tl.sh .dot:focus circle{stroke:var(--ink);stroke-width:2}
svg.tl.sh .pf-pfhxs rect,.sw.pf-pfhxs{fill:var(--pf-pfhxs);background:var(--pf-pfhxs)} svg.tl.sh .pf-pfba rect,.sw.pf-pfba{fill:var(--pf-pfba);background:var(--pf-pfba)} svg.tl.sh .pf-pfbs rect,.sw.pf-pfbs{fill:var(--pf-pfbs);background:var(--pf-pfbs)} svg.tl.sh .pf-pfpea rect,.sw.pf-pfpea{fill:var(--pf-pfpea);background:var(--pf-pfpea)} svg.tl.sh .pf-pfhxa rect,.sw.pf-pfhxa{fill:var(--pf-pfhxa);background:var(--pf-pfhxa)} svg.tl.sh .pf-pfoa rect,.sw.pf-pfoa{fill:var(--pf-pfoa);background:var(--pf-pfoa)} svg.tl.sh .pf-pfos rect,.sw.pf-pfos{fill:var(--pf-pfos);background:var(--pf-pfos)}
svg.tl.sh .ld-c rect,.sw.ld-c{fill:var(--ld-c);background:var(--ld-c)} svg.tl.sh .ld-unk rect,.sw.ld-unk{fill:var(--ld-unk);background:var(--ld-unk)} svg.tl.sh .ld-g rect,.sw.ld-g{fill:var(--ld-g);background:var(--ld-g)} svg.tl.sh .ld-di rect,.sw.ld-di{fill:var(--ld-di);background:var(--ld-di)} svg.tl.sh .ld-p rect,.sw.ld-p{fill:var(--ld-p);background:var(--ld-p)}
#poTypes{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)} ul.said{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px} ul.said li{font-size:.9rem} ul.said b{font-size:.8rem;color:var(--muted)} ul.said p{margin:2px 0 0;line-height:1.5}
@media (max-width:700px){.aqrow{grid-template-columns:26px repeat(31,minmax(6px,1fr));gap:1px} .aqc{height:11px;border-radius:2px} .aqm{font-size:.68rem} .aqrow.head .aqd{font-size:.6rem}}

svg.tl.sh .lc-home rect,.sw.lc-home,.barrow.lc-home .fill{fill:var(--bar);background:var(--bar)} svg.tl.sh .lc-store rect,.sw.lc-store,.barrow.lc-store .fill{fill:var(--no);background:var(--no)} svg.tl.sh .lc-cyber rect,.sw.lc-cyber,.barrow.lc-cyber .fill{fill:var(--muted);background:var(--muted)} .barrow.el-over .fill{background:var(--no)}

table.heat#crLocHeat tr.tot td{font-weight:700;border-top:2px solid var(--ink)} table.heat#crLocHeat td.num{text-align:right;padding:0 6px;font-size:.82rem;color:var(--ink-2)}
table.heat#crLocHeat th.col{height:104px}

.cols.wide.loc{grid-template-columns:minmax(0,13fr) minmax(0,7fr);align-items:start} table.heat#crLocHeat th{font-size:.78rem;padding-right:6px} table.heat#crLocHeat td.cell{min-width:24px;font-size:.78rem} @media (max-width:820px){.cols.wide.loc{grid-template-columns:1fr}} svg.tl.sh .col.part rect{opacity:.35} svg.tl.sh .ax.tiny{font-size:9px} svg.tl.sh .lab.fam{font-weight:700;fill:var(--ink)} svg.tl.sh .row .lab{fill:var(--ink);font-weight:400} svg.tl.sh .row .mini{fill:var(--bar)} svg.tl.sh .row .mini.part{fill:var(--bar-soft)} svg.tl.sh .row .tbar{fill:var(--bar-soft)} svg.tl.sh .row:hover .tbar,svg.tl.sh .row:focus .tbar{fill:var(--bar)} svg.tl.sh .row:focus{outline:none} svg.tl.sh .lab.up{fill:var(--no)} svg.tl.sh .lab.down{fill:var(--accent)} svg.tl.sh .lab.flat{fill:var(--muted)}
svg.tl.sh .w-line{fill:none;stroke:var(--bar);stroke-width:1.5;opacity:.6} .sw.w-linesw{background:transparent;border-top:2px solid var(--bar);height:0;border-radius:0;opacity:.7}

/* meeting tiles: the card opens the record, the player streams the spoken summary */
.mcard{cursor:pointer}
.mcard h3 a{color:inherit;text-decoration:none}
.mcard .go{text-decoration:none;display:block;width:max-content}
.listens{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:12px}
.listen{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:5px 14px 5px 5px;background:var(--surface);font:inherit;font-size:.85rem;font-weight:600;color:var(--ink);cursor:pointer}
.listen:hover,.listen.on{border-color:var(--accent)}
.listen .ic{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:.65rem}
.listen .bar{width:110px;height:6px;cursor:pointer;background:var(--line);border-radius:2px;overflow:hidden}
.listen .bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s linear}
.listen .t{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500;min-width:2.6em}
@media (max-width:560px){.listen .bar{width:70px}}
/* Subscribe */
.subscribe{max-width:640px}
.subcard{padding:22px 24px;margin-bottom:18px}
.subcard label{display:block;font-weight:600;margin-bottom:8px}
.subrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.subrow input{flex:1 1 240px;font:inherit;font-size:1rem;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.subscribe button{font:inherit;font-size:1rem;font-weight:600;padding:11px 20px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer}
.subscribe button:disabled{opacity:.6;cursor:default}
.submsg{margin:8px 0 0;font-weight:500} .submsg:empty{display:none} .submsg.ok{color:var(--accent)} .submsg.err{color:#b3261e}
.subnotes{display:grid;grid-template-columns:1fr;gap:18px;margin-top:8px} .subnotes h3{margin:0 0 6px}
@media (max-width:640px){.subnotes{grid-template-columns:1fr}}
/* Meetings page */
#mstats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){
  #pendingTable thead,#pendingTable tr:has(th){display:none}
  #pendingTable,#pendingTable tbody{display:block;min-width:0}
  #pendingTable tr{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
  #pendingTable td{display:block;padding:0;border:0}
  #pendingTable td:nth-child(1){font-weight:600}
  #pendingTable td:nth-child(2){color:var(--muted)}
  #pendingTable td:nth-child(n+3){grid-column:1/-1}
}
.mcard .hits{margin:2px 0 10px;display:flex;flex-direction:column;gap:4px}
.mcard .hit{margin:0;font-size:.88rem;color:var(--ink-2)}
.mcard .hit .hk{display:inline-block;margin-right:8px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.mcard .hit mark{background:color-mix(in srgb,var(--accent) 22%,transparent);color:inherit;border-radius:3px;padding:0 1px}
/* About: a readable measure */
section.about .lede{margin:0 0 14px;max-width:none}

/* Subscribe: topics */
.subscribe .subcard{display:flex;flex-direction:column;gap:14px}
.subscribe fieldset.topics{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.subscribe fieldset.topics legend{font-weight:600;margin-bottom:10px;padding:0}
.subscribe label.topic{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--surface);transition:border-color .15s,background .15s}
.subscribe label.topic:hover{border-color:var(--accent)}
.subscribe label.topic:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.subscribe label.topic input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent);flex:none}
.subscribe .tbody{display:flex;flex-direction:column;gap:2px}
.subscribe .tname{font-weight:600} .subscribe .tname em{font-style:normal;font-weight:500;font-size:.78rem;color:var(--muted);margin-left:8px;white-space:nowrap}
.subscribe .tabout{font-size:.9rem;color:var(--ink-2)}
.subscribe .elabel{font-weight:600;margin:4px 0 0}
.subscribe .prefwho{margin:0;color:var(--muted)} .subscribe .prefwho:empty{display:none}
.subscribe .prefact{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.subscribe button.quiet{background:none;color:var(--muted);border:1px solid var(--line)} .subscribe button.quiet:hover{color:var(--accent);border-color:var(--accent)}
.subscribe .again{align-self:flex-start;display:inline-block;margin-bottom:18px;text-decoration:none;font:inherit;font-weight:600;padding:11px 20px;border-radius:8px;background:var(--accent);color:var(--accent-ink);border:0;cursor:pointer}
@media (max-width:600px){.subscribe .tname em{display:block;margin:0}}

/* Subscribe: compact, two topics per row */
.subscribe{max-width:880px}
.subscribe fieldset.topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.subscribe fieldset.topics legend{grid-column:1/-1;margin-bottom:4px}
.subscribe label.topic{padding:9px 11px;gap:10px;border-radius:8px}
.subscribe label.topic input{margin-top:2px;width:16px;height:16px}
.subscribe .tname{font-size:.95rem} .subscribe .tname em{font-size:.72rem}
.subscribe .tabout{font-size:.82rem;line-height:1.35}
.subscribe .subnote{margin:4px 0 0;font-size:.75rem;color:var(--muted)}
@media (max-width:640px){.subscribe fieldset.topics{grid-template-columns:1fr}}

/* --- Ask the Village and Account ---------------------------------------------------------------- */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ask button,.acct button,.btnlink{font:inherit;font-size:.95rem;font-weight:600;padding:10px 18px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.ask button:disabled,.acct button:disabled{opacity:.55;cursor:default}
.ask button.quiet,.acct button.quiet,.acct a.quiet{background:none;color:var(--ink-2);border:1px solid var(--line)} .ask button.quiet:hover,.acct button.quiet:hover,.acct a.quiet:hover{color:var(--accent);border-color:var(--accent)}
.acct a.quiet{font-weight:600;font-size:.95rem;padding:10px 18px;border-radius:8px;text-decoration:none}
.btnrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lbl{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.topbar nav a.navacct{color:var(--muted);font-weight:500}
.askintro{max-width:760px;display:flex;flex-direction:column;gap:18px}
.askplans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .askplans .panel{gap:4px} .askplans b{font-family:var(--display);font-size:1.9rem} .askplans b small{font-family:var(--body);font-size:.9rem;font-weight:500;color:var(--muted)} .askplans p{margin:6px 0 0;max-width:none}
.askapp{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;height:calc(100dvh - var(--ask-top, 150px) - 12px);min-height:420px}
.askside{display:flex;flex-direction:column;gap:10px;min-height:0;border-right:1px solid var(--line);padding-right:14px}
.askside .newconv{justify-content:center}
.convlist{list-style:none;margin:0;padding:0;overflow:auto;flex:1;display:flex;flex-direction:column;gap:2px}
.convlist a{display:block;padding:7px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .convlist a:hover{background:var(--surface-2)} .convlist a.on{background:var(--surface-2);color:var(--ink);font-weight:600}
.sidefoot{display:flex;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
.askmain{display:flex;flex-direction:column;min-height:0;min-width:0}
.askbar{display:flex;justify-content:space-between;gap:8px} .askbar button{padding:6px 12px;font-size:.85rem} #toggleSide{visibility:hidden}
.thread{flex:1;overflow:auto;display:flex;flex-direction:column;gap:18px;padding:12px 4px 20px}
.msg{max-width:780px;width:100%;margin-inline:auto}
.msg.user .body{background:var(--surface-2);border-radius:14px;padding:10px 14px;white-space:pre-wrap;margin-left:auto;max-width:85%;width:fit-content}
.msg.assistant .body{line-height:1.6} .msg.assistant .body>*:first-child{margin-top:0} .msg.assistant .body p,.msg.assistant .body li{max-width:none}
.msg.assistant .body table{border-collapse:collapse;font-size:.9rem;display:block;overflow:auto} .msg.assistant .body th,.msg.assistant .body td{border:1px solid var(--line);padding:5px 8px;text-align:left}
.msg .next{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px} .msg .next:empty,#thread>.msg:not(:last-child) .next{display:none}
.msg .next span{font-size:.8rem;color:var(--muted);width:100%}
.msg .next button{font:inherit;font-size:.9rem;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 14px;cursor:pointer;max-width:100%}
.msg .next button:hover{border-color:var(--accent);background:var(--surface-2)}
.msg.assistant .body pre{background:var(--surface-2);padding:10px 12px;border-radius:8px;overflow:auto} .msg.assistant .body code{font-size:.88em}
.activity{font-size:.82rem;color:var(--muted);margin-bottom:6px} .activity summary{cursor:pointer} .activity ul{margin:6px 0 0;padding-left:18px}
.msg.writing .activity summary::after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--accent);animation:pulse 1s infinite}
.mfoot{display:flex;gap:6px;margin-top:6px} .mfoot button{padding:3px 10px;font-size:.78rem} .mfoot .err{color:#b3261e;font-size:.9rem}
.dots{display:inline-flex;gap:4px} .dots i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:pulse 1.2s infinite} .dots i:nth-child(2){animation-delay:.2s} .dots i:nth-child(3){animation-delay:.4s}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.dots i,.msg.writing .activity summary::after{animation:none}}
.welcome{max-width:780px;margin:auto;text-align:center;display:flex;flex-direction:column;gap:18px}
.starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ask .starter{background:var(--surface);color:var(--ink-2);border:1px solid var(--line);font-weight:500;text-align:left;font-size:.9rem;padding:12px 14px} .ask .starter:hover{border-color:var(--accent);color:var(--ink)}
.compose{max-width:780px;width:100%;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.compose.drop{border-color:var(--accent);border-style:dashed}
.compose textarea{font:inherit;border:0;background:none;color:var(--ink);resize:none;outline:none;min-height:26px;max-height:240px;padding:4px 2px}
.composebar{display:flex;align-items:center;gap:10px} .composebar #send{margin-left:auto} .composebar #attach{padding:0;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:0;background:none;color:var(--muted)}
.composebar #attach svg{width:19px;height:19px} .composebar #attach:hover{color:var(--ink);background:var(--surface-2)}
.askdisc{max-width:780px;width:100%;margin:6px auto 0;text-align:center;font-size:.72rem;color:var(--muted)}
.files{display:flex;flex-wrap:wrap;gap:6px} .files:empty{display:none}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;padding:3px 4px 3px 10px;border-radius:999px;background:var(--surface-2)} .chip.error{color:#b3261e}
.ask .chip button{background:none;color:var(--muted);padding:0 6px;font-size:1rem}
.compose .note{margin:4px 0 0;padding:8px 12px}
@media (max-width:820px){
  .askapp{grid-template-columns:1fr;height:calc(100dvh - var(--ask-top, 130px) - 8px);min-height:360px}
  .askside{display:none} body.sidebar .askside{display:flex;position:fixed;inset:0 25% 0 0;z-index:20;background:var(--ground);padding:16px;border-right:1px solid var(--line);box-shadow:0 0 40px rgba(0,0,0,.2)}
  #toggleSide{visibility:visible} .starters,.askplans{grid-template-columns:1fr} .composebar span{display:none}}
.acct{max-width:880px;display:flex;flex-direction:column;gap:18px}
.acctgrid{display:flex;flex-direction:column;gap:16px}
.acctcard h2{font-size:1.15rem}
.planhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap} .planhead b{font-family:var(--display);font-size:1.5rem;display:block}
.pill{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-2)} .pill.bad{background:#fbe3e1;color:#8c1d18}
.meter{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden} .meter .fill{display:block;height:100%;background:var(--accent);border-radius:999px} .meter .fill.warm{background:#c98a14} .meter .fill.hot{background:#b3261e}
.meterrow{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;flex-wrap:wrap}
.acct .seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.acct .seg .opt{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;text-align:left;font-weight:500}
.acct .seg .opt:hover{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}
.acct .seg .opt[aria-checked="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface)}
.seg .radio{flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;border:2px solid var(--line)} .seg .opt[aria-checked="true"] .radio{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 4px,transparent 5px)}
.seg .otext{display:flex;flex-direction:column;gap:4px} .seg .oname{font-weight:600;display:flex;align-items:center;gap:8px}
.seg .oprice{font-size:.85rem;color:var(--muted)} .seg .oprice b{font-family:var(--display);font-size:1.35rem;color:var(--ink);margin-right:2px}
.badge{font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}
.planfor{margin:0;max-width:none} .planfor b{font-family:var(--display);font-size:1.1rem;margin-right:6px}
.btnrow.cta{margin-top:4px} .btnrow.cta .small{flex:1 1 220px}
.acctcard.pending{background:var(--surface-2);border-style:dashed} .acctcard.pending h2{color:var(--muted)}
.profile{display:flex;flex-direction:column;gap:12px} .profile label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.profile input:not([type=checkbox]),.acct .subrow input{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px}
.profile .row3{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,.7fr) minmax(0,1fr);gap:10px} .profile .row3 label{min-width:0}
.profile input:not([type=checkbox]),.profile select{width:100%;min-width:0;box-sizing:border-box}
.profile label.check{flex-direction:row;align-items:center;gap:10px;font-weight:500;color:var(--ink)} .profile label.check input{width:17px;height:17px;accent-color:var(--accent)}
.profile label[hidden]{display:none}
.profile fieldset.use{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px} .profile fieldset.use legend{font-size:.85rem;font-weight:600;color:var(--ink-2);padding:0;margin-bottom:6px}
.profile label.check input[type=radio]{width:17px;height:17px;accent-color:var(--accent)}
.topicstate{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.topicstate li{display:flex;justify-content:space-between;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:.9rem;color:var(--muted)} .topicstate li.on{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))} .topicstate em{font-style:normal;font-size:.8rem;font-weight:600} .topicstate li.on em{color:var(--accent)}
.alertgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px}
.alertgrid label.alert{display:flex;gap:10px;align-items:flex-start;padding:7px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--surface);align-items:center}
.alertgrid label.alert:hover{border-color:var(--accent)} .alertgrid label.alert.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.alertgrid input{width:15px;height:15px;margin:0;accent-color:var(--accent);flex:none}
.alertgrid span{display:flex;flex-direction:column;line-height:1.25;min-width:0} .alertgrid b{font-weight:600;font-size:.86rem} .alertgrid small{font-size:.74rem;color:var(--muted)}
@media (max-width:860px){.alertgrid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:520px){.alertgrid{grid-template-columns:1fr}}
.mcplist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px} .mcplist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)} .mcplist li span{display:flex;flex-direction:column} .mcplist button{padding:5px 12px;font-size:.82rem}
.mcpnew{background:var(--surface-2);border-radius:10px;padding:12px} .mcpnew input{font-family:ui-monospace,monospace;font-size:.8rem!important}
.acct .subrow{margin:0} .acct .subrow input{flex:1 1 240px}
@media (max-width:600px){.profile .row3,.seg,.topicstate{grid-template-columns:1fr}}
.acctcard.advanced{gap:0;display:block} .acctcard.advanced:not([open]){padding-block:14px}   /* a details element: its children are spaced by their own margins, not a flex gap (which a details box does not lay out reliably) */ .acctcard.advanced summary{cursor:pointer;font-weight:600;color:var(--ink-2);font-size:.95rem} .acctcard.advanced summary:hover{color:var(--accent)}
.mcplist:empty{display:none}
.acctcard.advanced summary .badge{margin-left:6px;vertical-align:1px}
.mcpintro{margin:20px 0 0;color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.mcpsteps{margin:12px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:8px;line-height:1.5}
.acctcard.advanced .mcplist{margin:22px 0 0} .acctcard.advanced .mcplist li{padding:12px 0;border-top:1px solid var(--line);border-bottom:0} .acctcard.advanced .mcplist li:last-child{border-bottom:1px solid var(--line)}
.acctcard.advanced #mcpForm{margin-top:22px}
.mcpnote{margin:10px 0 0}
.acctcard.advanced .mcpnew{margin-top:14px}
.tip{position:relative;display:inline-block}
.acct .tipbtn,.tipbtn{background:none;border-radius:0;display:inline;border:0;padding:0;font:inherit;font-size:.88rem;font-weight:500;color:var(--accent);text-decoration:underline dotted;text-underline-offset:3px;cursor:help}
.acct .tipbtn:hover,.tipbtn:hover{background:none;color:var(--accent)}
.tipbox{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:min(340px,80vw);padding:12px 14px;border-radius:10px;background:var(--ink);color:var(--ground);font-size:.86rem;line-height:1.5;box-shadow:0 8px 24px rgb(0 0 0/.18);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}
.tip:hover .tipbox,.tip:focus-within .tipbox,.tip.open .tipbox{opacity:1;visibility:visible;transform:none}
.askplans .panel.mine{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.acctcard.pending .alertgrid label.alert{cursor:default;opacity:.6} .acctcard.pending .alertgrid label.alert:hover{border-color:var(--line)}
.grouplbl{margin:10px 0 -4px;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.topiclist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.topiclist li{display:flex;flex-direction:column;gap:1px} .topiclist b{font-weight:600} .topiclist em{font-style:normal;font-size:.78rem;color:var(--muted)} .topiclist span{font-size:.88rem;color:var(--ink-2)}
.subscribe .btnrow{display:flex;gap:10px;flex-wrap:wrap} .subscribe a.btnlink{font-size:1rem;padding:11px 20px}
.upsell{flex-direction:row!important;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap} .upsell b{font-family:var(--display);font-size:1.1rem} .upsell p{margin:2px 0 0;max-width:none}
@media (max-width:600px){.topiclist{grid-template-columns:1fr}}
.alertgrid label.alert{margin:0}

/* Ask the Village: sign-up beside a sample conversation */
.askintro{max-width:none!important;display:flex;flex-direction:column;gap:32px}
.askintro .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:start}
.askleft{display:flex;flex-direction:column;gap:18px;container-type:inline-size}
.promo{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:0;   /* stretches to the left column's height (the split aligns items stretch), no taller */padding:36px 28px 18px;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px -24px rgba(20,27,34,.35);background:linear-gradient(180deg,#f2f5f4,#e9eeec);text-align:center;overflow:hidden}
.promoin{margin:auto 0;padding:24px 0}
.promo .eyebrow{justify-content:center;margin-bottom:16px}
.promoh{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.01em;margin:0 0 20px;max-width:none;color:var(--ink);text-wrap:balance;height:calc(3 * 1.12em);display:flex;flex-direction:column;justify-content:center;overflow:hidden}   /* three lines reserved whatever is typed, the text centred in them: the card and the ticker never move */
.promoh .typed{color:var(--accent)} .pcaret{display:inline-block;width:2px;height:.95em;margin-left:3px;vertical-align:-.12em;background:var(--ink);animation:pblink 1s steps(1) infinite}
@keyframes pblink{50%{opacity:0}} @media (prefers-reduced-motion:reduce){.pcaret{animation:none}}
.promosub{max-width:34ch;margin:0 auto;font-size:1rem;line-height:1.55;color:var(--ink-2)}
.promobox{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px 12px;box-shadow:0 8px 24px -16px rgba(20,27,34,.3)}
.promochip{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;margin-bottom:10px} .promochip b{color:var(--ink);font-weight:600}
.promoask{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.92rem} .promoask span{flex:1} .promoask b{background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:7px 14px;font-size:.85rem}
.demo{position:sticky;top:20px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px -24px rgba(20,27,34,.35);height:min(680px,calc(100dvh - 60px));overflow:hidden}
.demobar{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:.9rem}
.demobar .dots{display:inline-flex;gap:5px} .demobar .dots i{width:9px;height:9px;border-radius:50%;background:var(--line);animation:none;opacity:1}
.demotag{margin-left:auto;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.demochips{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px 12px;border-bottom:1px solid var(--line)}
.ask .demochips button{background:var(--surface);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:600}
.ask .demochips button[aria-selected="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
@media (max-width:480px){.demochips{padding:10px 12px;gap:5px}.ask .demochips button{padding:4px 9px;font-size:.76rem}}
.demothread{flex:1;overflow:auto;padding:20px 18px 18px;display:flex;flex-direction:column;gap:14px;font-size:.92rem}
.demothread .msg{max-width:none}
.demoplace{margin:0 0 -6px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.demothread .msg.assistant .body h1{font-size:1.2rem} .demothread .msg.assistant .body h2{font-size:1.05rem;margin-top:16px} .demothread .msg.assistant .body table{font-size:.8rem}
.democompose{display:flex;align-items:center;gap:10px;margin:0 14px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:.85rem}
.democompose span{flex:1} .democompose b{background:var(--accent);color:var(--accent-ink);border-radius:8px;padding:5px 12px;font-size:.8rem;opacity:.55}
@media (max-width:980px){.askintro .split{grid-template-columns:1fr}.demo{position:static;height:560px}.promo{min-height:460px}}
.demosteps{font-size:.82rem;color:var(--muted);margin-bottom:8px}
.demosteps summary{display:flex;align-items:center;gap:8px;min-height:1.6em;line-height:1.6;cursor:pointer;list-style:none;min-width:0}
.demosteps summary::-webkit-details-marker{display:none}
.demosteps .stepnow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.demosteps .stepnow.in{animation:stepin .25s ease-out}
.demosteps .dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--line)}
.demosteps.working .dot{background:var(--accent);animation:pulse 1s infinite}
.demosteps.done summary::before{content:"";flex:none;width:0;height:0;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .15s}
.demosteps.done[open] summary::before{transform:rotate(90deg)} .demosteps.done .dot{display:none}
.demosteps:not(.done){pointer-events:none}
.demosteps ul{margin:6px 0 0;padding-left:18px}
@keyframes stepin{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.demosteps .stepnow.in,.demosteps.working .dot{animation:none}}
.demothread .msg,.demosteps{min-width:0;max-width:100%} .demothread{overflow-x:hidden}
.demothread .msg.assistant .body{overflow-wrap:anywhere}

/* sign-in window (auth.js) */
.authdlg{border:0;border-radius:16px;padding:28px 28px 20px;width:min(420px,calc(100vw - 32px));background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px rgba(20,27,34,.45)}
.authdlg::backdrop{background:rgba(20,27,34,.45);backdrop-filter:blur(2px)}
.authx{position:absolute;top:10px;right:12px;border:0;background:none;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px}
.authx:hover{color:var(--ink)}
.authbrand{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.authbrand::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--brand)}
.authdlg h2{font-size:1.4rem;margin:0 0 6px}
.authnote{color:var(--ink-2);font-size:.92rem;margin:0 0 12px;max-width:none}
.authdlg form{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.authdlg label{display:flex;flex-direction:column;gap:5px;font-size:.85rem;font-weight:600;color:var(--ink-2)}
.authdlg label small{font-weight:400;color:var(--muted);font-size:.78rem}
.authdlg input{font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.authdlg input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.authdlg button[type=submit]{font:inherit;font-weight:700;font-size:1rem;padding:11px 18px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer;margin-top:4px}
.authdlg button[type=submit]:disabled{opacity:.6;cursor:default}
.authdlg button.link{font:inherit;background:none;border:0;padding:0;color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.authalt{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.88rem;color:var(--ink-2);margin:14px 0 0;max-width:none}
.authalt span{margin-left:auto}
.autherr{min-height:1.2em;margin:10px 0 0;font-size:.88rem;color:#b3261e;max-width:none} .autherr.ok{color:var(--accent)} .autherr:empty{display:none}
.authfine{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);max-width:none}

/* plan tiles on Ask the Village: three in a row, Individual chosen by default */
.askplans{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px}
.ask .plantile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px;font-weight:400;cursor:pointer}
.ask .plantile:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.ask .plantile[aria-checked="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.plantile b{font-family:var(--display);font-size:1.6rem;line-height:1.1} .plantile b small{font-family:var(--body);font-size:.8rem;font-weight:500;color:var(--muted)}
.plantile .pinc{font-size:.84rem;font-weight:600;color:var(--ink);margin-top:4px}
.plantile .pdesc{font-size:.78rem;color:var(--muted);line-height:1.4}
@media (max-width:520px){.askplans{grid-template-columns:1fr!important}}

/* home page: Shorewood first, then the invitation; plans below */
.homebrief{font-size:clamp(1.15rem,1.6vw,1.35rem);color:var(--ink);font-weight:500;margin:-4px 0 2px}
.mailmock{margin-top:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px -28px rgba(20,27,34,.35);padding:16px 18px 14px;max-width:560px}
.mailhead{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.82rem;color:var(--ink-2)}
.mailfrom{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)} .mailfrom i{width:18px;height:18px;border-radius:50%;background:var(--accent);display:inline-block}
.mailtag{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-radius:999px;padding:4px 10px;white-space:nowrap}
.mailsubj{font-family:var(--display);font-weight:700;font-size:1.12rem;margin:12px 0 10px;color:var(--ink)}
.mailrows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mailrows li{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:.95rem;line-height:1.4;color:var(--ink-2)} .mailrows li span{display:flex;flex:1;justify-content:space-between;align-items:baseline;gap:12px} .mailrows li b{color:var(--ink);font-weight:600} .mailrows li em{font-style:normal;font-size:.82rem;color:var(--muted);white-space:nowrap}
.mailrows svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--accent)}
@media (max-width:480px){.mailmock{padding:14px 14px 12px}.mailrows li{font-size:.88rem}}
@keyframes rsweep{to{transform:translate(-50%,-50%) rotate(360deg)}}
.glyphs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;max-width:520px}
.glyphs div{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.glyphs svg{width:40px;height:40px;color:var(--accent)} .glyphs b{font-family:var(--display);font-size:1.05rem;font-weight:700;color:var(--ink)}
.homephoto{position:relative;margin:0;border-radius:16px;overflow:hidden;aspect-ratio:16/7;background:var(--surface-2)}
.homephoto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.homephoto figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;font-size:.78rem;font-weight:600;letter-spacing:.03em;color:#fff;background:linear-gradient(transparent,rgba(10,16,20,.72))}
.homeh1{font-size:clamp(2.2rem,4.4vw,3.4rem);letter-spacing:-.02em;margin-top:6px}
.homefacts{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,5cqi,40px);font-size:clamp(.7rem,2.9cqi,1rem);color:var(--ink-2);white-space:nowrap} /* one line of three: the type follows the column width (container units); they wrap only on phones */
.homefacts b{font-family:var(--display);font-size:clamp(.9rem,3.7cqi,1.3rem);color:var(--accent);margin-right:4px}
@container (max-width:400px){.homefacts{flex-wrap:wrap;gap:8px 24px;font-size:.9rem;white-space:normal}.homefacts b{font-size:1.15rem}}
.homenote{margin:-4px 0 0} .homenote a{font-weight:600}
.plansec{display:flex;flex-direction:column;gap:14px;max-width:880px}
.plansec h2{font-size:1.5rem}

/* home, revised: headline first, then the invitation, proof and the photo below */
.askleft .homephoto{aspect-ratio:16/6;margin-top:4px}
.trustline{margin:0;font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:7px;max-width:none}
.trustline::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.askleft .homeh1{margin-top:0}
.howit ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:step}
.howit li{counter-increment:step;display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.howit li::before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.85rem;margin-bottom:4px}
.howit b{font-family:var(--display);font-size:1.05rem} .howit span{font-size:.88rem;color:var(--ink-2)}
.plantile .lbl{display:flex;align-items:center;gap:6px} .plantile .lbl .badge{font-size:.62rem;letter-spacing:.02em;text-transform:none}
.freeleft{margin:0 0 4px;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-size:.92rem;max-width:none}
/* the demo box ends with the left column: the row's height comes from the left side only */
.askintro .split{align-items:stretch}
.askintro .split .demo{position:relative;top:auto;height:0;min-height:max(100%,480px)}
@media (max-width:980px){.askintro .split .demo{height:540px;min-height:0}.howit ol{grid-template-columns:1fr}}

/* credit packs (Account) */
.packs{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:.92rem}
.packs th{text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 12px}
.packs td{padding:11px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.packs td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px;width:34px} .packs td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}
.packs tr[role=radio]{cursor:pointer} .packs tr[role=radio]:hover td{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.packs tr[aria-checked="true"] td{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.packs .radio{display:block;width:16px;height:16px;border-radius:50%;border:2px solid var(--line)}
.packs tr[aria-checked="true"] .radio{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 3.5px,transparent 4.5px)}
.packs b{font-family:var(--display);font-size:1.1rem}
.creditsdlg{width:min(520px,calc(100vw - 32px))} .creditsdlg .packs td{padding:10px} .creditsdlg .paybtn{width:100%;font:inherit;font-weight:700;font-size:1rem;padding:12px 18px;border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer;margin-top:6px}
.creditsdlg .paybtn:disabled{opacity:.6}
.freeuse{display:flex;flex-direction:column;gap:10px;padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.billcard{display:flex;flex-direction:column;gap:2px}
.billtop{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.acct button.small{padding:7px 14px;font-size:.85rem}
.paylist{list-style:none;margin:4px 0 0;padding:0;border-top:1px solid var(--line)}
.paylist li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.paylist li:last-child{border-bottom:0;padding-bottom:0}
.paylist li>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0} .paylist b{font-weight:600;font-size:.95rem}
.paylist small{font-size:.82rem} .paylist .bad{color:#8c1d18}
.payamt{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.payamt a{font-size:.8rem;font-weight:500;color:var(--muted)} .payamt a:hover{color:var(--accent)}
.outbar{margin:0 0 4px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,#c98a14 14%,var(--surface));font-size:.88rem;max-width:none} .outbar a{font-weight:700}

/* chat, tightened */
/* the chat fills the screen below wherever it starts (--ask-top, measured by ask.js), so the composer is always in view */
.askapp{gap:0;height:calc(100dvh - var(--ask-top, 150px) - 12px);min-height:420px}
.askside{padding-right:16px;gap:8px}
.convhead{margin:8px 0 0;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.convlist{gap:1px} .convlist a{padding:6px 10px;font-size:.88rem}
.askmain{padding-left:24px}
.askbar{align-items:center;gap:10px;min-height:36px;border-bottom:1px solid var(--line);padding-bottom:8px}
.convtitle{flex:1;min-width:0;font-family:var(--body);font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
#toggleSide{padding:4px 10px}
.thread{padding:18px 4px 16px;gap:16px}
.thread.empty{justify-content:flex-start}
.thread.empty .welcome{margin:7vh auto 0}
.welcome h2{font-size:1.5rem}
.usecard{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.8rem;color:var(--ink-2)}
.userow{display:flex;justify-content:space-between;gap:8px} .userow b{color:var(--ink);font-size:.85rem} .userow span:last-child{color:var(--muted)}
.usebar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden} .usebar span{display:block;height:100%;background:var(--accent);border-radius:999px}
.usebar span.warm{background:#c98a14} .usebar span.hot{background:#b3261e}
.useact{display:flex;gap:6px;margin-top:2px}
.ask .useact button,.ask .useact a{flex:1;justify-content:center;font-size:.78rem;padding:6px 8px;border-radius:7px;text-decoration:none;background:none;color:var(--ink-2);border:1px solid var(--line);font-weight:600;display:inline-flex}
.ask .useact button:hover,.ask .useact a:hover{border-color:var(--accent);color:var(--accent)}
.composebar span{font-size:.72rem}
@media (max-width:820px){.askmain{padding-left:0}}
html.signed .ask [data-view="intro"]{display:none}   /* signed in: never paint the introduction before the chat */
.creditsdlg .planpick{display:grid;grid-template-columns:1fr;gap:8px;margin:8px 0 4px}
.creditsdlg .planpick .plantile{display:grid!important;grid-template-columns:1fr auto;column-gap:12px;align-items:baseline}
.creditsdlg .planpick .plantile .pdesc{grid-column:1/-1}.creditsdlg .planpick .plantile b+.pdesc{grid-column:auto}
.creditsdlg .planpick .plantile{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:var(--surface)}
.creditsdlg .planpick .plantile[aria-checked="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.creditsdlg .planpick .plantile:hover{border-color:var(--accent)}
.creditsdlg a.paybtn{display:block;text-align:center;text-decoration:none}
@media (max-width:520px){.creditsdlg .planpick{grid-template-columns:1fr}}
.askbar:has(.convtitle:empty){border-bottom:0;min-height:0;padding:0} @media (min-width:821px){.askbar:has(.convtitle:empty){display:none}}
.convtitle{cursor:text} .convtitle:hover{color:var(--ink)}
.renin{width:100%;font:inherit;font-size:.95rem;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--accent);border-radius:6px;padding:4px 8px;outline:none}
/* plan card: room between the name, the bar and the buttons */
#acctPlan{display:flex;flex-direction:column;gap:12px}
#acctPlan .planhead{align-items:center} #acctPlan .planhead b{font-size:1.35rem;display:inline;margin-right:8px}
#acctPlan .meterrow{margin-top:-4px;font-size:.88rem}
#acctPlan .btnrow{margin-top:4px}
.planswitch{margin-top:6px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.planswitch p{margin:0 0 10px;max-width:none;font-size:.92rem}

/* About: one readable column, ordinary paragraph spacing, the key numbers as three figures */
.aboutpage{display:flex;flex-direction:column;gap:0}
.aboutpage header{padding-bottom:36px}
.aboutpage h1{margin-bottom:14px}
.aboutpage .lead{font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6;color:var(--ink-2);margin:0;max-width:none}
.aboutfigs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 44px}
.aboutfigs div{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.aboutfigs b{font-family:var(--display);font-size:clamp(2rem,3.4vw,2.8rem);line-height:1;color:var(--accent);letter-spacing:-.02em}
.aboutfigs span{font-size:.92rem;color:var(--ink-2);line-height:1.45}
.aboutpage section{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.6fr);gap:12px 48px;padding:28px 0;border-top:1px solid var(--line)}
.aboutpage section>div{display:flex;flex-direction:column;gap:12px;max-width:46em}
.aboutpage h2{font-size:1.2rem;margin:0;line-height:1.35}
.aboutpage p{margin:0;line-height:1.7;max-width:none;color:var(--ink-2)}
.aboutsrc{font-size:.78rem!important;color:var(--muted)!important;border-top:1px solid var(--line);padding-top:18px}
@media (max-width:760px){.aboutpage section{grid-template-columns:1fr;gap:10px;padding:22px 0}.aboutfigs{grid-template-columns:1fr;margin-bottom:28px}}

.profile input:disabled{background:var(--surface-2);color:var(--ink-2);border-color:transparent;cursor:default;-webkit-text-fill-color:var(--ink-2);opacity:1}
.profile input:disabled{opacity:1}
.planbilling{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.planbilling .billtop b{color:var(--ink)} .paylbl{margin:6px 0 0}
.profile select{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px}
.profile select:disabled{background:var(--surface-2);color:var(--ink-2);border-color:transparent;opacity:1;-webkit-text-fill-color:var(--ink-2);appearance:none}
.profile label small{font-weight:400;font-size:.78rem;margin-top:2px}
.aboutpage.legal section>div p{margin:0 0 10px} .aboutpage.legal section>div p:last-child{margin:0}
.authnote.small{font-size:.78rem;margin:8px 0 0}
.authnote.small+.authnote.small{margin-top:-7px}   /* the sign-up form is a flex column with a 12px gap: two notes in a row sit 5px apart */
#acctPlan .freeuse .planhead .lbl{display:block;margin-bottom:2px}
.authdlg label.optin{flex-direction:row;align-items:flex-start;gap:9px;font-weight:400;font-size:.84rem;line-height:1.45;color:var(--ink-2);margin:2px 0 4px}
.authdlg label.optin input{width:17px;height:17px;margin-top:2px;flex:none;accent-color:var(--accent)}
/* sales intake (data administrators) */
.dropzone{display:block;margin:16px 0;padding:28px 16px;border:2px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted);cursor:pointer}
.dropzone.over,.dropzone:hover{border-color:var(--accent);color:var(--ink)}
.dropzone input{display:block;margin:10px auto 0;max-width:100%}
.inboxlist{list-style:none;padding:0}.inboxlist li{padding:10px 0;border-top:1px solid var(--line)}.inboxlist li.ok b{color:var(--ink)}
.inboxlist form.hint{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.inboxlist form.hint input{flex:1;min-width:200px}
#salesResults{margin:8px 0 0;padding-left:18px;color:var(--ink-2)}

/* ---- home: the story band (how it works) ---------------------------------------------------------------- */
html,body{overflow-x:clip}
.eyebrow{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.story{--s-ink:#f3f7f5;--s-mute:#b5ccc5;--s-card:rgba(255,255,255,.07);--s-line:rgba(255,255,255,.14);--s-glow:#7fd3b9;
  margin:56px calc(50% - 50vw) 0;padding:72px 16px 64px;color:var(--s-ink);position:relative;isolation:isolate;
  background:radial-gradient(1200px 500px at 85% -10%,rgba(127,211,185,.18),transparent 60%),
             radial-gradient(900px 420px at 0% 110%,rgba(255,255,255,.07),transparent 60%),
             linear-gradient(160deg,#245750 0%,#183f39 55%,#10302b 100%)}
.story::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:44px 44px;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)}
.storyin{max-width:1180px;margin:0 auto}
.story .eyebrow{color:var(--s-glow)}
.story h2{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12;margin:10px 0 12px;max-width:22ch;color:#fff;letter-spacing:-.01em}
.storysub{margin:0;max-width:62ch;color:var(--s-mute);font-size:1.02rem;line-height:1.55}
.stages{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;position:relative}
.stages::before{content:"";position:absolute;left:8%;right:8%;top:15px;height:2px;
  background:repeating-linear-gradient(90deg,var(--s-line) 0 6px,transparent 6px 12px)}
.stage{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
.stagenum{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  font-size:.78rem;font-weight:700;background:#183f39;border:1.5px solid var(--s-line);color:var(--s-mute);margin-bottom:10px;transition:all .4s}
.stage.on .stagenum,.stage.done .stagenum{background:var(--s-glow);border-color:var(--s-glow);color:#10302b}
.stage.on .stagenum{box-shadow:0 0 0 6px rgba(127,211,185,.18),0 0 24px rgba(127,211,185,.45)}
.stage>b{font-family:var(--display);font-size:1.18rem;color:#fff}
.stagetxt{color:var(--s-mute);font-size:.92rem;line-height:1.45;min-height:2.9em}
.vig{margin-top:14px;height:208px;border-radius:16px;padding:16px;background:var(--s-card);border:1px solid var(--s-line);
  backdrop-filter:blur(6px);overflow:hidden;transition:border-color .4s,transform .4s,box-shadow .4s;display:flex;flex-direction:column}
.stage.on .vig{border-color:rgba(127,211,185,.55);transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}
.vigask{justify-content:flex-end}
.vigq{align-self:flex-end;max-width:92%;background:#fff;color:#141b22;padding:12px 14px;border-radius:16px 16px 4px 16px;font-size:.98rem;line-height:1.4;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.5);min-height:1.4em}
.caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-2px;background:#245750;animation:blink 1s steps(1) infinite}
.stage:not(.on) .caret{opacity:0}
@keyframes blink{50%{opacity:0}}
.vighead{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--s-glow);margin-bottom:10px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--s-glow);box-shadow:0 0 0 0 rgba(127,211,185,.6)}
.stage.on .pulse{animation:ring 1.2s infinite}
@keyframes ring{70%{box-shadow:0 0 0 8px rgba(127,211,185,0)}100%{box-shadow:0 0 0 0 rgba(127,211,185,0)}}
#storySteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1;overflow:hidden}
#storySteps li{font-size:.8rem;color:var(--s-ink);padding:6px 9px 6px 26px;border-radius:8px;background:rgba(255,255,255,.06);position:relative;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
#storySteps li.in{opacity:1;transform:none}
#storySteps li::before{content:"";position:absolute;left:9px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:2px;border:1.5px solid var(--s-glow)}
#storySteps li:not(:last-child)::before{background:var(--s-glow)}
.vigbar{height:3px;border-radius:3px;background:rgba(255,255,255,.1);margin-top:10px;overflow:hidden}
.vigbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--s-glow),#fff);transition:width .6s ease}
.vigans{background:#fff;color:#141b22;border-color:transparent}
.stage.on .vigans{border-color:transparent}
.vigans p{margin:0;font-size:.92rem;line-height:1.5;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}
.vigsrc{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.vigsrc span{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:.72rem;font-weight:600;color:#245750;background:#e7f1ee;
  padding:4px 9px 4px 4px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:pop .35s both}
.vigsrc span:nth-child(2){animation-delay:.12s}.vigsrc span:nth-child(3){animation-delay:.24s}
.vigsrc i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#245750;color:#fff;font-size:.66rem;flex:none}
@keyframes pop{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
.promises{list-style:none;margin:48px 0 0;padding:28px 0 0;border-top:1px solid var(--s-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.promises li{display:flex;flex-direction:column;gap:4px}
.promises b{font-family:var(--display);color:#fff;font-size:1rem}
.promises span{color:var(--s-mute);font-size:.88rem;line-height:1.45}
@media (max-width:900px){.stages,.promises{grid-template-columns:1fr}.stages::before{display:none}.stagetxt{min-height:0}.vig{height:auto;min-height:150px}
  .story{padding:56px 16px 48px;margin-top:40px}}
@media (prefers-reduced-motion:reduce){.vig,.stagenum,#storySteps li,.vigbar span{transition:none}.caret,.pulse,.vigsrc span{animation:none}}

/* ---- home: plans ------------------------------------------------------------------------------------------ */
.ask .plansec{max-width:1180px;margin:0 auto;padding:72px 0 24px;gap:22px}
.planshead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ask .plansec h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:8px 0 8px;letter-spacing:-.01em}
.plansub{margin:0;color:var(--ink-2);max-width:56ch}
.billtoggle{display:inline-flex;padding:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.billtoggle button{background:none;border:0;color:var(--ink-2);font-weight:600;font-size:.86rem;padding:8px 16px;border-radius:999px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.billtoggle button[aria-checked="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.billtoggle em{font-style:normal;font-size:.7rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 7px;border-radius:999px}
.ask .plansec .askplans{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px;align-items:stretch;margin-top:8px}
@media (max-width:1180px){.ask .plansec .askplans{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.ask .plansec .plantile{position:relative;display:flex;flex-direction:column;gap:6px;padding:26px 24px 24px;border-radius:20px;background:var(--surface);
  border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,0,0,.04);cursor:pointer;transition:transform .25s,box-shadow .25s,border-color .25s;outline:none}
.ask .plansec .plantile:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(20,27,34,.35)}
.ask .plansec .plantile:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent)}
.ask .plansec .plantile[aria-checked="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 22px 48px -26px color-mix(in srgb,var(--accent) 70%,transparent);background:var(--surface)}
.ask .plansec .plantile.featured{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface) 45%)}
.ribbon{position:absolute;top:-12px;left:24px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px;
  background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent) 80%,transparent)}
.picon{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);
  background:color-mix(in srgb,var(--accent) 11%,var(--surface));margin-bottom:8px}
.picon svg{width:22px;height:22px}
.plansec .plantile .lbl{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.plansec .price{display:flex;align-items:baseline;gap:2px;margin-top:2px}
.plansec .price b{font-family:var(--display);font-size:2.5rem;line-height:1;letter-spacing:-.02em;color:var(--ink)}
.plansec .price small{font-size:.92rem;color:var(--muted);font-weight:500}
.billnote{font-size:.8rem;color:var(--muted);min-height:1.2em}
.plansec .pinc{font-size:1rem;font-weight:700;color:var(--ink);margin-top:10px}
.feats{list-style:none;margin:8px 0 18px;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px;flex:1}
.feats li{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:var(--ink-2);line-height:1.4}
.feats svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--accent)}
.plancta{width:100%;justify-content:center;padding:12px 16px;border-radius:12px;font-weight:600}
.ask .plancta.quiet{background:var(--surface);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line))}
.ask .plancta.quiet:hover{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.plansfoot{display:flex;align-items:center;gap:8px;margin:6px 0 0;color:var(--muted);font-size:.88rem}
.plansfoot svg{width:16px;height:16px;flex:none;color:var(--accent)}
@media (max-width:700px){.ask .plansec .askplans{grid-template-columns:1fr!important;gap:26px}.ask .plansec .plantile.featured{order:-1}.ask .plansec{padding-top:56px}}
.story .eyebrow::before{background:var(--s-glow)}
/* ---- home: why it matters (the record as the village's heartbeat) --------------------------------------------- */
.whysec{--s-ink:#f3f7f5;--s-mute:#b5ccc5;--s-glow:#7fd3b9;margin:56px calc(50% - 50vw) 0;padding:64px 16px 56px;color:var(--s-ink);position:relative;isolation:isolate;
  background:radial-gradient(900px 420px at 10% -10%,rgba(127,211,185,.16),transparent 60%),linear-gradient(200deg,#10302b 0%,#183f39 55%,#245750 100%)}
.whyin{max-width:1180px;margin:0 auto}
.aboutpage section.whysec.contained{display:block;margin:8px 0 44px;padding:44px 32px 40px;border:0;border-radius:16px;isolation:isolate}   /* not the About page's two-column section grid */
.aboutpage .whysec.contained .whyin{max-width:none} .aboutpage .whysec.contained p.whylead{color:var(--s-mute)} .aboutpage .whysec.contained p.whyline{color:var(--s-ink)}   /* over the About page's paragraph colour */ .aboutpage .whysec.contained h2{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12}
@media (max-width:700px){.aboutpage section.whysec.contained{margin:4px 0 32px;padding:36px 18px 30px;border-radius:12px}}
.whysec .eyebrow{color:var(--s-glow)} .whysec .eyebrow::before{background:var(--s-glow)}
.whysec h2{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12;margin:10px 0 12px;max-width:22ch;letter-spacing:-.01em;color:#fff}
.whylead{max-width:72ch;font-size:1.05rem;line-height:1.6;color:var(--s-mute);margin:0 0 26px}
.flow{position:relative;margin:0} .flow canvas{display:block;width:100%;height:190px}
.flowwords{list-style:none;margin:4px 0 0;padding:0 2px;display:flex;justify-content:space-between;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(181,204,197,.42)}
.flowwords li{transition:color .7s,text-shadow .7s} .flowwords li.on{color:#fff;text-shadow:0 0 16px rgba(127,211,185,.95)}
.bignums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:40px 0 0;text-align:center}
.bignums b{display:block;font-family:var(--display);font-size:clamp(2rem,4.2vw,3.2rem);font-weight:700;line-height:1;color:#fff;letter-spacing:-.01em}
.bignums span{display:block;margin-top:8px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--s-mute)}
.whyline{text-align:center;max-width:62ch;margin:24px auto 0;font-size:1.05rem;line-height:1.55;color:var(--s-ink)}
.claims{list-style:none;margin:40px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 40px;font-size:.95rem;line-height:1.45;color:var(--s-mute)}
.claims li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px} .claims b{color:#fff;font-weight:600} .claims a{color:var(--s-glow);text-decoration:none;font-size:.82rem} .claims a:hover{text-decoration:underline}
@media (max-width:700px){.whysec{padding:52px 16px 44px}.bignums{gap:8px}.bignums b{font-size:1.7rem}.bignums span{font-size:.66rem}.claims{grid-template-columns:1fr}.flowwords{font-size:.58rem;letter-spacing:.08em}.flow canvas{height:150px}}
.ask .plansec .plantile[aria-checked="true"] .plancta.quiet{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
/* plan buttons: only the selected card's is solid; the others are outlined */
.ask .plansec .plancta{transition:background-color .15s,color .15s,border-color .15s,transform .1s}
.ask .plansec .plantile[aria-checked="true"] .plancta.quiet:hover{background:color-mix(in srgb,var(--accent) 86%,#000);color:var(--accent-ink)}
.ask .plansec .plancta:active{transform:scale(.98)}
.ask .plansec .plancta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* answers: headings sized for a conversation, not a page */
.msg.assistant .body h1,.msg.assistant .body h2,.msg.assistant .body h3,.msg.assistant .body h4{font-family:var(--display);color:var(--ink);line-height:1.3;letter-spacing:0;margin:22px 0 6px}
.msg.assistant .body h1{font-size:1.2rem} .msg.assistant .body h2{font-size:1.08rem} .msg.assistant .body h3,.msg.assistant .body h4{font-size:.98rem}
.msg.assistant .body p{margin:0 0 12px} .msg.assistant .body ul,.msg.assistant .body ol{margin:0 0 12px;padding-left:22px} .msg.assistant .body li{margin:3px 0}
/* meeting audio in answers */
.msg.assistant .body audio.answeraudio{display:block;width:100%;max-width:520px;margin:6px 0 12px;height:40px}

/* a long packet's guide under its upcoming meeting (index.js guideRow) */
tr.guide td{padding:0 10px 14px;border-top:none}
tr.guide .gbox{background:var(--surface-2);border-radius:10px;padding:10px 14px}
tr.guide .glabel{margin:0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
a.gopen{font-weight:600}
tr.guide .gintro{margin:8px 0 10px;max-width:none}
tr.guide .gitems{margin:0;padding-left:0;list-style:none;display:grid;gap:12px}
tr.guide .gitems li{border-left:3px solid var(--line);padding-left:10px}
tr.guide .ghead{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
tr.guide .gnum{font-size:.75rem;color:var(--muted);min-width:2.2em}
tr.guide .gpages{font-size:.8rem;margin-left:auto}
tr.guide .gitems p{margin:4px 0 0;max-width:none}
tr.guide .gask{font-size:.9rem}
tr.guide .gfig{font-size:.8rem;color:var(--muted)}
tr.guide .gwatch{font-weight:600;margin:12px 0 4px}
tr.guide .gwlist{margin:0 0 8px;padding-left:18px}

/* administration (account/admin, account/sales) */
.adminnav{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px}
.adminnav a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.9rem}
.adminnav a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.admin .kpibar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:4px 0 12px}
.admin .kpibar .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.admin .kpibar .seg button{background:none;border:0;padding:6px 12px;color:var(--ink);font:inherit;font-size:.9rem}
.admin .kpibar .seg button[aria-checked="true"]{background:var(--accent);color:var(--accent-ink)}
.admin .kpibody{overflow-x:auto}
.admin .kpibody table{border-collapse:collapse;font-size:.92rem}
.admin .kpibody th,.admin .kpibody td{padding:5px 8px}

@media (max-width:820px){
  .thread.empty .welcome{margin:2vh auto 0} .welcome h2{font-size:1.25rem}
  .welcome .starters{grid-template-columns:1fr}
  .compose{padding:8px 10px} .askdisc{margin-top:4px}
}
@media (max-height:760px){.thread.empty .welcome{margin-top:2vh} .welcome .starters .starter{padding:10px 12px}}

/* a meeting not yet written up (record.js): its agenda guide and documents */
ul.pend{list-style:none;padding-left:0;margin:6px 0 14px}ul.pend li{margin:10px 0}#brief .sechead{margin-top:22px}

/* email topics: grouped rows, a switch each (site.js VRTopics, gen.py _topic_rows) */
.tlist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;margin:4px 0 6px}
.tlist .tgroup{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px 14px 4px;background:var(--surface-2)}
.tlist .trow{display:flex;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--line);cursor:pointer;margin:0;background:transparent}
.tlist .tgroup+.trow{border-top:0}
.tlist .trow:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.tlist .tname{font-weight:600;color:var(--ink)}
.tlist .twhen{margin-left:auto;font-size:.85rem;color:var(--muted);white-space:nowrap}
.tlist input.switch{appearance:none;-webkit-appearance:none;flex:none;width:38px;height:22px;border-radius:11px;background:var(--line);position:relative;cursor:pointer;margin:0;transition:background .15s}
.tlist input.switch::before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.tlist input.switch:checked{background:var(--accent)}
.tlist input.switch:checked::before{transform:translateX(16px)}
.tlist input.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.subscribe fieldset.topics:has(.tlist){display:block}
.subscribe .topiclist li{display:flex;justify-content:space-between;gap:10px} .subscribe .topiclist li span{display:none}
@media (max-width:480px){.tlist .trow{padding:12px}.tlist .twhen{font-size:.8rem}}
.acctcard.pending .tlist .trow{cursor:default;opacity:.6} .acctcard.pending .tlist .trow:hover{background:transparent}

/* Team (seats) on the Account page */
.tlist.team .mrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;border-top:1px solid var(--line)}
.tlist.team .tgroup+.mrow{border-top:0}
.tlist.team .who{flex:1 1 240px;min-width:0} .tlist.team .who b{display:block;font-weight:600;color:var(--ink)}
.tlist.team .who small{display:block;margin-top:2px;font-size:.85rem;color:var(--muted);line-height:1.4}
.tlist.team .acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto}
.tlist.team .cap{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted);white-space:nowrap}
.tlist.team .cap input{width:68px;font:inherit;font-size:.9rem;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.tlist.team .mrow.open{background:color-mix(in srgb,var(--accent) 3%,var(--surface))}
.tlist.team .mpanel{flex:1 1 100%;display:flex;flex-direction:column;gap:14px;margin-top:6px;padding-top:12px;border-top:1px dashed var(--line)}
.tlist.team .mset{display:flex;flex-direction:column;gap:7px} .tlist.team .mset>b{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.tlist.team label.check{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:var(--ink);cursor:pointer}
.tlist.team label.check input[type=radio]{width:17px;height:17px;margin:0;accent-color:var(--accent)}
.tlist.team label.check small{flex-basis:100%;padding-left:25px;margin-top:-4px;font-size:.84rem;font-weight:400;color:var(--muted)}
.tlist.team label.check input[type=number]{width:76px;font:inherit;font-size:.92rem;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)} .tlist.team label.check input[type=number]:disabled{opacity:.5}
.tlist.team .mpanel .btnrow{gap:10px} .tlist.team .mpanel button.link{font:inherit;font-size:.88rem;font-weight:600;background:none;border:0;padding:0;cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:3px;margin-left:auto}
.tlist.team .mpanel button.link.danger:hover{color:#b3261e}
.tlist.team .mconfirm{background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:.92rem;color:var(--ink-2);line-height:1.5} .tlist.team .mconfirm b{color:var(--ink)} .tlist.team .mconfirm .btnrow{margin-top:10px}
.tlist.team [data-rowmsg]{flex:1 1 100%;margin:0;font-size:.9rem}   /* by attribute: say() rewrites the class */
.tlist.team .mrow.invite .teaminvite{flex:1 1 320px;display:flex;flex-wrap:wrap;gap:8px}
.tlist.team .teaminvite input{flex:1 1 220px;font:inherit;font-size:.95rem;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.tlist.team .mrow.invite .acts{margin-left:0}
.tlist.team .mrow.invite .note{flex:1 1 100%;font-size:.85rem;color:var(--muted)}
.teamplaces{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0}
.planchoice{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}

/* the chat's village picker (Business and Newsroom) */
.picker{position:relative;margin:0 0 6px}
.pickbtn,.ask .pickbtn{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.82rem;font-weight:500;max-width:100%}
.pickbtn b,.ask .pickbtn b{font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}
.pickbtn svg{width:14px;height:14px;flex:none}
.pickmenu{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;display:flex;flex-direction:column;gap:6px;min-width:260px;max-width:min(360px,calc(100vw - 32px));max-height:320px;overflow:auto;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px -14px rgba(20,27,34,.35)}
.pickmenu .pickall{border-top:1px solid var(--line);padding-top:8px;margin-top:2px}
.pickmenu p{margin:4px 0 0}
.alertplace{display:flex;flex-direction:column;gap:4px;margin:0 0 6px;font-size:.85rem;font-weight:600} .alertplace select{max-width:320px}
.ask .pickbtn:hover,.ask .pickbtn[aria-expanded="true"]{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
/* the Meetings page's village picker */
.placepick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0 10px}
.placepick label{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600}
.placepick select{font-size:.95rem;max-width:min(320px,calc(100vw - 110px))}
/* the free plan's upgrade card on the Account page */
.upsell{border-color:var(--line)}   /* same frame as every other account pane (Email alerts, Profile); the chosen plan row inside it carries the accent */
.upsell-plans{list-style:none;margin:12px 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}
.upsell-plans li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.upsell-plans li.picked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.upsell-plans li>div:first-child{flex:1 1 260px;min-width:0} .upsell-plans small{display:block;color:var(--muted);margin-top:2px}
.upsell-cta{display:flex;align-items:center;gap:14px;white-space:nowrap}
.upsell-cta>span{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.upsell-cta>span b{font-size:1.05rem} .upsell-cta>span b.trial{font-size:1.25rem;color:var(--accent)}
.upsell-cta>span small{display:block;margin:0;color:var(--muted);font-size:.78rem;font-weight:500} .upsell-cta>span small.per{display:inline;font-size:.8rem}
/* Account: a menu on the left (a row of tabs on a phone), one section at a time */
.acctlayout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}
.acctlayout[hidden]{display:none}
.acctnav{position:sticky;top:20px;display:flex;flex-direction:column;gap:2px;padding-top:4px}
.acctnav a{display:block;padding:9px 12px;border-radius:9px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem}
.acctnav a:hover{background:var(--surface-2,rgba(0,0,0,.04));color:var(--ink)}
.acctnav a[aria-current="page"]{background:var(--surface);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.acctnav #signOut{margin-top:18px;align-self:flex-start;color:var(--muted)}
.acctgrid>.offpane{display:none!important}
@media (max-width:760px){
  .acctlayout{grid-template-columns:1fr;gap:14px}
  .acctnav{position:static;flex-direction:row;overflow-x:auto;gap:4px;padding:0 0 6px;border-bottom:1px solid var(--line);scrollbar-width:none}
  .acctnav a{white-space:nowrap;padding:8px 12px}
  .acctnav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent);border-radius:0;background:none}
  .acctnav #signOut{margin:0 0 0 auto;white-space:nowrap}}
#rolePitch:not(:empty){display:block;margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--surface-2,rgba(36,87,80,.06));color:var(--ink);font-size:.9rem;font-weight:400;line-height:1.45;border-left:3px solid var(--accent)}
#rolePitch .plus{display:block;margin-top:5px;color:var(--muted);font-size:.82rem}

/* address suggestions under the street field */
.addrlist{position:absolute;left:0;right:0;top:100%;z-index:20;margin:4px 0 0;padding:4px 0;list-style:none;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12);max-height:260px;overflow:auto}
.addrlist li{padding:8px 12px;cursor:pointer;font-size:14px;line-height:1.35}
.addrlist li:hover,.addrlist li.on{background:var(--surface-2)}

/* confirming a seat change, with its price, on the page */
.seatconfirm{margin:6px 0 12px;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);line-height:1.5}
.seatconfirm p{margin:0 0 8px}.seatconfirm .btnrow{margin-top:14px}

/* the villages ticker under the home page picture: live villages first, then those coming soon, in grey */
.ticker{position:relative;overflow:hidden;margin:28px 0 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tkrun{display:flex;width:max-content;animation:tk 60s linear infinite}
.ticker:hover .tkrun{animation-play-state:paused}
.tkset{display:flex;align-items:center;flex-shrink:0}
.tk{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:.84rem;color:var(--muted);padding:0 14px}
.tk+.tk::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--line);margin-right:14px;margin-left:-14px}
.tk.live{color:var(--ink);font-weight:600}
.tk.live i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);animation:tkpulse 2.4s ease-in-out infinite}
.tk.live b{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:1px 7px}
.tklbl{white-space:nowrap;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 4px 0 22px;opacity:.85}
.tklbl+.tk::before{display:none}
@keyframes tk{to{transform:translateX(-50%)}}
@keyframes tkpulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 0%,transparent)}}
@media (prefers-reduced-motion:reduce){.tkrun{animation:none;flex-wrap:wrap;width:auto}.tkrun .tkset+.tkset{display:none}.tkset{flex-wrap:wrap;row-gap:6px}.ticker{-webkit-mask-image:none;mask-image:none}.tk.live i{animation:none}}

/* the Plan pane on Free: what the account has now, above the upgrade */
.nowplan{margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.nowplan b{font-size:1.05rem;margin-right:4px}

/* a Business plan bought without an organization on file: the nudge to finish */
.finishbiz{margin:14px 0 4px;padding:12px 14px;border-left:3px solid var(--accent);border-radius:8px;background:var(--surface-2)}
.finishbiz p{margin:0 0 8px}

.seatfull{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px}.seatfull p{margin:0}
html,body{overflow-x:clip}

/* the plan card's call to action (Free): one clear next step */
.upsell-go{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:16px}
.upsell-go #startPlan{font-size:1rem;padding:12px 22px}
.upsell-go .muted{flex-basis:100%}

/* Ask: a calmer answer (Kurt, 2026-10-11: "enhance the readability of the text in the chat" / "not any less confusing or
   text loaded") — ordinary text size on a short measure, tables without a grid, the footnotes as a small sources line,
   Copy/Download tiny, the follow-ups as chips inside the composer (nothing stacked under the answer), the village in the bar */
.msg.assistant .body{font-size:1rem;line-height:1.62;color:var(--ink)}
.msg.assistant .body p,.msg.assistant .body li{max-width:62ch} .msg.assistant .body p{margin:0 0 14px} .msg.assistant .body strong{font-weight:600}
.msg.assistant .body a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-decoration-thickness:1px;text-underline-offset:3px} .msg.assistant .body a:hover{text-decoration-color:var(--accent)}
.msg.assistant .body sup{font-size:.68em;line-height:0;color:var(--muted)}
.msg.assistant .body p:has(>sup:first-child){font-size:.84rem;line-height:1.5;color:var(--ink-2);margin:16px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.msg.assistant .body p:has(>sup:first-child)+p:has(>sup:first-child){margin-top:4px;padding-top:0;border-top:0}
.msg.assistant .body table{display:block;width:max-content;max-width:100%;overflow:auto;font-size:.95rem;margin:2px 0 16px;font-variant-numeric:tabular-nums}
.msg.assistant .body th,.msg.assistant .body td{border:0;border-bottom:1px solid var(--line);padding:8px 22px 8px 0;vertical-align:top}
.msg.assistant .body th{font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--ink-2)}
.msg.assistant .body tr:last-child td{border-bottom:0}
.msg.user .body{font-size:.98rem}
.msg .mfoot{margin-top:2px;gap:2px}
.ask .mfoot button.quiet{border:0;background:none;color:var(--muted);font-size:.76rem;font-weight:600;padding:3px 7px;border-radius:6px;opacity:.85}
.ask .mfoot button.quiet:first-child{margin-left:-7px}
.ask .mfoot button.quiet:hover{color:var(--ink);background:var(--surface-2);border:0;opacity:1}
.msg .next{display:none}
.suggest{display:flex;flex-wrap:wrap;gap:6px} .suggest:empty{display:none}
.suggest button{font:inherit;font-size:.78rem;font-weight:500;line-height:1.3;color:var(--muted);background:color-mix(in srgb,var(--surface-2) 55%,var(--surface));border:0;border-radius:7px;padding:4px 9px;text-align:left;cursor:pointer;max-width:100%}
.suggest button:hover{background:var(--surface-2);color:var(--ink)}
.compose{padding:12px 14px 10px;gap:8px}
.compose textarea{font-size:1rem;padding:2px 2px 4px}
.composebar .picker{margin:0;margin-right:2px}
.composebar .pickbtn,.ask .composebar .pickbtn{padding:5px 12px 5px 10px;font-size:.84rem}

/* the village finder (placefind.js): a text box that completes against every Wisconsin village and city */
.pf{position:relative;display:inline-block;min-width:min(320px,100%)} .placepick .pf{vertical-align:middle}
.pf input{font:inherit;width:100%;min-width:260px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.pf input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px;border-color:var(--accent)}
.pfl{position:absolute;left:0;top:100%;z-index:40;min-width:100%;max-height:300px;overflow:auto;margin:4px 0 0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px -14px rgba(20,27,34,.35);text-align:left}
.pfl li{padding:7px 10px;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--ink);white-space:nowrap} .pfl li small{margin-left:8px;color:var(--muted);font-weight:400}
.pfl li:hover,.pfl li[aria-selected="true"]{background:var(--surface-2)}
.pfmsg{margin:6px 0 0;font-size:.8rem;line-height:1.4;color:var(--muted)} .pfmsg.ok{color:var(--accent)}
.authform .pf,.authbody .pf{display:block;width:100%} .authbody .pf input{min-width:0}

/* the Meetings page with no village chosen: one question, the finder, one quiet line */
.mlist>.findhome{grid-column:1/-1;justify-self:center;width:100%}   /* the list is a grid: the question spans it */
.findhome{max-width:520px;margin:36px auto 48px;text-align:center} .findhome .pf,.findhome .pf input{min-width:min(420px,100%)}
.findhome h2{font-family:var(--display);font-size:1.5rem;letter-spacing:-.01em;margin:0 0 14px}
.findhome .pf{display:block;width:100%} .findhome .pf input{width:100%;font-size:1.05rem;padding:12px 16px;border-radius:12px}
.findhome p{margin:12px 0 0}
.pfmsg.warn{color:var(--sign);font-weight:600}
/* ---- account: joining Research (an institution and the non-commercial box, no checkout) ---- */
#acctPlan .rfield{display:flex;flex-direction:column;gap:6px;margin:14px 0 10px;font-size:.9rem;font-weight:600}
#acctPlan .rfield input{font-weight:400}
#acctPlan .rterms{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;line-height:1.45;margin:4px 0 14px;font-weight:400}
#acctPlan .rterms input{margin-top:3px;flex:none}
/* ---- account: the Research join card (one step: institution, the non-commercial box, Join) ---- */
#upsellCard .rjoin{margin-top:6px}
#upsellCard .rjoinhead{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;margin-bottom:6px}
#upsellCard .rjoinhead h2{margin:0 0 6px}
#upsellCard .rjoinhead p{margin:0;max-width:52ch}
#upsellCard .rprice{flex:none;display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.15}
#upsellCard .rprice b{font-family:var(--display);font-size:2.4rem;color:var(--accent);letter-spacing:-.02em}
#upsellCard .rprice span{font-size:.85rem;font-weight:600;color:var(--ink)}
#upsellCard .rprice small{font-size:.8rem;color:var(--muted);margin-top:2px}
#upsellCard .rfield{display:flex;flex-direction:column;gap:6px;margin:16px 0 10px;font-size:.9rem;font-weight:600;max-width:520px}
#upsellCard .rfield input{font-weight:400}
#upsellCard .rterms{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;line-height:1.45;margin:4px 0 16px;font-weight:400;max-width:620px}
#upsellCard .rterms input{margin-top:3px;flex:none}
@media (max-width:600px){#upsellCard .rjoinhead{flex-direction:column;gap:10px}#upsellCard .rprice{align-items:flex-start;text-align:left}}
#upsellCard .rfield input,#acctPlan .rfield input{font:inherit;font-size:.95rem;font-weight:400;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%;box-sizing:border-box}
#upsellCard .rfield input:focus,#acctPlan .rfield input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
