html{touch-action:pan-x pan-y}:root{--bg-body:#fff;--bg-panel:#fffffff2;--text-primary:#1a1a1a;--text-secondary:#666;--text-hint:#888;--border-color:#ddd;--loading-bg:#ffffffeb;--loading-text:#333;--spinner-border:#e0e0e0;--spinner-top:#333}[data-theme=dark]{--bg-body:#1a1a1a;--bg-panel:#1e1e23f2;--text-primary:#e0e0e0;--text-secondary:#999;--text-hint:#777;--border-color:#444;--loading-bg:#141419eb;--loading-text:#ccc;--spinner-border:#444;--spinner-top:#ccc}*{box-sizing:border-box;margin:0;padding:0}:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}html,body,#app{width:100%;height:100%;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}body,.leaflet-container{background:var(--bg-body)!important}#map{width:100%;height:100%}.loading-overlay{z-index:2000;background:var(--loading-bg);width:100%;height:100%;color:var(--loading-text);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:16px;display:flex;position:absolute;top:0;left:0}.loading-overlay .spinner{border:3px solid var(--spinner-border);border-top-color:var(--spinner-top);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.selected-cell-pulse{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{fill-opacity:.5;fill:#fff;stroke:#1565c0;stroke-width:2px}50%{fill-opacity:.5;fill:#2196f3;stroke:#2196f3;stroke-width:3px}}img.leaflet-tile{opacity:.8!important}.bottom-left-buttons{z-index:1000;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:30px;left:12px}.map-btn.locating{animation:1s ease-in-out infinite pulse-btn}.map-btn.tracking{box-shadow:0 0 0 2px #4285f4,0 2px 8px #00000026}@keyframes pulse-btn{0%,to{opacity:1}50%{opacity:.4}}.map-btn{background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .15s;display:flex;box-shadow:0 2px 8px #00000026}@media (width<=600px){.bottom-left-buttons{flex-direction:row;inset:12px 12px auto auto}.hover-tooltip{display:none}.leaflet-bottom.leaflet-right{bottom:190px!important}.leaflet-control-attribution{border-radius:4px;font-size:9px;background:#fff9!important;margin-right:6px!important;padding:1px 5px!important}}.tap-pill{z-index:2000;color:#fff;pointer-events:none;text-align:center;background:#000000d9;border-radius:14px;flex-direction:column;align-items:center;padding:8px 20px 6px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.tap-pill-time{font-size:16px;font-weight:700}.tap-pill-hint{opacity:.6;margin-top:1px;font-size:10px}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.desktop-search{z-index:1000;width:360px;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.desktop-search .stop-search{margin:0!important}.desktop-search .search-input-wrap{background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:8px;height:36px;padding:0 12px;box-shadow:0 2px 8px #00000026}.mobile-search{display:none}@media (width<=600px){.desktop-search{display:none}.mobile-search{display:block}}.error-toast{z-index:2500;color:#fff;pointer-events:none;background:#c62828;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}.hover-tooltip{z-index:1500;pointer-events:none;color:#fff;white-space:nowrap;background:#000c;border-radius:5px;padding:4px 10px;font-size:13px;font-weight:600;position:absolute}.error-boundary[data-v-6d9c2e20]{background:var(--bg-body);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.error-card[data-v-6d9c2e20]{text-align:center;max-width:400px;padding:40px}.error-icon[data-v-6d9c2e20]{margin-bottom:16px;font-size:48px}h2[data-v-6d9c2e20]{color:var(--text-primary);margin-bottom:8px;font-size:20px}p[data-v-6d9c2e20]{color:var(--text-secondary);margin-bottom:20px;font-size:14px}button[data-v-6d9c2e20]{color:#fff;cursor:pointer;background:#9b59b6;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:600}button[data-v-6d9c2e20]:hover{background:#8e44ad}.legend[data-v-18b62d19]{z-index:1000;background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);border-radius:10px;padding:10px 14px;font-size:12px;position:absolute;bottom:30px;right:12px;box-shadow:0 2px 16px #0000001f}.title[data-v-18b62d19]{margin-bottom:4px;font-weight:600}.gradient[data-v-18b62d19]{border-radius:4px;width:200px;height:16px;margin:6px 0 4px}.labels[data-v-18b62d19]{color:var(--text-secondary);justify-content:space-between;font-size:11px;display:flex}@media (width<=600px){.legend[data-v-18b62d19]{display:none}}.logo[data-v-d22e2e29]{align-items:center;gap:8px;display:flex}.logo-icon[data-v-d22e2e29]{color:var(--text-primary);flex-shrink:0}.logo.small .logo-icon[data-v-d22e2e29]{width:26px;height:26px}.logo.large .logo-icon[data-v-d22e2e29]{width:58px;height:58px}.logo-wordmark[data-v-d22e2e29]{color:var(--text-primary);flex-shrink:0}.logo.small .logo-wordmark[data-v-d22e2e29]{height:16px}.logo.large .logo-wordmark[data-v-d22e2e29]{height:26px}.lang-flags[data-v-3ffbfd35]{flex-wrap:wrap;gap:1px;display:flex}.lang-btn[data-v-3ffbfd35]{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:2px 3px;font-size:20px;line-height:1;transition:opacity .15s}.lang-btn.active[data-v-3ffbfd35]{opacity:1;background:color-mix(in srgb, var(--text-primary) 10%, transparent)}.lang-btn[data-v-3ffbfd35]:hover{opacity:1}.share-backdrop[data-v-61818cca]{z-index:2800;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.share-card[data-v-61818cca]{background:var(--bg-panel);color:var(--text-primary);border-radius:14px;width:100%;max-width:400px;padding:20px 24px;box-shadow:0 8px 32px #00000040}.share-header[data-v-61818cca]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.share-title[data-v-61818cca]{font-size:16px;font-weight:700}.share-close[data-v-61818cca]{color:var(--text-hint);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:18px}.share-close[data-v-61818cca]:hover{color:var(--text-primary)}.share-options[data-v-61818cca]{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.share-option[data-v-61818cca]{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.share-option.disabled[data-v-61818cca]{opacity:.4;cursor:default}.share-detail[data-v-61818cca]{color:var(--text-hint);font-size:11px}.share-option input[type=checkbox][data-v-61818cca]{accent-color:#9b59b6;width:16px;height:16px}.share-url[data-v-61818cca]{background:color-mix(in srgb, var(--text-primary) 6%, transparent);word-break:break-all;color:var(--text-secondary);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-family:monospace;font-size:12px}.share-actions[data-v-61818cca]{gap:8px;display:flex}.share-action-btn[data-v-61818cca]{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-family:inherit;font-size:13px;font-weight:600}.share-action-btn.copy[data-v-61818cca]{color:#fff;background:#9b59b6}.share-action-btn.copy[data-v-61818cca]:hover{background:#8e44ad}.share-action-btn.native[data-v-61818cca]{background:color-mix(in srgb, var(--text-primary) 10%, transparent);color:var(--text-primary)}.share-action-btn.native[data-v-61818cca]:hover{background:color-mix(in srgb, var(--text-primary) 15%, transparent)}.fade-enter-active[data-v-61818cca],.fade-leave-active[data-v-61818cca]{transition:opacity .2s}.fade-enter-from[data-v-61818cca],.fade-leave-to[data-v-61818cca]{opacity:0}.info-panel[data-v-9b04a1a6]{z-index:1000;background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;max-width:300px;padding:16px 20px 10px;font-size:13px;line-height:1.6;position:absolute;top:12px;right:12px;box-shadow:0 2px 16px #0000001f}.panel-langs[data-v-9b04a1a6]{margin:4px 0 8px}.selected-row[data-v-9b04a1a6]{justify-content:flex-end;align-items:center;gap:6px;margin-top:6px;display:flex}.selected[data-v-9b04a1a6]{color:var(--text-primary);opacity:.7;font-size:10px;font-weight:600}.share-btn[data-v-9b04a1a6]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:color .15s;display:flex}.share-btn[data-v-9b04a1a6]:hover{color:var(--text-primary)}@media (width<=600px){.info-panel[data-v-9b04a1a6]{border-radius:16px 16px 0 0;max-width:none;padding:12px 16px 10px;inset:auto 0 0;box-shadow:0 -2px 16px #0000001f}.selected-row[data-v-9b04a1a6]{justify-content:center}}.mode-toggles[data-v-f32cc270]{flex-direction:column;gap:6px;margin-top:10px;display:flex}.mode-card[data-v-f32cc270]{border:2px solid var(--border-color);background:var(--bg-panel);cursor:pointer;--mode-color:#999;border-radius:8px;flex-direction:column;align-items:flex-start;padding:8px 12px;transition:all .15s;display:flex}.mode-card.active[data-v-f32cc270]{background:color-mix(in srgb, var(--mode-color) 10%, var(--bg-panel))}.mode-card[data-v-f32cc270]:not(.active){opacity:.4}.mode-card[data-v-f32cc270]:disabled{cursor:wait}.mode-card-header[data-v-f32cc270]{align-items:center;gap:6px;margin-bottom:6px;display:flex}.mode-checkbox[data-v-f32cc270]{box-sizing:border-box;border:2px solid #bbb;border-radius:4px;flex-shrink:0;width:16px;height:16px;transition:all .15s;position:relative}.mode-checkbox.checked[data-v-f32cc270]{background:var(--mode-color);border-color:var(--mode-color)}.mode-checkbox.checked[data-v-f32cc270]:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.mode-card-label[data-v-f32cc270]{color:var(--text-secondary);font-size:12px;font-weight:700}.mode-card.active .mode-card-label[data-v-f32cc270]{color:var(--mode-color)}.mode-card-icons[data-v-f32cc270]{flex-wrap:nowrap;align-items:flex-start;gap:8px;margin-left:0;display:flex}.mode-icon-wrap[data-v-f32cc270]{flex-direction:column;align-items:center;gap:1px;min-width:30px;display:flex}.mode-icon-emoji[data-v-f32cc270]{filter:grayscale();opacity:.5;font-size:22px;line-height:1;transition:all .15s}.mode-card.active .mode-icon-emoji[data-v-f32cc270]{filter:none;opacity:1}.mode-icon-name[data-v-f32cc270]{color:var(--text-hint);white-space:nowrap;letter-spacing:-.3px;font-size:9px}.mode-card.active .mode-icon-name[data-v-f32cc270]{color:var(--text-secondary)}@media (width<=600px){.mode-toggles[data-v-f32cc270]{flex-direction:row;justify-content:center;width:100%}.mode-card[data-v-f32cc270]{flex-shrink:0;min-width:0;padding:6px 10px}.mode-card-icons[data-v-f32cc270]{gap:3px;margin-left:0}.mode-icon-wrap[data-v-f32cc270]{min-width:20px}.mode-icon-name[data-v-f32cc270]{display:none}.mode-icon-emoji[data-v-f32cc270]{font-size:18px}}.tutorial-overlay[data-v-6250921c]{z-index:2900;cursor:pointer;width:100%;height:100%;position:fixed;top:0;left:0}.tutorial-mask[data-v-6250921c]{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.cutout-rect[data-v-6250921c]{transition:x .25s,y .25s,width .25s,height .25s}.tutorial-tooltip[data-v-6250921c]{background:var(--bg-panel);color:var(--text-primary);cursor:default;border-radius:12px;max-width:320px;padding:16px 20px;transition:opacity .15s;box-shadow:0 8px 32px #0000004d}.tutorial-text[data-v-6250921c]{margin-bottom:12px;font-size:14px;line-height:1.5}.tutorial-actions[data-v-6250921c]{justify-content:space-between;align-items:center;gap:8px;display:flex}.tutorial-nav[data-v-6250921c]{gap:6px;display:flex}.tutorial-btn[data-v-6250921c]{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600}.tutorial-btn.skip[data-v-6250921c]{color:var(--text-hint);background:0 0}.tutorial-btn.skip[data-v-6250921c]:hover{color:var(--text-primary)}.tutorial-btn.prev[data-v-6250921c]{background:color-mix(in srgb, var(--text-primary) 8%, transparent);color:var(--text-secondary)}.tutorial-btn.prev[data-v-6250921c]:hover{color:var(--text-primary)}.tutorial-btn.next[data-v-6250921c]{color:#fff;background:#9b59b6}.tutorial-btn.next[data-v-6250921c]:hover{background:#8e44ad}.tooltip-hidden[data-v-6250921c]{opacity:0}.tutorial-dots[data-v-6250921c]{justify-content:center;gap:6px;margin-top:10px;display:flex}.dot[data-v-6250921c]{background:var(--text-hint);opacity:.4;border-radius:50%;width:6px;height:6px}.dot.active[data-v-6250921c]{opacity:1;background:#9b59b6}.fade-enter-active[data-v-6250921c],.fade-leave-active[data-v-6250921c]{transition:opacity .3s}.fade-enter-from[data-v-6250921c],.fade-leave-to[data-v-6250921c]{opacity:0}.intro-overlay[data-v-5c11c72f]{z-index:3000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.intro-card[data-v-5c11c72f]{background:var(--bg-panel);color:var(--text-primary);border-radius:16px;max-width:520px;max-height:85vh;padding:32px 36px;overflow-y:auto;box-shadow:0 8px 40px #0000004d}h2[data-v-5c11c72f]{margin:0;font-size:24px}.logo[data-v-5c11c72f]{margin-bottom:6px}.intro-langs[data-v-5c11c72f]{margin-bottom:12px}.section[data-v-5c11c72f]{margin-bottom:16px}.section h3[data-v-5c11c72f]{color:var(--text-secondary);margin:0 0 6px;font-size:14px;font-weight:700}.section p[data-v-5c11c72f],.section li[data-v-5c11c72f]{color:var(--text-primary);font-size:13px;line-height:1.6}.section ul[data-v-5c11c72f]{margin:0;padding-left:18px}.section li[data-v-5c11c72f]{margin-bottom:4px}.intro-buttons[data-v-5c11c72f]{flex-direction:column;gap:8px;margin-top:20px;display:flex}.intro-close[data-v-5c11c72f]{cursor:pointer;border:none;border-radius:10px;width:100%;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s}.intro-close.primary[data-v-5c11c72f]{color:#fff;background:#9b59b6}.intro-close.primary[data-v-5c11c72f]:hover{background:#8e44ad}.intro-close.secondary[data-v-5c11c72f]{color:var(--text-hint);background:0 0;margin-top:0}.intro-close.secondary[data-v-5c11c72f]:hover{color:var(--text-primary)}.privacy-note[data-v-5c11c72f]{text-align:center;color:var(--text-hint);margin-top:10px;font-size:11px}.fade-enter-active[data-v-5c11c72f],.fade-leave-active[data-v-5c11c72f]{transition:opacity .25s}.fade-enter-from[data-v-5c11c72f],.fade-leave-to[data-v-5c11c72f]{opacity:0}@media (width<=600px){.intro-overlay[data-v-5c11c72f]{padding:10px}.intro-card[data-v-5c11c72f]{max-height:95vh;padding:20px 24px}.section p[data-v-5c11c72f]{line-height:1.3}.intro-close[data-v-5c11c72f]{margin-top:0}}.stop-search[data-v-6b17e8db]{margin:8px 0;position:relative}.search-input-wrap[data-v-6b17e8db]{background:var(--bg-panel);border:1.5px solid var(--border-color);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;display:flex}.search-icon[data-v-6b17e8db]{opacity:.5;font-size:14px}input[data-v-6b17e8db]{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}input[data-v-6b17e8db]::placeholder{color:var(--text-hint)}.search-results[data-v-6b17e8db]{background:var(--bg-panel);border:1.5px solid var(--border-color);z-index:10;border-radius:8px;flex-direction:column-reverse;max-height:300px;margin-bottom:4px;display:flex;position:absolute;bottom:100%;left:0;right:0;overflow:hidden auto;box-shadow:0 -4px 16px #00000026}.search-result[data-v-6b17e8db]{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;display:flex}.search-result[data-v-6b17e8db]:hover,.search-result.active[data-v-6b17e8db]{background:color-mix(in srgb, var(--text-primary) 8%, transparent)}.result-emoji[data-v-6b17e8db]{letter-spacing:3px;flex-shrink:0;font-size:16px}.result-name[data-v-6b17e8db]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
