/* Map-first INDEX: full desktop card copy, a seven-card mobile fan and a bottom tool dock. */
.map-collection-layout .collection-announcement{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.map-collection-layout #explore-panel{padding:16px 0 0}
body.map-collection-layout #explore-panel .collection-footer{display:none}
body.map-collection-layout #place-grid{grid-auto-columns:calc((100% - 80px)/5.5);gap:16px;min-height:0;padding-bottom:12px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
body.map-collection-layout .place-card{scroll-snap-align:start}
body.map-collection-layout .atlas-stage:not(.map-expanded) .map-canvas:has(#map){height:clamp(240px,calc(100svh - var(--desktop-map-reserve,450px)),760px)!important}
#place-fan-toggle,#mobile-map-dock,#map-exit-actions{display:none}
#map-discovery-controls{position:absolute;z-index:720;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;margin:0;padding:6px;border:1px solid var(--line);border-radius:30px;background:var(--bg,#fff);box-shadow:0 3px 16px #17231e12;max-width:calc(100% - 200px)}
#map-discovery-controls .category-list{display:flex;gap:2px;margin:0;padding:0;overflow:visible}
#map-discovery-controls .category-button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 10px;white-space:nowrap;font-size:12px}
#map-discovery-controls .category-button svg{width:16px;height:16px;flex:none}
#map-discovery-controls .collection-actions{position:relative;display:flex;gap:5px;align-items:center}
#map-discovery-controls :is(.saved-toggle,#filters-button){display:flex;align-items:center;justify-content:center;gap:6px;height:40px;min-height:40px;white-space:nowrap}
#map-discovery-controls #filters-button{width:40px;padding:0;border-radius:50%}
#map-discovery-controls .saved-toggle{padding:0 10px}
#map-discovery-controls :is(.saved-toggle,#filters-button) svg{width:18px;height:18px}
#map-discovery-controls .filter-options{position:absolute;top:calc(100% + 14px);right:0;z-index:20;width:min(350px,calc(100vw - 32px));padding:12px 6px 6px;border:1px solid var(--line);border-radius:20px;background:var(--bg);box-shadow:0 8px 24px #17231e20}
#map-discovery-controls .filter-options[hidden]{display:none}
#map-discovery-controls .filter-options{display:block;margin:0}
#map-discovery-controls .filter-field{width:100%}
body.map-collection-layout:has(#filters-button[aria-expanded=true]) .map-light-toggle{visibility:hidden}
#map-discovery-controls .category-button.active,#map-discovery-controls .saved-toggle[aria-pressed=true],#map-discovery-controls #filters-button[aria-expanded=true]{background:var(--accent-soft,var(--seoul-blue-soft));color:var(--ink);border-color:var(--line)}
@media(min-width:641px) and (max-width:1000px){#map-discovery-controls{max-width:calc(100% - 110px);left:16px;transform:none}#map-discovery-controls .category-button{padding:8px 7px;font-size:11px}.map-collection-layout .map-top{top:80px}}
@media(max-width:640px){
 body.map-collection-layout{--mobile-orbit-width:clamp(82px,25vw,108px);--mobile-orbit-height:calc(var(--mobile-orbit-width)*1.28);--mobile-fan-height:calc(var(--mobile-orbit-height) + 40px)}
 body.map-collection-layout .atlas-stage:not(.map-expanded) .map-canvas:has(#map){height:clamp(360px,calc(100svh - 132px),1000px)!important}
 body.map-collection-layout #atlas-controls{display:none!important}
 body.map-collection-layout #explore-panel{position:absolute;z-index:715;left:0;right:0;bottom:84px;width:100%;max-width:none;margin:0;padding:0;border:0;background:transparent;overflow:visible;pointer-events:none;transition:opacity .2s,transform .2s}
 body.map-collection-layout #explore-panel .panel-scroll{pointer-events:none}
 body.map-collection-layout #mobile-map-dock{position:absolute;z-index:760;left:50%;bottom:28px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;width:calc(100% - 16px);max-width:440px;align-items:center}
 body.map-collection-layout #mobile-map-dock>*,body.map-collection-layout #mobile-map-dock .map-levels{min-width:0;width:100%;position:relative;inset:auto;transform:none;margin:0;padding:0}
 body.map-collection-layout #mobile-map-dock .map-level-slot{height:auto}
 body.map-collection-layout #mobile-map-dock .map-levels{overflow:visible;border:0;background:transparent;box-shadow:none;animation:none}
 body.map-collection-layout #mobile-map-dock button{position:relative;inset:auto;transform:none;display:grid;place-items:center;appearance:none;box-sizing:border-box;width:100%;height:auto;min-width:0;min-height:0;max-width:none;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;padding:0;margin:0;background:var(--bg,#fff);color:var(--ink);box-shadow:0 2px 8px #17231e15;cursor:pointer;font-size:20px;line-height:1}
 body.map-collection-layout #mobile-map-dock button svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 body.map-collection-layout #mobile-map-dock [data-icon]{display:grid;place-items:center}
 body.map-collection-layout #mobile-map-dock :is(#subway-toggle,#map-light-toggle)[aria-pressed=true],body.map-collection-layout #place-fan-toggle[aria-expanded=true]{background:var(--accent-soft,var(--seoul-blue-soft));border-color:var(--line)}
 body.map-collection-layout #mobile-map-dock button:focus-visible{outline:2px solid var(--seoul-blue);outline-offset:2px}
 body.map-collection-layout #mobile-map-dock .subway-control{display:block;max-width:none}
 body.map-collection-layout #mobile-map-dock .subway-actions{display:block;width:100%}
 body.map-collection-layout #mobile-map-dock #subway-toggle{font-size:0;gap:0}
 body.map-collection-layout #mobile-map-dock :is(.subway-switch,.map-level-picker .map-level-copy,.map-level-picker .select-chevron){display:none}
 body.map-collection-layout #mobile-map-dock .map-level-picker{border-radius:50%}
 body.map-collection-layout #mobile-map-dock .map-level-options{position:absolute;z-index:25;top:auto;bottom:calc(100% + 12px);left:auto;right:0;width:210px;max-width:calc(100vw - 32px);max-height:50svh;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:18px;background:var(--bg);box-shadow:0 6px 24px #17231e22}
 body.map-collection-layout #mobile-map-dock .map-level-option{display:flex;justify-content:space-between;gap:8px;width:100%;height:auto;aspect-ratio:auto;border:0;border-radius:12px;box-shadow:none;padding:12px 10px;font-size:13px;line-height:1.4;text-align:left}
 body.map-collection-layout #mobile-map-dock .map-level-option[aria-selected=true]{background:var(--accent-soft,var(--seoul-blue-soft))}
 body.map-collection-layout #mobile-map-dock .subway-key{bottom:calc(100% + 12px);right:0;width:240px;max-width:calc(100vw - 32px)}
 body.map-collection-layout #mobile-map-dock #subway-key-toggle{position:absolute;right:0;bottom:calc(100% + 6px);width:32px;height:32px}
 body.map-collection-layout .map-canvas>#map-expand{display:grid;place-items:center;top:auto;right:12px;bottom:86px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;z-index:730}
 body.map-collection-layout .map-canvas>#map-expand>span:not([data-icon]){display:none}
 body.map-collection-layout .map-canvas>#map-expand svg{width:18px;height:18px}
 body.map-collection-layout .map-tools{display:none}
 body.map-collection-layout .is-fan-collapsed #explore-panel{opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none}
 body.map-collection-layout #map-exit-actions{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:6px 12px;box-sizing:border-box;touch-action:pan-y}
 body.map-collection-layout #map-exit-actions :is(#mobile-view-toggle,#mobile-trip-button){position:static;inset:auto;transform:none;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;height:42px;min-height:42px;border-radius:24px;font-size:12px;padding:0 18px;background:var(--ink);color:var(--bg);border:0;box-shadow:0 2px 8px #17231e15}
 body.map-collection-layout #map-exit-actions #mobile-trip-button{width:42px;padding:0}
 #map-exit-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 #map-discovery-controls{top:10px;left:12px;right:12px;transform:none;max-width:none;padding:4px;gap:0;border-radius:26px}
 #map-discovery-controls .category-list{flex:5;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
 #map-discovery-controls .category-button[data-category=nature]{display:none!important}
 #map-discovery-controls .collection-actions{flex:3;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
 #map-discovery-controls :is(.category-button,.saved-toggle,#filters-button,#mobile-search-toggle){display:grid;place-items:center;width:100%;min-width:0;min-height:40px;height:40px;padding:0;margin:0;border:0;border-radius:50%;gap:0;background:transparent;color:var(--ink)}
 #map-discovery-controls #mobile-search-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 #map-discovery-controls #search-form{display:none}
 #map-discovery-controls.is-searching :is(.category-list,.collection-actions){display:none}
 #map-discovery-controls.is-searching #search-form{display:flex;align-items:center;gap:10px;width:100%;height:40px;max-width:none;min-height:40px;padding:0 6px 0 12px;border:0;box-shadow:none;background:transparent}
 #map-discovery-controls #search-form>span{display:grid;place-items:center;flex:none}
 #map-discovery-controls #search-form svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 #map-discovery-controls #search-form input{min-width:0;width:100%;font-size:16px}
 #map-discovery-controls #search-form kbd{display:none}
 #map-discovery-controls #mobile-search-close{display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;flex:0 0 36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink)}
 #map-discovery-controls .map-search-results{left:0;right:0;max-height:min(350px,55svh)}
 #map-discovery-controls .category-button svg{width:18px;height:18px}
 #map-discovery-controls :is(.category-copy,.saved-toggle-label,#saved-count){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .map-collection-layout .map-top,.map-collection-layout .map-expanded .map-top{top:70px}
 #map-discovery-controls .filter-options{right:0;width:min(350px,calc(100vw - 32px));top:calc(100% + 10px)}
 #map-discovery-controls .filter-select-options{max-height:clamp(114px,calc(100svh - 350px),260px)!important}
 body.map-collection-layout #place-grid.is-place-orbit{position:relative;display:block;overflow:visible;padding:0;margin:0;min-height:0;scroll-snap-type:none;touch-action:pan-y;user-select:none;pointer-events:none}
 body.map-collection-layout #place-grid.is-place-orbit .place-card{position:absolute;top:12px;left:var(--fan-center,50%);width:var(--mobile-orbit-width);height:var(--mobile-orbit-height);border:2px solid var(--bg,#fff);border-radius:12px;overflow:hidden;transform-origin:50% calc(100% + 40px);background:var(--surface);box-shadow:0 3px 9px #17231e30;pointer-events:auto}
 body.map-collection-layout #place-grid.is-place-orbit .place-card-image{height:100%!important;width:100%;border-radius:0;position:absolute;inset:0}
 body.map-collection-layout #place-grid.is-place-orbit .place-card-image::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
 body.map-collection-layout #place-grid.is-place-orbit .card-title{position:absolute;left:4px;right:4px;bottom:7px;padding:0;width:calc(100% - 8px);max-height:none;color:white;font-size:clamp(10px,2.7vw,12px);line-height:1.3;text-align:center;text-wrap:balance;white-space:normal;overflow-wrap:anywhere;text-shadow:0 1px 4px #0008;z-index:2}
 body.map-collection-layout #place-grid.is-place-orbit .card-meta{display:none}
 body.map-collection-layout #place-grid.is-place-orbit .image-tag{display:none}
 body.map-collection-layout #place-grid.is-place-orbit .save-button{right:2px;top:2px;width:30px;height:30px;z-index:3}
 body.map-collection-layout #place-grid.is-place-orbit .save-button svg{width:14px;height:14px}
 body.map-collection-layout #place-grid.is-place-orbit .place-card:not(.is-orbit-active) .save-button{visibility:hidden}
 body.map-collection-layout #place-grid:not(.is-place-orbit){grid-auto-columns:70%;padding-inline:16px}
}
@media(max-width:360px){body.map-collection-layout #mobile-map-dock{gap:2px}}
@media(prefers-reduced-motion:reduce){.map-collection-layout :is(.place-card,#explore-panel,#place-fan-toggle,.map-tools,.map-light-toggle){transition:none!important}}
@media(min-width:641px){
 body.map-collection-layout #explore-panel{height:auto;max-height:none;overflow:visible}
 body.map-collection-layout #place-grid{height:auto;max-height:none;align-items:start}
 body.map-collection-layout #explore-panel .card-title{height:auto;max-height:none;white-space:normal;overflow:visible;overflow-wrap:anywhere}
 #map-discovery-controls :is(#filters-button,#map-light-toggle,#map-expand){position:static!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center;justify-content:center;flex:0 0 40px;width:40px!important;height:40px!important;min-width:40px;min-height:40px;max-width:40px;padding:0!important;margin:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:var(--bg);color:var(--ink);box-shadow:none!important;aspect-ratio:1}
 #map-discovery-controls :is(#filters-button,#map-light-toggle,#map-expand) svg{display:block;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 #map-discovery-controls #map-expand>span:not([data-icon]){display:none}
 #map-discovery-controls #map-expand>[data-icon]{display:flex;align-items:center;justify-content:center}
 #map-discovery-controls #map-light-toggle[aria-pressed=true]{color:#c49b51}
 body.map-collection-layout:has(#filters-button[aria-expanded=true]) #map-discovery-controls #map-light-toggle{visibility:visible}
}
