:root{color-scheme:dark;--bg:#0b0813;--panel:#12101d;--panel2:#1b1727;--line:#30283e;--text:#f6f1ff;--muted:#91899e;--subtle:#6f667d;--purple:#a57aff;--purple2:#6f36d1;--green:#72deb2;--yellow:#f3c576;--red:#ef8caa;--blue:#7aaeea}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:radial-gradient(circle at 70% -30%,#201034 0,transparent 39%),var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}
.shell{max-width:1800px;min-height:100vh;margin:auto;padding:0 36px}
.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff12}
.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{border-radius:11px;object-fit:cover;box-shadow:0 0 24px #803dee40}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{font-size:18px;line-height:1;letter-spacing:.21em;font-weight:800}.brand-copy small{color:var(--purple);font-size:10px;letter-spacing:.25em;font-weight:700}
.topbar-right{display:flex;align-items:center;gap:14px;color:var(--muted);font:12px/1.4 "Cascadia Code",Consolas,monospace}.demo-pill{padding:6px 9px;border:1px solid #ad85ff66;border-radius:6px;background:#a57aff19;color:#cbaeff;font-size:10px;letter-spacing:.12em}.demo-pill[hidden]{display:none}.live-light{width:7px;height:7px;border-radius:50%;background:#70677e;box-shadow:0 0 0 4px #70677e20}.live-light.active{background:var(--green);box-shadow:0 0 0 4px #72deb21e,0 0 15px #72deb288}
.layout{display:grid;grid-template-columns:minmax(335px,460px) minmax(0,1fr);min-height:calc(100vh - 152px);gap:0}.sidebar{padding:52px 32px 42px 2px;min-width:0;border-right:1px solid #ffffff12}.intro{padding:0 10px 24px}.eyebrow{font:11px/1.4 "Cascadia Code",Consolas,monospace;letter-spacing:.19em;color:var(--purple);font-weight:700}.eyebrow-line{display:inline-block;vertical-align:middle;width:22px;height:1px;margin-right:10px;background:var(--purple)}h1,h2,p{margin:0}.intro h1{font-size:clamp(43px,4vw,67px);line-height:.97;letter-spacing:-.058em;margin:22px 0 17px;font-weight:780}.intro h1 em{font-style:normal;color:var(--purple)}.intro p{max-width:320px;font-size:14px;line-height:1.7;color:#a69cb5}
.overall{display:flex;align-items:center;gap:14px;margin:3px 0 34px;padding:17px 18px;background:linear-gradient(115deg,#20192e,#171321);border:1px solid #a57aff44;border-radius:15px;box-shadow:inset 0 1px #ffffff0b}.overall-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#a57aff1d;color:var(--purple);font-size:27px;line-height:1}.overall-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.overall-copy strong{font-size:14px;line-height:1.35}.overall-copy small{font-size:12px;color:var(--muted);line-height:1.45}.overall-available{border-color:#72deb247;background:linear-gradient(115deg,#173027,#151f1e)}.overall-available .overall-icon{color:var(--green);background:#72deb222}.overall-degraded{border-color:#f3c57655;background:linear-gradient(115deg,#30251d,#201b20)}.overall-degraded .overall-icon{color:var(--yellow);background:#f3c5761b}.overall-unavailable{border-color:#ef8caa55;background:linear-gradient(115deg,#341d2b,#221820)}.overall-unavailable .overall-icon{color:var(--red);background:#ef8caa20}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 10px}.section-heading>div{display:flex;align-items:baseline;gap:10px}.section-index,.section-meta{color:var(--subtle);font:10px/1.4 "Cascadia Code",Consolas,monospace;letter-spacing:.08em}.section-index{color:var(--purple)}.section-heading h2{font-size:21px;letter-spacing:-.025em;font-weight:700}.probe-note{color:var(--muted);font-size:11px;line-height:1.5;min-height:17px;margin:0 0 16px}.locations{display:flex;flex-direction:column;gap:9px}.empty-state{padding:22px;border:1px dashed #57466f;border-radius:13px;background:#a57aff0a;color:#a99dba;font-size:13px;line-height:1.55}
.location{position:relative;display:block;width:100%;text-align:left;background:#17131f;border:1px solid #ffffff13;border-radius:14px;padding:17px 17px 14px;color:var(--text);transition:border-color .2s,background .2s,transform .2s}.location:hover,.location:focus-visible,.location.selected{border-color:#a57aff80;background:#1c1629;outline:none}.location:hover{transform:translateY(-2px)}.location-head{display:flex;align-items:center;gap:9px;min-width:0}.flag{font-size:23px;line-height:1}.location-name{display:flex;flex-direction:column;min-width:0;gap:3px}.location-name strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-name small{color:var(--muted);font-size:11px}.status-pill{margin-left:auto;white-space:nowrap;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:700;letter-spacing:.03em;border:1px solid currentColor}.status-pill.available{color:var(--green);background:#72deb216}.status-pill.degraded{color:var(--yellow);background:#f3c57616}.status-pill.unavailable{color:var(--red);background:#ef8caa16}.status-pill.maintenance{color:var(--blue);background:#7aaeea16}.status-pill.unknown{color:var(--muted);background:#91899e16}.status-pill::before{content:"";display:inline-block;width:5px;height:5px;margin-right:6px;vertical-align:middle;border-radius:50%;background:currentColor}.location-metrics{display:flex;gap:17px;margin:14px 0 11px;color:#aaa0b5;font:10px/1.45 "Cascadia Code",Consolas,monospace}.location-metrics b{color:#ece4f7;font-weight:600}.history{display:grid;grid-template-columns:repeat(48,1fr);gap:2px;height:15px}.bar{min-width:0;border-radius:2px;background:#514760}.bar.g{background:#7fdfb7}.bar.w{background:#f0c36d}.bar.r{background:#ec85a5}.bar.u{background:#534a60}.history-labels{display:flex;justify-content:space-between;margin-top:6px;color:#71697e;font:9px/1.3 "Cascadia Code",Consolas,monospace}
.news-heading{margin-top:37px;margin-bottom:18px}.events{position:relative;margin-left:5px;padding-left:22px;border-left:1px solid #a57aff36}.event{position:relative;padding:0 0 25px 0}.event:last-child{padding-bottom:0}.event::before{content:"";position:absolute;left:-27px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--purple);border:3px solid var(--bg);box-shadow:0 0 0 1px #a57aff66}.event.investigating::before{background:var(--yellow);box-shadow:0 0 0 1px #f3c57677,0 0 14px #f3c57644}.event.resolved::before{background:var(--green);box-shadow:0 0 0 1px #72deb277}.event.maintenance::before{background:var(--blue);box-shadow:0 0 0 1px #7aaeea77}.event-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.event-top strong{font-size:12px}.event-top time{font:10px/1.3 "Cascadia Code",Consolas,monospace;color:#82788e;white-space:nowrap}.event p{font-size:12px;line-height:1.55;color:#aaa1b3;margin-top:6px}.event-kind{font-size:10px;color:var(--purple);letter-spacing:.04em;margin-left:5px}.event.investigating .event-kind{color:var(--yellow)}.event.resolved .event-kind{color:var(--green)}.event.maintenance .event-kind{color:var(--blue)}
.map-panel{display:flex;flex-direction:column;min-width:0;padding:54px 0 29px 36px}.map-header{display:flex;align-items:end;justify-content:space-between;gap:25px}.map-header h2{font-size:clamp(30px,3vw,45px);font-weight:720;letter-spacing:-.045em;margin:8px 0 0}.map-header h2 span{color:var(--purple)}.map-legend{display:flex;gap:18px;margin-bottom:5px;color:var(--muted);font-size:10px;white-space:nowrap}.map-legend span{display:flex;align-items:center;gap:7px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted)}.legend-dot.available{background:var(--green)}.legend-dot.degraded{background:var(--yellow)}.legend-dot.unknown{background:var(--muted)}
.map-stage{position:relative;flex:1;min-height:510px;margin-top:24px;border:1px solid #ffffff13;border-radius:19px;background:radial-gradient(ellipse at 52% 40%,#20152d 0%,#130f1e 46%,#0f0c17 85%);overflow:hidden}.map-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,#0c0918a8 100%)}.map-glow{position:absolute;left:32%;top:11%;width:42%;aspect-ratio:1;border-radius:50%;background:#873bcb1b;filter:blur(75px)}.map-art,.connection-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.continent path{fill:url(#dot-pattern);opacity:.62;stroke:url(#map-fade);stroke-width:1}.map-grid path{fill:none;stroke:#9e80be;stroke-width:.5;opacity:.12;stroke-dasharray:3 6}.focus-ring{fill:none;stroke:#b197dd;opacity:.09;stroke-width:1}.focus-ring.outer{opacity:.055}.connection-lines path{fill:none;stroke:#bc8cff;stroke-width:1.25;opacity:.5;stroke-dasharray:3 6}.map-pins{position:absolute;inset:0;z-index:2}.map-pin{position:absolute;display:flex;align-items:center;gap:9px;transform:translate(-13px,-50%);padding:6px 8px;border:0;background:transparent;color:#eee8f9;text-align:left;white-space:nowrap;font:10px/1.2 "Cascadia Code",Consolas,monospace;letter-spacing:.04em;text-shadow:0 2px 8px #000,0 0 7px #000}.map-pin::before{content:"";display:block;width:13px;height:13px;border-radius:50%;border:3px solid #111019;background:var(--muted);box-shadow:0 0 0 1px currentColor,0 0 18px currentColor;flex:none}.map-pin.available::before{background:var(--green);color:var(--green)}.map-pin.degraded::before{background:var(--yellow);color:var(--yellow)}.map-pin.unavailable::before{background:var(--red);color:var(--red)}.map-pin.maintenance::before{background:var(--blue);color:var(--blue)}.map-pin:hover,.map-pin:focus-visible,.map-pin.selected{color:#fff;outline:none;z-index:3}.map-pin:hover::before,.map-pin:focus-visible::before,.map-pin.selected::before{transform:scale(1.35)}.map-placeholder{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:min(310px,80%);display:flex;align-items:center;flex-direction:column;text-align:center;gap:12px;border:1px solid #a57aff45;border-radius:16px;background:#151021e8;box-shadow:0 18px 60px #090614aa;padding:27px 21px}.map-placeholder[hidden]{display:none}.placeholder-icon{font-size:38px;line-height:1;color:var(--purple)}.map-placeholder strong{font-size:15px}.map-placeholder small{color:var(--muted);font-size:12px;line-height:1.5}.map-corner{position:absolute;z-index:2;font:9px/1.3 "Cascadia Code",Consolas,monospace;color:#80738e;letter-spacing:.1em}.map-corner.top-left{left:18px;top:17px}.map-corner.bottom-right{right:18px;bottom:16px}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;color:#81778d;font-size:10px;line-height:1.5}.map-footer span{display:flex;align-items:baseline;gap:7px}.map-footer i{width:5px;height:5px;border-radius:50%;background:var(--purple);flex:none}.map-footer a{color:#b995fb;white-space:nowrap}.map-footer a:hover{text-decoration:underline}
.site-footer{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-top:1px solid #ffffff12;color:#71677e;font:10px/1.4 "Cascadia Code",Consolas,monospace;letter-spacing:.1em}
@media(max-width:1100px){.shell{padding:0 25px}.layout{grid-template-columns:minmax(310px,390px) minmax(0,1fr)}.sidebar{padding-right:24px}.map-panel{padding-left:25px}.map-header{display:block}.map-legend{margin-top:15px}.map-stage{min-height:570px}}
@media(max-width:800px){.shell{padding:0 20px}.topbar{height:74px}.layout{display:flex;flex-direction:column}.sidebar{order:1;border-right:0;padding:36px 0 35px}.map-panel{order:2;padding:0 0 30px}.map-stage{min-height:390px;margin-top:22px}.intro{padding:0 0 25px}.intro h1{font-size:47px}.map-header{display:flex}.map-legend{margin:0 0 5px}.map-footer{margin-bottom:5px}}
@media(max-width:540px){.shell{padding:0 15px}.brand img{width:38px;height:38px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:8px}.topbar-right{gap:8px}.updated-at{max-width:138px;text-align:right;font-size:10px}.topbar{height:68px}.map-panel{padding-top:28px}.map-header{display:block}.map-header h2{font-size:34px}.map-legend{gap:11px;margin:12px 0 0;font-size:9px}.map-stage{min-height:310px;margin-top:17px}.map-pin{font-size:8px;gap:5px;min-width:28px;min-height:28px}.map-pin-label{display:none}.map-pin::before{width:10px;height:10px;border-width:2px}.map-footer{display:block}.map-footer a{display:inline-block;margin-top:7px}.sidebar{padding-top:36px}.intro h1{font-size:45px}.site-footer{font-size:8px;gap:12px}.news-heading .section-meta{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.intro h1 em{color:#79e5b3;background:linear-gradient(105deg,#42ce92 0%,#bfffe0 28%,#55dca0 52%,#d6ffec 75%,#42ce92 100%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 17px #48dca44d);animation:network-shimmer 6s ease-in-out infinite}
@keyframes network-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Real country geometry and one marker per Remnawave node. */
.map-legend{flex-wrap:wrap;justify-content:flex-end}
.legend-dot.blocked{background:var(--red)}
.map-stage{flex:none;width:100%;height:auto;min-height:0;aspect-ratio:10/11;background:radial-gradient(ellipse at 55% 44%,#1a2031 0%,#101724 49%,#0d111c 100%)}
.map-stage::before{content:"";position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(ellipse at 55% 46%,#5bdbac17,transparent 40%);animation:map-breath 7s ease-in-out infinite}
.map-stage::after{background:radial-gradient(ellipse at center,transparent 42%,#0b101bb0 100%)}
.world-map{position:absolute;left:50%;top:50%;right:auto;bottom:auto;width:100%;height:auto;aspect-ratio:1000/640;transform:translate(-50%,-50%);overflow:hidden}
.world-map::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(102deg,transparent 45%,#b2ffe813 50%,transparent 55%);animation:map-sweep 12s linear infinite}
.map-art{display:block;object-fit:fill;opacity:.93}
.map-pins{z-index:2}
.map-pin{display:grid;place-items:center;gap:0;width:24px;height:24px;min-width:0;min-height:0;padding:0;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;white-space:normal}
.map-pin::before{width:10px;height:10px;border:2px solid #111019;box-shadow:0 0 0 1px currentColor,0 0 12px currentColor}
.world-pin::before{width:9px;height:9px;border-width:1.5px}
.map-pin.unknown::before{background:#82778e;color:#82778e}
.map-pin.blocked::before{background:var(--red);color:var(--red)}
.map-pin.available::after,.map-pin.blocked::after{content:"";position:absolute;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;opacity:0;animation:node-pulse 3.4s ease-out infinite;animation-delay:var(--pulse-delay,0s)}
.map-pin.available::after{color:var(--green)}
.map-pin.blocked::after{color:var(--red);animation-duration:2.3s}
.map-pin-label{position:absolute;left:50%;bottom:22px;display:block;max-width:200px;padding:7px 9px;transform:translate(-50%,5px);border:1px solid #76668f;border-radius:7px;background:#171325f2;box-shadow:0 9px 25px #070611bb;color:#f3eefc;opacity:0;pointer-events:none;white-space:nowrap;text-align:center;transition:opacity .16s ease,transform .16s ease;font:10px/1.3 "Cascadia Code",Consolas,monospace}
.map-pin:hover .map-pin-label,.map-pin:focus-visible .map-pin-label,.map-pin.selected-node .map-pin-label{opacity:1;transform:translate(-50%,0)}
.map-pin:focus-visible{outline:2px solid #f2e9ff;outline-offset:2px}
.map-corner.top-left{left:20px;top:18px;z-index:3}
.map-corner.bottom-right{z-index:1}
.status-pill.blocked{color:var(--red);background:#ef8caa16}
.status-pill.available::before,.legend-dot.available{animation:signal-live 2.8s ease-in-out infinite}
.status-pill.blocked::before,.legend-dot.blocked{animation:signal-alert 2.1s ease-in-out infinite}
.overall-available .overall-icon{animation:signal-live 3.2s ease-in-out infinite}
.overall-unavailable .overall-icon{animation:signal-alert 2.7s ease-in-out infinite}
@keyframes node-pulse{0%{opacity:.75;transform:scale(.45)}75%,100%{opacity:0;transform:scale(2.3)}}
@keyframes signal-live{0%,100%{box-shadow:0 0 0 0 #72deb22b,0 0 8px #72deb244}50%{box-shadow:0 0 0 6px #72deb200,0 0 16px #72deb288}}
@keyframes signal-alert{0%,100%{box-shadow:0 0 0 0 #ef8caa3d,0 0 7px #ef8caa55}50%{box-shadow:0 0 0 6px #ef8caa00,0 0 16px #ef8caa99}}
@keyframes map-breath{0%,100%{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}
@keyframes map-sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(min-width:801px){.layout{grid-template-columns:minmax(320px,430px) minmax(0,760px);justify-content:center;column-gap:32px}.map-panel{padding-left:0;max-width:760px}}
@media(max-width:800px){.map-stage{height:auto;min-height:0;aspect-ratio:10/11}.map-legend{justify-content:flex-start}}
@media(max-width:540px){.map-stage{height:auto;min-height:0;aspect-ratio:10/11}.map-pin-label{display:block;font-size:9px;bottom:20px}.map-pin{width:20px;height:20px}.world-pin::before{width:7px;height:7px}.map-pin.available::after,.map-pin.blocked::after{width:17px;height:17px}}

/* Latency and traffic load stay legible for each mapped node and location. */
.location-metrics{flex-wrap:wrap;column-gap:15px;row-gap:3px;margin-bottom:10px}
.location-speed{padding:10px 10px 9px;margin:0 0 12px;border:1px solid #77ddb22b;border-radius:9px;background:linear-gradient(120deg,#73dcb10d,#a57aff08)}
.speed-caption{display:block;color:#89cfb1;font:9px/1.25 "Cascadia Code",Consolas,monospace;letter-spacing:.09em}
.speed-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.speed-cell{display:flex;flex-direction:column;gap:3px;min-width:0}
.speed-cell small{color:#998ea7;font:9px/1.25 "Cascadia Code",Consolas,monospace}
.speed-cell b{overflow:hidden;color:#f2eafa;font:600 11px/1.3 "Cascadia Code",Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}
.speed-period{display:block;margin-top:7px;color:#887d97;font:9px/1.2 "Cascadia Code",Consolas,monospace}
.map-pin-label{top:22px;bottom:auto;width:240px;max-width:min(240px,82vw);padding:11px 12px;transform:translate(-50%,-5px);border-color:#79dda972;background:#131c25f5;white-space:normal;text-align:left;line-height:1.4;z-index:5}
.map-pin:hover .map-pin-label,.map-pin:focus-visible .map-pin-label,.map-pin.selected-node .map-pin-label{transform:translate(-50%,0)}
.pin-title{display:block;overflow:hidden;color:#f7f5fa;font:700 11px/1.3 "Cascadia Code",Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}
.pin-status{display:block;margin-top:3px;color:#8ce5b5;font:10px/1.3 "Cascadia Code",Consolas,monospace}
.pin-status.blocked{color:var(--red)}
.pin-status.unknown{color:var(--muted)}
.pin-ping{display:block;margin-top:9px;padding-top:8px;border-top:1px solid #ffffff20;color:#f3eaf8;font:10px/1.3 "Cascadia Code",Consolas,monospace}
.pin-speed{margin-top:9px}
.pin-speed .speed-values{gap:5px}
.pin-speed .speed-cell b{font-size:9px}
.tooltip-right .map-pin-label{left:0;transform:translate(0,5px)}
.tooltip-right:hover .map-pin-label,.tooltip-right:focus-visible .map-pin-label,.tooltip-right.selected-node .map-pin-label{transform:translate(0,0)}
.tooltip-left .map-pin-label{left:auto;right:0;transform:translate(0,5px)}
.tooltip-left:hover .map-pin-label,.tooltip-left:focus-visible .map-pin-label,.tooltip-left.selected-node .map-pin-label{transform:translate(0,0)}
@media(max-width:540px){.map-pin-label{max-width:210px}.pin-speed .speed-cell b{font-size:8px}.location-speed .speed-cell b{font-size:10px}}

/* Observatory map: geographic atlas, animated checks, and selected node telemetry. */
.map-stage{isolation:isolate;border-color:#6de7c142;background:radial-gradient(ellipse at 56% 40%,#193d3f 0%,#0c2029 44%,#090f1b 78%,#090c16 100%);box-shadow:inset 0 1px #baffec1c,inset 0 0 100px #68e9b609,0 24px 80px #0005}
.map-stage::before{inset:0;width:auto;aspect-ratio:auto;border-radius:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 35px,#a0f9da08 36px),radial-gradient(ellipse at center,#66d8c110,transparent 65%);filter:none;animation:none;z-index:0}
.map-stage::after{z-index:1;background:radial-gradient(ellipse at center,transparent 53%,#07101899 100%)}
.map-atmosphere{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.map-atmosphere i{position:absolute;display:block;left:50%;top:44%;border:1px solid #71e8c633;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 36px #5be1b013,inset 0 0 40px #5be1b00b}
.map-atmosphere i:nth-child(1){width:88%;aspect-ratio:1;animation:orbit-breathe 8s ease-in-out infinite}
.map-atmosphere i:nth-child(2){width:112%;aspect-ratio:1;border-style:dashed;border-color:#6bdabe21;animation:orbit-breathe 11s ease-in-out infinite reverse}
.map-atmosphere i:nth-child(3){left:0;top:-30%;width:100%;height:28%;border:0;border-radius:0;background:linear-gradient(180deg,transparent,#8fffe909 70%,#9effde35 100%);box-shadow:0 0 40px #8fffe720;transform:none;animation:radar-pass 10s ease-in-out infinite}
.world-map{top:43%;z-index:2;filter:drop-shadow(0 0 12px #75ead21c)}
.world-map::after{z-index:2;background:linear-gradient(100deg,transparent 42%,#c4fff212 50%,transparent 58%);animation:map-sweep 10s ease-in-out infinite}
.map-art{z-index:0;opacity:1;filter:drop-shadow(0 0 15px #56e5c019)}
.map-links{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.map-pins{z-index:3}
.signal-arc{fill:none;stroke:#8cf9d7;stroke-width:1.15;opacity:.24;stroke-dasharray:3 11;animation:signal-flow 7s linear infinite;animation-delay:var(--arc-delay,0s)}
.signal-selected{fill:none;stroke:#b5ffe6;stroke-width:2.3;opacity:.76;stroke-dasharray:6 13;filter:drop-shadow(0 0 5px #77f7ce);animation:signal-flow 2.8s linear infinite}
.signal-selected.blocked{stroke:#ff9bb7;filter:drop-shadow(0 0 6px #ef8caa)}
.signal-hub{fill:#a8ffe1;stroke:#1a4244;stroke-width:6;filter:drop-shadow(0 0 9px #7ff8ca)}
.map-pin{width:20px;height:20px}
.map-pin::before,.world-pin::before{width:7px;height:7px;border:0;background:var(--muted);box-shadow:0 0 0 3px #09252b,0 0 0 4px #aeb2bd99,0 0 13px currentColor}
.map-pin.available::before{background:#c5ffe4;color:#84efc1;box-shadow:0 0 0 3px #09252b,0 0 0 4px #6be5ae99,0 0 13px #86ffbd}
.map-pin.blocked::before{background:#ffc2cf;color:var(--red);box-shadow:0 0 0 3px #2e1728,0 0 0 4px #ef8caa99,0 0 13px #ff9fc1}
.map-pin.selected-node::before{transform:scale(1.5);box-shadow:0 0 0 4px #09252b,0 0 0 6px #afffdd,0 0 22px #afffdd}
.map-pin.available::after,.map-pin.blocked::after{width:27px;height:27px}
.map-hud-top{position:absolute;left:22px;right:22px;top:20px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#b1edd4;font:700 10px/1.3 "Cascadia Code",Consolas,monospace;letter-spacing:.16em;text-shadow:0 0 15px #70e6c477}
.map-hud-top>span{display:flex;align-items:center;gap:8px}
.map-hud-top>span:nth-child(2){color:#79a9a7;font-weight:500;letter-spacing:.1em}
.hud-live{width:7px;height:7px;border-radius:50%;background:#9affcc;box-shadow:0 0 0 4px #8dffd01d,0 0 13px #8dffd0;animation:signal-live 2.5s ease-in-out infinite}
.hud-bars{display:flex;align-items:flex-end;gap:2px;height:13px;margin-left:4px}
.hud-bars i{display:block;width:2px;height:35%;border-radius:2px;background:#89e9c5;animation:hud-equalizer 1.3s ease-in-out infinite alternate}
.hud-bars i:nth-child(2){animation-delay:-.7s}.hud-bars i:nth-child(3){animation-delay:-.4s}.hud-bars i:nth-child(4){animation-delay:-1s}.hud-bars i:nth-child(5){animation-delay:-.2s}
.map-console{position:absolute;left:20px;right:20px;bottom:18px;z-index:4;padding:15px 16px 14px;border:1px solid #83e6c059;border-radius:13px;background:linear-gradient(120deg,#0d272cdb,#101b2be8);box-shadow:inset 0 1px #caffed1b,0 14px 34px #0007;backdrop-filter:blur(12px)}
.map-console-top{display:flex;align-items:center;gap:12px;min-width:0;color:#8aa7aa;font:9px/1.3 "Cascadia Code",Consolas,monospace;letter-spacing:.12em}
.map-console-top>span{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#86e9c6;font-weight:700}
.map-console-top>span i{width:5px;height:5px;border-radius:50%;background:#9cffd1;box-shadow:0 0 9px #9cffd1}
.map-console-top strong{overflow:hidden;color:#f3fff8;font-size:11px;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}
.map-console-top small{margin-left:auto;white-space:nowrap;color:#799a9e;font-size:9px;letter-spacing:0}
.map-console-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid #9df2d124}
.map-console-grid>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.map-console-grid small{color:#80a5a5;font:9px/1.2 "Cascadia Code",Consolas,monospace;letter-spacing:.06em}
.map-console-grid strong{overflow:hidden;color:#d8ffeb;font:700 14px/1.25 "Cascadia Code",Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}
.map-placeholder{z-index:6}
@keyframes signal-flow{to{stroke-dashoffset:-56}}
@keyframes orbit-breathe{0%,100%{opacity:.24;transform:translate(-50%,-50%) scale(.97)}50%{opacity:.78;transform:translate(-50%,-50%) scale(1.03)}}
@keyframes radar-pass{0%,10%{transform:translateY(-40%);opacity:0}20%{opacity:.85}75%{opacity:.65}90%,100%{transform:translateY(600%);opacity:0}}
@keyframes hud-equalizer{from{height:23%;opacity:.5}to{height:100%;opacity:1}}
@media(max-width:800px){.map-hud-top{top:15px;left:17px;right:17px}.map-console{left:14px;right:14px;bottom:13px}}
@media(max-width:540px){.map-hud-top{font-size:8px;letter-spacing:.08em}.map-hud-top>span:nth-child(2){font-size:0}.hud-bars{margin-left:0}.map-console{padding:10px 10px 9px}.map-console-top{gap:6px}.map-console-top>span{font-size:0}.map-console-top>span i{width:6px;height:6px}.map-console-top strong{font-size:10px}.map-console-top small{font-size:8px}.map-console-grid{gap:5px;margin-top:8px;padding-top:8px}.map-console-grid small{font-size:7px}.map-console-grid strong{font-size:9px}.map-pin-label{display:none}.map-pin{width:17px;height:17px}.world-pin::before{width:6px;height:6px}.map-pin.available::after,.map-pin.blocked::after{width:20px;height:20px}}

/* Wider atlas; the world map now fills the display instead of floating in a tall box. */
.map-stage{aspect-ratio:5/4}
.world-map{top:45%}
@media(min-width:801px){.layout{grid-template-columns:minmax(320px,400px) minmax(0,1000px);column-gap:38px}.map-panel{max-width:1000px}}
@media(min-width:801px) and (max-width:1180px){.layout{display:flex;flex-direction:column}.sidebar{order:1;border-right:0;padding:40px 0 30px}.map-panel{order:2;width:100%;max-width:none;padding:0 0 35px}}
@media(max-width:800px){.map-stage{aspect-ratio:1/1}}
