/* GENERATED by scripts/build-dark-css.py from dark.src.css — do not edit. */
@media (prefers-color-scheme: dark){
:root:not([data-theme=light]){--paper:#141c2b;--white:#1d273a;--ink:#eef2f7;--muted:#9fb0c4;--primary:#7cc4f5;--pale:#27334a;--coral:#ff9c82;--line:#34415a;--yellow:#e8c24a;--sunshine:#e8c24a;--btn:#2a72ad;color-scheme:dark}
:root:not([data-theme=light]) body{background:var(--paper);color:var(--ink)}
:root:not([data-theme=light]) .preview{background:#182233;color:var(--muted)}
:root:not([data-theme=light]) .header,:root:not([data-theme=light]) .map-mode .header{background:transparent;box-shadow:none}
:root:not([data-theme=light]) .map-mode .header{background:transparent;box-shadow:none}
:root:not([data-theme=light]) .theme-toggle{box-shadow:0 2px 10px #0000005c}
:root:not([data-theme=light]) .location{background:var(--white);border-color:var(--line);color:var(--ink)}
:root:not([data-theme=light]) .mobile-nav,:root:not([data-theme=light]) .map-mode .mobile-nav{background:#161f2ff2;border-top-color:var(--line)}
:root:not([data-theme=light]) .mobile-nav .nav-item.active svg{fill:#27334a}
:root:not([data-theme=light]) .brand{color:#7cc4f5}
:root:not([data-theme=light]) .header .brand,:root:not([data-theme=light]) .brand-logo{mix-blend-mode:normal}
:root:not([data-theme=light]) .primary{background:var(--btn);color:#fff}
:root:not([data-theme=light]) .secondary{background:var(--white);border-color:var(--line);color:var(--ink)}
:root:not([data-theme=light]) .filter{background:var(--white);border-color:var(--line);color:var(--ink)}
:root:not([data-theme=light]) .filter.active,:root:not([data-theme=light]) .pill.selected{background:var(--btn);border-color:var(--btn);color:#fff}
:root:not([data-theme=light]) .sort-toggle{background:#27334a}
:root:not([data-theme=light]) .sort-toggle button[aria-pressed=true]{background:#3a4866;color:#eef2f7;box-shadow:none}
:root:not([data-theme=light]) .tool-button{background:#1d273ae6;border-color:#34415a;color:var(--primary)}
:root:not([data-theme=light]) .tool-button:hover{background:#27334a}
:root:not([data-theme=light]) .weather-rain{background:var(--btn)}
:root:not([data-theme=light]) .place-card,:root:not([data-theme=light]) .nearby-card,:root:not([data-theme=light]) .planning,:root:not([data-theme=light]) .detail-aside,:root:not([data-theme=light]) .facility-item,:root:not([data-theme=light]) .option,:root:not([data-theme=light]) .place-highlights article{background:var(--white);border-color:var(--line)}
:root:not([data-theme=light]) .place-card:hover{box-shadow:0 9px 26px #0006}
:root:not([data-theme=light]) .card-image{background:#27334a}
:root:not([data-theme=light]) .image-badge,:root:not([data-theme=light]) .save,:root:not([data-theme=light]) .nearby-image .nearby-setting{background:#141c2bd9;color:var(--ink)}
:root:not([data-theme=light]) .save.saved svg{fill:#e5484d;stroke:#e5484d}
:root:not([data-theme=light]) .reason{background:#1f3048;color:#a9d6f5}
:root:not([data-theme=light]) .crowd-row{border-top-color:var(--line)}
:root:not([data-theme=light]) .parent-tag{background:#173a2c;color:#8fe0b0}
:root:not([data-theme=light]) .parent-tag.unconfirmed{background:#283244;color:var(--muted)}
:root:not([data-theme=light]) .nearby-card.selected{background:#1e3552;border-color:#4a90d0;box-shadow:0 0 0 1px #4a90d055}
:root:not([data-theme=light]) .nearby-detail{background:#27334a;color:var(--primary)}
:root:not([data-theme=light]) .nearby-reason{color:#a9d6f5;border-top-color:var(--line)}
:root:not([data-theme=light]) .nearby-panel{background:var(--paper);border-color:var(--line)}
:root:not([data-theme=light]) .panel-foot{background:var(--paper);border-top-color:var(--line)}
:root:not([data-theme=light]) .empty{background:#182233;border-color:#3a4866}
:root:not([data-theme=light]) .theme{background:#1f3048}
:root:not([data-theme=light]) .theme:nth-child(2){background:#33301a}
:root:not([data-theme=light]) .theme:nth-child(3){background:#3a2522}
:root:not([data-theme=light]) .tag{background:#27334a}
:root:not([data-theme=light]) .tag.orange{background:#3a2522;color:#ffb3a6}
:root:not([data-theme=light]) .tips{border-left-color:#b8902a}
:root:not([data-theme=light]) .note-banner,:root:not([data-theme=light]) .visit-alert{background:#33301a;color:#f0dc9a}
:root:not([data-theme=light]) .estimate-box>div{background:#1f3048}
:root:not([data-theme=light]) .estimate-box>div:last-child{background:#33301a}
:root:not([data-theme=light]) .map-preview{background:#1f3048}
:root:not([data-theme=light]) .photo-credit,:root:not([data-theme=light]) .fiction{background:#141c2bb3;color:var(--muted)}
:root:not([data-theme=light]) .hero-note .seed{background:#4a3f16}
:root:not([data-theme=light]) .detail-bottom{background:var(--white);border-top-color:var(--line)}
:root:not([data-theme=light]) .weather:not([class*=wx-]),:root:not([data-theme=light]) .weather-mini:not([class*=wx-]){background:#3a331a;color:#f0dc9a}
:root:not([data-theme=light]) .weather:not([class*=wx-]) .weather-footer{background:#4a4120bf;color:#f0dc9a}
:root:not([data-theme=light]) .weather:not([class*=wx-]) .weather-copy{color:#e8d59a}
:root:not([data-theme=light]) .weather[class*=wx-],:root:not([data-theme=light]) .weather-mini[class*=wx-]{filter:brightness(.92)}
:root:not([data-theme=light]) dialog{background:var(--paper);color:var(--ink)}
:root:not([data-theme=light]) .close{background:#27334a;color:var(--ink)}
:root:not([data-theme=light]) .option.selected{background:#27334a;border-color:var(--primary)}
:root:not([data-theme=light]) .district-picker select{background:var(--white);color:var(--ink);border-color:var(--line)}
:root:not([data-theme=light]) .map-type-select,:root:not([data-theme=light]) .outing-type-select{background-color:var(--white);color:var(--ink);border-color:var(--line);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='m4 6 4 4 4-4' fill='none' stroke='%23c9d6df' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
:root:not([data-theme=light]) .map-type-select option,:root:not([data-theme=light]) .outing-type-select option{background:var(--white);color:var(--ink)}
:root:not([data-theme=light]) .map-type-select.on,:root:not([data-theme=light]) .outing-type-select.on{background-color:var(--btn);color:#fff;border-color:var(--btn);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='m4 6 4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
:root:not([data-theme=light]) #family-map,:root:not([data-theme=light]) .map-canvas-wrap{background:#141c2b}
:root:not([data-theme=light]) .map-mode .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) grayscale(.55) brightness(.85) contrast(.9);opacity:.85}
:root:not([data-theme=light]) .map-mode .map-detailed .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) saturate(.6) brightness(.9);opacity:1}
:root:not([data-theme=light]) #map-search{background:var(--white);border-color:var(--line);box-shadow:0 4px 16px #0006}
:root:not([data-theme=light]) #map-search input{color:var(--ink)}
:root:not([data-theme=light]) #map-search button{background:#27334a;color:var(--primary)}
:root:not([data-theme=light]) .map-chip{background:var(--white);border-color:var(--line);color:var(--ink);box-shadow:0 2px 5px #0005}
:root:not([data-theme=light]) .map-chip.on{background:var(--btn);border-color:var(--btn);color:#fff}
:root:not([data-theme=light]) .map-controls button{background:var(--white);border-color:var(--line);color:var(--ink);box-shadow:0 4px 12px #0006}
:root:not([data-theme=light]) .map-controls button.map-detail-toggle[aria-pressed=true]{background:#27334a}
:root:not([data-theme=light]) .map-legend,:root:not([data-theme=light]) .origin-label,:root:not([data-theme=light]) .map-mode .leaflet-control-attribution{background:#1d273af0;color:var(--muted)}
:root:not([data-theme=light]) .map-mode .leaflet-control-attribution a{color:var(--primary)}
:root:not([data-theme=light]) .map-load-error{background:#3a331a;color:#f0dc9a}
:root:not([data-theme=light]) .sheet-handle span{background:#46557a}
:root:not([data-theme=light]) .leaflet-popup-content-wrapper,:root:not([data-theme=light]) .leaflet-popup-tip{background:var(--white);color:var(--ink)}
:root:not([data-theme=light]) .map-place-popup-tags span{background:#27334a;color:var(--ink)}
:root:not([data-theme=light]) .map-place-popup a{background:var(--btn);color:#fff}
:root:not([data-theme=light]) .map-place-popup a:hover,:root:not([data-theme=light]) .map-place-popup a:focus-visible{background:#3d8fd6;outline-color:#7cc4f5}
:root:not([data-theme=light]) .leaflet-popup-close-button{color:var(--muted)!important}
:root:not([data-theme=light]) .place-pin{border-color:#141c2b}
:root:not([data-theme=light]) .mobile-filter-toggle{background:var(--white);border-color:var(--line);color:var(--ink)}
:root:not([data-theme=light]) .mobile-filter-toggle[aria-expanded=true]{background:#27334a;color:var(--primary)}
:root:not([data-theme=light]) .theme-toggle{background:var(--white);border-color:var(--line);color:#f0d27a}
:root:not([data-theme=light]) .leaflet-tooltip{background:var(--white);color:var(--ink);border-color:var(--line);box-shadow:0 2px 8px #0006}
:root:not([data-theme=light]) .leaflet-tooltip-top:before{border-top-color:var(--white)}
:root:not([data-theme=light]) .leaflet-tooltip-bottom:before{border-bottom-color:var(--white)}
:root:not([data-theme=light]) .leaflet-tooltip-left:before{border-left-color:var(--white)}
:root:not([data-theme=light]) .leaflet-tooltip-right:before{border-right-color:var(--white)}
:root:not([data-theme=light]) .closed-tag{color:#141c2b}
:root:not([data-theme=light]) .theme small{color:var(--muted)}
:root:not([data-theme=light]) .toast{background:#eef2f7;color:#141c2b}
}
:root[data-theme=dark]{--paper:#141c2b;--white:#1d273a;--ink:#eef2f7;--muted:#9fb0c4;--primary:#7cc4f5;--pale:#27334a;--coral:#ff9c82;--line:#34415a;--yellow:#e8c24a;--sunshine:#e8c24a;--btn:#2a72ad;color-scheme:dark}
:root[data-theme=dark] body{background:var(--paper);color:var(--ink)}
:root[data-theme=dark] .preview{background:#182233;color:var(--muted)}
:root[data-theme=dark] .header,:root[data-theme=dark] .map-mode .header{background:transparent;box-shadow:none}
:root[data-theme=dark] .map-mode .header{background:transparent;box-shadow:none}
:root[data-theme=dark] .theme-toggle{box-shadow:0 2px 10px #0000005c}
:root[data-theme=dark] .location{background:var(--white);border-color:var(--line);color:var(--ink)}
:root[data-theme=dark] .mobile-nav,:root[data-theme=dark] .map-mode .mobile-nav{background:#161f2ff2;border-top-color:var(--line)}
:root[data-theme=dark] .mobile-nav .nav-item.active svg{fill:#27334a}
:root[data-theme=dark] .brand{color:#7cc4f5}
:root[data-theme=dark] .header .brand,:root[data-theme=dark] .brand-logo{mix-blend-mode:normal}
:root[data-theme=dark] .primary{background:var(--btn);color:#fff}
:root[data-theme=dark] .secondary{background:var(--white);border-color:var(--line);color:var(--ink)}
:root[data-theme=dark] .filter{background:var(--white);border-color:var(--line);color:var(--ink)}
:root[data-theme=dark] .filter.active,:root[data-theme=dark] .pill.selected{background:var(--btn);border-color:var(--btn);color:#fff}
:root[data-theme=dark] .sort-toggle{background:#27334a}
:root[data-theme=dark] .sort-toggle button[aria-pressed=true]{background:#3a4866;color:#eef2f7;box-shadow:none}
:root[data-theme=dark] .tool-button{background:#1d273ae6;border-color:#34415a;color:var(--primary)}
:root[data-theme=dark] .tool-button:hover{background:#27334a}
:root[data-theme=dark] .weather-rain{background:var(--btn)}
:root[data-theme=dark] .place-card,:root[data-theme=dark] .nearby-card,:root[data-theme=dark] .planning,:root[data-theme=dark] .detail-aside,:root[data-theme=dark] .facility-item,:root[data-theme=dark] .option,:root[data-theme=dark] .place-highlights article{background:var(--white);border-color:var(--line)}
:root[data-theme=dark] .place-card:hover{box-shadow:0 9px 26px #0006}
:root[data-theme=dark] .card-image{background:#27334a}
:root[data-theme=dark] .image-badge,:root[data-theme=dark] .save,:root[data-theme=dark] .nearby-image .nearby-setting{background:#141c2bd9;color:var(--ink)}
:root[data-theme=dark] .save.saved svg{fill:#e5484d;stroke:#e5484d}
:root[data-theme=dark] .reason{background:#1f3048;color:#a9d6f5}
:root[data-theme=dark] .crowd-row{border-top-color:var(--line)}
:root[data-theme=dark] .parent-tag{background:#173a2c;color:#8fe0b0}
:root[data-theme=dark] .parent-tag.unconfirmed{background:#283244;color:var(--muted)}
:root[data-theme=dark] .nearby-card.selected{background:#1e3552;border-color:#4a90d0;box-shadow:0 0 0 1px #4a90d055}
:root[data-theme=dark] .nearby-detail{background:#27334a;color:var(--primary)}
:root[data-theme=dark] .nearby-reason{color:#a9d6f5;border-top-color:var(--line)}
:root[data-theme=dark] .nearby-panel{background:var(--paper);border-color:var(--line)}
:root[data-theme=dark] .panel-foot{background:var(--paper);border-top-color:var(--line)}
:root[data-theme=dark] .empty{background:#182233;border-color:#3a4866}
:root[data-theme=dark] .theme{background:#1f3048}
:root[data-theme=dark] .theme:nth-child(2){background:#33301a}
:root[data-theme=dark] .theme:nth-child(3){background:#3a2522}
:root[data-theme=dark] .tag{background:#27334a}
:root[data-theme=dark] .tag.orange{background:#3a2522;color:#ffb3a6}
:root[data-theme=dark] .tips{border-left-color:#b8902a}
:root[data-theme=dark] .note-banner,:root[data-theme=dark] .visit-alert{background:#33301a;color:#f0dc9a}
:root[data-theme=dark] .estimate-box>div{background:#1f3048}
:root[data-theme=dark] .estimate-box>div:last-child{background:#33301a}
:root[data-theme=dark] .map-preview{background:#1f3048}
:root[data-theme=dark] .photo-credit,:root[data-theme=dark] .fiction{background:#141c2bb3;color:var(--muted)}
:root[data-theme=dark] .hero-note .seed{background:#4a3f16}
:root[data-theme=dark] .detail-bottom{background:var(--white);border-top-color:var(--line)}
:root[data-theme=dark] .weather:not([class*=wx-]),:root[data-theme=dark] .weather-mini:not([class*=wx-]){background:#3a331a;color:#f0dc9a}
:root[data-theme=dark] .weather:not([class*=wx-]) .weather-footer{background:#4a4120bf;color:#f0dc9a}
:root[data-theme=dark] .weather:not([class*=wx-]) .weather-copy{color:#e8d59a}
:root[data-theme=dark] .weather[class*=wx-],:root[data-theme=dark] .weather-mini[class*=wx-]{filter:brightness(.92)}
:root[data-theme=dark] dialog{background:var(--paper);color:var(--ink)}
:root[data-theme=dark] .close{background:#27334a;color:var(--ink)}
:root[data-theme=dark] .option.selected{background:#27334a;border-color:var(--primary)}
:root[data-theme=dark] .district-picker select{background:var(--white);color:var(--ink);border-color:var(--line)}
:root[data-theme=dark] .map-type-select,:root[data-theme=dark] .outing-type-select{background-color:var(--white);color:var(--ink);border-color:var(--line);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='m4 6 4 4 4-4' fill='none' stroke='%23c9d6df' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
:root[data-theme=dark] .map-type-select option,:root[data-theme=dark] .outing-type-select option{background:var(--white);color:var(--ink)}
:root[data-theme=dark] .map-type-select.on,:root[data-theme=dark] .outing-type-select.on{background-color:var(--btn);color:#fff;border-color:var(--btn);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='m4 6 4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
:root[data-theme=dark] #family-map,:root[data-theme=dark] .map-canvas-wrap{background:#141c2b}
:root[data-theme=dark] .map-mode .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) grayscale(.55) brightness(.85) contrast(.9);opacity:.85}
:root[data-theme=dark] .map-mode .map-detailed .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) saturate(.6) brightness(.9);opacity:1}
:root[data-theme=dark] #map-search{background:var(--white);border-color:var(--line);box-shadow:0 4px 16px #0006}
:root[data-theme=dark] #map-search input{color:var(--ink)}
:root[data-theme=dark] #map-search button{background:#27334a;color:var(--primary)}
:root[data-theme=dark] .map-chip{background:var(--white);border-color:var(--line);color:var(--ink);box-shadow:0 2px 5px #0005}
:root[data-theme=dark] .map-chip.on{background:var(--btn);border-color:var(--btn);color:#fff}
:root[data-theme=dark] .map-controls button{background:var(--white);border-color:var(--line);color:var(--ink);box-shadow:0 4px 12px #0006}
:root[data-theme=dark] .map-controls button.map-detail-toggle[aria-pressed=true]{background:#27334a}
:root[data-theme=dark] .map-legend,:root[data-theme=dark] .origin-label,:root[data-theme=dark] .map-mode .leaflet-control-attribution{background:#1d273af0;color:var(--muted)}
:root[data-theme=dark] .map-mode .leaflet-control-attribution a{color:var(--primary)}
:root[data-theme=dark] .map-load-error{background:#3a331a;color:#f0dc9a}
:root[data-theme=dark] .sheet-handle span{background:#46557a}
:root[data-theme=dark] .leaflet-popup-content-wrapper,:root[data-theme=dark] .leaflet-popup-tip{background:var(--white);color:var(--ink)}
:root[data-theme=dark] .map-place-popup-tags span{background:#27334a;color:var(--ink)}
:root[data-theme=dark] .map-place-popup a{background:var(--btn);color:#fff}
:root[data-theme=dark] .map-place-popup a:hover,:root[data-theme=dark] .map-place-popup a:focus-visible{background:#3d8fd6;outline-color:#7cc4f5}
:root[data-theme=dark] .leaflet-popup-close-button{color:var(--muted)!important}
:root[data-theme=dark] .place-pin{border-color:#141c2b}
:root[data-theme=dark] .mobile-filter-toggle{background:var(--white);border-color:var(--line);color:var(--ink)}
:root[data-theme=dark] .mobile-filter-toggle[aria-expanded=true]{background:#27334a;color:var(--primary)}
:root[data-theme=dark] .theme-toggle{background:var(--white);border-color:var(--line);color:#f0d27a}
:root[data-theme=dark] .leaflet-tooltip{background:var(--white);color:var(--ink);border-color:var(--line);box-shadow:0 2px 8px #0006}
:root[data-theme=dark] .leaflet-tooltip-top:before{border-top-color:var(--white)}
:root[data-theme=dark] .leaflet-tooltip-bottom:before{border-bottom-color:var(--white)}
:root[data-theme=dark] .leaflet-tooltip-left:before{border-left-color:var(--white)}
:root[data-theme=dark] .leaflet-tooltip-right:before{border-right-color:var(--white)}
:root[data-theme=dark] .closed-tag{color:#141c2b}
:root[data-theme=dark] .theme small{color:var(--muted)}
:root[data-theme=dark] .toast{background:#eef2f7;color:#141c2b}
