.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
position: absolute;
left: 0;
top: 0;
}
.leaflet-container {
overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-user-drag: none;
}
.leaflet-tile::selection {
background: transparent;
}
.leaflet-safari .leaflet-tile {
image-rendering: -webkit-optimize-contrast;
}
.leaflet-safari .leaflet-tile-container {
width: 1600px;
height: 1600px;
-webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
.leaflet-container .leaflet-overlay-pane svg {
max-width: none !important;
max-height: none !important;
}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
max-width: none !important;
max-height: none !important;
width: auto;
padding: 0;
}
.leaflet-container img.leaflet-tile {
mix-blend-mode: plus-lighter;
}
.leaflet-container.leaflet-touch-zoom {
-ms-touch-action: pan-x pan-y;
touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
-ms-touch-action: pinch-zoom;
touch-action: none;
touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
-ms-touch-action: none;
touch-action: none;
}
.leaflet-container {
-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
width: 0;
height: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
z-index: 800;
}
.leaflet-overlay-pane svg {
-moz-user-select: none;
}
.leaflet-pane { z-index: 400; }
.leaflet-tile-pane { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane { z-index: 500; }
.leaflet-marker-pane { z-index: 600; }
.leaflet-tooltip-pane { z-index: 650; }
.leaflet-popup-pane { z-index: 700; }
.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg { z-index: 200; }
.leaflet-vml-shape {
width: 1px;
height: 1px;
}
.lvml {
behavior: url(#default#VML);
display: inline-block;
position: absolute;
}
.leaflet-control {
position: relative;
z-index: 800;
pointer-events: visiblePainted;
pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
position: absolute;
z-index: 1000;
pointer-events: none;
}
.leaflet-top {
top: 0;
}
.leaflet-right {
right: 0;
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
}
.leaflet-control {
float: left;
clear: both;
}
.leaflet-right .leaflet-control {
float: right;
}
.leaflet-top .leaflet-control {
margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
margin-left: 10px;
}
.leaflet-right .leaflet-control {
margin-right: 10px;
}
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
.leaflet-zoom-animated {
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}
svg.leaflet-zoom-animated {
will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
visibility: hidden;
}
.leaflet-interactive {
cursor: pointer;
}
.leaflet-grab {
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
cursor: grabbing;
}
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
pointer-events: visiblePainted;
pointer-events: auto;
}
.leaflet-container {
background: #ddd;
outline-offset: 1px;
}
.leaflet-container a {
color: #0078A8;
}
.leaflet-zoom-box {
border: 2px dotted #38f;
background: rgba(255,255,255,0.5);
}
.leaflet-container {
font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
font-size: 12px;
font-size: 0.75rem;
line-height: 1.5;
}
.leaflet-bar {
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
border-radius: 4px;
}
.leaflet-bar a {
background-color: #fff;
border-bottom: 1px solid #ccc;
width: 26px;
height: 26px;
line-height: 26px;
display: block;
text-align: center;
text-decoration: none;
color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
cursor: default;
background-color: #f4f4f4;
color: #bbb;
}
.leaflet-touch .leaflet-bar a {
width: 30px;
height: 30px;
line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
font: bold 18px 'Lucida Console', Monaco, monospace;
text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
font-size: 22px;
}
.leaflet-control-layers {
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
background: #fff;
border-radius: 5px;
}
.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
background-image: url(images/layers-2x.png);
background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-scrollbar {
overflow-y: scroll;
overflow-x: hidden;
padding-right: 5px;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
font-size: 13px;
font-size: 1.08333em;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
.leaflet-default-icon-path {
background-image: url(images/marker-icon.png);
}
.leaflet-container .leaflet-control-attribution {
background: #fff;
background: rgba(255, 255, 255, 0.8);
margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
padding: 0 5px;
color: #333;
line-height: 1.4;
}
.leaflet-control-attribution a {
text-decoration: none;
}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
text-decoration: underline;
}
.leaflet-attribution-flag {
display: inline !important;
vertical-align: baseline !important;
width: 1em;
height: 0.6669em;
}
.leaflet-left .leaflet-control-scale {
margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
margin-bottom: 5px;
}
.leaflet-control-scale-line {
border: 2px solid #777;
border-top: none;
line-height: 1.1;
padding: 2px 5px 1px;
white-space: nowrap;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: rgba(255, 255, 255, 0.8);
text-shadow: 1px 1px #fff;
}
.leaflet-control-scale-line:not(:first-child) {
border-top: 2px solid #777;
border-bottom: none;
margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
border: 2px solid rgba(0,0,0,0.2);
background-clip: padding-box;
}
.leaflet-popup {
position: absolute;
text-align: center;
margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
padding: 1px;
text-align: left;
border-radius: 12px;
}
.leaflet-popup-content {
margin: 13px 24px 13px 20px;
line-height: 1.3;
font-size: 13px;
font-size: 1.08333em;
min-height: 1px;
}
.leaflet-popup-content p {
margin: 17px 0;
margin: 1.3em 0;
}
.leaflet-popup-tip-container {
width: 40px;
height: 20px;
position: absolute;
left: 50%;
margin-top: -1px;
margin-left: -20px;
overflow: hidden;
pointer-events: none;
}
.leaflet-popup-tip {
width: 17px;
height: 17px;
padding: 1px;
margin: -10px auto 0;
pointer-events: auto;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
background: white;
color: #333;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
position: absolute;
top: 0;
right: 0;
border: none;
text-align: center;
width: 24px;
height: 24px;
font: 16px/24px Tahoma, Verdana, sans-serif;
color: #757575;
text-decoration: none;
background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
color: #585858;
}
.leaflet-popup-scrolled {
overflow: auto;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
-ms-zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
width: 24px;
margin: 0 auto;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
border: 1px solid #999;
}
.leaflet-div-icon {
background: #fff;
border: 1px solid #666;
}
.leaflet-tooltip {
position: absolute;
padding: 6px;
background-color: #fff;
border: 1px solid #fff;
border-radius: 3px;
color: #222;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.leaflet-tooltip.leaflet-interactive {
cursor: pointer;
pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
position: absolute;
pointer-events: none;
border: 6px solid transparent;
background: transparent;
content: "";
}
.leaflet-tooltip-bottom {
margin-top: 6px;
}
.leaflet-tooltip-top {
margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
left: 50%;
margin-left: -6px;
}
.leaflet-tooltip-top:before {
bottom: 0;
margin-bottom: -12px;
border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
top: 0;
margin-top: -12px;
margin-left: -6px;
border-bottom-color: #fff;
}
.leaflet-tooltip-left {
margin-left: -6px;
}
.leaflet-tooltip-right {
margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
top: 50%;
margin-top: -6px;
}
.leaflet-tooltip-left:before {
right: 0;
margin-right: -12px;
border-left-color: #fff;
}
.leaflet-tooltip-right:before {
left: 0;
margin-left: -12px;
border-right-color: #fff;
}
@media print {
.leaflet-control {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
}
.kc-hm-app {
--kc-hm-b50: #E9F5F3; --kc-hm-b100: #CDE9E4; --kc-hm-b200: #9FD3CB;
--kc-hm-b300: #6DB9AE; --kc-hm-b400: #3E9A8F; --kc-hm-b500: #1F7F73;
--kc-hm-b600: #0F6B63; --kc-hm-b700: #0E5A55; --kc-hm-b800: #0B4844;
--kc-hm-bg: #fff; --kc-hm-subtle: #fcfcfb; --kc-hm-surface: #f7f7f5;
--kc-hm-line: #e6e4e0; --kc-hm-line-2: #d6d3cd;
--kc-hm-ink: #1c1b18; --kc-hm-ink-2: #6b6760; --kc-hm-ink-3: #8a867e;
--kc-hm-coral: #c2410c;
--kc-hm-d0: #edf1ef; --kc-hm-d1: #d3e8e3; --kc-hm-d2: #a9d4ca;
--kc-hm-d3: #78bbad; --kc-hm-d4: #3e9a8f; --kc-hm-d5: #0e5a55;
--kc-hm-nodata: #dedad2;
--kc-hm-r1: 4px; --kc-hm-r2: 6px; --kc-hm-r3: 12px; --kc-hm-r4: 16px; --kc-hm-pill: 999px;
--kc-hm-shadow: 0 1px 2px rgba(28,27,24,.06), 0 8px 24px rgba(28,27,24,.07);
box-sizing: border-box;
padding: 24px 0 40px;
background: var(--kc-hm-subtle, #fcfcfb);
color: var(--kc-hm-ink, #1c1b18);
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
font-size: 14px;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
.kc-hm-app *,
.kc-hm-app *::before,
.kc-hm-app *::after { box-sizing: border-box; }
body.kc-hm-active .entry-header,
body.kc-hm-active .page-header,
body.kc-hm-active .wp-block-post-title { display: none; }
.kc-hm-app [hidden] { display: none !important; }
.kc-hm-skip {
position: absolute; left: -9999px; top: 0; z-index: 999;
padding: 10px 16px; background: #fff; color: var(--kc-hm-b700, #0E5A55);
border-radius: var(--kc-hm-r2, 6px); font-size: 13px; font-weight: 600;
box-shadow: var(--kc-hm-shadow, 0 8px 24px rgba(28,27,24,.07));
}
.kc-hm-skip:focus { left: 12px; top: 12px; }
.kc-hm-main { display: block; }
.kc-hm-head { padding: 4px 0 20px; }
.kc-hm-kicker {
display: flex; align-items: center; gap: 8px; margin: 0 0 10px;
font-size: 12px; line-height: 1.5; font-weight: 600;
letter-spacing: .8px; text-transform: uppercase;
color: var(--kc-hm-b600, #0F6B63);
}
.kc-hm-kicker::before {
content: ""; width: 20px; height: 2px; border-radius: 2px;
background: var(--kc-hm-b500, #1F7F73); flex: 0 0 auto;
}
.kc-hm-kicker-year {
margin-left: 2px; padding: 1px 7px; border-radius: var(--kc-hm-pill, 999px);
border: 1px solid var(--kc-hm-b100, #CDE9E4); background: #fff;
font-size: 10px; font-weight: 600; letter-spacing: .4px; text-transform: none;
color: var(--kc-hm-b600, #0F6B63);
}
.kc-hm-h1 {
margin: 0 0 10px; font-size: 30px; line-height: 1.25; font-weight: 700;
letter-spacing: -.02em; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-sub {
margin: 0 0 14px; max-width: 62ch;
font-size: 15px; line-height: 1.7; color: var(--kc-hm-ink-2, #6b6760);
}
.kc-hm-meta {
display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px;
margin: 0; font-size: 12px; line-height: 1.6; color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-meta b { font-weight: 600; color: var(--kc-hm-ink-2, #6b6760); }
.kc-hm-meta-link {
color: var(--kc-hm-b700, #0E5A55); font-weight: 600; text-decoration: none;
border-bottom: 1px solid var(--kc-hm-b200, #9FD3CB); padding-bottom: 1px;
}
.kc-hm-meta-link:hover { color: var(--kc-hm-b800, #0B4844); border-bottom-color: var(--kc-hm-b400, #3E9A8F); }
.kc-hm-note {
display: flex; align-items: flex-start; flex-wrap: wrap; gap: 6px;
margin: 0 0 16px; padding: 11px 14px;
border: 1px solid var(--kc-hm-b100, #CDE9E4); border-radius: var(--kc-hm-r3, 12px);
background: var(--kc-hm-b50, #E9F5F3);
font-size: 12px; line-height: 1.7; color: #2b544d;
}
.kc-hm-note::before {
content: ""; width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto;
margin: 6px 2px 0 0; background: var(--kc-hm-b400, #3E9A8F);
}
.kc-hm-note b { font-weight: 700; color: var(--kc-hm-b800, #0B4844); margin-right: 2px; }
.kc-hm-note-body { flex: 1 1 260px; min-width: 0; }
.kc-hm-note button {
margin-left: auto; padding: 0; border: 0; background: none; cursor: pointer;
font: inherit; font-size: 12px; font-weight: 700; color: var(--kc-hm-b700, #0E5A55);
white-space: nowrap;
}
.kc-hm-note button:hover { text-decoration: underline; }
.kc-hm-ctrl {
display: grid; grid-template-columns: minmax(0, 288px) minmax(0, 1fr);
gap: 16px 24px; align-items: start;
padding: 16px 18px; margin: 0 0 12px;
background: var(--kc-hm-bg, #fff);
border: 1px solid var(--kc-hm-line, #e6e4e0); border-radius: var(--kc-hm-r3, 12px);
}
.kc-hm-label {
display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
margin: 0 0 8px; font-size: 12px; line-height: 1.5; font-weight: 600;
color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-label span { font-size: 11px; font-weight: 400; color: var(--kc-hm-ink-3, #8a867e); }
.kc-hm-select-wrap { position: relative; }
.kc-hm-select {
-webkit-appearance: none; appearance: none;
width: 100%; height: 42px; padding: 0 34px 0 12px;
border: 1px solid var(--kc-hm-line-2, #d6d3cd); border-radius: var(--kc-hm-r2, 6px);
background: var(--kc-hm-bg, #fff); color: var(--kc-hm-ink, #1c1b18);
font: inherit; font-size: 13px; font-weight: 600; line-height: 1.4;
cursor: pointer; outline: 0;
transition: border-color .16s, box-shadow .16s;
}
.kc-hm-select:hover { border-color: var(--kc-hm-b300, #6DB9AE); }
.kc-hm-select:focus-visible {
border-color: var(--kc-hm-b500, #1F7F73);
box-shadow: 0 0 0 3px rgba(31,127,115,.14);
}
.kc-hm-select-arrow {
position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
pointer-events: none; font-size: 12px; line-height: 1; color: var(--kc-hm-b600, #0F6B63);
}
.kc-hm-quick { display: flex; flex-wrap: wrap; gap: 6px; }
.kc-hm-quick button {
padding: 6px 11px; border: 1px solid var(--kc-hm-line, #e6e4e0);
border-radius: var(--kc-hm-pill, 999px); background: var(--kc-hm-subtle, #fcfcfb);
color: var(--kc-hm-ink-2, #6b6760); font: inherit; font-size: 12px; font-weight: 500;
line-height: 1.4; cursor: pointer; white-space: nowrap;
transition: background .16s, border-color .16s, color .16s;
}
.kc-hm-quick button:hover { border-color: var(--kc-hm-b300, #6DB9AE); color: var(--kc-hm-b700, #0E5A55); }
.kc-hm-quick button.is-active {
border-color: var(--kc-hm-b600, #0F6B63); background: var(--kc-hm-b700, #0E5A55);
color: #fff;
}
.kc-hm-stats {
margin: 0 0 12px; padding: 14px 18px 16px;
background: var(--kc-hm-bg, #fff);
border: 1px solid var(--kc-hm-line, #e6e4e0); border-radius: var(--kc-hm-r3, 12px);
}
.kc-hm-stats-head {
display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
margin-bottom: 12px;
}
.kc-hm-stats-eyebrow {
display: block; font-size: 11px; line-height: 1.5; font-weight: 500;
color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-stats-title {
margin: 2px 0 0; font-size: 17px; line-height: 1.35; font-weight: 700;
letter-spacing: -.01em; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-stats-badge {
flex: 0 0 auto; padding: 3px 9px; border-radius: var(--kc-hm-pill, 999px);
background: var(--kc-hm-surface, #f7f7f5); border: 1px solid var(--kc-hm-line, #e6e4e0);
font-size: 11px; font-weight: 500; color: var(--kc-hm-ink-2, #6b6760); white-space: nowrap;
}
.kc-hm-stats-grid {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
border-top: 1px solid var(--kc-hm-line, #e6e4e0);
}
.kc-hm-cell { padding: 14px 16px 2px 0; min-width: 0; }
.kc-hm-cell + .kc-hm-cell {
padding-left: 18px; border-left: 1px solid var(--kc-hm-line, #e6e4e0);
}
.kc-hm-cell-label {
display: flex; align-items: center; gap: 6px;
margin: 0 0 4px; font-size: 11px; line-height: 1.5; font-weight: 500;
color: var(--kc-hm-ink-2, #6b6760); white-space: nowrap;
}
.kc-hm-cell-label::before {
content: ""; width: 3px; height: 11px; border-radius: 2px; flex: 0 0 auto;
background: var(--kc-hm-b400, #3E9A8F);
}
.kc-hm-num {
display: block; font-size: 26px; line-height: 1.2; font-weight: 700;
letter-spacing: -.02em; font-variant-numeric: tabular-nums;
color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-num--brand { color: var(--kc-hm-b700, #0E5A55); }
.kc-hm-cell-unit {
display: block; margin-top: 2px; font-size: 11px; line-height: 1.5;
color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-info {
display: inline-grid; place-items: center; width: 14px; height: 14px; padding: 0;
border: 1px solid var(--kc-hm-line-2, #d6d3cd); border-radius: 50%;
background: transparent; color: var(--kc-hm-ink-3, #8a867e);
font-family: Georgia, serif; font-size: 9px; line-height: 1; cursor: pointer;
}
.kc-hm-info:hover { border-color: var(--kc-hm-b400, #3E9A8F); color: var(--kc-hm-b700, #0E5A55); }
.kc-hm-mapcard {
position: relative; isolation: isolate; overflow: hidden;
height: clamp(460px, 62vh, 620px); margin: 0 0 12px;
background: #d0cfd4;
border: 1px solid var(--kc-hm-line, #e6e4e0); border-radius: var(--kc-hm-r3, 12px);
box-shadow: var(--kc-hm-shadow, 0 8px 24px rgba(28,27,24,.07));
}
.kc-hm-map { position: absolute; inset: 0; z-index: 0; background: #d0cfd4; }
.kc-hm-mapbar {
position: absolute; left: 12px; right: 12px; top: 12px; z-index: 400;
display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
pointer-events: none;
}
.kc-hm-view, .kc-hm-reset {
display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 11px;
border: 1px solid var(--kc-hm-line, #e6e4e0); border-radius: var(--kc-hm-r2, 6px);
background: rgba(255,255,255,.96); box-shadow: 0 2px 10px rgba(28,27,24,.10);
font-size: 12px; font-weight: 600; line-height: 1.4; color: var(--kc-hm-ink, #1c1b18);
pointer-events: auto;
}
.kc-hm-view i {
width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto;
background: var(--kc-hm-b400, #3E9A8F);
}
.kc-hm-reset {
cursor: pointer; font-family: inherit; white-space: nowrap;
transition: background .16s, border-color .16s;
}
.kc-hm-reset:hover { background: #fff; border-color: var(--kc-hm-b300, #6DB9AE); color: var(--kc-hm-b700, #0E5A55); }
.kc-hm-reset span { font-size: 14px; line-height: 1; }
.kc-hm-mapfoot {
position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 400;
display: flex; align-items: flex-end; justify-content: space-between; gap: 10px;
pointer-events: none;
}
.kc-hm-legend {
max-width: 320px; padding: 10px 12px 9px;
border: 1px solid var(--kc-hm-line, #e6e4e0); border-radius: var(--kc-hm-r2, 6px);
background: rgba(255,255,255,.97); box-shadow: 0 2px 10px rgba(28,27,24,.10);
pointer-events: auto;
}
.kc-hm-legend-title {
display: flex; align-items: baseline; gap: 5px;
margin-bottom: 7px; font-size: 11px; font-weight: 700; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-legend-title span { font-size: 10px; font-weight: 400; color: var(--kc-hm-ink-3, #8a867e); }
.kc-hm-legend-items { display: flex; gap: 2px; }
.kc-hm-legend-item { min-width: 34px; display: flex; flex-direction: column; gap: 4px; }
.kc-hm-legend-swatch {
display: block; width: 100%; height: 8px; border-radius: 2px;
background: var(--swatch, #edf1ef);
}
.kc-hm-legend-label {
font-size: 9px; line-height: 1.4; color: var(--kc-hm-ink-2, #6b6760);
white-space: nowrap; font-variant-numeric: tabular-nums;
}
.kc-hm-legend-muted {
display: flex; align-items: center; gap: 5px; margin-top: 6px;
font-size: 10px; line-height: 1.4; color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-legend-muted i {
width: 12px; height: 8px; border-radius: 2px; flex: 0 0 auto;
background: var(--kc-hm-nodata, #dedad2);
}
.kc-hm-mapcard .leaflet-top.leaflet-right { top: 50px; }
.kc-hm-mapcard .leaflet-bottom.leaflet-right { bottom: 0; }
.kc-hm-loading, .kc-hm-error {
position: absolute; inset: 0; z-index: 600;
display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
background: rgba(250,251,250,.72); backdrop-filter: blur(2px);
font-size: 13px; font-weight: 600; color: var(--kc-hm-b700, #0E5A55);
}
.kc-hm-spinner {
width: 22px; height: 22px; border-radius: 50%;
border: 2.5px solid var(--kc-hm-b100, #CDE9E4); border-top-color: var(--kc-hm-b600, #0F6B63);
animation: kc-hm-spin .8s linear infinite;
}
@keyframes kc-hm-spin { to { transform: rotate(360deg); } }
.kc-hm-error { text-align: center; padding: 0 24px; }
.kc-hm-error strong { font-size: 15px; color: var(--kc-hm-ink, #1c1b18); }
.kc-hm-error span { font-size: 12px; font-weight: 400; color: var(--kc-hm-ink-2, #6b6760); }
.kc-hm-error button {
padding: 8px 14px; border: 0; border-radius: var(--kc-hm-r2, 6px);
background: var(--kc-hm-b700, #0E5A55); color: #fff;
font: inherit; font-size: 12px; font-weight: 600; cursor: pointer;
}
.kc-hm-error button:hover { background: var(--kc-hm-b800, #0B4844); }
.kc-hm-mapcard .leaflet-container { font-family: inherit; background: #d0cfd4; }
.kc-hm-mapcard .leaflet-control-attribution { font-size: 9px !important; background: rgba(255,255,255,.82); }
.kc-hm-mapcard .leaflet-control-attribution a { color: var(--kc-hm-ink-2, #6b6760); }
.kc-hm-mapcard .leaflet-control-zoom {
border: 1px solid var(--kc-hm-line, #e6e4e0) !important;
border-radius: var(--kc-hm-r2, 6px) !important;
box-shadow: 0 2px 10px rgba(28,27,24,.10) !important;
overflow: hidden;
}
.kc-hm-mapcard .leaflet-control-zoom a {
color: var(--kc-hm-ink, #1c1b18) !important; font-size: 17px; line-height: 26px;
width: 28px; height: 28px; background: rgba(255,255,255,.97);
}
.kc-hm-mapcard .leaflet-control-zoom a:hover { background: #fff; color: var(--kc-hm-b700, #0E5A55) !important; }
.kc-hm-mapcard .leaflet-tooltip {
padding: 5px 9px; border: 1px solid var(--kc-hm-line, #e6e4e0);
border-radius: var(--kc-hm-r2, 6px); box-shadow: 0 4px 14px rgba(28,27,24,.12);
font-size: 11px; font-weight: 600; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-mapcard .leaflet-popup-content-wrapper {
border-radius: var(--kc-hm-r3, 12px); box-shadow: 0 12px 32px rgba(28,27,24,.18);
}
.kc-hm-mapcard .leaflet-popup-content { margin: 14px 16px !important; min-width: 190px; }
.kc-hm-mapcard .leaflet-popup-close-button { color: var(--kc-hm-ink-3, #8a867e) !important; }
.kc-hm-pop-eyebrow {
font-size: 10px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
color: var(--kc-hm-b500, #1F7F73);
}
.kc-hm-pop-title {
margin: 4px 0 10px; font-size: 15px; line-height: 1.4; font-weight: 700;
color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-pop-row {
display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
margin: 6px 0; font-size: 11px; line-height: 1.5; color: var(--kc-hm-ink-2, #6b6760);
}
.kc-hm-pop-row strong {
font-size: 12px; font-weight: 700; color: var(--kc-hm-ink, #1c1b18);
font-variant-numeric: tabular-nums; white-space: nowrap;
}
.kc-hm-pop-row--main strong { font-size: 16px; color: var(--kc-hm-b700, #0E5A55); }
.kc-hm-pop-tip {
margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--kc-hm-line, #e6e4e0);
font-size: 10px; line-height: 1.55; color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-pop-action {
width: 100%; margin-top: 9px; padding: 8px 10px;
border: 0; border-radius: var(--kc-hm-r2, 6px);
background: var(--kc-hm-b50, #E9F5F3); color: var(--kc-hm-b700, #0E5A55);
font: inherit; font-size: 11px; font-weight: 700; cursor: pointer;
}
.kc-hm-pop-action:hover { background: var(--kc-hm-b100, #CDE9E4); }
.kc-hm-rank {
margin: 0 0 12px; padding: 16px 18px 8px;
background: var(--kc-hm-bg, #fff);
border: 1px solid var(--kc-hm-line, #e6e4e0); border-radius: var(--kc-hm-r3, 12px);
}
.kc-hm-sechead {
display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
margin-bottom: 12px;
}
.kc-hm-sechead > div { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.kc-hm-secidx {
font-size: 11px; font-weight: 700; letter-spacing: .4px; color: var(--kc-hm-b400, #3E9A8F);
font-variant-numeric: tabular-nums;
}
.kc-hm-sechead h2 {
margin: 0; font-size: 15px; line-height: 1.4; font-weight: 700;
letter-spacing: -.01em; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-secmeta { font-size: 11px; line-height: 1.5; color: var(--kc-hm-ink-3, #8a867e); white-space: nowrap; }
.kc-hm-search {
display: flex; align-items: center; gap: 7px;
height: 38px; padding: 0 10px; margin-bottom: 4px;
border: 1px solid var(--kc-hm-line, #e6e4e0); border-radius: var(--kc-hm-r2, 6px);
background: var(--kc-hm-subtle, #fcfcfb);
transition: border-color .16s, box-shadow .16s, background .16s;
}
.kc-hm-search:focus-within {
border-color: var(--kc-hm-b400, #3E9A8F); background: #fff;
box-shadow: 0 0 0 3px rgba(31,127,115,.10);
}
.kc-hm-search > span { font-size: 15px; line-height: 1; color: var(--kc-hm-ink-3, #8a867e); }
.kc-hm-search input {
flex: 1 1 auto; min-width: 0; height: 100%;
border: 0; outline: 0; background: transparent;
font: inherit; font-size: 12px; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-search input::placeholder { color: var(--kc-hm-ink-3, #8a867e); }
.kc-hm-search kbd {
flex: 0 0 auto; padding: 2px 5px; border: 1px solid var(--kc-hm-line, #e6e4e0);
border-radius: var(--kc-hm-r1, 4px); background: #fff;
font-family: inherit; font-size: 10px; line-height: 1.4; color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-list {
display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 24px; margin-top: 4px;
}
.kc-hm-row {
display: grid; grid-template-columns: 22px minmax(0, 1fr) auto;
align-items: center; gap: 8px; width: 100%; min-height: 50px;
padding: 7px 6px 7px 2px; border: 0; border-bottom: 1px solid var(--kc-hm-line, #e6e4e0);
border-radius: 0; background: transparent; text-align: left;
font: inherit; color: inherit; cursor: pointer;
transition: background .14s;
}
.kc-hm-row:hover { background: var(--kc-hm-surface, #f7f7f5); }
.kc-hm-row.is-active { background: var(--kc-hm-b50, #E9F5F3); }
.kc-hm-row-idx {
font-size: 11px; font-weight: 600; color: var(--kc-hm-ink-3, #8a867e);
font-variant-numeric: tabular-nums;
}
.kc-hm-row-body { min-width: 0; }
.kc-hm-row-name {
display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
font-size: 12.5px; font-weight: 600; line-height: 1.4; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-row-detail {
display: block; margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
font-size: 10.5px; line-height: 1.4; color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-row-rate {
font-size: 13px; font-weight: 700; line-height: 1.4; white-space: nowrap;
color: var(--kc-hm-b700, #0E5A55); font-variant-numeric: tabular-nums;
}
.kc-hm-row.is-nodata .kc-hm-row-rate { color: var(--kc-hm-ink-3, #8a867e); font-weight: 500; }
.kc-hm-empty { padding: 22px 4px; font-size: 12px; color: var(--kc-hm-ink-3, #8a867e); grid-column: 1 / -1; }
.kc-hm-method { padding: 26px 0 0; }
.kc-hm-method-head {
display: flex; align-items: baseline; gap: 9px; margin-bottom: 14px;
}
.kc-hm-method-head h2 {
margin: 0; font-size: 18px; line-height: 1.4; font-weight: 700;
letter-spacing: -.01em; color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.kc-hm-mcard {
padding: 16px; border: 1px solid var(--kc-hm-line, #e6e4e0);
border-radius: var(--kc-hm-r3, 12px); background: var(--kc-hm-bg, #fff);
}
.kc-hm-mnum {
display: block; margin-bottom: 8px; font-size: 10px; font-weight: 700;
letter-spacing: .4px; color: var(--kc-hm-b400, #3E9A8F); text-transform: uppercase;
}
.kc-hm-mcard h3 {
margin: 0 0 6px; font-size: 14px; line-height: 1.45; font-weight: 700;
color: var(--kc-hm-ink, #1c1b18);
}
.kc-hm-mcard p {
margin: 0; font-size: 12px; line-height: 1.75; color: var(--kc-hm-ink-2, #6b6760);
}
.kc-hm-mcard strong { font-weight: 600; color: var(--kc-hm-b700, #0E5A55); }
.kc-hm-fine {
margin: 14px 0 0; font-size: 11px; line-height: 1.8; color: var(--kc-hm-ink-3, #8a867e);
}
.kc-hm-fine a {
color: var(--kc-hm-b600, #0F6B63); text-decoration: none;
border-bottom: 1px solid var(--kc-hm-b100, #CDE9E4);
}
.kc-hm-fine a:hover { border-bottom-color: var(--kc-hm-b400, #3E9A8F); }
@media (max-width: 860px) {
.kc-hm-ctrl { grid-template-columns: minmax(0, 1fr); gap: 12px; }
.kc-hm-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
.kc-hm-app { padding: 16px 0 32px; }
.kc-hm-h1 { font-size: 24px; }
.kc-hm-sub { font-size: 13.5px; }
.kc-hm-meta { font-size: 11px; }
.kc-hm-note button { margin-left: 0; }
.kc-hm-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kc-hm-cell:nth-child(3) {
grid-column: 1 / -1; padding-left: 0; border-left: 0;
border-top: 1px solid var(--kc-hm-line, #e6e4e0); margin-top: 12px; padding-top: 12px;
}
.kc-hm-num { font-size: 22px; }
.kc-hm-mapcard { height: 420px; }
.kc-hm-list { grid-template-columns: minmax(0, 1fr); }
.kc-hm-method-grid { grid-template-columns: minmax(0, 1fr); }
.kc-hm-legend { max-width: 246px; padding: 8px 9px; }
.kc-hm-legend-item { min-width: 26px; }
.kc-hm-legend-label { font-size: 8px; }
.kc-hm-mapfoot { right: 10px; left: 10px; bottom: 10px; }
.kc-hm-mapbar { left: 10px; right: 10px; top: 10px; }
}
@media (max-width: 400px) {
.kc-hm-quick button { padding: 5px 9px; font-size: 11px; }
.kc-hm-legend { max-width: 214px; }
.kc-hm-legend-item { min-width: 23px; }
}
@media (prefers-reduced-motion: reduce) {
.kc-hm-app *, .kc-hm-app *::before, .kc-hm-app *::after {
animation-duration: .01ms !important; transition-duration: .01ms !important;
}
}