.bell-row.svelte-v801kb{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;width:100%;padding:.625rem .875rem;text-align:left}.bell-row.svelte-v801kb:hover{background:var(--color-gray-50)}.bell-row.unread.svelte-v801kb{background:var(--color-green-50)}.bell-cat.svelte-v801kb{font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-green-700)}.bell-row-title.svelte-v801kb{font-size:.8125rem;font-weight:600;color:var(--color-gray-900)}.bell-row-body.svelte-v801kb{font-size:.75rem;color:var(--color-gray-600);display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bell-row-time.svelte-v801kb{margin-top:.125rem;font-size:.6875rem;color:var(--color-gray-400)}.bell-group-head.svelte-1fsg438{display:flex;align-items:stretch;min-height:44px}.bell-group-summary.svelte-1fsg438{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;flex:1;min-width:0;padding:.625rem .875rem;text-align:left;cursor:pointer}.bell-group-summary.svelte-1fsg438:hover{background:var(--color-gray-50)}.bell-group-summary.unread.svelte-1fsg438{background:var(--color-green-50)}.bell-group-title-row.svelte-1fsg438{display:flex;align-items:center;gap:.375rem;width:100%}.bell-chev.svelte-1fsg438{flex-shrink:0;width:.5rem;height:.5rem;border-right:2px solid var(--color-gray-400);border-bottom:2px solid var(--color-gray-400);transform:rotate(-45deg);transition:transform .15s}.bell-chev.open.svelte-1fsg438{transform:rotate(45deg)}.bell-group-meta.svelte-1fsg438{display:flex;align-items:center;gap:.5rem;margin-top:.125rem}.bell-updates.svelte-1fsg438{font-size:.6875rem;font-weight:700;color:var(--color-green-700);background:var(--color-green-50);border-radius:999px;padding:.0625rem .5rem}.bell-group-mark.svelte-1fsg438{align-self:center;flex-shrink:0;margin-right:.5rem;font-size:.6875rem;color:var(--color-green-700);min-height:2rem;padding:.25rem .5rem;border-radius:var(--radius-sm);white-space:nowrap}.bell-group-mark.svelte-1fsg438:hover{background:var(--color-gray-50)}.bell-group-members.svelte-1fsg438{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--color-gray-100)}.bell.svelte-hpnwii{position:relative}.bell-btn.svelte-hpnwii{position:relative;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-gray-700);border-radius:var(--radius-sm);transition:background .15s}.bell-btn.svelte-hpnwii:hover{background:var(--color-gray-100)}.bell-badge.svelte-hpnwii{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--color-red-500);color:var(--color-on-accent);font-size:.6875rem;font-weight:700;line-height:17px;text-align:center}.bell-backdrop.svelte-hpnwii{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) - 1);border:none;padding:0;margin:0;background:transparent;cursor:default}.bell-dropdown.svelte-hpnwii{position:absolute;top:calc(100% + 4px);right:0;width:min(360px,92vw);max-height:70vh;overflow-y:auto;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:calc(var(--z-modal) + 1);display:flex;flex-direction:column}.bell-header.svelte-hpnwii{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;border-bottom:1px solid var(--color-gray-100)}.bell-title.svelte-hpnwii{font-size:.875rem;font-weight:600;color:var(--color-gray-900)}.mark-all.svelte-hpnwii{font-size:.75rem;color:var(--color-green-700);min-height:2rem;padding:.25rem .5rem;border-radius:var(--radius-sm)}.mark-all.svelte-hpnwii:hover{background:var(--color-gray-50)}.bell-empty.svelte-hpnwii{padding:1.5rem .875rem;text-align:center;font-size:.8125rem;color:var(--color-gray-500)}.bell-list.svelte-hpnwii{list-style:none;margin:0;padding:0}.bell-list.svelte-hpnwii li:where(.svelte-hpnwii)+li:where(.svelte-hpnwii){border-top:1px solid var(--color-gray-50)}.header.svelte-oiwvqb{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem;background:var(--color-header-bg);border-bottom:1px solid var(--color-header-border);z-index:var(--z-header);position:relative}.logo.svelte-oiwvqb{display:flex;align-items:center;gap:.5rem;color:var(--color-green-700);font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.02em;min-height:2.75rem;padding:0 .25rem}.logo-text.svelte-oiwvqb{display:none}@media(min-width:640px){.logo-text.svelte-oiwvqb{display:inline}}.nav.svelte-oiwvqb{display:flex;align-items:center;gap:.5rem}.nav-link.svelte-oiwvqb{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .75rem;font-size:.875rem;color:var(--color-gray-700);border-radius:var(--radius-sm);min-height:2.75rem;transition:background .15s}.nav-link.svelte-oiwvqb:hover{background:var(--color-gray-100)}@media(max-width:639px){.nav.svelte-oiwvqb{gap:.25rem}.nav-link.nav-text.svelte-oiwvqb{display:none}.nav-link.svelte-oiwvqb{padding:.375rem .5rem;font-size:.875rem}}.user-menu.svelte-oiwvqb{position:relative}.avatar-btn.svelte-oiwvqb{width:44px;height:44px;border-radius:50%;background:var(--color-green-600);color:var(--color-on-accent);font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center}.dropdown.svelte-oiwvqb{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;z-index:calc(var(--z-modal) + 1);padding:.25rem 0}.dropdown.svelte-oiwvqb button:where(.svelte-oiwvqb){display:flex;align-items:center;width:100%;min-height:2.75rem;padding:.5rem 1rem;text-align:left;font-size:.875rem;color:var(--color-gray-700);transition:background .15s}.dropdown.svelte-oiwvqb button:where(.svelte-oiwvqb):hover{background:var(--color-gray-50)}.menu-group.svelte-oiwvqb+.menu-group:where(.svelte-oiwvqb){border-top:1px solid var(--color-gray-100);margin-top:.25rem;padding-top:.25rem}.menu-group-label.svelte-oiwvqb{padding:.35rem 1rem .1rem;font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-500)}.menu-mobile.svelte-oiwvqb{display:none}@media(max-width:639px){.menu-mobile.svelte-oiwvqb{display:block}}.backdrop.svelte-oiwvqb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) - 1);border:none;padding:0;margin:0;background:transparent;cursor:default}.btn-sm.svelte-oiwvqb{padding:.375rem .75rem;font-size:.875rem}.footer.svelte-1sr6y3t{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem;text-align:center;font-size:.85rem;color:var(--color-gray-600);border-top:1px solid var(--color-header-border);background:var(--color-gray-50)}.footer-wordmark.svelte-1sr6y3t{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--color-green-700);letter-spacing:-.02em}.footer-links.svelte-1sr6y3t{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .75rem}.footer-links.svelte-1sr6y3t button:where(.svelte-1sr6y3t),.footer-links.svelte-1sr6y3t a:where(.svelte-1sr6y3t){display:inline-flex;align-items:center;background:none;border:none;padding:0 .25rem;color:var(--color-green-700);font-size:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:2.75rem}.footer-version.svelte-1sr6y3t{font-size:.75rem;color:var(--color-gray-500)}.toast-container.svelte-1ig2a9j{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:var(--z-toast);pointer-events:none}.toast.svelte-1ig2a9j{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);pointer-events:auto;animation:svelte-1ig2a9j-slideUp .2s ease-out;white-space:nowrap}.toast-success.svelte-1ig2a9j{background:var(--color-green-600);color:var(--color-on-accent)}.toast-error.svelte-1ig2a9j{background:var(--color-red-500);color:var(--color-on-accent)}.toast-info.svelte-1ig2a9j{background:var(--color-gray-800);color:var(--color-gray-50)}@keyframes svelte-1ig2a9j-slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.spinner.svelte-yrnnvj{animation:svelte-yrnnvj-spin .8s linear infinite}@keyframes svelte-yrnnvj-spin{to{transform:rotate(360deg)}}.install-banner.svelte-qfno5t{position:fixed;z-index:40;left:.75rem;right:.75rem;bottom:.75rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--color-gray-900);color:var(--color-gray-50);border-radius:var(--radius-md, .5rem);box-shadow:0 8px 24px #0000002e;max-width:28rem;margin-inline:auto}.copy.svelte-qfno5t{flex:1 1 12rem;min-width:0}.copy.svelte-qfno5t strong:where(.svelte-qfno5t){font-size:.9rem;display:block;margin-bottom:.2rem}.copy.svelte-qfno5t p:where(.svelte-qfno5t){margin:0;font-size:.8rem;line-height:1.35;opacity:.9}.actions.svelte-qfno5t{display:flex;gap:.4rem;flex-shrink:0}button.svelte-qfno5t{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md, .5rem);padding:.4rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;min-height:2.75rem}.primary.svelte-qfno5t{background:var(--color-green-600);color:var(--color-on-accent)}.ghost.svelte-qfno5t{background:transparent;color:inherit;opacity:.85}@media(min-width:768px){.install-banner.svelte-qfno5t{left:auto;right:1rem;bottom:1rem;margin-inline:0}}.app-shell.svelte-1n46o8q{height:100%;display:flex;flex-direction:column}.main-content.svelte-1n46o8q{flex:1;overflow:hidden;position:relative}.loading-screen.svelte-1n46o8q{display:flex;align-items:center;justify-content:center;height:100%}.not-found.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;padding:2rem;text-align:center}.not-found.svelte-1n46o8q h1:where(.svelte-1n46o8q){font-size:1.5rem;color:var(--color-gray-700)}.not-found.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--color-gray-500)}.route-error.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;padding:2rem;text-align:center}.route-error.svelte-1n46o8q h2:where(.svelte-1n46o8q){font-size:1.5rem;color:var(--color-gray-700)}.route-error.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--color-gray-600);max-width:32rem}.btn.svelte-1n46o8q{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;min-height:44px;transition:background .15s,opacity .15s}.btn-primary.svelte-1n46o8q{background:var(--color-green-600);color:var(--color-white)}.btn-primary.svelte-1n46o8q:hover{background:var(--color-green-700)}:root{color-scheme:light;--color-green-600: #4a7c59;--color-green-700: #3d6b4b;--color-green-50: #f0f7f2;--map-seal-fill: #faf6ef;--map-seal-label: #1c1917;--map-roaming-halo: #ea580c;--map-label-color: #1c1917;--map-label-halo: #ffffff;--map-service-area-fill: rgba(59, 130, 246, .08);--map-service-area-stroke: #2563eb;--map-privacy-ring-stroke: #2e5a44;--map-photo-card-selected-border: #2563eb;--map-card-surface: #faf6ef;--map-chrome-bg: rgba(250, 246, 239, .92);--map-chrome-border: rgba(74, 124, 89, .16);--map-chrome-shadow: 0 8px 24px rgba(28, 25, 23, .08);--color-amber-500: #d97706;--color-amber-50: #fffbeb;--color-red-500: #dc2626;--color-red-700: #b91c1c;--color-red-50: #fef2f2;--color-amber-700: #b45309;--color-gray-50: #fafaf9;--color-gray-100: #f5f5f4;--color-gray-200: #e7e5e4;--color-gray-300: #d6d3d1;--color-gray-400: #a8a29e;--color-gray-500: #78716c;--color-gray-600: #57534e;--color-gray-700: #44403c;--color-gray-800: #292524;--color-gray-900: #1c1917;--color-white: #ffffff;--color-black: #0c0a09;--color-on-accent: #ffffff;--color-text-muted: var(--color-gray-500);--color-header-bg: rgba(250, 246, 239, .96);--color-header-border: rgba(74, 124, 89, .14);--font-sans: "Source Sans 3", system-ui, sans-serif;--font-display: "Fraunces", "Source Serif 4", Georgia, serif;--font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--z-map-controls: 10;--z-header: 20;--z-filter-bar: 30;--z-map-settings: 31;--z-bottom-sheet: 40;--z-modal: 50;--z-toast: 60;--map-shelf-height: 50vh;--map-rail-width: 340px}html[data-theme=dark]{color-scheme:dark;--color-green-600: #6b9a78;--color-green-700: #8bb396;--color-green-50: #1a2a20;--color-amber-500: #e5a01d;--color-amber-50: #2a2110;--color-amber-700: #f0b84a;--color-red-500: #f07171;--color-red-700: #fca5a5;--color-red-50: #2a1515;--color-gray-50: #141210;--color-gray-100: #1c1917;--color-gray-200: #2e2a27;--color-gray-300: #44403c;--color-gray-400: #57534e;--color-gray-500: #a8a29e;--color-gray-600: #d6d3d1;--color-gray-700: #e7e5e4;--color-gray-800: #f5f5f4;--color-gray-900: #fafaf9;--color-white: #1c1917;--color-black: #0c0a09;--color-on-accent: #ffffff;--color-header-bg: rgba(20, 18, 16, .94);--color-header-border: rgba(107, 154, 120, .22);--map-label-color: #f5f5f4;--map-label-halo: #141210;--map-seal-fill: #1c1917;--map-seal-label: #f5f5f4;--map-privacy-ring-stroke: #8bb396;--map-card-surface: #1c1917;--map-chrome-bg: rgba(28, 25, 23, .92);--map-chrome-border: rgba(107, 154, 120, .22);--map-chrome-shadow: 0 8px 24px rgba(0, 0, 0, .35);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .45);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);font-size:16px;line-height:1.5;color:var(--color-gray-900);background:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%}a{color:var(--color-green-600);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}:focus-visible{outline:2px solid var(--color-green-600);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.55rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;min-height:44px;transition:background .15s,opacity .15s}.btn-primary{background:var(--color-green-600);color:var(--color-on-accent)}.btn-primary:hover{background:var(--color-green-700)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--color-red-500);color:var(--color-on-accent)}.btn-danger:hover{background:var(--color-red-700)}.btn-secondary{background:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.btn-secondary:hover{background:var(--color-gray-200);color:var(--color-gray-900)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;min-width:2.75rem;padding:.375rem;color:var(--color-gray-600);cursor:pointer;border-radius:var(--radius-sm);background:none;border:none}.btn-icon:hover{color:var(--color-red-500);background:var(--color-red-50)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-text{display:inline-flex;align-items:center;gap:.25rem;min-height:2.75rem;padding:.25rem .5rem;font-size:.8125rem;color:var(--color-green-600);cursor:pointer;background:none;border:none}.btn-text:hover{text-decoration:underline}.btn-warning{background:var(--color-amber-500);color:var(--color-on-accent)}.btn-warning:hover{background:var(--color-amber-700)}.btn-ghost{background:transparent;color:var(--color-gray-700)}.btn-ghost:hover{background:var(--color-gray-100)}.btn-full{width:100%}.btn-sm{padding:.375rem .75rem;font-size:.875rem;min-height:44px}input,textarea,select{font-family:inherit;font-size:1rem}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),textarea,select{min-height:2.75rem}h1,h2,h3,h4{line-height:1.2;font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.maplibregl-marker{z-index:5!important}.hub-marker.maplibregl-marker{width:0;height:0;padding:0;margin:0;border:none;overflow:visible;background:transparent;pointer-events:none;z-index:2!important;transition:none!important}.hub-marker__stack{position:absolute;left:0;top:0;width:40px;transform:translate(-20px,-20px);pointer-events:auto;cursor:pointer}.hub-marker__seal{width:40px;height:40px;position:relative;z-index:25;box-shadow:var(--shadow-sm)}.hub-marker__count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;font-size:9px;font-weight:700;border:1.5px solid var(--map-seal-fill);z-index:28;font-family:var(--font-sans);color:var(--map-seal-fill);pointer-events:none}.hub-marker__pulse{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:1.5px solid rgba(74,124,89,.3);pointer-events:none;opacity:.3}.hub-marker__label{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;font-size:12px;font-weight:600;color:var(--color-gray-900);text-shadow:0 1px 2px rgba(255,255,255,.85);pointer-events:none;font-family:var(--font-sans);line-height:1.2;text-align:center}.hub-marker svg{display:block;width:100%;height:100%;pointer-events:none}.hub-marker--selected .hub-marker__stack{z-index:3}.hub-marker--selected .hub-marker__label{display:none}.hub-marker--selected .hub-marker__seal:before{content:"";position:absolute;top:-10px;left:-10px;width:60px;height:60px;border-radius:50%;border:1.5px solid rgba(74,124,89,.55);animation:hub-pulse 1.8s ease-out infinite;pointer-events:none}.hub-marker--selected .hub-marker__seal:after{content:"";position:absolute;top:-6px;left:-6px;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle,#4a7c5938,#4a7c5900 72%);pointer-events:none}@keyframes hub-pulse{0%{transform:scale(.92);opacity:.85}70%{transform:scale(1.55);opacity:0}to{transform:scale(1.55);opacity:0}}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-black) 45%,transparent);z-index:55;pointer-events:none}.maplibregl-canvas{transition:filter .2s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.privacy-circle{display:inline-block;pointer-events:none;z-index:var(--z-map-controls)}.privacy-circle:focus-visible{outline:2px solid var(--color-green-600);outline-offset:2px;border-radius:var(--radius-md)}.privacy-circle svg{display:block;pointer-events:none}.privacy-circle-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.map-photo-card{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;pointer-events:auto;z-index:var(--z-map-controls)}.map-photo-card:focus-visible{outline:2px solid var(--color-green-600);outline-offset:2px;border-radius:var(--radius-md)}.map-photo-card-frame{position:relative;width:48px;height:48px;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--color-gray-100);transform-origin:center bottom}.map-photo-card-img{width:100%;height:100%;object-fit:cover;display:block}.map-photo-card-dot{position:absolute;top:5px;right:5px;width:14px;height:14px;border-radius:50%;border:2px solid var(--map-seal-fill);box-shadow:var(--shadow-sm);pointer-events:none}.map-photo-card-dot.seal-mini{width:10px;height:10px;border-radius:999px;background:transparent;border:2.5px solid var(--dot-ring, var(--color-green-600))}.map-photo-card-label{max-width:112px;text-align:center;pointer-events:none}.map-photo-card-name{display:block;font-size:11px;font-weight:600;color:var(--color-gray-900);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px color-mix(in srgb,var(--color-white) 80%,transparent)}.map-photo-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:10px;color:var(--color-gray-500);line-height:1.2;overflow:hidden}.map-photo-card-price{display:block;font-size:10px;font-weight:600;color:var(--color-green-700);line-height:1.2;white-space:nowrap}.app-shell.banner-visible .maplibregl-ctrl-bottom-right{bottom:calc(var(--install-banner-height-px, 0px) + .75rem)}.app-shell:has(.install-banner) .maplibregl-ctrl-bottom-right{bottom:calc(var(--install-banner-height-px, 0px) + .75rem)}:root{--ls-spacing-1: 4px;--ls-spacing-2: 8px;--ls-spacing-3: 12px;--ls-spacing-4: 16px;--ls-spacing-5: 20px;--ls-label-font-weight: 600;--ls-label-font-size: .8125rem;--ls-body-font-size: 1rem;--ls-radius-pill: 999px;--ls-border-radius: var(--radius-md);--ls-color-border: var(--color-gray-300);--ls-color-text: var(--color-gray-900);--ls-color-danger: var(--color-red-500);--ls-color-bg: var(--color-white);--ls-color-primary: var(--color-green-600);--ls-color-primary-bg: var(--color-green-50)}.ls-form-row{display:grid;grid-template-columns:240px 1fr;gap:var(--ls-spacing-4);align-items:center;padding:var(--ls-spacing-2) 0}@media(max-width:767px){.ls-form-row{grid-template-columns:1fr;gap:.25rem;padding:.375rem 0}}.ls-form-label{font-weight:var(--ls-label-font-weight);font-size:var(--ls-label-font-size);color:var(--ls-color-text)}.ls-form-field{width:100%}.ls-form-error{color:var(--ls-color-danger);font-size:.8125rem;margin-top:4px}.ls-form-row .btn{border-radius:var(--radius-sm)}.btn-sm{padding:4px 8px;font-size:.75rem;border-radius:var(--radius-sm)}.badge-pill{display:inline-block;padding:4px 10px;border-radius:var(--ls-radius-pill);background:var(--ls-color-primary-bg);color:var(--color-green-700);font-size:.75rem}.ls-listing-card{border:1px solid var(--ls-color-border);border-radius:var(--ls-border-radius);padding:var(--ls-spacing-3);background:var(--ls-color-bg)}.map-view{height:100%;position:relative}.map-view .map-chrome{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:var(--z-filter-bar);display:flex;flex-direction:column;align-items:stretch;gap:.45rem;width:min(520px,calc(100% - 1.5rem));pointer-events:none;padding:0;background:none;border-radius:0}.map-view.layout-rail.list-open .map-chrome,.map-view.layout-rail.sheet-open .map-chrome{left:calc(var(--map-rail-width, 340px) + .75rem);transform:none;width:min(420px,calc(100% - var(--map-rail-width, 340px) - 1.5rem))}.map-view .map-chrome>*{pointer-events:auto}.map-view .chrome-panel{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .9rem .55rem;border-radius:12px;background:var(--map-chrome-bg);border:1px solid var(--map-chrome-border);box-shadow:var(--map-chrome-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-view .welcome-overlay{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);text-align:left;background:radial-gradient(ellipse 90% 70% at 15% -20%,color-mix(in srgb,var(--color-green-600) 14%,transparent),transparent),radial-gradient(ellipse 70% 50% at 95% 0%,color-mix(in srgb,var(--color-amber-500) 10%,transparent),transparent),color-mix(in srgb,var(--color-white) 96%,transparent);padding:1.15rem 1.2rem;border-radius:var(--radius-xl);border:1px solid var(--color-header-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:.45rem;width:min(340px,calc(100% - 2rem))}.map-view.layout-shelf.list-open .welcome-overlay,.map-view.layout-shelf.sheet-open .welcome-overlay{bottom:calc(var(--map-shelf-height, 50vh) + .75rem)}.map-view .welcome-brand{display:flex;align-items:center;gap:.4rem;color:var(--color-green-700);margin-bottom:.15rem}.map-view .welcome-wordmark{font-family:var(--font-display);font-size:.9375rem;font-weight:600;letter-spacing:-.02em}.map-view .welcome-overlay h2{font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.02em;color:var(--color-gray-900);line-height:1.25}.map-view .welcome-overlay p{font-size:.875rem;color:var(--color-gray-500);line-height:1.45;margin:0}.map-view .welcome-actions{display:flex;flex-direction:column;gap:.4rem;margin-top:.45rem}.map-view .welcome-actions .btn-ghost{color:var(--color-green-700)}.map-view .map-banner{position:absolute;top:9.5rem;left:50%;transform:translate(-50%);z-index:var(--z-filter-bar);display:flex;align-items:center;gap:.5rem;border-radius:999px;padding:.45rem .9rem;font-size:.8125rem;font-weight:550;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(22rem,calc(100vw - 2rem));line-height:1.35}.map-view .map-banner-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center}.map-view .map-banner.is-loading{background:color-mix(in srgb,var(--color-gray-100) 92%,transparent);color:var(--color-gray-700);border:1px solid var(--color-gray-200);animation:map-banner-pulse 1.5s ease-in-out infinite}.map-view .map-banner.is-error{background:color-mix(in srgb,var(--color-red-50) 94%,transparent);color:var(--color-red-700);border:1px solid color-mix(in srgb,var(--color-red-500) 28%,transparent)}.map-view .map-banner.is-count{padding:.25rem .6rem;font-size:.75rem;border-radius:999px;background:var(--map-seal-fill);color:var(--color-green-700);border:1px solid color-mix(in srgb,var(--color-green-600) 28%,transparent);font-weight:650;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-view .map-banner-spinner{width:.75rem;height:.75rem;border:2px solid var(--color-gray-300);border-top-color:var(--color-green-600);border-radius:50%;animation:map-banner-spin .7s linear infinite}@keyframes map-banner-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes map-banner-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.map-view .map-banner.is-loading{animation:none}.map-view .map-banner-spinner{animation:none;border-top-color:var(--color-gray-500)}}.map-view .sheet-content{display:flex;flex-direction:column;gap:1rem}.map-view .btn-full{width:100%}.map-view .results-wrap,.map-view .hub-list-wrap{position:absolute;z-index:calc(var(--z-bottom-sheet) - 1);overflow:hidden;background:linear-gradient(165deg,var(--color-green-50) 0%,var(--color-gray-50) 42%,var(--color-white) 100%)}.map-view.layout-rail .results-wrap,.map-view.layout-rail .hub-list-wrap{left:0;top:0;bottom:0;width:var(--map-rail-width, 340px);border-right:1px solid rgba(28,25,23,.1);box-shadow:6px 0 22px #1c191714}.map-view.layout-shelf .results-wrap,.map-view.layout-shelf .hub-list-wrap{left:0;right:0;top:auto;bottom:0;width:100%;height:var(--map-shelf-height, 50vh);max-height:var(--map-shelf-height, 50vh);border-top:1px solid rgba(28,25,23,.1);border-radius:14px 14px 0 0;box-shadow:0 -6px 20px #1c191714}.map-view .maplibregl-ctrl-group{background:var(--map-chrome-bg);border:1px solid var(--map-chrome-border);border-radius:10px;box-shadow:var(--map-chrome-shadow);overflow:hidden}.map-view .maplibregl-ctrl-group button{min-width:2.75rem;min-height:2.75rem;background-color:transparent}.map-view .maplibregl-ctrl-group button+button{border-top:1px solid rgba(28,25,23,.08)}.map-view .maplibregl-ctrl-group button:hover{background-color:#4a7c591a}.map-view .maplibregl-ctrl-group button:focus{box-shadow:inset 0 0 0 2px #4a7c5959}.map-view .maplibregl-ctrl button .maplibregl-ctrl-icon{opacity:.78;filter:grayscale(.15) brightness(.55) sepia(.25) hue-rotate(70deg) saturate(1.2)}.map-view .maplibregl-ctrl-attrib{background:var(--map-chrome-bg);color:var(--color-gray-500);font-size:.6875rem;border-radius:6px;padding:0 4px}.map-view .maplibregl-ctrl-top-left,.map-view .maplibregl-ctrl-top-right{top:.5rem}.map-view.layout-shelf.list-open .maplibregl-ctrl-bottom-right,.map-view.layout-shelf.sheet-open .maplibregl-ctrl-bottom-right{bottom:calc(var(--map-shelf-height, 50vh) + .5rem)!important}.map-view.layout-rail.list-open .maplibregl-ctrl-bottom-left,.map-view.layout-rail.sheet-open .maplibregl-ctrl-bottom-left{left:calc(var(--map-rail-width, 340px) + .5rem)!important}.map-view .maplibregl-ctrl-bottom-left,.map-view .maplibregl-ctrl-bottom-right{bottom:.5rem}.map-view .maplibregl-ctrl-bottom-right .maplibregl-ctrl{margin-bottom:.25rem}@media(max-width:767px){.map-view .map-chrome{top:.4rem;gap:.35rem;width:calc(100% - 8rem)}.map-view .chrome-panel{padding:.55rem .7rem .45rem}.map-view .map-search{width:100%;padding:.1rem .05rem .45rem}.map-view .welcome-overlay{bottom:1rem;padding:.85rem 1rem;width:calc(100% - 1.5rem)}.map-view .map-banner{top:7.75rem}}@media(max-width:640px){.map-view .map-chrome{left:.75rem;transform:none;width:calc(100% - 4.75rem)}}.map-wrapper{position:relative;height:100%;width:100%;isolation:isolate}.map-container{height:100%;width:100%}
