.kp-map-frame{position:relative;width:100%;height:var(--map-height,650px);min-height:var(--map-height,650px);overflow:hidden;background:#efe7d4}.kp-map-frame--compact{border-radius:12px}.kp-map-canvas,.kp-map-canvas .maplibregl-canvas{width:100%;height:100%}.kp-map-frame__vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse 90% 80% at 50% 50%,transparent 50%,rgba(35,25,16,.12) 100%)}.kp-map-frame__shine{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(145deg,rgba(255,255,255,.08) 0%,transparent 42%,transparent 68%,rgba(0,0,0,.12) 100%)}.kp-map-loader{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:linear-gradient(160deg,#e6dcc4 0%,#efe7d4 100%)}.kp-map-loader[hidden],.kp-map-frame.is-map-ready .kp-map-loader{display:none!important}.kp-map-frame.is-map-loading .kp-map-canvas{visibility:hidden}.kp-map-frame.is-map-ready .kp-map-canvas{visibility:visible}.kp-map-loader__panel{text-align:center;padding:24px;max-width:280px}.kp-map-loader__ring{width:44px;height:44px;margin:0 auto 16px;border-radius:50%;border:2px solid rgba(201,162,39,.25);border-top-color:var(--color-accent-gold,#c9a227);animation:kp-map-spin .9s linear infinite}@keyframes kp-map-spin { to { transform: rotate(360deg); } }.kp-map-loader__title{margin:0 0 8px;font-size:16px;font-weight:600;color:#231910}.kp-map-loader__hint{margin:0 0 16px;font-size:13px;color:rgba(35,25,16,.62)}.kp-map-loader__track{height:3px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}.kp-map-loader__bar{display:block;height:100%;width:8%;background:linear-gradient(90deg,#9a4a2a,#c9a227);transition:width .35s ease}.kp-map-chrome{position:absolute;top:12px;left:12px;right:12px;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.kp-map-legend{pointer-events:auto}.kp-map-legend__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.kp-map-legend__btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(35,25,16,.12);border-radius:999px;background:rgba(239,231,212,.94);backdrop-filter:blur(8px);color:#231910;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .2s , transform .2s}.kp-map-legend__btn:not(.is-active) {opacity:.45}.kp-map-legend__btn:hover{transform:translateY(-1px)}.kp-map-legend__swatch{width:10px;height:10px;border-radius:50%;background:var(--kp-legend-color,#c9a227)}.kp-map-fullscreen-btn{position:absolute;right:14px;bottom:14px;z-index:5;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(35,25,16,.12);border-radius:999px;background:rgba(239,231,212,.94);backdrop-filter:blur(8px);color:#231910;cursor:pointer;pointer-events:auto;transition:background .2s ease , color .2s ease , transform .15s ease}.kp-map-fullscreen-btn:hover{transform:scale(1.02);background:rgba(232,223,200,.98)}.kp-map-fullscreen-btn.is-active{color:#fff;background:var(--color-brand);border-color:rgba(78,54,41,.4)}.kp-map-fullscreen-btn__icon{display:flex;align-items:center;justify-content:center}.kp-map-fullscreen-btn__icon--exit{display:none}.kp-map-fullscreen-btn.is-active .kp-map-fullscreen-btn__icon--enter{display:none}.kp-map-fullscreen-btn.is-active .kp-map-fullscreen-btn__icon--exit{display:flex}body.kp-map-expanded-open{overflow:hidden}.kp-map-expand-backdrop{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,40px);box-sizing:border-box;background:rgba(35,25,16,.45);backdrop-filter:blur(14px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease , visibility .28s ease}.kp-map-expand-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto}.kp-map-expand-dialog{width:min(1400px,100%);height:min(88vh,920px);max-height:88vh}.kp-map-frame.is-map-expanded{width:100%;height:100%;min-height:min(88vh,920px);max-height:88vh;border-radius:16px;overflow:hidden;box-shadow:0 40px 80px rgba(35,25,16,.22) , 0 14px 32px rgba(78,54,41,.12)}.kp-map-frame.is-map-expanded .kp-map-canvas,.kp-map-frame.is-map-expanded .kp-map-canvas .maplibregl-canvas{height:100%;min-height:100%}.kp-map-frame.is-map-expanded .kp-map-fullscreen-btn{right:18px;bottom:18px}.kp-map-frame.is-map-expanded .kp-map-chrome{top:18px;left:18px;right:18px}.kp-pin-anchor{position:relative;width:0;height:0}.kp-pin-btn{position:absolute;left:0;bottom:0;transform:translateX(-50%);margin:0;padding:0;border:none;background:transparent;cursor:pointer;font:inherit}.kp-pin{display:inline-flex;flex-direction:column;align-items:center;--kp-pin-size:40px}.kp-pin__chip{display:block;max-width:168px;margin-bottom:6px;padding:5px 10px;border-radius:6px;border-left:3px solid var(--kp-pin-color,#4e3629);background:rgba(239,231,212,.97);color:#231910;font-size:11px;font-weight:700;line-height:1.25;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 16px rgba(28,19,11,.18);opacity:1;transform:translateY(0);transition:opacity .2s ease , transform .2s ease}.kp-map-frame--pin-compact .kp-pin__chip{opacity:0;transform:translateY(4px);pointer-events:none}.kp-pin-btn:hover .kp-pin__chip,.kp-pin-btn.is-active .kp-pin__chip{opacity:1;transform:translateY(0)}.kp-pin__marker{display:grid;place-items:center;width:var(--kp-pin-size);height:var(--kp-pin-size);border-radius:50%;background:var(--kp-pin-color,#4e3629);color:#fff;border:3px solid #fff;box-shadow:0 6px 18px rgba(28,19,11,.28);transition:transform .2s ease , box-shadow .2s ease}.kp-pin--building .kp-pin__marker{border-radius:10px}.kp-pin--transport .kp-pin__marker{border-radius:50% 50% 50% 4px;transform:rotate(-45deg)}.kp-pin--transport .kp-pin__icon{transform:rotate(45deg)}.kp-pin--attraction .kp-pin__marker{background:linear-gradient(145deg,#e5c98a 0%,#c9a227 100%);color:#231910}.kp-pin__num{font-family: var(--font-demi, sans-serif);font-size:17px;font-weight:700;line-height:1}.kp-pin__icon{display:flex;align-items:center;justify-content:center}.kp-pin-btn:hover .kp-pin__marker,.kp-pin-btn.is-active .kp-pin__marker{transform:scale(1.08);box-shadow:0 8px 22px rgba(28,19,11,.32)}.kp-pin-btn:hover .kp-pin--transport .kp-pin__marker,.kp-pin-btn.is-active .kp-pin--transport .kp-pin__marker{transform:rotate(-45deg) scale(1.08)}.kp-pin__stem{width:2px;height:10px;margin-top:-1px;background:linear-gradient(180deg,#fff 0%,var(--kp-pin-color,#4e3629) 100%);border-radius:1px;opacity:.9}.kp-map-frame--pin-compact .kp-pin__stem{height:6px}.kp-pin__point{position:relative;width:10px;height:10px;margin-top:-1px;border-radius:50%;background:var(--kp-pin-color,#4e3629);border:2px solid #fff;box-shadow:0 2px 8px rgba(28,19,11,.25)}.kp-pin-btn.is-active .kp-pin__point::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--kp-pin-color,#4e3629);opacity:.55;animation:kp-pin-ring 1.6s ease-out infinite}@keyframes kp-pin-ring {
    0% { transform: scale(0.85); opacity: 0.7; }
    100% { transform: scale(1.45); opacity: 0; }
}.kp-map-frame--pin-compact .kp-pin{--kp-pin-size:30px}.kp-map-frame--pin-compact .kp-pin__num{font-size:14px}.kp-map-detail{position:absolute;inset:0;z-index:8;pointer-events:none}.kp-map-detail.is-open{pointer-events:auto}.kp-map-detail__backdrop{position:absolute;inset:0;border:none;background:rgba(10,8,6,.35);opacity:0;transition:opacity .25s ease}.kp-map-detail.is-open .kp-map-detail__backdrop{opacity:1}.kp-map-detail__sheet{position:absolute;right:16px;top:16px;bottom:16px;width:min(360px,calc(100% - 32px));padding:20px;border-radius:16px;background:rgba(255,252,248,.97);box-shadow:0 20px 60px rgba(0,0,0,.28);transform:translateX(110%);transition:transform .35s cubic-bezier(.22,1,.36,1);overflow:auto}.kp-map-detail.is-open .kp-map-detail__sheet{transform:translateX(0)}.kp-map-detail__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;background:rgba(35,25,16,.08);font-size:22px;cursor:pointer}.kp-map-detail__kind{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-gold,#c9a227)}.kp-map-detail__title{margin:0 0 10px;padding-right:28px;font-size:22px;line-height:1.15}.kp-map-detail__address,.kp-map-detail__lines{margin:0 0 10px;font-size:14px;color:rgba(35,25,16,.72)}.kp-map-detail__desc{margin-bottom:16px;font-size:14px;line-height:1.5}.kp-map-detail__img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:14px;object-fit:cover}.kp-map-detail__actions{display:flex;flex-wrap:wrap;gap:10px}body.kp-map-detail-open{overflow:hidden}@media (max-width:768px){.kp-map-detail__sheet{right:0;left:0;top:auto;bottom:0;width:100%;max-height:72%;border-radius:18px 18px 0 0;transform:translateY(110%)}.kp-map-detail.is-open .kp-map-detail__sheet{transform:translateY(0)}}.map-block--live .map-block__route-btn{z-index:5}.map-block--embed .kp-map-legend__label{display:none}.kp-map-detail__spaces{margin:4px 0 16px;border-top:1px solid rgba(35,25,16,.12)}.kp-map-detail__spaces-head{padding:12px 0 6px;font-family: var(--font-medium);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-warm)}.kp-map-space{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid rgba(35,25,16,.08);color:var(--color-text);text-decoration:none}.kp-map-space:hover .kp-map-space__title{color:var(--color-accent-warm)}.kp-map-space__title{font-family: var(--font-demi);font-size:14px;line-height:1.3}.kp-map-space__meta{grid-column:1;font-size:12px;color:rgba(35,25,16,.6)}.kp-map-detail__spaces-all{display:inline-block;margin-top:10px;font-size:13px;color:var(--color-accent-warm)}.map-block--live:not(.map-block--embed) .kp-map-frame {height:min(var(--map-height,650px),calc(100vh - var(--header-height)));height:min(var(--map-height,650px),calc(100svh - var(--header-height)));min-height:460px}.map-block--live:not(.map-block--embed) {height:auto}.kp-map-residents{margin:0;padding:0;list-style:none}.kp-map-residents li{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid rgba(35,25,16,.08)}.kp-map-residents__name{font-family: var(--font-demi);font-size:14px;line-height:1.3;color:var(--color-text)}.kp-map-residents__cat{font-size:12px;color:rgba(35,25,16,.6)}.maplibregl-map{isolation:isolate}