:root{--text-primary:#1a1a2e;--text-secondary:#555770;--text-muted:#9ca3af;--bg:#fafafa;--card-bg:#fff;--border:#e8e8ee;--tag-bg:#f3f4f6;--shadow-md:0 8px 30px #00000012;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;font-size:16px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--text-primary:#e8e8f0;--text-secondary:#9ca3b8;--text-muted:#6b7280;--bg:#0f1017;--card-bg:#181920;--border:#2a2b36;--tag-bg:#22232e;--shadow-md:0 8px 30px #00000040}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);margin:0}#app{width:100%}html{scroll-behavior:smooth}::selection{color:inherit;background:#667eea33}.md-info,.md-warning,.md-success,.md-danger{border-left:4px solid;border-radius:6px;margin:1em 0;padding:12px 16px;line-height:1.7}.md-info{color:#1e40af;background:#eff6ff;border-left-color:#3b82f6}.md-warning{color:#92400e;background:#fffbeb;border-left-color:#f59e0b}.md-success{color:#065f46;background:#ecfdf5;border-left-color:#10b981}.md-danger{color:#991b1b;background:#fef2f2;border-left-color:#ef4444}.markdown-body table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px}.markdown-body th,.markdown-body td{text-align:left;border:1px solid #e2e8f0;padding:8px 12px}.markdown-body th{background:#f1f5f9;font-weight:600}.markdown-body tr:nth-child(2n){background:#f8fafc}.markdown-body pre{border-radius:8px;margin:1em 0;overflow-x:auto}.markdown-body pre.hljs{background:#f6f8fa;padding:16px}.markdown-body pre code,.markdown-body pre.hljs code{color:inherit;background:0 0;padding:0;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6}.markdown-body code{color:#e11d48;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.875em}.markdown-body blockquote{color:#475569;background:#f1f5f9;border-left:4px solid #667eea;border-radius:0 6px 6px 0;margin:.8em 0;padding:.5em 1em}.markdown-body h1{border-bottom:1px solid #e2e8f0;margin:.8em 0 .4em;padding-bottom:.3em;font-size:1.8em;font-weight:700}.markdown-body h2{border-bottom:1px solid #e2e8f0;margin:.8em 0 .4em;padding-bottom:.2em;font-size:1.5em;font-weight:700}.markdown-body h3{margin:.6em 0 .3em;font-size:1.25em;font-weight:600}.markdown-body h4{margin:.5em 0 .2em;font-size:1.1em;font-weight:600}.markdown-body h5,.markdown-body h6{color:#64748b;margin:.5em 0 .2em;font-size:1em;font-weight:600}.markdown-body p{margin:.6em 0}.markdown-body a{color:#667eea;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body img{border-radius:6px;max-width:100%}.markdown-body ul,.markdown-body ol{margin:.6em 0;padding-left:1.5em}.markdown-body li{margin:.3em 0}.markdown-body hr{border:none;border-top:1px solid #e2e8f0;margin:1.5em 0}.markdown-body mark{background:#fef08a;border-radius:2px;padding:1px 4px}.markdown-body ins{-webkit-text-decoration:underline #667eea;text-decoration:underline #667eea}.markdown-body .footnotes{color:#64748b;border-top:1px solid #e2e8f0;margin-top:2em;padding-top:1em;font-size:.85em}.markdown-body dl{margin:.8em 0}.markdown-body dt{margin-top:.5em;font-weight:600}.markdown-body dd{color:#475569;margin-left:1.5em}.markdown-body abbr{cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.toast-container[data-v-21a0b9b5]{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast-item[data-v-21a0b9b5]{pointer-events:auto;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;border:1px solid #0000000a;border-radius:12px;align-items:center;gap:10px;min-width:240px;max-width:400px;padding:14px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f}.toast-item.success[data-v-21a0b9b5]{border-left:3px solid #10b981}.toast-item.success .toast-icon[data-v-21a0b9b5]{color:#10b981}.toast-item.error[data-v-21a0b9b5]{border-left:3px solid #ef4444}.toast-item.error .toast-icon[data-v-21a0b9b5]{color:#ef4444}.toast-item.warning[data-v-21a0b9b5]{border-left:3px solid #f59e0b}.toast-item.warning .toast-icon[data-v-21a0b9b5]{color:#f59e0b}.toast-item.info[data-v-21a0b9b5]{border-left:3px solid #667eea}.toast-item.info .toast-icon[data-v-21a0b9b5]{color:#667eea}.toast-icon[data-v-21a0b9b5]{flex-shrink:0;align-items:center;display:flex}.toast-text[data-v-21a0b9b5]{color:#1e293b;font-size:14px;font-weight:500;line-height:1.4}.toast-progress[data-v-21a0b9b5]{opacity:.3;transform-origin:0;width:100%;height:3px;animation:linear forwards progress-shrink-21a0b9b5;position:absolute;bottom:0;left:0}.toast-item.success .toast-progress[data-v-21a0b9b5]{background:#10b981}.toast-item.error .toast-progress[data-v-21a0b9b5]{background:#ef4444}.toast-item.warning .toast-progress[data-v-21a0b9b5]{background:#f59e0b}.toast-item.info .toast-progress[data-v-21a0b9b5]{background:#667eea}@keyframes progress-shrink-21a0b9b5{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-active[data-v-21a0b9b5]{transition:all .35s cubic-bezier(.21,1.02,.73,1)}.toast-leave-active[data-v-21a0b9b5]{transition:all .25s cubic-bezier(.06,.71,.55,1)}.toast-enter-from[data-v-21a0b9b5]{opacity:0;transform:translateY(-20px)scale(.9)}.toast-leave-to[data-v-21a0b9b5]{opacity:0;transform:translateY(-10px)scale(.95)}.toast-move[data-v-21a0b9b5]{transition:transform .3s}@media (prefers-color-scheme:dark){.toast-item[data-v-21a0b9b5]{background:#1e293b;border-color:#ffffff0f;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.toast-text[data-v-21a0b9b5]{color:#f1f5f9}}.confirm-overlay[data-v-e4fa5a1f]{z-index:10000;-webkit-backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog[data-v-e4fa5a1f]{text-align:center;background:#fff;border-radius:16px;width:380px;max-width:90vw;padding:32px;box-shadow:0 20px 60px #00000026,0 4px 16px #00000014}.confirm-dialog-icon[data-v-e4fa5a1f]{margin-bottom:16px}.icon-circle[data-v-e4fa5a1f]{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.icon-circle.danger[data-v-e4fa5a1f]{color:#ef4444;background:#ef44441a}.icon-circle.warning[data-v-e4fa5a1f]{color:#f59e0b;background:#f59e0b1a}.icon-circle.info[data-v-e4fa5a1f]{color:#667eea;background:#667eea1a}.confirm-dialog-title[data-v-e4fa5a1f]{color:#1e293b;margin:0 0 8px;font-size:18px;font-weight:600}.confirm-dialog-message[data-v-e4fa5a1f]{color:#64748b;margin:0 0 24px;font-size:14px;line-height:1.6}.confirm-dialog-actions[data-v-e4fa5a1f]{justify-content:center;gap:12px;display:flex}.btn-cancel[data-v-e4fa5a1f],.btn-confirm[data-v-e4fa5a1f]{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-cancel[data-v-e4fa5a1f]{color:#475569;background:#f1f5f9}.btn-cancel[data-v-e4fa5a1f]:hover:not(:disabled){background:#e2e8f0}.btn-confirm.danger[data-v-e4fa5a1f]{color:#fff;background:#ef4444}.btn-confirm.danger[data-v-e4fa5a1f]:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef44444d}.btn-confirm.warning[data-v-e4fa5a1f]{color:#fff;background:#f59e0b}.btn-confirm.warning[data-v-e4fa5a1f]:hover:not(:disabled){background:#d97706;box-shadow:0 4px 12px #f59e0b4d}.btn-confirm.info[data-v-e4fa5a1f]{color:#fff;background:#667eea}.btn-confirm.info[data-v-e4fa5a1f]:hover:not(:disabled){background:#5a6fd6;box-shadow:0 4px 12px #667eea4d}.btn-confirm[data-v-e4fa5a1f]:disabled,.btn-cancel[data-v-e4fa5a1f]:disabled{opacity:.6;cursor:not-allowed}.btn-spinner[data-v-e4fa5a1f]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin-e4fa5a1f}@keyframes spin-e4fa5a1f{to{transform:rotate(360deg)}}.confirm-dialog-enter-active[data-v-e4fa5a1f]{transition:all .3s cubic-bezier(.21,1.02,.73,1)}.confirm-dialog-leave-active[data-v-e4fa5a1f]{transition:all .2s ease-in}.confirm-dialog-enter-from[data-v-e4fa5a1f]{opacity:0}.confirm-dialog-enter-from .confirm-dialog[data-v-e4fa5a1f]{transform:scale(.9)translateY(10px)}.confirm-dialog-leave-to[data-v-e4fa5a1f]{opacity:0}.confirm-dialog-leave-to .confirm-dialog[data-v-e4fa5a1f]{transform:scale(.95)}@media (prefers-color-scheme:dark){.confirm-overlay[data-v-e4fa5a1f]{background:#0009}.confirm-dialog[data-v-e4fa5a1f]{background:#1e293b;box-shadow:0 20px 60px #0006}.confirm-dialog-title[data-v-e4fa5a1f]{color:#f1f5f9}.confirm-dialog-message[data-v-e4fa5a1f]{color:#94a3b8}.btn-cancel[data-v-e4fa5a1f]{color:#cbd5e1;background:#334155}.btn-cancel[data-v-e4fa5a1f]:hover:not(:disabled){background:#475569}}.layout[data-v-6cf98261]{flex-direction:column;min-height:100vh;display:flex}.navbar[data-v-6cf98261]{z-index:100;-webkit-backdrop-filter:blur(12px);background:#fffc;border-bottom:1px solid #0000;transition:all .3s;position:sticky;top:0}.navbar.scrolled[data-v-6cf98261]{border-bottom-color:var(--border);box-shadow:0 1px 8px #0000000a}.navbar-inner[data-v-6cf98261]{justify-content:space-between;align-items:center;max-width:960px;height:64px;margin:0 auto;padding:0 24px;display:flex}.logo[data-v-6cf98261]{color:var(--text-primary);align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.logo-icon[data-v-6cf98261]{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px}.nav-links[data-v-6cf98261]{align-items:center;gap:4px;display:flex}.nav-link[data-v-6cf98261]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.nav-link[data-v-6cf98261]:hover{color:var(--text-primary);background:var(--tag-bg)}.nav-link.active[data-v-6cf98261]{color:#667eea;background:#667eea14}.github-link[data-v-6cf98261]{color:var(--text-secondary);align-items:center;margin-right:16px;transition:color .2s,transform .2s;display:flex}.github-link[data-v-6cf98261]:hover{color:var(--text-primary);transform:scale(1.1)}.desktop-auth[data-v-6cf98261]{align-items:center;display:flex}.login-btn[data-v-6cf98261]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:8px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.login-btn[data-v-6cf98261]:hover{opacity:.9;box-shadow:0 2px 12px #667eea4d}.user-area[data-v-6cf98261]{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;transition:background .2s;display:flex;position:relative}.user-area[data-v-6cf98261]:hover{background:var(--tag-bg)}.user-avatar[data-v-6cf98261]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.user-avatar-img[data-v-6cf98261]{object-fit:cover}.user-name[data-v-6cf98261]{color:var(--text-primary);font-size:14px;font-weight:500}.chevron[data-v-6cf98261]{color:var(--text-muted);transition:transform .2s}.chevron.flipped[data-v-6cf98261]{transform:rotate(180deg)}.user-dropdown[data-v-6cf98261]{background:var(--card-bg);border:1px solid var(--border);z-index:200;border-radius:12px;width:220px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #0000001a}.dropdown-header[data-v-6cf98261]{align-items:center;gap:10px;padding:8px;display:flex}.dropdown-avatar[data-v-6cf98261]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:600;display:flex}.dropdown-avatar-img[data-v-6cf98261]{object-fit:cover}.dropdown-name[data-v-6cf98261]{color:var(--text-primary);font-size:14px;font-weight:600}.dropdown-role[data-v-6cf98261]{color:var(--text-muted);font-size:12px}.dropdown-divider[data-v-6cf98261]{background:var(--border);height:1px;margin:4px 0}.dropdown-item[data-v-6cf98261]{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 8px;font-size:14px;text-decoration:none;transition:background .15s;display:flex}.dropdown-item[data-v-6cf98261]:hover{background:var(--tag-bg)}.dropdown-item.danger[data-v-6cf98261]{color:#e63946}.dropdown-item.danger[data-v-6cf98261]:hover{background:#e639460f}.dropdown-enter-active[data-v-6cf98261]{transition:all .2s ease-out}.dropdown-leave-active[data-v-6cf98261]{transition:all .15s ease-in}.dropdown-enter-from[data-v-6cf98261],.dropdown-leave-to[data-v-6cf98261]{opacity:0;transform:translateY(-6px)scale(.96)}.mobile-auth[data-v-6cf98261]{display:none}.menu-toggle[data-v-6cf98261]{cursor:pointer;background:0 0;border:none;width:32px;height:32px;display:none;position:relative}.bar[data-v-6cf98261],.bar[data-v-6cf98261]:before,.bar[data-v-6cf98261]:after{background:var(--text-primary);border-radius:2px;width:20px;height:2px;transition:all .3s;display:block;position:absolute;left:6px}.bar[data-v-6cf98261]{top:15px}.bar[data-v-6cf98261]:before{content:"";top:-6px}.bar[data-v-6cf98261]:after{content:"";top:6px}.bar.open[data-v-6cf98261]{background:0 0}.bar.open[data-v-6cf98261]:before{top:0;transform:rotate(45deg)}.bar.open[data-v-6cf98261]:after{top:0;transform:rotate(-45deg)}.main-content[data-v-6cf98261]{flex:1}.container[data-v-6cf98261]{max-width:960px;margin:0 auto;padding:0 24px}.footer[data-v-6cf98261]{border-top:1px solid var(--border);margin-top:48px;padding:32px 0}.footer-inner[data-v-6cf98261]{justify-content:space-between;align-items:center;display:flex}.footer p[data-v-6cf98261]{color:var(--text-muted);font-size:14px}.footer-links[data-v-6cf98261]{gap:20px;display:flex}.footer-links a[data-v-6cf98261]{color:var(--text-secondary);font-size:14px;text-decoration:none;transition:color .2s}.footer-links a[data-v-6cf98261]:hover{color:#667eea}@media (prefers-color-scheme:dark){.navbar[data-v-6cf98261]{background:#0f1017d9}.navbar.scrolled[data-v-6cf98261]{box-shadow:0 1px 8px #0003}.user-dropdown[data-v-6cf98261]{box-shadow:0 8px 32px #00000059}}@media (width<=768px){.desktop-auth[data-v-6cf98261]{display:none}.menu-toggle[data-v-6cf98261]{display:block}.nav-links[data-v-6cf98261]{background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;gap:0;padding:8px 16px;display:none;position:absolute;top:64px;left:0;right:0}.nav-links.open[data-v-6cf98261]{display:flex}.nav-link[data-v-6cf98261]{border-radius:8px;padding:12px 16px}.mobile-auth[data-v-6cf98261]{border-top:1px solid var(--border);flex-direction:column;margin-top:4px;padding-top:8px;display:flex}.mobile-user-info[data-v-6cf98261]{color:var(--text-primary);align-items:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.mobile-avatar[data-v-6cf98261]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.mobile-avatar-img[data-v-6cf98261]{object-fit:cover}.logout-link[data-v-6cf98261]{color:#e63946!important}.footer-inner[data-v-6cf98261]{text-align:center;flex-direction:column;gap:12px}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.visitor-map-widget[data-v-a4456bc9]{position:relative}.widget-body[data-v-a4456bc9]{flex-direction:column;gap:16px;display:flex}.layout-horizontal .widget-body[data-v-a4456bc9]{flex-direction:row;align-items:stretch;gap:20px}.layout-horizontal .map-wrapper[data-v-a4456bc9]{flex:1;min-width:0;margin-bottom:0}.layout-horizontal .city-ranking[data-v-a4456bc9]{flex-shrink:0;width:280px}@media (width<=768px){.layout-horizontal .widget-body[data-v-a4456bc9]{flex-direction:column}.layout-horizontal .city-ranking[data-v-a4456bc9]{width:100%}}.widget-header[data-v-a4456bc9]{margin-bottom:12px}.header-stats[data-v-a4456bc9]{gap:16px;display:flex}.stat-item[data-v-a4456bc9]{color:var(--text-secondary);font-size:14px}.stat-item strong[data-v-a4456bc9]{color:#667eea;font-weight:600}.map-wrapper[data-v-a4456bc9]{border:1px solid var(--border);border-radius:12px;margin-bottom:16px;position:relative;overflow:hidden}.map-container[data-v-a4456bc9]{width:100%}.search-box[data-v-a4456bc9]{z-index:10;gap:4px;display:flex;position:absolute;top:12px;left:12px}.search-input[data-v-a4456bc9]{background:var(--card-bg);width:200px;color:var(--text-primary);border:none;border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:width .3s;box-shadow:0 2px 8px #0000001a}.search-input[data-v-a4456bc9]:focus{width:240px}.search-btn[data-v-a4456bc9]{cursor:pointer;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:opacity .2s;box-shadow:0 2px 8px #0000001a}.search-btn[data-v-a4456bc9]:hover{opacity:.9}.search-results[data-v-a4456bc9]{background:var(--card-bg);z-index:10;border-radius:10px;width:280px;max-height:240px;position:absolute;top:48px;left:12px;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.search-result-item[data-v-a4456bc9]{cursor:pointer;border-bottom:1px solid var(--border);padding:10px 14px;transition:background .15s}.search-result-item[data-v-a4456bc9]:last-child{border-bottom:none}.search-result-item[data-v-a4456bc9]:hover{background:#667eea0f}.result-name[data-v-a4456bc9]{color:var(--text-primary);font-size:13px;font-weight:500;display:block}.result-address[data-v-a4456bc9]{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.clear-item[data-v-a4456bc9]{text-align:center;color:var(--text-muted);font-size:12px;font-weight:500}.clear-item[data-v-a4456bc9]:hover{color:#e74c3c}.map-controls[data-v-a4456bc9]{background:var(--card-bg);z-index:10;border-radius:8px;gap:4px;padding:4px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #0000001a}.control-btn[data-v-a4456bc9]{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s}.control-btn.active[data-v-a4456bc9]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.control-btn[data-v-a4456bc9]:not(.active):hover{color:#667eea;background:#667eea0f}.city-ranking[data-v-a4456bc9]{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px}.city-ranking h3[data-v-a4456bc9]{color:var(--text-primary);margin:0 0 16px;font-size:16px;font-weight:600}.ranking-list[data-v-a4456bc9]{flex-direction:column;gap:10px;display:flex}.ranking-item[data-v-a4456bc9]{align-items:center;gap:12px;display:flex}.rank[data-v-a4456bc9]{width:24px;height:24px;color:var(--text-muted);background:#00000008;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.rank.top3[data-v-a4456bc9]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.city-name[data-v-a4456bc9]{width:80px;color:var(--text-primary);flex-shrink:0;font-size:14px;font-weight:500}.bar-wrapper[data-v-a4456bc9]{background:#0000000a;border-radius:4px;flex:1;height:8px;overflow:hidden}.bar[data-v-a4456bc9]{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .6s}.count[data-v-a4456bc9]{color:var(--text-muted);text-align:right;flex-shrink:0;width:36px;font-size:13px;font-weight:500}.loading-overlay[data-v-a4456bc9]{text-align:center;color:var(--text-muted);padding:48px}.spinner[data-v-a4456bc9]{border:3px solid var(--border);border-top-color:#667eea;border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite spin-a4456bc9}@keyframes spin-a4456bc9{to{transform:rotate(360deg)}}.empty-state[data-v-a4456bc9]{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:14px}.amap-marker-dot{background:#667eeacc;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 4px #0003}.amap-search-marker{background:#e74c3c;border:3px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 8px #e74c3c66}.section[data-v-c794e70d]{padding:48px 0}.section-header[data-v-c794e70d]{align-items:center;gap:16px;margin-bottom:32px;display:flex}.section-header h2[data-v-c794e70d]{color:var(--text-primary);white-space:nowrap;font-size:24px;font-weight:700}.section-line[data-v-c794e70d]{background:var(--border);flex:1;height:1px}.tip-trigger[data-v-c794e70d]{cursor:help;align-items:center;display:inline-flex;position:relative}.tip-icon[data-v-c794e70d]{color:var(--text-muted);transition:color .2s}.tip-trigger:hover .tip-icon[data-v-c794e70d]{color:#667eea}.tip-tooltip[data-v-c794e70d]{background:var(--card-bg);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;opacity:0;visibility:hidden;z-index:100;pointer-events:none;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5;transition:opacity .2s,visibility .2s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}.tip-trigger:hover .tip-tooltip[data-v-c794e70d]{opacity:1;visibility:visible}.view-all[data-v-c794e70d]{color:#667eea;white-space:nowrap;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .2s}.view-all[data-v-c794e70d]:hover{opacity:.8}.posts-loading[data-v-c794e70d],.posts-empty[data-v-c794e70d]{text-align:center;color:var(--text-muted);padding:48px 0;font-size:15px}.post-grid[data-v-c794e70d]{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.post-card[data-v-c794e70d]{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:24px;transition:all .3s}.post-card[data-v-c794e70d]:hover{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-4px)}.post-card-header[data-v-c794e70d]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.post-tag[data-v-c794e70d]{color:#fff;border-radius:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.post-author[data-v-c794e70d]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:12px;font-weight:500;overflow:hidden}.post-title[data-v-c794e70d]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:10px;font-size:17px;font-weight:600;line-height:1.5;overflow:hidden}.post-excerpt[data-v-c794e70d]{color:var(--text-secondary);max-height:4.2em;margin-bottom:16px;font-size:14px;line-height:1.7;position:relative;overflow:hidden}.post-excerpt[data-v-c794e70d]:after{content:"";background:linear-gradient(transparent, var(--card-bg));pointer-events:none;width:100%;height:1.6em;position:absolute;bottom:0;right:0}.post-excerpt[data-v-c794e70d] p{color:var(--text-secondary);margin:0 0 4px;font-size:14px;line-height:1.7}.post-excerpt[data-v-c794e70d] h1,.post-excerpt[data-v-c794e70d] h2,.post-excerpt[data-v-c794e70d] h3,.post-excerpt[data-v-c794e70d] h4,.post-excerpt[data-v-c794e70d] h5,.post-excerpt[data-v-c794e70d] h6{color:var(--text-primary);border:none;margin:0 0 4px;padding:0;font-size:14px}.post-excerpt[data-v-c794e70d] img,.post-excerpt[data-v-c794e70d] table{display:none}.post-meta[data-v-c794e70d]{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.view-count[data-v-c794e70d],.uv-count[data-v-c794e70d]{align-items:center;gap:3px;display:flex}.ip-chart-wrapper[data-v-c794e70d]{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px}.ip-chart[data-v-c794e70d]{width:100%;height:380px}@media (width<=768px){.post-grid[data-v-c794e70d]{grid-template-columns:1fr}.ip-chart[data-v-c794e70d]{height:300px}}
