.loc-section{display:flex;flex-direction:column;position:relative;overflow:hidden}.loc-section:before{content:"";position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:700px;height:600px;background:radial-gradient(ellipse,rgba(46,208,248,.04) 0%,rgba(46,208,248,.015) 40%,transparent 70%);pointer-events:none;z-index:0}.loc-header{display:flex;flex-direction:column;margin-left:84px;margin-right:20px;padding-top:40px;padding-bottom:40px;text-align:center;border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);position:relative;z-index:1}.location-heading-title,.location-heading-subtitle{padding:0;margin:0;font-size:clamp(2rem,4vw,3rem);color:var(--color-text-secondary);display:flex;justify-content:center;align-items:center;position:relative;text-align:center;text-transform:uppercase}.small-number-2{display:flex;padding-top:8px;align-self:flex-start;transform:translate(calc(35px + 11vh));position:absolute;font-size:1rem;color:var(--color-text-secondary)}.loc-content{display:flex;flex-direction:column;align-items:center;padding:0 20px 0 84px;gap:2rem;position:relative;z-index:1}.loc-map-container{position:relative;width:100%;max-width:960px;margin:0 auto;padding-top:3rem;overflow:visible}.loc-map-inner{position:relative;width:100%;aspect-ratio:100 / 60}.loc-map-svg{width:100%;height:100%;display:block}.loc-dot-matrix{opacity:0;animation:dotMatrixIn 1.2s ease-out .3s forwards}@keyframes dotMatrixIn{0%{opacity:0;filter:blur(1px)}to{opacity:1;filter:blur(0)}}.loc-connection-arcs{opacity:0;animation:arcsIn 1s ease-out .8s forwards}@keyframes arcsIn{0%{opacity:0}to{opacity:1}}.loc-arc-glow{opacity:.4}.loc-arc-line{opacity:.6}.loc-arc-line--trans{opacity:.35}.loc-arc-flow{animation:arcFlow 4s linear infinite}@keyframes arcFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-15.2}}.loc-city-labels{opacity:0;animation:dotMatrixIn 1s ease-out 1.2s forwards}.loc-city-label{font-size:1.8px;fill:#ffffff73;font-family:Inter,-apple-system,sans-serif;font-weight:500;paint-order:stroke;stroke:#0009;stroke-width:.3px;pointer-events:none}.loc-traffic-particle{opacity:0;animation:particlesIn .8s ease-out 1.5s forwards}@keyframes particlesIn{0%{opacity:0}to{opacity:1}}.loc-server-dots-svg{opacity:0;animation:dotMatrixIn .8s ease-out 1s forwards}.loc-map-fade-bottom{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--color-bg-base),transparent);pointer-events:none;z-index:4}.loc-map-dot{position:absolute;z-index:5;transform:translate(-50%,-50%);cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.loc-dot-pulse{position:absolute;width:100%;height:100%;border-radius:50%;border:1.5px solid var(--color-accent);animation:locPulse 3s ease-out infinite;opacity:.4}.loc-dot-pulse--delayed{animation-delay:1.5s;opacity:.25}.loc-map-dot--best .loc-dot-pulse{animation-duration:2s;border-width:2px}.loc-map-dot--best .loc-dot-pulse--delayed{animation-delay:1s}@keyframes locPulse{0%{transform:scale(1);opacity:.5}to{transform:scale(3.5);opacity:0}}.loc-dot-core{width:10px;height:10px;border-radius:50%;background-color:var(--color-accent);position:relative;z-index:2;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.loc-map-dot:hover .loc-dot-core,.loc-map-dot--active .loc-dot-core{transform:scale(1.5)}.loc-map-dot--best .loc-dot-core{width:13px;height:13px}.loc-dot-tooltip{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);background:#0a0c12eb;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 14px;white-space:nowrap;pointer-events:none;z-index:10;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff0f}.loc-dot-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#0a0c12eb}.loc-dot-tooltip-city{font-size:.75rem;color:var(--color-text-primary);font-weight:600}.loc-dot-tooltip-ping{font-size:.72rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace}.loc-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;max-width:960px;margin:0 auto}.loc-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;background:#ffffff06;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);border-radius:14px;cursor:pointer;transition:background .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);text-align:left;overflow:hidden;font-family:inherit;color:inherit;box-shadow:inset 0 1px #ffffff0a,0 2px 8px #0000001a}.loc-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 40%,rgba(255,255,255,.01) 100%);pointer-events:none;z-index:0}.loc-card:hover{background:#ffffff0b;border-color:#ffffff1f;transform:translateY(-3px);box-shadow:inset 0 1px #ffffff0f,0 12px 40px #0000004d,0 0 0 1px #ffffff08}.loc-card--active{border-color:#2ed0f840;background:#2ed0f809;box-shadow:inset 0 1px #2ed0f80f,0 0 24px #2ed0f80f,0 0 48px #2ed0f808}.loc-card--best{border-color:#0f83;background:#00ff8806;box-shadow:inset 0 1px #00ff880d,0 0 24px #00ff880d,0 0 48px #00ff8806}.loc-card--best:hover{border-color:#00ff8859;transform:translateY(-3px);box-shadow:inset 0 1px #00ff8812,0 0 32px #00ff8814,0 12px 40px #00000040}.loc-card-glow-border{position:absolute;inset:-1px;border-radius:inherit;background:conic-gradient(from 0deg,transparent 0%,rgba(0,255,136,.3) 15%,transparent 30%,transparent 100%);z-index:-1;animation:borderSpin 4s linear infinite;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;padding:1px;pointer-events:none}@keyframes borderSpin{to{transform:rotate(360deg)}}.loc-card-best-badge{position:absolute;top:10px;right:10px;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#0f8;background:#00ff881a;border:1px solid rgba(0,255,136,.18);padding:3px 8px;border-radius:6px;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1}.loc-card-header{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.loc-card-flag{width:26px;height:18px;object-fit:cover;border-radius:4px;flex-shrink:0;box-shadow:0 1px 4px #00000059}.loc-card-info{display:flex;flex-direction:column;min-width:0;flex:1}.loc-card-city{font-size:.85rem;font-weight:600;color:var(--color-text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-card-country{font-size:.7rem;color:var(--color-text-muted);line-height:1.3}.loc-card-signal{display:flex;align-items:flex-end;gap:2px;height:18px;flex-shrink:0;padding-left:4px}.loc-signal-bar{width:3px;border-radius:1px;background:#ffffff14;transition:background-color .4s ease,height .4s ease}.loc-signal-bar--active{box-shadow:0 0 4px currentColor}.loc-card-ping-row{display:flex;align-items:center;gap:8px;position:relative;z-index:1}.loc-card-ping-bar-bg{flex:1;height:4px;background:#ffffff0d;border-radius:3px;overflow:hidden}.loc-card-ping-bar{height:100%;border-radius:3px;min-width:0;position:relative;box-shadow:0 0 10px var(--ping-glow, transparent)}.loc-card-ping-bar:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);animation:barShimmer 2s ease-in-out infinite}@keyframes barShimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.loc-card-ping-value{font-size:.8rem;font-weight:700;font-family:JetBrains Mono,SF Mono,monospace;white-space:nowrap;min-width:42px;text-align:right;position:relative;z-index:1}.loc-card-ms{font-size:.85rem}.loc-card-unit{font-size:.65rem;opacity:.6;margin-left:1px}.loc-card-testing{font-size:.7rem;color:var(--color-text-muted);animation:locBlink 1.2s ease-in-out infinite}@keyframes locBlink{0%,to{opacity:.3}50%{opacity:1}}.loc-card-error,.loc-card-waiting{color:var(--color-text-muted)}.loc-card-quality{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.75;position:relative;z-index:1}.loc-card-indicator{position:absolute;bottom:0;left:0;right:0;height:2px;opacity:0;transition:opacity .3s ease;box-shadow:0 0 12px currentColor}.loc-card:hover .loc-card-indicator,.loc-card--active .loc-card-indicator,.loc-card--best .loc-card-indicator{opacity:1}.loc-card--best .loc-card-indicator{opacity:1;animation:indicatorPulse 2s ease-in-out infinite}@keyframes indicatorPulse{0%,to{opacity:.6}50%{opacity:1}}.loc-stats{display:flex;align-items:center;justify-content:center;gap:3rem;padding:2rem 0;width:100%;max-width:960px;margin:0 auto;border-top:1px solid rgba(255,255,255,.04)}.loc-stat{display:flex;align-items:center;gap:10px}.loc-stat-number{font-size:1.6rem;font-weight:700;color:var(--color-accent);font-family:Drukwide,sans-serif;line-height:1}.loc-stat-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.loc-stat-value{font-size:.85rem;color:var(--color-text-primary);font-weight:600}.loc-stat--best{flex-direction:column;align-items:flex-start;gap:3px}@media(max-width:1100px){.loc-header{margin-left:20px}.loc-content{padding-left:20px}}@media(max-width:900px){.loc-cards-grid{grid-template-columns:repeat(4,1fr);gap:8px}.loc-card{padding:14px}.loc-card-signal{display:none}}@media(max-width:768px){.loc-cards-grid{grid-template-columns:repeat(2,1fr);gap:10px}.loc-map-dot{width:24px;height:24px}.loc-dot-core{width:8px;height:8px}.loc-map-dot--best .loc-dot-core{width:10px;height:10px}.loc-stats{flex-direction:column;gap:1rem;align-items:center}.loc-stat--best{align-items:center}.loc-card-signal{display:none}}@media(max-width:480px){.loc-header{margin-left:var(--space-3);margin-right:var(--space-3)}.loc-content{padding-left:var(--space-3);padding-right:var(--space-3)}.loc-cards-grid{grid-template-columns:repeat(2,1fr);gap:8px}.loc-card{padding:12px;gap:8px;border-radius:12px}.loc-card-city{font-size:.78rem}.loc-card-flag{width:22px;height:15px}.loc-map-dot{width:20px;height:20px}.loc-dot-core{width:6px;height:6px}.loc-map-dot--best .loc-dot-core{width:8px;height:8px}.loc-dot-tooltip{display:none}.loc-section:before{width:300px;height:300px}}
