.map-wrap{width:100%}.map-wrap .map{width:100%;border:1px solid var(--line);background:#dfe6ee;position:relative;z-index:0}.map-wrap .leaflet-container{font-family:var(--body)}.map-wrap .leaflet-bar,.map-wrap .leaflet-bar a{border-radius:0}.map-wrap .leaflet-bar a{background:linear-gradient(180deg,var(--dark-3),var(--dark-2));color:#fff;border-color:var(--dline)}.map-wrap .leaflet-bar a:hover{background:linear-gradient(180deg,rgba(251,113,133,.6),var(--dark-2))}.map-wrap .leaflet-control-attribution{font-size:.7rem;background:#ffffffd9}.mk-wrap{background:none;border:0}.mk{display:grid;place-items:center;width:var(--s);height:var(--s);font-family:var(--head);font-weight:600;color:#fff;font-size:calc(var(--s) * .46);line-height:1;border:1px solid rgba(255,255,255,.65);text-shadow:0 1px 2px rgba(0,0,0,.6);box-shadow:inset 0 1px #fff6,inset 0 -2px #00000040,0 0 0 1px #00000040;transition:transform .15s}.mk.b1{background:linear-gradient(135deg,#fda4af,#e11d48 60%,#9f1239);box-shadow:inset 0 1px #fff6,inset 0 -2px #00000040,0 0 0 1px #00000040,0 0 18px 2px var(--rose-glow)}.mk.b2{background:linear-gradient(135deg,#c4b5fd,#7c3aed 60%,#4c1d95);box-shadow:inset 0 1px #fff6,inset 0 -2px #00000040,0 0 0 1px #00000040,0 0 16px 2px #a78bfa80}.mk.b3{background:linear-gradient(135deg,#67e8f9,#0891b2 60%,#155e75);box-shadow:inset 0 1px #fff6,inset 0 -2px #00000040,0 0 0 1px #00000040,0 0 14px 2px var(--glow)}.mk.b4{background:linear-gradient(135deg,#4b5563,#111827);border-color:#ffffff73}.leaflet-marker-icon:hover .mk{transform:scale(1.15)}.mk-pop .leaflet-popup-content-wrapper{border-radius:0;background:linear-gradient(180deg,var(--dark-3),var(--dark));color:#fff;border:1px solid var(--dline);box-shadow:0 18px 40px -14px #000000e6,0 0 24px -8px var(--glow)}.mk-pop .leaflet-popup-tip{background:var(--dark)}.mk-pop .leaflet-popup-content{margin:0;line-height:1.35}.mk-pop .pp{min-width:230px}.mk-pop .ph{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;padding:.9rem .9rem .7rem}.mk-pop .pr{display:grid;place-items:center;width:2.6rem;height:2.6rem;font-family:var(--head);font-size:1.3rem;color:#fff;border:1px solid rgba(255,255,255,.5)}.mk-pop .pr.b1{background:linear-gradient(135deg,#fda4af,#e11d48 60%,#9f1239)}.mk-pop .pr.b2{background:linear-gradient(135deg,#c4b5fd,#7c3aed 60%,#4c1d95)}.mk-pop .pr.b3{background:linear-gradient(135deg,#67e8f9,#0891b2 60%,#155e75)}.mk-pop .pr.b4{background:linear-gradient(135deg,#4b5563,#111827)}.mk-pop strong{font-family:var(--head);text-transform:uppercase;letter-spacing:.03em;font-size:1.05rem;font-weight:500}.mk-pop .pc{font-size:.82rem;color:#b6bcc8}.mk-pop .pl{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:1px;background:var(--dline);border-top:1px solid var(--dline)}.mk-pop .pb{display:block;text-align:center;padding:.6rem .4rem;font-family:var(--head);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:#fff!important;text-decoration:none;background:linear-gradient(135deg,#22d3ee,#0891b2 45%,#7c3aed)}.mk-pop .pb.g{background:linear-gradient(180deg,#ffffff24,#ffffff0a)}.mk-pop .pb.g:hover{background:linear-gradient(180deg,#fb718573,#fb71851a)}.mk-pop .leaflet-popup-close-button{color:#fff!important}.map-wrap .legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}.map-wrap .legend li{flex:0 0 auto}.map-wrap .legend li.note{flex:1 1 280px}.map-wrap .legend li{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;background:linear-gradient(180deg,#fff,#eef0f3);font-size:.85rem}.map-wrap .legend li.note{font-size:.78rem;color:var(--muted)}.map-wrap .legend .sw{flex:none;display:grid;place-items:center;width:1.6rem;height:1.6rem;font-family:var(--head);font-size:.75rem;color:#fff;border:1px solid rgba(255,255,255,.65);text-shadow:0 1px 2px rgba(0,0,0,.6)}.map-wrap .legend .sw.b1{background:linear-gradient(135deg,#fda4af,#e11d48 60%,#9f1239);box-shadow:0 0 10px var(--rose-glow)}.map-wrap .legend .sw.b2{background:linear-gradient(135deg,#c4b5fd,#7c3aed 60%,#4c1d95);box-shadow:0 0 10px #a78bfa80}.map-wrap .legend .sw.b3{background:linear-gradient(135deg,#67e8f9,#0891b2 60%,#155e75);box-shadow:0 0 10px var(--glow)}.map-wrap .legend .sw.b4{background:linear-gradient(135deg,#4b5563,#111827);width:1rem;height:1rem;margin:0 .3rem}.map-wrap .legend .l{font-family:var(--head);text-transform:uppercase;letter-spacing:.08em}.map-wrap .legend li.note .l{font-family:var(--body);text-transform:none;letter-spacing:0}.map-wrap .legend .k{font-family:var(--head);font-size:1.1rem;margin-left:auto}.map-wrap .regions{list-style:none;margin:1px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.map-wrap .regions li{margin:0;padding:0}.map-wrap .region{display:grid;width:100%;text-align:left;gap:.15rem;padding:1.1rem 1.2rem;border:0;cursor:pointer;font:inherit;color:var(--ink);background:linear-gradient(180deg,#fff,#eef0f3);position:relative;overflow:hidden;min-height:100%}.map-wrap .region:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad);opacity:.6}.map-wrap .region:hover,.map-wrap .region.on{background:linear-gradient(180deg,#fff,#fde7ec);box-shadow:inset 0 0 0 1px var(--rose),0 0 24px -8px var(--rose-glow)}.map-wrap .region .n{font-family:var(--head);font-size:clamp(2rem,5vw,3rem);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px var(--glow))}.map-wrap .region .t{font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;font-size:1rem}.map-wrap .region .c{font-size:.82rem;color:var(--muted)}.dark .map-wrap .legend li,.dark .map-wrap .region{background:linear-gradient(180deg,var(--dark-3),var(--dark-2));color:#e5e7eb}.dark .map-wrap .legend,.dark .map-wrap .regions,.dark .map-wrap .map{border-color:var(--dline);background:var(--dline)}.dark .map-wrap .region .c,.dark .map-wrap .legend li.note{color:#b6bcc8}@media(max-width:900px){.map-wrap .regions{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.map-wrap .map{height:min(100vw,480px)!important}.map-wrap .legend li{flex:1 1 40%}.map-wrap .legend li.note{flex:1 1 100%}}
