.smap{--smap-bg:#e9edf6;--smap-sphere:#f6f7fb;--smap-grid:#26228012;--smap-land:#dadfeb;--smap-land-line:#c4cadb;--smap-has:color-mix(in srgb, var(--c-accent) 24%, #e2e1f2);--smap-has-line:color-mix(in srgb, var(--c-accent) 50%, #cfd3dd);--smap-active:color-mix(in srgb, var(--c-accent) 42%, #fff);--smap-route:var(--c-accent);--smap-mesh:color-mix(in srgb, var(--c-accent) 55%, transparent);--smap-ring:#fff;--smap-cluster:#fff;--smap-count:var(--c-text);--smap-sweep:#ffffff8c;--smap-chrome:var(--c-glass-strong);--smap-line:var(--c-line);gap:12px;display:grid;position:relative}:root[data-theme=dark] .smap,.livemap .smap{--smap-bg:#07071a;--smap-sphere:#0c0b22;--smap-grid:#ffffff0b;--smap-land:#1a1934;--smap-land-line:#2b2a4a;--smap-has:#262158;--smap-has-line:#3d3786;--smap-active:#332b78;--smap-route:#a99cff;--smap-mesh:#a99cff73;--smap-ring:#07071a;--smap-cluster:#100e2cf0;--smap-count:#fff;--smap-sweep:#a99cff1f}@media (prefers-color-scheme:dark){:root[data-theme=system] .smap{--smap-bg:#07071a;--smap-sphere:#0c0b22;--smap-grid:#ffffff0b;--smap-land:#1a1934;--smap-land-line:#2b2a4a;--smap-has:#262158;--smap-has-line:#3d3786;--smap-active:#332b78;--smap-route:#a99cff;--smap-mesh:#a99cff73;--smap-ring:#07071a;--smap-cluster:#100e2cf0;--smap-count:#fff;--smap-sweep:#a99cff1f}}.smap-canvas{aspect-ratio:2.1;contain:paint;background:radial-gradient(70% 90% at 55% 35%, color-mix(in srgb, var(--c-accent) 12%, transparent), transparent 70%), var(--smap-bg);box-shadow:var(--glass-edge,0 0 0 1px var(--smap-line) inset), var(--c-shadow);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:32px;position:relative;overflow:hidden}.smap-canvas:after{content:"";z-index:1;background:linear-gradient(100deg, transparent, var(--smap-sweep), transparent);pointer-events:none;will-change:transform;width:40%;animation:9s ease-in-out infinite smap-sweep;position:absolute;inset:0 auto 0 -40%}@keyframes smap-sweep{0%{transform:translate(0)}60%,to{transform:translate(360%)}}.smap-canvas.is-zoomed{touch-action:none}.smap-canvas.is-dragging{cursor:grabbing}.smap-canvas>svg{width:100%;height:100%;display:block;position:absolute;inset:0}.smap-sphere{fill:var(--smap-sphere)}.smap-grid{fill:none;stroke:var(--smap-grid);stroke-width:1px}.smap-land path{fill:var(--smap-land);stroke:var(--smap-land-line);stroke-width:.7px;stroke-linejoin:round;transition:fill .35s}.smap-land path.has-server{fill:var(--smap-has);stroke:var(--smap-has-line)}.smap-land path.is-active{fill:var(--smap-active);stroke:var(--c-accent)}.smap-glow-stop{stop-color:var(--c-accent)}.smap-mesh{fill:none;stroke:var(--smap-mesh);stroke-width:1.1px;stroke-dasharray:2 6;animation:2.2s linear infinite smap-dash}.smap-mesh:nth-of-type(2n){animation-duration:3.1s}.smap-packet{fill:var(--smap-route)}.smap-route{fill:none;stroke:var(--smap-route);stroke-width:1.6px;stroke-dasharray:3 5;animation:1.4s linear infinite smap-dash}.smap-route.is-here{stroke-width:2px;stroke-dasharray:none;opacity:.9}@keyframes smap-dash{to{stroke-dashoffset:-16px}}.smap-you circle{fill:var(--c-accent);stroke:var(--smap-ring);stroke-width:2px}.smap-you .smap-you-halo{fill:color-mix(in srgb, var(--c-accent) 18%, transparent);stroke:none;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite smap-pulse}.smap-marker{color:var(--success);cursor:pointer;outline:none}.smap-marker.degraded,.smap-marker.maintenance{color:var(--warning)}.smap-marker.offline{color:var(--danger)}.smap-marker>*{transform-box:fill-box;transform-origin:50%}.smap-marker .smap-core,.smap-marker .smap-center,.smap-marker .smap-count{animation:.6s cubic-bezier(.34,1.5,.64,1) both smap-in}.smap-marker:nth-of-type(2)>*{animation-delay:60ms}.smap-marker:nth-of-type(3)>*{animation-delay:.12s}.smap-marker:nth-of-type(4)>*{animation-delay:.18s}.smap-marker:nth-of-type(5)>*{animation-delay:.24s}.smap-marker:nth-of-type(6)>*{animation-delay:.3s}.smap-marker:nth-of-type(7)>*{animation-delay:.36s}.smap-marker:nth-of-type(8)>*{animation-delay:.42s}.smap-marker:nth-of-type(n+9)>*{animation-delay:.48s}@keyframes smap-in{0%{opacity:0;transform:scale(0)}}.smap-hit{fill:#0000}.smap-soft{fill:currentColor;opacity:.16;transition:opacity .25s}.smap-halo{fill:none;stroke:currentColor;stroke-width:2px;opacity:.55;animation:2.8s cubic-bezier(.2,.7,.3,1) infinite smap-pulse}.smap-core{fill:currentColor;stroke:var(--smap-ring);stroke-width:2.5px;transition:transform .25s cubic-bezier(.2,.8,.3,1)}.smap-center{fill:#fff;opacity:.95;pointer-events:none}.smap-marker.offline .smap-halo{display:none}.smap-glow{pointer-events:none}.smap-marker:hover .smap-core,.smap-marker:focus-visible .smap-core{transform:scale(1.2)}.smap-marker:hover .smap-soft{opacity:.3}.smap-marker:focus-visible .smap-core{stroke:var(--c-accent)}.smap-marker.is-active .smap-core{fill:#fff;stroke:var(--c-accent);stroke-width:3.5px}.smap-marker.is-active .smap-center{fill:var(--c-accent);opacity:1}.smap-marker.is-here{color:var(--c-accent)}.smap-marker.is-here .smap-core{stroke:#fff;stroke-width:2.5px}.smap-cluster .smap-core{fill:var(--smap-cluster);stroke:currentColor;stroke-width:2.5px}.smap-cluster .smap-soft{opacity:.2}.smap-count{fill:var(--smap-count);font:700 13px var(--font-sans);text-anchor:middle;pointer-events:none}@keyframes smap-pulse{0%{opacity:.6;transform:scale(.7)}to{opacity:0;transform:scale(1.9)}}.smap-here{z-index:3;background:var(--c-button);color:#fff;font:500 12px/1 var(--font-sans);white-space:nowrap;pointer-events:none;box-shadow:0 10px 30px -10px color-mix(in srgb, var(--c-accent) 80%, transparent);border-radius:999px;padding:6px 12px;position:absolute;transform:translate(-50%,calc(-100% - 18px))}.smap-here:after{content:"";background:inherit;border-radius:1px;width:8px;height:8px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.smap-views,.smap-nearest,.smap-zoom button{background:var(--smap-chrome);box-shadow:var(--glass-edge,0 0 0 1px var(--smap-line) inset), 0 8px 20px -12px #16153a59;-webkit-backdrop-filter:var(--glass-blur,blur(16px));backdrop-filter:var(--glass-blur,blur(16px))}.smap-views{z-index:4;cursor:default;border-radius:999px;gap:2px;padding:4px;display:flex;position:absolute;top:14px;left:14px}.smap-views button{color:var(--c-muted);font:500 13px var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 16px;transition:color .2s,background .3s}.smap-views button:hover{color:var(--c-text)}.smap-views button[aria-pressed=true]{background:var(--c-button);color:#fff}.smap-nearest{z-index:4;max-width:min(340px,45%);color:var(--c-text);text-align:left;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:10px;padding:9px 14px 9px 11px;transition:transform .3s;display:flex;position:absolute;top:14px;right:14px}.smap-nearest:hover{transform:translateY(-1px)}.smap-nearest>svg{fill:none;width:20px;height:20px;stroke:var(--c-accent);stroke-width:1.8px;flex:none}.smap-nearest span{min-width:0;display:grid}.smap-nearest small{color:var(--c-muted);font-size:11.5px}.smap-nearest b{color:var(--c-text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.smap-nearest em{color:var(--success);font-variant-numeric:tabular-nums;font-size:12.5px;font-style:normal;font-weight:600;position:absolute;bottom:9px;right:14px}.smap-nearest:has(em){padding-right:70px}.smap-zoom{z-index:4;cursor:default;gap:6px;display:grid;position:absolute;bottom:14px;left:14px}.smap-zoom button{width:38px;height:38px;color:var(--c-text);cursor:pointer;border:0;border-radius:12px;place-items:center;transition:transform .2s;display:grid}.smap-zoom button:hover{transform:scale(1.06)}.smap-zoom .smap-locate{margin-top:6px}.smap-zoom svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:18px;height:18px}.smap-pop{z-index:5;width:340px;color:var(--c-text);background:var(--c-glass-strong);box-shadow:var(--glass-edge,0 0 0 1px var(--c-line) inset), var(--c-shadow-lift);-webkit-backdrop-filter:var(--glass-blur,blur(22px));backdrop-filter:var(--glass-blur,blur(22px));cursor:auto;-webkit-user-select:text;user-select:text;border-radius:24px;gap:14px;padding:16px;animation:.32s cubic-bezier(.2,.8,.3,1) smap-pop;display:grid;position:absolute}.smap-pop.is-below{width:auto;animation-name:smap-rise;position:relative}@keyframes smap-pop{0%{opacity:0;transform:translateY(6px)scale(.96)}}@keyframes smap-rise{0%{opacity:0;transform:translateY(8px)}}.smap-pop header{align-items:center;gap:12px;padding-right:30px;display:flex}.smap-flag{object-fit:cover;outline:1px solid var(--c-line);outline-offset:-1px;border-radius:12px;flex:none;width:42px;height:42px}.smap-pop header>div{flex:1;min-width:0;display:grid}.smap-pop header strong{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.smap-pop header small{color:var(--c-muted);font-size:13px}.smap-pop-close{background:var(--c-fill);width:28px;height:28px;color:var(--c-muted);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:12px}.smap-pop-close:hover{background:var(--c-fill-2);color:var(--c-text)}.smap-pop-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:14px;height:14px}.smap-state{background:var(--c-fill);color:var(--c-muted);border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.smap-state i{background:currentColor;border-radius:50%;width:7px;height:7px}.smap-state.online{color:var(--success);background:#2fbf7a24}.smap-state.degraded,.smap-state.maintenance{color:var(--warning);background:#ffc46b29}.smap-state.offline{color:var(--danger);background:#ff6d8a24}.smap-pop-here{background:var(--c-soft);color:var(--c-soft-text);border-radius:12px;align-items:center;gap:8px;margin:-2px 0 0;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.smap-pop-here svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.smap-pop-here b{font-family:var(--font-mono);font-weight:600}.smap-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.smap-stats>div{background:var(--c-fill);border-radius:14px;align-content:start;gap:3px;min-width:0;padding:10px 11px;display:grid}.smap-stats span{color:var(--c-muted);font-size:11.5px;font-weight:500}.smap-stats b{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:16px;font-weight:600}.smap-stats small{color:var(--c-dim);font-size:10.5px;line-height:1.25}.smap-block{gap:7px;display:grid}.smap-block>span{color:var(--c-muted);font-size:12px;font-weight:500}.smap-chips{flex-wrap:wrap;gap:6px;margin:0;display:flex}.smap-chips em{background:var(--c-fill);color:var(--c-text);border-radius:999px;padding:5px 10px;font-size:12px;font-style:normal;font-weight:500}.smap-chips em.ok{color:var(--success);background:#2fbf7a24}.smap-tags em:not(.ok){background:var(--c-soft);color:var(--c-soft-text)}.smap-pop footer{border-top:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:10px;padding-top:12px;font-size:12.5px;display:flex}.smap-live{color:var(--c-muted);font-variant-numeric:tabular-nums;align-items:center;gap:7px;display:inline-flex}.smap-live i{background:var(--c-dim);border-radius:50%;width:7px;height:7px}.smap-live.on i{background:var(--success);animation:2s infinite smap-beat;box-shadow:0 0 #2fbf7a99}@keyframes smap-beat{70%{box-shadow:0 0 0 7px #2fbf7a00}to{box-shadow:0 0 #2fbf7a00}}.smap-pop footer a{color:var(--c-link);font-weight:600}.smap-pop footer a:hover{text-decoration:underline}.load-bar{background:var(--c-fill-2);border-radius:3px;height:4px;margin-top:4px;display:block;position:relative;overflow:hidden}.load-bar em{background:var(--success);border-radius:3px;width:6%;transition:width 1s;position:absolute;inset:0 auto 0 0}.load-bar.medium em{background:var(--warning)}.load-bar.high em{background:var(--danger)}.load-bar em[data-level="1"]{width:10%}.load-bar em[data-level="2"]{width:20%}.load-bar em[data-level="3"]{width:30%}.load-bar em[data-level="4"]{width:40%}.load-bar em[data-level="5"]{width:50%}.load-bar em[data-level="6"]{width:60%}.load-bar em[data-level="7"]{width:70%}.load-bar em[data-level="8"]{width:80%}.load-bar em[data-level="9"]{width:90%}.load-bar em[data-level="10"]{width:100%}@media (max-width:640px){.smap-canvas{aspect-ratio:1.15;border-radius:24px}.smap-nearest{display:none}.smap-views{top:10px;left:10px}.smap-views button{padding:6px 13px;font-size:12.5px}.smap-zoom{bottom:10px;left:10px}.smap-zoom button{width:34px;height:34px}}@media (prefers-reduced-motion:reduce){.smap-halo,.smap-route,.smap-mesh,.smap-live.on i,.smap-canvas:after,.smap-you .smap-you-halo{animation:none}.smap-packet{display:none}.smap-pop{animation:none}}.lite :is(.smap-mesh,.smap-halo){animation:none!important}.lite .smap-packet{display:none}.smap-pop .server-checked{color:var(--c-dim);margin-top:2px;font-size:11.5px}.smap-method{color:var(--c-dim);margin:6px 0 2px;font-size:11.5px;display:inline-block}.smap-connect{gap:6px;margin:10px 0 12px;display:grid}.smap-connect-button{background:var(--c-accent,#6650cc);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:filter .15s;display:flex}.smap-connect-button:hover{filter:brightness(1.08)}.smap-connect-button:focus-visible{outline:2px solid var(--c-link);outline-offset:2px}.smap-connect small{color:var(--c-muted);font-size:12px;line-height:1.4}.smap-connect small.ok{color:var(--success)}.smap-connect small.bad{color:var(--danger)}.smap-connect small a{color:var(--c-link);font-weight:600}@media (max-width:640px){.smap-views button{align-items:center;min-height:40px;padding:0 15px;font-size:13.5px;display:inline-flex}.smap-zoom{gap:8px}.smap-zoom button{border-radius:14px;width:44px;height:44px}.smap-zoom .smap-locate{margin-top:4px}}.smap-marker:focus-visible .smap-soft{opacity:1;fill:none;stroke:#f5f3ff;stroke-width:2.5px}.smap-zoom button{width:44px;height:44px}.smap-views button{min-height:44px}.smap :is(button,[role=button]):focus-visible{outline-offset:2px;outline:2px solid #a997ff}
