.vmap{--vmap-bg:transparent;--vmap-panel:#fff;--vmap-ink:#16181c;--vmap-muted:#5c6169;--vmap-line:#e2e4e8;--vmap-accent:#16181c;--vmap-mono:inherit;--vmap-pin-ink:#fff;--vmap-radius:24px;--vmap-list-w:300px;--vmap-ratio:16/10;--vmap-gap:clamp(18px, 3vw, 44px);--vmap-c:var(--vmap-muted);display:grid;grid-template-columns:var(--vmap-list-w) minmax(0,1fr);gap:var(--vmap-gap);align-items:stretch;color:var(--vmap-ink);background:var(--vmap-bg)}.vmap[data-sidebar="right"]{grid-template-columns:minmax(0,1fr) var(--vmap-list-w)}.vmap[data-sidebar="right"] .vmap__side{order:2}.vmap[data-sidebar="none"]{grid-template-columns:minmax(0,1fr)}.vmap *,.vmap *::before,.vmap *::after{box-sizing:border-box}.vmap [hidden]{display:none!important}.vmap__side{position:relative;min-height:240px}.vmap__lists{position:absolute;inset:0;overflow-y:scroll;overscroll-behavior:contain;padding-right:18px;scrollbar-width:none}.vmap__lists::-webkit-scrollbar{width:0;height:0}.vmap__scrollbar{position:absolute;z-index:2;top:0;right:0;bottom:0;width:14px;border-radius:7px;background:var(--vmap-panel);cursor:pointer;touch-action:none}.vmap__scrollbar-thumb{position:absolute;top:0;right:0;width:14px;min-height:44px;border-radius:7px;background:var(--vmap-accent);cursor:grab}.vmap__scrollbar-thumb.is-dragging{cursor:grabbing}.vmap__list{display:none;margin:0;padding:0;list-style:none}.vmap__list.is-active{display:block}.vmap__list>li+li{border-top:1px solid var(--vmap-accent)}.vmap__row{display:block;width:100%;padding:14px 16px;border:0;border-radius:calc(var(--vmap-radius) / 4);background:#fff0;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background 0.14s ease,color 0.14s ease}.vmap__row-title{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-weight:700;font-size:1rem;letter-spacing:.01em}.vmap__row-line{display:block;font-family:var(--vmap-mono);font-size:.875rem;line-height:1.55;color:var(--vmap-muted)}.vmap__dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--vmap-c)}.vmap .vmap__row:hover,.vmap .vmap__row.is-hover{background:color-mix(in srgb,var(--vmap-accent) 8%,transparent);color:var(--vmap-ink)}.vmap .vmap__row.is-open,.vmap .vmap__row.is-open:hover{background:var(--vmap-accent);color:var(--vmap-pin-ink)}.vmap .vmap__row:hover .vmap__row-line,.vmap .vmap__row.is-hover .vmap__row-line{color:var(--vmap-muted)}.vmap .vmap__row.is-open .vmap__row-line,.vmap .vmap__row.is-open:hover .vmap__row-line{color:inherit;opacity:.85}.vmap__row.is-open .vmap__dot{box-shadow:0 0 0 2px var(--vmap-panel)}.vmap__row:focus-visible{outline:2px solid var(--vmap-accent);outline-offset:-2px}.vmap__empty{padding:14px 16px;color:var(--vmap-muted);font-size:.875rem}.vmap__panel{position:relative;min-width:0;border-radius:var(--vmap-radius);background:var(--vmap-panel)}.vmap__viewport{position:relative;aspect-ratio:var(--vmap-ratio);overflow:hidden;border-radius:var(--vmap-radius);touch-action:pan-y}.vmap.is-zoom-active .vmap__viewport{touch-action:none}.vmap[data-zoom="1"] .vmap__viewport{cursor:grab}.vmap[data-zoom="1"] .vmap__viewport.is-panning{cursor:grabbing}.vmap__canvas{position:absolute;inset:clamp(20px, 4%, 56px);display:none}.vmap__canvas.is-active{display:block}.vmap__canvas--detail{--vmap-detail-pad:clamp(20px, 3vw, 44px);inset:0}.vmap .vmap__canvas--detail .vmap__fit{position:relative;min-width:0;min-height:0;overflow:hidden}.vmap .vmap__canvas--detail .vmap__fit>img.vmap__lazy-plan{position:absolute;top:var(--vmap-detail-pad);left:var(--vmap-detail-pad);display:block;width:calc(100% - var(--vmap-detail-pad) - var(--vmap-detail-pad));height:calc(100% - var(--vmap-detail-pad) - var(--vmap-detail-pad));max-width:100%;max-height:100%;object-fit:contain;object-position:center;pointer-events:none;user-select:none;-webkit-user-drag:none}.vmap__fit{display:grid;place-items:center;width:100%;height:100%;transform-origin:50% 50%;will-change:transform}.vmap__fit>.vmap-svg{display:block;width:100%;height:100%;overflow:visible}.vmap__fit img{display:block;width:100%;height:100%;object-fit:contain}.vmap-raster{position:relative;width:100%;height:100%}.vmap-raster>img{display:block;width:100%;height:100%;object-fit:contain}.vmap-raster__overlay{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}.vmap-shape{fill:#fff0;stroke:#fff0;stroke-width:1.5;cursor:pointer;transition:fill 0.15s ease,stroke 0.15s ease;vector-effect:non-scaling-stroke}.vmap[data-regions="always"] .vmap-shape{fill:color-mix(in srgb,var(--vmap-c) 16%,transparent);stroke:var(--vmap-c)}.vmap[data-regions="never"] .vmap-shape:hover,.vmap[data-regions="never"] .vmap-shape.is-hover{fill:#fff0;stroke:#fff0}.vmap-shape:hover,.vmap-shape.is-hover{fill:color-mix(in srgb,var(--vmap-c) 30%,transparent);stroke:var(--vmap-c)}.vmap-shape:focus-visible{outline:none;fill:color-mix(in srgb,var(--vmap-c) 30%,transparent);stroke:var(--vmap-c);stroke-dasharray:4 3}.vmap-shape>path,.vmap-shape>polygon,.vmap-shape>rect,.vmap-shape>circle{fill:inherit;stroke:inherit}.vmap-pins{pointer-events:none}.vmap-pin{transform-box:view-box;transform-origin:0 0;transform:translate(var(--x,0),var(--y,0)) scale(calc(var(--vmap-pin-base, 1) * var(--vmap-pin-k, 1)));pointer-events:auto;cursor:pointer;transition:opacity 0.15s ease}.vmap-pin circle{fill:var(--vmap-c);stroke:var(--vmap-panel);stroke-width:1.5;vector-effect:non-scaling-stroke;transition:r 0.12s ease}.vmap-pin text{fill:var(--vmap-pin-ink);font-family:var(--vmap-mono);font-weight:600;text-anchor:middle;dominant-baseline:central;pointer-events:none;user-select:none}.vmap-pin:hover circle,.vmap-pin.is-hover circle{stroke:var(--vmap-c);stroke-width:4}.vmap-pin:focus-visible circle{stroke:var(--vmap-ink);stroke-width:4}.vmap-pin.is-open circle{stroke:var(--vmap-ink);stroke-width:3}.vmap__overlay{position:absolute;z-index:4;display:flex;align-items:flex-start;gap:10px}.vmap__overlay--tl{top:20px;left:22px}.vmap__overlay--tr{top:16px;right:18px}.vmap__overlay--br{bottom:16px;right:18px}.vmap__legend{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;font-size:.875rem;color:var(--vmap-ink)}.vmap__legend li{display:flex;align-items:center;gap:10px;margin:0}.vmap__swatch{width:14px;height:14px;border-radius:50%;background:var(--vmap-c)}.vmap__views{display:flex;flex-direction:column;gap:2px;padding:4px;border-radius:7px;background:var(--vmap-panel);box-shadow:0 2px 9px rgb(72 30 13 / .18)}.vmap__view{padding:5px 12px;border:0;border-radius:2px;background:#e8e8e8;color:var(--vmap-ink);font:inherit;font-family:var(--vmap-mono);font-size:.875rem;font-weight:700;line-height:1.15;white-space:nowrap;cursor:pointer;transition:background 0.14s ease,color 0.14s ease}.vmap__view:hover{background:#dcdcdc;color:var(--vmap-ink)}.vmap__view.is-active{background:var(--vmap-accent);color:var(--vmap-pin-ink)}.vmap__zoom{display:flex;flex-direction:column;gap:5px}.vmap__zoom button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--vmap-line);border-radius:7px;background:var(--vmap-panel);color:var(--vmap-ink);font:inherit;font-size:1rem;line-height:1;cursor:pointer}.vmap__zoom button:hover{background:color-mix(in srgb,var(--vmap-accent) 10%,var(--vmap-panel))}.vmap__zoom button:disabled{opacity:.35;cursor:default}.vmap__back{display:inline-flex;align-items:center;gap:6px;padding:7px 14px 7px 11px;border:1px solid var(--vmap-line);border-radius:999px;background:var(--vmap-panel);color:var(--vmap-ink);font:inherit;font-size:.875rem;cursor:pointer}.vmap .vmap__back:hover,.vmap .vmap__back:focus-visible{border-color:var(--vmap-accent);background:var(--vmap-accent);color:var(--vmap-pin-ink);outline:none}.vmap__detail-meta:empty{display:none}.vmap__detail-meta{padding:4px 26px 26px}.vmap__card-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}.vmap__card-title{margin:0;font-size:clamp(1.15rem, 2vw, 1.6rem);line-height:1.15}.vmap__badge{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;color:var(--vmap-muted)}.vmap__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin:0 0 16px;background:var(--vmap-line);border:1px solid var(--vmap-line);border-radius:calc(var(--vmap-radius) / 3);overflow:hidden}.vmap__facts>div{padding:10px 14px;background:var(--vmap-panel)}.vmap__facts dt{margin:0 0 3px;color:var(--vmap-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.vmap__facts dd{margin:0;font-family:var(--vmap-mono);font-size:1rem;font-weight:600}.vmap__card-text{margin-bottom:16px;color:var(--vmap-muted);font-size:.9375rem}.vmap__card-actions{display:flex;flex-wrap:wrap;gap:10px}.vmap__btn{display:inline-flex;align-items:center;padding:10px 20px;border:1px solid var(--vmap-accent);border-radius:calc(var(--vmap-radius) / 3);background:var(--vmap-accent);color:var(--vmap-panel);font-size:.9375rem;text-decoration:none}.vmap__btn:hover{opacity:.88;color:var(--vmap-panel)}.vmap__btn--ghost{background:#fff0;border-color:var(--vmap-line);color:var(--vmap-ink)}.vmap__btn--ghost:hover{border-color:var(--vmap-accent);color:var(--vmap-ink)}.vmap__card-nomedia{margin:0;color:var(--vmap-muted);font-size:.875rem;text-align:center}.vmap__modal{width:min(920px, 92vw);max-height:90vh;padding:clamp(20px, 3vw, 34px);border:0;border-radius:var(--vmap-radius);background:var(--vmap-panel);color:var(--vmap-ink);overflow:auto}.vmap__modal::backdrop{background:rgb(16 18 22 / .55)}.vmap__modal .vmap__card-media{margin-bottom:18px}.vmap__modal .vmap-svg,.vmap__modal img{max-height:60vh;margin:0 auto}.vmap__close{position:absolute;top:10px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:#fff0;color:var(--vmap-muted);font-size:1.6rem;line-height:1;cursor:pointer}.vmap__close:hover{background:color-mix(in srgb,var(--vmap-line) 60%,transparent)}.vmap__tip{position:absolute;z-index:20;transform:translate(14px,-50%);padding:7px 11px;border-radius:8px;background:var(--vmap-ink);color:var(--vmap-panel);font-size:.8125rem;line-height:1.4;white-space:nowrap;pointer-events:none}.vmap__tip strong{display:block;font-weight:600}.vmap__tip span{display:block;opacity:.75;font-family:var(--vmap-mono)}@media (max-width:900px){.vmap,.vmap[data-sidebar="right"]{grid-template-columns:minmax(0,1fr)}.vmap__side{order:2;min-height:0;height:246px}.vmap[data-sidebar="right"] .vmap__side{order:2}.vmap__overlay--tl{top:14px;left:14px}.vmap__overlay--tr{top:12px;right:12px}.vmap__overlay--br{bottom:12px;right:12px}.vmap__legend{flex-direction:row;flex-wrap:wrap;gap:6px 14px;font-size:.8125rem}.vmap__row{padding:9px 12px}.vmap__row-title{margin-bottom:3px}.vmap__row-line{line-height:1.35}.vmap__view{padding:5px 10px;font-size:.8125rem}.vmap__tip{display:none}.vmap__viewport{aspect-ratio:4/3}.vmap{--vmap-pin-base:1.7}}@media (prefers-reduced-motion:reduce){.vmap *,.vmap *::before{transition:none!important;animation:none!important}}.vmap-notice{padding:12px 16px;border-left:3px solid #d38b1a;background:#fdf6e7;color:#6b4c05;font-size:.875rem}