:root{color-scheme:light}
.theme-toggle{width:36px;height:36px;flex:0 0 36px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);color:var(--green)}
.theme-toggle:hover{background:var(--mint)}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.site-header{gap:26px}.source-header nav{margin-left:auto}.source-header{gap:25px}
html[data-theme=dark]{color-scheme:dark;--paper:#111a16;--ink:#e3ebe2;--green:#b1d4b3;--green-dark:#294c39;--mint:#203126;--muted:#afbfad;--line:#334438;--orange:#d39b71;--shadow:0 18px 60px #0006;--surface:#19251e;--surface-raised:#203026;--soft-text:#b2c1ad;--quiet-text:#a2b29d}
html[data-theme=dark] body,html[data-theme=dark] .sources-page{background:var(--paper);color:var(--ink)}
html[data-theme=dark] :is(.site-header,.source-header,.search-toolbar){background:#141f19;border-color:var(--line)}
html[data-theme=dark] :is(.button,.select-wrap,.search-input,.property-card,.icon-button,.catalog-search,.catalog-priority select,.source-types button,.source-row,.catalog-empty,.flow-grid li,.price-key,.filter-fields select,.favorite,.detail-photo-label,.property-tag){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(input,select){color:var(--ink)}
html[data-theme=dark] input::placeholder{color:var(--quiet-text)}
html[data-theme=dark] :is(.primary,.city-tabs button.active,.source-types button[aria-pressed=true]){background:#355d43;border-color:#56795a;color:#eff7eb}
html[data-theme=dark] :is(.primary:hover,.city-tabs button.active:hover,.source-types button[aria-pressed=true]:hover){background:#426f51}
html[data-theme=dark] :is(.button:not(.primary):hover,.favorite:hover,.icon-button:hover,.city-tabs button:not(.active):hover){background:var(--surface-raised)}
html[data-theme=dark] :is(.plan-card,.toolbar-select,.exchange-bar,.empty-state,.filter-chip,.explore-grid button,.plan-collections){background:#1b2c21;border-color:var(--line)}
html[data-theme=dark] :is(.source-section,.source-footer,.source-access,.plan-numbers,.property-station,.detail-specs,.detail-bottom,.dialog,.city-tabs,.property-card,.source-row,.collections-grid,.dialog-actions,.saved-search-row){border-color:var(--line)}
html[data-theme=dark] :is(.property-price,.source-name,.plan-numbers strong,.sources-page h2,.sources-page h3,.plan-collections summary,.collections-grid strong){color:var(--ink)}
html[data-theme=dark] :is(.source-lead,.section-copy,.source-coverage>p,.source-access>p,.source-access details,.plan-card>p,.plan-detail p,.flow-grid p,.collections-grid p,.plan-collections>p,.property-specs,.detail-description,.muted,.filter-fields select){color:var(--soft-text)}
html[data-theme=dark] :is(.sources-page .eyebrow,.plan-status,.plan-numbers span,.source-group,.catalog-meta,.catalog-footnote,.technical-links,.price-key>p:last-child,.source-footer p,.source-footer a,.flow-grid li>span,.plan-collections,.source-access summary,.source-tags span,.property-address,.property-station,.yen-price,.popup-yen,.fee-yen,.detail-exchange-note,.detail-price small,.detail-title-row p,.detail-title-row .eyebrow,.detail-facts dt,.detail-bottom p,.list-footer>p,.intro>p,.intro .eyebrow,.results-meta p,.sort,.sort select,.city-tabs button>span,.empty-state p,.dialog-header .eyebrow,.explore-grid p,.explore-grid small,.saved-search-row p,.saved-search-empty,.exchange-bar p,.exchange-main>span,.exchange-source,.exchange-attribution,.demo-note){color:var(--quiet-text)}
html[data-theme=dark] :is(.catalog-column-head,.source-priority,.count-bubble,.search-input button){background:#223329;color:#b2c8a9}
html[data-theme=dark] .source-row:hover{background:#1c2b21}
html[data-theme=dark] .source-priority.priority-1{background:#2b422b;color:#c1daa5}
html[data-theme=dark] .source-tags span{border-color:#3d4e3a}
html[data-theme=dark] :is(.access-label,.property-tag.earth,.exchange-warning,.map-error){background:#3a3021;color:#e5c794;border-color:#5b4c32}
html[data-theme=dark] :is(.access-label.directory_only,.access-label.api_key_required){background:#203a3b;color:#acd0d2}
html[data-theme=dark] .planned-badge{background:#243626;color:#bed2af;border-color:#3c5436}
html[data-theme=dark] :is(.source-name:hover,.source-access details a,.technical-links a,.plan-card>a){color:#c2dcb4}
html[data-theme=dark] .list-footer a{color:#b1d4b3!important}
html[data-theme=dark] :is(.plan-numbers,.price-key i){border-color:var(--surface)}
html[data-theme=dark] .plan-numbers{border-color:var(--line)}
html[data-theme=dark] .header-divider{background:var(--line)}
html[data-theme=dark] .city-kanji{color:#8fa887}
html[data-theme=dark] .explore-grid button:nth-child(2){background:#30291f}
html[data-theme=dark] .explore-grid button:nth-child(3){background:#1c302b}
html[data-theme=dark] .explore-grid button:nth-child(4){background:#252b35}
html[data-theme=dark] .favorite.is-saved{color:#e4a18b}
html[data-theme=dark] .favorite.is-saved svg{fill:#e4a18b;stroke:#e4a18b}
html[data-theme=dark] .property-specs>span+span:before{background:var(--line)}
html[data-theme=dark] .dialog::backdrop{background:#040a08b8}
html[data-theme=dark] :is(.map-panel,.map-panel #map){background:#14211c}
html[data-theme=dark] .leaflet-tile-pane{filter:none}
html[data-theme=dark] :is(.map-top-label,.map-legend,.map-fit,.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:#203126;color:var(--ink);border-color:#637b5d}
html[data-theme=dark] .leaflet-control-zoom{border-color:var(--line)!important}
html[data-theme=dark] .leaflet-control-zoom a{background:#203126;color:#c0d9a9!important;border-color:var(--line)}
html[data-theme=dark] .leaflet-control-attribution{background:#14211ce8!important;color:#b8c6b0}
html[data-theme=dark] .leaflet-control-attribution a{color:#c0d9a9!important}
html[data-theme=dark] .leaflet-container a.leaflet-popup-close-button{color:#d2dfca}
html[data-theme=dark] .toast{background:#294c39;color:#eff7eb}
html[data-theme=dark] .skip-link{background:var(--surface)}
html[data-theme=dark] :is(button,a,input,select,summary):focus-visible{outline:3px solid #bfdca6;outline-offset:3px}
@media(max-width:950px){.site-header{gap:18px}.site-header .language,.site-header .header-divider{display:none}}
@media(max-width:620px){.site-header{gap:12px}.site-header nav{margin-left:auto;gap:12px}.site-header .theme-toggle{width:32px;height:32px;flex-basis:32px}.source-header{gap:13px}.source-header nav{margin-left:auto;gap:12px}.source-header .source-map-link>span{display:none}.source-header nav a:first-child{display:none}}

html[data-theme=dark] .price-dot-tooltip{background:#203126;color:var(--ink);border-color:#637b5d}
html[data-theme=dark] .leaflet-tooltip-top.price-dot-tooltip:before{border-top-color:#637b5d}
