.cr-map{--cr-none:var(--color-sunken);--cr-data:var(--color-accent);--cr-data-stroke:var(--color-accent-hover);--cr-stroke:var(--color-line-2);margin:0;padding:12px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--r-lg);box-sizing:border-box}.cr-map-frame{position:relative;width:100%;margin-inline:auto}.cr-map svg{display:block;width:100%;height:auto}.cr-map.is-fitted .cr-map-frame{flex:none;height:min(860px,calc(80vh));width:auto;aspect-ratio:620/848}.cr-map.is-fitted svg{width:100%;height:100%}@media (max-width:980px){.cr-map.is-fitted{display:block;height:auto}.cr-map.is-fitted .cr-map-frame{width:100%;aspect-ratio:auto}.cr-map.is-fitted svg{height:auto}}.cr-dept{fill:var(--cr-none);stroke:var(--cr-stroke);stroke-width:.6;stroke-linejoin:round;transition:fill .35s var(--ease-smooth),opacity .35s var(--ease-smooth)}.cr-dept.has-data{fill:var(--cr-data);stroke:var(--cr-data-stroke)}.cr-dept.is-active{stroke:var(--color-text);stroke-width:1.2}.cr-depts:hover .cr-dept:not(.is-active){opacity:.55}.cr-island{fill:var(--cr-none);stroke:var(--cr-stroke);stroke-width:.6;stroke-linejoin:round}.cr-archipelago.has-data .cr-island{fill:var(--cr-data);stroke:var(--cr-data-stroke)}.cr-arch-label{font-family:var(--font-sans);font-size:12px;text-anchor:start;fill:var(--color-text-3)}.cr-site-halo{fill:var(--color-text);opacity:.1;transform-box:fill-box;transform-origin:center;transition:opacity .35s var(--ease-smooth),transform .35s var(--ease-smooth)}.cr-site-dot{fill:var(--color-surface);stroke:var(--color-text);stroke-width:2.2}.cr-site.kind-hq .cr-site-dot{fill:var(--color-text);stroke:var(--color-surface);stroke-width:1.6}.cr-site.kind-service .cr-site-dot{stroke-dasharray:2.2 1.8}.cr-site.is-active .cr-site-halo{opacity:.22;transform:scale(1.35)}.cr-site-label{font-family:var(--font-sans);font-size:13px;fill:var(--color-text-muted);paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round}.cr-site.is-active .cr-site-label{fill:var(--color-text)}@media (max-width:560px){.cr-site-label{display:none}}.cr-tip{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - 12px));max-width:240px;padding:8px 10px;background:var(--color-text);color:var(--raw-off-white);border-radius:var(--r-sm);box-shadow:var(--shadow-md);pointer-events:none;display:flex;flex-direction:column;gap:4px}.cr-tip-title{font-size:var(--fs-sm);font-weight:600;letter-spacing:.01em}.cr-tip-detail{font-size:12.5px;line-height:1.45;opacity:.75}.cr-legend{align-items:center;gap:8px 24px;margin-top:14px;padding-top:12px;border-top:1px solid var(--color-line)}.cr-legend,.cr-legend-list{display:flex;flex-wrap:wrap}.cr-legend-list{gap:8px 18px;margin:0;padding:0;list-style:none}.cr-legend-list li{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--color-text-muted)}.cr-swatch{width:18px;height:12px;border-radius:2px;border:1px solid var(--cr-stroke,var(--color-line-2));background:var(--cr-none,var(--color-sunken));flex:none}.cr-swatch.has-data{background:var(--cr-data,var(--color-accent));border-color:var(--cr-data-stroke,var(--color-accent-hover))}.cr-pin{width:11px;height:11px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-text);flex:none}.cr-pin.kind-hq{background:var(--color-text)}.cr-pin.kind-service{border-style:dashed}.cr-sites-list{width:100%}.cr-sites-list ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.cr-site-btn{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;width:100%;padding:10px 12px;background:none;border:1px solid transparent;border-radius:var(--r-md);text-align:left;cursor:pointer;transition:background .3s var(--ease-smooth),border-color .3s var(--ease-smooth)}.cr-site-btn.is-active,.cr-site-btn:hover{background:var(--color-sunken);border-color:var(--color-line)}.cr-site-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.cr-site-city{font-size:var(--fs-sm);font-weight:600;color:var(--color-text)}.cr-site-meta{grid-column:2;font-size:var(--fs-label);color:var(--color-text-3)}