/* NexIP MCP Radar Geography. Self-hosted vector map, light/dark adaptive. */
.mcp-geo{--geo-accent:#36cebb;--geo-gold:#febc70;--geo-stroke:rgba(134,167,185,.18);--geo-ink:var(--text-primary,var(--text-color,#e6f6ff));--geo-muted:var(--text-muted,#90a7b8);--geo-card:rgba(18,42,57,.62);font-family:inherit;line-height:1.45;color:var(--geo-ink);isolation:isolate}
.mcp-geo *{box-sizing:border-box}.mcp-geo-frame{max-width:1600px;padding:clamp(1rem,2.7vw,2.8rem);margin:0 auto}
.mcp-geo-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.4rem,5vw,4rem) clamp(1.3rem,5vw,4rem);border-radius:28px;background:radial-gradient(ellipse at 95% 0%,rgba(59,197,175,.28),transparent 36%),radial-gradient(ellipse at 10% 95%,rgba(31,84,148,.15),transparent 46%),linear-gradient(125deg,#0b1a2a,#142e3f 70%,#09282d);color:#edfafd;position:relative;overflow:hidden;border:1px solid rgba(135,210,219,.16)}
.mcp-geo-hero:after{content:"";position:absolute;right:10%;top:-42%;width:380px;height:380px;border-radius:50%;border:1px solid rgba(134,218,224,.24);box-shadow:0 0 0 58px rgba(133,230,220,.035),0 0 0 112px rgba(133,230,220,.025);pointer-events:none}
.mcp-geo-hero-content{position:relative;z-index:1;max-width:760px}.mcp-geo-eyebrow,.mcp-geo-overline{font-size:.69rem;font-weight:850;letter-spacing:.17em;color:var(--geo-accent);text-transform:uppercase;margin:0 0 .75rem}.mcp-geo-live{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 .65rem 0 0;background:var(--geo-accent);box-shadow:0 0 16px #36cebb}
.mcp-geo h1{font-size:clamp(2rem,5.5vw,4.4rem);letter-spacing:-.063em;line-height:1.03;margin:0 0 1.2rem;font-weight:850}.mcp-geo-globe{color:var(--geo-accent);font-size:.7em;margin-left:.25em}.mcp-geo-lead{font-size:clamp(.91rem,1.5vw,1.12rem);line-height:1.75;color:rgba(235,251,255,.74);max-width:630px}.mcp-geo-back{display:inline-flex;margin-top:1rem;color:#dcffff;font-weight:750;font-size:.82rem;text-decoration:none;border-bottom:1px solid rgba(101,240,225,.5);padding-bottom:.25rem}.mcp-geo-back:hover{color:var(--geo-accent)}
.mcp-geo-feature-note{z-index:1;display:grid;gap:.4rem;min-width:190px;padding:1.2rem 1.4rem;border:1px solid rgba(151,242,236,.25);border-radius:17px;background:rgba(7,30,45,.58);backdrop-filter:blur(12px)}.mcp-geo-feature-note span,.mcp-geo-feature-note small{font-size:.7rem;letter-spacing:.07em;color:rgba(225,248,252,.6)}.mcp-geo-feature-note strong{font-weight:800;font-size:1.12rem}
.mcp-geo-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1rem 0 1.3rem}.mcp-geo-metric{border:1px solid var(--geo-stroke);border-radius:16px;padding:1rem 1.2rem;min-width:0;background:var(--card-bg,var(--surface,rgba(22,36,46,.055)));display:grid;gap:.35rem}.mcp-geo-metric span{font-size:.74rem;color:var(--geo-muted);line-height:1.4}.mcp-geo-metric strong{font-size:clamp(1.15rem,2vw,1.9rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-weight:850}
.mcp-geo-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:1.15rem;align-items:start}.mcp-geo-map-panel,.mcp-geo-ranking{background:var(--card-bg,var(--surface,rgba(11,29,41,.04)));border:1px solid var(--geo-stroke);border-radius:22px;min-width:0;padding:1.15rem}.mcp-geo-panel-top{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.15rem .35rem 1rem}.mcp-geo h2{margin:0;font-size:clamp(1.05rem,1.8vw,1.4rem);letter-spacing:-.035em}.mcp-geo-filter{display:grid;gap:.3rem;font-size:.67rem;color:var(--geo-muted);font-weight:700}.mcp-geo-filter select{min-width:145px;max-width:100%;border:1px solid var(--geo-stroke);border-radius:10px;padding:.62rem .75rem;background:var(--card-bg,var(--surface,#142e3f));color:inherit;font:inherit;font-size:.78rem}
.mcp-geo-canvas{position:relative;border:1px solid rgba(110,193,208,.14);border-radius:17px;overflow:hidden;background:radial-gradient(ellipse at 48% 48%,rgba(31,85,115,.45),transparent 64%),linear-gradient(142deg,#071926,#0d2737);aspect-ratio:1.7;min-height:270px;user-select:none;touch-action:none}
.mcp-geo-canvas svg{display:block;width:100%;height:100%;min-height:270px;cursor:grab;position:relative;z-index:1;color:#c3deee}.mcp-geo-canvas svg:active{cursor:grabbing}
.mcp-geo-orbit{position:absolute;pointer-events:none;width:84%;aspect-ratio:1;border-radius:50%;left:8%;top:-50%;border:1px solid rgba(146,216,223,.07)}.mcp-geo-orbit-two{width:110%;left:-5%;top:-75%}
.mcp-geo-country{fill:#1f4859;stroke:rgba(154,207,220,.29);stroke-width:.58;vector-effect:non-scaling-stroke;transition:fill .15s ease;cursor:pointer}.mcp-geo-country[data-count="0"]{fill:#204153}.mcp-geo-country:hover,.mcp-geo-country.is-active{stroke:#b8fff3;stroke-width:1.4;fill:#3aa79b;filter:drop-shadow(0 0 3px rgba(54,206,187,.55))}.mcp-geo-country:focus-visible{outline:none;stroke:#ffe19e;stroke-width:2}.mcp-geo-country.geo-tier-1{fill:#27766d}.mcp-geo-country.geo-tier-2{fill:#249c8d}.mcp-geo-country.geo-tier-3{fill:#43c3ac}.mcp-geo-country.geo-tier-4{fill:#a2e8c8}
.mcp-geo-bubble{fill:#d5fff4;stroke:#072c35;stroke-width:2;cursor:pointer;opacity:.9;filter:drop-shadow(0 0 5px rgba(64,244,205,.43))}.mcp-geo-bubble-label{fill:#072a36;font-weight:850;font-size:11px;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.mcp-geo-pin{fill:#ffcd81;stroke:#143a45;stroke-width:2;filter:drop-shadow(0 0 4px rgba(255,177,88,.7));cursor:pointer}
.mcp-geo-controls{position:absolute;z-index:3;top:.85rem;right:.85rem;display:grid;gap:.35rem}.mcp-geo-controls button{display:grid;place-items:center;width:37px;height:37px;background:rgba(6,27,41,.83);border:1px solid rgba(145,212,221,.29);border-radius:10px;color:#dbfbff;font-weight:850;font-size:1.2rem;cursor:pointer}.mcp-geo-controls button:hover{background:#237368}.mcp-geo-map-badge{position:absolute;bottom:1rem;left:1rem;color:rgba(208,247,254,.57);font-size:.63rem;letter-spacing:.12em;font-weight:800;pointer-events:none;z-index:2}.mcp-geo-map-status{position:absolute;bottom:1rem;right:1rem;z-index:2;font-size:.7rem;color:#d1f9fa;max-width:47%;text-align:right;pointer-events:none}
.mcp-geo-hint{font-size:.73rem;color:var(--geo-muted);padding:0 .35rem;line-height:1.5}.mcp-geo-detail-panel{display:grid;gap:.85rem;border:1px solid var(--geo-stroke);background:var(--card-bg,var(--surface,transparent));padding:1rem;border-radius:14px;margin:.85rem 0 0}.mcp-geo-detail-panel h3{margin:0;font-size:1.1rem}.mcp-geo-detail-panel p{margin:.3rem 0;font-size:.78rem;color:var(--geo-muted)}.mcp-geo-server-list{display:grid;gap:.5rem;max-height:300px;overflow:auto}.mcp-geo-server-item{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding:.62rem .75rem;border:1px solid var(--geo-stroke);border-radius:10px;text-decoration:none;color:inherit}.mcp-geo-server-item strong{font-size:.76rem;overflow-wrap:anywhere;max-width:84%}.mcp-geo-server-item span{font-size:.68rem;color:var(--geo-muted)}.mcp-geo-server-item:hover{border-color:#51bdb5}
.mcp-geo-ranking{position:sticky;top:1rem}.mcp-geo-rank-heading{padding:.4rem .45rem .85rem}.mcp-geo-rank-heading p:last-child{color:var(--geo-muted);font-size:.71rem;line-height:1.7}.mcp-geo-ranking-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem;max-height:655px;overflow:auto}.mcp-geo-ranking-list li{margin:0}.mcp-geo-rank-btn{display:flex;width:100%;align-items:center;gap:.65rem;background:transparent;border:1px solid transparent;border-radius:10px;padding:.65rem .5rem;cursor:pointer;color:inherit;text-align:left;font:inherit}.mcp-geo-rank-btn:hover,.mcp-geo-rank-btn[aria-current="true"]{border-color:var(--geo-stroke);background:rgba(64,178,161,.09)}.mcp-geo-rank-number{width:20px;color:var(--geo-muted);font-size:.72rem}.mcp-geo-flag{font-size:1.25rem;line-height:1}.mcp-geo-rank-name{font-size:.79rem;font-weight:680;flex:1;min-width:0;overflow-wrap:anywhere}.mcp-geo-rank-count{font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:850}.mcp-geo-coverage{border-top:1px solid var(--geo-stroke);margin-top:1rem;padding:.7rem .4rem .1rem}.mcp-geo-coverage p{display:flex;justify-content:space-between;color:var(--geo-muted);font-size:.75rem}.mcp-geo-coverage strong{color:inherit}.mcp-geo-coverage-track{border-radius:99px;overflow:hidden;height:7px;background:rgba(125,158,172,.2)}.mcp-geo-coverage-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#3d86b8,#42d9ad);transition:width .4s}
.mcp-geo-disclaimer{margin:1.25rem 0 .5rem;padding:1rem 1.2rem;background:var(--card-bg,var(--surface,rgba(20,43,57,.06)));border-radius:13px;border:1px solid var(--geo-stroke);font-size:.77rem;color:var(--geo-muted);line-height:1.75}.mcp-geo-source-note{font-size:.68rem;color:var(--geo-muted);opacity:.8;padding:.5rem .4rem 1.4rem}
.mcp-geo button:focus-visible,.mcp-geo select:focus-visible,.mcp-geo a:focus-visible{outline:2px solid #3ec9b7;outline-offset:3px}
@media(min-width:0){.mcp-geo .mcp-geo-eyebrow{color:#69e8d2}}
@media(max-width:1100px){.mcp-geo-content{grid-template-columns:minmax(0,1fr) 295px}.mcp-geo-feature-note{display:none}}
@media(max-width:850px){.mcp-geo-content{grid-template-columns:1fr}.mcp-geo-ranking{position:static}.mcp-geo-ranking-list{max-height:400px}.mcp-geo-canvas{aspect-ratio:1.6}}
@media(max-width:600px){.mcp-geo-frame{padding:.7rem}.mcp-geo-hero{border-radius:18px;padding:1.7rem 1.2rem}.mcp-geo h1{font-size:clamp(1.9rem,9vw,3rem)}.mcp-geo-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.mcp-geo-metric{padding:.8rem;border-radius:12px}.mcp-geo-map-panel,.mcp-geo-ranking{padding:.65rem;border-radius:15px}.mcp-geo-panel-top{align-items:flex-start;flex-direction:column}.mcp-geo-filter{width:100%}.mcp-geo-filter select{width:100%}.mcp-geo-canvas{aspect-ratio:1.12;min-height:305px}.mcp-geo-canvas svg{min-height:305px}.mcp-geo-map-status{max-width:65%;font-size:.63rem}.mcp-geo-hint{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.mcp-geo *{transition:none!important;animation:none!important}}


/* V17: single-purpose MCP location-evidence search. Matches theme tokens. */
.mcp-geo-search{margin:.8rem 0 1rem;padding:1rem;border:1px solid var(--geo-stroke);border-radius:14px;background:var(--card-bg,var(--surface,rgba(20,43,57,.06)))}
.mcp-geo-search>label{display:block;font-size:.85rem;font-weight:750;letter-spacing:.01em;margin-bottom:.45rem;color:var(--geo-ink)}
.mcp-geo-search-controls{display:flex;gap:.55rem;align-items:stretch}
.mcp-geo-search-controls input{min-width:0;flex:1;border:1px solid var(--geo-stroke);border-radius:10px;padding:.8rem .9rem;background:var(--geo-bg,var(--card-bg,#142631));color:var(--geo-ink);font:inherit;font-size:.93rem;outline:none}
.mcp-geo-search-controls input:focus-visible{border-color:#42d9ad;box-shadow:0 0 0 2px rgba(66,217,173,.2)}
.mcp-geo-search-controls input::placeholder{color:var(--geo-muted);opacity:.86}
.mcp-geo-search-controls button{flex:none;border:1px solid rgba(66,217,173,.4);border-radius:10px;padding:.7rem 1rem;background:#175d63;color:#f6fffd;font:inherit;font-weight:750;font-size:.9rem;cursor:pointer;transition:background .2s}
.mcp-geo-search-controls button:hover{background:#21777b}
.mcp-geo-search-status{margin:.5rem 0 0;color:var(--geo-muted);font-size:.79rem;line-height:1.5}
.mcp-geo-search-status:empty{display:none}
.mcp-geo-search-results{display:grid;gap:.4rem;margin-top:.65rem;max-height:385px;overflow:auto;overscroll-behavior:contain}
.mcp-geo-search-results[hidden]{display:none}
.mcp-geo-search-row{display:flex;align-items:center;gap:.65rem;padding:.45rem;border:1px solid var(--geo-stroke);border-radius:10px;background:var(--geo-bg,var(--card-bg,transparent))}
.mcp-geo-search-link{display:flex;flex:1;min-width:0;flex-direction:column;gap:.16rem;padding:.25rem .35rem;color:var(--geo-ink);text-decoration:none}
.mcp-geo-search-link strong{font-weight:720;line-height:1.35;font-size:.87rem;overflow-wrap:anywhere}
.mcp-geo-search-link small{color:var(--geo-muted);font-size:.73rem;overflow-wrap:anywhere}
.mcp-geo-search-country{flex:0 0 auto;max-width:38%;border:1px solid var(--geo-stroke);border-radius:8px;background:transparent;color:var(--geo-ink);font:inherit;font-size:.78rem;cursor:pointer;padding:.5rem .6rem}
.mcp-geo-search-country:hover{border-color:#42d9ad}
@media(max-width:600px){.mcp-geo-search{padding:.7rem}.mcp-geo-search-controls{flex-direction:column}.mcp-geo-search-controls button{width:100%}.mcp-geo-search-country{max-width:43%;font-size:.7rem;padding:.4rem}.mcp-geo-search-link strong{font-size:.8rem}}


/* V18 premium country-cluster UX. Marker grouping does not claim server GPS. */
.mcp-geo-legend{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.15rem 0 .7rem;padding:.65rem .8rem;border:1px solid var(--geo-stroke);border-radius:12px;background:var(--card-bg,rgba(20,40,50,.06));color:var(--geo-muted);font-size:.78rem;line-height:1.4}
.mcp-geo-legend-dot{display:inline-block;flex:0 0 auto;width:.75rem;height:.75rem;border-radius:50%;background:#b2ffe9;box-shadow:0 0 0 4px rgba(74,212,197,.15)}
.mcp-geo-legend-count{margin-inline-start:auto;font-variant-numeric:tabular-nums;white-space:nowrap}.mcp-geo-legend-count strong{color:var(--geo-ink)}
.mcp-geo-marker{cursor:pointer}.mcp-geo-marker .mcp-geo-bubble-halo{fill:none;stroke:#b4fceb;stroke-opacity:.2;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}
.mcp-geo-marker.is-cluster .mcp-geo-bubble-cluster{fill:#facb91;stroke:#173b4e;stroke-width:2.2;filter:drop-shadow(0 0 5px rgba(255,197,113,.45))}
.mcp-geo-marker.is-cluster .mcp-geo-bubble-halo{stroke:#ffc986;stroke-opacity:.35}
.mcp-geo-marker:hover .mcp-geo-bubble,.mcp-geo-marker:focus-visible .mcp-geo-bubble{stroke:#f4ffff;stroke-width:3;filter:drop-shadow(0 0 7px rgba(81,246,219,.75))}
.mcp-geo-marker:focus-visible{outline:none}
.mcp-geo-rank-btn{position:relative;isolation:isolate;overflow:hidden}
.mcp-geo-rank-btn::before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--geo-rank-width,0%);border-radius:inherit;background:linear-gradient(90deg,rgba(40,182,163,.19),rgba(40,182,163,.035));pointer-events:none}
.mcp-geo-ranking-toggle{width:100%;margin:.7rem 0 .4rem;padding:.72rem .85rem;border:1px solid var(--geo-stroke);border-radius:12px;background:var(--card-bg,transparent);color:var(--geo-ink);font:inherit;font-weight:750;font-size:.85rem;cursor:pointer;transition:border-color .2s,background .2s}
.mcp-geo-ranking-toggle:hover,.mcp-geo-ranking-toggle:focus-visible{border-color:#42d9ad;background:rgba(60,176,154,.1)}
.mcp-geo-ranking-toggle[hidden]{display:none}
@media(max-width:600px){.mcp-geo-legend{font-size:.75rem;padding:.6rem}.mcp-geo-legend-count{margin-inline-start:0;width:100%}}
