/* Six complete, high-contrast palettes. Layout and functionality stay identical. */
:root,html[data-theme="local"]{--paper:#f7f8ef;--white:#fffef8;--ink:#204434;--green:#1d503a;--muted:#52634d;--line:#c4d0b6;--control-border:#7c906e;--mint:#e2edcf;--lilac:#e6def3;--yellow:#f4e5ae;--cream:#efefdf;--on-accent:#f5f9e8;--sign-line:#9fb890;--decor:#627b48;--focus:#52752b;--badge-bg:#e0edd0;--badge-ink:#264d2b;--pending-bg:#f6e8bf;--pending-ink:#73501c;--stale:#81531c}
html[data-theme="navy"]{--paper:#f3f4f8;--white:#fffefa;--ink:#132b4d;--green:#183963;--muted:#4f617a;--line:#c2cbd8;--control-border:#7c899c;--mint:#e3eafa;--lilac:#f0e7c9;--yellow:#f7ebc3;--cream:#e8edf4;--on-accent:#fff3c2;--sign-line:#a99e71;--decor:#8a6615;--focus:#8a6615;--badge-bg:#e0e8f5;--badge-ink:#233f63;--pending-bg:#f7ebc3;--pending-ink:#73501c;--stale:#855114}
html[data-theme="sunset"]{--paper:#fff4eb;--white:#fffbf6;--ink:#642b1c;--green:#9c341e;--muted:#794d3b;--line:#dbbda7;--control-border:#a47a61;--mint:#f5d9bd;--lilac:#f5e1d8;--yellow:#f9e4b5;--cream:#f9e8d7;--on-accent:#fff6e7;--sign-line:#e7b89d;--decor:#a13c22;--focus:#9c341e;--badge-bg:#f4ddc8;--badge-ink:#74311e;--pending-bg:#f9e7ae;--pending-ink:#72491b;--stale:#8a3d1c}
html[data-theme="forest"]{--paper:#edf2e9;--white:#f9fcf4;--ink:#183c2b;--green:#205438;--muted:#476346;--line:#b5c7a7;--control-border:#748d63;--mint:#d1e4bd;--lilac:#dce7cd;--yellow:#e2dfad;--cream:#e4e9d5;--on-accent:#f1ffdc;--sign-line:#accc91;--decor:#527426;--focus:#477022;--badge-bg:#d1e4bd;--badge-ink:#1d482b;--pending-bg:#ece4ad;--pending-ink:#685019;--stale:#795219}
html[data-theme="slate"]{--paper:#f0f1f2;--white:#fafafa;--ink:#242a32;--green:#333b46;--muted:#535a64;--line:#bcc0c7;--control-border:#80868f;--mint:#dfe2e6;--lilac:#e9e9eb;--yellow:#d5d7dc;--cream:#e4e5e8;--on-accent:#ffffff;--sign-line:#b2b8c2;--decor:#4f5966;--focus:#4f5966;--badge-bg:#dfe4e9;--badge-ink:#2c3848;--pending-bg:#e4e2db;--pending-ink:#554c36;--stale:#63513a}
html[data-theme="electric"]{--paper:#101820;--white:#1b2630;--ink:#f0f6ef;--green:#c7f36b;--muted:#bdcab6;--line:#475c56;--control-border:#7e9685;--mint:#283c31;--lilac:#2a3444;--yellow:#3b3d28;--cream:#24312e;--on-accent:#142013;--sign-line:#607c36;--decor:#c7f36b;--focus:#c7f36b;--badge-bg:#2c482d;--badge-ink:#d2f5b0;--pending-bg:#57452b;--pending-ink:#ffe8a8;--stale:#ffd28a}
body{background:var(--paper);color:var(--ink)}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--focus)}input:focus-visible,select:focus-visible{outline-color:var(--focus)}::selection{background:var(--green);color:var(--on-accent)}
.demo-ribbon,.button,.featured-sign,.price-sign,.brand-shield,.mock-sign,.toast,.skip-link{background:var(--green);color:var(--on-accent)}.demo-ribbon .ribbon-detail{opacity:1}.button{border-color:var(--green)}.button:hover{box-shadow:0 5px 0 var(--line)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--control-border)}.logo-mark{background:var(--mint);border-color:var(--control-border);color:var(--ink)}.site-header{border-bottom-color:var(--control-border)}.header-edition>span,.edition-line,.hero-note,.hero-assurance,.feature-caption>p{color:var(--muted)}.edition-line{border-color:var(--line)}.hero .tiny-star,.handwritten{color:var(--decor)}.featured-sign{box-shadow:0 9px 0 var(--line)}.featured-sign:before,.route-shield,.sample-stamp{border-color:var(--sign-line)}.route-shield{color:var(--on-accent)}.sign-top>span:nth-child(2)>small,.featured-location small,.sign-bottom>span:last-child{opacity:1}.sign-divider{background:var(--sign-line)}.sign-bottom{border-color:var(--sign-line)}.feature-caption small{opacity:1}.stat-card{color:var(--ink)}.stat-card.cream{background:var(--cream)}.stat-card.mint{background:var(--mint)}.stat-card.lilac{background:var(--lilac)}.stat-card.community{background:var(--yellow);border-color:var(--line)}.stat-card>p{color:var(--muted)}.community-flower{color:var(--decor);opacity:.22}.text-button{color:var(--ink)}
.board-masthead{border-bottom-color:var(--control-border)}.board-date,.board-deck{color:var(--muted)}.filter-panel{background:var(--white);border-color:var(--line)}.search-wrap{background:var(--paper);border-color:var(--control-border)}.search-wrap:focus-within{outline-color:var(--focus)}.search-wrap>input{color:var(--ink)}input::placeholder{color:var(--muted);opacity:1}.select-wrap>select{background:var(--cream);border-color:var(--control-border);color:var(--ink)}.brand-select>span{color:var(--muted)}.brand-select>select{color:var(--ink)}.verified-toggle input{accent-color:var(--green)}.reset-filters,.area,#result-count{color:var(--muted)}.area.active{background:var(--green);border-color:var(--green);color:var(--on-accent)}.area:hover:not(.active){background:var(--mint);color:var(--ink)}.board-key{color:var(--muted);border-color:var(--line)}.key-dot{background:var(--decor)}.station-card{background:var(--white);border-color:var(--line)}.station-card:hover{border-color:var(--control-border);box-shadow:0 4px 18px transparent}.brand-shield{border-color:var(--green)}.station-address{color:var(--muted)}.price-sign{outline-color:var(--sign-line)}.price-context>small{color:var(--muted)}.verified-badge{background:var(--badge-bg);color:var(--badge-ink);border-color:var(--control-border)}.verified-badge.pending{background:var(--pending-bg);color:var(--pending-ink);border-color:var(--control-border)}.age{color:var(--muted)}.age.stale{color:var(--stale)}.station-change{border-color:var(--line);color:var(--muted)}.station-change strong{color:var(--ink)}.station-pattern{background:var(--cream);color:var(--muted)}.station-pattern>span{color:var(--ink)}.station-pattern .pattern-caption{color:var(--muted)}.station-history>summary{color:var(--muted)}.report-button{border-color:var(--control-border);color:var(--ink)}.report-button:hover{background:var(--mint);border-color:var(--control-border)}.history-details{background:var(--paper);border-color:var(--line)}.history-details p{color:var(--muted)}.history-details svg path:first-child{stroke:var(--line)}.history-details svg path:last-child{stroke:var(--green)}.board-disclaimer,.loading,.empty-state{color:var(--muted)}.loading,.empty-state{border-color:var(--control-border)}
.points-card{background:var(--mint);color:var(--ink)}.flower{color:var(--decor)}.points-card>p,.points-total>span{color:var(--muted)}.progress{background:var(--line)}.progress>span{background:var(--green)}.draw-card{background:var(--lilac);color:var(--ink)}.draw-label{background:var(--white);border-color:var(--control-border);color:var(--ink)}.funding-path{border-color:var(--line)}.draw-card>p{color:var(--muted)}.rhythm-card{background:var(--cream);border-color:var(--line);color:var(--ink)}.rhythm-bars{border-color:var(--line)}.rhythm-bars i,.rhythm-bars i:nth-child(2n),.rhythm-bars i:nth-child(3n),.rhythm-bars i:nth-child(5n){background:var(--green);opacity:.5}.rhythm-bars i:nth-child(2n){opacity:.9}.rhythm-bars i:nth-child(3n){opacity:.35}.rhythm-card p,.rhythm-card small{color:var(--muted)}.sponsor-slot,.quiet-ad{border-color:var(--line)}.ad-label{color:var(--muted)}.sponsor-mark{color:var(--decor)}.sponsor-slot p,.quiet-ad p{color:var(--muted)}.quiet-ad{background:var(--cream)}.how-section{border-color:var(--control-border)}.how-heading>p,.how-steps p{color:var(--muted)}.how-steps>article{border-color:var(--line)}.how-steps>article>span{color:var(--decor)}.honesty-card{background:var(--cream)}.honesty-card>span{color:var(--decor)}.honesty-card p{color:var(--muted)}.site-footer{border-color:var(--line)}.site-footer>p,.site-footer>small{color:var(--muted)}
dialog{background:var(--white);color:var(--ink);border-color:var(--control-border)}.modal-close{background:var(--cream);border-color:var(--control-border);color:var(--ink)}.modal-kicker,dialog p{color:var(--muted)}.modal-progress>i{background:var(--line)}.modal-progress>i.on{background:var(--green)}dialog select,dialog input[type=number]{background:var(--paper);color:var(--ink);border-color:var(--control-border)}.mock-camera{background:var(--cream);border-color:var(--control-border)}.mock-camera>svg{color:var(--decor)}.mock-sign{border-color:var(--sign-line)}.modal-note{background:var(--cream)}.proof-checkbox>input{accent-color:var(--green)}.price-error{color:var(--stale)!important}.success-mark,.success-card{background:var(--mint);color:var(--ink);border-color:var(--line)}.success-card>small{color:var(--muted)}.earned-points{color:var(--ink)!important}.toast{border-color:var(--sign-line)}
.source-page{color:var(--ink)}.source-page>p{color:var(--muted)}.source-page .source-intro{color:var(--ink)}.source-warning{background:var(--mint);color:var(--ink)}.source-warning p{color:var(--muted)}.source-table-wrap{border-color:var(--line)}.source-table-wrap caption{background:var(--green);color:var(--on-accent)}.source-table-wrap th{background:var(--mint);color:var(--ink)}.source-table-wrap th,.source-table-wrap td{border-color:var(--line)}.source-table-wrap td>small,.source-page>ul{color:var(--muted)}.source-page .source-end{border-color:var(--line)}
/* Visible, labelled swatches: colour is never the only indicator. */
.theme-chooser{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:17px 0}.theme-intro{min-width:110px}.theme-intro>span{display:block;font-size:6px;letter-spacing:1.1px;font-weight:700;color:var(--muted);margin-bottom:6px}.theme-intro>strong{font:16px var(--serif);letter-spacing:-.4px}.theme-options{display:flex;gap:7px;flex-wrap:wrap;flex:1}.theme-choice{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;min-height:38px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);font-size:8px;transition:transform .2s,border-color .2s}.theme-choice:hover{transform:translateY(-2px);border-color:var(--control-border)}.theme-choice.selected{border:2px solid var(--green);padding:7px 9px;background:var(--cream);font-weight:700}.theme-choice.selected:after{content:'✓';font-size:9px;margin-left:2px}.theme-swatch{display:inline-block;width:16px;height:16px;flex-shrink:0;border-radius:50%;border:1px solid var(--control-border);background:var(--swatch);box-shadow:inset -5px -3px 0 var(--swatch-accent)}.theme-link{font-size:7px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;color:var(--muted)}.theme-help{display:block;font-size:6px;line-height:1.7;color:var(--muted);margin:7px 0 0}.theme-meta{max-width:120px;text-align:right}.directory-note{font-size:8px;line-height:1.9;color:var(--muted)}.source-page .audit-box{padding:20px;background:var(--cream);border:1px solid var(--line);border-radius:10px;font-size:12px;line-height:1.9;color:var(--muted)}.audit-box strong{color:var(--ink)}
@media(max-width:1100px){.theme-chooser{gap:15px}.theme-intro{min-width:100px}.theme-options{gap:6px}.theme-choice{font-size:7px;padding:8px}.theme-choice.selected{padding:7px}.theme-meta{display:none}}
@media(max-width:760px){.theme-chooser{display:block;padding:17px 0 19px}.theme-intro{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}.theme-intro>span{margin:0;font-size:6px}.theme-intro>strong{font-size:15px}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.theme-choice{font-size:8px;gap:6px;padding:9px 8px;min-height:40px;justify-content:center}.theme-choice.selected{padding:8px 7px}.theme-choice.selected:after{font-size:8px;margin-left:0}.theme-swatch{width:13px;height:13px}.theme-meta{display:flex;align-items:center;justify-content:space-between;max-width:none;margin-top:10px;text-align:left}.theme-help{font-size:6px;margin:0}.theme-link{font-size:6px}.featured-sign{box-shadow:0 7px 0 var(--line)}}
@media(max-width:360px){.theme-choice{font-size:7px;gap:5px;padding:8px 6px}.theme-choice.selected{padding:7px 5px}.theme-swatch{width:11px;height:11px}}
@media(prefers-reduced-motion:reduce){.theme-choice{transition:none}.theme-choice:hover{transform:none}}
