/* Side Street's shared finish. Pixel lettering is a signature, not a reading font. */
:root{--paper:#efefef;--panel:#fefcff;--soft-blue:var(--accent-soft);--line:#bababa;--radius:0;--sans:'Oxanium',Arial,Helvetica,sans-serif;color-scheme:light}
html{scroll-padding-top:90px}body{background-image:none;line-height:1.6}button,input,select,textarea{font-family:var(--sans)}
.masthead,main,footer,.site-nav,main.extra-page{width:min(1160px,calc(100% - 64px));max-width:1160px;margin-inline:auto}
.masthead{margin-top:24px;min-height:76px;padding:12px 24px;gap:24px;background:var(--lilac);box-shadow:var(--panel-shadow);border-width:var(--stroke-thin)}
.wordmark{font-size:2.5rem;line-height:1.2}.masthead-note{font:400 .875rem/1.5 var(--sans)}
.about-link{font:600 .875rem/1.4 var(--sans);border-width:var(--stroke-thin);box-shadow:none;border-radius:0;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.site-nav{padding:12px 0;margin-top:8px;gap:4px 8px;box-shadow:none;background:var(--paper)}
.site-nav a{font:500 .9375rem/1.4 var(--sans);border:var(--stroke-thin) solid transparent;border-radius:0;padding:12px 16px;display:flex;align-items:center;justify-content:center;min-height:44px}
.site-nav a[aria-current=page]{box-shadow:none;border-color:var(--ink);font-weight:700}.site-nav a:hover{background:var(--blue)}
main.extra-page{padding:0}.intro,.page-heading{padding:28px 0 24px;margin:0;align-items:center;gap:24px}
.intro h1,.page-heading h1,.extra-page .page-heading h1{font:600 clamp(2rem,3.5vw,2.75rem)/1.15 var(--pixel);letter-spacing:0;margin:0;max-width:24ch}
.intro h1 em{text-shadow:none}.intro-copy{font-size:1rem;line-height:1.6;max-width:420px}.page-heading p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:680px;margin:12px 0 0}
.eyebrow,.intro .eyebrow{font:600 .75rem/1.5 var(--sans);letter-spacing:.05em;color:var(--deep);margin:0 0 8px}
.page-heading .eyebrow,.intro .eyebrow{text-transform:uppercase}.finder-card .eyebrow,.saved-card .eyebrow,.deal-card .eyebrow{font-size:.8125rem;letter-spacing:0}
.pixel-art{width:24px;height:24px;flex-basis:24px}.footer-note .pixel-art{width:24px;height:24px;flex-basis:24px}.footer-note{gap:8px}
.finder,.finder-panel,.shopping-controls,.plan-controls{border:var(--stroke-thin) solid var(--ink);border-radius:0;box-shadow:none;padding:20px;background:var(--soft-blue)}
.finder{background:var(--blue)}.shopping-controls{gap:16px;background:var(--accent-soft)}.finder-panel>p{max-width:800px}
.location-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0 0 16px;padding:0 0 16px;border-bottom:var(--stroke-thin) solid var(--line)}
.location-actions{flex-shrink:0;gap:8px}.location-tools #location-status{flex:1 1 240px;font-size:.875rem;margin:0}.location-info{margin:0;font-size:.875rem}.location-info summary{min-height:44px;padding:12px 0}.location-info[open]{flex-basis:100%}.location-info p{max-width:800px;margin:4px 0}
.near-me-button{border-width:var(--stroke-thin);border-radius:0;box-shadow:none;padding:8px 12px;min-height:44px;font-size:.9375rem}
.type-filters,.pill-row{gap:8px}.type-filters button,.pill-row button{font:600 .875rem/1.4 var(--sans);border-width:var(--stroke-thin);border-radius:0;box-shadow:none;padding:8px 12px;min-height:44px}
.type-filters button.active{box-shadow:none}.type-filters button:active{transform:none;box-shadow:none}
.filter-controls{margin-top:16px}.filter-controls label,.extra-page label{font:600 .875rem/1.4 var(--sans);gap:8px}
.filter-controls input,.filter-controls select,.extra-page input,.extra-page select,.extra-page textarea,dialog input{font:400 1rem/1.4 var(--sans);border:var(--stroke-thin) solid var(--ink);background:var(--panel);border-radius:0;padding:12px 12px;min-height:46px;height:auto}
.extra-filters{margin-top:8px}.extra-filters>summary{padding:12px 0 0;min-height:38px}.extra-filters[open]>summary{padding-bottom:12px}
.filter-note{margin-top:8px}.filter-note summary{min-height:40px;padding:8px 0}.results-heading{padding:8px 0 16px}
.task-links{margin:0 0 20px;gap:8px}.task-links a,.page-jumps a{border-radius:0;font-size:.9375rem}.page-jumps{margin:0 0 24px}
.place-card,.plan-card,.tool-card,.resource-card,.saved-card,.finder-card,.sale-card,.deal-card{border:var(--stroke-thin) solid var(--line);border-radius:0;box-shadow:none;background:var(--panel);padding:24px}
.place-card:nth-child(2n),.sale-card:nth-child(even){box-shadow:none;background:var(--panel)}.plan-card:nth-child(even),.resource-card:nth-child(even),.saved-card:nth-child(even),.discovery-grid .finder-card:nth-child(even){background:var(--panel)}
.discovery-grid .finder-card{border-color:var(--line)}.places-grid,.plan-grid,.saved-grid,.resource-grid,.tools-grid,.discovery-grid{gap:20px}
.place-card h2,.plan-card h2,.saved-card h2,.tool-card h2,.resource-card h3,.sale-card h3,.deal-card h3{font:700 1.375rem/1.35 var(--sans);letter-spacing:0}
.card-kind{background:var(--paper);border-radius:0;font-size:.8125rem}.card-deck{font-size:1rem;line-height:1.65}.card-meta{align-items:center}.price-row{background:var(--soft-blue);border-color:var(--line);border-radius:0;padding:12px;gap:12px}.price{font-size:1.875rem;line-height:1.25}.price-row .order{font-size:.9375rem;line-height:1.5}.price-basis{font-size:.8125rem}.timing,.catch{font-size:.9375rem;line-height:1.55}
.details-button,.pixel-button,.save-button,.follow-button,.detail-actions a,.detail-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 .875rem/1.4 var(--sans);min-height:44px;padding:12px 12px;border:var(--stroke-thin) solid var(--ink);border-radius:0;box-shadow:none;text-decoration:none;background:var(--blue);color:var(--ink)}
.save-button,.follow-button,.detail-actions button{background:var(--panel);border-color:var(--line)}.details-button:hover,.pixel-button:hover{background:var(--lilac);transform:none}.details-button:active,.pixel-button:active{transform:none;box-shadow:none}.follow-button:hover{background:var(--soft-blue)}
.card-bottom{gap:12px;margin-top:auto;padding-top:16px;border-top:var(--stroke-thin) solid var(--line)}.card-bottom .source-date{font-size:.8125rem;line-height:1.5;flex-basis:auto;margin-right:auto}.card-bottom .details-button{margin-left:auto}.card-bottom .save-button{padding-inline:12px}
.row-actions{gap:12px 16px}.facility-list li,.tag,.walk-pair span{border-radius:0}.finder-card{display:flex;flex-direction:column}.finder-card .row-actions{margin-top:auto;padding-top:12px}.finder-card>details{margin-bottom:8px}.finder-card .facility-list{margin:4px 0 8px}
.browse-further{background:var(--soft-blue);border-radius:0;padding:24px;margin:28px 0}.browse-further h2,.shopping-tips h2,.section-lead h2{font:700 1.5rem/1.35 var(--sans)}.empty-state h2,.empty-board h2,.empty-board h3{font:700 1.5rem/1.35 var(--sans)}
.empty-board,.no-results{border:var(--stroke-thin) dashed var(--line);border-radius:0;background:var(--panel)}.empty-mark{display:none}.fine-print{font-size:.875rem;line-height:1.6}.sale-costs strong{text-transform:none;letter-spacing:0;font-size:.875rem}.sale-card h3 a{text-decoration:none}.sale-card h3 a:hover{text-decoration:underline}.date-tile{border-width:var(--stroke-thin);border-radius:0}.sale-past{opacity:1}
footer{border-top:var(--stroke-thin) solid var(--line);padding:24px 0 32px;margin-top:32px;gap:12px 24px;align-items:center}footer>p{margin:0}.footer-brand{font-family:var(--pixel);font-size:1.5rem}footer a:not(.footer-brand),footer button{font:400 .875rem/1.5 var(--sans);min-height:44px;display:inline-flex;align-items:center;background:none;padding:8px 0;border:0;text-decoration:underline}.footer-note{font:400 .8125rem/1.5 var(--sans);color:var(--muted)}
dialog{border:var(--stroke-thin) solid var(--ink);border-radius:0;background:var(--panel);box-shadow:var(--panel-shadow);width:min(700px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:28px;overscroll-behavior:contain}dialog::backdrop{background:color-mix(in srgb, var(--accent) 53%, transparent);backdrop-filter:none}body:has(dialog[open]){overflow:hidden}.dialog-close{position:sticky;top:0;float:right;width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;margin:-12px -12px 4px 12px;background:var(--panel);border:var(--stroke-thin) solid var(--line);border-radius:0;font:400 1.5rem/1 var(--sans);z-index:2}
.detail-title,.prose h2{font:700 1.75rem/1.25 var(--sans);letter-spacing:0;margin-top:12px}.detail-section h3,.prose h3{font:700 1.125rem/1.4 var(--sans)}.detail-section p,.prose p{font-size:1rem;line-height:1.7}.detail-footnote,.source-links{font-size:.875rem;overflow-wrap:anywhere}.detail-price{border-width:var(--stroke-thin);border-radius:0;margin-top:20px}.detail-actions{gap:12px;flex-wrap:wrap}.detail-small:empty{display:none}.detail-footnote{clear:both}
button:disabled{opacity:.6;cursor:wait}.save-status{border-radius:0;font-size:.9375rem;line-height:1.5}.text-button{min-height:44px;font-size:.875rem}summary{touch-action:manipulation}
@media(max-width:1000px){.card-bottom .source-date{flex-basis:100%}.card-bottom .details-button{margin-left:0}}
@media(max-width:760px){
 html{scroll-padding-top:16px}.masthead,main,footer,.site-nav,main.extra-page{width:calc(100% - 32px)}
 .masthead{margin-top:16px;padding:12px 12px;min-height:64px;gap:8px;flex-wrap:nowrap}.wordmark{font-size:2rem}.masthead-note{display:none}.masthead .about-link{font-size:.8125rem;margin-left:auto;padding:8px;white-space:nowrap}
 .site-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:8px;padding:8px 0 12px;position:static}.site-nav a,.site-nav a:last-child{margin:0;padding:8px 4px;min-height:42px;font-size:.8125rem;white-space:normal;text-align:center;line-height:1.3}
 .intro,.page-heading{display:block;padding:20px 0}.intro h1,.page-heading h1,.extra-page .page-heading h1{font-size:2rem;line-height:1.15;max-width:none}.intro-copy,.page-heading p:not(.eyebrow){font-size:1rem;line-height:1.5;margin:12px 0 0}.intro .eyebrow{display:none}.page-heading .eyebrow{font-size:.75rem;margin-bottom:8px}
 .finder,.finder-panel,.shopping-controls,.plan-controls{padding:16px}.location-tools{gap:8px 12px;padding-bottom:12px;margin-bottom:12px}.location-tools #location-status{flex:1 1 130px;font-size:.8125rem;line-height:1.5}.location-info{flex-basis:100%;font-size:.8125rem}.location-info summary{padding:4px 0;min-height:32px}.near-me-button{font-size:.875rem;max-width:210px}
 .type-filters{gap:8px}.type-filters button{padding:8px 8px;font-size:.8125rem;white-space:normal;min-width:0;flex:1}.primary-filters{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px}.primary-filters .search-label{grid-column:auto}.filter-controls label{font-size:.8125rem}.filter-controls input,.filter-controls select{padding:12px 8px;font-size:1rem}.filter-note{font-size:.8125rem}.extra-filters>summary{font-size:.8125rem;min-height:38px;padding-top:12px}
 .results-heading #result-count{font-size:.875rem}.results-heading{padding:8px 0 16px}.places-grid,.plan-grid,.saved-grid,.resource-grid,.tools-grid,.discovery-grid{grid-template-columns:minmax(0,1fr);gap:16px}.place-card,.plan-card,.saved-card,.tool-card,.resource-card,.finder-card,.sale-card,.deal-card{padding:20px}
 .card-meta{gap:8px;align-items:baseline}.card-kind{margin-left:auto;font-size:.75rem}.card-bottom .source-date{flex-basis:100%}.task-links{gap:8px}.task-links a{flex:1 1 90px;padding:12px 8px;font-size:.875rem;display:flex;align-items:center;justify-content:center}.page-jumps{gap:8px}.page-jumps a{font-size:.875rem;padding:8px 12px}
 .finder-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finder-form button{grid-column:1/-1}.finder-form label{font-size:.8125rem}.finder-panel h2{font-size:1.25rem}.finder-panel>p{font-size:.9375rem}.finder-panel .fine-print{font-size:.875rem}.form-row{gap:12px;flex-wrap:wrap}.form-row>label{flex:1 1 120px}.shopping-controls .location-tools{margin-bottom:0}.pill-row{gap:8px}.pill-row button{padding:8px 12px;font-size:.875rem}
 .browse-further{padding:20px}.shopping-tips>div{grid-template-columns:1fr;gap:8px}.sale-costs{gap:12px}.sale-actions{gap:12px 16px}.date-tile{gap:8px}.date-tile strong{font-size:1.5rem}.sale-card h3{font-size:1.3rem}
 footer{display:flex;flex-wrap:wrap;margin-top:24px;padding:20px 0;gap:8px 20px}.footer-note{flex-basis:100%}footer button{flex-basis:auto}footer a:not(.footer-brand){font-size:.875rem}
 dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 20px}.dialog-close{margin:-12px -8px 8px 12px}.detail-title,.prose h2{font-size:1.5rem}.detail-price{padding:12px}.detail-actions>*{flex:1 1 130px}.save-status{bottom:12px}
}
@media(max-width:359px){.masthead .about-link{max-width:96px;white-space:normal}.wordmark{font-size:1.75rem}.site-nav a{font-size:.75rem}.finder-form{grid-template-columns:1fr}.finder-form button{grid-column:auto}.card-meta{flex-wrap:wrap}.card-kind{margin-left:0}.sale-costs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(forced-colors:active){.site-nav a[aria-current=page],.task-links a[aria-current=true]{outline:var(--stroke-thick) solid CanvasText}.pixel-art{color:CanvasText}}

/* Keep the first useful result close to the controls. */
.location-tools #location-status:empty{display:none}.location-tools:has(#location-status:empty) .location-info{margin-left:auto;flex-basis:auto}.location-tools:has(#location-status:empty) .location-info[open]{flex-basis:100%;margin-left:0}
@media(min-width:1001px){.finder{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 24px;align-items:end}.finder>.location-tools,.finder>.extra-filters{grid-column:1/-1;margin:0}.finder>.primary-filters{margin:0}.finder>.extra-filters{margin-top:0}.finder>.extra-filters>summary{padding-top:8px}.finder .type-filters button{min-height:46px}}
@media(max-width:760px){.intro{padding:16px 0}.type-filters button{white-space:nowrap}.location-tools:has(#location-status:empty) .location-info summary{min-height:44px;padding:12px 0}.location-tools #location-status:not(:empty){order:3;flex-basis:100%}.location-tools:has(#location-status:not(:empty)) .location-info{margin-left:auto;flex-basis:auto}.location-tools:has(#location-status:not(:empty)) .location-info[open]{flex-basis:100%;order:4}}

.place-card .price-row{margin-top:0}.place-card .card-deck{margin:16px 0 0}.place-card .price-basis{margin:0 0 8px}.place-card .timing{margin-top:16px}

@media(max-width:760px){.masthead{flex-wrap:wrap}.wordmark{font-size:clamp(1.5rem,8.2vw,2rem)}.site-nav a{overflow-wrap:anywhere}.page-heading h1,.intro h1{overflow-wrap:anywhere}.masthead .about-link{white-space:normal}.finder-form select{padding-inline:8px}.page-heading{padding:20px 0}.page-heading .eyebrow{display:none}.task-links a{padding:8px 8px}}

/* Remove the retired window-chrome decoration from every dialog. */
dialog::before{display:none}.dialog-close{box-shadow:none}.price{font-style:normal}.page-jumps a{padding-block:8px}

.section-menu{margin:0 0 20px}.section-menu>summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:.9375rem;font-weight:600}.section-menu .page-jumps{margin:8px 0 0}.section-menu[open]{padding-bottom:12px;border-bottom:var(--stroke-thin) solid var(--line)}

/* Reflow at enlarged text sizes, including the wordmark and long labels. */
.wordmark{max-width:100%;white-space:normal;overflow-wrap:anywhere}.place-card,.plan-card,.saved-card,.tool-card,.resource-card,.finder-card,.sale-card,.deal-card,dialog{overflow-wrap:anywhere}
@media(max-width:760px){.site-nav{grid-template-columns:repeat(auto-fit,minmax(min(100%,5.5rem),1fr))}.site-nav a{overflow-wrap:normal;word-break:normal}.wordmark{font-size:2rem;line-height:1.15}.masthead .about-link{max-width:100%}}

@media(max-width:760px){.wordmark{font-size:clamp(1rem,8vw,2rem)}}

.page-heading h1,.extra-page .page-heading h1{max-width:32ch;text-wrap:balance}.intro h1{text-wrap:balance}.sale-primary-filter{max-width:360px}.sale-extra-filters>summary{min-height:44px;cursor:pointer;font-size:.875rem;font-weight:600;padding:12px 0}.sale-extra-filters .form-row{margin-top:8px}.shopping-controls{gap:12px}.sale-extra-filters{margin-top:-4px}@media(max-width:760px){.page-heading h1,.extra-page .page-heading h1{max-width:none}.sale-primary-filter{max-width:none}.sale-extra-filters .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sale-primary-filter select{max-width:100%}}

/* Two palettes, one guide. Classic remains the default regardless of OS theme. */
.colour-mode-slot{display:contents}
.creator-letter{max-width:72ch;background:var(--panel);border:var(--stroke-thin) solid var(--line);border-top:var(--stroke-thick) solid var(--deep);border-radius:0;padding:clamp(20px,4vw,36px);font:400 1rem/1.8 var(--sans);overflow-wrap:anywhere}
.creator-letter p{margin:0 0 1.25em}.creator-letter p:last-child{margin-bottom:0}
.welcome-opening{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:32px 0}
.welcome-intro h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.15;max-width:16ch;text-wrap:balance}
.welcome-intro p{max-width:55ch}.welcome-lead{font-size:1.1875rem;line-height:1.65}.welcome-intro .row-actions{margin-top:24px}
.welcome-how{background:var(--soft-blue);border:var(--stroke-thin) solid var(--line);border-radius:0;padding:24px}
.welcome-page h2{font:700 1.5rem/1.35 var(--sans);margin:0 0 20px}.welcome-page h3{font:700 1rem/1.4 var(--sans);margin:0 0 4px}
.welcome-how ol{padding-left:24px;margin:0}.welcome-how li{padding-left:8px;margin-bottom:20px}.welcome-how li:last-child{margin-bottom:0}.welcome-how li::marker{color:var(--deep);font-weight:700}.welcome-how p{margin:0;font-size:1rem;line-height:1.6}
.welcome-sections{padding:12px 0 28px}.welcome-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.welcome-directory>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:20px;background:var(--panel);border:var(--stroke-thin) solid var(--line);border-radius:0;text-decoration:none;min-width:0}
.welcome-directory h3{font-size:1.125rem;margin:0}.welcome-directory p{grid-column:1;margin:0;font-size:1rem;line-height:1.6;color:var(--muted)}.welcome-directory span{grid-column:2;grid-row:1;color:var(--deep)}
.welcome-directory>a:hover{background:var(--soft-blue);border-color:var(--deep)}.welcome-directory>a:hover h3{text-decoration:underline;text-underline-offset:4px}
.welcome-notes{border-top:var(--stroke-thin) solid var(--line);padding:24px 0 0;max-width:80ch}.welcome-notes h2{font-size:1.125rem;margin-bottom:12px}.welcome-notes p{font-size:.9375rem;line-height:1.7;color:var(--muted);margin:0 0 12px}
@media(max-width:900px){.welcome-opening{gap:24px}.welcome-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.welcome-opening{grid-template-columns:1fr;padding:20px 0;gap:24px}.welcome-intro h1{font-size:2.25rem;max-width:none}.welcome-lead{font-size:1.125rem}.welcome-how{padding:20px}.welcome-directory{grid-template-columns:1fr}.welcome-directory>a{padding:20px}.welcome-intro .row-actions{margin-top:20px}.welcome-page h1,.welcome-page h2,.welcome-directory>a{overflow-wrap:anywhere}}
.colour-mode{display:inline-flex;gap:4px;padding:4px;margin-left:auto;max-width:100%;border:var(--stroke-thin) solid var(--ink);border-radius:0;background:var(--paper);flex-shrink:0}
.colour-mode button{min-height:40px;min-width:0;padding:8px 12px;border:var(--stroke-thin) solid transparent;border-radius:0;background:transparent;color:var(--muted);font:600 .875rem/1.35 var(--sans);white-space:normal;cursor:pointer}
.colour-mode button:hover{background:var(--blue);color:var(--ink)}
.colour-mode button[aria-pressed=true]{background:var(--deep);color:var(--panel);border-color:var(--deep)}
.colour-mode button:focus-visible{outline:var(--stroke-thick) solid var(--deep);outline-offset:4px;position:relative;z-index:1}
.masthead:has(.colour-mode) .masthead-note{margin-left:auto}
.masthead:has(.colour-mode) .about-link{margin-left:0}
@media(max-width:1050px){.masthead:has(.colour-mode) .masthead-note{display:none}}
@media(max-width:760px){.masthead:has(.colour-mode) .about-link{margin-left:auto}.colour-mode{flex-basis:100%;margin:4px 0 0;flex-shrink:1}.colour-mode button{flex:1;padding:8px 8px;min-height:44px}}

/* Ink-blue paper, black cards and blue controls are composed as a second palette.
   Reading text, quiet rules and interactive borders have separate colours. */
:root[data-colour-mode=macho]{--paper:#080d18;--panel:#0d1729;--ink:#edf3ff;--blue:#183c77;--lilac:#153363;--deep:#a0bfff;--muted:#adbdd5;--line:#304667;--soft-blue:#11284d;--control-line:#6e8bb8;--action:#2455a6;--action-hover:#2d64bd;color-scheme:dark}
:root[data-colour-mode=macho] .masthead{background:#123369;box-shadow:var(--panel-shadow);border-color:#365989}
:root[data-colour-mode=macho] .full-stop{color:var(--deep)}
:root[data-colour-mode=macho] :is(.site-nav,.finder,.finder-panel,.shopping-controls,.plan-controls,.detail-price,.tag,.date-tile,.notice,.shopping-tips,.support-section,.support-card,.editorial-strip,.empty-state,dialog){border-color:var(--line)}
:root[data-colour-mode=macho] .finder{background:var(--soft-blue)}
:root[data-colour-mode=macho] .colour-mode{background:var(--paper);border-color:var(--control-line)}
:root[data-colour-mode=macho] :is(.type-filters button,.pill-row button,.task-links a,.near-me-button,.about-link,.pixel-button,.details-button,.save-button,.follow-button,.detail-actions a,.detail-actions button,.page-jumps a,.dialog-close){border-color:var(--control-line)}
:root[data-colour-mode=macho] :is(.details-button,.pixel-button,.detail-actions a){background:var(--action);color:var(--ink)}
:root[data-colour-mode=macho] :is(.details-button,.pixel-button,.detail-actions a):hover{background:var(--action-hover)}
:root[data-colour-mode=macho] .pixel-button.secondary{background:var(--panel)}
:root[data-colour-mode=macho] :is(.colour-mode button[aria-pressed=true],.type-filters button.active,.pill-row button[aria-pressed=true],.task-links a[aria-current=true],.near-me-button[aria-pressed=true],.editor-actions .editor-publish){background:var(--action);color:var(--ink);border-color:var(--control-line)}
:root[data-colour-mode=macho] :is(.type-filters button:not(.active),.pill-row button:not([aria-pressed=true]),.task-links a:not([aria-current=true]),.near-me-button,.save-button,.follow-button,.detail-actions button,.page-jumps a):hover{background:var(--lilac);border-color:var(--deep)}
:root[data-colour-mode=macho] :is(.site-nav a[aria-current=page],.save-button[aria-pressed=true],.follow-button[aria-pressed=true]){background:var(--blue);border-color:var(--control-line);color:var(--ink)}
:root[data-colour-mode=macho] :is(.shopping-controls,.tag,.support-card.monthly,.entry-list-item[aria-current=true]){background:var(--lilac)}
:root[data-colour-mode=macho] :is(.tag.blue,.date-tile,.notice){background:var(--blue)}
:root[data-colour-mode=macho] :is(.empty-board,.loading,.place-card.featured){background:var(--panel);border-color:var(--line)}
:root[data-colour-mode=macho] .tag.warning{background:#3d301b;color:#f5d599;border-color:#977844}
:root[data-colour-mode=macho] :is(.source-date.stale,.price-basis.uncertain){color:#e6bf88}
:root[data-colour-mode=macho] :is(.notice.error,.form-error:not(:empty),.editor-message.error){background:#40262a;color:#ffc8c8;border-color:#c17c80}
:root[data-colour-mode=macho] :is(input,select,textarea){background:var(--panel);color:var(--ink);border-color:var(--control-line);accent-color:var(--deep)}
:root[data-colour-mode=macho] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
:root[data-colour-mode=macho] .sale-costs{border-color:var(--line)}
:root[data-colour-mode=macho] :is(.save-status,.skip-link){background:var(--action);color:var(--ink);box-shadow:0 0 0 var(--stroke-thin) var(--control-line)}
:root[data-colour-mode=macho] :is(.support-section,.editorial-strip,.empty-state){box-shadow:none}
:root[data-colour-mode=macho] dialog{box-shadow:var(--panel-shadow)}
:root[data-colour-mode=macho] dialog::backdrop{background:#03060dc9}
:root[data-colour-mode=macho] .pixel-heart{color:#a0bfff}
:root[data-colour-mode=macho] .pixel-sparkles{color:#82b6ff}
@media(forced-colors:active){.colour-mode button[aria-pressed=true]{outline:var(--stroke-thick) solid CanvasText;outline-offset:-4px}:root[data-colour-mode=macho] .pixel-art{color:CanvasText}}

/* Keep both map choices visible and easy to tap on small screens. */
.map-links{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0}
.map-links .map-label{flex-basis:100%;font-size:.8125rem;font-weight:600;color:var(--muted)}
.map-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%}
.detail-actions>.map-links{flex-basis:100%}
