.site-copyright[data-v-add7faca]{width:100%;max-width:var(--content-page-max);text-align:center;box-sizing:border-box;border-top:1px solid var(--border);color:var(--text);opacity:.65;margin-top:auto;margin-left:auto;margin-right:auto;padding:32px 24px 40px;font-size:13px;line-height:1.6}.copyright-line[data-v-add7faca]{margin:0}.copyright-line+.copyright-line[data-v-add7faca]{margin-top:4px}.site-copyright a[data-v-add7faca]{color:var(--pink-600);text-decoration:none}.site-copyright a[data-v-add7faca]:hover{text-decoration:underline}#app-root[data-v-540605d5]{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.nav[data-v-540605d5]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:300;background:#ffffffd9;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.brand[data-v-540605d5]{color:var(--pink-700);align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand-logo[data-v-540605d5]{object-fit:contain;flex-shrink:0;width:32px;height:32px}.nav-links[data-v-540605d5]{gap:8px;display:flex}.nav-links a[data-v-540605d5]{color:var(--text);border-radius:999px;padding:6px 14px;font-size:14px;text-decoration:none;transition:background .15s,color .15s}.nav-links a[data-v-540605d5]:hover{background:var(--pink-100);color:var(--pink-700)}.nav-links a.router-link-active[data-v-540605d5]{background:var(--pink-200);color:var(--pink-800);font-weight:500}.verify-link[data-v-540605d5]{color:#b45309!important;background:#fef3c7!important}.pending-sites-link[data-v-540605d5]{align-items:center;gap:6px;font-weight:500;display:inline-flex;color:#c2410c!important;background:#fff7ed!important}.nav-count-badge[data-v-540605d5]{color:#fff;text-align:center;background:#ea580c;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.register-link.router-link-active[data-v-540605d5],.register-link[data-v-540605d5]:hover{background:linear-gradient(135deg, var(--pink-300), var(--pink-500))!important;color:#fff!important}.user-chip[data-v-540605d5]{background:var(--pink-50);border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.user-avatar[data-v-540605d5]{object-fit:cover;border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:28px;height:28px}.user-name[data-v-540605d5]{color:var(--pink-700);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:13px;overflow:hidden}.logout-btn[data-v-540605d5]{border:1px solid var(--border);color:var(--pink-700);cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px}.logout-btn[data-v-540605d5]:hover{background:var(--pink-50)}main[data-v-540605d5]{flex:1;min-height:0}.main-full[data-v-540605d5]{flex-direction:column;display:flex;overflow:hidden}.main-scroll[data-v-540605d5]{overflow-y:auto}.main-with-footer[data-v-540605d5]{flex-direction:column;display:flex}.main-with-footer .main-body[data-v-540605d5]{flex-direction:column;flex:1;align-items:stretch;width:100%;min-height:100%;display:flex}.site-follow-actions[data-v-15a9252d]{border-top:1px solid #fce7f3;padding-top:10px}.site-follow-actions.compact[data-v-15a9252d]{margin-top:8px;padding-top:8px}.site-follow-actions.align-end[data-v-15a9252d]{border-top:none;margin-top:4px;padding-top:0}.site-follow-actions.align-end .action-row[data-v-15a9252d]{justify-content:flex-end}.site-follow-actions.align-end .follow-hint[data-v-15a9252d],.site-follow-actions.align-end .follow-error[data-v-15a9252d]{text-align:right}.action-row[data-v-15a9252d]{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.action-btn[data-v-15a9252d]{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.compact .action-btn[data-v-15a9252d]{border-radius:6px;padding:3px 8px;font-size:10px}.small .action-btn[data-v-15a9252d]{border-radius:7px;padding:4px 10px;font-size:12px}.follow-btn[data-v-15a9252d]{color:#be185d;background:#fdf2f8;border:1px solid #f9a8d4}.follow-btn[data-v-15a9252d]:hover:not(:disabled){background:#fce7f3}.follow-btn.following[data-v-15a9252d]{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.follow-btn.following[data-v-15a9252d]:hover:not(:disabled){background:#ede9fe}.follow-btn[data-v-15a9252d]:disabled{opacity:.55;cursor:not-allowed}.visit-btn[data-v-15a9252d]{color:#6b4460;background:#fff;border:1px solid #e5e7eb}.visit-btn[data-v-15a9252d]:hover{color:#be185d;background:#fdf2f8;border-color:#f9a8d4}.follow-hint[data-v-15a9252d],.follow-error[data-v-15a9252d]{margin:6px 0 0;font-size:12px;line-height:1.3}.compact .follow-hint[data-v-15a9252d],.compact .follow-error[data-v-15a9252d]{margin-top:4px;font-size:10px}.follow-hint[data-v-15a9252d]{color:#9d7188}.follow-error[data-v-15a9252d]{color:#b45309}.bubble-wrap[data-v-1ec2a006]{z-index:200;pointer-events:auto;animation:.18s ease-out bubble-in-1ec2a006;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.bubble-wrap.below[data-v-1ec2a006]{animation:.18s ease-out bubble-in-below-1ec2a006}.bubble-wrap.below .bubble-tail[data-v-1ec2a006]{border-top:none;border-bottom:8px solid #fbcfe8;top:-8px;bottom:auto}.bubble-wrap.below .bubble-tail[data-v-1ec2a006]:after{border-top:none;border-bottom:6px solid #fff;top:auto;bottom:-10px}@keyframes bubble-in-1ec2a006{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))scale(.94)}to{opacity:1;transform:translate(-50%,calc(-100% - 12px))scale(1)}}@keyframes bubble-in-below-1ec2a006{0%{opacity:0;transform:translate(-50%,4px)scale(.94)}to{opacity:1;transform:translate(-50%,8px)scale(1)}}.bubble[data-v-1ec2a006]{background:#fff;border:1.5px solid #fbcfe8;border-radius:12px;width:210px;padding:10px 12px;position:relative;box-shadow:0 4px 16px #ec489924}.bubble-close[data-v-1ec2a006]{color:#be185d;cursor:pointer;background:#fce7f3;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:flex;position:absolute;top:6px;right:6px}.bubble-close[data-v-1ec2a006]:hover{background:#fbcfe8}.bubble-header[data-v-1ec2a006]{align-items:flex-start;gap:8px;padding-right:14px;display:flex}.bubble-favicon[data-v-1ec2a006]{object-fit:contain;background:#fff;border:1.5px solid #fce7f3;border-radius:7px;flex-shrink:0;width:28px;height:28px}.bubble-title-block[data-v-1ec2a006]{min-width:0}.name-row[data-v-1ec2a006]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.bubble-name[data-v-1ec2a006]{color:#831843;margin:0;font-size:12px;font-weight:600;line-height:1.3;text-decoration:none}.bubble-name[data-v-1ec2a006]:hover{color:#db2777;text-decoration:underline}.verified-badge[data-v-1ec2a006]{color:#15803d;background:#dcfce7;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:600}.unverified-badge[data-v-1ec2a006]{color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:1px 5px;font-size:9px}.feed-badge[data-v-1ec2a006]{color:#db2777;background:#fce7f3;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:600}.bubble-url[data-v-1ec2a006]{color:#db2777;opacity:.75;word-break:break-all;margin-top:1px;font-size:10px;line-height:1.3;text-decoration:none;display:block}.bubble-url[data-v-1ec2a006]:hover{opacity:1}.bubble-owner[data-v-1ec2a006]{color:#9d7188;margin:2px 0 0;font-size:10px;line-height:1.3}.owner-link[data-v-1ec2a006]{font:inherit;color:#7c3aed;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.owner-link[data-v-1ec2a006]:hover{color:#5b21b6}.bubble-desc[data-v-1ec2a006]{color:#6b4460;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.bubble-feed[data-v-1ec2a006]{border-top:1px solid #fce7f3;flex-direction:column;gap:5px;margin:8px 0 0;padding:6px 0 0;list-style:none;display:flex}.bubble-feed li[data-v-1ec2a006]{align-items:flex-start;gap:4px;line-height:1.35;display:flex}.feed-link[data-v-1ec2a006]{color:#9d174d;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:10px;text-decoration:none;display:-webkit-box;overflow:hidden}.feed-link[data-v-1ec2a006]:hover{color:#db2777;text-decoration:underline}.feed-new[data-v-1ec2a006]{color:#fff;text-transform:uppercase;letter-spacing:.02em;background:linear-gradient(135deg,#f472b6,#ec4899);border-radius:4px;flex-shrink:0;margin-top:1px;padding:1px 4px;font-size:8px;font-weight:700}.bubble-friends[data-v-1ec2a006]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.friend-tag[data-v-1ec2a006]{color:#6d28d9;background:#ede9fe;border-radius:999px;padding:1px 6px;font-size:9px}.bubble-meta[data-v-1ec2a006]{flex-direction:column;gap:1px;margin-top:6px;display:flex}.meta-item[data-v-1ec2a006]{color:#9d7188;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:9px;overflow:hidden}.bubble-tail[data-v-1ec2a006]{border-top:8px solid #fbcfe8;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.bubble-tail[data-v-1ec2a006]:after{content:"";border-top:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;top:-10px;left:-6px}.site-own-crown[data-v-386bbb81]{left:50%;top:calc(-10px * var(--site-icon-scale,1));width:calc(16px * var(--site-icon-scale,1));height:calc(16px * var(--site-icon-scale,1));pointer-events:none;z-index:2;filter:drop-shadow(0 1px 2px #db277773);position:absolute;transform:translate(-50%)}.site-own-crown svg[data-v-386bbb81]{width:100%;height:100%;display:block}.bubble-wrap[data-v-32b66ab9]{z-index:200;pointer-events:auto;animation:.18s ease-out bubble-in-32b66ab9;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.bubble-wrap.below[data-v-32b66ab9]{animation:.18s ease-out bubble-in-below-32b66ab9}.bubble-wrap.below .bubble-tail[data-v-32b66ab9]{border-top:none;border-bottom:8px solid #ddd6fe;top:-8px;bottom:auto}.bubble-wrap.below .bubble-tail[data-v-32b66ab9]:after{border-top:none;border-bottom:6px solid #fff;top:auto;bottom:-10px}@keyframes bubble-in-32b66ab9{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))scale(.94)}to{opacity:1;transform:translate(-50%,calc(-100% - 12px))scale(1)}}@keyframes bubble-in-below-32b66ab9{0%{opacity:0;transform:translate(-50%,4px)scale(.94)}to{opacity:1;transform:translate(-50%,8px)scale(1)}}.bubble[data-v-32b66ab9]{background:#fff;border:1.5px solid #ddd6fe;border-radius:12px;width:240px;max-height:320px;padding:10px 12px;position:relative;overflow-y:auto;box-shadow:0 4px 16px #6d28d91f}.bubble-close[data-v-32b66ab9]{color:#6d28d9;cursor:pointer;background:#ede9fe;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;line-height:1;display:flex;position:absolute;top:6px;right:6px}.bubble-close[data-v-32b66ab9]:hover{background:#ddd6fe}.bubble-header[data-v-32b66ab9]{align-items:center;gap:8px;padding-right:14px;display:flex}.bubble-avatar[data-v-32b66ab9]{object-fit:cover;background:#f5f3ff;border:2px solid #ddd6fe;border-radius:50%;flex-shrink:0;width:36px;height:36px}.bubble-title-block[data-v-32b66ab9]{min-width:0}.bubble-name[data-v-32b66ab9]{color:#5b21b6;margin:0;font-size:13px;font-weight:600;line-height:1.3}.username[data-v-32b66ab9]{color:#7c3aed;opacity:.75;margin-top:1px;font-size:10px;display:block}.bubble-desc[data-v-32b66ab9]{color:#6b4460;margin:8px 0 0;font-size:11px;line-height:1.4}.bubble-meta[data-v-32b66ab9]{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.meta-item[data-v-32b66ab9]{color:#8b5cf6;font-size:10px}.detail-link[data-v-32b66ab9]{color:#6d28d9;margin-left:auto;font-size:10px;font-weight:600;text-decoration:none}.detail-link[data-v-32b66ab9]:hover{text-decoration:underline}.bubble-section[data-v-32b66ab9]{margin-top:8px}.section-title[data-v-32b66ab9]{color:#7c3aed;margin-bottom:4px;font-size:10px;font-weight:600}.bubble-sites[data-v-32b66ab9]{flex-wrap:wrap;gap:4px;display:flex}.site-chip[data-v-32b66ab9]{color:#be185d;background:#fce7f3;border-radius:999px;padding:2px 8px;font-size:9px;text-decoration:none}.site-chip.owned[data-v-32b66ab9]{color:#6d28d9;background:#ede9fe}.site-chip[data-v-32b66ab9]:hover{filter:brightness(.96)}.site-chip.more[data-v-32b66ab9]{color:#7c3aed;cursor:default;-webkit-user-select:none;user-select:none;background:#f5f3ff}.bubble-tail[data-v-32b66ab9]{border-top:8px solid #ddd6fe;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.bubble-tail[data-v-32b66ab9]:after{content:"";border-top:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;top:-10px;left:-6px}.virtual-map[data-v-bcbaee24]{border-radius:inherit;background:#fff;grid-template-rows:1fr 32px;grid-template-columns:52px 1fr;width:100%;height:100%;display:grid;overflow:hidden}.axis-corner[data-v-bcbaee24]{border-top:1px solid var(--border);border-right:1px solid var(--border);background:#fdf2f8;grid-area:2/1;justify-content:center;align-items:center;display:flex}.corner-label[data-v-bcbaee24]{color:var(--pink-600);opacity:.7;font-family:ui-monospace,monospace;font-size:10px}.axis[data-v-bcbaee24]{-webkit-user-select:none;user-select:none;background:#fdf2f8;position:relative}.y-axis[data-v-bcbaee24]{border-right:1px solid var(--border);grid-area:1/1}.x-axis[data-v-bcbaee24]{border-top:1px solid var(--border);grid-area:2/2;height:32px}.axis-title[data-v-bcbaee24]{color:var(--pink-600);opacity:.8;font-size:11px;font-weight:600;position:absolute}.y-axis .axis-title[data-v-bcbaee24]{top:8px;left:50%;transform:translate(-50%)}.x-axis .axis-title[data-v-bcbaee24]{bottom:4px;left:8px}.axis-ticks[data-v-bcbaee24]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.y-axis .tick-label[data-v-bcbaee24]{color:var(--pink-700);opacity:.75;white-space:nowrap;font-family:ui-monospace,monospace;font-size:10px;position:absolute;right:4px;transform:translateY(-50%)}.x-axis .tick-label[data-v-bcbaee24]{color:var(--pink-700);opacity:.75;white-space:nowrap;font-family:ui-monospace,monospace;font-size:10px;position:absolute;bottom:6px;transform:translate(-50%)}.map-viewport[data-v-bcbaee24]{cursor:grab;touch-action:none;grid-area:1/2;position:relative;overflow:hidden}.map-viewport.dragging[data-v-bcbaee24]{cursor:grabbing;-webkit-user-select:none;user-select:none}.map-viewport[data-v-bcbaee24] .bubble-wrap{z-index:200}.map-viewport.dragging[data-v-bcbaee24] .site-marker,.map-viewport.dragging[data-v-bcbaee24] .user-marker{pointer-events:none}canvas[data-v-bcbaee24]{touch-action:none;width:100%;height:100%;display:block}.markers-layer[data-v-bcbaee24]{pointer-events:none;position:absolute;inset:0}.site-marker[data-v-bcbaee24]{width:calc(24px * var(--site-icon-scale,1));height:calc(24px * var(--site-icon-scale,1));cursor:pointer;pointer-events:auto;z-index:10;background:0 0;border:none;padding:0;transition:transform .15s;position:absolute;transform:translate(-50%,-50%)}.site-marker.mine[data-v-bcbaee24]{z-index:12}.site-marker.mine[data-v-bcbaee24]:hover,.site-marker.mine.hovered[data-v-bcbaee24],.site-marker.mine.selected[data-v-bcbaee24]{z-index:22}.site-marker[data-v-bcbaee24]:hover,.site-marker.hovered[data-v-bcbaee24],.site-marker.selected[data-v-bcbaee24],.site-marker.linked[data-v-bcbaee24]{z-index:20;transform:translate(-50%,-50%)scale(1.15)}.site-marker.selected .favicon[data-v-bcbaee24],.site-marker.linked .favicon[data-v-bcbaee24]{box-shadow:0 0 0 3px #ec489973}.favicon[data-v-bcbaee24]{width:calc(22px * var(--site-icon-scale,1));height:calc(22px * var(--site-icon-scale,1));object-fit:contain;background:#fff;border-radius:50%;box-shadow:0 1px 4px #ec489933}.site-marker.v4 .favicon[data-v-bcbaee24]{outline-offset:.5px;outline:2px solid #f472b6}.site-marker.v6 .favicon[data-v-bcbaee24]{outline-offset:.5px;outline:2px solid #a78bfa}.site-marker.recent .favicon[data-v-bcbaee24]{animation:1.6s ease-in-out infinite feed-heartbeat-bcbaee24}@keyframes feed-heartbeat-bcbaee24{0%,to{transform:scale(1)}14%{transform:scale(1.22)}28%{transform:scale(1)}42%{transform:scale(1.14)}56%{transform:scale(1)}}.user-marker[data-v-bcbaee24]{width:calc(22px * var(--user-icon-scale,1));height:calc(22px * var(--user-icon-scale,1));cursor:pointer;pointer-events:auto;z-index:8;background:0 0;border:none;padding:0;transition:transform .15s;position:absolute;transform:translate(-50%,-50%)}.user-marker[data-v-bcbaee24]:hover,.user-marker.hovered[data-v-bcbaee24],.user-marker.selected[data-v-bcbaee24],.user-marker.linked[data-v-bcbaee24]{z-index:18;transform:translate(-50%,-50%)scale(1.15)}.user-marker.selected .user-avatar[data-v-bcbaee24],.user-marker.linked .user-avatar[data-v-bcbaee24]{outline-color:#ec4899;box-shadow:0 0 0 3px #ec489973}.user-avatar[data-v-bcbaee24]{width:calc(22px * var(--user-icon-scale,1));height:calc(22px * var(--user-icon-scale,1));object-fit:cover;outline-offset:.5px;background:#f5f3ff;border-radius:50%;outline:2px solid #a78bfa;box-shadow:0 1px 4px #6d28d940}.map-hud[data-v-bcbaee24]{border:1px solid var(--border);z-index:30;background:#ffffffeb;border-radius:8px;min-width:130px;padding:6px 10px;font-size:10px;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #ec489914}.hud-row[data-v-bcbaee24]{align-items:baseline;gap:6px;line-height:1.7;display:flex}.zoom-row[data-v-bcbaee24]{align-items:center}.zoom-controls[data-v-bcbaee24]{align-items:center;gap:4px;display:flex}.zoom-btn[data-v-bcbaee24]{border:1px solid var(--border);background:var(--pink-50);width:20px;height:20px;color:var(--pink-700);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.zoom-btn[data-v-bcbaee24]:hover:not(:disabled){background:var(--pink-100)}.zoom-btn[data-v-bcbaee24]:disabled{opacity:.35;cursor:not-allowed}.zoom-value[data-v-bcbaee24]{text-align:center;min-width:44px}.hud-label[data-v-bcbaee24]{color:var(--pink-600);min-width:28px;font-weight:600}.hud-value[data-v-bcbaee24]{color:var(--pink-900);font-family:ui-monospace,monospace}.cursor-row .hud-value[data-v-bcbaee24]{color:var(--pink-500)}.reset-btn[data-v-bcbaee24]{border:1px solid var(--border);background:var(--pink-50);width:100%;color:var(--pink-700);cursor:pointer;border-radius:6px;margin-top:6px;padding:4px 0;font-size:11px}.reset-btn[data-v-bcbaee24]:hover{background:var(--pink-100)}.legend[data-v-bcbaee24]{border:1px solid var(--border);color:var(--text);z-index:20;background:#ffffffe6;border-radius:999px;gap:12px;padding:5px 10px;font-size:10px;display:flex;position:absolute;bottom:8px;left:8px;box-shadow:0 2px 6px #ec489914}.legend-item[data-v-bcbaee24]{align-items:center;gap:4px;display:flex}.ring[data-v-bcbaee24]{border:1.5px solid;border-radius:50%;width:8px;height:8px}.ring.v4[data-v-bcbaee24]{border-color:#f472b6}.ring.v6[data-v-bcbaee24]{border-color:#a78bfa}.tianditu-map[data-v-2f154152]{background:var(--pink-50);width:100%;height:100%;min-height:0;position:relative}.map-viewport[data-v-2f154152]{isolation:isolate;width:100%;height:100%;min-height:0;position:relative}.map-container[data-v-2f154152]{z-index:0;position:absolute;inset:0}.map-overlays[data-v-2f154152]{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.site-markers-layer[data-v-2f154152]{pointer-events:none;z-index:10;position:absolute;inset:0;overflow:visible}.site-marker[data-v-2f154152]{width:calc(28px * var(--site-icon-scale,1));height:calc(28px * var(--site-icon-scale,1));cursor:pointer;pointer-events:auto;z-index:10;background:0 0;border:none;padding:0;transition:transform .15s;position:absolute;transform:translate(-50%,-50%)}.site-marker.mine[data-v-2f154152]{z-index:12}.site-marker.mine[data-v-2f154152]:hover,.site-marker.mine.hovered[data-v-2f154152],.site-marker.mine.selected[data-v-2f154152]{z-index:22}.site-marker[data-v-2f154152]:hover,.site-marker.hovered[data-v-2f154152],.site-marker.selected[data-v-2f154152],.site-marker.linked[data-v-2f154152]{z-index:20;transform:translate(-50%,-50%)scale(1.12)}.site-marker.selected .favicon[data-v-2f154152],.site-marker.linked .favicon[data-v-2f154152]{box-shadow:0 0 0 3px #ec489973}.site-marker .favicon[data-v-2f154152]{width:calc(26px * var(--site-icon-scale,1));height:calc(26px * var(--site-icon-scale,1));object-fit:contain;outline-offset:.5px;background:#fff;border-radius:50%;outline:2px solid #f472b6;box-shadow:0 1px 4px #ec489933}.site-marker.recent .favicon[data-v-2f154152]{animation:1.6s ease-in-out infinite feed-heartbeat-2f154152}@keyframes feed-heartbeat-2f154152{0%,to{transform:scale(1)}14%{transform:scale(1.22)}28%{transform:scale(1)}42%{transform:scale(1.14)}56%{transform:scale(1)}}.crown-layer[data-v-2f154152]{pointer-events:none;z-index:30;position:absolute;inset:0;overflow:visible}.crown-anchor[data-v-2f154152]{width:calc(28px * var(--site-icon-scale,1));height:calc(28px * var(--site-icon-scale,1));position:absolute;transform:translate(-50%,-50%)}.network-layer[data-v-2f154152],.users-layer[data-v-2f154152]{pointer-events:none;z-index:40;position:absolute;inset:0;overflow:visible}.users-layer[data-v-2f154152]{z-index:50}.network-svg[data-v-2f154152]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.network-svg line[data-v-2f154152]{stroke:#8b5cf680;stroke-width:1.5px}.network-svg line.own[data-v-2f154152]{stroke:#ec48998c}.network-svg line.active[data-v-2f154152]{stroke:#ec4899f2;stroke-width:3px}.network-svg.has-selection line.muted[data-v-2f154152]{stroke:#8b5cf666;stroke-width:1px;stroke-dasharray:4 4}.network-svg.has-selection line.muted.own[data-v-2f154152]{stroke:#ec489966}.user-marker[data-v-2f154152]{width:calc(26px * var(--user-icon-scale,1));height:calc(26px * var(--user-icon-scale,1));cursor:pointer;pointer-events:auto;z-index:8;background:0 0;border:none;padding:0;transition:transform .15s;position:absolute;transform:translate(-50%,-50%)}.user-marker[data-v-2f154152]:hover,.user-marker.hovered[data-v-2f154152],.user-marker.selected[data-v-2f154152],.user-marker.linked[data-v-2f154152]{z-index:18;transform:translate(-50%,-50%)scale(1.15)}.user-marker.selected .user-avatar[data-v-2f154152],.user-marker.linked .user-avatar[data-v-2f154152]{outline-color:#ec4899;box-shadow:0 0 0 3px #ec489973}.user-avatar[data-v-2f154152]{width:calc(26px * var(--user-icon-scale,1));height:calc(26px * var(--user-icon-scale,1));object-fit:cover;outline-offset:.5px;background:#f5f3ff;border-radius:50%;outline:2px solid #a78bfa;box-shadow:0 1px 4px #6d28d940}.tianditu-map[data-v-2f154152] .bubble-wrap{z-index:500}.overlay-msg[data-v-2f154152]{z-index:10;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-msg.error[data-v-2f154152]{background:var(--pink-100);color:var(--pink-800);pointer-events:auto}.overlay-msg.empty[data-v-2f154152]{color:var(--text);background:#fdf2f8eb}.hint[data-v-2f154152]{opacity:.65;margin-top:8px;font-size:13px}.home[data-v-a3365ad2]{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.header[data-v-a3365ad2]{border-bottom:1px solid var(--border);z-index:10;background:#fff9;flex-shrink:0;padding:16px 24px 12px}.header-top[data-v-a3365ad2]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}h1[data-v-a3365ad2]{color:var(--pink-800);letter-spacing:-.3px;margin:0;font-size:22px}.subtitle[data-v-a3365ad2]{color:var(--text);opacity:.75;margin:2px 0 0;font-size:13px}.stats-pills[data-v-a3365ad2]{flex-wrap:wrap;gap:8px;display:flex}.pill[data-v-a3365ad2]{background:var(--pink-100);color:var(--pink-700);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500}.pill.accent[data-v-a3365ad2]{background:linear-gradient(135deg, var(--pink-200), var(--pink-300))}.pill.verified[data-v-a3365ad2]{color:#15803d;background:#dcfce7}.pill.network[data-v-a3365ad2]{color:#6d28d9;background:#ede9fe}.pill.users[data-v-a3365ad2]{background:var(--pink-100);color:var(--pink-700)}.controls[data-v-a3365ad2]{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.mode-switch[data-v-a3365ad2]{background:var(--pink-100);border-radius:10px;gap:4px;padding:3px;display:flex}.mode-switch.sub[data-v-a3365ad2]{border:1px solid var(--border);background:#fffc}.mode-switch button[data-v-a3365ad2]{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:13px;transition:all .15s}.mode-switch button.active[data-v-a3365ad2]{color:var(--pink-700);background:#fff;font-weight:500;box-shadow:0 1px 4px #ec489926}.sites-toggle[data-v-a3365ad2]{border:1px solid var(--pink-300);color:var(--pink-700);cursor:pointer;background:#fff;border-radius:10px;padding:6px 14px;font-size:13px;transition:all .15s}.related-toggle[data-v-a3365ad2]{color:var(--pink-800);cursor:pointer;background:#fff;border:1px solid #fbcfe8;border-radius:10px;padding:6px 14px;font-size:13px;transition:all .15s}.related-toggle[data-v-a3365ad2]:hover{background:var(--pink-50)}.related-toggle.active[data-v-a3365ad2]{background:linear-gradient(135deg, var(--pink-200), var(--pink-300));border-color:var(--pink-400);font-weight:600}.sites-toggle[data-v-a3365ad2]:hover{background:var(--pink-50)}.sites-toggle.active[data-v-a3365ad2]{background:var(--pink-100);font-weight:500}.icon-scale-group[data-v-a3365ad2]{align-items:center;gap:6px;display:inline-flex}.icon-scale-label[data-v-a3365ad2]{color:var(--pink-700);white-space:nowrap;font-size:12px;font-weight:600}.icon-scale-switch button[data-v-a3365ad2]{min-width:38px;font-weight:500}.icon-scale-switch button.active[data-v-a3365ad2]{color:var(--pink-800)}.users-toggle[data-v-a3365ad2]{border:1px solid var(--pink-300);background:var(--pink-50);color:var(--pink-700);cursor:pointer;border-radius:10px;padding:6px 14px;font-size:13px;transition:all .15s}.users-toggle[data-v-a3365ad2]:hover{background:var(--pink-100)}.users-toggle.active[data-v-a3365ad2]{background:var(--pink-200);font-weight:500}.users-toggle.loading[data-v-a3365ad2]{opacity:.7;cursor:wait}.network-actions[data-v-a3365ad2]{align-items:center;gap:8px;display:flex}.network-toggle[data-v-a3365ad2]{color:#6d28d9;cursor:pointer;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:10px;padding:6px 14px;font-size:13px;transition:all .15s}.network-toggle[data-v-a3365ad2]:hover{background:#ede9fe}.network-toggle.active[data-v-a3365ad2]{background:#ddd6fe;font-weight:500}.network-toggle.loading[data-v-a3365ad2]{opacity:.7;cursor:wait}.network-reset[data-v-a3365ad2]{color:#6d28d9;cursor:pointer;background:#fff;border:1px solid #ddd6fe;border-radius:10px;padding:6px 14px;font-size:13px;transition:all .15s}.network-reset[data-v-a3365ad2]:hover:not(:disabled){background:#f5f3ff}.network-reset[data-v-a3365ad2]:disabled{opacity:.45;cursor:default}.network-hint[data-v-a3365ad2]{color:#b45309;max-width:420px;margin:0;font-size:12px;line-height:1.4}.map-area[data-v-a3365ad2]{border:1px solid var(--border);border-radius:16px 16px 0 0;flex-direction:column;flex:1;min-height:0;margin:0 12px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #ec489914}.map-area[data-v-a3365ad2]>:not(.loading){flex:1;width:100%;min-height:0}.loading[data-v-a3365ad2]{color:var(--pink-600);background:var(--pink-50);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.loading-dot[data-v-a3365ad2]{border:3px solid var(--pink-200);border-top-color:var(--pink-500);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-a3365ad2}@keyframes spin-a3365ad2{to{transform:rotate(360deg)}}:root{--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--pink-700:#be185d;--pink-800:#9d174d;--pink-900:#831843;--text:#6b4460;--text-h:#831843;--bg:#fff5f7;--surface:#fff;--border:#fbcfe8;--content-page-max:960px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);margin:0}a{color:var(--pink-600)}h1,h2,h3{color:var(--text-h);font-weight:600}html,body,#app{height:100%;overflow:hidden}#app{flex-direction:column;display:flex}.content-page{width:100%;max-width:var(--content-page-max);flex:1 0 auto;margin:0 auto;padding:32px 24px 24px}
