.map-page-root{--map-neon-bg:#0e0b1cd1;--map-neon-bg-deep:#090812f0;--map-neon-border:#a878ff38;--map-neon-border-soft:#ffffff14;--map-neon-pink:#fc3484;--map-neon-cyan:#35dde2;--map-neon-purple:#9b6dff;--map-sidebar-width:320px;--map-rail-width:52px;--map-edge:16px;--map-radius:14px}.map-page-root .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-page-root,.map-page-root .leaflet-container{background:#2d66a4}.map-sidebar{pointer-events:none;z-index:1000;top:var(--map-edge);left:var(--map-edge);position:absolute}.map-sidebar-stack{pointer-events:auto;border:1px solid var(--map-neon-border);border-radius:var(--map-radius);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:linear-gradient(165deg,#161028eb 0%,#0c0a18e0 100%);align-items:stretch;display:flex;overflow:hidden;box-shadow:0 0 0 1px #fc34840f,0 0 28px #fc34841f,0 0 48px #35dde214,0 20px 48px #00000073}.map-sidebar-rail{width:var(--map-rail-width);border-right:1px solid var(--map-neon-border-soft);background:#0806108c;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;display:flex}.map-rail-divider{background:linear-gradient(90deg,#0000,#9b6dff73,#0000);width:24px;height:1px;margin:2px 0}.map-rail-btn{color:#ffffffb8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .15s;display:flex;position:relative}.map-rail-btn:hover:not(:disabled){color:#fff;background:#fc34841f;border-color:#fc348447;box-shadow:0 0 14px #fc348440}.map-rail-btn:active:not(:disabled){transform:scale(.94)}.map-rail-btn:disabled{opacity:.35;cursor:not-allowed}.map-rail-btn-brand{color:#fff;background:linear-gradient(135deg,#fc348459,#9b6dff40);border-color:#fc348459;box-shadow:0 0 16px #fc34844d}.map-rail-btn-brand:hover:not(:disabled){background:linear-gradient(135deg,#fc348480,#9b6dff59);box-shadow:0 0 20px #fc348473}.map-rail-btn-active{color:#fff;background:#fc348433;border-color:#fc348480;box-shadow:0 0 0 1px #fc348440,0 0 18px #fc348473,inset 0 0 12px #fc34841f}.map-rail-badge{background:var(--map-neon-pink);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 10px #fc348499}.map-sidebar-panel{width:var(--map-sidebar-width);max-width:calc(100vw - var(--map-edge) * 2 - var(--map-rail-width) - 24px)}.map-sidebar-header{border-bottom:1px solid var(--map-neon-border-soft);padding:14px 16px 12px}.map-sidebar-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.map-sidebar-title{letter-spacing:-.02em;color:#fff;text-shadow:0 0 24px #fc348440;margin:0;font-size:15px;font-weight:700;line-height:1.2}.map-sidebar-subtitle{color:#ffffff8c;align-items:center;gap:6px;margin:6px 0 0;font-size:11px;line-height:1.35;display:flex}.map-sidebar-subtitle svg{color:var(--map-neon-cyan);filter:drop-shadow(0 0 6px #35dde280)}.map-sidebar-meta{flex-direction:column;gap:4px;margin-top:12px;display:flex}.map-sidebar-count{font-family:var(--font-mono), ui-monospace, monospace;color:var(--map-neon-cyan);text-shadow:0 0 14px #35dde259;font-size:11px;font-weight:600}.map-sidebar-loading{color:#ffffffa6;font-size:11px}.map-sidebar-error{color:#ff6eb0;font-size:11px}.map-sidebar-filters{padding:12px 16px 16px}.map-sidebar-section-label{letter-spacing:.16em;text-transform:uppercase;color:#ffffff6b;margin:0 0 10px;font-size:10px;font-weight:700}.map-sidebar-filters-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:420px){.map-sidebar-filters-grid{grid-template-columns:1fr}}.map-sidebar-field{flex-direction:column;gap:6px;min-width:0;display:flex}.map-sidebar-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffff73;font-size:10px;font-weight:600}.map-sidebar-select{background:var(--map-neon-bg-deep);color:#f7f7fa;border:1px solid #9b6dff38;border-radius:9px;outline:none;width:100%;padding:9px 10px;font-size:12px;line-height:1.3;transition:border-color .2s,box-shadow .2s}.map-sidebar-select:hover{border-color:#fc348459}.map-sidebar-select:focus{border-color:#35dde280;box-shadow:0 0 0 3px #35dde21f}.map-sidebar-select option{color:#f7f7fa;background:#11131d}@media (max-width:639px){.map-sidebar{right:var(--map-edge)}.map-sidebar-panel{flex:1;width:auto;min-width:0}}.map-page-root .leaflet-control-zoom{display:none!important}.map-pin-icon{justify-content:center;align-items:center;background:0 0!important;border:none!important;display:flex!important}.map-pin-icon.is-selected{filter:drop-shadow(0 0 8px #ffffff8c)}.map-pin-icon.is-saved{filter:drop-shadow(0 0 6px #fbbf2473)}.map-sidebar-disclaimer{color:#ffffff80;margin:8px 0 0;font-size:11px;line-height:1.4}.map-sidebar-search-wrap{margin-top:12px}.map-toolbar-row{flex-wrap:wrap;gap:8px 12px;margin-top:10px;display:flex}.map-text-btn{color:var(--map-neon-cyan);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:600}.map-text-btn:hover{text-decoration:underline}.map-search{position:relative}.map-search-field{background:var(--map-neon-bg-deep);border:1px solid #9b6dff38;border-radius:9px;align-items:center;gap:8px;padding:0 10px;display:flex}.map-search-icon{color:#ffffff73;flex-shrink:0}.map-search-input{color:#f7f7fa;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 0;font-size:13px;line-height:1.3}.map-search-clear{color:#ffffff8c;cursor:pointer;background:0 0;border:0;padding:2px;display:flex}.map-search-results{z-index:20;border:1px solid var(--map-neon-border);background:#0a0912f5;border-radius:10px;max-height:min(280px,42vh);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 40px #00000080}.map-search-hit{text-align:left;color:#f7f7fa;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.map-search-hit:hover,.map-search-hit.is-active{background:#fc348424}.map-search-hit-title{font-size:13px;font-weight:600}.map-search-saved{color:#fbbf24;margin-left:6px;font-size:11px;font-weight:500}.map-search-hit-meta,.map-search-empty{color:#ffffff8c;font-size:11px}.map-search-empty{padding:10px}.map-legend-list{flex-direction:column;gap:4px;max-height:220px;margin:0 0 14px;padding:0;list-style:none;display:flex;overflow:auto}.map-legend-item{color:#ffffffd9;cursor:pointer;align-items:center;gap:8px;padding:4px 2px;font-size:12px;display:flex}.map-legend-swatch{border-radius:999px;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 0 1px #00000059}.map-legend-label{flex:1;min-width:0}.map-legend-count{font-family:var(--font-mono), ui-monospace, monospace;color:#ffffff73;font-size:11px}.map-saved-only{border-top:1px solid var(--map-neon-border-soft);margin-top:4px;padding-top:8px}.map-saved-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-saved-device{color:#ffffff73;margin:0 0 10px;font-size:11px}.map-saved-empty{color:#fff9;margin:0;font-size:12px;line-height:1.45}.map-saved-list{flex-direction:column;gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.map-saved-item{align-items:center;gap:4px;display:flex}.map-saved-select{text-align:left;color:#f7f7fa;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;min-width:0;padding:8px;font-size:12px}.map-saved-select:hover{background:#ffffff0f}.map-saved-remove{color:#ffffff80;cursor:pointer;background:0 0;border:0;padding:6px;display:flex}.map-poi-panel,.map-poi-sheet{pointer-events:auto;z-index:1100;border:1px solid var(--map-neon-border);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);color:#f7f7fa;background:linear-gradient(165deg,#161028f2 0%,#0c0a18f0 100%);flex-direction:column;display:flex;position:absolute;box-shadow:0 0 0 1px #fc34840f,0 20px 48px #00000073}.map-poi-panel{top:var(--map-edge);right:var(--map-edge);border-radius:var(--map-radius);width:min(340px,100vw - 32px);max-height:calc(100% - 32px);overflow:auto}.map-poi-sheet{left:var(--map-edge);right:var(--map-edge);bottom:var(--map-edge);border-radius:16px 16px 14px 14px;max-height:min(46vh,360px);overflow:auto}.map-poi-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 8px;display:flex}.map-poi-kicker{letter-spacing:.14em;text-transform:uppercase;color:#ffffff73;margin:0 0 4px;font-size:10px;font-weight:700}.map-poi-title{margin:0;font-size:17px;font-weight:700;line-height:1.25}.map-poi-close{color:#ffffffa6;cursor:pointer;background:0 0;border:0;padding:4px;display:flex}.map-poi-body{padding:0 14px 16px}.map-poi-meta{color:#ffffff9e;margin:0 0 8px;font-size:12px}.map-poi-note{color:#ffffff80;margin:0 0 10px;font-size:11px}.map-poi-actions{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.map-action-btn,.map-action-link{color:#f7f7fa;cursor:pointer;background:#ffffff0a;border:1px solid #9b6dff47;border-radius:9px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.map-action-btn.is-saved{color:#fde68a;border-color:#fbbf2473}.map-action-btn:disabled{opacity:.45;cursor:not-allowed}.map-poi-hint{color:#ffffffb3;margin:8px 0 0;font-size:12px}.map-poi-nearby ul{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.map-nearby-btn{text-align:left;color:#f7f7fa;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:8px;font-size:12px}.map-nearby-btn:hover,.map-nearby-btn.is-current{background:#35dde21f}@media (max-width:767px){.map-sidebar{right:var(--map-edge)}.map-sidebar-panel{flex:1;width:auto;min-width:0;max-height:min(42vh,320px);overflow:auto}.map-page-root .leaflet-bottom.leaflet-right{margin-bottom:0;bottom:8px}body:has(.cookie-notice) .map-page-root .leaflet-bottom{bottom:10rem}}.map-popup .leaflet-popup-content-wrapper{color:#f7f7fa;background:#0e0b1cf2;border:1px solid #a878ff40;border-radius:10px;box-shadow:0 12px 32px #00000073,0 0 20px #fc34841a}.map-popup .leaflet-popup-tip{background:#0e0b1cf2}.map-popup .leaflet-popup-content{margin:10px 12px}.map-popup a.leaflet-popup-close-button{color:#f7f7fa}
