/* INDEX-only fixed oblique map. The /2d snapshot has its own assets. */
#map.map-oblique{background:#f4efe4!important;filter:none!important}
.map-panel:has(.map-oblique),.atlas-stage:has(.map-oblique){background:#f4efe4}
.site-25d{position:absolute;left:0;top:0;transform-origin:0 0;cursor:pointer;outline:none;pointer-events:auto}
.site-25d-image{display:block;width:100%;height:100%;object-fit:contain;filter:none;user-select:none;-webkit-user-drag:none;transition:opacity .2s,filter .2s}
.site-25d-dual{pointer-events:none}
.site-25d-dual>.site-25d-image{pointer-events:auto}
.site-25d-detail-image{position:absolute;max-width:none}
.site-25d:focus-visible{outline:2px solid #92784b;outline-offset:3px;border-radius:6px}
.site-25d-gwanghwamun::after{content:'';position:absolute;left:var(--site-anchor-x);top:var(--site-anchor-y);width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%}
.site-25d-name{background:none;border:0;text-align:center;cursor:pointer}
.site-25d-name span{display:inline-block;max-width:100%;box-sizing:border-box;white-space:nowrap;padding:3px 9px;border:1px solid #ddd5c8;border-radius:14px;background:rgba(255,253,248,.95);color:#35352f;font-family:inherit;font-size:12px;line-height:18px;font-weight:600;box-shadow:0 1px 3px #382d2110}
.map-oblique[data-subway="true"] .site-25d-image{opacity:.42;filter:saturate(.4)}
.atlas-stage:has(.map-oblique) .compass{transform:rotate(25deg)}
.map-oblique .leaflet-control-attribution{background:rgba(255,253,248,.86);color:#706b61}
.map-oblique .leaflet-control-scale-line{background:rgba(255,253,248,.8);color:#565147;border-color:#81796c}
@media(max-width:640px){
  .atlas-stage:has(.map-oblique):not(.map-expanded) .map-canvas{height:clamp(410px,55svh,480px)}
}
@media(prefers-reduced-motion:reduce){.site-25d-image{transition:none}}

/* North-up relief pilot. The legacy /2d snapshot keeps its own styles. */
#map.map-relief{background:#f7f5ef!important;filter:none!important}
.map-panel:has(.map-relief),.atlas-stage:has(.map-relief){background:#f7f5ef}
.atlas-stage:has(.map-relief) .compass{transform:none}
.relief-landmark{background:none;border:0;overflow:visible!important;outline:none;cursor:pointer}
.relief-landmark-body{position:absolute;pointer-events:none;transition:width .18s ease,height .18s ease,left .18s ease,top .18s ease}
.relief-landmark img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:auto;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 2px 1px #443a251c);transition:filter .18s ease,opacity .18s ease}
.relief-landmark-name{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:1px;padding:3px 9px;background:rgba(255,254,250,.94);border:1px solid #ded9cf;border-radius:14px;white-space:nowrap;font-size:12px;line-height:18px;font-weight:600;color:#302f29;pointer-events:auto;box-shadow:0 1px 2px #3024140b}
.relief-landmark:focus-visible .relief-landmark-name{outline:2px solid #51483c;outline-offset:3px}
.relief-landmark:hover img{filter:drop-shadow(0 3px 2px #443a2533)}
.map-relief[data-subway="true"] .relief-landmark img{opacity:.5;filter:saturate(.5)}
.map-relief .leaflet-control-attribution,.map-relief .leaflet-control-scale-line{background:rgba(247,245,239,.9);color:#77736b}
.map-relief .leaflet-control-scale-line{border-color:#928e85}
@media(max-width:640px){.atlas-stage:has(.map-relief):not(.map-expanded) .map-canvas{height:clamp(410px,55svh,480px)}}
@media(prefers-reduced-motion:reduce){.relief-landmark-body,.relief-landmark img{transition:none}}

/* One physical map, two lighting conditions. INDEX owns this opt-in theme. */
:root[data-map-theme]{--relief-paper:#f7f5ef;--relief-label:#fffefa;--relief-label-edge:#ded9cf;--relief-ink:#302f29}
:root[data-map-theme=night]{color-scheme:dark;--bg:#131e26;--surface:#1e2c36;--elevated:#2c3d48;--ink:#e7edea;--muted:#b2c0c4;--faint:#899ca3;--line:#3b4d59;--accent:#b3d8c7;--accent-dark:#c5e2d6;--accent-soft:#273e39;--paper:var(--surface);--control-border:var(--line);--relief-paper:#17232c;--relief-label:#202f3b;--relief-label-edge:#4b5c65;--relief-ink:#edf0e7}
#map.map-relief,.map-panel:has(.map-relief),.atlas-stage:has(.map-relief){background:var(--relief-paper)!important}
.relief-webgl{max-width:none!important;outline:0;transition:opacity .2s}
.relief-3d-label{background:none;border:0;outline:0;cursor:pointer}
.relief-3d-label .relief-landmark-name{left:0;top:0;margin:0}
.relief-landmark-name{background:var(--relief-label);border-color:var(--relief-label-edge);color:var(--relief-ink)}
.relief-3d-label:focus-visible .relief-landmark-name{outline:2px solid var(--accent);outline-offset:3px}
.map-light-toggle{position:absolute;bottom:36px;left:18px;z-index:710;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--ink);box-shadow:0 2px 5px #0000000d;cursor:pointer;transition:background .2s,color .2s}
.map-light-toggle:hover{background:var(--elevated)}
.map-light-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.map-light-toggle[aria-pressed=true]{color:#f5ce87}
[data-map-theme=night] .site-header .brand-logo{filter:invert(1);mix-blend-mode:screen}
[data-map-theme=night] :is(.site-header,.explore-panel,.onlyseoul-footer){background:var(--bg);color:var(--ink)}
[data-map-theme=night] :is(.place-card,.place-card-body,.card-content,.detail-content){background:var(--bg);color:var(--ink)}
[data-map-theme=night] :is(.map-levels,.search-box,.map-search-results,.map-level-option,.map-level-picker,.header-icon,.map-expand-button,.map-tools button,.zoom-group,.subway-actions button){background:var(--bg);color:var(--ink);border-color:var(--line)}
[data-map-theme=night] .map-search-result:hover{background:var(--elevated)}
[data-map-theme=night] :is(.atlas-pin,.map-title-chip,.marker-label,.neighborhood-label,.leaflet-tooltip){background:var(--surface);color:var(--ink);border-color:var(--line);text-shadow:none}
[data-map-theme=night] .map-relief :is(.leaflet-control-attribution,.leaflet-control-scale-line){background:#17232ce8!important;color:var(--muted)!important}
[data-map-theme=night] .map-relief .leaflet-control-attribution a{color:var(--muted)!important}
[data-map-theme=night] .relief-landmark img{filter:brightness(.8) saturate(.8) drop-shadow(0 3px 3px #0005)}
[data-map-theme=night] :is(.site-trip-dialog,#place-dialog,#trip-dialog,#info-dialog,#auth-dialog){background:var(--bg);color:var(--ink)}
@media(max-width:640px){.map-light-toggle{left:12px;bottom:36px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.relief-webgl,.map-light-toggle{transition:none}}
.photoreal-landmark .relief-landmark-body{transition:none}
.photo-landmark-art{position:absolute;inset:0;pointer-events:auto}
.photoreal-landmark .photo-landmark-art img{position:absolute;inset:0;filter:none!important;pointer-events:none;transition:opacity .3s ease}
.photoreal-landmark .photo-night{opacity:0}
.map-relief[data-subway="true"] .photo-landmark-art{opacity:.35}
@media(prefers-reduced-motion:reduce){.photoreal-landmark .photo-landmark-art img{transition:none}}
[data-map-theme=night] :is(#mobile-map-reset,#mobile-search-toggle,#map-locate){background:var(--bg)!important;color:var(--ink)!important}
[data-map-theme=night] .discovery-point-marker .atlas-pin{background:#31444f!important;color:#e8efec!important;border-color:#a8b9ba!important}
[data-map-theme=night] :is(.card-save,.card-save svg){color:#17231e}
[data-map-theme=night] :is(.category-button,.card-meta,.card-subtitle,#results-count,.section-index,.collection-footer){color:var(--muted)}
[data-map-theme=night] .category-button.active{background:var(--surface);color:var(--ink)}
@media(max-width:640px){.map-light-toggle{bottom:96px}}
[data-map-theme=night] .atlas-controls>.all-seoul-button{background:var(--bg);color:var(--ink)}
[data-map-theme=night] .save-button{background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-map-theme=night] .save-button.saved{background:var(--accent);color:var(--bg)}
[data-map-theme=night] .section-heading #results-count{color:var(--muted)}
[data-map-theme=night] :is(.search-result-symbol,.map-search-results>button:hover,.map-search-results>button[aria-selected=true]){background:var(--elevated)}
[data-map-theme=night] :is(.detail-description,.detail-meta,.photo-credit,.detail-facts,.card-area,.card-description){color:var(--muted)}
