.cmap{width:100%;background:var(--csp-ink);color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.cmap .inner{max-width:1320px;margin:0 auto;padding:88px 24px}@media (min-width: 768px){.cmap .inner{padding:120px 48px}}.cmap.compact .inner{padding-top:32px}.cmap.compact .statrow{border-top:0;padding-top:0}.cmap .ey{display:flex;align-items:center;gap:16px}.cmap .ey .ln{height:1px;width:48px;background:var(--csp-red)}.cmap .ey .tx{font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.34em;color:#fff9}.cmap .t{margin:22px 0 0;font-family:Cormorant Garamond,Georgia,serif;font-weight:300;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.015em;max-width:18ch;text-wrap:balance}.cmap .lead{margin:16px 0 0;max-width:56ch;font-weight:300;font-size:15px;line-height:1.7;color:#fff9}.cmap .statrow{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;align-items:center;gap:22px 44px}.cmap .stat{display:flex;flex-direction:column;gap:6px}.cmap .stat .num{font-family:Cormorant Garamond,Georgia,serif;font-size:24px;font-weight:300;color:#fff;line-height:1}.cmap .stat .num b{color:var(--csp-red);font-weight:300}.cmap .stat .lbl{font-family:ui-monospace,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80}@media (min-width: 680px){.cmap .statrow{gap:22px 0}.cmap .stat+.stat{border-left:1px solid rgba(255,255,255,.12);margin-left:32px;padding-left:32px}}.cmap .keyleg{margin-left:auto;display:flex;gap:16px;font-family:ui-monospace,monospace;font-size:10.5px;color:#ffffff8c}.cmap .keyleg i{font-style:normal}.cmap .keyleg .lv{color:var(--csp-red);margin-right:5px}.cmap .keyleg .av{color:var(--csp-blue-soft);margin-right:5px}.cmap .hint{margin:24px 0 12px;font-family:ui-monospace,monospace;font-size:11px;color:#fff6;letter-spacing:.05em;display:flex;gap:8px;align-items:center}.cmap .hint b{color:var(--csp-blue-soft);font-weight:400}.cmap .mapcard{position:relative;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#9fb6ea0d,#02061700);overflow:hidden}.cmap .mapcard svg{display:block;width:100%;height:auto}.cmap .resetbtn{position:absolute;top:14px;left:14px;z-index:5;cursor:pointer;border:1px solid rgba(255,255,255,.2);background:#02061799;color:#fffc;font-family:ui-monospace,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;padding:7px 12px;opacity:0;pointer-events:none;transition:opacity .3s}.cmap .resetbtn.show{opacity:1;pointer-events:auto}.cmap .resetbtn:hover{border-color:#fff;color:#fff}.cmap .legend{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid rgba(255,255,255,.1);border-top:0}@media (min-width: 640px){.cmap .legend{grid-template-columns:repeat(4,1fr)}}.cmap .card{position:relative;text-align:left;cursor:pointer;background:transparent;border:0;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:18px 16px;display:flex;flex-direction:column;gap:4px;transition:background .3s;color:#fff;font-family:inherit}.cmap .card:hover{background:#ffffff08}.cmap .card .c-mark{width:9px;height:9px;transform:rotate(45deg);margin-bottom:4px}.cmap .card.on .c-mark{background:var(--csp-red)}.cmap .card.off .c-mark{border:1px solid rgba(159,182,234,.5)}.cmap .card .c-name{font-family:ui-monospace,monospace;font-size:13px}.cmap .card .c-dom{font-family:ui-monospace,monospace;font-size:11px;color:var(--csp-blue-soft)}.cmap .card.off .c-dom{color:#ffffff52}.cmap .card .c-cnt{font-size:11px;color:#fff6}.cmap .card.cur{background:#cc182014}.cmap .card.cur:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--csp-red)}.cmap .drill{margin-top:28px;display:grid;gap:1px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1)}@media (min-width: 820px){.cmap .drill{grid-template-columns:300px 1fr}}.cmap .dcol{background:var(--csp-ink);padding:24px}.cmap .dhead{font-family:ui-monospace,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.18em;color:#ffffff6b;margin-bottom:16px}.cmap .dzone{font-family:Cormorant Garamond,Georgia,serif;font-size:26px;font-weight:300;color:#fff;margin:0 0 2px}.cmap .dmeta{font-family:ui-monospace,monospace;font-size:11px;color:var(--csp-blue-soft);margin-bottom:20px}.cmap .secrow{width:100%;text-align:left;cursor:pointer;background:transparent;border:0;border-top:1px solid rgba(255,255,255,.08);padding:11px 0;color:#fff;font-family:inherit;display:flex;flex-direction:column;gap:6px;transition:opacity .2s}.cmap .secrow:hover{opacity:.85}.cmap .secrow .r1{display:flex;justify-content:space-between;align-items:baseline}.cmap .secrow .s-name{font-size:13.5px}.cmap .secrow .s-cnt{font-family:ui-monospace,monospace;font-size:12px;color:#ffffff8c;font-variant-numeric:tabular-nums}.cmap .secrow .bar{height:3px;background:#ffffff14;position:relative}.cmap .secrow .bar i{position:absolute;inset:0 auto 0 0;background:#9fb6ea80;transition:width .6s}.cmap .secrow.sel .s-name{color:var(--csp-red)}.cmap .secrow.sel .bar i{background:var(--csp-red)}.cmap .empty{color:#fff6;font-size:13px;font-weight:300;line-height:1.7}.cmap .proof{border:1px solid rgba(159,182,234,.18);background:#9fb6ea0a;padding:12px 14px;margin-bottom:16px}.cmap .proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px}.cmap .proof-grid .pl{display:block;font-family:ui-monospace,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#fff6}.cmap .proof-grid .pv{display:block;font-family:ui-monospace,monospace;font-size:11.5px;color:#fff;margin-top:2px}.cmap .proof-grid .pv.soft{color:var(--csp-blue-soft)}.cmap .proof-note{font-size:12px;font-weight:300;line-height:1.6;color:#ffffff8c}.cmap .proof-note b{color:var(--csp-blue-soft);font-weight:400}.cmap .shared{margin:0 0 18px;font-family:ui-monospace,monospace;font-size:11px;color:#ffffff80;line-height:1.7}.cmap .shared b{color:var(--csp-blue-soft);font-weight:400}.cmap .chip{display:inline-block;cursor:pointer;border:1px solid rgba(159,182,234,.3);background:#9fb6ea0f;color:var(--csp-blue-soft);font-family:ui-monospace,monospace;font-size:10.5px;padding:3px 9px;margin:3px 5px 0 0;transition:all .25s}.cmap .chip:hover{border-color:var(--csp-blue-soft);background:#9fb6ea24}.cmap .dlist{display:grid;grid-template-columns:1fr;gap:0;max-height:360px;overflow:auto}@media (min-width: 560px){.cmap .dlist{grid-template-columns:1fr 1fr}}.cmap .dom{display:flex;align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.06);font-family:ui-monospace,monospace;font-size:12px;text-decoration:none}.cmap .dom .dot{width:6px;height:6px;transform:rotate(45deg);flex:0 0 auto}.cmap .dom.b{color:#fff}.cmap .dom.b .dot{background:var(--csp-red)}.cmap .dom.b:hover{background:#ffffff0a;color:var(--csp-blue-soft)}.cmap .dom.p{color:#ffffff73}.cmap .dom.p .dot{border:1px solid rgba(159,182,234,.4)}.cmap .dom .live{margin-left:auto;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#34d399}.cmap .dom .avl{margin-left:auto;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#9fb6ea8c}.cmap .more{padding:10px;font-family:ui-monospace,monospace;font-size:11px;color:#ffffff59;grid-column:1 / -1}.cmap .cta{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none;border:1px solid var(--csp-red);background:#cc18201a;color:#fff;padding:13px 16px;transition:all .3s}.cmap .cta:hover{background:var(--csp-red)}.cmap .cta .ct{font-family:ui-monospace,monospace;font-size:11.5px;letter-spacing:.02em}.cmap .cta .ar{font-size:15px;transition:transform .3s}.cmap .cta:hover .ar{transform:translate(4px)}.cmap .sea{fill:var(--csp-ink)}.cmap .contour{opacity:.45}.cmap .land{fill:#9fb6ea12;stroke:#9fb6ea66;stroke-width:.7;stroke-linejoin:round}.cmap .cays{fill:#9fb6ea1a;stroke:#9fb6ea66;stroke-width:.6;stroke-linejoin:round}.cmap .lnk{fill:none;stroke:var(--csp-blue-soft);stroke-width:1.1;opacity:.9;stroke-dasharray:4 5;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(159,182,234,.5));animation:cm-flow 1s linear infinite}@keyframes cm-flow{to{stroke-dashoffset:-18}}.cmap .cbadge rect{fill:#9fb6ea2e;stroke:var(--csp-blue-soft);stroke-width:.5}.cmap .cbadge text{font-family:ui-monospace,monospace;font-size:7px;fill:#fff;text-anchor:middle;dominant-baseline:middle}.cmap .cbadge.org rect{fill:var(--csp-red);stroke:var(--csp-red)}.cmap .mapcap{position:absolute;left:18px;bottom:16px;max-width:400px;z-index:5;pointer-events:none;opacity:0;transition:opacity .4s}.cmap .mapcap.show{opacity:1}.cmap .cap-sec{font-family:Cormorant Garamond,Georgia,serif;font-size:23px;font-weight:300;color:#fff;text-shadow:0 1px 14px rgba(2,6,23,.95)}.cmap .cap-sub{margin-top:5px;font-family:ui-monospace,monospace;font-size:11px;line-height:1.65;color:#ffffffb8;text-shadow:0 1px 10px rgba(2,6,23,1)}.cmap .cap-sub b{color:var(--csp-blue-soft);font-weight:400}.cmap .pin{cursor:pointer}.cmap .pin .halo{fill:var(--csp-red);opacity:0;transition:opacity .4s}.cmap .pin .diamond{fill:var(--csp-ink);stroke:var(--csp-blue-soft);stroke-width:1.1;transition:all .35s}.cmap .pin.built .diamond{fill:var(--csp-red);stroke:var(--csp-red)}.cmap .pin text{text-anchor:middle;paint-order:stroke;stroke:var(--csp-ink);stroke-width:2.4px;stroke-linejoin:round}.cmap .pin .lbl-name{font-family:ui-monospace,monospace;font-size:7px;fill:#fff}.cmap .pin .lbl-sub{font-family:ui-monospace,monospace;font-size:4.6px;fill:var(--csp-blue-soft);opacity:0}.cmap .pin.cur .halo{opacity:.16;animation:cm-pulse 2.6s ease-out infinite}.cmap .pin.cur .diamond{stroke:#fff}.cmap .pin.cur .lbl-sub{opacity:1}.cmap .pin.shared .diamond{stroke:var(--csp-blue-soft);stroke-width:1.8}.cmap .pin.shared .lbl-sub{opacity:1}.cmap #cm-svg.linking .lbl-sub{opacity:0}.cmap .pin.dim{opacity:.28}@keyframes cm-pulse{0%{transform:scale(.5);opacity:.4}70%{transform:scale(1.6);opacity:0}to{opacity:0}}.cmap .sweep{stroke:#9fb6ea38;stroke-width:.6;animation:cm-sw 12s linear infinite}@keyframes cm-sw{0%{transform:translate(0)}to{transform:translate(1010px)}}@media (prefers-reduced-motion: reduce){.cmap .lnk,.cmap .pin.cur .halo,.cmap .sweep{animation:none}}
