.vpn-page{--vpn-accent:var(--accent,#ffe600)}
/* Small maritime beacon: 10 px ring, maximum 13 px, never a broad glow. */
.vpn-page .vpn-pin{background:transparent;border:0;padding:0;box-sizing:border-box}.vpn-page .vpn-pin i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:5px;height:5px;box-shadow:0 0 3px currentColor}.vpn-page .vpn-pin.is-selected{background:transparent;border:0}.vpn-page .vpn-pin.is-selected i{width:6px;height:6px}.vpn-page .vpn-pin::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;box-sizing:border-box;border:1px solid currentColor;border-radius:50%;opacity:0;animation:vpn-beacon 2.6s ease-out infinite;animation-delay:var(--beacon-delay,0s);animation-play-state:paused;pointer-events:none}.vpn-page .vpn-globe-stage.is-live .vpn-pin::after{animation-play-state:running}.motion-paused .vpn-page .vpn-pin::after{animation-play-state:paused}.lite .vpn-page .vpn-pin::after{animation:none;opacity:0}.vpn-globe-stage:focus-visible{outline:2px solid var(--vpn-accent);outline-offset:-4px}@keyframes vpn-beacon{0%{opacity:0;transform:scale(.55)}18%{opacity:.7}100%{opacity:0;transform:scale(1.3)}}
.vpn-country-heading{width:100%;text-align:left}.vpn-country-heading:focus-visible{outline:2px solid var(--vpn-accent);outline-offset:-2px}
.vpn-shell{display:grid;grid-template-columns:320px minmax(0,1fr);background:#0e0e16;border:1px solid var(--line);border-radius:24px;overflow:hidden;min-width:0}
.vpn-sidebar{padding:24px 20px;border-right:1px solid var(--line);background:linear-gradient(150deg,#1a1a20,#0e0e16 45%);min-width:0}.vpn-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.vpn-status i{width:6px;height:6px;background:#777985;border-radius:50%}.vpn-sidebar-heading{display:flex;align-items:center;gap:14px;margin:25px 0 18px}.vpn-sidebar-heading>.ic{width:34px;height:34px;color:var(--vpn-accent)}.vpn-sidebar-heading h2{font-size:19px;margin:0 0 5px}.vpn-sidebar-heading p{margin:0;color:var(--muted);font-size:12px}.vpn-subscription{border:1px solid color-mix(in srgb,var(--vpn-accent) 20%,transparent);border-radius:12px;padding:13px;background:var(--accent-soft)}.vpn-subscription b{font-size:11px;color:var(--vpn-accent)}.vpn-subscription p{font-size:11px;color:var(--muted);line-height:1.6;margin:6px 0 0}
.vpn-search{position:relative;margin-top:22px}.vpn-search>.ic{position:absolute;left:12px;top:13px;width:16px;height:16px;color:var(--muted)}.vpn-search .input{width:100%;padding-left:38px;min-width:0;font-size:12px}.vpn-filters{display:flex;gap:3px;padding:5px 0;margin:10px 0 16px}.vpn-filters button{padding:7px 9px;border-radius:8px;font-size:10px;color:var(--muted)}.vpn-filters button[aria-pressed=true]{background:var(--accent-soft);color:var(--vpn-accent)}.vpn-filters button:focus-visible,.vpn-city:focus-visible,.vpn-favorite:focus-visible{outline:2px solid var(--vpn-accent);outline-offset:-2px}
.vpn-list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px;font-size:11px}.vpn-count{font-size:10px;color:var(--muted)}.vpn-location-list{max-height:350px;min-height:160px;overflow:auto;overscroll-behavior:contain;padding-right:5px;scrollbar-gutter:stable}.vpn-country+.vpn-country{margin-top:14px}.vpn-country-heading{display:flex;align-items:center;gap:9px;font-size:11px;padding:7px 2px;color:var(--text)}.vpn-country-heading small{margin-left:auto;color:var(--muted)}.vpn-country-code{font:9px var(--mono);border:1px solid var(--line);border-radius:5px;padding:4px;color:var(--muted);min-width:25px;text-align:center}.vpn-city-row{display:flex;align-items:stretch;gap:3px}.vpn-city{display:flex;align-items:center;text-align:left;gap:10px;padding:10px;border-radius:10px;flex:1;min-width:0}.vpn-city>i{width:5px;height:5px;border:1px solid #84848e;border-radius:50%;flex:none}.vpn-city>span:nth-child(2){flex:1;min-width:0}.vpn-city b{font-size:12px;font-weight:500;display:block;overflow-wrap:anywhere}.vpn-city small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.vpn-city-arrow{font-size:12px;color:var(--muted)}.vpn-city[aria-pressed=true]{background:var(--accent-soft);color:var(--vpn-accent)}.vpn-city[aria-pressed=true]>i{background:var(--vpn-accent);border-color:var(--vpn-accent)}.vpn-favorite{color:var(--muted);padding:8px;font-size:18px;flex:none;border-radius:8px}.vpn-favorite[aria-pressed=true]{color:var(--vpn-accent)}
.vpn-globe-panel{display:flex;flex-direction:column;min-width:0;position:relative;background:radial-gradient(ellipse at 45% 48%,#202018,#0d0d15 65%)}.vpn-globe-toolbar{padding:23px 26px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;z-index:2}.vpn-globe-toolbar>span{font:9px var(--mono);letter-spacing:.13em;color:var(--vpn-accent);display:flex;align-items:center;gap:8px}.vpn-globe-toolbar>span i{width:4px;height:4px;border-radius:50%;background:currentColor}.vpn-globe-toolbar>div{display:flex;gap:5px}.vpn-globe-toolbar .btn{font-size:10px;padding:7px 10px;box-shadow:none}.vpn-globe-stage{position:relative;height:470px;min-height:340px;overflow:hidden;cursor:grab;touch-action:pan-y;isolation:isolate}.vpn-globe-stage.is-dragging{cursor:grabbing;touch-action:none}.vpn-globe-canvas{width:100%;height:100%;display:block;touch-action:none}.vpn-globe-pins{position:absolute;inset:0;pointer-events:none}.vpn-pin{position:absolute;left:0;top:0;pointer-events:auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:-12px;border-radius:50%;color:var(--vpn-accent);background:color-mix(in srgb,var(--vpn-accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--vpn-accent) 40%,transparent);z-index:1}.vpn-pin i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor}.vpn-pin span{display:none;position:absolute;left:27px;white-space:nowrap;font-size:10px;font-weight:600;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#101019;color:var(--text)}.vpn-pin.is-selected{border-color:var(--vpn-accent);background:var(--accent-soft);z-index:3}.vpn-pin.is-selected i{width:7px;height:7px}.vpn-pin.is-selected span,.vpn-pin:focus-visible span{display:block}.vpn-pin:focus-visible{outline:2px solid var(--vpn-accent);outline-offset:4px}.vpn-render-note{position:absolute;bottom:15px;left:24px;color:var(--muted);font-size:10px}.vpn-render-note:empty{display:none}
.vpn-globe-hint{padding:0 26px 17px;display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}.vpn-globe-hint span:last-child{white-space:nowrap}.vpn-selection{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 22px 22px;padding:20px 22px;border:1px solid color-mix(in srgb,var(--vpn-accent) 23%,transparent);border-radius:17px;background:linear-gradient(125deg,#202019,#101018)}.vpn-selection-label{font:8px var(--mono);letter-spacing:.13em;color:var(--muted)}.vpn-selection h2{font-size:26px;margin:7px 0 5px}.vpn-selection>div>span:last-child{font-size:11px;color:var(--muted)}.vpn-selection>div:last-child{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.vpn-selection .btn{font-size:12px}.vpn-selection .badge{font-size:9px}.vpn-footnote{display:flex;gap:10px;align-items:flex-start;margin:18px 5px;color:var(--muted);font-size:11px;line-height:1.7}.vpn-footnote .ic{width:17px;height:17px;flex:none;margin-top:3px}.vpn-footnote p{margin:0}
.vpn-readiness{border:1px solid var(--line);border-radius:16px;padding:18px 22px;background:#0e0e16}.vpn-readiness summary{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600;cursor:pointer;list-style:none}.vpn-readiness summary:after{content:'+';margin-left:auto;color:var(--vpn-accent)}.vpn-readiness[open] summary:after{content:'−'}.vpn-readiness summary::-webkit-details-marker{display:none}.vpn-readiness summary:focus-visible{outline:2px solid var(--vpn-accent);outline-offset:4px}.vpn-readiness-body{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}.vpn-message{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 15px}.vpn-readiness dl{display:grid;grid-template-columns:auto auto;justify-content:start;gap:8px 18px;font-size:10px;margin:0}.vpn-readiness dt{color:var(--muted)}.vpn-readiness dd{margin:0}.vpn-checking .vpn-readiness .btn>.ic{animation:vpn-check 1.5s linear infinite}.lite .vpn-checking .vpn-readiness .btn>.ic{animation:none}@keyframes vpn-check{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){.vpn-city:hover,.vpn-favorite:hover{background:#ffffff06}.vpn-pin:hover{z-index:4}.vpn-pin:hover span{display:block}.vpn-globe-pins:has(.vpn-pin:not(.is-selected):hover) .vpn-pin.is-selected span{display:none}}
.vpn-globe-pins:has(.vpn-pin:not(.is-selected):focus-visible) .vpn-pin.is-selected span{display:none}
@media(max-width:1100px){.vpn-shell{grid-template-columns:280px minmax(0,1fr)}.vpn-globe-toolbar{padding:18px 18px 0;flex-wrap:wrap}.vpn-globe-stage{height:430px}.vpn-selection{padding:17px;margin:0 15px 18px;flex-wrap:wrap}.vpn-selection>div:last-child{align-items:flex-start}.vpn-globe-hint{padding:0 18px 15px;flex-wrap:wrap}}
@media(max-width:760px){.vpn-shell{display:flex;flex-direction:column}.vpn-sidebar{order:2;border-right:0;border-top:1px solid var(--line)}.vpn-globe-panel{order:1}.vpn-globe-stage{height:370px;min-height:300px}.vpn-globe-toolbar>span{font-size:8px}.vpn-globe-toolbar .btn{font-size:9px}.vpn-selection{padding:16px}.vpn-selection h2{font-size:23px}.vpn-globe-hint{font-size:9px}.vpn-location-list{max-height:320px}.vpn-readiness-body{align-items:flex-start;flex-direction:column}.vpn-filters button{font-size:11px;padding:8px 11px}.vpn-search .input{font-size:16px}}

.vpn-coming-message{min-height:18px;color:var(--vpn-accent);font-size:12px}.vpn-coming-message p{margin:0}
