.demo-map-root .demo-grid{stroke:color-mix(in oklab, var(--gold) 7%, transparent);stroke-width:1px}.demo-map-root .demo-camera{transform-origin:0 0;transition:transform .6s cubic-bezier(.22,1,.36,1)}.demo-map-root .demo-hills{fill:color-mix(in oklab, var(--navy-soft) 70%, transparent)}.demo-map-root .demo-river{fill:none;stroke:color-mix(in oklab, var(--gold-light) 25%, var(--navy-soft));stroke-width:9px;stroke-linecap:round;opacity:.55}.demo-map-root .demo-castle path{fill:var(--gold);opacity:.8}.demo-map-root .demo-poly-shape{fill:color-mix(in oklab, var(--navy-soft) 55%, transparent);stroke:color-mix(in oklab, var(--gold) 35%, transparent);stroke-width:1.5px;stroke-linejoin:round;transition:fill .18s,stroke .18s,stroke-width .18s,opacity .2s}.demo-map-root .demo-poly:hover .demo-poly-shape,.demo-map-root .demo-poly:focus-visible .demo-poly-shape{fill:color-mix(in oklab, var(--gold) 14%, var(--navy-soft));stroke:color-mix(in oklab, var(--gold) 75%, transparent);stroke-width:2.5px;filter:url(#demo-glow)}.demo-map-root .demo-poly.is-selected .demo-poly-shape{fill:color-mix(in oklab, var(--gold) 22%, var(--navy-soft));stroke:var(--gold);stroke-width:3px;filter:url(#demo-glow)}.demo-map-root .demo-poly.is-dimmed{opacity:.55}.demo-map-root .demo-poly.is-near:not(.is-selected) .demo-poly-shape{stroke:var(--gold-light);stroke-dasharray:6 5}.demo-map-root .demo-poly-label{fill:oklab(100% 0 5.96046e-8/.85);letter-spacing:.04em;pointer-events:none;font-size:15px;font-weight:700;transition:font-size .18s,fill .18s}.demo-map-root .demo-poly.is-selected .demo-poly-label{fill:var(--gold);font-size:18px;font-weight:800}.demo-map-root .demo-poly-badge rect{fill:var(--gold)}.demo-map-root .demo-poly-badge text{fill:var(--navy-deep);pointer-events:none;font-size:11px;font-weight:800}.demo-map-root .demo-cluster{cursor:pointer}.demo-map-root .demo-cluster circle{fill:var(--navy-deep);stroke:var(--gold);stroke-width:2px;transition:r .15s}.demo-map-root .demo-cluster:hover circle{r:17}.demo-map-root .demo-cluster text{fill:var(--gold);pointer-events:none;font-size:12px;font-weight:800}.demo-map-root .demo-marker{animation:.26s ease-out both demo-pop}.demo-map-root .demo-marker path{fill:var(--navy-deep);stroke:var(--gold);stroke-width:2px;transform-origin:0 0;transition:transform .15s}.demo-map-root .demo-marker:hover path{transform:scale(1.15)}.demo-map-root .demo-marker-icon{color:var(--gold);pointer-events:none}.demo-map-root .demo-me circle{fill:var(--gold);stroke:var(--navy-deep);stroke-width:3px}.demo-map-root .demo-me .demo-me-pulse{fill:color-mix(in oklab, var(--gold) 30%, transparent);stroke:none;transform-origin:0 0;animation:1.8s ease-out infinite demo-pulse}.demo-map-root .demo-ctrl{background:color-mix(in oklab, var(--navy-deep) 85%, transparent);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid oklab(100% 0 5.96046e-8/.15);border-radius:9999px;place-items:center;width:2.25rem;height:2.25rem;transition:border-color .15s,color .15s;display:grid}.demo-map-root .demo-ctrl:hover{border-color:var(--gold);color:var(--gold)}.demo-map-root .demo-chip{white-space:nowrap;color:oklab(100% 0 5.96046e-8/.85);background:oklab(100% 0 5.96046e-8/.06);border:1px solid oklab(100% 0 5.96046e-8/.15);border-radius:9999px;flex-shrink:0;padding:.45rem .85rem;font-size:.75rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.demo-map-root .demo-chip-float{background:color-mix(in oklab, var(--navy-deep) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 20px -10px #000}.demo-map-root .demo-chip.is-on{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}.demo-map-root .demo-no-scrollbar{scrollbar-width:none}.demo-map-root .demo-no-scrollbar::-webkit-scrollbar{display:none}.demo-map-root .demo-slide-in{animation:.28s cubic-bezier(.22,1,.36,1) both demo-slide}.demo-map-root .demo-sheet{animation:.32s cubic-bezier(.22,1,.36,1) both demo-sheet}@keyframes demo-slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes demo-sheet{0%{transform:translateY(100%)}to{transform:none}}@keyframes demo-pop{0%{opacity:0;transform:scale(.6)}}@keyframes demo-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.demo-map-root *{transition:none!important;animation:none!important}}
