:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}@media(min-width:1024px){body{display:flex;place-items:center}#app{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem}}.marker-view[data-v-13ed6f1e],.heatmap-view[data-v-ecda5be7]{display:none}.map-controls-container[data-v-20afd8de]{position:absolute;top:15px;right:15px;z-index:100;display:flex;flex-direction:column;gap:12px;max-width:320px}.control-panel[data-v-20afd8de]{background:#fffffffa;border-radius:10px;box-shadow:0 4px 12px #0003;padding:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.primary-controls[data-v-20afd8de]{display:flex;flex-direction:column;gap:8px;margin-top:200px}.control-btn[data-v-20afd8de]{width:100%;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px #00000026}.control-btn .icon[data-v-20afd8de]{font-size:18px}.control-btn[data-v-20afd8de]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.control-btn[data-v-20afd8de]:active{transform:translateY(0)}.control-btn.active[data-v-20afd8de]{background:linear-gradient(135deg,#e74c3c,#c0392b)}.fullscreen-btn[data-v-20afd8de]{background:linear-gradient(135deg,#2ecc71,#27ae60)}.fullscreen-btn.active[data-v-20afd8de]{background:linear-gradient(135deg,#3498db,#2980b9)}.view-toggle[data-v-20afd8de]{display:flex;gap:10px;padding:12px}.toggle-btn[data-v-20afd8de]{flex:1;padding:12px 16px;background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.toggle-btn .icon[data-v-20afd8de]{font-size:24px}.toggle-btn[data-v-20afd8de]:hover{border-color:#3498db;background:#f8f9fa;transform:scale(1.05)}.toggle-btn.active[data-v-20afd8de]{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-color:#3498db}.stats-panel[data-v-20afd8de]{font-size:14px}.panel-title[data-v-20afd8de]{margin:0 0 14px;font-size:16px;font-weight:700;color:#2c3e50;border-bottom:2px solid #ecf0f1;padding-bottom:10px;text-align:center}.stat-item[data-v-20afd8de]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f5f5f5}.stat-item[data-v-20afd8de]:last-child{border-bottom:none}.stat-label[data-v-20afd8de]{color:#7f8c8d;font-weight:600;font-size:13px}.stat-value[data-v-20afd8de]{color:#2c3e50;font-weight:700;font-size:14px}.mode-badge[data-v-20afd8de]{padding:5px 10px;border-radius:6px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.mode-badge.markers[data-v-20afd8de]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2}.mode-badge.heatmap[data-v-20afd8de]{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828}@media(min-width:1920px){.map-controls-container[data-v-20afd8de]{max-width:400px;top:20px;right:20px;gap:15px}.control-panel[data-v-20afd8de]{padding:20px;border-radius:12px}.control-btn[data-v-20afd8de]{padding:16px 20px;font-size:18px}.control-btn .icon[data-v-20afd8de]{font-size:24px}.toggle-btn[data-v-20afd8de]{padding:16px 20px;font-size:16px}.toggle-btn .icon[data-v-20afd8de]{font-size:32px}.panel-title[data-v-20afd8de]{font-size:20px}.stat-label[data-v-20afd8de]{font-size:16px}.stat-value[data-v-20afd8de]{font-size:18px}.mode-badge[data-v-20afd8de]{font-size:14px;padding:6px 12px}}@media(max-width:768px){.map-controls-container[data-v-20afd8de]{max-width:280px;top:10px;right:10px;gap:8px}.control-panel[data-v-20afd8de]{padding:12px}.control-btn[data-v-20afd8de]{padding:10px 12px;font-size:12px}.control-btn .icon[data-v-20afd8de]{font-size:16px}.toggle-btn[data-v-20afd8de]{padding:10px 12px;font-size:12px}.toggle-btn .icon[data-v-20afd8de]{font-size:20px}.panel-title[data-v-20afd8de]{font-size:14px}.stat-label[data-v-20afd8de],.stat-value[data-v-20afd8de]{font-size:12px}.mode-badge[data-v-20afd8de]{font-size:10px;padding:4px 8px}}.map-wrapper[data-v-e371a372]{position:relative;width:100%;height:100%;min-height:600px}.map-container[data-v-e371a372]{width:100%;height:100%;min-height:600px}.loading-overlay[data-v-e371a372],.error-overlay[data-v-e371a372]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff2;z-index:1000}.loading-spinner[data-v-e371a372]{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin-e371a372 1s linear infinite;margin-bottom:20px}@keyframes spin-e371a372{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay p[data-v-e371a372],.error-message[data-v-e371a372]{font-size:16px;color:#333;text-align:center}.error-message h3[data-v-e371a372]{color:#e74c3c;margin-bottom:10px}.retry-button[data-v-e371a372]{margin-top:20px;padding:10px 20px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.retry-button[data-v-e371a372]:hover{background:#2980b9}.debug-panel[data-v-9a6fa82e]{position:fixed;bottom:20px;left:20px;z-index:100;min-width:300px;max-width:350px;transition:all .3s ease}.debug-panel.collapsed[data-v-9a6fa82e]{min-width:auto}.debug-toggle[data-v-9a6fa82e]{width:100%;padding:12px 16px;background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #0003;transition:all .3s}.debug-toggle .icon[data-v-9a6fa82e]{font-size:18px}.debug-toggle[data-v-9a6fa82e]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.debug-content[data-v-9a6fa82e]{margin-top:10px;padding:20px;background:#fffffffa;border-radius:10px;box-shadow:0 4px 12px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:70vh;overflow-y:auto}.debug-title[data-v-9a6fa82e]{margin:0 0 20px;font-size:18px;font-weight:700;color:#2c3e50;text-align:center;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.control-group[data-v-9a6fa82e]{margin-bottom:16px}.control-group label[data-v-9a6fa82e]{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#2c3e50}.debug-input[data-v-9a6fa82e],.debug-select[data-v-9a6fa82e]{width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;transition:all .3s;background:#fff}.debug-input[data-v-9a6fa82e]:focus,.debug-select[data-v-9a6fa82e]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.hint[data-v-9a6fa82e]{display:block;margin-top:4px;font-size:12px;color:#7f8c8d}.button-group[data-v-9a6fa82e]{display:flex;gap:10px;margin-top:20px}.debug-btn[data-v-9a6fa82e]{flex:1;padding:12px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s}.debug-btn.primary[data-v-9a6fa82e]{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.debug-btn.secondary[data-v-9a6fa82e]{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff}.debug-btn.realtime[data-v-9a6fa82e]{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;flex:1}.debug-btn.realtime-burst[data-v-9a6fa82e]{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;flex:1}.debug-btn[data-v-9a6fa82e]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.presets-section[data-v-9a6fa82e]{margin-top:20px;padding-top:16px;border-top:2px solid #ecf0f1}.presets-title[data-v-9a6fa82e]{margin:0 0 12px;font-size:14px;font-weight:600;color:#2c3e50}.presets-grid[data-v-9a6fa82e]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset-btn[data-v-9a6fa82e]{padding:10px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .3s}.preset-btn[data-v-9a6fa82e]:hover{transform:scale(1.05);box-shadow:0 2px 6px #0003}.debug-info[data-v-9a6fa82e]{margin-top:16px;padding-top:16px;border-top:2px solid #ecf0f1}.info-text[data-v-9a6fa82e]{margin:0;font-size:12px;color:#7f8c8d;text-align:center;line-height:1.6}.info-text kbd[data-v-9a6fa82e]{background:#0000001a;padding:2px 6px;border-radius:3px;border:1px solid rgba(0,0,0,.2);font-family:monospace;font-size:11px}.debug-content[data-v-9a6fa82e]::-webkit-scrollbar{width:8px}.debug-content[data-v-9a6fa82e]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.debug-content[data-v-9a6fa82e]::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.debug-content[data-v-9a6fa82e]::-webkit-scrollbar-thumb:hover{background:#555}@media(min-width:1920px){.debug-panel[data-v-9a6fa82e]{min-width:350px;max-width:400px}.debug-toggle[data-v-9a6fa82e]{padding:14px 20px;font-size:16px}.debug-title[data-v-9a6fa82e]{font-size:20px}.control-group label[data-v-9a6fa82e]{font-size:15px}.debug-input[data-v-9a6fa82e],.debug-select[data-v-9a6fa82e]{padding:12px 14px;font-size:16px}.debug-btn[data-v-9a6fa82e]{padding:14px 18px;font-size:16px}}@media(max-width:768px){.debug-panel[data-v-9a6fa82e]{bottom:10px;left:10px;min-width:280px;max-width:calc(100vw - 20px)}.debug-toggle[data-v-9a6fa82e]{padding:10px 14px;font-size:13px}.debug-content[data-v-9a6fa82e]{padding:16px}.debug-title[data-v-9a6fa82e]{font-size:16px}.button-group[data-v-9a6fa82e]{flex-direction:column}.presets-grid[data-v-9a6fa82e]{grid-template-columns:1fr}}.user-location-panel[data-v-0edc1ec9]{position:fixed;top:40px;right:20px;z-index:101;min-width:300px;max-width:350px;background:#fffffffa;border-radius:10px;box-shadow:0 4px 12px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px;transition:all .3s ease}.panel-header[data-v-0edc1ec9]{margin-bottom:12px}.panel-header h3[data-v-0edc1ec9]{margin:0;font-size:16px;font-weight:600;color:#2c3e50;text-align:center;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.search-container[data-v-0edc1ec9]{position:relative}.search-input[data-v-0edc1ec9]{width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;transition:all .3s;background:#fff}.search-input[data-v-0edc1ec9]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.suggestions-list[data-v-0edc1ec9]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;max-height:300px;overflow-y:auto;box-shadow:0 4px 8px #0000001a;z-index:1000}.suggestion-item[data-v-0edc1ec9]{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f1f1f1;transition:background .2s;display:flex;flex-direction:column}.suggestion-item[data-v-0edc1ec9]:hover{background:#f8f9fa}.suggestion-item[data-v-0edc1ec9]:last-child{border-bottom:none}.suggestion-main[data-v-0edc1ec9]{font-size:14px;color:#2c3e50;font-weight:500}.suggestion-secondary[data-v-0edc1ec9]{font-size:12px;color:#6b7280;margin-top:2px}.no-results[data-v-0edc1ec9]{padding:12px;text-align:center;color:#6b7280;font-size:13px;background:#fff;border:1px solid #ddd;border-radius:6px;margin-top:4px}.current-location[data-v-0edc1ec9]{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px;background:#f0fdf4;border:1px solid #10B981;border-radius:6px}.location-info[data-v-0edc1ec9]{flex:1}.location-info strong[data-v-0edc1ec9]{display:block;color:#10b981;font-size:14px;margin-bottom:2px}.location-info span[data-v-0edc1ec9]{font-size:12px;color:#6b7280}.clear-btn[data-v-0edc1ec9]{padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;margin-left:8px}.clear-btn[data-v-0edc1ec9]:hover{background:#dc2626;transform:scale(1.05)}.help-text[data-v-0edc1ec9]{margin:8px 0 0;font-size:12px;color:#6b7280;text-align:center;line-height:1.4}.loading-state[data-v-0edc1ec9]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:8px;color:#6b7280;font-size:13px}.loading-spinner[data-v-0edc1ec9]{width:16px;height:16px;border:2px solid #f3f3f3;border-top:2px solid #10B981;border-radius:50%;animation:spin-0edc1ec9 .8s linear infinite}@keyframes spin-0edc1ec9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.suggestions-list[data-v-0edc1ec9]::-webkit-scrollbar{width:6px}.suggestions-list[data-v-0edc1ec9]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.suggestions-list[data-v-0edc1ec9]::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.suggestions-list[data-v-0edc1ec9]::-webkit-scrollbar-thumb:hover{background:#555}@media(min-width:1920px){.user-location-panel[data-v-0edc1ec9]{min-width:350px;max-width:400px}.panel-header h3[data-v-0edc1ec9]{font-size:18px}.search-input[data-v-0edc1ec9]{padding:12px 14px;font-size:16px}}@media(max-width:768px){.user-location-panel[data-v-0edc1ec9]{bottom:200px;left:10px;min-width:280px;max-width:calc(100vw - 20px)}.panel-header h3[data-v-0edc1ec9]{font-size:14px}.search-input[data-v-0edc1ec9]{padding:8px 10px;font-size:13px}}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;color:#2c3e50;background:#000;overflow:hidden}#app{width:100vw;height:100vh;position:relative;overflow:hidden}.app-main{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1;background:#000}.app-header{position:fixed;top:0;left:0;right:0;z-index:10;background:linear-gradient(135deg,#667eeaf2,#764ba2f2);color:#fff;padding:25px 30px;box-shadow:0 4px 12px #0000004d;transition:transform .3s ease-in-out,opacity .3s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header.header-visible{transform:translateY(0);opacity:1}.header-content{max-width:1400px;margin:0 auto}.app-header h1{font-size:36px;margin-bottom:10px;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}.subtitle{font-size:18px;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.2)}.warning-banner{position:fixed;top:100px;left:0;right:0;z-index:11;background:#fff3cdf2;border-bottom:2px solid #ffc107;padding:15px 30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.warning-content{max-width:1400px;margin:0 auto;display:flex;align-items:flex-start;gap:15px}.warning-icon{font-size:28px;flex-shrink:0}.warning-content strong{display:block;margin-bottom:5px;color:#856404;font-size:16px}.warning-content p{font-size:14px;color:#856404;margin:0}.warning-content code{background:#0000001a;padding:2px 8px;border-radius:3px;font-size:13px}.close-btn{margin-left:auto;background:none;border:none;font-size:32px;color:#856404;cursor:pointer;padding:0;line-height:1;flex-shrink:0}.close-btn:hover{opacity:.7}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#34495ef2;color:#fff;text-align:center;padding:20px;font-size:15px;box-shadow:0 -4px 12px #0000004d;transition:transform .3s ease-in-out,opacity .3s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-footer.footer-visible{transform:translateY(0);opacity:1}.app-footer p{margin:0 0 8px;opacity:.95}.keyboard-hints{font-size:13px;opacity:.8;margin-top:5px}.keyboard-hints kbd{background:#fff3;padding:3px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.3);font-family:monospace;font-size:12px;margin:0 2px}.error-state{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px;text-align:center;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-width:600px}.error-state h2{font-size:28px;margin-bottom:15px;color:#e67e22}.error-state p{font-size:18px;color:#7f8c8d;margin-bottom:25px}.setup-steps{text-align:left;background:#f8f9fa;padding:25px 35px;border-radius:8px;margin-bottom:25px;max-width:500px}.setup-steps li{margin:12px 0;color:#2c3e50;line-height:1.8;font-size:15px}.setup-steps code{background:#fff;padding:4px 10px;border-radius:4px;border:1px solid #e1e4e8;font-size:14px;color:#e83e8c}.help-link{display:inline-block;padding:14px 28px;background:#3498db;color:#fff;text-decoration:none;border-radius:8px;font-weight:500;font-size:16px;transition:background .3s}.help-link:hover{background:#2980b9}@media(min-width:1920px){.app-header h1{font-size:48px}.subtitle{font-size:24px}.app-footer{font-size:18px}.keyboard-hints{font-size:16px}}@media(max-width:768px){.app-header{padding:15px 20px}.app-header h1{font-size:24px}.subtitle{font-size:14px}.warning-content{flex-direction:column}.close-btn{align-self:flex-end}.app-footer{padding:15px;font-size:13px}.keyboard-hints{font-size:11px}.error-state{padding:30px;max-width:90%}.setup-steps{padding:15px 20px}}.item[data-v-fd0742eb]{margin-top:2rem;display:flex;position:relative}.details[data-v-fd0742eb]{flex:1;margin-left:1rem}i[data-v-fd0742eb]{display:flex;place-items:center;place-content:center;width:32px;height:32px;color:var(--color-text)}h3[data-v-fd0742eb]{font-size:1.2rem;font-weight:500;margin-bottom:.4rem;color:var(--color-heading)}@media(min-width:1024px){.item[data-v-fd0742eb]{margin-top:0;padding:.4rem 0 1rem calc(var(--section-gap) / 2)}i[data-v-fd0742eb]{top:calc(50% - 25px);left:-26px;position:absolute;border:1px solid var(--color-border);background:var(--color-background);border-radius:8px;width:50px;height:50px}.item[data-v-fd0742eb]:before{content:" ";border-left:1px solid var(--color-border);position:absolute;left:0;bottom:calc(50% + 25px);height:calc(50% - 25px)}.item[data-v-fd0742eb]:after{content:" ";border-left:1px solid var(--color-border);position:absolute;left:0;top:calc(50% + 25px);height:calc(50% - 25px)}.item[data-v-fd0742eb]:first-of-type:before{display:none}.item[data-v-fd0742eb]:last-of-type:after{display:none}}
