:root{--gl-color-bg-page:#f3f4f6;--gl-color-bg-surface:#fff;--gl-color-bg-surface-muted:#f9fafb;--gl-color-bg-overlay:hsla(0,0%,100%,.78);--gl-color-text-main:#0f172a;--gl-color-text-muted:#6b7280;--gl-color-text-inverse:#f9fafb;--gl-color-border-soft:rgba(15,23,42,.08);--gl-color-border-strong:rgba(15,23,42,.22);--gl-color-accent:#f97316;--gl-color-accent-soft:rgba(249,115,22,.14);--gl-color-poi-fill:#1d4ed8;--gl-color-poi-stroke:#fff;--gl-color-poi-fill-default:#4a90e5;--gl-color-poi-stroke-default:#fff;--gl-color-badge-category-bg:rgba(249,115,22,.12);--gl-color-badge-category-border:rgba(249,115,22,.25);--gl-color-badge-subcategory-bg:rgba(0,0,0,.04);--gl-color-badge-subcategory-border:rgba(0,0,0,.08);--gl-sidepanel-width:420px;--gl-color-route-line:#2563eb;--gl-color-route-outline:rgba(15,23,42,.6);--gl-color-legend-bg:hsla(0,0%,100%,.7);--gl-color-legend-border:rgba(209,213,219,.85);--gl-color-legend-text:#111827;--gl-color-popup-bg:hsla(0,0%,100%,.7);--gl-color-popup-border:rgba(209,213,219,.75);--gl-color-popup-text:#111827;--gl-poi-title-border:#2f2f2f;--gl-color-poi-cluster-center:#f97316;--gl-color-poi-cluster-mid:rgba(249,115,22,.7);--gl-color-poi-cluster-outer:rgba(249,115,22,.3);--gl-color-poi-cluster-edge:rgba(249,115,22,0);--gl-size-poi-cluster:40px;--gl-color-poi-cluster-text:#111827;--gl-color-theme-toggle-track:#e5e7eb;--gl-color-theme-toggle-thumb:#0f172a;--gl-color-focus-ring:#2684ff;--gl-shadow-soft:0 1px 3px rgba(15,23,42,.12);--gl-shadow-medium:0 2px 6px rgba(15,23,42,.18);--gl-shadow-panel:-8px 0 30px rgba(2,6,23,.35);--gl-color-gallery-item-bg:rgba(0,0,0,.04);--gl-color-accent-contrast:#020617;--gl-color-accent-hover:#ff9d57;--gl-color-text:var(--gl-color-text-main);--gl-color-text-secondary:var(--gl-color-text-muted);--gl-color-border:var(--gl-color-border-soft);--gl-color-border-subtle:var(--gl-color-border-soft);--gl-panel-border:var(--gl-color-border-soft);--gl-color-surface-elevated:var(--gl-color-bg-surface-muted);--gl-color-overlay-soft:color-mix(in srgb,var(--gl-color-bg-overlay) 50%,transparent);--gl-color-overlay-strong:color-mix(in srgb,var(--gl-color-bg-overlay) 85%,transparent);--gl-color-overlay-stronger:color-mix(in srgb,var(--gl-color-bg-overlay) 95%,transparent);--gl-color-accent-alpha:color-mix(in srgb,var(--gl-color-accent) 20%,transparent)}.gl-theme-light,body.gl-theme-light{--gl-color-bg-page:#f3f4f6;--gl-color-bg-surface:#fff;--gl-color-bg-surface-muted:#f9fafb;--gl-color-bg-overlay:hsla(0,0%,100%,.78);--gl-color-text-main:#0f172a;--gl-color-text-muted:#6b7280;--gl-color-text-inverse:#f9fafb;--gl-color-border-soft:rgba(15,23,42,.08);--gl-color-border-strong:rgba(15,23,42,.22);--gl-color-accent:#f4cfb4;--gl-color-accent-soft:rgba(249,115,22,.14);--gl-color-poi-fill:#1d4ed8;--gl-color-poi-stroke:#fff;--gl-color-poi-fill-default:#4a90e5;--gl-color-poi-stroke-default:#fff;--gl-color-route-line:#2563eb;--gl-color-route-outline:rgba(15,23,42,.6);--gl-color-legend-bg:hsla(0,0%,100%,.7);--gl-color-legend-border:rgba(209,213,219,.85);--gl-color-legend-text:#111827;--gl-color-popup-bg:hsla(0,0%,100%,.7);--gl-color-popup-border:rgba(209,213,219,.75);--gl-color-popup-text:#111827;--gl-poi-title-border:#2f2f2f;--gl-color-poi-cluster-center:#f7924a;--gl-color-poi-cluster-mid:rgba(249,115,22,.7);--gl-color-poi-cluster-outer:rgba(249,115,22,.3);--gl-color-poi-cluster-edge:rgba(249,115,22,0);--gl-size-poi-cluster:40px;--gl-color-poi-cluster-text:#111827;--gl-color-theme-toggle-track:#e5e7eb;--gl-color-theme-toggle-thumb:#0f172a;--gl-color-badge-category-bg:rgba(249,115,22,.2);--gl-color-badge-category-border:rgba(249,115,22,.25);--gl-color-badge-subcategory-bg:rgba(0,0,0,.2);--gl-color-badge-subcategory-border:rgba(0,0,0,.25);--gl-color-focus-ring:#2684ff}.gl-theme-dark,body.gl-theme-dark{--gl-color-bg-page:#000;--gl-color-bg-surface:#000;--gl-color-bg-surface-muted:#121212;--gl-color-bg-overlay:rgba(15,23,42,.7);--gl-color-text-main:#e5e7eb;--gl-color-text-muted:#9ca3af;--gl-color-text-inverse:#eaeaea;--gl-color-border-soft:rgba(148,163,184,.35);--gl-color-poi-fill:#1d4ed8;--gl-color-poi-fill-default:#4a90e5;--gl-color-poi-stroke-default:#fff;--gl-color-border-strong:rgba(148,163,184,.55);--gl-color-accent:#b75708;--gl-color-accent-soft:rgba(251,146,60,.2);--gl-color-poi-fill:#3b82f6;--gl-color-poi-stroke:#fff;--gl-color-route-line:#60a5fa;--gl-color-route-outline:rgba(15,23,42,.9);--gl-color-legend-bg:rgba(15,23,42,.7);--gl-color-legend-border:rgba(55,65,81,.9);--gl-color-legend-text:#e5e7eb;--gl-color-popup-bg:rgba(15,23,42,.7);--gl-color-popup-border:rgba(55,65,81,.7);--gl-color-popup-text:#e5e7eb;--gl-poi-title-border:#fff;--gl-color-poi-cluster-center:#fb923c;--gl-color-poi-cluster-mid:rgba(251,146,60,.7);--gl-color-poi-cluster-outer:rgba(251,146,60,.3);--gl-color-poi-cluster-edge:rgba(251,146,60,0);--gl-size-poi-cluster:40px;--gl-color-poi-cluster-text:#e5e7eb;--gl-color-theme-toggle-track:#222a38;--gl-color-theme-toggle-thumb:#e5e7eb;--gl-color-badge-category-bg:rgba(249,115,22,.5);--gl-color-badge-category-border:rgba(249,115,22,.5);--gl-color-badge-subcategory-bg:hsla(0,0%,54%,.5);--gl-color-badge-subcategory-border:rgba(0,0,0,.5);--gl-color-focus-ring:#2684ff}body,html{height:100%;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body.gl-theme-dark,body.gl-theme-light{background-color:var(--gl-color-bg-page);color:var(--gl-color-text-main)}.gl-header{background:var(--gl-color-bg-surface);border-bottom:1px solid var(--gl-color-border-soft);box-shadow:var(--gl-shadow-soft);box-sizing:border-box;color:var(--gl-color-text-main);justify-content:space-between;padding:.75rem 1.25rem}.gl-brand,.gl-header{align-items:center;display:flex}.gl-brand{gap:.75rem}.gl-logo{align-items:center;color:var(--gl-color-text-inverse);display:flex;font-size:.9rem;font-weight:700;height:36px;justify-content:center;letter-spacing:.05em;width:36px}.gl-title{display:flex;flex-direction:column;gap:.15rem}.gl-title-main{font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.gl-title-sub{font-size:.8rem;opacity:.8}.gl-header-actions{align-items:center;display:flex;gap:.5rem}.leaflet-control-zoom{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important}.leaflet-top.leaflet-left .leaflet-control-zoom{margin-left:1rem;margin-top:1rem}.leaflet-control-zoom a{align-items:center;background-color:var(--gl-color-bg-surface);border:none;border-radius:0;color:var(--gl-color-text-main);cursor:pointer;display:flex;font-weight:600;height:32px;justify-content:center;line-height:32px;text-align:center;text-decoration:none;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;width:32px}.leaflet-control-zoom-in{border-bottom:none}body.gl-theme-dark .leaflet-control-zoom a,body.gl-theme-light .leaflet-control-zoom a{background-color:var(--gl-color-bg-surface);color:var(--gl-color-text-main)}body.gl-theme-dark .leaflet-control-zoom a:hover,body.gl-theme-light .leaflet-control-zoom a:hover{background-color:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-main);transform:translateY(-1px)}.leaflet-control-fullscreen{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important}.leaflet-top.leaflet-left .leaflet-control-fullscreen,.leaflet-top.leaflet-right .leaflet-control-fullscreen{margin-bottom:0;margin-left:1rem;margin-top:.5rem}.leaflet-control-fullscreen a{align-items:center;background-color:var(--gl-color-bg-surface);border:none;border-radius:0;color:var(--gl-color-text-main);cursor:pointer;display:flex;font-weight:600;height:32px;justify-content:center;line-height:32px;text-align:center;text-decoration:none;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;width:32px}.gl-theme-dark .leaflet-control-fullscreen a:hover,.gl-theme-light .leaflet-control-fullscreen a:hover,body.gl-theme-dark .leaflet-control-fullscreen a:hover,body.gl-theme-light .leaflet-control-fullscreen a:hover{background-color:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-main);transform:translateY(-1px)}.leaflet-control-fullscreen a:active{transform:translateY(0)}.gl-theme-dark .leaflet-control-fullscreen a.is-fullscreen,.gl-theme-light .leaflet-control-fullscreen a.is-fullscreen,.leaflet-control-fullscreen a.is-fullscreen,body.gl-theme-dark .leaflet-control-fullscreen a.is-fullscreen,body.gl-theme-light .leaflet-control-fullscreen a.is-fullscreen{background-color:var(--gl-color-bg-surface)!important;color:var(--gl-color-text-main)!important}.gl-theme-dark .leaflet-control-fullscreen a.is-fullscreen:hover,.gl-theme-light .leaflet-control-fullscreen a.is-fullscreen:hover,body.gl-theme-dark .leaflet-control-fullscreen a.is-fullscreen:hover,body.gl-theme-light .leaflet-control-fullscreen a.is-fullscreen:hover{background-color:var(--gl-color-bg-surface-muted)!important;color:var(--gl-color-text-main)!important}.leaflet-control-geolocation{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important}.leaflet-top.leaflet-left .leaflet-control-geolocation{margin-bottom:0;margin-left:1rem;margin-top:.5rem}.leaflet-control-geolocation a{align-items:center;background-color:var(--gl-color-bg-surface);border:none;border-radius:0;color:var(--gl-color-text-main);cursor:pointer;display:flex;height:32px;justify-content:center;line-height:32px;text-align:center;text-decoration:none;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;width:32px}.gl-theme-dark .leaflet-control-geolocation a:hover,.gl-theme-light .leaflet-control-geolocation a:hover,body.gl-theme-dark .leaflet-control-geolocation a:hover,body.gl-theme-light .leaflet-control-geolocation a:hover{background-color:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-main);transform:translateY(-1px)}.leaflet-control-geolocation a:active{transform:translateY(0)}.leaflet-control-geolocation a svg{display:block}.leaflet-control-geolocation a.is-locating{opacity:.6}.leaflet-control-geolocation a.is-locating svg{animation:gl-geolocation-pulse 1.5s ease-in-out infinite}@keyframes gl-geolocation-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.gl-theme-dark .leaflet-control-geolocation a.is-located,.gl-theme-light .leaflet-control-geolocation a.is-located,.leaflet-control-geolocation a.is-located,body.gl-theme-dark .leaflet-control-geolocation a.is-located,body.gl-theme-light .leaflet-control-geolocation a.is-located{background-color:var(--gl-color-accent)!important;color:var(--gl-color-text-inverse)!important}.gl-theme-dark .leaflet-control-geolocation a.is-active,.gl-theme-light .leaflet-control-geolocation a.is-active,.leaflet-control-geolocation a.is-active,body.gl-theme-dark .leaflet-control-geolocation a.is-active,body.gl-theme-light .leaflet-control-geolocation a.is-active{background-color:var(--gl-color-accent)!important;box-shadow:0 0 0 2px var(--gl-color-accent-soft);color:var(--gl-color-text-inverse)!important}.leaflet-control-geolocation a.is-active svg{animation:gl-geolocation-active-pulse 2s ease-in-out infinite}@keyframes gl-geolocation-active-pulse{0%,to{opacity:1}50%{opacity:.7}}.gl-theme-dark .leaflet-control-fullscreen a:not(.is-fullscreen),.gl-theme-dark .leaflet-control-geolocation a:not(.is-located):not(.is-locating),.gl-theme-light .leaflet-control-fullscreen a:not(.is-fullscreen),.gl-theme-light .leaflet-control-geolocation a:not(.is-located):not(.is-locating),body.gl-theme-dark .leaflet-control-fullscreen a:not(.is-fullscreen),body.gl-theme-dark .leaflet-control-geolocation a:not(.is-located):not(.is-locating),body.gl-theme-light .leaflet-control-fullscreen a:not(.is-fullscreen),body.gl-theme-light .leaflet-control-geolocation a:not(.is-located):not(.is-locating){background-color:var(--gl-color-bg-surface);color:var(--gl-color-text-main)}.gl-user-location-marker{background:transparent!important;border:none!important}.gl-user-location-dot{animation:gl-user-location-appear .3s ease-out;background:var(--gl-color-accent);border:3px solid var(--gl-color-text-inverse);border-radius:50%;box-shadow:var(--gl-shadow-medium);height:16px;width:16px}@keyframes gl-user-location-appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.gl-user-location-accuracy{pointer-events:none}.gl-main:fullscreen{position:relative}.gl-main:-webkit-full-screen{position:relative}.gl-main:-moz-full-screen{position:relative}.gl-main:-ms-fullscreen{position:relative}.gl-main:-moz-full-screen #gl-filter-panel.gl-filter-panel,.gl-main:-ms-fullscreen #gl-filter-panel.gl-filter-panel,.gl-main:-webkit-full-screen #gl-filter-panel.gl-filter-panel,.gl-main:fullscreen #gl-filter-panel.gl-filter-panel{position:absolute}.gl-main:-moz-full-screen .gl-poi-sidepanel,.gl-main:-ms-fullscreen .gl-poi-sidepanel,.gl-main:-webkit-full-screen .gl-poi-sidepanel,.gl-main:fullscreen .gl-poi-sidepanel{position:absolute}.gl-main:-moz-full-screen .gl-poi-sidepanel-overlay,.gl-main:-ms-fullscreen .gl-poi-sidepanel-overlay,.gl-main:-webkit-full-screen .gl-poi-sidepanel-overlay,.gl-main:fullscreen .gl-poi-sidepanel-overlay{position:absolute}.leaflet-top.leaflet-left{display:flex;flex-direction:column;gap:.35rem;margin-left:1rem;margin-top:1rem}.leaflet-control-cache-button,.leaflet-control-fullscreen,.leaflet-control-geolocation,.leaflet-control-poi-add,.leaflet-control-zoom{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;overflow:visible!important;padding:0!important}.leaflet-control-cache-button a,.leaflet-control-fullscreen a,.leaflet-control-geolocation a,.leaflet-control-poi-add a,.leaflet-control-zoom a{align-items:center;background-color:var(--gl-color-bg-surface);border:none;border-radius:0;color:var(--gl-color-text-main);cursor:pointer;display:flex;font-weight:600;height:32px;justify-content:center;line-height:32px;text-align:center;text-decoration:none;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;width:32px}body.gl-theme-dark .leaflet-control-cache-button a:hover,body.gl-theme-dark .leaflet-control-fullscreen a:hover,body.gl-theme-dark .leaflet-control-geolocation a:hover,body.gl-theme-dark .leaflet-control-poi-add a:hover,body.gl-theme-dark .leaflet-control-zoom a:hover,body.gl-theme-light .leaflet-control-cache-button a:hover,body.gl-theme-light .leaflet-control-fullscreen a:hover,body.gl-theme-light .leaflet-control-geolocation a:hover,body.gl-theme-light .leaflet-control-poi-add a:hover,body.gl-theme-light .leaflet-control-zoom a:hover{background-color:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-main);transform:translateY(-1px)}.leaflet-control-cache-button a:active,.leaflet-control-fullscreen a:active,.leaflet-control-geolocation a:active,.leaflet-control-poi-add a:active,.leaflet-control-zoom a:active{transform:translateY(0) scale(.96)}.leaflet-control-zoom a+a{margin-top:.35rem}.leaflet-control-cache-button svg,.leaflet-control-fullscreen svg,.leaflet-control-geolocation svg,.leaflet-control-poi-add svg,.leaflet-control-zoom svg{color:currentColor;display:block;margin:auto;stroke:currentColor}.gl-page{background:var(--gl-color-bg-page);color:var(--gl-color-text-main);display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.gl-main{display:flex;flex:1;flex-direction:column}.gl-main,.gl-main__map{min-height:0;position:relative}.gl-main__map{flex:1}#geoleaf-map,.gl-map{height:100%;inset:0;position:absolute;width:100%}.gl-stack{display:flex;flex-direction:column;gap:.75rem}.gl-stack--row{align-items:center;flex-direction:row}.gl-align-center{align-items:center;display:flex;justify-content:center}.gl-align-between{align-items:center;display:flex;justify-content:space-between}.gl-align-start{align-items:flex-start;display:flex}.gl-mt-sm{margin-top:.5rem}.gl-mt-md{margin-top:1rem}.gl-mt-lg{margin-top:1.5rem}.gl-btn{align-items:center;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:9999px;box-shadow:var(--gl-shadow-soft);color:var(--gl-color-text-main);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.35rem;justify-content:center;line-height:1.2;padding:.4rem .75rem;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.gl-btn:hover{background:var(--gl-color-bg-surface-muted);border-color:var(--gl-color-border-strong);box-shadow:var(--gl-shadow-medium);transform:translateY(-1px)}.gl-btn:active{box-shadow:var(--gl-shadow-soft);transform:translateY(0)}.gl-btn--subtle{background:var(--gl-color-bg-surface-muted);box-shadow:none}.gl-btn--accent{background:var(--gl-color-accent);border-color:transparent;color:var(--gl-color-text-inverse)}.gl-btn--accent:hover{background:var(--gl-color-accent-soft);color:var(--gl-color-text-main)}.gl-theme-dark .gl-btn--accent{background:var(--gl-color-accent);border:1px solid var(--gl-color-accent-soft);box-shadow:0 2px 8px var(--gl-color-accent-soft),0 0 0 1px color-mix(in srgb,var(--gl-color-accent) 20%,transparent);color:var(--gl-color-accent-contrast);font-weight:600}.gl-theme-dark .gl-btn--accent:hover{background:var(--gl-color-accent-hover);border-color:color-mix(in srgb,var(--gl-color-accent) 30%,transparent);box-shadow:0 4px 12px var(--gl-color-accent-soft),0 0 0 1px color-mix(in srgb,var(--gl-color-accent) 24%,transparent);color:var(--gl-color-accent-contrast)}.gl-btn--ghost{background:transparent;border-color:var(--gl-color-border-soft);box-shadow:none}.gl-btn--ghost:hover{background:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-soft)}.gl-icon-btn{align-items:center;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:9999px;box-shadow:var(--gl-shadow-soft);color:var(--gl-color-text-main);cursor:pointer;display:inline-flex;height:2.25rem;justify-content:center;padding:0;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease;width:2.25rem}.gl-icon-btn:hover{background:var(--gl-color-bg-surface-muted);border-color:var(--gl-color-border-strong);box-shadow:var(--gl-shadow-medium);transform:translateY(-1px)}.gl-icon-btn:active{box-shadow:var(--gl-shadow-soft);transform:translateY(0)}.gl-btn--active,.gl-icon-btn--active{background:var(--gl-color-accent-soft);border-color:var(--gl-color-border-strong);color:var(--gl-color-text-main)}.gl-panel{background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:.75rem;box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-main);padding:.75rem 1rem}.gl-panel--overlay{bottom:1rem;position:absolute;right:1rem;z-index:800}.gl-panel__title{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.gl-panel__subtitle{color:var(--gl-color-text-muted);font-size:.75rem;margin-bottom:.5rem}.gl-panel__divider{background:var(--gl-color-border-soft);height:1px;margin:.5rem 0 .75rem}.gl-badge{align-items:center;background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:9999px;color:var(--gl-color-text-main);display:inline-flex;font-size:.7rem;font-weight:500;gap:.25rem;line-height:1.1;padding:.2rem .55rem}.gl-badge__dot{background:var(--gl-color-accent);border-radius:9999px;height:.45rem;width:.45rem}.gl-badge--muted{background:transparent;color:var(--gl-color-text-muted)}.gl-badge--layer-manager{font-size:.72rem;padding-inline:.65rem}.gl-theme-toggle{background:var(--gl-color-theme-toggle-track);border:1px solid var(--gl-color-border-soft);border-radius:9999px;box-shadow:var(--gl-shadow-soft);cursor:pointer;display:inline-flex;height:26px;padding:0;position:relative;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;width:46px}.gl-theme-toggle,.gl-theme-toggle:after{align-items:center;justify-content:center}.gl-theme-toggle:after{background:var(--gl-color-theme-toggle-thumb);border-radius:9999px;content:"";display:flex;font-size:.9rem;height:20px;left:3px;position:absolute;top:3px;transition:left .18s ease,transform .18s ease,background-color .18s ease;width:20px}body.gl-theme-light .gl-theme-toggle:after{color:var(--gl-color-accent);content:"☀"}body.gl-theme-dark .gl-theme-toggle:after{color:var(--gl-color-text-muted);content:"☾";left:23px;transform:translateX(0) scale(1.03)}.gl-theme-toggle:hover{box-shadow:0 0 0 1px var(--gl-color-border-soft),var(--gl-shadow-medium)}.gl-theme-toggle:focus-visible{box-shadow:0 0 0 2px var(--gl-color-accent),0 0 0 4px var(--gl-color-bg-surface),var(--gl-shadow-medium);outline:none;transition:box-shadow .18s ease}body.gl-theme-light .gl-theme-toggle{background:var(--gl-color-theme-toggle-track)}body.gl-theme-dark .gl-theme-toggle{background:var( --gl-color-theme-toggle-track)}.gl-left-panel{background:var(--gl-color-overlay-strong);border-radius:50px;box-shadow:var(--gl-shadow-medium);display:none;flex-direction:row;gap:0;left:60px;padding:6px 8px;position:absolute;top:10px;z-index:1000;--indicator-left:8px;--indicator-width:0px;backdrop-filter:blur(10px);border:1px solid var(--gl-color-border-soft);width:fit-content}.gl-baselayer-btn,.gl-left-panel{pointer-events:auto;position:relative}.gl-baselayer-btn{background:transparent;border:none;border-radius:50px;color:var(--gl-color-text-inverse);cursor:pointer;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:10px 20px;text-transform:uppercase;transition:all .25s ease;white-space:nowrap;z-index:2}.gl-baselayer-btn.gl-baselayer-active,.gl-baselayer-btn.is-active,.gl-baselayer-btn:hover:not(.gl-baselayer-active):not(.is-active){background:var(--gl-color-accent-soft);color:var(--gl-color-text-inverse)}.gl-baselayer-btn.gl-baselayer-active,.gl-baselayer-btn.is-active{font-weight:600}.gl-baselayer-btn:focus-visible{outline:2px solid var(--gl-color-focus-ring);outline-offset:2px}.gl-accordion{background:var(--gl-color-surface-elevated);border:1px solid var(--gl-color-border-subtle);margin-bottom:.5rem}.gl-accordion__header{background:transparent;border:none;color:inherit;font:inherit;gap:.5rem;padding:.55rem .75rem;text-align:left;width:100%}.gl-accordion__header:focus-visible{outline:2px solid var(--gl-color-focus-ring);outline-offset:2px}.gl-accordion__title{font-size:.9rem;font-weight:600;letter-spacing:.01em;text-transform:none}.gl-accordion__icon{font-size:.9rem;line-height:1;opacity:.75;transform:rotate(0deg);transition:transform .18s ease-out}.gl-accordion.is-open .gl-accordion__icon{opacity:1;transform:rotate(-180deg)}.gl-accordion__body{max-height:0;opacity:0;overflow:hidden;padding:0 .75rem;transition:max-height .22s ease-out,opacity .18s ease-out,padding-top .18s ease-out,padding-bottom .18s ease-out}.gl-accordion.is-open .gl-accordion__body{max-height:800px;opacity:1;padding-bottom:.6rem;padding-top:.35rem}.gl-poi-panel__section.gl-accordion{margin-bottom:.75rem}.gl-poi-panel__text{font-size:.85rem;line-height:1.45}.gl-poi-panel__text--multiline{white-space:normal}.gl-poi-panel__gallery{display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.gl-poi-panel__gallery-item{background:var(--gl-color-gallery-item-bg);border-radius:6px;margin:0;overflow:hidden;padding:0}.gl-poi-panel__gallery-item img{display:block;height:64px;object-fit:cover;width:100%}.gl-poi-panel__reviews{display:flex;flex-direction:column;gap:.5rem}.gl-poi-panel__review{border-bottom:1px solid var(--gl-color-border-soft);padding:.4rem 0}.gl-poi-panel__review:last-child{border-bottom:none}.gl-poi-panel__review-header{align-items:baseline;display:flex;flex-wrap:wrap;font-size:.8rem;gap:.35rem;margin-bottom:.15rem}.gl-poi-panel__review-author{font-weight:600}.gl-poi-panel__review-rating{font-weight:600;opacity:.85}.gl-poi-panel__review-source{font-size:.75rem;opacity:.8}.gl-poi-panel__review-title{font-size:.83rem;font-weight:600;margin:0 0 .1rem}.gl-poi-panel__review-comment{font-size:.8rem;line-height:1.4;margin:0 0 .15rem}.gl-poi-panel__review-footer{align-items:center;display:flex;font-size:.75rem;gap:.5rem;opacity:.8}.gl-poi-panel__review-link{font-size:.75rem;text-decoration:underline}.gl-poi-panel__table-wrapper{background:transparent;border-radius:0;margin-top:.75rem}.gl-poi-panel__table{border-collapse:collapse;border-spacing:0;font-size:.85rem;line-height:1.4;width:100%;--gl-poi-table-border-color:var(--gl-panel-border,currentColor)}.gl-poi-panel__table--border-outer{border:1px solid var(--gl-poi-table-border-color)}.gl-poi-panel__table--border-row .gl-poi-panel__table-row+.gl-poi-panel__table-row{border-top:1px solid var(--gl-poi-table-border-color)}.gl-poi-panel__table--border-column .gl-poi-panel__table-cell+.gl-poi-panel__table-cell{border-left:1px solid var(--gl-poi-table-border-color)}.gl-poi-panel__table-row,.gl-poi-panel__table-row--head{background:transparent}.gl-poi-panel__table-cell,.gl-poi-panel__table-cell--close,.gl-poi-panel__table-cell--day,.gl-poi-panel__table-cell--head,.gl-poi-panel__table-cell--open{color:inherit;padding:.45rem .65rem;vertical-align:middle}.gl-poi-panel__table-cell--head{font-weight:600;white-space:nowrap}.gl-poi-panel__table-cell--day{font-weight:500;white-space:nowrap}.gl-poi-panel__table tbody .gl-poi-panel__table-row:nth-child(2n){background:transparent}#gl-filter-panel.gl-filter-panel{background:var(--gl-color-bg-surface);border-right:1px solid var(--gl-color-border-soft);bottom:0;box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-main);display:flex;flex-direction:column;height:100vh;left:0;opacity:0;position:fixed;top:0;transform:translateX(-110%);transition:opacity .16s ease-out,transform .16s ease-out,visibility 0s linear .16s;visibility:hidden;width:min(320px,calc(100% - 2rem));z-index:1100}#gl-filter-panel.gl-filter-panel.is-open{opacity:1;transform:translateX(0);transition:opacity .16s ease-out,transform .16s ease-out,visibility 0s linear;visibility:visible}body:has(#gl-filter-panel.is-open) .leaflet-top.leaflet-left{margin-left:320px;transition:margin-left .16s ease-out}.gl-filter-panel__body,.gl-filter-panel__footer,.gl-filter-panel__header{padding-inline:1rem}.gl-filter-panel__header{align-items:center;border-bottom:1px solid var(--gl-color-border-soft);display:flex;gap:.75rem;justify-content:space-between;padding-bottom:.4rem;padding-top:.75rem}.gl-filter-panel__title{font-size:.9rem;font-weight:600;margin:0}.gl-filter-panel__toggle-btn{align-items:center;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:4px;color:var(--gl-color-text-main);cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;gap:.25rem;padding:.35rem .5rem;transition:all .12s ease}.gl-filter-panel__toggle-btn:hover{background:var(--gl-color-bg-surface-muted);border-color:var(--gl-color-border-main)}.gl-filter-panel__toggle-icon{display:inline-block;transition:transform .12s ease}body:has(#gl-filter-panel.is-open) .gl-filter-toggle{display:none}.gl-filter-panel__body{display:flex;flex:1;flex-direction:column;gap:.65rem;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:.65rem;padding-top:.65rem}.gl-filter-panel__body::-webkit-scrollbar{width:8px}.gl-filter-panel__body::-webkit-scrollbar-track{background:transparent}.gl-filter-panel__body::-webkit-scrollbar-thumb{background:var(--gl-color-border-main);border-radius:4px;transition:background .14s ease}.gl-filter-panel__body::-webkit-scrollbar-thumb:hover{background:var(--gl-color-text-muted)}.gl-filter-panel__group{display:flex;flex-direction:column;gap:.25rem}.gl-filter-panel__label{color:var(--gl-color-text-muted);font-size:.8rem;font-weight:500}.gl-filter-panel__control{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:999px;box-sizing:border-box;color:var(--gl-color-text-main);font-size:.85rem;line-height:1.3;outline:none;padding:.35rem .7rem;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease;width:100%}.gl-filter-panel__control:focus-visible{border-color:var(--gl-color-accent);box-shadow:0 0 0 1px var(--gl-color-accent),var(--gl-shadow-soft)}.gl-filter-panel__control--select{appearance:none;-moz-appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.gl-filter-panel__range-wrapper{align-items:center;display:flex;gap:.5rem}.gl-filter-panel__control--range{background:transparent;border:none;border-radius:999px;flex:1;padding:0}.gl-filter-panel__range-value{color:var(--gl-color-text-muted);font-size:.8rem;min-width:2.2rem;text-align:right}.gl-filter-panel__tags-container{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.4rem;min-height:40px;padding:.3rem;width:100%}.gl-filter-panel__tag-badge{align-items:center;background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:12px;color:var(--gl-color-text-main);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;padding:.3rem .6rem;transition:all .15s ease;user-select:none}.gl-filter-panel__tag-badge:hover{background:var(--gl-color-bg-surface);border-color:var(--gl-color-accent)}.gl-filter-panel__tag-badge.is-selected{background:var(--gl-color-accent);border-color:var(--gl-color-accent);color:var(--gl-color-text-inverse)}.gl-filter-panel__tags-placeholder{background:var(--gl-color-bg-surface-muted);border-radius:.5rem;color:var(--gl-color-text-muted);font-size:.8rem;line-height:1.35;padding:.45rem .65rem}.gl-filter-panel__footer{border-top:1px solid var(--gl-color-border-soft);display:flex;gap:.5rem;justify-content:flex-end;padding-bottom:.75rem;padding-top:.4rem}.gl-filter-panel__btn-apply,.gl-filter-panel__btn-reset{font-size:.8rem;padding-inline:.9rem}.gl-filter-panel__empty{color:var(--gl-color-text-muted,#666);font-style:italic}.gl-filter-panel__empty,.gl-filter-panel__error{font-size:14px;line-height:1.4;padding:15px;text-align:center}.gl-filter-panel__error{color:var(--gl-color-error,#c00)}.gl-filter-panel__loading{color:var(--gl-color-text-muted,#999);font-size:14px;line-height:1.4;padding:15px;text-align:center}.gl-filter-toggle{align-items:center;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-left:none;border-radius:0 12px 12px 0;box-shadow:var(--gl-shadow-medium);cursor:pointer;display:flex;height:50px;justify-content:center;left:0;position:fixed;top:calc(220px + 10%);transform:translateY(-50%);transition:left .16s ease-out,background .2s ease,width .2s ease,box-shadow .2s ease;width:28px;z-index:1001}body:has(#gl-filter-panel.is-open) .gl-filter-toggle{left:min(320px,calc(100% - 2rem))}.gl-filter-toggle:hover{background:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-medium);width:32px}.gl-filter-toggle__icon{color:var(--gl-color-text-main);transition:transform .2s ease}.gl-filter-toggle:focus-visible{outline:2px solid var(--gl-color-focus-ring);outline-offset:2px}.gl-filter-panel__checkbox-group{display:flex;flex-direction:column;gap:.3rem}.gl-filter-panel__checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.2rem 0}.gl-filter-panel__checkbox{accent-color:var(--gl-color-accent);cursor:pointer;height:18px;width:18px}.gl-filter-panel__checkbox-text{color:var(--gl-color-text-main)}.gl-filter-panel__control--search{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:6px;box-sizing:border-box;color:var(--gl-color-text-main);font-size:.85rem;outline:none;padding:.5rem .7rem;transition:all .15s ease;width:100%}.gl-filter-panel__control--search:focus{border-color:var(--gl-color-accent);box-shadow:0 0 0 2px var(--gl-color-accent-alpha)}.gl-filter-panel__control--search::placeholder{color:var(--gl-color-text-muted);opacity:.6}.gl-filter-panel__tree{width:100%}.gl-filter-tree{list-style:none;margin:0;padding:0}.gl-filter-tree--root{padding:0}.gl-filter-tree--subcategories{border-left:2px solid var(--gl-color-border-soft);margin-top:.3rem;max-height:0;overflow:hidden;padding-left:2rem;transition:max-height .3s ease}.gl-filter-tree__item{list-style:none;margin:0;padding:0}.gl-filter-tree__item--category{margin-bottom:.2rem}.gl-filter-tree__item--category.is-expanded .gl-filter-tree--subcategories{max-height:1000px}.gl-filter-tree__item--subcategory{margin-bottom:.15rem}.gl-filter-tree__row{align-items:center;display:flex;gap:.3rem}.gl-filter-tree__arrow{align-items:center;color:var(--gl-color-text-main);cursor:pointer;display:flex;flex-shrink:0;font-size:.7rem;height:16px;justify-content:center;transition:transform .2s ease;user-select:none;width:16px}.gl-filter-tree__arrow:hover{color:var(--gl-color-accent)}.gl-filter-tree__spacer{flex-shrink:0;height:16px;width:16px}.gl-filter-tree__label{align-items:center;cursor:pointer;display:flex;flex:1;font-size:.85rem;gap:.5rem;padding:.2rem 0}.gl-filter-tree__label--category{color:var(--gl-color-text-main);font-weight:600}.gl-filter-tree__label--subcategory{color:var(--gl-color-text-main);font-weight:400}.gl-filter-tree__checkbox{accent-color:var(--gl-color-accent);cursor:pointer;flex-shrink:0;height:18px;width:18px}.gl-filter-tree__checkbox:indeterminate{opacity:.7}.gl-filter-tree__text{flex:1;user-select:none}.gl-filter-panel__tree-empty{color:var(--gl-color-text-muted);font-size:.85rem;font-style:italic;margin:0;padding:.5rem 0}.gl-filter-panel__proximity{display:flex;flex-direction:column;gap:.5rem}.gl-filter-panel__proximity-title{color:var(--gl-color-text-main);font-size:.875rem;font-weight:600;margin:0;padding-bottom:.25rem}.gl-filter-panel__proximity-btn{font-size:.85rem;padding:.5rem;transition:all .2s ease;width:100%}.gl-filter-panel__proximity-btn.is-active{background:var(--gl-color-accent);border-color:var(--gl-color-accent);color:var(--gl-color-text-inverse)}.gl-filter-panel__proximity-range{background:var(--gl-color-bg-surface-muted);border-radius:6px;display:flex;flex-direction:column;gap:.4rem;padding:.5rem}.gl-filter-panel__proximity-instruction{color:var(--gl-color-text-muted);font-size:.75rem;font-style:italic;margin:0;padding-top:.3rem}@media (max-width:640px){#gl-filter-panel.gl-filter-panel{left:.5rem;right:.5rem;width:auto}.gl-filter-toggle{height:56px;width:28px}}.gl-filter-panel__group--accordion{border:1px solid var(--gl-color-border-soft);border-radius:8px;margin-bottom:.5rem;overflow:hidden}.gl-filter-panel__accordion-header{align-items:center;background:var(--gl-color-bg-surface-muted);cursor:pointer;display:flex;justify-content:space-between;padding:.6rem .8rem;transition:background .15s ease-out;user-select:none}.gl-filter-panel__accordion-header:hover{background:var(--gl-color-bg-surface)}.gl-filter-panel__accordion-title{color:var(--gl-color-text-main);font-size:.85rem;font-weight:600;margin:0}.gl-filter-panel__accordion-arrow{color:var(--gl-color-text-muted);font-size:.75rem;transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.gl-filter-panel__group--accordion.is-expanded .gl-filter-panel__accordion-arrow{transform:rotate(90deg)}.gl-filter-panel__accordion-body{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1)}.gl-filter-panel__group--accordion.is-expanded .gl-filter-panel__accordion-body{grid-template-rows:1fr}.gl-filter-panel__accordion-body>*{max-height:300px;min-height:0;overflow-y:auto;padding:0}.gl-filter-panel__accordion-body>::-webkit-scrollbar{width:6px}.gl-filter-panel__accordion-body>::-webkit-scrollbar-track{background:transparent}.gl-filter-panel__accordion-body>::-webkit-scrollbar-thumb{background:var(--gl-color-border-soft);border-radius:3px;transition:background .14s ease}.gl-filter-panel__accordion-body>::-webkit-scrollbar-thumb:hover{background:var(--gl-color-border-main)}.gl-filter-panel__group--accordion.is-expanded .gl-filter-panel__accordion-body>*{padding:.8rem}.gl-baselayers{align-items:center;display:inline-flex;gap:.25rem}.gl-baselayers--stacked{align-items:stretch;flex-direction:column}[data-gl-baselayer]{align-items:center;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:9999px;box-shadow:var(--gl-shadow-soft);color:var(--gl-color-text-main);cursor:pointer;display:inline-flex;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.7rem;font-weight:500;gap:.3rem;justify-content:center;line-height:1.2;padding:.2rem .5rem;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .1s ease,color .14s ease;white-space:nowrap}[data-gl-baselayer]:hover{background:var(--gl-color-bg-surface-muted);border-color:var(--gl-color-border-strong);box-shadow:var(--gl-shadow-medium);transform:translateY(-1px)}[data-gl-baselayer]:active{box-shadow:var(--gl-shadow-soft);transform:translateY(0)}[data-gl-baselayer]:disabled,[data-gl-baselayer][aria-disabled=true]{box-shadow:none;cursor:default;opacity:.5}[data-gl-baselayer].gl-baselayer-active,[data-gl-baselayer].is-active{background:var(--gl-color-accent-soft);border-color:var(--gl-color-border-strong);box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-main)}[data-gl-baselayer].gl-baselayer-active:hover,[data-gl-baselayer].is-active:hover{background:var(--gl-color-accent);color:var(--gl-color-text-inverse)}.gl-baselayer__icon{display:inline-block;font-size:.8em;line-height:1}.gl-baselayer__label{display:inline-block;font-size:.7rem}.gl-baselayer--compact [data-gl-baselayer]{font-size:.68rem;padding-inline:.4rem}.gl-layer-manager__baselayers{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:4px}@media (max-width:768px){.gl-layer-manager__baselayers{justify-content:flex-start}.gl-layer-manager__baselayers [data-gl-baselayer]{flex:0 0 auto}}.gl-layer-manager{color:var(--gl-color-text-main);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8rem}body:has(.gl-table-panel.is-visible) .leaflet-bottom.leaflet-right{bottom:calc(40% + 24px);transition:bottom .3s ease-in-out}.gl-layer-manager__main-wrapper{background:var(--gl-color-legend-bg);border:1px solid var(--gl-color-legend-border);border-radius:.75rem;box-shadow:var(--gl-shadow-medium);color:var(--gl-color-legend-text);display:flex;flex-direction:column;max-height:400px;overflow:hidden;width:240px}.gl-layer-manager__header-wrapper{border-bottom:1px solid var(--gl-color-border-soft);flex-shrink:0;padding:10px 12px}.gl-layer-manager__body-wrapper{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:6px 12px;scrollbar-color:var(--gl-color-border-soft) transparent;scrollbar-width:thin}.gl-layer-manager__body-wrapper::-webkit-scrollbar{width:8px}.gl-layer-manager__body-wrapper::-webkit-scrollbar-track{background:var(--gl-color-bg-surface-muted);border-radius:4px}.gl-layer-manager__body-wrapper::-webkit-scrollbar-thumb{background-color:var(--gl-color-border-soft);border:1px solid var(--gl-color-bg-surface);border-radius:4px;transition:background-color .2s ease}.gl-layer-manager__body-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--gl-color-border-strong)}.gl-layer-manager__body-wrapper::-webkit-scrollbar-thumb:active{background-color:var(--gl-color-text-main)}.gl-layer-manager__wrapper{display:contents}.gl-layer-manager__header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.gl-layer-manager__title{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.gl-layer-manager__actions{align-items:center;display:flex;gap:.25rem}.gl-layer-manager__toggle{align-items:center;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:9999px;box-shadow:var(--gl-shadow-soft);color:var(--gl-color-text-main);cursor:pointer;display:inline-flex;font-size:.75rem;height:22px;justify-content:center;line-height:1;transition:background-color .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease;width:22px}.gl-layer-manager__toggle:hover{background:var(--gl-color-bg-surface-muted);border-color:var(--gl-color-border-strong);box-shadow:var(--gl-shadow-medium);transform:translateY(-1px)}.gl-layer-manager__toggle:active{box-shadow:var(--gl-shadow-soft);transform:translateY(0)}.gl-layer-manager__toggle-icon{display:inline-block;transform-origin:center;transition:transform .12s ease}.gl-layer-manager--collapsed .gl-layer-manager__toggle-icon{transform:rotate(180deg)}.gl-layer-manager--collapsed .gl-layer-manager__body-wrapper{display:none}.gl-layer-manager__body{display:flex;flex-direction:column;gap:6px}.gl-layer-manager__section{border-top:1px solid var(--gl-color-border-soft);margin-top:4px;padding-top:4px}.gl-layer-manager__section--accordion{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:6px;margin-top:6px;overflow:hidden;padding:0}.gl-layer-manager__accordion-header{align-items:center;background:var(--gl-color-bg-surface);cursor:pointer;display:flex;justify-content:space-between;padding:8px 10px;transition:background-color .15s ease;user-select:none}.gl-layer-manager__accordion-header:hover{background:var(--gl-color-bg-surface-muted)}.gl-layer-manager__accordion-arrow{color:var(--gl-color-text-muted);font-size:.7rem;transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.gl-layer-manager__section--accordion:not(.gl-layer-manager__section--collapsed) .gl-layer-manager__accordion-arrow{transform:rotate(90deg)}.gl-layer-manager__accordion-body{display:grid;grid-template-rows:1fr;overflow:hidden;padding:8px 10px;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1),padding .25s cubic-bezier(.4,0,.2,1)}.gl-layer-manager__section--collapsed .gl-layer-manager__accordion-body{grid-template-rows:0fr;padding:0 10px}.gl-layer-manager__accordion-body>*{min-height:0}.gl-layer-manager__section-title{font-size:.7rem;font-weight:600;letter-spacing:.04em;margin-bottom:2px;opacity:.9;text-transform:uppercase}.gl-layer-manager__accordion-header .gl-layer-manager__section-title{color:var(--gl-color-text-main);margin-bottom:0;opacity:1}.gl-layer-manager__items{display:flex;flex-direction:column;gap:2px}.gl-layer-manager__item{border-radius:6px;cursor:default;display:flex;padding:3px 4px}.gl-layer-manager__item,.gl-layer-manager__item--with-themes{align-items:stretch;flex-direction:column;gap:0}.gl-layer-manager__item--with-themes .gl-layer-manager__item-row{align-items:center;display:flex;gap:6px;width:100%}.gl-layer-manager__item-controls{min-width:58px}.gl-layer-manager__item--clickable{cursor:pointer;transition:background-color .12s ease,transform .1s ease}.gl-layer-manager__item--clickable:hover{background-color:var(--gl-color-overlay-soft);transform:translateY(-.5px)}.gl-layer-manager__item--clickable:active{transform:translateY(0)}.gl-layer-manager__label{color:inherit;flex:1;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.7rem;line-height:1.3;min-width:0}.gl-layer-manager__description{color:var(--gl-color-text-muted);font-size:.7rem;opacity:.92}.gl-layer-manager__swatch{background-color:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:4px;box-sizing:border-box;flex-shrink:0;height:16px;position:relative;width:16px}.gl-layer-manager__swatch[data-type=circle],.gl-layer-manager__swatch[data-type=line]{border-radius:9999px}.gl-layer-manager__swatch[data-color]{background-color:var(--gl-color-bg-surface-muted);color:var(--gl-color-route-line)}.gl-layer-manager__swatch[data-color]:before{background-color:currentColor}.gl-layer-manager__swatch[data-type=line]:before{border-radius:999px;content:"";height:2px;inset:50% 3px auto 3px;position:absolute;transform:translateY(-50%)}.gl-layer-manager__swatch[data-type=circle]:before{border-radius:999px;content:"";inset:3px;position:absolute}.gl-layer-manager__swatch[data-badge=poi]:before{background-color:var(--gl-color-poi-fill)}.gl-layer-manager__swatch[data-badge=route]:before{background-color:var(--gl-color-route-line)}.gl-layer-manager__item-main{display:flex;flex-direction:column;gap:1px;min-width:0}.gl-layer-manager__item-meta{display:flex;flex-wrap:wrap;gap:3px;margin-top:1px}.gl-layer-manager__badge{align-items:center;background:var(--gl-color-overlay-soft);border:1px solid var(--gl-color-border-soft);border-radius:999px;color:var(--gl-color-text-muted);display:inline-flex;font-size:.65rem;gap:.25rem;line-height:1.1;padding:.1rem .35rem}.gl-layer-manager__badge-dot{background:currentColor;border-radius:999px;height:.4rem;width:.4rem}.gl-layer-manager__filters{display:flex;flex-direction:column;gap:4px;margin-top:4px}.gl-layer-manager__filter-label{font-size:.7rem;opacity:.9}.gl-layer-manager__wrapper select{-webkit-appearance:none;appearance:none;background-color:var(--gl-color-bg-surface);background-image:linear-gradient(45deg,transparent 50%,var(--gl-color-border-soft) 50%),linear-gradient(135deg,var(--gl-color-border-soft) 50%,transparent 50%);background-position:calc(100% - 12px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;border:1px solid var(--gl-color-border-soft);border-radius:6px;box-sizing:border-box;color:var(--gl-color-text-main);padding:4px 6px;width:100%}.gl-layer-manager option,.gl-layer-manager select{font-family:cursive,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:500}.gl-layer-manager__filter-input::placeholder{color:var(--gl-color-text-muted);opacity:.9}.gl-layer-manager__item-row{align-items:center;display:flex;gap:6px;justify-content:space-between;width:100%}.gl-layer-manager__item-controls{align-items:center;display:flex;flex-shrink:0;gap:4px;justify-content:flex-end;width:56px}.gl-layer-manager__item-toggle{background:var(--gl-color-overlay-soft);border:2px solid var(--gl-color-border-strong);border-radius:9999px;box-shadow:inset 0 1px 3px var(--gl-color-overlay-strong);cursor:pointer;flex-shrink:0;height:20px;position:relative;transition:background .12s ease,box-shadow .12s ease,transform .12s ease,border-color .12s ease;width:36px}.gl-layer-manager__item-toggle:after{background:var(--gl-color-bg-surface);border-radius:9999px;box-shadow:var(--gl-shadow-medium);content:"";height:12px;left:2px;position:absolute;top:2px;transition:left .14s ease,background .14s ease,transform .14s ease;width:12px}.gl-layer-manager__item-toggle:hover{background:var(--gl-color-overlay-strong);border-color:var(--gl-color-border-strong)}.gl-layer-manager__item-toggle--on{background:var(--gl-color-accent-soft);border-color:var(--gl-color-accent);box-shadow:var(--gl-shadow-soft)}.gl-layer-manager__item-toggle--on:after{background:var(--gl-color-bg-surface);box-shadow:var(--gl-shadow-medium);left:18px;transform:translateX(0) scale(1.03)}.gl-layer-manager__item-toggle--on:hover{background:var(--gl-color-accent);border-color:var(--gl-color-accent)}.gl-layer-manager__item-toggle--loading{animation:gl-toggle-pulse 1s ease-in-out infinite;opacity:.6;pointer-events:none}.gl-layer-manager__item-toggle--loading:after{background:var(--gl-color-accent-soft)}@keyframes gl-toggle-pulse{0%,to{opacity:.4}50%{opacity:.8}}@media (max-width:768px){.gl-layer-manager__wrapper{max-width:260px;padding:8px 10px}.gl-layer-manager__title{font-size:.78rem}.gl-layer-manager__label{max-width:140px}}.gl-layer-manager__theme-toggle{align-items:center;background:var(--gl-color-bg-surface-muted,hsla(0,0%,100%,.1));border:none;border-radius:3px;color:var(--gl-color-text-muted,#888);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.5rem;height:16px;justify-content:center;line-height:1;padding:0;transition:color .15s ease,background-color .15s ease,transform .15s ease;width:16px}.gl-layer-manager__theme-toggle-placeholder{display:inline-block;flex-shrink:0;height:16px;width:16px}.gl-layer-manager__theme-toggle:hover{background:var(--gl-color-bg-surface-muted,hsla(0,0%,100%,.15));color:var(--gl-color-accent,#4a90d9)}.gl-layer-manager__theme-toggle--open{background:var(--gl-color-accent-soft,rgba(74,144,217,.2));color:var(--gl-color-accent,#4a90d9)}.gl-layer-manager__theme-toggle--open .gl-layer-manager__theme-toggle-icon{transform:rotate(180deg)}.gl-layer-manager__theme-toggle-icon{display:inline-block;transition:transform .2s ease}.gl-layer-manager__theme-selector{align-items:center;background:var(--gl-color-bg-surface-muted,hsla(0,0%,100%,.08));border-radius:6px;display:flex;gap:8px;margin-top:4px;max-height:200px;opacity:1;overflow:hidden;padding:5px 6px;transition:max-height .2s ease,opacity .2s ease,margin-top .2s ease,padding .2s ease}.gl-layer-manager__theme-selector--collapsed{margin-top:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0}.gl-layer-manager__theme-label{color:var(--gl-color-text-muted,#aaa);font-size:.68rem;white-space:nowrap}.gl-layer-manager__theme-loader{font-size:.7rem;opacity:.6}.gl-layer-manager__theme-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--gl-color-bg-surface,rgba(0,0,0,.3));background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23888' d='m0 2 4 4 4-4z'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border:1px solid var(--gl-color-border-soft,hsla(0,0%,100%,.15));border-radius:4px;color:var(--gl-color-text-main,#fff);cursor:pointer;flex:1;font-size:.68rem;max-width:100%;min-width:0;padding:4px 20px 4px 6px;transition:border-color .15s ease,box-shadow .15s ease}.gl-layer-manager__theme-select:hover{background:var(--gl-color-bg-surface-muted,rgba(0,0,0,.4));border-color:var(--gl-color-accent,#4a90d9)}.gl-layer-manager__theme-select:focus{border-color:var(--gl-color-accent,#4a90d9);box-shadow:0 0 0 2px var(--gl-color-accent-soft,rgba(74,144,217,.25));outline:none}.gl-layer-manager__theme-select option{background:var(--gl-color-bg-surface,#2a2a2a);color:var(--gl-color-text-main,#fff);padding:4px 8px}.gl-layer-manager__style-wrapper{margin-bottom:2px;margin-top:6px;padding-left:0;width:100%}.gl-layer-manager__style-selector{align-items:center;display:flex;gap:6px;padding:4px 0;width:100%}.gl-layer-manager__control-label{color:var(--gl-color-text-muted,#aaa);flex-shrink:0;font-size:.68rem;font-weight:400;margin:0;white-space:nowrap}.gl-layer-manager__style-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--gl-color-bg-surface,rgba(0,0,0,.3));background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23888' d='m0 2 4 4 4-4z'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border:1px solid var(--gl-color-border-soft,hsla(0,0%,100%,.15));border-radius:4px;color:var(--gl-color-text-main,#fff);cursor:pointer;flex:1;font-size:.68rem;max-width:100%;min-width:0;padding:4px 20px 4px 6px;transition:border-color .15s ease,box-shadow .15s ease}.gl-layer-manager__style-select:hover{background:var(--gl-color-bg-surface-muted,rgba(0,0,0,.4));border-color:var(--gl-color-accent,#4a90d9)}.gl-layer-manager__style-select:focus{border-color:var(--gl-color-accent,#4a90d9);box-shadow:0 0 0 2px var(--gl-color-accent-soft,rgba(74,144,217,.25));outline:none}.gl-layer-manager__style-select option{background:var(--gl-color-bg-surface,#2a2a2a);color:var(--gl-color-text-main,#fff);padding:4px 8px}.gl-map-legend{pointer-events:none;user-select:none}.gl-map-legend__wrapper{background:var(--gl-color-legend-bg);border:1px solid var(--gl-color-legend-border);border-bottom:none;border-left:none;border-radius:0;box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--gl-color-legend-text);font-size:.8rem;line-height:1.3;max-width:280px;min-width:180px;padding:8px;pointer-events:auto}.gl-map-legend__header{align-items:center;border-bottom:1px solid var(--gl-color-legend-border);display:flex;justify-content:space-between;margin-bottom:6px;padding-bottom:6px}.gl-map-legend__title{color:var(--gl-color-legend-text);font-size:.85rem;font-weight:600;margin:0}.gl-map-legend__toggle{background:transparent;border:none;color:var(--gl-color-legend-text);cursor:pointer;font-size:1.1rem;line-height:1;padding:4px;transition:transform .2s ease}.gl-map-legend__toggle:hover{opacity:.7}.gl-map-legend--collapsed .gl-map-legend__toggle{transform:rotate(180deg)}.gl-map-legend__body{display:block;max-height:350px;overflow-x:hidden;overflow-y:auto}.gl-map-legend--collapsed .gl-map-legend__body{display:none}.gl-legend__section{margin-bottom:8px}.gl-legend__section:last-child{margin-bottom:0}.gl-legend__section-title{color:var(--gl-color-legend-text);font-size:.75rem;font-weight:600;margin:0 0 4px;opacity:.9}.gl-legend__items{display:flex;flex-direction:column;gap:4px}.gl-legend__item{align-items:center;display:flex;gap:8px}.gl-legend__symbol{align-items:center;display:flex;flex-shrink:0;justify-content:center;min-width:24px}.gl-legend__text{display:flex;flex:1;flex-direction:column;gap:2px}.gl-legend__label{color:var(--gl-color-legend-text);font-size:.75rem;font-weight:500}.gl-legend__description{color:var(--gl-color-legend-text);font-size:.65rem;font-style:italic;opacity:.7}.gl-legend__marker{align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.2);display:flex;justify-content:center}.gl-legend__circle{border:none!important;box-shadow:0 1px 2px rgba(0,0,0,.15);transform:scale(2);transform-origin:center}.gl-legend__line{margin:4px 0}.gl-legend__polygon{box-shadow:0 1px 2px rgba(0,0,0,.1)}.gl-legend__stars{display:flex;gap:2px}.gl-legend__star{line-height:1}.gl-legend__icon-img{display:block;object-fit:contain}.gl-legend__footer{border-top:1px solid var(--gl-color-legend-border);color:var(--gl-color-legend-text);font-size:.7rem;margin-top:10px;opacity:.7;padding-top:8px}.gl-map-legend__body::-webkit-scrollbar{width:6px}.gl-map-legend__body::-webkit-scrollbar-track{background:transparent}.gl-map-legend__body::-webkit-scrollbar-thumb{background:var(--gl-color-legend-border);border-radius:3px}.gl-map-legend__body::-webkit-scrollbar-thumb:hover{background:var(--gl-color-legend-text);opacity:.5}.gl-legend__accordion{background:var(--gl-color-legend-bg);border:1px solid var(--gl-color-legend-border);border-radius:3px;margin-bottom:6px;overflow:hidden}.gl-legend__accordion:last-child{margin-bottom:0}.gl-legend__accordion-header{align-items:center;background:var(--gl-color-legend-header-bg,rgba(0,0,0,.05));cursor:pointer;display:flex;justify-content:space-between;padding:6px 8px;transition:background .2s ease;user-select:none}.gl-legend__accordion-header:hover{background:var(--gl-color-legend-header-hover-bg,rgba(0,0,0,.1))}.gl-legend__accordion-title{color:var(--gl-color-legend-text);font-size:.8rem;font-weight:600;margin:0}.gl-legend__accordion-toggle{background:transparent;border:none;color:var(--gl-color-legend-text);cursor:pointer;font-size:.9rem;line-height:1;min-width:20px;padding:0;text-align:center;transition:transform .2s ease}.gl-legend__accordion-toggle:hover{opacity:.7}.gl-legend__accordion--collapsed .gl-legend__accordion-toggle,.gl-legend__accordion:not(.gl-legend__accordion--collapsed) .gl-legend__accordion-toggle{transform:rotate(0deg)}.gl-legend__accordion-body{background:var(--gl-color-legend-bg);padding:8px}.gl-legend__accordion--collapsed .gl-legend__accordion-body{display:none;max-height:0;padding:0}.gl-legend__accordion-body::-webkit-scrollbar-thumb:hover{background:var(--gl-color-legend-text);opacity:.5}.gl-legend__accordion-body .gl-legend__section{margin-bottom:6px}.gl-legend__accordion-body .gl-legend__section:last-child{margin-bottom:0}.gl-legend__accordion--inactive{filter:grayscale(70%);opacity:.5;pointer-events:none;transition:opacity .3s ease,filter .3s ease}.gl-legend__accordion--inactive .gl-legend__accordion-header{cursor:not-allowed}.gl-legend__accordion--inactive .gl-legend__accordion-header,.gl-legend__accordion--inactive .gl-legend__accordion-header:hover{background:var(--gl-color-legend-header-inactive-bg,rgba(0,0,0,.02))}.gl-legend__accordion--inactive .gl-legend__accordion-title{color:var(--gl-color-legend-text-inactive,rgba(0,0,0,.5));font-style:italic}.geoleaf-coordinates-display{color:var(--gl-color-text-main);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem;pointer-events:none;transition:margin-left .16s ease-out}body:has(#gl-filter-panel.is-open) .leaflet-bottom.leaflet-left .geoleaf-coordinates-display{margin-left:320px}.coordinates-content{background:var(--gl-color-legend-bg);border:1px solid var(--gl-color-legend-border);border-radius:.75rem;box-shadow:var(--gl-shadow-medium);color:var(--gl-color-legend-text);font-weight:600;letter-spacing:.02em;min-width:200px;padding:10px 14px;pointer-events:auto;text-align:center;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease;white-space:nowrap}.coordinates-content:hover{background:var(--gl-color-bg-surface-muted);border-color:var(--gl-color-border-strong);box-shadow:var(--gl-shadow-medium)}@media (max-width:768px){.geoleaf-coordinates-display{font-size:.75rem}.coordinates-content{min-width:180px;padding:8px 12px}}.geoleaf-branding{color:var(--gl-color-text-muted);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6rem;padding:0!important;pointer-events:auto}.geoleaf-branding,.leaflet-bottom.leaflet-left{margin:0!important;transition:margin-left .16s ease-out}.leaflet-bottom.leaflet-left{align-items:start!important;bottom:0!important;display:grid!important;gap:6px!important;grid-template-columns:auto auto!important;grid-template-rows:auto auto!important;left:0!important;padding:0 0 6px!important;pointer-events:none}.leaflet-bottom.leaflet-left>.gl-map-legend{grid-column:1/-1!important;grid-row:1!important}.leaflet-bottom.leaflet-left>.geoleaf-branding{align-self:end!important;grid-column:1!important;grid-row:2!important;margin:0!important}.leaflet-bottom.leaflet-left>.leaflet-control:has(.gl-scale-main-wrapper){align-self:end!important;grid-column:2!important;grid-row:2!important;margin:0!important}.leaflet-bottom.leaflet-left>.leaflet-control:has(.gl-scale-main-wrapper) .gl-scale-main-wrapper{margin-bottom:0!important}.leaflet-bottom.leaflet-left>*{flex-shrink:0!important;margin:0!important;pointer-events:none}body:has(#gl-filter-panel.is-open) .leaflet-bottom.leaflet-left{margin-left:320px}.branding-content{align-items:center;background:var(--gl-color-legend-bg);border:1px solid var(--gl-color-legend-border);border-bottom:none;border-left:none;border-radius:0;box-shadow:var(--gl-shadow-soft);color:var(--gl-color-text-muted);display:flex;font-size:.6rem;font-weight:300;height:22px;letter-spacing:.01em;margin:0;opacity:.75;padding:3px 10px;text-align:left;transition:opacity .12s ease;white-space:nowrap}.branding-content:hover{opacity:.95}@media (max-width:768px){.geoleaf-branding{font-size:.6rem}.branding-content{padding:3px 6px}}.gl-poi-marker{align-items:center;display:flex;height:12px;justify-content:center;position:relative;width:12px}.gl-poi-marker__icon{color:var(--gl-poi-fill,var(--gl-color-poi-fill))}.gl-poi-marker__circle,.gl-poi-marker__icon{display:block;filter:drop-shadow(0 1px 2px var(--gl-color-overlay-soft));height:100%;width:100%}.gl-poi-cluster{background-color:var(--gl-color-poi-fill);border:3px solid var(--gl-color-poi-stroke);box-shadow:var(--gl-shadow-medium);color:var(--gl-color-text-inverse);font-weight:600}.gl-geojson-tooltip.leaflet-tooltip,.gl-poi-tooltip.leaflet-tooltip{backdrop-filter:blur(4px);background:var(--gl-color-popup-bg);border:1px solid var(--gl-color-popup-border);border-radius:.375rem;box-shadow:var(--gl-shadow-soft);color:var(--gl-color-popup-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;font-size:.8rem;font-weight:500;padding:.35rem .65rem}.gl-geojson-tooltip.leaflet-tooltip.leaflet-tooltip-top:before,.gl-geojson-tooltip.leaflet-tooltip:before,.gl-poi-tooltip.leaflet-tooltip.leaflet-tooltip-top:before,.gl-poi-tooltip.leaflet-tooltip:before{border-top-color:var(--gl-color-popup-border)}.gl-geojson-tooltip.leaflet-tooltip.leaflet-tooltip-bottom:before,.gl-poi-tooltip.leaflet-tooltip.leaflet-tooltip-bottom:before{border-bottom-color:var(--gl-color-popup-border)}.gl-geojson-tooltip.leaflet-tooltip.leaflet-tooltip-left:before,.gl-poi-tooltip.leaflet-tooltip.leaflet-tooltip-left:before{border-left-color:var(--gl-color-popup-border)}.gl-geojson-tooltip.leaflet-tooltip.leaflet-tooltip-right:before,.gl-poi-tooltip.leaflet-tooltip.leaflet-tooltip-right:before{border-right-color:var(--gl-color-popup-border)}.gl-poi-popup{display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;font-size:.875rem;gap:.1rem;line-height:1.35;max-width:300px;min-width:260px}.leaflet-popup-content-wrapper{backdrop-filter:blur(6px);background:var(--gl-color-popup-bg);border:1px solid var(--gl-color-popup-border);border-radius:.5rem;box-shadow:var(--gl-shadow-medium);color:var(--gl-color-popup-text)}.leaflet-popup-tip,.leaflet-popup-tip-container .leaflet-popup-tip{background:var(--gl-color-popup-bg-elevated,var(--gl-color-popup-bg));border-top-color:var(--gl-color-popup-border)}.leaflet-map-pane .leaflet-popup-pane,.leaflet-pane.leaflet-popup-pane,.leaflet-popup,.leaflet-popup-pane{z-index:1050!important}.gl-poi-popup__photo{border-radius:.5rem;max-height:160px;overflow:hidden;position:relative}.gl-poi-popup__photo img{display:block;height:100%;object-fit:cover;width:100%}.gl-poi-popup__body{display:flex;flex-direction:column}.gl-poi-popup__body .gl-poi-popup__title{border-bottom:1px solid var(--gl-poi-title-border);font-size:.95rem;font-weight:600;margin-top:0;padding-bottom:.25rem}.gl-poi-popup__icon{height:22px;vertical-align:middle;width:22px}.gl-poi-popup__body .gl-poi-popup__desc{font-size:.8rem;margin-top:0}.gl-poi-popup__badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.gl-poi-badge{border:1px solid var(--gl-color-border-subtle);color:inherit;font-size:.7rem;font-weight:500;padding:.15rem .45rem}.gl-poi-badge--cat,.gl-poi-badge--secondary{background:var(--gl-color-badge-subcategory-bg);border-color:var(--gl-color-badge-subcategory-border)}.gl-poi-badge--imp,.gl-poi-badge--important,.gl-poi-badge--tag{background:var(--gl-color-badge-category-bg);border-color:var(--gl-color-badge-category-border)}.gl-poi-badge--default{background:var(--gl-color-badge-default-bg,hsla(0,0%,50%,.1));border-color:var(--gl-color-badge-default-border,hsla(0,0%,50%,.3))}.gl-rating{align-items:center;display:flex;gap:.5rem;margin-top:.35rem}.gl-rating__label{color:var(--gl-text-secondary);font-size:.85rem;font-weight:500}.gl-rating__stars{display:inline-flex;gap:2px}.gl-rating__star{color:#d1d5db;font-size:1.2rem;transition:color .2s}.gl-rating__star--filled{color:#fbbf24}.gl-rating__value{color:var(--gl-text-primary);font-size:.85rem;font-weight:600}.gl-content__reviews{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.gl-content__review{background:var(--gl-bg-secondary,#f9fafb);border-left:3px solid var(--gl-color-accent,#3b82f6);border-radius:.25rem;display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem}.gl-content__review-rating{display:inline-flex;gap:2px;line-height:1}.gl-content__review-star{color:#d1d5db;font-size:1rem;transition:color .15s}.gl-content__review-star--filled{color:#fbbf24}.gl-content__review-text{color:var(--gl-text-primary,#111827);font-size:.875rem;line-height:1.5;margin:0}.gl-content__review-meta{align-items:center;display:flex;gap:.5rem;margin-top:.125rem}.gl-content__review-author{color:var(--gl-text-secondary,#6b7280);font-size:.8rem;font-weight:600}.gl-content__review-verified{color:#22c55e;font-size:.7rem}.gl-content__review-date{color:var(--gl-text-muted,#9ca3af);font-size:.75rem;margin-left:auto}.gl-poi-popup__link{align-items:center;align-self:flex-end;border-bottom:1px solid;color:var(--gl-color-accent);display:inline-flex;font-size:.8rem;font-weight:500;justify-content:flex-end;margin-top:.25rem;text-align:right;text-decoration:none}.gl-poi-popup__link:hover{opacity:.85}.leaflet-popup-content-wrapper .gl-poi-popup__body .gl-poi-popup__link,.leaflet-popup-content-wrapper .gl-poi-popup__body .gl-poi-popup__link:visited{border-bottom-color:currentColor;color:var(--gl-color-accent)}.leaflet-popup-content-wrapper .gl-poi-popup__body .gl-poi-popup__link:hover{color:color-mix(in srgb,var(--gl-color-accent) 85%,transparent)}.gl-poi-list-ordered,.gl-poi-list-unordered{color:var(--gl-color-text-main);font-size:.9rem;line-height:1.6;margin:0;padding-left:1.5rem}.gl-poi-list-unordered{list-style-type:disc}.gl-poi-list-ordered{list-style-type:decimal}.gl-poi-list-ordered li,.gl-poi-list-unordered li{margin-bottom:.4rem;padding-left:.25rem}.gl-poi-list-ordered li:last-child,.gl-poi-list-unordered li:last-child{margin-bottom:0}.gl-poi-table{border-collapse:collapse;color:var(--gl-color-text-main);font-size:.9rem;line-height:1.5;width:100%}.gl-poi-table thead{background-color:var(--gl-color-bg-subtle)}.gl-poi-table th{font-weight:600;text-align:left}.gl-poi-table td,.gl-poi-table th{padding:10px 12px}.gl-poi-table tbody tr:hover{background-color:var(--gl-color-bg-hover,rgba(0,0,0,.02))}.gl-poi-list{display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8rem;gap:4px;max-height:280px;overflow-y:auto;padding:4px 0;scrollbar-width:thin}.gl-poi-list::-webkit-scrollbar{width:4px}.gl-poi-list::-webkit-scrollbar-thumb{background:var(--gl-color-border-soft);border-radius:9999px}.gl-poi-item{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:10px;color:var(--gl-color-text-main);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:6px 8px;transition:background-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out}.gl-poi-item:hover{box-shadow:var(--gl-shadow-medium);transform:translateY(-1px)}.gl-poi-item__title{align-items:center;display:flex;font-size:.82rem;font-weight:600;gap:6px;justify-content:space-between}.gl-poi-item__meta{font-size:.76rem;opacity:.8}.gl-poi-item__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.gl-poi-item__tag{background:var(--gl-color-accent-soft);border-radius:9999px;color:var(--gl-color-accent);font-size:.7rem;font-weight:500;padding:1px 6px}.gl-poi-sidepanel-overlay{background:var(--gl-color-overlay-soft);inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .22s ease;z-index:1099}.gl-poi-sidepanel-overlay.open{opacity:1;pointer-events:auto}.gl-poi-sidepanel{background:var(--gl-color-bg-surface);box-shadow:var(--gl-shadow-panel);color:var(--gl-color-text-main);display:flex;flex-direction:column;height:100vh;max-width:100vw;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .28s ease;width:420px;z-index:1100}.gl-poi-sidepanel.open{transform:translateX(0)}.gl-poi-sidepanel__header{display:flex;justify-content:flex-end;padding:6px 8px 0}.gl-poi-sidepanel__close{align-items:center;background:var(--gl-color-accent);border:none;border-radius:50%;box-shadow:var(--gl-shadow-soft);color:var(--gl-color-text-inverse);cursor:pointer;display:inline-flex;font-size:18px;height:36px;justify-content:center;line-height:1;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;width:36px}.gl-poi-sidepanel__close:hover{box-shadow:var(--gl-shadow-medium);opacity:.98;transform:translateY(-1px)}.gl-poi-sidepanel__content{align-items:stretch;display:flex;flex-direction:column;gap:0;overflow-y:auto;padding:0 12px 12px}.gl-poi-sidepanel__photo img{border-radius:8px;display:block;height:auto;margin:5px 0;width:100%}.gl-poi-sidepanel__content .gl-poi-sidepanel__title-text{line-height:1.08}.gl-poi-sidepanel__content .gl-poi-sidepanel__title{display:flex;font-weight:700;gap:.375rem;margin-top:0;padding-top:0;text-align:left}.gl-poi-sidepanel__content .gl-poi-sidepanel__title-text{display:block;font-size:1.05rem;line-height:1.15}.gl-poi-sidepanel__content .gl-poi-sidepanel__title{border-bottom:2px solid var(--gl-color-border-soft);padding-bottom:4px}.gl-poi-sidepanel__content .gl-poi-sidepanel__title .gl-poi-sidepanel__title-text,.gl-poi-sidepanel__content .gl-poi-sidepanel__title-text{flex:1 1 auto;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.gl-poi-sidepanel__icon{flex-shrink:0;height:32px;vertical-align:middle;width:32px}.gl-poi-field--title{align-items:center;border-bottom:1px solid var(--gl-poi-title-border);display:flex;font-size:1.3rem;font-weight:700;gap:.5rem;margin-bottom:.5rem;margin-top:1rem;padding-bottom:.25rem}.gl-poi-sidepanel__content .gl-poi-sidepanel__title{align-items:center;justify-content:flex-start;margin:5px 0;padding-bottom:2px;width:100%}.gl-poi-sidepanel__desc{color:var(--gl-color-text-muted);margin-top:8px}.gl-poi-sidepanel__badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.gl-poi-sidepanel__link{color:var(--gl-color-accent);display:inline-block;margin-top:14px;text-decoration:underline}.gl-poi-badge-container{display:inline-block;margin:.25rem 0}.gl-poi-badge{align-items:center;border-radius:999px;color:var(--gl-color-text-inverse);display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:.25rem .6rem;text-transform:uppercase}.gl-poi-link-container{margin:.5rem 0}.gl-poi-website-link{align-items:center;align-self:flex-end;border-bottom:1px solid;color:var(--gl-color-accent);display:inline-flex;font-size:.8rem;font-weight:500;justify-content:flex-end;text-decoration:none}.gl-poi-website-link:hover{opacity:.85}body.gl-poi-sidepanel-open #geoleaf-map,body.gl-poi-sidepanel-open .gl-map{right:var(--gl-sidepanel-width);transition:right .28s ease}body.gl-poi-sidepanel-open .leaflet-bottom.leaflet-right{right:430px;transition:right .28s ease}body.gl-poi-sidepanel-open .gl-layer-manager,body.gl-poi-sidepanel-open .gl-layer-manager__wrapper{transition:all .28s ease}.gl-poi-item--highlight{box-shadow:0 0 0 1px var(--gl-color-accent),var(--gl-shadow-medium)}.gl-poi-item--selected{box-shadow:0 0 0 1px var(--gl-color-accent),var(--gl-shadow-strong)}.gl-poi-item__bullet{background:var(--gl-color-accent);border-radius:9999px;flex-shrink:0;height:8px;margin-right:4px;width:8px}.gl-poi-info{backdrop-filter:blur(8px);background:var(--gl-color-popup-bg);border:1px solid var(--gl-color-popup-border);border-radius:14px;bottom:16px;box-shadow:var(--gl-shadow-strong);color:var(--gl-color-popup-text);font-size:.8rem;left:16px;line-height:1.4;max-width:280px;padding:10px 12px;pointer-events:none;position:absolute;right:auto;z-index:510}@media (max-width:768px){.gl-poi-info{bottom:12px;left:12px;max-width:none;right:12px}.gl-poi-item{padding:6px}.gl-poi-item__label{font-size:.78rem}}.leaflet-container .marker-cluster{background:transparent;border-radius:999px}.leaflet-container .marker-cluster-large div,.leaflet-container .marker-cluster-medium div,.leaflet-container .marker-cluster-small div{align-items:center;background:radial-gradient(circle,var(--gl-color-poi-cluster-center) 15%,var(--gl-color-poi-cluster-mid) 40%,var(--gl-color-poi-cluster-outer) 70%,var(--gl-color-poi-cluster-edge) 100%);border-radius:999px;box-shadow:var(--gl-shadow-medium);display:flex;height:var(--gl-size-poi-cluster);justify-content:center;line-height:var(--gl-size-poi-cluster);transition:all .16s ease-out;width:var(--gl-size-poi-cluster)}.leaflet-container .marker-cluster-large span,.leaflet-container .marker-cluster-medium span,.leaflet-container .marker-cluster-small span{color:var(--gl-color-poi-cluster-text);font-size:.85rem;font-weight:600}.gl-accordion{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:8px;margin:8px 0;overflow:hidden;transition:border-color .2s ease}.gl-accordion:hover{border-color:var(--gl-color-accent)}.gl-accordion__header{align-items:center;background:var(--gl-color-bg-surface);color:var(--gl-color-text-main);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:15px;justify-content:space-between;list-style:none;padding:12px 16px;transition:background .2s ease;user-select:none}.gl-accordion__header::-webkit-details-marker{display:none}.gl-accordion__header::marker{display:none}.gl-accordion__header:hover{background:var(--gl-color-bg-surface-elevated)}.gl-accordion__arrow{color:var(--gl-color-accent);display:inline-block;flex-shrink:0;font-size:.8rem;margin-left:auto;margin-right:8px;transition:transform .3s cubic-bezier(.4,0,.2,1)}details[open]>.gl-accordion__header .gl-accordion__arrow{transform:rotate(180deg)}.gl-accordion__header:after{content:""}.gl-accordion__panel{color:var(--gl-color-text-main);line-height:1.6;overflow:hidden;padding:0 16px;transition:opacity .3s ease,transform .3s cubic-bezier(.4,0,.2,1)}details[open] .gl-accordion__panel{animation:accordionOpen .3s cubic-bezier(.4,0,.2,1)}@keyframes accordionOpen{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.gl-accordion__panel-content{padding:16px 0}.gl-accordion__panel p{margin:0 0 12px}.gl-accordion__panel p:last-child{margin-bottom:0}.gl-poi-sidepanel__section{margin:12px 0}.gl-poi-sidepanel__section-title{color:var(--gl-color-accent);font-size:.9rem;font-weight:600;margin-bottom:8px}.gl-poi-sidepanel__section ul{margin:0;padding-left:20px}.gl-poi-sidepanel__section li{margin:4px 0}.gl-poi-sidepanel__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.gl-poi-tag{background:var(--gl-color-accent-soft);border-radius:16px;color:var(--gl-color-accent);display:inline-block;font-size:.8rem;font-weight:500;padding:4px 10px}.gl-poi-sidepanel__reviews{display:flex;flex-direction:column;gap:8px}.gl-poi-sidepanel__rating{color:var(--gl-color-accent);font-size:1.2rem;font-weight:700}.gl-poi-sidepanel__reviews-count{color:var(--gl-color-text-muted);font-size:.85rem}.gl-poi-sidepanel__reviews-summary{font-size:.9rem;line-height:1.5}.gl-poi-gallery{display:flex;flex-direction:column;gap:12px;margin-top:12px}.gl-poi-gallery__main{aspect-ratio:16/10;background:var(--gl-color-bg-surface-muted);border-radius:8px;cursor:pointer;overflow:hidden;position:relative;width:100%}.gl-poi-gallery__main img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gl-poi-gallery__main:hover img{transform:scale(1.05)}.gl-poi-gallery__main:after{align-items:center;background:var(--gl-color-overlay-strong);border-radius:50%;color:var(--gl-color-text-inverse);content:"🔍";display:flex;font-size:14px;height:32px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transition:opacity .2s ease;width:32px}.gl-poi-gallery__main:hover:after{opacity:1}.gl-poi-gallery__thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-color:var(--gl-color-accent) transparent;scrollbar-width:thin}.gl-poi-gallery__thumbnails::-webkit-scrollbar{height:6px}.gl-poi-gallery__thumbnails::-webkit-scrollbar-track{background:transparent}.gl-poi-gallery__thumbnails::-webkit-scrollbar-thumb{background:var(--gl-color-accent);border-radius:3px}.gl-poi-gallery__thumb{border:2px solid transparent;border-radius:6px;cursor:pointer;flex:0 0 80px;height:60px;overflow:hidden;transition:border-color .2s ease,transform .2s ease}.gl-poi-gallery__thumb:hover{border-color:var(--gl-color-accent);transform:translateY(-2px)}.gl-poi-gallery__thumb img{display:block;height:100%;object-fit:cover;width:100%}.gl-poi-gallery__thumb.active{border-color:var(--gl-color-accent);box-shadow:var(--gl-shadow-medium)}.gl-poi-gallery__nav{align-items:center;background:var(--gl-color-overlay-strong);border:none;border-radius:50%;color:var(--gl-color-text-inverse);cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease,transform .2s ease;width:40px;z-index:10}.gl-poi-gallery__nav:hover{background:var(--gl-color-overlay-stronger);transform:translateY(-50%) scale(1.1)}.gl-poi-gallery__nav--prev{left:12px}.gl-poi-gallery__nav--next{right:12px}.gl-poi-tags{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.gl-poi-sidepanel__tags-section{border-top:1px solid var(--gl-color-border-subtle);margin-top:24px;padding-top:16px}.gl-poi-sidepanel__tags-title{color:var(--gl-color-text);font-size:1rem;font-weight:600;margin-bottom:12px}.gl-poi-lightbox-global{align-items:center;background:var(--gl-color-overlay-stronger);display:none;inset:0;justify-content:center;position:fixed;z-index:10000}.gl-poi-lightbox-global .gl-poi-lightbox__overlay{cursor:pointer;inset:0;position:absolute}.gl-poi-lightbox-global .gl-poi-lightbox__content{align-items:center;display:flex;height:90%;justify-content:center;position:relative;width:90%;z-index:1}.gl-poi-lightbox-global .gl-poi-lightbox__image{border-radius:4px;max-height:100%;max-width:100%;object-fit:contain;transition:transform .2s ease}.gl-poi-lightbox-global .gl-poi-lightbox__close{align-items:center;background:var(--gl-color-text-main);border:none;border-radius:50%;color:var(--gl-color-bg-surface);cursor:pointer;display:flex;font-size:32px;height:48px;justify-content:center;line-height:1;opacity:.85;position:absolute;right:20px;top:20px;transition:background .2s ease,opacity .2s ease;width:48px;z-index:2}.gl-poi-lightbox-global .gl-poi-lightbox__close:hover{background:var(--gl-color-text-main);opacity:1}.gl-poi-lightbox-global .gl-poi-lightbox__next,.gl-poi-lightbox-global .gl-poi-lightbox__prev{align-items:center;background:var(--gl-color-text-main);border:none;border-radius:50%;color:var(--gl-color-bg-surface);cursor:pointer;display:flex;font-size:32px;height:56px;justify-content:center;opacity:.85;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s ease,transform .2s ease;width:56px;z-index:2}.gl-poi-lightbox-global .gl-poi-lightbox__next:hover,.gl-poi-lightbox-global .gl-poi-lightbox__prev:hover{opacity:1;transform:translateY(-50%) scale(1.1)}.gl-poi-lightbox-global .gl-poi-lightbox__prev{left:40px}.gl-poi-lightbox-global .gl-poi-lightbox__next{right:40px}.gl-poi-lightbox-global .gl-poi-lightbox__counter{background:var(--gl-color-text-main);border-radius:20px;bottom:30px;color:var(--gl-color-bg-surface);font-size:14px;font-weight:500;left:50%;opacity:.85;padding:8px 16px;position:absolute;transform:translateX(-50%);z-index:2}.gl-lightbox{align-items:center;display:flex;inset:0;justify-content:center;opacity:0;position:fixed;transition:opacity .3s ease;z-index:9999}.gl-lightbox--open{opacity:1}.gl-lightbox__overlay{background:var(--gl-color-overlay-stronger);cursor:pointer;inset:0;position:absolute}.gl-lightbox__content{height:100%;position:relative;width:100%}.gl-lightbox__content,.gl-lightbox__image-container{align-items:center;display:flex;justify-content:center}.gl-lightbox__image-container{max-height:90vh;max-width:90vw;touch-action:pan-x pan-y pinch-zoom}.gl-lightbox__image{max-height:90vh;max-width:100%;object-fit:contain;transition:transform .3s ease;user-select:none}.gl-lightbox__close,.gl-lightbox__next,.gl-lightbox__prev{align-items:center;background:var(--gl-color-overlay-strong);border:none;border-radius:50%;color:var(--gl-color-text-inverse);cursor:pointer;display:flex;font-size:32px;height:50px;justify-content:center;line-height:1;position:absolute;transition:background .2s ease,transform .2s ease;width:50px;z-index:10001}.gl-lightbox__close:hover,.gl-lightbox__next:hover,.gl-lightbox__prev:hover{background:var(--gl-color-overlay-stronger);transform:scale(1.1)}.gl-lightbox__close{font-size:40px;right:20px;top:20px}.gl-lightbox__prev{left:20px;top:50%;transform:translateY(-50%)}.gl-lightbox__prev:hover{transform:translateY(-50%) scale(1.1)}.gl-lightbox__next{right:20px;top:50%;transform:translateY(-50%)}.gl-lightbox__next:hover{transform:translateY(-50%) scale(1.1)}.gl-lightbox__counter{background:var(--gl-color-overlay-strong);border-radius:20px;bottom:20px;color:var(--gl-color-text-inverse);font-size:14px;font-weight:500;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%);z-index:10001}@media (max-width:768px){.gl-lightbox__close{font-size:28px;height:40px;right:10px;top:10px;width:40px}.gl-lightbox__next,.gl-lightbox__prev{font-size:24px;height:40px;width:40px}.gl-lightbox__prev{left:10px}.gl-lightbox__next{right:10px}.gl-lightbox__counter{bottom:10px;font-size:12px;padding:6px 12px}}.gl-poi-sidepanel__desc-short{color:var(--gl-color-text-muted);font-size:.9rem;line-height:1.5;margin:12px 0}.gl-poi-sidepanel__actions{margin-bottom:20px;margin-top:12px}.gl-poi-sidepanel__price-range{color:var(--gl-color-accent);font-size:1rem;font-weight:600;margin-bottom:6px}.gl-poi-sidepanel__price-desc{color:var(--gl-color-text-muted);font-size:.85rem;line-height:1.4}.gl-route-tooltip{background-color:var(--gl-color-popup-bg);border:1px solid var(--gl-color-border);border-radius:4px;box-shadow:var(--gl-shadow-medium);color:var(--gl-color-popup-text);font-size:.9rem;font-weight:500;padding:6px 10px}.leaflet-interactive:focus,path.leaflet-interactive{outline:none}.gl-poi-popup__meta-text{color:var(--gl-color-text-secondary);font-size:.8rem;line-height:1.4;margin:.5rem 0 0}.gl-theme-dark .gl-poi-popup__meta-text{color:var(--gl-color-text-main)}.gl-geojson-info{backdrop-filter:blur(6px);background:var(--gl-color-popup-bg);border:1px solid var(--gl-color-popup-border);border-radius:12px;box-shadow:var(--gl-shadow-medium);color:var(--gl-color-popup-text);font-size:.875rem;line-height:1.4;max-width:280px;padding:12px 14px;pointer-events:none;position:absolute;right:16px;top:80px;z-index:500}.gl-geojson-info__title{align-items:center;display:flex;font-size:.875rem;font-weight:600;gap:6px;margin:0 0 4px}.gl-geojson-info__subtitle{font-size:.75rem;margin:0 0 8px;opacity:.85}.gl-geojson-info__body{font-size:.8rem;opacity:.95}.gl-geojson-badge{align-items:center;background:var(--gl-color-accent-soft);border-radius:9999px;color:var(--gl-color-accent);display:inline-flex;font-size:.7rem;font-weight:500;justify-content:center;letter-spacing:.02em;padding:2px 8px;white-space:nowrap}.gl-geojson-badge--active{border:1px solid var(--gl-color-accent)}.gl-geojson-feature-item{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-size:.8rem;gap:2px;margin-bottom:4px;padding:8px 10px;transition:background-color .16s ease-out,box-shadow .16s ease-out,transform .16s ease-out}.gl-geojson-feature-item:hover{box-shadow:var(--gl-shadow-medium);transform:translateY(-1px)}.gl-geojson-feature--highlight{box-shadow:0 0 0 1px var(--gl-color-route-line),var(--gl-shadow-medium)}.gl-geojson-feature--selected{box-shadow:0 0 0 1px var(--gl-color-accent),var(--gl-shadow-medium)}.gl-geojson-feature-item__title{align-items:center;display:flex;font-size:.8rem;font-weight:600;gap:6px;justify-content:space-between}.gl-geojson-feature-item__meta{font-size:.7rem;opacity:.75}@media (max-width:768px){.gl-geojson-info{bottom:16px;left:16px;max-width:none;right:16px;top:auto}.gl-geojson-feature-item{font-size:.78rem}}.gl-table-panel{background:var(--gl-color-bg-surface);border-top:1px solid var(--gl-color-border-soft);bottom:0;box-shadow:0 -4px 12px rgba(0,0,0,.15);display:flex;flex-direction:column;height:40%;left:0;position:fixed;right:0;transform:translateY(100%);transition:transform .3s ease-in-out;z-index:1100}.gl-table-panel.is-visible{transform:translateY(0)}.gl-table-panel__resize-handle{align-items:center;cursor:ns-resize;display:flex;height:8px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.gl-table-panel__resize-handle:hover .gl-table-panel__resize-bar{background:var(--gl-color-accent)}.gl-table-panel__resize-bar{background:var(--gl-color-border-soft);border-radius:2px;height:3px;transition:background .2s ease;width:40px}.gl-table-panel__toolbar{background:var(--gl-color-bg-surface-muted);border-bottom:1px solid var(--gl-color-border-soft);flex-wrap:nowrap!important;gap:.3rem!important;overflow-x:auto!important;padding:.75rem .5rem!important}.gl-table-panel__layer-selector,.gl-table-panel__toolbar{align-items:center!important;display:flex!important;flex-shrink:0!important}.gl-table-panel__label{font-weight:500;white-space:nowrap}.gl-table-panel__label,.gl-table-panel__select{color:var(--gl-color-text-main);font-size:.875rem}.gl-table-panel__select{background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:4px;cursor:pointer;margin-right:.5rem!important;padding:.375rem .5rem!important;width:150px!important}.gl-table-panel__select:focus{border-color:var(--gl-color-accent);box-shadow:0 0 0 2px rgba(249,115,22,.15);outline:none}.gl-table-panel__search{flex:0 0 auto!important;margin-right:1.5rem!important;position:relative!important;width:140px!important}.gl-table-panel__search-input{background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:4px;color:var(--gl-color-text-main);font-size:.8125rem!important;padding:.375rem .5rem!important;position:relative!important;width:100%!important}.gl-table-panel__search-input::placeholder{color:var(--gl-color-text-muted)}.gl-table-panel__search-input:focus{border-color:var(--gl-color-accent);box-shadow:0 0 0 2px rgba(249,115,22,.15);outline:none}.gl-table-panel__btn{background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:4px;color:var(--gl-color-text-main);cursor:pointer;flex-shrink:0!important;font-size:.8125rem!important;font-weight:500;padding:.375rem .625rem!important;position:relative!important;transition:all .2s ease;white-space:nowrap!important}.gl-table-panel__btn:hover:not(:disabled){background:var(--gl-color-bg-surface-muted);border-color:var(--gl-color-border-strong)}.gl-table-panel__btn:disabled{cursor:not-allowed;opacity:.5}.gl-table-panel__btn.is-active{background:var(--gl-color-accent);border-color:var(--gl-color-accent);color:var(--gl-color-text-inverse)}.gl-table-panel__wrapper{flex:1;overflow:auto;position:relative}.gl-table-panel__table{border-collapse:collapse;font-size:.875rem;table-layout:fixed;width:100%}.gl-table-panel__th{background:var(--gl-color-bg-surface-muted);border-bottom:2px solid var(--gl-color-border-strong);color:var(--gl-color-text-main);font-weight:600;padding:.75rem 1rem;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}.gl-table-panel__th--checkbox{max-width:30px!important;min-width:30px!important;overflow:hidden;padding:.5rem .25rem;text-align:center;width:30px!important}.gl-table-panel__th--sortable{cursor:pointer;user-select:none}.gl-table-panel__th--sortable:hover{background:var(--gl-color-bg-surface)}.gl-table-panel__sort-icon{margin-left:.25rem;opacity:.5}.gl-table-panel__th--sortable.is-sorted-asc .gl-table-panel__sort-icon,.gl-table-panel__th--sortable.is-sorted-desc .gl-table-panel__sort-icon{opacity:1}.gl-table-panel__td{border-bottom:1px solid var(--gl-color-border-soft);color:var(--gl-color-text-main);padding:.75rem 1rem}.gl-table-panel__td--checkbox{max-width:30px!important;min-width:30px!important;overflow:hidden;padding:.5rem .25rem;text-align:center;width:30px!important}.gl-table-panel__td--number{font-variant-numeric:tabular-nums;text-align:right}.gl-table-panel__table tbody tr{cursor:pointer;transition:background-color .15s ease}.gl-table-panel__table tbody tr:hover{background:var(--gl-color-bg-surface-muted)}.gl-table-panel__table tbody tr.is-selected{background:rgba(249,115,22,.1)}.gl-table-panel__table tbody tr.is-selected:hover{background:rgba(249,115,22,.15)}.gl-table-panel__checkbox,.gl-table-panel__checkbox-all{cursor:pointer;height:16px;width:16px}.gl-table-panel__table .gl-table-panel__td--checkbox,.gl-table-panel__table .gl-table-panel__th--checkbox{max-width:30px!important;min-width:30px!important;width:30px!important}.gl-table-panel__toggle-btn{align-items:center!important;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:4px;color:var(--gl-color-text-main);cursor:pointer;display:flex!important;flex-shrink:0!important;justify-content:center!important;padding:.375rem .5rem!important;transition:background .2s ease,box-shadow .2s ease}.gl-table-panel__toggle-btn:hover{background:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-soft)}.gl-table-panel__toggle-btn:focus-visible{outline:2px solid var(--gl-color-focus-ring);outline-offset:2px}.gl-table-panel__toggle-btn__icon{color:var(--gl-color-text-main);transition:transform .2s ease}.gl-table-panel__floating-show-btn{align-items:center;background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-bottom:none;border-radius:12px 12px 0 0;bottom:0;box-shadow:var(--gl-shadow-medium);cursor:pointer;display:flex;height:28px;justify-content:center;left:50%;margin-left:200px;position:fixed;transform:translateX(-50%);transition:background .2s ease,height .2s ease,box-shadow .2s ease;width:50px;z-index:950}.gl-table-panel__floating-show-btn:hover{background:var(--gl-color-bg-surface-muted);box-shadow:var(--gl-shadow-medium);height:32px}.gl-table-panel.is-visible~.gl-table-panel__floating-show-btn{display:none}@media (max-width:768px){.gl-table-panel{height:40%}.gl-table-panel__toolbar{flex-wrap:wrap;gap:.5rem;padding:.5rem}.gl-table-panel__search{flex:1 1 100%;max-width:100%}.gl-table-panel__select{min-width:150px}.gl-table-panel__td,.gl-table-panel__th{font-size:.8125rem;padding:.5rem}}body.gl-theme-dark .gl-table-panel{box-shadow:0 -4px 12px rgba(0,0,0,.35)}.gl-table-panel__empty,.gl-table-panel__loading{color:var(--gl-color-text-muted);font-size:.875rem;padding:2rem;text-align:center}.gl-table-panel__error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#991b1b;font-size:.875rem;margin:1rem;padding:1rem}.gl-scale-main-wrapper{align-items:center!important;background:var(--gl-color-legend-bg)!important;border:1px solid var(--gl-color-legend-border)!important;border-radius:11px!important;box-shadow:var(--gl-shadow-soft)!important;display:flex!important;flex-direction:row!important;flex-shrink:0!important;gap:0!important;height:22px!important;margin:0!important;overflow:hidden!important;padding:0!important;pointer-events:none}.gl-scale-graphic-wrapper{padding:0 8px!important;pointer-events:auto}.gl-scale-graphic-wrapper,.gl-scale-graphic-wrapper .leaflet-control-scale{align-items:flex-end!important;display:flex!important;height:100%!important;margin:0!important}.gl-scale-graphic-wrapper .leaflet-control-scale{background:transparent!important;border:none!important;box-shadow:none!important;padding:2px 0!important}.gl-scale-graphic-wrapper .leaflet-control-scale-line{background:transparent!important;border:2px solid var(--gl-color-text-main)!important;border-top:none!important;box-sizing:border-box!important;color:var(--gl-color-text-main)!important;font-size:10px!important;font-weight:300!important;height:auto!important;line-height:1.1!important;margin:0!important;padding:1px 5px 0!important;text-align:center!important;text-shadow:none!important;white-space:nowrap!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.gl-scale-graphic-wrapper:after{content:"";margin-left:8px}.gl-scale-graphic-wrapper:after,.gl-scale-separator{background:var(--gl-color-legend-border);height:14px;opacity:.5;width:1px}.gl-scale-separator{flex-shrink:0;pointer-events:none}.gl-scale-coordinates{color:var(--gl-color-text-main)!important;font-weight:600!important;line-height:1!important}.gl-scale-control,.gl-scale-coordinates{align-items:center!important;background:transparent!important;border:none!important;display:flex!important;flex-shrink:0!important;font-size:10px!important;height:100%!important;margin:0!important;padding:0 10px!important;pointer-events:auto;white-space:nowrap!important}.gl-scale-control{box-shadow:none!important;color:var(--gl-color-legend-text)!important;flex-direction:row!important;font-family:monospace!important;gap:10px!important}.gl-scale-numeric{background:transparent!important;border:none!important;color:var(--gl-color-text-main)!important;font-size:10px!important;font-weight:600!important;line-height:1!important;margin:0!important;padding:0!important;user-select:none!important}.gl-scale-numeric-editable{align-items:center!important;display:inline-flex!important;gap:0!important;position:relative!important}.gl-scale-numeric-clickable,.gl-scale-prefix{background:transparent!important;border:none!important;color:var(--gl-color-text-main)!important;font-size:10px!important;font-weight:600!important;line-height:1!important;margin:0!important;padding:0!important;user-select:none!important}.gl-scale-numeric-clickable{cursor:pointer!important;text-decoration:underline!important;transition:opacity .2s ease!important}.gl-scale-numeric-clickable:hover{opacity:.7!important}.gl-scale-numeric-input{background:var(--gl-color-bg-surface,#fff)!important;border:1px solid var(--gl-color-border-soft,#ddd)!important;border-radius:3px!important;font-family:monospace!important;padding:2px 4px!important;width:80px!important}.gl-scale-numeric-input,.gl-zoom-badge{color:var(--gl-color-text-main)!important;font-size:10px!important;font-weight:600!important}.gl-zoom-badge{background:transparent!important;border:none!important;line-height:1!important;margin:0!important;padding:0!important}.gl-scale-control>:not(:last-child):after{content:"•";font-weight:400;margin-left:8px;opacity:.4}.gl-cache-control{backdrop-filter:blur(10px);background:var(--gl-color-legend-bg);border:1px solid var(--gl-color-legend-border);border-radius:8px;box-shadow:var(--gl-shadow-medium);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin-top:60px!important;max-width:420px;min-width:380px;transition:background .3s ease,border-color .3s ease}body.gl-poi-sidepanel-open .leaflet-top.leaflet-right{right:calc(var(--gl-sidepanel-width) + 10px);transition:right .28s ease}.gl-cache-control__wrapper{display:flex;flex-direction:column}.gl-cache-control__header{align-items:center;background:var(--gl-color-bg-surface-muted);border-bottom:1px solid var(--gl-color-border-soft);border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:12px 16px;transition:background .3s ease,border-color .3s ease}.gl-cache-control__title{align-items:center;color:var(--gl-color-text-main);display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.5px;text-transform:uppercase;transition:color .3s ease}.gl-cache-control__icon{font-size:18px;line-height:1}.gl-cache-control__toggle{background:transparent;border:none;border-radius:4px;color:var(--gl-color-text-muted);cursor:pointer;font-size:18px;padding:4px 8px;transition:all .2s ease}.gl-cache-control__toggle:hover{background:var(--gl-color-accent-soft);color:var(--gl-color-text-main)}.gl-cache-control__body{background:var(--gl-color-bg-surface);border-radius:0 0 8px 8px;max-height:600px;overflow-y:auto;padding:16px;transition:background .3s ease}.gl-cache-control--collapsed .gl-cache-control__body{display:none}.gl-cache-control--collapsed .gl-cache-control__toggle{transform:rotate(180deg)}.gl-cache-section{background:var(--gl-color-bg-surface);border-radius:8px;font-family:inherit;padding:12px;transition:background .3s ease}.gl-cache-status{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:6px;margin-bottom:16px;transition:background .3s ease,border-color .3s ease}.gl-cache-status__header{align-items:center;border-bottom:1px solid var(--gl-color-border-soft);cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:all .3s ease}.gl-cache-status__header:hover{background:var(--gl-color-bg-surface)}.gl-cache-status__title{align-items:center;display:flex;flex:1;gap:8px}.gl-cache-status__icon{font-size:18px;line-height:1}.gl-cache-status__label{color:var(--gl-color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;transition:color .3s ease}.gl-cache-status__toggle{background:transparent;border:none;color:var(--gl-color-text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:4px;transition:transform .2s ease}.gl-cache-status__toggle:hover{color:var(--gl-color-text-primary)}.gl-cache-status__info{display:flex;flex-direction:column;gap:8px;padding:12px}.gl-cache-status__row{align-items:center;display:flex;font-size:13px;justify-content:space-between;line-height:1.4}.gl-cache-status__key{color:var(--gl-color-text-muted);font-weight:500;transition:color .3s ease}.gl-cache-status__value{color:var(--gl-color-text-main);font-weight:600;text-align:right;transition:color .3s ease}.gl-cache-actions{border-top:1px solid var(--gl-color-border-soft);display:flex;flex-direction:column;gap:8px;margin-bottom:12px;margin-top:20px;padding-top:16px}.gl-cache-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease}.gl-btn__icon{font-size:16px;line-height:1}.gl-btn__text{flex:1;text-align:center}.gl-btn--primary{background:var(--gl-color-accent);box-shadow:0 2px 8px var(--gl-color-accent-soft);color:var(--gl-color-text-inverse);transition:all .2s ease}.gl-btn--primary:hover:not(:disabled){background:var(--gl-color-accent-hover,var(--gl-color-accent));box-shadow:0 4px 12px var(--gl-color-accent-soft);filter:brightness(1.1);transform:translateY(-1px)}.gl-btn--primary:active:not(:disabled){box-shadow:0 2px 6px var(--gl-color-accent-soft);filter:brightness(.95);transform:translateY(0)}.gl-btn--secondary{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);color:var(--gl-color-text-main);transition:all .2s ease}.gl-btn--secondary:hover:not(:disabled){background:var(--gl-color-accent-soft);border-color:var(--gl-color-accent)}.gl-btn--secondary:active:not(:disabled){background:var(--gl-color-bg-surface);transform:scale(.98)}.gl-cache-btn:disabled{cursor:not-allowed;filter:grayscale(.3);opacity:.5}.gl-cache-progress{background:var(--gl-color-bg-surface-muted);border:1px solid var(--gl-color-border-soft);border-radius:6px;padding:12px;transition:background .3s ease,border-color .3s ease}.gl-cache-progress__bar{background:var(--gl-color-border-soft);border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden;transition:background .3s ease;width:100%}.gl-cache-progress__fill{animation:gl-progress-shimmer 1.5s infinite;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;height:100%;transition:width .3s ease;width:0}@keyframes gl-progress-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.gl-cache-progress__text{color:var(--gl-color-text-muted);font-size:12px;line-height:1.4;margin-bottom:8px;text-align:center;transition:color .3s ease}.gl-cache-btn-stop{background:#ef4444!important;border-color:#dc2626!important;margin-top:8px;width:100%}.gl-cache-btn-stop:hover{background:#dc2626!important;border-color:#b91c1c!important}.gl-btn--danger{background:#ef4444;border-color:#dc2626;color:#fff}.gl-btn--danger:hover{background:#dc2626;border-color:#b91c1c}@media (max-width:768px){.gl-cache-control{max-width:280px;min-width:260px}.gl-cache-control__body{padding:12px}.gl-cache-status{padding:10px}.gl-cache-btn{font-size:13px;padding:8px 14px}.gl-btn__icon{font-size:14px}.gl-cache-status__row{font-size:12px}}[data-theme=light] .gl-cache-progress{background:#fff;border-color:#e2e8f0}[data-theme=light] .gl-cache-progress__bar{background:#f1f5f9}[data-theme=light] .gl-cache-progress__text{color:#64748b}@keyframes gl-cache-pulse{0%,to{opacity:1}50%{opacity:.6}}.gl-cache-btn:disabled{animation:gl-cache-pulse 1.5s ease-in-out infinite}.gl-cache-status__value--success{color:#22c55e!important}.gl-cache-status__value--error{color:#ef4444!important}.gl-cache-status__value--warning{color:#f59e0b!important}.gl-cache-layers{border-top:1px solid var(--gl-color-border-soft);transition:border-color .3s ease}.gl-cache-layers__header{align-items:center;background:var(--gl-color-bg-surface-muted);border-bottom:1px solid var(--gl-color-border-soft);cursor:pointer;display:flex;justify-content:space-between;padding:10px 16px;transition:all .3s ease}.gl-cache-layers__header:hover{background:var(--gl-color-bg-surface)}.gl-cache-layers__title{align-items:center;display:flex;flex:1;gap:8px}.gl-cache-layers__icon{font-size:16px}.gl-cache-layers__label{color:var(--gl-color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.gl-cache-layers__toggle{background:transparent;border:none;color:var(--gl-color-text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:4px;transition:transform .2s ease}.gl-cache-layers__toggle:hover{color:var(--gl-color-text-primary)}.gl-cache-layers__content{max-height:400px;overflow-x:hidden;overflow-y:auto;padding:0}.gl-cache-layers__content::-webkit-scrollbar{width:6px}.gl-cache-layers__content::-webkit-scrollbar-track{background:var(--gl-color-bg-surface)}.gl-cache-layers__content::-webkit-scrollbar-thumb{background:var(--gl-color-border);border-radius:3px}.gl-cache-layers__content::-webkit-scrollbar-thumb:hover{background:var(--gl-color-border-soft)}.gl-cache-layers__table{border-collapse:collapse;font-size:13px;width:100%}.gl-cache-layers__table thead th{background:var(--gl-color-bg-surface-muted);border-bottom:1px solid var(--gl-color-border-soft);color:var(--gl-color-text-secondary);font-weight:600;padding:8px 12px;position:sticky;text-align:left;top:0;z-index:1}.gl-cache-layers__th-checkbox{text-align:center!important;width:40px}.gl-cache-layers__th-geometry,.gl-cache-layers__th-name{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.gl-cache-layers__th-geometry{width:90px}.gl-cache-layers__th-style{width:130px}.gl-cache-layers__th-cache,.gl-cache-layers__th-size,.gl-cache-layers__th-style{font-size:11px;letter-spacing:.5px;text-transform:uppercase}.gl-cache-layers__select-all{accent-color:var(--gl-color-primary,#3b82f6);cursor:pointer;height:16px;margin:0;width:16px}.gl-cache-layers__row{transition:background .2s ease}.gl-cache-layers__row:hover{background:var(--gl-color-bg-surface-muted)}.gl-cache-layers__td-checkbox{border-bottom:1px solid var(--gl-color-border-soft);padding:8px 12px;text-align:center;width:40px}.gl-cache-layers__td-checkbox input[type=checkbox]{accent-color:var(--gl-color-primary,#3b82f6);cursor:pointer;height:16px;margin:0;width:16px}.gl-cache-layers__td-name{border-bottom:1px solid var(--gl-color-border-soft);color:var(--gl-color-text-primary);padding:8px 12px}.gl-cache-layers__td-name .gl-cache-layers__icon{font-size:14px;margin-right:8px}.gl-cache-layers__td-name .gl-cache-layers__name{font-weight:500}.gl-cache-layers__td-geometry,.gl-cache-layers__td-style{text-align:center}.gl-cache-layers__td-geometry,.gl-cache-layers__td-size,.gl-cache-layers__td-style{border-bottom:1px solid var(--gl-color-border-soft);color:var(--gl-color-text-secondary);padding:8px 12px}.gl-cache-layers__td-size{text-align:right;width:80px}.gl-cache-layers__td-cache{border-bottom:1px solid var(--gl-color-border-soft);color:var(--gl-color-text-secondary);padding:8px 12px;text-align:center;width:60px}.gl-cache-layers__style-select{background:var(--gl-color-bg-surface);border:1px solid var(--gl-color-border-soft);border-radius:4px;color:var(--gl-color-text-primary);cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s ease;width:100%}.gl-cache-layers__style-select:hover{border-color:var(--gl-color-border)}.gl-cache-layers__style-select:focus{border-color:var(--gl-color-primary,#3b82f6);box-shadow:0 0 0 2px rgba(59,130,246,.1);outline:none}.gl-cache-layers__error,.gl-cache-layers__loading{color:var(--gl-color-text-secondary);font-size:12px;padding:16px;text-align:center}.gl-cache-layers__error{color:#ef4444}@media (max-width:768px){.gl-cache-layers__content{max-height:300px}.gl-cache-layers__table{font-size:12px}.gl-cache-layers__td-checkbox,.gl-cache-layers__th-checkbox{padding:6px 8px;width:35px}.gl-cache-layers__td-name{padding:6px 8px}.gl-cache-layers__style-selector{font-size:10px;margin-left:8px;padding:3px 6px}}[data-theme=light] .gl-cache-layers__header{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .gl-cache-layers__table thead th{background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .gl-cache-layers__row:hover{background:#f8fafc}[data-theme=light] .gl-cache-layers__td-checkbox,[data-theme=light] .gl-cache-layers__td-name{border-color:#e2e8f0}[data-theme=light] .gl-cache-layers__style-select,[data-theme=light] .gl-cache-layers__style-selector{background:#fff;border-color:#e2e8f0}.gl-cache-modal{align-items:center;bottom:0;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10002}.gl-cache-modal__overlay{backdrop-filter:blur(4px);background:rgba(0,0,0,.6);bottom:0;left:0;position:absolute;right:0;top:0}.gl-cache-modal__content{background:var(--gl-color-bg-surface,#fff);border:1px solid var(--gl-color-border-soft,rgba(0,0,0,.1));border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:90vh;max-width:800px;position:relative;width:90%;z-index:1}body.gl-theme-dark .gl-cache-modal__content{background:var(--gl-color-bg-surface,#000);border-color:var(--gl-color-border-strong,rgba(148,163,184,.3));box-shadow:0 10px 40px rgba(0,0,0,.7)}.gl-cache-modal__header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid var(--gl-color-border-soft,#e5e5e5);border-radius:12px 12px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}body.gl-theme-dark .gl-cache-modal__header{background:linear-gradient(135deg,#4a5568,#2d3748);border-bottom:1px solid var(--gl-color-border-strong,rgba(148,163,184,.3))}.gl-cache-modal__title{align-items:center;color:#fff;display:flex;font-size:20px;font-weight:600;margin:0}.gl-cache-modal__close{align-items:center;background:hsla(0,0%,100%,.2);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.gl-cache-modal__close:hover{background:hsla(0,0%,100%,.3);transform:rotate(90deg)}.gl-cache-modal__tabs{background:var(--gl-color-bg-surface,#fff);border-bottom:1px solid var(--gl-color-border-soft,#e5e5e5);display:flex;flex-shrink:0}body.gl-theme-dark .gl-cache-modal__tabs{background:var(--gl-color-bg-surface,#000);border-bottom:1px solid var(--gl-color-border-strong,rgba(148,163,184,.3))}.gl-cache-modal__tab{background:transparent;border:none;color:var(--gl-color-text-secondary,#666);cursor:pointer;flex:1;font-size:15px;font-weight:500;padding:16px 24px;position:relative;transition:all .2s ease}.gl-cache-modal__tab:hover{background:var(--gl-color-bg-subtle,#f8f9fa);color:var(--gl-color-text-primary,#111)}body.gl-theme-dark .gl-cache-modal__tab:hover{background:var(--gl-color-bg-subtle,#1a1a1a)}.gl-cache-modal__tab--active{color:#667eea;font-weight:600}body.gl-theme-dark .gl-cache-modal__tab--active{color:#818cf8}.gl-cache-modal__tab--active:after{background:linear-gradient(90deg,#667eea,#764ba2);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}body.gl-theme-dark .gl-cache-modal__tab--active:after{background:linear-gradient(90deg,#818cf8,#a78bfa)}.gl-cache-export{padding:24px}.gl-cache-export__header h3{color:var(--gl-color-text-primary,#111)}body.gl-theme-dark .gl-cache-export__header h3{color:var(--gl-color-text-primary,#fff)}.gl-cache-export__stats{background:var(--gl-color-bg-subtle,#f8f9fa)}body.gl-theme-dark .gl-cache-export__stats{background:var(--gl-color-bg-subtle,#1a1a1a)}.gl-cache-export__sync{background:var(--gl-color-bg-surface,#fff);border:1px solid var(--gl-color-border-soft,#e5e5e5)}body.gl-theme-dark .gl-cache-export__sync{background:var(--gl-color-bg-surface,#000);border:1px solid var(--gl-color-border-strong,rgba(148,163,184,.3))}.gl-cache-export__btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s ease}.gl-cache-export__btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.gl-cache-export__btn--primary:hover{box-shadow:0 4px 12px rgba(102,126,234,.4);transform:translateY(-2px)}.gl-cache-export__btn--sync{background:linear-gradient(135deg,#0ea5e9,#0369a1);color:#fff;width:100%}.gl-cache-export__btn--sync:hover{box-shadow:0 4px 12px rgba(14,165,233,.4);transform:translateY(-2px)}.gl-cache-export__btn--sync:disabled{cursor:not-allowed;opacity:.6;transform:none}.gl-cache-export__btn--secondary{background:var(--gl-color-bg-subtle,#f1f3f5);color:var(--gl-color-text-primary,#111)}body.gl-theme-dark .gl-cache-export__btn--secondary{background:var(--gl-color-bg-subtle,#2d3748);color:var(--gl-color-text-primary,#fff)}.gl-cache-export__btn--secondary:hover{background:var(--gl-color-bg-muted,#e9ecef);transform:translateY(-2px)}body.gl-theme-dark .gl-cache-export__btn--secondary:hover{background:var(--gl-color-bg-muted,#374151)}.gl-cache-export__btn--danger{background:#ef4444;color:#fff}.gl-cache-export__btn--danger:hover{background:#dc2626;box-shadow:0 4px 12px rgba(239,68,68,.4);transform:translateY(-2px)}.gl-cache-modal__body{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0}.gl-cache-modal__body .gl-cache-control{background:transparent;border-radius:0;box-shadow:none;height:auto;margin:0;max-height:none;max-width:100%}.gl-cache-modal__body .gl-cache-control__wrapper{background:transparent;padding:24px}.gl-cache-modal__body .gl-cache-control__header{display:none}.gl-cache-modal__body .gl-cache-control__body{max-height:none!important;overflow-y:visible!important;padding:0}@media (max-width:768px){.gl-cache-modal__content{max-height:95vh;max-width:95%}.gl-cache-modal__header{padding:16px 20px}.gl-cache-modal__title{font-size:18px}}.gl-cache-modal__body .gl-cache-control__wrapper{@keyframes gl-modal-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}}.gl-cache-modal[style*="display: flex"] .gl-cache-modal__content{animation:gl-modal-fade-in .2s ease-out}.gl-cache-warning{border-radius:6px;margin:15px 0;overflow:hidden;padding:0}.gl-cache-warning__item{align-items:flex-start;border-radius:6px;display:flex;font-size:13px;gap:12px;line-height:1.4;padding:12px 16px}.gl-cache-warning__error{background:rgba(239,68,68,.1);border-left:4px solid #ef4444;color:#7f1d1d}body.gl-theme-dark .gl-cache-warning__error{background:rgba(239,68,68,.15);color:#fca5a5}.gl-cache-warning__critical{background:rgba(249,115,22,.1);border-left:4px solid #f97316;color:#7c2d12}body.gl-theme-dark .gl-cache-warning__critical{background:rgba(249,115,22,.15);color:#fed7aa}.gl-cache-warning__warning{background:rgba(59,130,246,.1);border-left:4px solid #3b82f6;color:#1e3a8a}body.gl-theme-dark .gl-cache-warning__warning{background:rgba(59,130,246,.15);color:#bfdbfe}.gl-cache-warning__icon{flex-shrink:0;font-size:16px;margin-top:2px}.gl-cache-warning__text{flex:1}.gl-cache-warning__text small{display:block;margin-top:4px;opacity:.85}:root{--gl-toast-bg:var(--gl-color-bg-surface,#fff);--gl-toast-text:var(--gl-color-text-main,#0f172a);--gl-toast-shadow:var(--gl-shadow-medium,0 4px 16px rgba(0,0,0,.15));--gl-toast-close-hover:color-mix(in srgb,var(--gl-color-text-main,#0f172a) 8%,transparent)}.gl-theme-dark,body.gl-theme-dark{--gl-toast-bg:color-mix(in srgb,var(--gl-color-bg-surface,#0b1120) 82%,#0b0f1a 18%);--gl-toast-text:var(--gl-color-text-main,#e5e7eb);--gl-toast-shadow:0 6px 20px rgba(0,0,0,.35);--gl-toast-close-hover:color-mix(in srgb,var(--gl-color-text-main,#e5e7eb) 12%,transparent)}.gl-notifications{display:flex;flex-direction:column-reverse;gap:8px;max-height:300px;overflow:visible;pointer-events:none;position:fixed;transition:bottom .3s ease;z-index:10000}.gl-notifications--bottom-center{bottom:70px;left:50%;max-width:500px;min-width:320px;transform:translateX(-50%);width:auto}.gl-notifications--top-right{right:20px;top:90px;width:360px}.gl-notifications--bottom-right{bottom:20px;right:20px;width:360px}.gl-notifications--top-center{left:50%;max-width:500px;min-width:320px;top:90px;transform:translateX(-50%);width:auto}body.gl-poi-sidepanel-open .gl-notifications--bottom-right,body.gl-poi-sidepanel-open .gl-notifications--top-right{right:440px}body.gl-table-open .gl-notifications--bottom-center{bottom:calc(var(--gl-table-height, 300px) + 20px)}.gl-toast{align-items:flex-start;background:var(--gl-toast-bg);border-left:4px solid var(--gl-accent);border-radius:6px;box-shadow:var(--gl-toast-shadow);color:var(--gl-toast-text);display:flex;font-size:14px;font-weight:400;gap:12px;line-height:1.5;opacity:0;padding:14px 42px 14px 16px;pointer-events:auto;position:relative;transform:translateY(20px) scale(.95);transition:all .3s cubic-bezier(.4,0,.2,1)}.gl-toast--visible{opacity:1;transform:translateY(0) scale(1)}.gl-toast--removing{opacity:0;transform:translateY(20px) scale(.95);transition:all .2s ease-out}.gl-toast--sliding-up{animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.gl-toast--sliding-down{animation:slideDown .3s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:.5;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.gl-toast__message{flex:1;word-wrap:break-word;word-break:break-word}.gl-toast__close{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--gl-color-text-muted,#6b7280);cursor:pointer;display:flex;font-size:20px;font-weight:300;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:8px;transition:all .2s ease;width:28px}.gl-theme-dark .gl-toast,body.gl-theme-dark .gl-toast{background:var(--gl-toast-bg,#0b0f1a);box-shadow:var(--gl-toast-shadow,0 6px 20px rgba(0,0,0,.35));color:var(--gl-toast-text,#e5e7eb)}.gl-toast__close:hover{background:var(--gl-toast-close-hover);color:var(--gl-toast-text)}.gl-toast__close:active{transform:scale(.9)}.gl-toast--success{border-left-color:#10b981}.gl-toast--success:before{align-items:center;color:#10b981;content:"✓";display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:20px;justify-content:center;margin-top:1px;width:20px}.gl-toast--error{border-left-color:#ef4444}.gl-toast--error:before{align-items:center;color:#ef4444;content:"✗";display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:20px;justify-content:center;margin-top:1px;width:20px}.gl-toast--warning{border-left-color:#f59e0b}.gl-toast--warning:before{align-items:center;color:#f59e0b;content:"⚠";display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:20px;justify-content:center;margin-top:1px;width:20px}.gl-toast--info{border-left-color:#3b82f6}.gl-toast--info:before{align-items:center;color:#3b82f6;content:"ℹ";display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:20px;justify-content:center;margin-top:1px;width:20px}body.gl-theme-dark .gl-toast{backdrop-filter:blur(10px);background:rgba(43,43,43,.95);box-shadow:0 4px 16px rgba(0,0,0,.5)}body.gl-theme-dark .gl-toast__close:hover{background:hsla(0,0%,100%,.1)}@media (max-width:768px){.gl-notifications--bottom-center{bottom:60px;left:10px;max-width:none;min-width:auto;right:10px;transform:none}.gl-notifications--bottom-right,.gl-notifications--top-center,.gl-notifications--top-right{left:10px;right:10px;transform:none;width:auto}.gl-toast{font-size:13px;padding:12px 38px 12px 14px}.gl-toast__close{font-size:18px;height:26px;width:26px}}.gl-toast:focus-within{outline:2px solid var(--gl-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.gl-notifications,.gl-toast{transition:none!important}}.gl-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:9999}.gl-overlay--visible{opacity:1;pointer-events:auto}.gl-overlay__content{background:var(--gl-bg-primary);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.2);max-width:500px;padding:24px;text-align:center}.gl-layer-manager__label-toggle{align-items:center;background:var(--gl-color-bg-surface-muted,hsla(0,0%,100%,.1));border:1px solid var(--gl-color-border,hsla(0,0%,100%,.2));border-radius:4px;color:var(--gl-color-text-muted,#888);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.75rem;height:20px;justify-content:center;line-height:1;margin-left:4px;padding:0;transition:all .2s ease;width:20px}.gl-layer-manager__label-toggle:hover{background:var(--gl-color-overlay-soft);color:var(--gl-color-text);transform:scale(1.05)}.gl-layer-manager__label-toggle--on{background:var(--gl-color-accent-soft);border-color:var(--gl-color-accent);box-shadow:var(--gl-shadow-soft)}.gl-layer-manager__label-toggle--on:hover{background:var(--gl-color-accent)}.gl-layer-manager__label-toggle--disabled{background:var(--gl-color-bg-surface-muted,hsla(0,0%,39%,.2))!important;border-color:var(--gl-color-border-muted,hsla(0,0%,100%,.1))!important;color:var(--gl-color-text-disabled,#666)!important;cursor:not-allowed!important;opacity:.35!important}.gl-layer-manager__label-toggle--disabled:hover{background:var(--gl-color-bg-surface-muted,hsla(0,0%,39%,.2))!important;transform:none!important}.gl-layer-manager__label-toggle-icon{display:inline-block;font-size:14px;line-height:1}.gl-label{pointer-events:none!important;user-select:none;z-index:650!important}.gl-label .gl-label__content{background-color:transparent!important;border:none!important;padding:0;pointer-events:none;white-space:nowrap}.gl-label__content{display:inline-block}.gl-label--default .gl-label__content{font-size:12px;font-weight:500}.gl-label--large .gl-label__content{font-size:14px;font-weight:600;padding:2px 4px}.gl-label--small .gl-label__content{font-size:10px;padding:0}.gl-label--uppercase .gl-label__content{letter-spacing:.5px;text-transform:uppercase}.gl-label-tourism-poi .leaflet-tooltip{font-weight:500;letter-spacing:.3px}.gl-label-tourism-itinerary .leaflet-tooltip{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.gl-label .leaflet-tooltip{font-size:10px;padding:3px 6px}.gl-layer-manager__label-toggle{height:18px;width:18px}.gl-layer-manager__label-toggle-icon{font-size:12px}}@keyframes labelFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.gl-label .leaflet-tooltip{animation:labelFadeIn .3s ease-out}#gl-theme-primary-container{left:50%;pointer-events:none;position:absolute;top:10px;transform:translateX(-50%);z-index:1000}#gl-theme-primary-container>*{pointer-events:auto}#gl-theme-secondary-container{pointer-events:none;position:absolute;right:70px;top:10px;z-index:999}#gl-theme-secondary-container>*{pointer-events:auto}.gl-theme-selector-primary{backdrop-filter:blur(4px);background:var(--gl-color-bg-overlay);border-radius:20px;box-shadow:var(--gl-shadow-medium);display:inline-flex;gap:.4rem;padding:.35rem}.gl-theme-btn{align-items:center;background:transparent;border:none;border-radius:16px;color:var(--gl-color-text-main);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.3rem;padding:.3rem .7rem;transition:all .2s ease;white-space:nowrap}.gl-theme-btn:hover{background:var(--gl-color-accent-soft);color:var(--gl-color-accent)}.gl-theme-btn--active{background:var(--gl-color-accent);color:var(--gl-color-text-inverse);font-weight:600}.gl-theme-btn--active:hover{background:var(--gl-color-accent-hover,var(--gl-color-accent))}.gl-theme-btn__icon{font-size:1rem;line-height:1}.gl-theme-btn__label{line-height:1}.gl-theme-selector-secondary{display:inline-block}.gl-theme-selector-secondary__wrapper{align-items:center;backdrop-filter:blur(4px);background:var(--gl-color-bg-overlay);border-radius:20px;box-shadow:var(--gl-shadow-medium);display:inline-flex;gap:.3rem;padding:.35rem}.gl-theme-dropdown{background:transparent;border:none;border-radius:16px;color:var(--gl-color-text-main);cursor:pointer;font-size:.8rem;min-width:120px;padding:.3rem .6rem;transition:all .2s ease}.gl-theme-dropdown option{background:var(--gl-color-bg-surface);color:var(--gl-color-text-main);padding:.4rem}.gl-theme-dropdown:hover{background:var(--gl-color-accent-soft);color:var(--gl-color-accent)}.gl-theme-dropdown:focus{background:var(--gl-color-accent-soft);box-shadow:0 0 0 2px var(--gl-color-focus-ring);outline:none}.gl-theme-nav{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--gl-color-text-main);cursor:pointer;display:inline-flex;font-size:.75rem;height:1.6rem;justify-content:center;padding:0;transition:all .2s ease;width:1.6rem}.gl-theme-nav:hover{background:var(--gl-color-accent);color:var(--gl-color-text-inverse)}.gl-theme-nav:active{transform:scale(.95)}.gl-theme-nav:disabled{cursor:not-allowed;opacity:.3}@media (max-width:768px){#gl-theme-primary-container{left:10px;transform:none}#gl-theme-secondary-container{right:10px;top:55px}.gl-theme-selector-primary{gap:.3rem;padding:.3rem}.gl-theme-btn{font-size:.75rem;padding:.25rem .6rem}.gl-theme-btn__icon{font-size:.9rem}.gl-theme-dropdown{font-size:.75rem;min-width:100px;padding:.25rem .5rem}.gl-theme-nav{font-size:.7rem;height:1.4rem;width:1.4rem}}@media (max-width:480px){.gl-theme-btn__label{display:none}}#gl-loader{align-items:center;background:var(--gl-color-bg-page,#1a1a2e);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}#gl-loader:after{animation:gl-spin .7s linear infinite;border:4px solid var(--gl-color-border-soft,hsla(0,0%,100%,.15));border-radius:50%;border-top-color:var(--gl-color-accent,#4fc3f7);content:"";height:48px;width:48px}@keyframes gl-spin{to{transform:rotate(1turn)}}#gl-loader.gl-loader--fade{opacity:0;transition:opacity .35s ease}.gl-theme-toggle--map{background:hsla(0,0%,100%,.9);border:2px solid rgba(0,0,0,.1);border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer;height:28px;padding:4px;position:fixed;right:10px;top:80px;transition:right .28s ease,box-shadow .3s ease;width:44px;z-index:1000}body.gl-theme-dark .gl-theme-toggle--map{background:rgba(43,43,43,.9);border-color:hsla(0,0%,100%,.1)}.gl-theme-toggle--map:hover{box-shadow:0 4px 12px rgba(0,0,0,.2)}body.gl-poi-sidepanel-open .gl-theme-toggle--map{right:430px}