html,body{height:100%;overflow:hidden}body.map-page{flex-direction:column;display:flex}.mobile-only{display:none}.map-filterbar{border-bottom:1px solid var(--fxki-ui-2);background:var(--fxki-bg);z-index:1250;align-items:center;gap:.5rem;padding:.4rem .75rem;display:none;position:relative}.map-filterbar button#btn-filters{font:inherit;border:1px solid var(--fxki-ui-3);background:var(--fxki-bg-2);color:inherit;cursor:pointer;white-space:nowrap;border-radius:1em;padding:.25em .75em;font-size:.8rem}#filter-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}#filter-chips .fchip{font:inherit;background:var(--fxki-bl);color:var(--fxki-paper);cursor:pointer;white-space:nowrap;pointer-events:auto;border:none;border-radius:1em;padding:.15em .7em;font-size:.75rem}#filter-chips .fchip:after{content:" ×";opacity:.7}.map-main{flex:1;min-height:0;display:flex}.map-filters{border-right:1px solid var(--fxki-ui-2);background:var(--fxki-bg);-webkit-user-select:none;user-select:none;width:16.5%;min-width:11rem;padding:.75rem;overflow-y:auto}.map-facilities{border-left:1px solid var(--fxki-ui-2);background:var(--fxki-bg);-webkit-user-select:none;user-select:none;flex-direction:column;width:16.5%;min-width:14rem;min-height:0;display:flex}.map-map{flex:1;position:relative}.map-noscript{text-align:center;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.map-noscript p{max-width:30rem;color:var(--fxki-tx-2)}#map{position:absolute;inset:0}.map-chips{z-index:1000;pointer-events:none;position:absolute;top:.65rem;left:3.4rem;right:.65rem}.map-filters section{margin-bottom:1rem}.map-filters h2{letter-spacing:.06em;text-transform:uppercase;color:var(--fxki-tx-2);align-items:center;gap:.35em;margin:0 0 .35rem;font-size:.7rem;font-weight:700;display:flex}.map-filters h2 .h2-actions{letter-spacing:normal;text-transform:none;gap:.25em;margin-left:auto;font-weight:400;display:flex}.map-filters h2 .h2-actions button{font:inherit;color:var(--fxki-bl);cursor:pointer;background:0 0;border:none;border-radius:.25em;padding:.1em .3em}.map-filters h2 .h2-actions button:hover{text-decoration:underline}.map-filters h2 .filtered-flag{font:inherit;letter-spacing:normal;text-transform:none;background:var(--fxki-bl);color:var(--fxki-paper);vertical-align:text-bottom;cursor:pointer;border:none;border-radius:.8em;margin-left:.35em;padding:.05em .6em;font-size:.85em;display:inline-block}.map-filters h2 .filtered-flag:after{content:" ×";opacity:.7}.map-filters h2 .filtered-flag[hidden]{display:none}.day-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.day-row button{font:inherit;border:1px solid var(--fxki-ui);background:var(--fxki-bg);color:var(--fxki-tx-3);cursor:pointer;border-radius:.25rem;padding:.4em 0;font-size:.65rem}.day-row button.on{background:var(--lightningcss-light,var(--fxki-blue-50))var(--lightningcss-dark,var(--fxki-blue-950));border-color:var(--lightningcss-light,var(--fxki-blue-150))var(--lightningcss-dark,var(--fxki-blue-900));color:var(--fxki-bl)}label.check{cursor:pointer;align-items:center;gap:.4em;padding:.1em 0;font-size:.85rem;display:flex}label.check input{-webkit-appearance:none;appearance:none;border:1px solid var(--fxki-ui-3);background:var(--fxki-bg-2);cursor:pointer;border-radius:.25em;flex:none;place-content:center;width:1em;height:1em;margin:0;display:grid}label.check input:before{content:"";background:var(--fxki-paper);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:.55em;height:.55em;transform:scale(0)}label.check input:checked{background:var(--fxki-bl);border-color:var(--fxki-bl)}label.check input:checked:before{transform:scale(1)}label.check input:focus-visible{outline:2px solid var(--fxki-bl);outline-offset:1px}label.check .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}label.check .count{color:var(--fxki-tx-2);background:var(--fxki-ui);border-radius:.75em;flex:none;padding:.1em .6em;font-size:.7em}label.check.zero{opacity:.45}label.check[hidden]{display:none}.sheet-toggle{display:none}.map-facilities>header{border-bottom:1px solid var(--fxki-ui-2);flex-direction:column;gap:.4rem;padding:.6rem .75rem;display:flex}.map-facilities>header .row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}#fac-count{color:var(--fxki-tx-2);font-size:.8rem}#fac-order{font:inherit;background:var(--fxki-bg);color:inherit;border:1px solid var(--fxki-ui-3);border-radius:.3rem;padding:.1em .25em;font-size:.8rem}#fac-search{width:100%;font:inherit;border:1px solid var(--fxki-ui-3);background:var(--fxki-bg);color:inherit;border-radius:.3rem;padding:.3em .5em;font-size:.85rem}ul#fac-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}#fac-list li{border-bottom:1px solid var(--fxki-ui);cursor:pointer;padding:.5rem .75rem}#fac-list li:hover,#fac-list li.hl{background:var(--fxki-bg-3)}#fac-list li:hover h2 a,#fac-list li.hl h2 a{text-decoration:underline}#fac-list h2{margin:0;font-size:.875rem;font-weight:600;line-height:1.3}#fac-list h2 a{color:inherit;text-decoration:none}#fac-list h2 .fac-star{margin-left:.3em}#fac-list .addr{color:var(--fxki-tx-2);margin:.1rem 0 0;font-size:.75rem;line-height:1.3}.fac-pin{width:18px;height:26px;fill:var(--fxki-bl);stroke:var(--fxki-bg);stroke-width:1.2px;filter:drop-shadow(0 1px 2px #0006);opacity:.75;transform-origin:50% 100%;margin:4px auto 0;transition-property:transform,opacity;transition-duration:.1s;display:block}.fac-pin.starred{fill:var(--fxki-gr)}.fac-pin-wrap.hl .fac-pin{fill:var(--fxki-or);opacity:1;transform:scale(1.25)}.edge-arrows{z-index:650;pointer-events:none;position:absolute;inset:0}.edge-arrow{width:26px;height:26px;color:var(--fxki-bl);cursor:pointer;pointer-events:auto;opacity:.85;filter:drop-shadow(0 1px 2px #00000059);background:0 0;border:0;margin:0;padding:0;transition-property:opacity;transition-duration:.1s;position:absolute}:is(.edge-arrow:hover,.edge-arrow:focus-visible){opacity:1}.edge-arrow svg{fill:currentColor;width:100%;height:100%;display:block}.leaflet-bar a{background:var(--fxki-bg);color:var(--fxki-tx);border-bottom-color:var(--fxki-ui-2)}.leaflet-bar a:hover,.leaflet-bar a:focus{background:var(--fxki-bg-2);color:var(--fxki-tx)}.leaflet-bar a.leaflet-disabled{background:var(--fxki-bg-2);color:var(--fxki-tx-3)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--fxki-bg);color:var(--fxki-tx)}.leaflet-popup-content{font:inherit;margin:.8rem 1rem;font-size:.85rem;line-height:1.4}.leaflet-popup-content-wrapper,.leaflet-popup-tip-container{animation:.2s ease-out fac-popup-in}.leaflet-container a.leaflet-popup-close-button{text-align:center;width:2rem;height:2rem;color:var(--fxki-tx-2);padding:0;font-size:1.4rem;line-height:2rem}.leaflet-container a.leaflet-popup-close-button:hover{color:var(--fxki-tx)}@keyframes fac-popup-in{0%{opacity:0;transform:translateY(4px)}}.fac-popup-loading,.fac-popup-error{color:var(--fxki-tx-2);font-size:.8rem}.fac-detail{z-index:1100;background:var(--fxki-bg);border:1px solid var(--fxki-ui-2);border-radius:.5rem;flex-direction:column;animation:.2s ease-out fac-popup-in;display:none;position:absolute;inset:.75rem .75rem 3rem;overflow:hidden;box-shadow:0 4px 16px #00000040}.fac-detail>header{border-bottom:1px solid var(--fxki-ui-2);flex:none;justify-content:flex-end;padding:.4rem .6rem;display:flex}#fac-detail-close{font:inherit;background:var(--fxki-bg-2);color:inherit;cursor:pointer;border:none;border-radius:.3rem;padding:.25em 1em;font-size:.85rem}#fac-detail-content{flex:1;padding:.6rem .9rem;font-size:.85rem;line-height:1.4;overflow-y:auto}#js-error-banner{z-index:2000;background:var(--lightningcss-light,var(--fxki-red-50))var(--lightningcss-dark,var(--fxki-red-950));color:var(--fxki-re);border-top:1px solid var(--lightningcss-light,var(--fxki-red-150))var(--lightningcss-dark,var(--fxki-red-900));align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.85rem;display:flex;position:fixed;bottom:0;left:0;right:0}#js-error-banner span{flex:1}#js-error-banner button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;font-size:1.1rem;line-height:1}#map-toast{z-index:1500;background:var(--fxki-bg-2);max-width:min(28rem,100vw - 2rem);color:var(--fxki-tx-2);border:1px solid var(--fxki-ui-3);cursor:pointer;border-radius:.3rem;padding:.5rem .9rem;font-size:.85rem;position:fixed;bottom:3.2rem;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000026}@media (max-width:900px){.mobile-only,.map-filterbar{display:flex}.map-filters{z-index:1400;visibility:hidden;opacity:0;pointer-events:none;border-right:none;width:auto;min-width:0;transition-property:opacity,transform,visibility;transition-duration:.2s;transition-timing-function:ease-out;display:block;position:fixed;inset:0;transform:translateY(8px)}body.filters-open .map-filters{visibility:visible;opacity:1;pointer-events:auto;transform:none}.map-filters>header.mobile-only{justify-content:space-between;align-items:center;margin-bottom:.75rem}.map-filters>header.mobile-only h2{margin:0;font-size:1rem}#btn-filters-done{font:inherit;background:var(--fxki-bl);color:var(--fxki-paper);cursor:pointer;border:none;border-radius:.3rem;padding:.25em 1em;font-size:.85rem}.map-facilities{z-index:1200;border-left:none;border-top:1px solid var(--fxki-ui-2);width:auto;min-width:0;max-height:55%;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #00000026}.sheet-toggle{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:.5em;font-size:.85rem;display:block}.map-facilities>header,ul#fac-list{display:none}body.list-open .map-facilities>header{display:flex}body.list-open ul#fac-list{display:block}.fac-detail{visibility:hidden;opacity:0;pointer-events:none;transition-property:opacity,transform,visibility;transition-duration:.2s;transition-timing-function:ease-out;animation:none;display:flex;transform:translateY(8px)}body.detail-open .fac-detail{visibility:visible;opacity:1;pointer-events:auto;transform:none}.leaflet-container .leaflet-bottom{bottom:2.4rem}.map-filters h2,.day-row button{font-size:.8rem}label.check{padding:.2em 0;font-size:1rem}.edge-arrow{width:clamp(16px,5vmin,26px);height:clamp(16px,5vmin,26px)}}@media print{html,body{height:auto;overflow:visible}body.map-page,.map-main{display:block}.map-filterbar,.map-filters,.map-map{display:none}.map-facilities{border:none;width:auto;max-height:none;position:static}.map-facilities .sheet-toggle,#fac-order,#fac-search{display:none}ul#fac-list{display:block}}