:root{--sheet-bg:rgba(255,255,255,0.98);--sheet-text:#222;--sheet-text-muted:#666;--sheet-border:#d8d8d8;--sheet-shadow:rgba(0,0,0,0.18);--sheet-hover:rgba(0,0,0,0.05);--sheet-divider:#ececec;--input-bg:white;--pill-bg:#e3e3e3;--section-header-bg:#fafafa;--page-bg:#f7f7f7;--popup-bg:var(--sheet-bg);--swatch-outline:rgba(0,0,0,0.08);--accent:#2980b9;--link-color:var(--accent);--accent-strong:color-mix(in srgb,var(--accent) 75%,black);--emergency-color:#c0392b;--highlight-amber:#ffb700;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--poi-marker-size:24px;--poi-marker-size-trailhead-w:28px;--poi-marker-size-trail-marker-h:20px;--poi-marker-size-trail-marker-min-w:20px;--poi-marker-radius:4px;--poi-marker-border:2px;--poi-marker-font-text:13px;--poi-marker-font-text-tight:11px;--poi-marker-svg-size:14px;--poi-marker-map-shadow:0 1px 4px rgba(0,0,0,0.3);--feature-label-color:#1e1e1e;--feature-label-halo:rgba(255,255,255,0.9)}[data-color-scheme="dark"]{--sheet-bg:rgba(28,28,30,0.98);--sheet-text:#f0f0f0;--sheet-text-muted:#a0a0a0;--sheet-border:#3c3c3e;--sheet-shadow:rgba(0,0,0,0.6);--sheet-hover:rgba(255,255,255,0.08);--sheet-divider:#2c2c2e;--input-bg:#1c1c1e;--pill-bg:#3a3a3c;--section-header-bg:#2c2c2e;--page-bg:#1c1c1e;--popup-bg:#2c2c2e;--swatch-outline:rgba(255,255,255,0.18);--poi-marker-map-shadow:0 1px 4px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.1);--feature-label-color:#f0f0f0;--feature-label-halo:rgba(0,0,0,0.7)}*{margin:0;padding:0;box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}html,body{overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--sheet-text);background:var(--page-bg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#map{position:fixed;inset:0}.hidden{display:none!important}.highlight-chip{position:absolute;top:calc(12px + var(--safe-top));left:50%;transform:translateX(-50%);z-index:6;background:var(--sheet-bg);border:1px solid var(--sheet-border);border-radius:999px;box-shadow:0 3px 10px var(--sheet-shadow);padding:6px 12px 6px 10px;font:inherit;font-size:13px;font-weight:500;color:var(--sheet-text);cursor:pointer;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 32px)}.highlight-chip-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--highlight-amber);border:1.5px solid white;box-shadow:0 0 0 1px rgba(0,0,0,0.15);flex-shrink:0}.highlight-chip-text{display:flex;flex-direction:column;min-width:0;gap:1px}.highlight-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}.highlight-chip-note{font-size:11px;font-weight:400;color:var(--sheet-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}.highlight-chip:has(.highlight-chip-note:not(.hidden)){border-radius:14px}.highlight-chip-stats{color:var(--sheet-text-muted);font-size:12px;font-weight:400;white-space:nowrap;flex-shrink:0}.highlight-chip-close{color:var(--sheet-text-muted);flex-shrink:0}.highlight-chip:hover .highlight-chip-close,.highlight-chip:focus-visible .highlight-chip-close{color:var(--sheet-text)}.opt-section-header{display:block;padding:16px 16px 6px 16px;margin:0;background:transparent;border:none;font:inherit;text-align:left}.opt-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--sheet-text-muted);margin:0}.opt-section-body{padding:0 8px 4px 8px}.opt-toggle-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 10px;background:transparent;border:none;border-radius:10px;color:var(--sheet-text);font:inherit;text-align:left}.opt-toggle-row-clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}@media (hover:hover){.opt-toggle-row-clickable:hover{background:var(--sheet-hover)}}.layer-swatch-placeholder{flex:0 0 auto;width:28px;height:28px}.opt-toggle-row .layer-swatch{flex:0 0 auto;width:28px;height:28px;font-size:13px;position:relative;overflow:visible}.opt-toggle-row-label{flex:1 1 auto;font-size:14px;font-weight:500;color:var(--sheet-text)}.opt-toggle-row[aria-pressed="false"] .layer-swatch,.opt-toggle-row[data-multi-off="true"] .layer-swatch{background:transparent!important;border:1.5px solid #9aa0a6!important;color:#9aa0a6!important;box-shadow:none!important}.opt-toggle-row[aria-pressed="false"] .layer-swatch::after,.opt-toggle-row[data-multi-off="true"] .layer-swatch::after{content:"";position:absolute;top:50%;left:-2px;right:-2px;height:1.5px;background:#9aa0a6;transform:translateY(-50%) rotate(-45deg);transform-origin:center;pointer-events:none}.opt-toggle-row[aria-pressed="false"] .opt-toggle-row-label,.opt-toggle-row[data-multi-off="true"] .opt-toggle-row-label{color:#6a6a6a}.season-pill{flex:0 0 auto;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;padding:3px 10px;border-radius:999px;background:var(--accent);color:white}.opt-toggle-row-segmented{cursor:default}.opt-segmented-pill{display:inline-flex;align-items:center;flex:0 0 auto;gap:0;padding:2px;border:none;border-radius:999px;background:var(--pill-bg)}.opt-segmented-pill .opt-segmented-btn{flex:0 0 auto;min-height:0;border:none;border-left:none;background:transparent;color:var(--sheet-text-muted);font:inherit;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;padding:3px 8px;border-radius:999px;cursor:pointer;line-height:1.2;transition:background 0.12s,color 0.12s}.opt-segmented-pill .opt-segmented-btn:hover{color:var(--sheet-text)}.opt-segmented-pill .opt-segmented-btn[aria-checked="true"]{background:var(--accent);color:white}.opt-segmented-pill .opt-segmented-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.opt-segmented-pill .opt-segmented-btn{transition:none}}.opt-section{border-top:1px solid var(--sheet-divider);padding:12px 0}.opt-section:first-child{border-top:none;padding-top:8px}.opt-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--sheet-text-muted);margin:0 0 8px 0}.opt-row{display:flex;align-items:center;min-height:44px;padding:4px 0}.opt-row-stacked{flex-direction:column;align-items:stretch;gap:6px}.opt-row-help{font-size:12px;color:var(--sheet-text-muted);line-height:1.35;margin:0 4px}.opt-rows{display:flex;flex-direction:column;gap:0}.opt-row-field{justify-content:space-between;gap:12px}.opt-field-label{font-size:13px;font-weight:500;color:var(--sheet-text)}.opt-select{flex:0 1 auto;padding:8px 28px 8px 10px;border:1px solid var(--sheet-border);border-radius:6px;background:var(--input-bg);color:var(--sheet-text);font-family:inherit;font-size:14px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-height:36px}.opt-section-action{border-top:1px solid var(--sheet-divider);padding:4px 0}.opt-action-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 4px;border-radius:6px;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:var(--sheet-text);transition:background 0.1s}.opt-action-row:hover{background:var(--sheet-hover)}.opt-action-row.is-static{cursor:default}.opt-action-row.is-static:hover{background:transparent}.opt-action-icon{width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 15%,transparent);display:inline-flex;align-items:center;justify-content:center;font-size:16px;color:var(--sheet-text);flex-shrink:0}.opt-action-text{display:flex;flex-direction:column;gap:2px;min-width:0}.opt-action-title{font-size:14px;font-weight:500}.opt-action-help{font-size:12px;color:var(--sheet-text-muted);line-height:1.3}.install-btn .install-btn-icon{position:relative;width:40px;height:40px;flex-shrink:0;background:transparent;border-radius:0;display:inline-flex;align-items:center;justify-content:center}.install-btn .install-btn-icon img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#f0f0f0;box-shadow:0 1px 3px rgba(0,0,0,0.2)}.install-btn .install-btn-icon::after{content:"";position:absolute;right:-6px;bottom:-6px;width:20px;height:20px;border-radius:50%;background-color:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'><line x1='6' y1='2' x2='6' y2='10'/><line x1='2' y1='6' x2='10' y2='6'/></svg>");background-repeat:no-repeat;background-position:center;background-size:10px 10px;box-shadow:0 0 0 2px var(--sheet-bg),0 1px 3px rgba(0,0,0,0.3)}.layer-swatch{display:inline-flex;align-items:center;justify-content:center;width:var(--poi-marker-size);height:var(--poi-marker-size);border-radius:var(--poi-marker-radius);font-size:var(--poi-marker-font-text);font-weight:700;line-height:1;color:white;border:var(--poi-marker-border) solid white;box-sizing:border-box;flex-shrink:0;box-shadow:0 0 0 1px var(--swatch-outline)}.layer-swatch svg{width:var(--poi-marker-svg-size);height:var(--poi-marker-svg-size)}.marker-swatch{background:var(--marker-color,#795548);color:var(--marker-text-color,#fff);border:var(--poi-marker-border) solid var(--marker-border-color,#fff);font-size:var(--poi-marker-font-text-tight)}.emergency-swatch{background:#c0392b}.parking-swatch{background:var(--parking-color,#2980b9);color:var(--parking-text-color,#fff);border:var(--poi-marker-border) solid var(--parking-border-color,#fff)}.direction-arrows-swatch{background:var(--pill-bg);color:#000}.direction-arrows-swatch svg{overflow:visible}.direction-arrows-swatch path{stroke:rgba(255,255,255,0.9);stroke-width:4.36;stroke-linejoin:round;paint-order:stroke fill markers}[data-color-scheme="dark"] .direction-arrows-swatch{background:#444;color:#fff}[data-color-scheme="dark"] .direction-arrows-swatch path{stroke:rgba(0,0,0,0.7)}.trailhead-swatch{background:var(--trailhead-color,#27ae60);color:var(--trailhead-text-color,#fff);border:var(--poi-marker-border) solid var(--trailhead-border-color,#fff);width:var(--poi-marker-size-trailhead-w);font-size:var(--poi-marker-font-text-tight)}.label-swatch{background:var(--label-text-color,#fff);color:var(--label-color,#5d6d7e)}[data-color-scheme="dark"] .label-swatch{background:var(--input-bg);color:#f0f0f0}.appearance-swatch{background:var(--input-bg);color:var(--sheet-text)}[data-color-scheme="dark"] .appearance-swatch{background:var(--input-bg);color:#f0f0f0}.toilet-swatch{background:var(--toilet-color,#6c5ce7);color:var(--toilet-text-color,#fff);border:var(--poi-marker-border) solid var(--toilet-border-color,#fff)}.drinking-water-swatch{background:var(--drinking-water-color,#3498db);color:var(--drinking-water-text-color,#fff);border:var(--poi-marker-border) solid var(--drinking-water-border-color,#fff)}.event-swatch{background:var(--event-poi-color,#d32f2f);color:#fff;border:var(--poi-marker-border) solid #fff}.feature-swatch{background:transparent}.feature-swatch::before{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;background:var(--feature-color,#8e44ad);border:2px solid var(--feature-ring-color,#fff);border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,0.35);transform:translate(-50%,-50%);box-sizing:border-box;pointer-events:none}.difficulty-swatch{background:#fff}.difficulty-swatch::before{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;background:#111;border:1px solid #000;transform:translate(-50%,-50%) rotate(45deg);box-sizing:border-box;pointer-events:none}.finder-section-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--sheet-text-muted);padding:8px 12px 4px 12px;background:var(--section-header-bg);border-bottom:1px solid var(--sheet-divider)}.finder-section-header:first-child{border-top:none}.finder-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;border-top:1px solid var(--sheet-divider);background:transparent;text-align:left;cursor:pointer;font:inherit;color:var(--sheet-text);width:100%;min-height:44px;transition:background 0.1s}.finder-row:hover,.finder-row:focus-visible{background:var(--sheet-hover);outline:none}.finder-row.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:inset 3px 0 0 var(--accent)}.finder-row-swatch{display:inline-block;width:14px;height:4px;border-radius:2px;flex-shrink:0;background:#888;box-shadow:0 0 0 1px rgba(0,0,0,0.25)}.finder-row-trail-mark{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--highlight-amber);border:1.5px solid white;box-shadow:0 0 0 1px rgba(0,0,0,0.15);flex-shrink:0}.finder-row-meta{font-size:12px;color:var(--sheet-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finder-row-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finder-row-stats{color:var(--sheet-text-muted);font-size:12px;white-space:nowrap;flex-shrink:0}.finder-empty{padding:16px 12px;text-align:center;font-size:13px;color:var(--sheet-text-muted)}.about-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.about-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);cursor:pointer}.about-modal-content{position:relative;background:var(--sheet-bg);color:var(--sheet-text);border:1px solid var(--sheet-border);border-radius:10px;box-shadow:0 6px 24px var(--sheet-shadow);max-width:480px;width:calc(100vw - 32px);max-height:80vh;overflow-y:auto;padding:20px 24px 24px 24px;font-size:13px;line-height:1.5}.about-modal-close{position:absolute;top:8px;right:10px;width:32px;height:32px;padding:0;background:none;border:none;color:var(--sheet-text);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.welcome-modal-cta{display:block;width:100%;margin-top:16px;padding:10px 16px;background:#33b5e5;color:#fff;border:1px solid #33b5e5;border-radius:8px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.welcome-modal-cta:hover,.welcome-modal-cta:focus-visible{background:#1ea5d8;border-color:#1ea5d8;outline:none}#welcome-modal-body{margin:0}.welcome-modal-body-p{margin:0 0 12px 0;line-height:1.5}.welcome-modal-section-heading{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--sheet-text-muted);margin:18px 0 8px 0}.welcome-modal-controls-list{list-style:none;padding:0;margin:0}.welcome-modal-control-row{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px 0;line-height:1.5}.welcome-modal-control-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--sheet-text);margin-top:1px}.welcome-modal-control-text{flex:1 1 auto;min-width:0}.about-modal-close:hover{background:var(--sheet-hover)}.about-modal-content h2{font-size:18px;font-weight:600;margin:0 28px 14px 0;color:var(--sheet-text)}.about-modal-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 28px 14px 0}.about-modal-header h2{margin:0;flex:1 1 auto;min-width:0}.about-modal-logo{flex:0 0 auto;max-width:140px;max-height:56px;width:auto;height:auto}.about-modal-content h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--sheet-text-muted);margin:14px 0 4px 0}.about-modal-content p{margin:0 0 4px 0;white-space:pre-wrap;color:var(--sheet-text)}.about-modal-content ul{list-style:none;padding:0;margin:0 0 4px 0}.about-modal-content li{margin:2px 0}.about-modal-content a{color:var(--link-color);text-decoration:none}.about-modal-content a:hover{text-decoration:underline}.about-modal-version{color:var(--sheet-text);opacity:0.8;margin:0 0 4px 0;padding-left:1.25em}.maplibregl-ctrl-group{background:var(--sheet-bg)!important;border:1px solid var(--sheet-border)!important;border-radius:8px!important;box-shadow:0 2px 6px var(--sheet-shadow)!important;overflow:hidden}.maplibregl-ctrl-group button{background-color:transparent!important;border-bottom:1px solid var(--sheet-border)!important}.maplibregl-ctrl-group button:last-child{border-bottom:none!important}.maplibregl-ctrl-group button:hover{background-color:var(--sheet-hover)!important}.maplibregl-ctrl-attrib{background:var(--sheet-bg)!important;color:var(--sheet-text)!important;font-size:10px!important}.maplibregl-ctrl-geolocate{display:none!important}.maplibregl-ctrl-group:has(>.maplibregl-ctrl-geolocate){display:none!important}.maplibregl-ctrl-attrib a{color:var(--sheet-text)!important}[data-color-scheme="dark"] .maplibregl-ctrl-attrib-button{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23f0f0f0' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}.poi-marker{width:var(--poi-marker-size);height:var(--poi-marker-size);display:flex;align-items:center;justify-content:center;border-radius:var(--poi-marker-radius);border:var(--poi-marker-border) solid white;color:white;font-weight:700;line-height:1;box-sizing:border-box;box-shadow:var(--poi-marker-map-shadow);cursor:pointer}.poi-marker svg{width:var(--poi-marker-svg-size);height:var(--poi-marker-svg-size)}.parking-marker{background:var(--parking-color,#2980b9);color:var(--parking-text-color,#fff);border-color:var(--parking-border-color,#fff);font-size:var(--poi-marker-font-text)}.trailhead-marker{background:var(--trailhead-color,#27ae60);color:var(--trailhead-text-color,#fff);border-color:var(--trailhead-border-color,#fff);font-size:var(--poi-marker-font-text-tight);width:var(--poi-marker-size-trailhead-w)}.toilet-marker{background:var(--toilet-color,#6c5ce7);border-color:var(--toilet-border-color,#fff);pointer-events:none;cursor:default}.drinking-water-marker{background:var(--drinking-water-color,#3498db);border-color:var(--drinking-water-border-color,#fff);pointer-events:none;cursor:default}.event-poi-marker{background:var(--event-poi-color,#d32f2f);border-color:#fff}.event-poi-marker-label{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:2px 6px;border-radius:4px;background:rgba(255,255,255,0.92);color:var(--sheet-text,#222);font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,0.25);pointer-events:none}[data-color-scheme="dark"] .event-poi-marker-label{background:rgba(28,28,30,0.92);color:var(--sheet-text,#f0f0f0)}.popup-event-poi .popup-description{margin-top:4px;font-size:12px;line-height:1.35;color:var(--sheet-text-muted,#555)}.trail-marker{background:var(--marker-color,#795548);color:var(--marker-text-color,#fff);border-color:var(--marker-border-color,#fff);font-size:var(--poi-marker-font-text-tight);height:var(--poi-marker-size-trail-marker-h);min-width:var(--poi-marker-size-trail-marker-min-w);width:auto;padding:0 4px;pointer-events:none;cursor:default}.feature-marker{display:flex;flex-direction:column;align-items:center;transform:translateY(-7px);pointer-events:none}.feature-marker-icon{width:12px;height:12px;border-radius:50%;border:2px solid var(--feature-ring-color,#fff);box-shadow:0 1px 4px rgba(0,0,0,0.35);box-sizing:border-box}.feature-marker-label{margin-top:3px;font-size:11px;font-weight:600;line-height:1.1;color:var(--feature-label-color);text-align:center;white-space:nowrap;text-shadow:-1px -1px 0 var(--feature-label-halo),1px -1px 0 var(--feature-label-halo),-1px 1px 0 var(--feature-label-halo),1px 1px 0 var(--feature-label-halo),0 -1px 0 var(--feature-label-halo),0 1px 0 var(--feature-label-halo),-1px 0 0 var(--feature-label-halo),1px 0 0 var(--feature-label-halo)}.maplibregl-popup{filter:drop-shadow(0 3px 12px var(--sheet-shadow))}.maplibregl-popup-content{font-family:inherit;font-size:13px;padding:8px 14px 10px 14px;border-radius:8px;background:var(--popup-bg);color:var(--sheet-text);position:relative;overflow:hidden}.maplibregl-popup.popup-parking .maplibregl-popup-content::before,.maplibregl-popup.popup-trailhead .maplibregl-popup-content::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px}.maplibregl-popup.popup-parking .maplibregl-popup-content::before{background:var(--parking-color,#2980b9)}.maplibregl-popup.popup-trailhead .maplibregl-popup-content::before{background:var(--trailhead-color,#27ae60)}.maplibregl-popup.popup-parking .maplibregl-popup-content,.maplibregl-popup.popup-trailhead .maplibregl-popup-content{padding-left:18px}.maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--popup-bg)}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--popup-bg)}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--popup-bg)}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--popup-bg)}.maplibregl-popup-close-button{font-size:18px;line-height:1;padding:4px 6px;right:0;top:0;color:inherit}.popup-title{font-weight:600;margin-bottom:4px;overflow-wrap:break-word;word-break:break-word}.popup-hr{margin:4px 0;border:none;border-top:1px solid #ccc}.popup-routes{font-size:12px;margin-top:2px;overflow-wrap:break-word;word-break:break-word}.popup-directions{display:inline-block;margin-top:6px;color:var(--link-color);text-decoration:none;font-size:12px;font-weight:500}.popup-directions:hover{text-decoration:underline}.maplibregl-user-location-accuracy-circle{background-color:rgba(52,152,219,0.15)!important}.maplibregl-user-location-dot{background-color:#3498db!important}.maplibregl-marker:has(>.maplibregl-user-location-dot),.maplibregl-marker:has(>.maplibregl-user-location-accuracy-circle){z-index:2}.off-screen-indicator{position:absolute;z-index:3;display:none;flex-direction:column;align-items:center;gap:2px;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;user-select:none}.off-screen-indicator-arrow{font-size:22px;line-height:1;color:#3498db;text-shadow:0 1px 3px rgba(0,0,0,0.4)}.off-screen-indicator-dist{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;line-height:1;color:#fff;background:rgba(0,0,0,0.55);padding:0 8px;height:18px;border-radius:9px;white-space:nowrap}.map-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.85);color:white;padding:12px 18px;border-radius:10px;font-size:14px;font-family:inherit;line-height:1.35;text-align:center;max-width:min(90vw,360px);box-shadow:0 4px 16px rgba(0,0,0,0.3);z-index:200;pointer-events:none;transition:opacity 0.3s}.map-toast.visible{opacity:1}.map-toast.hidden{opacity:0}.map-toast.map-toast-actionable{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:left;padding:10px 12px 10px 16px}.map-toast-message{flex:1 1 auto;min-width:0}.map-toast-action{flex-shrink:0;background:rgba(255,255,255,0.12);color:white;border:1px solid rgba(255,255,255,0.25);border-radius:16px;padding:6px 14px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.map-toast-action:hover,.map-toast-action:focus-visible{background:rgba(255,255,255,0.22);outline:none}.map-toast-action-primary{background:#33b5e5;border-color:#33b5e5;color:#fff}.map-toast-action-primary:hover,.map-toast-action-primary:focus-visible{background:#1ea5d8;border-color:#1ea5d8}.map-toast-close{flex-shrink:0;background:transparent;border:none;color:rgba(255,255,255,0.7);padding:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;-webkit-tap-highlight-color:transparent}.map-toast-close:hover,.map-toast-close:focus-visible{color:white;background:rgba(255,255,255,0.12);outline:none}@media (max-width:480px){.about-modal-content{padding:16px 18px 20px 18px;max-height:85vh}.about-modal-content h2{font-size:16px}}#brand{position:fixed;top:calc(12px + var(--safe-top));left:calc(12px + env(safe-area-inset-left,0));z-index:4;max-width:min(60vw,240px);pointer-events:none;display:flex;align-items:center}#brand-img{max-width:200px;max-height:48px;width:auto;height:auto;opacity:0.95;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.35))}@media (min-width:768px){#brand{max-width:min(60vw,320px)}#brand-img{max-width:280px;max-height:64px}}[data-color-scheme="dark"] #brand-img.invert-dark{filter:invert(1) hue-rotate(180deg) drop-shadow(0 1px 3px rgba(0,0,0,0.35))}#brand-title{font-size:16px;font-weight:700;color:var(--sheet-text);text-shadow:0 0 6px rgba(255,255,255,0.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#brand:has(#brand-img) #brand-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.fab-stack{position:fixed;right:calc(12px + env(safe-area-inset-right,0));z-index:5;display:flex;flex-direction:column;gap:10px}.fab-stack-top{top:calc(12px + var(--safe-top))}.fab-stack-bottom{bottom:calc(12px + var(--safe-bottom))}body:has(.search-overlay.is-open) .fab-stack,body:has(.options-overlay.is-open) .fab-stack{opacity:0;pointer-events:none;transition:opacity 0.15s ease-out}.fab{width:48px;height:48px;border-radius:24px;background:var(--sheet-bg);border:1.5px solid var(--sheet-border);box-shadow:0 2px 6px rgba(0,0,0,0.2);color:var(--sheet-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background 0.12s,transform 0.06s;-webkit-tap-highlight-color:transparent;position:relative}.fab:hover{background:var(--pill-bg)}.fab:active{transform:scale(0.96)}.fab-label{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%) translateX(8px);background:var(--sheet-bg);color:var(--sheet-text);border:1.5px solid var(--sheet-border);box-shadow:0 2px 6px rgba(0,0,0,0.2);border-radius:16px 0 0 16px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;pointer-events:auto;cursor:pointer;opacity:0;transition:opacity 0.22s ease-out,transform 0.22s ease-out}.fab-label::before,.fab-label::after{content:"";position:absolute}.fab-label::before{left:calc(100% + 1.5px);top:-1.5px;bottom:-1.5px;width:9px;background:var(--sheet-border);clip-path:polygon(0 0,100% 50%,0 100%)}.fab-label::after{left:100%;top:0;bottom:0;width:7.5px;background:var(--sheet-bg);clip-path:polygon(0 0,100% 50%,0 100%)}body.fabs-labeled .fab-label{opacity:1;transform:translateY(-50%) translateX(0)}@media (prefers-reduced-motion:reduce){.fab-label{transition:none}}.fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fab[aria-pressed="true"]:not(#toggle-locate){background:var(--accent);border-color:var(--accent);color:#fff}@media (prefers-reduced-motion:reduce){.fab{transition:none}.fab:active{transform:none}}@keyframes mtb-locate-spin{from{transform:rotate(0deg)}to{transform:rotate(1turn)}}#toggle-locate.locate-state-idle{color:var(--sheet-text)}#toggle-locate.locate-state-waiting .locate-icon{animation:mtb-locate-spin 2s linear infinite;transform-origin:center}#toggle-locate.locate-state-active{color:#33b5e5}#toggle-locate.locate-state-background{color:#33b5e5}#toggle-locate.locate-state-background .locate-dot{display:none}#toggle-locate.locate-state-active-error{color:#e58978}#toggle-locate.locate-state-background-error{color:#e54e33}#toggle-locate.locate-state-background-error .locate-dot{display:none}#toggle-locate.locate-state-disabled{color:#999}#toggle-locate.locate-state-disabled::after{content:"";position:absolute;top:50%;left:6px;right:6px;height:2px;background:#d33;transform:translateY(-50%) rotate(-45deg);pointer-events:none}.search-overlay{position:fixed;inset:0;z-index:6;background:rgba(0,0,0,0);display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;transition:background 0.22s ease-out}.search-overlay.is-open{background:rgba(0,0,0,0.32);pointer-events:auto}.search-overlay[hidden]{display:none!important}.search-overlay-panel{height:var(--search-overlay-height,min(60dvh,480px));background:var(--sheet-bg);border-top:1px solid var(--sheet-border);border-top-left-radius:14px;border-top-right-radius:14px;box-shadow:0 -2px 12px var(--sheet-shadow);display:flex;flex-direction:column;padding-bottom:var(--safe-bottom);transform:translateY(100%);transition:transform 0.22s ease-out;overflow:hidden}.search-overlay.is-open .search-overlay-panel{transform:translateY(0)}.search-overlay-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--sheet-divider);flex-shrink:0}.search-input-wrap{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center}.search-overlay-input{flex:1 1 auto;min-width:0;height:38px;padding:0 38px 0 12px;border:1px solid var(--sheet-border);border-radius:8px;background:var(--input-bg);color:var(--sheet-text);font:inherit;font-size:15px;appearance:none}.search-overlay-input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.search-overlay-input::-webkit-search-cancel-button,.search-overlay-input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.search-clear-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--sheet-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background 0.12s,color 0.12s}.search-clear-btn:hover{background:var(--sheet-hover);color:var(--sheet-text)}.search-clear-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.search-overlay-cancel{flex:0 0 auto;background:none;border:none;color:var(--accent);font:inherit;font-size:15px;font-weight:500;cursor:pointer;padding:8px 4px}.search-overlay-filters{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid var(--sheet-divider);overflow-x:auto;scrollbar-width:none;flex-shrink:0}.search-overlay-filters::-webkit-scrollbar{display:none}.search-filter-chip{flex:0 0 auto;background:var(--pill-bg);color:var(--sheet-text);border:1px solid transparent;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.search-filter-chip[aria-selected="true"]{background:var(--accent);color:white}.search-overlay-results{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}.search-overlay-empty{padding:20px;color:var(--sheet-text-muted);text-align:center;font-size:14px}.options-overlay{position:fixed;inset:0;z-index:7;background:rgba(0,0,0,0);display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;transition:background 0.22s ease-out}.options-overlay.is-open{background:rgba(0,0,0,0.45);pointer-events:auto}.options-overlay[hidden]{display:none!important}.options-overlay-panel{flex:1 1 auto;background:var(--sheet-bg);display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);transform:translateY(100%);transition:transform 0.22s ease-out;overflow:hidden}.options-overlay.is-open .options-overlay-panel{transform:translateY(0)}.options-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--sheet-divider);flex-shrink:0}.options-overlay-title{font-size:18px;font-weight:600;color:var(--sheet-text);margin:0}.overlay-close-btn{flex:0 0 auto;width:36px;height:36px;background:transparent;border:none;border-radius:8px;color:var(--sheet-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:background 0.12s,color 0.12s}.overlay-close-btn:hover{background:var(--sheet-hover);color:var(--sheet-text)}.overlay-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.options-overlay-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}@media (prefers-reduced-motion:reduce){.search-overlay,.options-overlay,.search-overlay-panel,.options-overlay-panel{transition:none}}.opt-toggle-row.season-toggle-row .season-swatch{background:#2e7d32;color:white}.opt-toggle-row.season-toggle-row .season-swatch.is-winter{background:#0e7490}.opt-toggle-row[aria-pressed="false"] .feature-swatch::before{background:transparent;border:1.5px solid #9aa0a6;box-shadow:none}.opt-toggle-row[aria-pressed="false"] .difficulty-swatch::before{background:transparent;border-color:#9aa0a6}.maplibregl-ctrl-bottom-left{bottom:calc(12px + var(--safe-bottom))!important;left:calc(12px + env(safe-area-inset-left,0))!important}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin:0!important}@media (min-width:768px){.search-overlay,.options-overlay{align-items:center}.search-overlay-panel,.options-overlay-panel{width:min(440px,calc(100vw - 48px));border:1px solid var(--sheet-border);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,0.22)}.search-overlay-panel{height:min(60dvh,540px);margin-bottom:24px}.options-overlay{justify-content:center}.options-overlay-panel{flex:0 1 auto;max-height:min(80dvh,680px);padding-top:0;padding-bottom:0}}.finder-row-poi-swatch{width:22px;height:22px;flex:0 0 auto;position:relative;overflow:visible;font-size:11px}.finder-row-poi .finder-row-meta{flex:0 0 auto;margin-left:auto;text-transform:uppercase;letter-spacing:0.04em;font-size:10px;font-weight:600}