/* [next]/internal/font/google/be_vietnam_pro_6fde9dbc.module.css [app-client] (css) */
@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/5f841e19a104a2f1-s.p.1two88yljb5sr.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/6d62c74c8e468ef4-s.0eam1vlzr7y9e.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../media/9d978ba009f47915-s.p.1x4h7xumh6h0q.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/53e45098eac42afb-s.p.1uklb5el4zgvl.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/85ea1b3aadcead52-s.05i4gb4p0piv4.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/3c285486269019b7-s.p.2g-0we2o5_ngd.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/625a092f804baad3-s.p.1zvg0ggiaivzo.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/6afabefbb32d7517-s.0jaqhc1tb-5xm.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/a4f4f75ad654963f-s.p.1hvvd1t-trplq.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/a3bcb02a0e9e5d11-s.p.25pbmqxk8u2s7.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/b35fd19aef91b293-s.0n_ln9vqskgts.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/8f46d218c8f79e34-s.p.2wu4yy186g04j.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/8ffc259da9d23054-s.p.10uaeld2xxvpt.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9e486ba39c38fb8a-s.2bbpeapf-lbjw.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/6f42e0a3b0519c4d-s.p.13y-iz2lazqtb.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/fcf129058e6e31f2-s.p.1ubek13yfcpkr.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/7b74840ea7c05e95-s.0t1_atrj_pkiu.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Be Vietnam Pro;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/3eca85881bcfa204-s.p.0unco9n87mni8.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Be Vietnam Pro Fallback;
  src: local(Arial);
  ascent-override: 90.61%;
  descent-override: 24.01%;
  line-gap-override: 0.0%;
  size-adjust: 110.36%;
}

.be_vietnam_pro_6fde9dbc-module__7tpv4G__className {
  font-family: Be Vietnam Pro, Be Vietnam Pro Fallback;
  font-style: normal;
}

.be_vietnam_pro_6fde9dbc-module__7tpv4G__variable {
  --font-sans: "Be Vietnam Pro", "Be Vietnam Pro Fallback";
}

/* [project]/node_modules/maplibre-gl/dist/maplibre-gl.css [app-client] (css) */
.maplibregl-map {
  -webkit-tap-highlight-color: #0000;
  font: 12px / 20px Helvetica Neue, Arial, Helvetica, sans-serif;
  position: relative;
  overflow: hidden;
}

.maplibregl-canvas {
  position: absolute;
  top: 0;
  left: 0;
}

.maplibregl-map:fullscreen {
  width: 100%;
  height: 100%;
}

.maplibregl-ctrl-group button.maplibregl-ctrl-compass {
  touch-action: none;
}

.maplibregl-canvas-container.maplibregl-interactive, .maplibregl-ctrl-group button.maplibregl-ctrl-compass {
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}

.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer {
  cursor: pointer;
}

.maplibregl-canvas-container.maplibregl-interactive:active, .maplibregl-ctrl-group button.maplibregl-ctrl-compass:active {
  cursor: grabbing;
}

.maplibregl-canvas-container.maplibregl-touch-zoom-rotate, .maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas {
  touch-action: pan-x pan-y;
}

.maplibregl-canvas-container.maplibregl-touch-drag-pan, .maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas {
  touch-action: pinch-zoom;
}

.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan, .maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas {
  touch-action: none;
}

.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures, .maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas {
  touch-action: pan-x pan-y;
}

.maplibregl-ctrl-bottom-left, .maplibregl-ctrl-bottom-right, .maplibregl-ctrl-top-left, .maplibregl-ctrl-top-right {
  pointer-events: none;
  z-index: 2;
  position: absolute;
}

.maplibregl-ctrl-top-left {
  top: 0;
  left: 0;
}

.maplibregl-ctrl-top-right {
  top: 0;
  right: 0;
}

.maplibregl-ctrl-bottom-left {
  bottom: 0;
  left: 0;
}

.maplibregl-ctrl-bottom-right {
  bottom: 0;
  right: 0;
}

.maplibregl-ctrl {
  clear: both;
  pointer-events: auto;
  transform: translate(0);
}

.maplibregl-ctrl-top-left .maplibregl-ctrl {
  float: left;
  margin: 10px 0 0 10px;
}

.maplibregl-ctrl-top-right .maplibregl-ctrl {
  float: right;
  margin: 10px 10px 0 0;
}

.maplibregl-ctrl-bottom-left .maplibregl-ctrl {
  float: left;
  margin: 0 0 10px 10px;
}

.maplibregl-ctrl-bottom-right .maplibregl-ctrl {
  float: right;
  margin: 0 10px 10px 0;
}

.maplibregl-ctrl-group {
  background: #fff;
  border-radius: 4px;
}

.maplibregl-ctrl-group:not(:empty) {
  box-shadow: 0 0 0 2px #0000001a;
}

@media (forced-colors: active) {
  .maplibregl-ctrl-group:not(:empty) {
    box-shadow: 0 0 0 2px buttontext;
  }
}

.maplibregl-ctrl-group button {
  box-sizing: border-box;
  cursor: pointer;
  background-color: #0000;
  border: 0;
  outline: none;
  width: 29px;
  height: 29px;
  padding: 0;
  display: block;
}

.maplibregl-ctrl-group button + button {
  border-top: 1px solid #ddd;
}

.maplibregl-ctrl button .maplibregl-ctrl-icon {
  background-position: 50%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  display: block;
}

@media (forced-colors: active) {
  .maplibregl-ctrl-icon {
    background-color: #0000;
  }

  .maplibregl-ctrl-group button + button {
    border-top: 1px solid buttontext;
  }
}

.maplibregl-ctrl button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.maplibregl-ctrl-attrib-button:focus, .maplibregl-ctrl-group button:focus {
  box-shadow: 0 0 2px 2px #0096ff;
}

.maplibregl-ctrl button:disabled {
  cursor: not-allowed;
}

.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon {
  opacity: .25;
}

@media (hover: hover) {
  .maplibregl-ctrl button:not(:disabled):hover {
    background-color: #0000000d;
  }
}

.maplibregl-ctrl button:not(:disabled):active {
  background-color: #0000000d;
}

.maplibregl-ctrl-group button:focus:focus-visible {
  box-shadow: 0 0 2px 2px #0096ff;
}

.maplibregl-ctrl-group button:focus:not(:focus-visible) {
  box-shadow: none;
}

.maplibregl-ctrl-group button:focus:first-child {
  border-radius: 4px 4px 0 0;
}

.maplibregl-ctrl-group button:focus:last-child {
  border-radius: 0 0 4px 4px;
}

.maplibregl-ctrl-group button:focus:only-child {
  border-radius: inherit;
}

.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E");
}

@media (forced-colors: active) {
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E");
  }
}

@media (forced-colors: active) and (prefers-color-scheme: light) {
  .maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M10%2013c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h9c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013z%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M14.5%208.5c-.75%200-1.5.75-1.5%201.5v3h-3c-.75%200-1.5.75-1.5%201.5S9.25%2016%2010%2016h3v3c0%20.75.75%201.5%201.5%201.5S16%2019.75%2016%2019v-3h3c.75%200%201.5-.75%201.5-1.5S19.75%2013%2019%2013h-3v-3c0-.75-.75-1.5-1.5-1.5%22%2F%3E%3C%2Fsvg%3E");
  }
}

.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E");
}

@media (forced-colors: active) {
  .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E");
  }
}

@media (forced-colors: active) and (prefers-color-scheme: light) {
  .maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M24%2016v5.5c0%201.75-.75%202.5-2.5%202.5H16v-1l3-1.5-4-5.5%201-1%205.5%204%201.5-3zM6%2016l1.5%203%205.5-4%201%201-4%205.5%203%201.5v1H7.5C5.75%2024%205%2023.25%205%2021.5V16zm7-11v1l-3%201.5%204%205.5-1%201-5.5-4L6%2013H5V7.5C5%205.75%205.75%205%207.5%205zm11%202.5c0-1.75-.75-2.5-2.5-2.5H16v1l3%201.5-4%205.5%201%201%205.5-4%201.5%203h1z%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22M18.5%2016c-1.75%200-2.5.75-2.5%202.5V24h1l1.5-3%205.5%204%201-1-4-5.5%203-1.5v-1zM13%2018.5c0-1.75-.75-2.5-2.5-2.5H5v1l3%201.5L4%2024l1%201%205.5-4%201.5%203h1zm3-8c0%201.75.75%202.5%202.5%202.5H24v-1l-3-1.5L25%205l-1-1-5.5%204L17%205h-1zM10.5%2013c1.75%200%202.5-.75%202.5-2.5V5h-1l-1.5%203L5%204%204%205l4%205.5L5%2012v1z%22%2F%3E%3C%2Fsvg%3E");
  }
}

.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E");
}

@media (forced-colors: active) {
  .maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E");
  }
}

@media (forced-colors: active) and (prefers-color-scheme: light) {
  .maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2029%2029%22%3E%3Cpath%20d%3D%22m10.5%2014%204-8%204%208z%22%2F%3E%3Cpath%20fill%3D%22%23ccc%22%20d%3D%22m10.5%2016%204%208%204-8z%22%2F%3E%3C%2Fsvg%3E");
  }
}

.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%23333%22%20viewBox%3D%220%200%2022%2022%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M17.5%2011c0%204.819-3.02%208.5-6.5%208.5S4.5%2015.819%204.5%2011%207.52%202.5%2011%202.5s6.5%203.681%206.5%208.5Z%22%2F%3E%3Cpath%20d%3D%22M13.5%2011c0%202.447-.331%204.64-.853%206.206-.262.785-.562%201.384-.872%201.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831%2015.64%208.5%2013.446%208.5%2011s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872%201.777.522%201.565.853%203.76.853%206.206Z%22%2F%3E%3Cpath%20d%3D%22M11%207.5c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138q.07-.058.224-.138c.299-.151.763-.302%201.379-.434C7.378%205.666%209.091%205.5%2011%205.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0%209c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138%201.3%201.3%200%200%201%20.224-.138c.299-.151.763-.302%201.379-.434C7.378%2014.666%209.091%2014.5%2011%2014.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138a1.3%201.3%200%200%201-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46%200-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5%201.5%200%200%201-.39-.272.3.3%200%200%201-.047-.064.3.3%200%200%201%20.048-.064c.066-.073.189-.167.389-.272.399-.21%201.009-.413%201.805-.59C6.328%209.722%208.54%209.5%2011%209.5s4.672.222%206.256.574c.795.177%201.405.38%201.804.59.2.105.323.2.39.272a.3.3%200%200%201%20.047.064.3.3%200%200%201-.048.064%201.4%201.4%200%200%201-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0%20.018v.002zm17.002.002v-.002zm0-.018v-.002z%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20stroke%3D%22%2333b5e5%22%20viewBox%3D%220%200%2022%2022%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M17.5%2011c0%204.819-3.02%208.5-6.5%208.5S4.5%2015.819%204.5%2011%207.52%202.5%2011%202.5s6.5%203.681%206.5%208.5Z%22%2F%3E%3Cpath%20d%3D%22M13.5%2011c0%202.447-.331%204.64-.853%206.206-.262.785-.562%201.384-.872%201.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831%2015.64%208.5%2013.446%208.5%2011s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872%201.777.522%201.565.853%203.76.853%206.206Z%22%2F%3E%3Cpath%20d%3D%22M11%207.5c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138q.07-.058.224-.138c.299-.151.763-.302%201.379-.434C7.378%205.666%209.091%205.5%2011%205.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0%209c-1.909%200-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3%201.3%200%200%201-.224-.138%201.3%201.3%200%200%201%20.224-.138c.299-.151.763-.302%201.379-.434C7.378%2014.666%209.091%2014.5%2011%2014.5s3.622.166%204.845.428c.616.132%201.08.283%201.379.434.105.053.177.1.224.138a1.3%201.3%200%200%201-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm0-4c-2.46%200-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5%201.5%200%200%201-.39-.272.3.3%200%200%201-.047-.064.3.3%200%200%201%20.048-.064c.066-.073.189-.167.389-.272.399-.21%201.009-.413%201.805-.59C6.328%209.722%208.54%209.5%2011%209.5s4.672.222%206.256.574c.795.177%201.405.38%201.804.59.2.105.323.2.39.272a.3.3%200%200%201%20.047.064.3.3%200%200%201-.048.064%201.4%201.4%200%200%201-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0%20.018v.002zm17.002.002v-.002zm0-.018v-.002z%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20d%3D%22m1.754%2013.406%204.453-4.851%203.09%203.09%203.281%203.277.969-.969-3.309-3.312%203.844-4.121%206.148%206.886h1.082v-.855l-7.207-8.07-4.84%205.187L6.169%206.57l-5.48%205.965v.871ZM.688%2016.844h20.625v1.375H.688Zm0%200%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20d%3D%22m1.754%2013.406%204.453-4.851%203.09%203.09%203.281%203.277.969-.969-3.309-3.312%203.844-4.121%206.148%206.886h1.082v-.855l-7.207-8.07-4.84%205.187L6.169%206.57l-5.48%205.965v.871ZM.688%2016.844h20.625v1.375H.688Zm0%200%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23333%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23aaa%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e58978%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e54e33%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E");
}

.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon {
  animation: 2s linear infinite maplibregl-spin;
}

@media (forced-colors: active) {
  .maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23999%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e58978%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%2333b5e5%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23e54e33%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3C%2Fsvg%3E");
  }
}

@media (forced-colors: active) and (prefers-color-scheme: light) {
  .maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
  }

  .maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229%22%20height%3D%2229%22%20fill%3D%22%23666%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M10%204C9%204%209%205%209%205v.1A5%205%200%200%200%205.1%209H5s-1%200-1%201%201%201%201%201h.1A5%205%200%200%200%209%2014.9v.1s0%201%201%201%201-1%201-1v-.1a5%205%200%200%200%203.9-3.9h.1s1%200%201-1-1-1-1-1h-.1A5%205%200%200%200%2011%205.1V5s0-1-1-1m0%202.5a3.5%203.5%200%201%201%200%207%203.5%203.5%200%201%201%200-7%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3Cpath%20fill%3D%22red%22%20d%3D%22m14%205%201%201-9%209-1-1z%22%2F%3E%3C%2Fsvg%3E");
  }
}

@keyframes maplibregl-spin {
  0% {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

a.maplibregl-ctrl-logo {
  cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  width: 88px;
  height: 23px;
  margin: 0 0 -4px -4px;
  display: block;
  overflow: hidden;
}

a.maplibregl-ctrl-logo.maplibregl-compact {
  width: 14px;
}

@media (forced-colors: active) {
  a.maplibregl-ctrl-logo {
    background-color: #0000;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  }
}

@media (forced-colors: active) and (prefers-color-scheme: light) {
  a.maplibregl-ctrl-logo {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2288%22%20height%3D%2223%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%23000%22%20fill-opacity%3D%22.4%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17.408%2016.796h-1.827l2.501-12.095h.198l3.324%206.533.988%202.19.988-2.19%203.258-6.533h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.929%205.644h-.098l-2.914-5.644-.757-1.71-.345%201.71zm1.958-3.42-.726%203.663a1.255%201.255%200%200%201-1.232%201.011h-1.827a1.255%201.255%200%200%201-1.229-1.509l2.501-12.095a1.255%201.255%200%200%201%201.23-1.001h.197a1.25%201.25%200%200%201%201.12.685l3.19%206.273%203.125-6.263a1.25%201.25%200%200%201%201.123-.695h.181a1.255%201.255%200%200%201%201.227.991l1.443%206.71a5%205%200%200%201%20.314-.787l.009-.016a4.6%204.6%200%200%201%201.777-1.887c.782-.46%201.668-.667%202.611-.667a4.6%204.6%200%200%201%201.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255%201.255%200%200%201%201.212.925%201.255%201.255%200%200%201%201.212-.925h1.711c.284%200%20.545.094.755.252.613-.3%201.312-.45%202.075-.45%201.356%200%202.557.445%203.482%201.4q.47.48.763%201.064V4.701a1.255%201.255%200%200%201%201.255-1.255h1.86A1.255%201.255%200%200%201%2054.44%204.7v9.194h2.217c.19%200%20.37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42%202.42%200%200%201-.682-1.71c0-.665.267-1.253.735-1.7a2.45%202.45%200%200%201%201.722-.674%202.43%202.43%200%200%201%201.705.675q.318.302.504.683V4.7a1.255%201.255%200%200%201%201.255-1.255h1.744A1.255%201.255%200%200%201%2065.812%204.7v3.335a4.8%204.8%200%200%201%201.526-.246c.938%200%201.817.214%202.59.69a4.47%204.47%200%200%201%201.67%201.743v-.98a1.255%201.255%200%200%201%201.256-1.256h1.777c.233%200%20.451.064.639.174a3.4%203.4%200%200%201%201.567-.372c.346%200%20.861.02%201.285.232a1.25%201.25%200%200%201%20.689%201.004%204.7%204.7%200%200%201%20.853-.588c.795-.44%201.675-.647%202.61-.647%201.385%200%202.65.39%203.525%201.396.836.938%201.168%202.173%201.168%203.528q-.001.515-.056%201.051a1.255%201.255%200%200%201-.947%201.09l.408.952a1.255%201.255%200%200%201-.477%201.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06%200-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8%205.8%200%200%201-.548-2.512q0-.429.053-.843a1.3%201.3%200%200%201-.333-.086l-.166-.004c-.223%200-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255%201.255%200%200%201-1.256%201.256h-1.777a1.255%201.255%200%200%201-1.256-1.256V15.69l-.032.057a4.8%204.8%200%200%201-1.86%201.833%205.04%205.04%200%200%201-2.484.634%204.5%204.5%200%200%201-1.935-.424%201.25%201.25%200%200%201-.764.258h-1.71a1.255%201.255%200%200%201-1.256-1.255V7.687a2.4%202.4%200%200%201-.428.625c.253.23.412.561.412.93v7.553a1.255%201.255%200%200%201-1.256%201.255h-1.843a1.25%201.25%200%200%201-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255%201.255%200%200%201-1.256-1.255v-1.251l-.061.117a4.7%204.7%200%200%201-1.782%201.884%204.77%204.77%200%200%201-2.485.67%205.6%205.6%200%200%201-1.485-.188l.009%202.764a1.255%201.255%200%200%201-1.255%201.259h-1.729a1.255%201.255%200%200%201-1.255-1.255v-3.537a1.255%201.255%200%200%201-1.167.793h-1.679a1.25%201.25%200%200%201-.77-.263%204.5%204.5%200%200%201-1.945.429c-.885%200-1.724-.21-2.495-.632l-.017-.01a5%205%200%200%201-1.081-.836%201.255%201.255%200%200%201-1.254%201.312h-1.81a1.255%201.255%200%200%201-1.228-.99l-.782-3.625-2.044%203.939a1.25%201.25%200%200%201-1.115.676h-.098a1.25%201.25%200%200%201-1.116-.68l-2.061-3.994zM35.92%2016.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033%201.332h1.678V9.242h-1.694l-.033%201.267q-.133-.329-.526-.658l-.032-.028a3.2%203.2%200%200%200-.668-.428l-.27-.12a3.3%203.3%200%200%200-1.235-.23q-1.136-.001-1.974.493a3.36%203.36%200%200%200-1.3%201.382q-.445.89-.444%202.074%200%201.2.51%202.107a3.8%203.8%200%200%200%201.382%201.381%203.9%203.9%200%200%200%201.893.477q.795%200%201.455-.33zm-2.789-5.38q-.576.675-.575%201.762%200%201.102.559%201.794.576.675%201.645.675a2.25%202.25%200%200%200%20.934-.19%202.2%202.2%200%200%200%20.468-.29l.178-.161a2.2%202.2%200%200%200%20.397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2%202.2%200%200%200-.633-.709l-.13-.086-.047-.028a2.1%202.1%200%200%200-1.073-.285q-1.052%200-1.629.692zm2.316%202.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96%200%200%200-.353-.389.85.85%200%200%200-.464-.127c-.4%200-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945%200%20.506.122.801.27.99.097.11.266.224.68.224.303%200%20.504-.09.687-.269zm7.545%201.705a2.6%202.6%200%200%200%20.331.423q.319.33.755.548l.173.074q.65.255%201.49.255%201.02%200%201.844-.493a3.45%203.45%200%200%200%201.316-1.4q.493-.904.493-2.089%200-1.909-.988-2.913-.988-1.02-2.584-1.02-.898%200-1.575.347a3%203%200%200%200-.415.262l-.199.166a3.4%203.4%200%200%200-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296%201.119.297%201.07%200%201.645-.675.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.435%200-.835.16a2%202%200%200%200-.284.136%202%202%200%200%200-.363.254%202.2%202.2%200%200%200-.46.569l-.082.162a2.6%202.6%200%200%200-.213%201.072v.115q0%20.707.296%201.267l.135.211zm.964-.818a1.1%201.1%200%200%200%20.367.385.94.94%200%200%200%20.476.118c.423%200%20.59-.117.687-.23.159-.194.28-.478.28-.95%200-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1%201%200%200%200-.503.135l-.012.007a.86.86%200%200%200-.335.343c-.073.133-.132.324-.132.614v.115a1.4%201.4%200%200%200%20.14.66zm15.7-6.222q.347-.346.346-.856a1.05%201.05%200%200%200-.345-.79%201.18%201.18%200%200%200-.84-.329q-.51%200-.855.33a1.05%201.05%200%200%200-.346.79q0%20.51.346.855.345.346.856.346.51%200%20.839-.346zm4.337%209.314.033-1.332q.191.403.59.747l.098.081a4%204%200%200%200%20.316.224l.223.122a3.2%203.2%200%200%200%201.44.322%203.8%203.8%200%200%200%201.875-.477%203.5%203.5%200%200%200%201.382-1.366q.527-.89.526-2.09%200-1.184-.444-2.073a3.24%203.24%200%200%200-1.283-1.399q-.823-.51-1.942-.51a3.5%203.5%200%200%200-1.527.344l-.086.043-.165.09a3%203%200%200%200-.33.214q-.432.315-.656.707a2%202%200%200%200-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5%202.5%200%200%200%20.566.7q.117.098.245.18l.144.08a2.1%202.1%200%200%200%20.975.232q1.07%200%201.645-.675.576-.69.576-1.778%200-1.102-.576-1.777-.56-.691-1.645-.692a2.2%202.2%200%200%200-1.015.235q-.22.113-.415.282l-.15.142a2.1%202.1%200%200%200-.42.594q-.223.479-.223%201.1v.115q0%20.705.293%201.26zm2.616-.293c.157-.191.28-.479.28-.967%200-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87%200%200%200-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0%20.285.057.499.144.669a1.1%201.1%200%200%200%20.367.405c.137.082.28.123.455.123.423%200%20.59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493%200%20.642.099l.247-1.794q-.196-.099-.717-.099a2.3%202.3%200%200%200-.545.063%202%202%200%200%200-.411.148%202.2%202.2%200%200%200-.4.249%202.5%202.5%200%200%200-.485.499%202.7%202.7%200%200%200-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5%201.5%200%200%201%20.466-.636%202.5%202.5%200%200%201%20.399-.253%202%202%200%200%201%20.224-.099zm9.784%202.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46%203.46%200%200%200-1.4%201.382q-.493.906-.493%202.106%200%201.07.428%201.975.428.89%201.332%201.432.906.526%202.255.526.973%200%201.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954%200-1.497-.444a1.6%201.6%200%200%201-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1%201%200%200%200-.156-.176q-.46-.428-1.316-.428-.986%200-1.494.604-.379.45-.494%201.234zm-27.053%202.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m19.63%2011.151-.757-1.71-.345%201.71-1.12%205.644h-1.827L18.083%204.7h.197l3.325%206.533.988%202.19.988-2.19L26.839%204.7h.181l2.6%2012.095h-1.81l-1.218-5.644-.362-1.71-.658%201.71-2.93%205.644h-.098l-2.913-5.644zm14.836%205.81q-1.02%200-1.893-.478a3.8%203.8%200%200%201-1.381-1.382q-.51-.906-.51-2.106%200-1.185.444-2.074a3.36%203.36%200%200%201%201.3-1.382q.839-.494%201.974-.494a3.3%203.3%200%200%201%201.234.231%203.3%203.3%200%200%201%20.97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02%201.053a3.17%203.17%200%200%201-1.662.444zm.296-1.482q.938%200%201.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2%202.2%200%200%200-.807-.872%202.1%202.1%200%200%200-1.119-.313q-1.053%200-1.629.692-.575.675-.575%201.76%200%201.103.559%201.795.577.675%201.645.675zm6.521-6.237h1.711v1.4q.906-1.597%202.83-1.597%201.596%200%202.584%201.02.988%201.005.988%202.914%200%201.185-.493%202.09a3.46%203.46%200%200%201-1.316%201.399%203.5%203.5%200%200%201-1.844.493q-.954%200-1.662-.329a2.67%202.67%200%200%201-1.086-.97l.017%205.134h-1.728zm4.048%206.22q1.07%200%201.645-.674.577-.69.576-1.762%200-1.119-.576-1.777-.558-.675-1.645-.675-.592%200-1.12.296-.51.28-.822.823-.296.527-.296%201.234v.115q0%20.708.296%201.267.313.543.823.855.51.296%201.119.297z%22%2F%3E%3Cpath%20fill%3D%22%23e1e3e9%22%20d%3D%22M51.325%204.7h1.86v10.45h3.473v1.646h-5.333zm7.12%204.542h1.843v7.553h-1.843zm.905-1.415a1.16%201.16%200%200%201-.856-.346%201.17%201.17%200%200%201-.346-.856%201.05%201.05%200%200%201%20.346-.79q.346-.329.856-.329.494%200%20.839.33a1.05%201.05%200%200%201%20.345.79%201.16%201.16%200%200%201-.345.855q-.33.346-.84.346zm7.875%209.133a3.17%203.17%200%200%201-1.662-.444q-.723-.46-1.004-1.053l-.033%201.332h-1.71V4.701h1.743v4.657l-.082%201.283q.279-.658%201.086-1.119a3.5%203.5%200%200%201%201.778-.477q1.119%200%201.942.51a3.24%203.24%200%200%201%201.283%201.4q.445.888.444%202.072%200%201.201-.526%202.09a3.5%203.5%200%200%201-1.382%201.366%203.8%203.8%200%200%201-1.876.477zm-.296-1.481q1.069%200%201.645-.675.577-.69.577-1.778%200-1.102-.577-1.776-.56-.691-1.645-.692a2.12%202.12%200%200%200-1.58.659q-.642.641-.642%201.694v.115q0%20.71.296%201.267a2.4%202.4%200%200%200%20.807.872%202.1%202.1%200%200%200%201.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14%202.14%200%200%201%201.349-.46q.527%200%20.724.098l-.247%201.794q-.149-.099-.642-.099-.774%200-1.416.494-.626.493-.626%201.58v3.883h-1.777V9.242zm9.534%207.718q-1.35%200-2.255-.526-.904-.543-1.332-1.432a4.6%204.6%200%200%201-.428-1.975q0-1.2.493-2.106a3.46%203.46%200%200%201%201.4-1.382q.889-.495%202.007-.494%201.744%200%202.584.97.855.956.856%202.7%200%20.444-.05.92h-5.43q.18%201.005.708%201.45.542.443%201.497.443.79%200%201.3-.131a4%204%200%200%200%20.938-.362l.542%201.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728%200-1.991%201.86z%22%2F%3E%3Cpath%20d%3D%22M5.074%2015.948a.484.657%200%200%200-.486.659v1.84a.484.657%200%200%200%20.486.659h4.101a.484.657%200%200%200%20.486-.659v-1.84a.484.657%200%200%200-.486-.659zm3.56%201.16H5.617v.838h3.017z%22%20style%3D%22fill%3A%23fff%3Bfill-rule%3Aevenodd%3Bstroke-width%3A1.03600001%22%2F%3E%3Cg%20style%3D%22stroke-width%3A1.12603545%22%3E%3Cpath%20d%3D%22M-9.408-1.416c-3.833-.025-7.056%202.912-7.08%206.615-.02%203.08%201.653%204.832%203.107%206.268.903.892%201.721%201.74%202.32%202.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87%201.87%200%200%200-.362%201.121l-.011%201.877c-.003.402.104.787.347%201.125.244.338.688.653%201.23.656l4.142.028c.542.003.99-.306%201.238-.641a1.87%201.87%200%200%200%20.363-1.121l.012-1.875a1.87%201.87%200%200%200-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145%201.425-1.983%202.348-2.87%201.473-1.414%203.18-3.149%203.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006%201.1v.002c3.274.02%205.92%202.532%205.9%205.6-.017%202.706-1.39%204.026-2.863%205.44-1.034.994-2.118%202.033-2.814%203.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34%200%200%201-.226.084.34.34%200%200%201-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067%202.7-5.545%205.975-5.523m-.02%202.826c-1.62-.01-2.944%201.315-2.955%202.96-.01%201.646%201.295%202.988%202.916%202.999h.002c1.621.01%202.943-1.316%202.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005%201.1c1.017.006%201.829.83%201.822%201.89s-.83%201.874-1.848%201.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874%201.848-1.868m-2.155%2011.857%204.14.025c.271.002.49.305.487.676l-.013%201.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%22%20style%3D%22color%3A%23000%3Bfont-style%3Anormal%3Bfont-variant%3Anormal%3Bfont-weight%3A400%3Bfont-stretch%3Anormal%3Bfont-size%3Amedium%3Bline-height%3Anormal%3Bfont-family%3Asans-serif%3Bfont-variant-ligatures%3Anormal%3Bfont-variant-position%3Anormal%3Bfont-variant-caps%3Anormal%3Bfont-variant-numeric%3Anormal%3Bfont-variant-alternates%3Anormal%3Bfont-feature-settings%3Anormal%3Btext-indent%3A0%3Btext-align%3Astart%3Btext-decoration%3Anone%3Btext-decoration-line%3Anone%3Btext-decoration-style%3Asolid%3Btext-decoration-color%3A%23000%3Bletter-spacing%3Anormal%3Bword-spacing%3Anormal%3Btext-transform%3Anone%3Bwriting-mode%3Alr-tb%3Bdirection%3Altr%3Btext-orientation%3Amixed%3Bdominant-baseline%3Aauto%3Bbaseline-shift%3Abaseline%3Btext-anchor%3Astart%3Bwhite-space%3Anormal%3Bshape-padding%3A0%3Bclip-rule%3Aevenodd%3Bdisplay%3Ainline%3Boverflow%3Avisible%3Bvisibility%3Avisible%3Bopacity%3A1%3Bisolation%3Aauto%3Bmix-blend-mode%3Anormal%3Bcolor-interpolation%3AsRGB%3Bcolor-interpolation-filters%3AlinearRGB%3Bsolid-color%3A%23000%3Bsolid-opacity%3A1%3Bvector-effect%3Anone%3Bfill%3A%23000%3Bfill-opacity%3A.4%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-linecap%3Abutt%3Bstroke-linejoin%3Amiter%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-dashoffset%3A0%3Bstroke-opacity%3A1%3Bcolor-rendering%3Aauto%3Bimage-rendering%3Aauto%3Bshape-rendering%3Aauto%3Btext-rendering%3Aauto%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-9.415-.316C-12.69-.338-15.37%202.14-15.39%205.207c-.017%202.716%201.326%204.041%202.78%205.477%201.013%201%202.081%202.055%202.78%203.67l.092.076a.34.34%200%200%200%20.225.086.34.34%200%200%200%20.227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6%201.78-2.64%202.814-3.634%201.473-1.414%202.847-2.733%202.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057%208.784c1.621.011%202.944-1.315%202.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945%201.315-2.955%202.96s1.295%202.989%202.916%203%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23e1e3e9%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3Cpath%20d%3D%22M-11.594%2015.465c-.27-.002-.492.297-.494.668l-.012%201.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%22%20style%3D%22clip-rule%3Aevenodd%3Bfill%3A%23fff%3Bfill-opacity%3A1%3Bfill-rule%3Aevenodd%3Bstroke%3Anone%3Bstroke-width%3A2.47727823%3Bstroke-miterlimit%3A4%3Bstroke-dasharray%3Anone%3Bstroke-opacity%3A.4%22%20transform%3D%22translate(15.553%202.85)scale(.88807)%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  }
}

.maplibregl-ctrl.maplibregl-ctrl-attrib {
  background-color: #ffffff80;
  margin: 0;
  padding: 0 5px;
}

@media screen {
  .maplibregl-ctrl-attrib.maplibregl-compact {
    color: #000;
    box-sizing: content-box;
    background-color: #fff;
    border-radius: 12px;
    min-height: 20px;
    margin: 10px;
    padding: 2px 24px 2px 0;
    position: relative;
  }

  .maplibregl-ctrl-attrib.maplibregl-compact-show {
    visibility: visible;
    padding: 2px 28px 2px 8px;
  }

  .maplibregl-ctrl-bottom-left > .maplibregl-ctrl-attrib.maplibregl-compact-show, .maplibregl-ctrl-top-left > .maplibregl-ctrl-attrib.maplibregl-compact-show {
    border-radius: 12px;
    padding: 2px 8px 2px 28px;
  }

  .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner {
    display: none;
  }

  .maplibregl-ctrl-attrib-button {
    cursor: pointer;
    box-sizing: border-box;
    background-color: #ffffff80;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E");
    border: 0;
    border-radius: 12px;
    outline: none;
    width: 24px;
    height: 24px;
    display: none;
    position: absolute;
    top: 0;
    right: 0;
  }

  .maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button {
    appearance: none;
    list-style: none;
  }

  .maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker {
    display: none;
  }

  .maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button, .maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button {
    left: 0;
  }

  .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button, .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner {
    display: block;
  }

  .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button {
    background-color: #0000000d;
  }

  .maplibregl-ctrl-bottom-right > .maplibregl-ctrl-attrib.maplibregl-compact:after {
    bottom: 0;
    right: 0;
  }

  .maplibregl-ctrl-top-right > .maplibregl-ctrl-attrib.maplibregl-compact:after {
    top: 0;
    right: 0;
  }

  .maplibregl-ctrl-top-left > .maplibregl-ctrl-attrib.maplibregl-compact:after {
    top: 0;
    left: 0;
  }

  .maplibregl-ctrl-bottom-left > .maplibregl-ctrl-attrib.maplibregl-compact:after {
    bottom: 0;
    left: 0;
  }
}

@media screen and (forced-colors: active) {
  .maplibregl-ctrl-attrib.maplibregl-compact:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E");
  }
}

@media screen and (forced-colors: active) and (prefers-color-scheme: light) {
  .maplibregl-ctrl-attrib.maplibregl-compact:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill-rule%3D%22evenodd%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20d%3D%22M4%2010a6%206%200%201%200%2012%200%206%206%200%201%200-12%200m5-3a1%201%200%201%200%202%200%201%201%200%201%200-2%200m0%203a1%201%200%201%201%202%200v3a1%201%200%201%201-2%200%22%2F%3E%3C%2Fsvg%3E");
  }
}

.maplibregl-ctrl-attrib a {
  color: #000000bf;
  text-decoration: none;
}

.maplibregl-ctrl-attrib a:hover {
  color: inherit;
  text-decoration: underline;
}

.maplibregl-attrib-empty {
  display: none;
}

.maplibregl-ctrl-scale {
  white-space: nowrap;
  color: #333;
  box-sizing: border-box;
  background-color: #ffffffbf;
  border: 2px solid #333;
  border-top: #333;
  padding: 0 5px;
  font-size: 10px;
}

.maplibregl-popup {
  will-change: transform;
  pointer-events: none;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.maplibregl-popup-anchor-top, .maplibregl-popup-anchor-top-left, .maplibregl-popup-anchor-top-right {
  flex-direction: column;
}

.maplibregl-popup-anchor-bottom, .maplibregl-popup-anchor-bottom-left, .maplibregl-popup-anchor-bottom-right {
  flex-direction: column-reverse;
}

.maplibregl-popup-anchor-left {
  flex-direction: row;
}

.maplibregl-popup-anchor-right {
  flex-direction: row-reverse;
}

.maplibregl-popup-tip {
  z-index: 1;
  border: 10px solid #0000;
  width: 0;
  height: 0;
}

.maplibregl-popup-anchor-top .maplibregl-popup-tip {
  border-top: none;
  border-bottom-color: #fff;
  align-self: center;
}

.maplibregl-popup-anchor-top-left .maplibregl-popup-tip {
  border-top: none;
  border-bottom-color: #fff;
  border-left: none;
  align-self: flex-start;
}

.maplibregl-popup-anchor-top-right .maplibregl-popup-tip {
  border-top: none;
  border-bottom-color: #fff;
  border-right: none;
  align-self: flex-end;
}

.maplibregl-popup-anchor-bottom .maplibregl-popup-tip {
  border-top-color: #fff;
  border-bottom: none;
  align-self: center;
}

.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip {
  border-top-color: #fff;
  border-bottom: none;
  border-left: none;
  align-self: flex-start;
}

.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip {
  border-top-color: #fff;
  border-bottom: none;
  border-right: none;
  align-self: flex-end;
}

.maplibregl-popup-anchor-left .maplibregl-popup-tip {
  border-left: none;
  border-right-color: #fff;
  align-self: center;
}

.maplibregl-popup-anchor-right .maplibregl-popup-tip {
  border-left-color: #fff;
  border-right: none;
  align-self: center;
}

[dir="rtl"] .maplibregl-popup-anchor-left {
  flex-direction: row-reverse;
}

[dir="rtl"] .maplibregl-popup-anchor-right {
  flex-direction: row;
}

[dir="rtl"] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip {
  align-self: flex-end;
}

[dir="rtl"] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip {
  align-self: flex-start;
}

[dir="rtl"] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip {
  align-self: flex-end;
}

[dir="rtl"] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip {
  align-self: flex-start;
}

.maplibregl-popup-close-button {
  cursor: pointer;
  background-color: #0000;
  border: 0;
  border-radius: 0 3px 0 0;
  position: absolute;
  top: 0;
  right: 0;
}

.maplibregl-popup-close-button:hover {
  background-color: #0000000d;
}

.maplibregl-popup-content {
  pointer-events: auto;
  background: #fff;
  border-radius: 3px;
  padding: 15px 10px;
  position: relative;
  box-shadow: 0 1px 2px #0000001a;
}

.maplibregl-popup-anchor-top-left .maplibregl-popup-content {
  border-top-left-radius: 0;
}

.maplibregl-popup-anchor-top-right .maplibregl-popup-content {
  border-top-right-radius: 0;
}

.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content {
  border-bottom-left-radius: 0;
}

.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content {
  border-bottom-right-radius: 0;
}

.maplibregl-popup-track-pointer {
  display: none;
}

.maplibregl-popup-track-pointer * {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.maplibregl-map:hover .maplibregl-popup-track-pointer {
  display: flex;
}

.maplibregl-map:active .maplibregl-popup-track-pointer {
  display: none;
}

.maplibregl-marker {
  will-change: transform;
  transition: opacity .2s;
  position: absolute;
  top: 0;
  left: 0;
}

.maplibregl-marker-draggable {
  cursor: grab;
}

.maplibregl-user-location-dot, .maplibregl-user-location-dot:before {
  background-color: #1da1f2;
  border-radius: 50%;
  width: 15px;
  height: 15px;
}

.maplibregl-user-location-dot:before {
  content: "";
  animation: 2s infinite maplibregl-user-location-dot-pulse;
  position: absolute;
}

.maplibregl-user-location-dot:after {
  content: "";
  box-sizing: border-box;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 19px;
  height: 19px;
  position: absolute;
  top: -2px;
  left: -2px;
  box-shadow: 0 0 3px #00000059;
}

@media (prefers-reduced-motion: reduce) {
  .maplibregl-user-location-dot:before {
    animation: none;
  }
}

@keyframes maplibregl-user-location-dot-pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  70% {
    opacity: 0;
    transform: scale(3);
  }

  to {
    opacity: 0;
    transform: scale(1);
  }
}

.maplibregl-user-location-dot-stale {
  background-color: #aaa;
}

.maplibregl-user-location-dot-stale:after {
  display: none;
}

.maplibregl-user-location-accuracy-circle {
  background-color: #1da1f233;
  border-radius: 100%;
  width: 1px;
  height: 1px;
}

.maplibregl-crosshair, .maplibregl-crosshair .maplibregl-interactive, .maplibregl-crosshair .maplibregl-interactive:active {
  cursor: crosshair;
}

.maplibregl-boxzoom {
  opacity: .5;
  background: #fff;
  border: 2px dotted #202020;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.maplibregl-cooperative-gesture-screen {
  color: #fff;
  opacity: 0;
  pointer-events: none;
  z-index: 99999;
  background: #0006;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  font-size: 1.4em;
  line-height: 1.2;
  transition: opacity 1s 1s;
  display: flex;
  position: absolute;
  inset: 0;
}

.maplibregl-cooperative-gesture-screen.maplibregl-show {
  opacity: 1;
  transition: opacity 50ms;
}

.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message {
  display: none;
}

@media (hover: none), (pointer: coarse) {
  .maplibregl-cooperative-gesture-screen .maplibregl-desktop-message {
    display: none;
  }

  .maplibregl-cooperative-gesture-screen .maplibregl-mobile-message {
    display: block;
  }
}

.maplibregl-pseudo-fullscreen {
  z-index: 99999;
  width: 100% !important;
  height: 100% !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
}

/* [project]/apps/visitor-web/src/app/styles.css [app-client] (css) */
.safety-panel {
  color: #334155;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
  padding: .85rem clamp(1rem, 5vw, 4rem);
  font-size: .88rem;
}

.safety-panel h2 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--brand-primary);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}

.safety-panel p {
  max-width: 85ch;
  color: var(--text-body);
  margin: .35rem 0;
  line-height: 1.55;
}

.safety-notice {
  border-left: 3px solid var(--brand-gold);
  background: var(--gold-subtle);
  color: #92400e;
  border-radius: 0 .5rem .5rem 0;
  margin: .5rem 0;
  padding: .6rem 1rem;
}

.safety-warning {
  color: #b45309;
  background: #fffbeb;
  border-color: #f59e0b;
}

.safety-danger, .safety-unavailable {
  color: #b91c1c;
  background: #fef2f2;
  border-left: 3px solid #ef4444;
  border-radius: 0 .5rem .5rem 0;
  padding: .6rem 1rem;
}

:root {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --font-sans-fallback: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-serif-fallback: var(--font-sans-fallback);
  --bg-canvas: #fff;
  --bg-subtle: #f8fafc;
  --bg-surface: #fff;
  --bg-surface-elevated: #fff;
  --bg-card: #fff;
  --brand-primary: #0284c7;
  --brand-primary-hover: #0369a1;
  --brand-primary-light: #e0f2fe;
  --brand-primary-subtle: #f0f9ff;
  --brand-gold: #d97706;
  --brand-gold-hover: #b45309;
  --gold-subtle: #fef3c7;
  --gold-border: #fde68a;
  --gold-glow: #d9770633;
  --text-main: #0f172a;
  --text-heading: #0f172a;
  --text-body: #334155;
  --text-muted: #64748b;
  --text-light: #94a3b8;
  --slate-text: #475569;
  --gold-100: #fef3c7;
  --gold-200: #fde68a;
  --gold-300: #d97706;
  --gold-400: #b45309;
  --gold-500: #92400e;
  --gold-600: #78350f;
  --border-subtle: #e2e8f0;
  --border-card: #e2e8f0;
  --border-focus: #0284c7;
  --card-shadow: 0 4px 20px -2px #0f172a0f, 0 2px 6px -1px #0f172a0a;
  --card-shadow-hover: 0 12px 32px -4px #0f172a1f, 0 4px 12px -2px #0f172a14;
  font-family: var(--font-sans, var(--font-sans-fallback));
  background-color: var(--bg-canvas);
  color: var(--text-main);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background-color: #f8fafc;
}

body {
  min-width: 320px;
  color: var(--text-main);
  font-family: var(--font-sans, var(--font-sans-fallback));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #f8fafc;
  margin: 0;
}

a {
  color: inherit;
}

.page-shell {
  min-height: 100vh;
  color: var(--text-main);
  background: radial-gradient(circle at 50% 0, #0284c70f, #0000 45rem), radial-gradient(circle at 85% 15%, #d977060a, #0000 30rem), linear-gradient(#fff 0%, #f8fafc 40%, #f1f5f9 100%);
  padding: clamp(1.25rem, 5vw, 4rem);
}

.hero, .site-proof, .foundation {
  width: min(100%, 68rem);
  margin-inline: auto;
}

.hero {
  align-content: center;
  min-height: 68vh;
  display: grid;
}

.eyebrow, .section-label {
  color: var(--brand-primary);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 1rem;
  font-size: .78rem;
  font-weight: 800;
}

h1, h2 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  letter-spacing: -.015em;
  color: var(--text-heading);
  margin: 0;
  font-weight: 700;
  line-height: 1.25;
}

h1 {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
}

h2 {
  font-size: clamp(1.5rem, 3.2vw, 2.35rem);
}

.intro {
  max-width: 44rem;
  color: var(--text-body);
  margin: 1.5rem 0;
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.7;
}

.primary-action {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  border: none;
  border-radius: 9999px;
  justify-self: start;
  padding: .85rem 1.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s cubic-bezier(.32, .72, 0, 1);
  box-shadow: 0 4px 16px #0284c759;
}

.primary-action:focus-visible, .primary-action:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  color: #fff;
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px #0284c773;
}

.foundation {
  padding-block: 4rem 6rem;
}

.site-proof {
  padding-block: 2.5rem;
}

.site-proof dl {
  border: 1px solid var(--border-subtle);
  background: var(--border-subtle);
  border-radius: 1rem;
  gap: 1px;
  margin: 1.5rem 0 0;
  display: grid;
  overflow: hidden;
}

.site-proof dl div {
  background: #fff;
  padding: 1.15rem;
}

.site-proof dt {
  color: var(--text-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 700;
}

.site-proof dd {
  color: var(--text-heading);
  margin: .4rem 0 0;
  font-size: 1.15rem;
  font-weight: 700;
}

.foundation ul {
  gap: 1rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.foundation li {
  border-left: .3rem solid var(--brand-primary);
  box-shadow: var(--card-shadow);
  color: var(--text-body);
  background: #fff;
  border-radius: 0 .75rem .75rem 0;
  padding: 1.25rem;
  font-size: 1rem;
  line-height: 1.6;
}

@media (min-width: 48rem) {
  .site-proof dl {
    grid-template-columns: repeat(2, 1fr);
  }

  .foundation ul {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

:root {
  --bg-canvas: #f5f7f5;
  --bg-subtle: #edf1ee;
  --bg-surface: #fff;
  --bg-surface-elevated: #fff;
  --brand-primary: #145c4b;
  --brand-primary-hover: #0e4639;
  --brand-primary-light: #dbece5;
  --brand-primary-subtle: #eef6f2;
  --brand-gold: #9b6b25;
  --gold-subtle: #f7f0df;
  --gold-border: #e7d4a6;
  --text-main: #16251f;
  --text-heading: #102019;
  --text-body: #40534b;
  --text-muted: #65766f;
  --border-subtle: #d9e2dc;
  --border-card: #d0dcd5;
  --border-focus: #145c4b;
  --card-shadow: 0 14px 36px -28px #12302661;
  --card-shadow-hover: 0 22px 42px -26px #12302670;
}

body, html {
  background: var(--bg-canvas);
}

.visitor-shell {
  min-height: 100dvh;
  padding-bottom: max(5rem, env(safe-area-inset-bottom));
  background: linear-gradient(#f7faf7 0%, #f1f5f1 46%, #f5f7f5 100%);
}

.visitor-header {
  top: max(.75rem, env(safe-area-inset-top));
  border-color: #145c4b2e;
  border-radius: 1rem;
  min-height: 3.5rem;
  padding: .5rem .75rem .5rem 1rem;
  box-shadow: 0 12px 30px -24px #12302685;
}

.visitor-brand {
  color: var(--text-heading);
  letter-spacing: .08em;
  font-size: .86rem;
}

.visitor-brand span {
  display: none;
}

.hero-heritage-pill, .section-label, .eyebrow {
  color: var(--brand-primary);
}

.hero-heritage-pill {
  background: var(--brand-primary-subtle);
  border-color: var(--brand-primary-light);
  border-radius: .45rem;
}

.site-hero {
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-block: clamp(1.25rem, 5vw, 4.5rem);
}

.site-hero h1, .story-heading h1 {
  letter-spacing: -.045em;
  max-width: 15ch;
  font-size: clamp(2.35rem, 5.2vw, 4.6rem);
  line-height: 1.04;
}

.site-hero-visual {
  box-shadow: var(--card-shadow);
  border-color: #145c4b2e;
  border-radius: 1.5rem;
  padding: .35rem;
}

.site-hero-banner-img {
  border-radius: 1.2rem;
  height: clamp(17rem, 38vw, 29rem);
}

.hero-action-btn, .primary-action {
  min-height: 2.75rem;
  box-shadow: none;
  border-radius: .7rem;
}

.hero-action-btn.primary, .primary-action {
  background: var(--brand-primary);
}

.hero-action-btn.primary:hover, .primary-action:hover {
  background: var(--brand-primary-hover);
  box-shadow: none;
  transform: translateY(-1px);
}

.hero-action-btn.secondary {
  border-color: var(--border-card);
  background: none;
}

.site-facts {
  box-shadow: none;
  border-radius: 1rem;
}

.site-facts div {
  text-align: left;
  background: #ffffffb3;
}

.site-facts dd {
  color: var(--brand-primary);
}

.heritage-archive, .heritage-archive-section, .story-index, .poi-story-index {
  box-shadow: var(--card-shadow);
  border-radius: 1.5rem;
}

.heritage-archive-section {
  border: 1px solid var(--border-subtle);
  background: #fff;
}

.archive-plan-card, .story-card, .poi-card {
  box-shadow: none;
  border-radius: 1rem;
}

.archive-plan-card:hover, .story-card:hover, .poi-card:hover {
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-2px);
}

.story-detail {
  max-width: 48rem;
}

.story-heading {
  padding-top: clamp(1rem, 5vw, 3rem);
}

.story-deck {
  max-width: 58ch;
  color: var(--text-body);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.7;
}

.story-hero-media {
  box-shadow: var(--card-shadow);
  border-radius: 1.25rem;
  overflow: hidden;
}

.story-prose {
  font-size: 1.06rem;
  line-height: 1.82;
}

.story-prose h2 {
  margin-top: 2.8rem;
  font-size: clamp(1.7rem, 4vw, 2.35rem);
}

.sources {
  border-top-color: var(--border-card);
}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline-offset: 3px;
  outline: 3px solid #145c4b73;
}

@media (max-width: 48rem) {
  .visitor-shell {
    padding-inline: 1rem;
  }

  .visitor-header {
    align-items: flex-start;
    gap: .75rem;
    width: 100%;
    margin: .75rem 0 1.25rem;
    position: relative;
    top: auto;
  }

  .header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .4rem;
  }

  .site-switcher-trigger {
    min-height: 2.75rem;
    padding: .45rem .65rem;
  }

  .site-switcher-title {
    max-width: 6rem;
  }

  .locale-switcher a {
    place-items: center;
    min-height: 2.3rem;
    display: grid;
  }

  .site-hero {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 1.25rem;
    padding-top: 0;
    display: flex;
  }

  .site-hero h1, .story-heading h1 {
    max-width: none;
    font-size: clamp(2.15rem, 11vw, 3.15rem);
  }

  .site-hero-banner-img {
    height: 17rem;
  }

  .hero-quick-actions {
    grid-template-columns: 1fr;
    display: grid;
  }

  .hero-action-btn {
    justify-content: center;
  }

  .site-facts {
    grid-template-columns: 1fr 1fr;
  }

  .heritage-archive, .heritage-archive-section, .story-index, .poi-story-index {
    border-radius: 1rem;
  }

  .story-prose {
    font-size: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

.visitor-shell {
  min-height: 100vh;
  color: var(--text-main);
  background: radial-gradient(circle at 50% 0, #0284c70f, #0000 45rem), radial-gradient(circle at 85% 15%, #d977060a, #0000 30rem), linear-gradient(#fff 0%, #f8fafc 40%, #f1f5f9 100%);
  padding: 0 clamp(1rem, 4vw, 3.5rem) 6rem;
  position: relative;
}

.visitor-header {
  z-index: 50;
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border-subtle);
  background: #fffffff0;
  border-radius: 9999px;
  justify-content: space-between;
  align-items: center;
  width: min(100%, 78rem);
  min-height: 4rem;
  margin: 1rem auto 2rem;
  padding: .65rem 1.5rem;
  transition: all .3s cubic-bezier(.32, .72, 0, 1);
  display: flex;
  position: sticky;
  top: 1rem;
  box-shadow: 0 8px 30px -6px #0f172a14, 0 1px 2px #0f172a0a;
}

.visitor-brand {
  font-family: var(--font-sans, var(--font-sans-fallback));
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--text-heading);
  align-items: center;
  gap: .65rem;
  font-size: .95rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s;
  display: inline-flex;
}

.visitor-brand:hover {
  color: var(--brand-primary);
}

.visitor-brand span {
  color: var(--brand-primary);
  font-size: 1.25rem;
}

.header-actions {
  align-items: center;
  gap: .85rem;
  display: flex;
}

.locale-switcher {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.locale-switcher > span {
  clip: rect(0 0 0 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.locale-switcher ul {
  border: 1px solid var(--border-subtle);
  background: #f1f5f9;
  border-radius: 9999px;
  gap: .25rem;
  margin: 0;
  padding: 3px;
  list-style: none;
  display: flex;
}

.locale-switcher a {
  text-transform: uppercase;
  color: var(--text-muted);
  border-radius: 9999px;
  padding: .35rem .75rem;
  font-size: .75rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
  display: block;
}

.locale-switcher a:hover {
  color: var(--text-main);
  background: #fff;
}

.locale-switcher a[aria-current="page"] {
  background: var(--brand-primary);
  color: #fff;
  box-shadow: 0 2px 8px #0284c74d;
}

.site-switcher-container {
  display: inline-block;
  position: relative;
}

.site-switcher-trigger {
  color: var(--text-main);
  cursor: pointer;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 9999px;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  font-size: .82rem;
  font-weight: 650;
  transition: all .25s cubic-bezier(.32, .72, 0, 1);
  display: inline-flex;
}

.site-switcher-trigger:hover, .site-switcher-trigger:focus-visible {
  background: var(--brand-primary-subtle);
  border-color: var(--brand-primary);
  outline: none;
  box-shadow: 0 2px 10px #0284c726;
}

.site-switcher-icon {
  font-size: 1rem;
}

.site-switcher-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 140px;
  overflow: hidden;
}

.site-switcher-chevron {
  color: var(--brand-primary);
  font-size: .65rem;
}

.site-switcher-dropdown {
  border: 1px solid var(--border-subtle);
  z-index: 100;
  background: #fff;
  border-radius: 1.25rem;
  min-width: 300px;
  padding: .75rem;
  animation: .25s cubic-bezier(.32, .72, 0, 1) siteDropdownFade;
  position: absolute;
  top: calc(100% + .6rem);
  right: 0;
  box-shadow: 0 20px 48px #0f172a26, 0 4px 16px #0f172a14;
}

@keyframes siteDropdownFade {
  from {
    opacity: 0;
    transform: translateY(-8px)scale(.98);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.site-switcher-header {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand-primary);
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: .4rem;
  padding: .4rem .6rem .5rem;
  font-size: .72rem;
  font-weight: 800;
}

.site-switcher-list {
  flex-direction: column;
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.site-switcher-item {
  color: var(--text-main);
  border: 1px solid #0000;
  border-radius: .75rem;
  align-items: center;
  gap: .75rem;
  padding: .6rem .75rem;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.site-switcher-item:hover, .site-switcher-item:focus-visible {
  background: var(--brand-primary-subtle);
  border-color: var(--brand-primary-light);
  outline: none;
}

.site-switcher-item.is-active {
  background: var(--brand-primary-light);
  border-color: var(--brand-primary);
}

.site-item-icon {
  font-size: 1.25rem;
}

.site-item-info {
  flex-direction: column;
  flex: 1;
  line-height: 1.25;
  display: flex;
}

.site-item-title {
  color: var(--text-heading);
  font-size: .88rem;
  font-weight: 700;
}

.site-item-badge {
  color: var(--text-muted);
  margin-top: 2px;
  font-size: .72rem;
}

.site-item-check {
  color: var(--brand-primary);
  font-size: .95rem;
  font-weight: 800;
}

.site-switcher-footer {
  border-top: 1px solid var(--border-subtle);
  margin-top: .5rem;
  padding-top: .5rem;
}

.site-switcher-hub-link {
  color: var(--brand-primary);
  border-radius: .6rem;
  padding: .5rem .75rem;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
  display: block;
}

.site-switcher-hub-link:hover {
  background: var(--brand-primary-subtle);
  color: var(--brand-primary-hover);
}

.fallback-notice {
  border-left: 3px solid var(--brand-gold);
  background: var(--gold-subtle);
  color: #92400e;
  border-radius: .75rem;
  width: min(100%, 78rem);
  margin: 1rem auto 0;
  padding: .85rem 1.25rem;
  font-size: .9rem;
  line-height: 1.5;
}

.entry-notice {
  background: var(--brand-primary-subtle);
  color: var(--brand-primary-hover);
  border-block: 1px solid #e2e8f0;
  margin: 0;
  padding: .9rem clamp(1rem, 4vw, 4rem);
  font-weight: 650;
}

.site-hero {
  grid-template-columns: 1.15fr .85fr;
  align-items: center;
  gap: 3rem;
  width: min(100%, 78rem);
  margin-inline: auto;
  padding-block: clamp(2rem, 5vw, 4.5rem);
  display: grid;
}

.site-hero-content {
  flex-direction: column;
  display: flex;
}

.hero-heritage-pill {
  background: var(--gold-subtle);
  color: #92400e;
  border: 1px solid var(--gold-border);
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 9999px;
  align-items: center;
  gap: .5rem;
  width: fit-content;
  margin-bottom: 1.25rem;
  padding: .4rem 1rem;
  font-size: .82rem;
  font-weight: 700;
  display: inline-flex;
}

.site-hero h1, .story-heading h1 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  letter-spacing: -.02em;
  color: var(--text-heading);
  margin-bottom: 1.25rem;
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
}

.hero-quick-actions {
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: .5rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.hero-action-btn {
  border-radius: 9999px;
  align-items: center;
  gap: .6rem;
  padding: .85rem 1.6rem;
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .25s cubic-bezier(.32, .72, 0, 1);
  display: inline-flex;
}

.hero-action-btn.primary {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  border: none;
  box-shadow: 0 4px 16px #0284c759;
}

.hero-action-btn.primary:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px #0284c773;
}

.hero-action-btn.secondary {
  color: var(--text-main);
  background: #fff;
  border: 1px solid #cbd5e1;
}

.hero-action-btn.secondary:hover {
  border-color: var(--brand-primary);
  color: var(--brand-primary);
  background: #f8fafc;
  transform: translateY(-2px);
}

.site-hero-visual {
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 1.75rem;
  padding: .5rem;
  transition: transform .4s cubic-bezier(.32, .72, 0, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px -10px #0f172a1f, 0 4px 12px #0f172a0d;
}

.site-hero-visual:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px -12px #0f172a2e;
}

.site-hero-banner-img {
  object-fit: cover;
  border-radius: 1.35rem;
  width: 100%;
  height: 380px;
  display: block;
}

.site-facts {
  border: 1px solid var(--border-subtle);
  background: var(--border-subtle);
  box-shadow: var(--card-shadow);
  border-radius: 1.25rem;
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1px;
  margin: 1.5rem 0 0;
  display: grid;
  overflow: hidden;
}

.site-facts div {
  text-align: center;
  background: #fff;
  min-width: 7rem;
  padding: 1.25rem 1rem;
}

.site-facts dt {
  color: var(--text-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 800;
}

.site-facts dd {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--brand-primary);
  margin: .35rem 0 0;
  font-size: 2rem;
  font-weight: 800;
}

@media (max-width: 900px) {
  .site-hero {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .site-hero-banner-img {
    height: 280px;
  }
}

.heritage-archive {
  border: 1px solid var(--border-subtle);
  width: min(100%, 78rem);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.75rem;
  margin: 0 auto clamp(2.5rem, 6vw, 4.5rem);
  padding: clamp(2rem, 5vw, 3.5rem);
}

.archive-header {
  max-width: 48rem;
  margin-bottom: 2.5rem;
}

.archive-header h2 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: .5rem 0 1rem;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}

.archive-header p {
  color: var(--text-body);
  font-size: 1rem;
  line-height: 1.65;
}

.archive-plan-card {
  border: 1px solid var(--border-subtle);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.35rem;
  transition: all .3s cubic-bezier(.32, .72, 0, 1);
  overflow: hidden;
}

.archive-plan-card:hover {
  border-color: var(--brand-primary-light);
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-3px);
}

.archive-plan-img {
  object-fit: cover;
  border-bottom: 1px solid var(--border-subtle);
  width: 100%;
  height: 270px;
  display: block;
}

.archive-plan-title {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0 0 .5rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.archive-timeline {
  border-left: 2px solid var(--brand-primary-light);
  flex-direction: column;
  gap: 2rem;
  margin-left: .5rem;
  padding-left: 2rem;
  display: flex;
  position: relative;
}

.timeline-milestone {
  position: relative;
}

.timeline-milestone:before {
  content: "";
  background: var(--brand-primary);
  width: 12px;
  height: 12px;
  box-shadow: 0 0 0 2px var(--brand-primary);
  border: 2px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: .25rem;
  left: calc(-2rem - 6px);
}

.timeline-year {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--brand-primary);
  letter-spacing: .02em;
  margin-bottom: .35rem;
  font-size: 1rem;
  font-weight: 800;
  display: inline-block;
}

@media (max-width: 850px) {
  .archive-content-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.poi-index, .poi-story-index {
  border: 1px solid var(--border-subtle);
  width: min(100%, 78rem);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.75rem;
  margin: 0 auto clamp(2rem, 5vw, 4rem);
  padding: clamp(2rem, 5vw, 3.5rem);
}

.poi-index > header, .poi-story-index > h2 {
  margin-bottom: 2rem;
}

.poi-index h2, .poi-story-index h2 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}

.poi-index > header > p:last-child {
  max-width: 44rem;
  color: var(--text-body);
  line-height: 1.7;
}

.poi-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.25rem;
  display: grid;
}

.poi-card {
  border: 1px solid var(--border-subtle);
  color: var(--text-main);
  background: #fff;
  border-radius: 1.25rem;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  transition: all .3s cubic-bezier(.32, .72, 0, 1);
  display: grid;
  box-shadow: 0 2px 8px #0f172a0a;
}

.poi-card:hover {
  border-color: var(--brand-primary-light);
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-3px);
}

.poi-card h3 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 700;
}

.poi-card p {
  color: var(--text-body);
  line-height: 1.6;
}

.poi-card .story-locale {
  color: var(--brand-gold);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 .5rem;
  font-size: .72rem;
  font-weight: 800;
}

.poi-ar-badge {
  background: var(--brand-primary-light);
  color: var(--brand-primary);
  border: 1px solid var(--brand-primary-light);
  letter-spacing: .02em;
  text-transform: none;
  border-radius: 9999px;
  margin-left: .65rem;
  padding: .15rem .6rem;
  font-size: .7rem;
  font-weight: 750;
  display: inline-block;
}

.coordinate-readout {
  color: var(--brand-primary);
  font-variant-numeric: tabular-nums;
  margin: 1.5rem 0 0;
  font-size: .88rem;
  font-weight: 600;
}

.poi-story-index {
  margin-top: clamp(2rem, 6vw, 4.5rem);
}

.story-index {
  border: 1px solid var(--border-subtle);
  width: min(100%, 78rem);
  color: var(--text-main);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.75rem;
  margin-inline: auto;
  padding: clamp(2.5rem, 6vw, 4.5rem);
}

.story-index > header {
  max-width: 44rem;
  margin-bottom: 2.5rem;
}

.story-index h2 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}

.story-index > header > p:last-child {
  color: var(--text-body);
  line-height: 1.7;
}

.story-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.25rem;
  display: grid;
}

.story-card {
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 1.25rem;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  transition: all .3s cubic-bezier(.32, .72, 0, 1);
  display: grid;
  box-shadow: 0 2px 8px #0f172a0a;
}

.story-card:hover {
  border-color: var(--brand-primary-light);
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-3px);
}

.story-card h3 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.3;
}

.story-card p {
  color: var(--text-body);
  line-height: 1.6;
}

.story-card .story-locale, .story-number {
  color: var(--brand-gold);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 .6rem;
  font-size: .75rem;
  font-weight: 850;
}

.text-link {
  color: var(--gold-400);
  align-items: center;
  gap: .5rem;
  font-size: .9rem;
  font-weight: 750;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
}

.text-link:hover, .text-link:focus-visible {
  color: var(--gold-300);
  outline: none;
  transform: translateX(3px);
}

.empty-message {
  text-align: center;
  color: var(--slate-text);
  background: #0b111e80;
  border: 1px dashed #c9a84c4d;
  border-radius: 1.25rem;
  padding: 2.5rem;
}

.story-detail {
  width: min(100%, 68rem);
  margin-inline: auto;
}

.breadcrumb {
  padding-block: 1.5rem 2rem;
}

.breadcrumb a {
  color: var(--text-heading);
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 9999px;
  align-items: center;
  gap: .5rem;
  padding: .4rem .95rem;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
  box-shadow: 0 1px 4px #0f172a0d;
}

.breadcrumb a:hover {
  color: var(--brand-primary);
  background: var(--brand-primary-subtle);
  border-color: var(--brand-primary-light);
}

.story-heading {
  border-bottom: 1px solid var(--border-subtle);
  padding-block: clamp(1.5rem, 5vw, 4rem);
}

.story-deck {
  max-width: 48rem;
  color: var(--text-body);
  font-family: var(--font-sans, var(--font-sans-fallback));
  margin: 1.5rem 0 0;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.65;
}

.story-hero-media {
  border: 1px solid var(--border-subtle);
  color: var(--text-main);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.5rem;
  margin: 2.5rem 0 0;
  overflow: hidden;
}

.story-hero-media picture, .story-hero-media img {
  width: 100%;
  display: block;
}

.story-hero-media img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  height: auto;
}

.story-hero-media figcaption {
  border-top: 1px solid var(--border-subtle);
  background: #f8fafc;
  gap: .25rem;
  padding: 1.25rem 1.5rem;
  display: grid;
}

.story-hero-media figcaption span, .media-attribution {
  color: var(--text-muted);
  font-size: .8rem;
  line-height: 1.5;
}

.audio-guide-list {
  gap: 1.25rem;
  margin-top: 2rem;
  display: grid;
}

.audio-guide {
  border: 1px solid var(--border-subtle);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.35rem;
  padding: clamp(1.25rem, 4vw, 1.75rem);
}

.audio-guide-heading, .audio-controls {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.audio-guide-heading h2 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  line-height: 1.25;
}

.audio-guide-heading > span {
  color: var(--brand-gold);
  font-variant-numeric: tabular-nums;
  font-size: .88rem;
  font-weight: 750;
}

.audio-controls {
  justify-content: flex-start;
  margin-top: 1.25rem;
}

.audio-controls button {
  min-width: 3rem;
  min-height: 2.8rem;
  color: var(--text-main);
  cursor: pointer;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 9999px;
  font-weight: 750;
  transition: all .2s;
}

.audio-controls button:hover {
  background: var(--brand-primary-light);
  border-color: var(--brand-primary);
  color: var(--brand-primary-hover);
}

.audio-controls .audio-play {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  border: none;
  min-width: 7.5rem;
  box-shadow: 0 4px 14px #0284c74d;
}

.audio-controls .audio-play:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px #0284c773;
}

.audio-controls label {
  color: var(--text-body);
  align-items: center;
  gap: .5rem;
  font-size: .78rem;
  font-weight: 800;
  display: flex;
}

.audio-controls select {
  min-height: 2.8rem;
  color: var(--text-main);
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: .6rem;
  padding: .5rem .8rem;
}

.audio-timeline {
  gap: .4rem;
  margin-top: 1rem;
  display: grid;
}

.audio-timeline span {
  color: var(--gold-400);
  font-variant-numeric: tabular-nums;
  font-size: .75rem;
}

.audio-timeline input {
  width: 100%;
  min-height: 2.75rem;
  accent-color: var(--gold-500);
}

.audio-transcript {
  background: #0b111ebf;
  border: 1px solid #ffffff12;
  border-radius: .9rem;
  margin-top: 1.25rem;
  padding: 1rem 1.25rem;
}

.audio-transcript summary {
  cursor: pointer;
  color: var(--gold-400);
  font-weight: 800;
}

.audio-transcript p {
  white-space: pre-wrap;
  max-width: 48rem;
  color: var(--slate-text);
  margin-top: .75rem;
  line-height: 1.75;
}

.media-error {
  color: #713d24;
  background: #fff1df;
  border-left: .3rem solid #a55028;
  padding: .75rem;
}

.media-attribution {
  color: #5e716a;
  margin: 1rem 0 0;
}

.story-prose {
  max-width: 48rem;
  margin-inline: auto;
  padding-block: clamp(2.5rem, 6vw, 5rem);
}

.story-prose h2, .story-prose h3 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 2.2em 0 .6em;
  line-height: 1.3;
}

.story-prose h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
}

.story-prose h3 {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
}

.story-prose p {
  color: var(--text-body);
  font-family: var(--font-sans, var(--font-sans-fallback));
  margin: 0 0 1.5rem;
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  line-height: 1.85;
}

.sources {
  border: 1px solid var(--border-subtle);
  box-shadow: var(--card-shadow);
  color: var(--text-main);
  background: #fff;
  border-radius: 1.5rem;
  padding: clamp(1.5rem, 5vw, 3rem);
}

.sources h2 {
  max-width: none;
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.sources ol {
  gap: 1rem;
  margin: 1.5rem 0 0;
  padding-left: 1.4rem;
  display: grid;
}

.sources li {
  color: #e2e8f0;
  padding-left: .5rem;
  line-height: 1.6;
}

.sources p {
  color: var(--slate-text);
  margin: .35rem 0;
}

.sources a {
  color: var(--gold-400);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.sources a:hover {
  color: var(--gold-300);
  text-decoration: underline;
}

.sources span {
  color: var(--slate-text);
  font-style: italic;
}

.release-note {
  color: #5e716a;
  border-top: 1px solid #15332933;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .6rem 1.5rem;
  margin-top: 2rem;
  padding-top: 1rem;
  font-size: .78rem;
  display: flex;
}

.not-found-page {
  background: #f6f1e7;
  place-items: center;
  min-height: 100vh;
  padding: 1.25rem;
  display: grid;
}

.not-found-page section {
  width: min(100%, 46rem);
}

.not-found-page h1 {
  font-size: clamp(3rem, 9vw, 6rem);
}

.not-found-page p:not(.eyebrow) {
  color: #38584d;
  max-width: 38rem;
  margin: 2rem 0;
  line-height: 1.7;
}

@media (min-width: 48rem) {
  .site-hero {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .story-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 35rem) {
  .visitor-header {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: .75rem;
    padding-block: 1rem;
  }

  .locale-switcher a {
    padding-inline: .55rem;
  }
}

.offline-indicator-banner {
  z-index: 9999;
  color: #f7f4e9;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #1a2721;
  border: 1px solid #da924a4d;
  border-radius: 9999px;
  align-items: center;
  gap: .75rem;
  padding: .65rem 1rem;
  font-size: .85rem;
  font-weight: 500;
  animation: .3s cubic-bezier(.16, 1, .3, 1) slideUpFade;
  display: flex;
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  box-shadow: 0 8px 24px #0003, 0 2px 6px #0000001f;
}

.offline-indicator-dot {
  background: #e27d34;
  border-radius: 50%;
  flex-shrink: 0;
  width: .6rem;
  height: .6rem;
  animation: 2s ease-in-out infinite pulseDot;
  box-shadow: 0 0 8px #e27d34;
}

.offline-indicator-content {
  flex-direction: column;
  gap: .1rem;
  display: flex;
}

.offline-indicator-text {
  color: #f7f4e9;
  font-weight: 600;
  line-height: 1.2;
}

.offline-indicator-sub {
  color: #b5c7bd;
  font-size: .75rem;
  line-height: 1.2;
}

@keyframes pulseDot {
  0%, 100% {
    opacity: .9;
    transform: scale(1);
  }

  50% {
    opacity: .5;
    transform: scale(1.3);
  }
}

@keyframes slideUpFade {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.offline-pack-panel {
  background: #fbf9f4;
  border: 1px solid #dfd8c8;
  border-radius: 1rem;
  width: min(100%, 68rem);
  margin: 1.5rem auto 2.5rem;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 2px 12px #1533290a;
}

.offline-pack-header {
  border-bottom: 1px solid #ebe5d7;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.25rem;
  padding-bottom: 1.25rem;
  display: flex;
}

.offline-pack-title-group {
  flex: 20rem;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.offline-pack-icon {
  color: #9b4f28;
  background: #ebe4d5;
  border-radius: .75rem;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
}

.offline-pack-title-group h3 {
  color: #153329;
  margin: 0;
  font-family: Georgia, Times New Roman, serif;
  font-size: 1.35rem;
  font-weight: 600;
}

.offline-pack-subtitle {
  color: #4a685c;
  max-width: 48ch;
  margin: .35rem 0 0;
  font-size: .88rem;
  line-height: 1.5;
}

.offline-badge {
  letter-spacing: .03em;
  text-transform: uppercase;
  border-radius: 9999px;
  flex-shrink: 0;
  align-items: center;
  gap: .45rem;
  padding: .35rem .8rem;
  font-size: .78rem;
  font-weight: 600;
  display: inline-flex;
}

.offline-badge.installed {
  color: #1a5c3e;
  background: #e1ede5;
  border: 1px solid #b8dac5;
}

.offline-badge.not-installed {
  color: #726c5d;
  background: #eeebdf;
  border: 1px solid #ded8c8;
}

.offline-badge-dot {
  background: #1a5c3e;
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
}

.offline-installed-info {
  margin-top: 1.25rem;
}

.offline-pack-details-grid {
  background: #f4ede0;
  border-radius: .65rem;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  display: grid;
}

.detail-item {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.detail-label {
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #6a8276;
  font-size: .75rem;
  font-weight: 600;
}

.detail-val {
  color: #153329;
  font-size: .95rem;
  font-weight: 600;
}

.detail-val.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .85rem;
}

.offline-alert {
  border-radius: .5rem;
  margin-top: 1rem;
  padding: .85rem 1.15rem;
  font-size: .88rem;
  line-height: 1.5;
}

.offline-alert.warning {
  color: #854d0e;
  background: #fdf5e6;
  border-left: 4px solid #d97706;
}

.offline-alert.info {
  color: #174b37;
  background: #eef6f2;
  border-left: 4px solid #2d7a5b;
}

.offline-alert.error {
  color: #991b1b;
  background: #fef2f2;
  border-left: 4px solid #dc2626;
}

.offline-alert p {
  margin: .25rem 0 0;
}

.offline-alert strong {
  color: inherit;
}

.offline-progress-container {
  background: #f3ede1;
  border-radius: .75rem;
  margin-top: 1rem;
  padding: 1.25rem;
}

.offline-progress-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .65rem;
  font-size: .88rem;
  display: flex;
}

.progress-phase {
  color: #153329;
  font-weight: 600;
}

.progress-percent {
  color: #9b4f28;
  font-weight: 700;
}

.progress-bar-track {
  background: #dfd7c5;
  border-radius: 9999px;
  height: .6rem;
  overflow: hidden;
}

.progress-bar-fill {
  background: linear-gradient(90deg, #9b4f28 0%, #285d4b 100%);
  border-radius: 9999px;
  height: 100%;
  transition: width .2s ease-out;
}

.progress-meta {
  color: #6a8276;
  justify-content: space-between;
  margin-top: .45rem;
  font-size: .75rem;
  display: flex;
}

.scope-selection-group {
  margin-top: 1.25rem;
}

.scope-group-label {
  color: #153329;
  margin-bottom: .75rem;
  font-size: .88rem;
  font-weight: 600;
}

.scope-options {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 1rem;
  display: grid;
}

.scope-option {
  cursor: pointer;
  background: #fff;
  border: 1.5px solid #ded7c7;
  border-radius: .75rem;
  align-items: flex-start;
  gap: .85rem;
  padding: 1rem 1.15rem;
  transition: all .15s ease-in-out;
  display: flex;
}

.scope-option:hover {
  background: #fffdfa;
  border-color: #9b4f28;
}

.scope-option.selected {
  background: #f3f8f5;
  border-color: #285d4b;
  box-shadow: 0 0 0 1px #285d4b;
}

.scope-option input[type="radio"] {
  accent-color: #285d4b;
  margin-top: .2rem;
}

.scope-option-body {
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.scope-option-title {
  color: #153329;
  font-size: .95rem;
  font-weight: 600;
}

.scope-option-desc {
  color: #4f7063;
  font-size: .8rem;
  line-height: 1.45;
}

.scope-option-size {
  color: #9b4f28;
  margin-top: .25rem;
  font-size: .75rem;
  font-weight: 700;
  display: inline-block;
}

.offline-download-footer {
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 1.25rem;
  display: flex;
}

.offline-actions-row {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1.25rem;
  display: flex;
}

.confirm-delete-group {
  background: #fee2e2;
  border-radius: .5rem;
  align-items: center;
  gap: .5rem;
  padding: .35rem .65rem;
  display: flex;
}

.confirm-prompt {
  color: #991b1b;
  font-size: .8rem;
  font-weight: 600;
}

.btn {
  cursor: pointer;
  border: 1px solid #0000;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  gap: .45rem;
  padding: .65rem 1.25rem;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .15s;
  display: inline-flex;
}

.btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.btn-primary {
  color: #fff;
  background: #1d4a3b;
  border-color: #1d4a3b;
}

.btn-primary:hover:not(:disabled) {
  background: #14352a;
}

.btn-secondary {
  color: #1d4a3b;
  background: #e8e2d4;
  border-color: #d1c8b7;
}

.btn-secondary:hover:not(:disabled) {
  background: #ded7c7;
}

.btn-danger {
  color: #fff;
  background: #dc2626;
  border-color: #dc2626;
}

.btn-danger:hover:not(:disabled) {
  background: #b91c1c;
}

.btn-outline-danger {
  color: #dc2626;
  background: none;
  border-color: #fca5a5;
}

.btn-outline-danger:hover:not(:disabled) {
  background: #fef2f2;
}

.btn-sm {
  padding: .45rem .85rem;
  font-size: .82rem;
}

.offline-disabled-hint {
  color: #8c7258;
  font-size: .8rem;
  font-style: italic;
}

.spatial-route-wrapper {
  gap: 1.75rem;
  margin-bottom: 2.5rem;
  display: grid;
}

.route-finder-panel {
  background: #fdfbf7;
  border: 1px solid #ded7c7;
  border-radius: 1.25rem;
  padding: clamp(1.25rem, 3.5vw, 2rem);
  box-shadow: 0 4px 20px #1533290d;
}

.route-finder-header {
  margin-bottom: 1.5rem;
}

.route-finder-title-row {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.route-finder-title-row h2 {
  color: #153329;
  margin: 0;
  font-family: Georgia, Times New Roman, serif;
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  font-weight: 600;
}

.route-finder-badges {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.connection-badge {
  letter-spacing: .03em;
  text-transform: uppercase;
  border-radius: 9999px;
  align-items: center;
  gap: .4rem;
  padding: .3rem .75rem;
  font-size: .78rem;
  font-weight: 700;
  display: inline-flex;
}

.connection-badge.badge-online {
  color: #165b3d;
  background: #e1ede5;
  border: 1px solid #aed6be;
}

.connection-badge.badge-online .dot {
  background: #165b3d;
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
}

.connection-badge.badge-offline {
  color: #9b4f28;
  background: #fbf0e4;
  border: 1px solid #ebd2bd;
}

.connection-badge.badge-offline .dot {
  background: #9b4f28;
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
  animation: 2s ease-in-out infinite pulseDot;
}

.badge-installed {
  color: #275f4b;
  background: #eaf1ed;
  border: 1px solid #cce0d5;
  border-radius: 9999px;
  padding: .25rem .6rem;
  font-size: .75rem;
  font-weight: 600;
}

.route-finder-subtitle {
  color: #4a685c;
  margin: .4rem 0 0;
  font-size: .92rem;
  line-height: 1.5;
}

.stale-safety-warning {
  color: #854d0e;
  background: #fdf5e6;
  border: 1px solid #eec886;
  border-left: 5px solid #d97706;
  border-radius: .75rem;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  animation: .25s ease-out slideUpFade;
  display: flex;
}

.stale-safety-warning .warning-icon {
  flex-shrink: 0;
  font-size: 1.35rem;
  line-height: 1;
}

.stale-safety-warning strong {
  color: #92400e;
  margin-bottom: .25rem;
  font-size: .95rem;
  display: block;
}

.stale-safety-warning p {
  color: #78350f;
  margin: 0;
  font-size: .86rem;
  line-height: 1.5;
}

.route-finder-form {
  gap: 1.25rem;
  display: grid;
}

.form-field {
  gap: .5rem;
  display: grid;
}

.form-field label {
  color: #1e3c31;
  font-size: .88rem;
  font-weight: 700;
}

.form-field select {
  color: #153329;
  background: #fff;
  border: 1.5px solid #d5cec0;
  border-radius: .65rem;
  min-height: 2.85rem;
  padding: .5rem .85rem;
  font-family: inherit;
  font-size: .95rem;
  transition: border-color .15s, box-shadow .15s;
}

.form-field select:focus {
  border-color: #9b4f28;
  outline: none;
  box-shadow: 0 0 0 3px #9b4f2826;
}

.form-field select:disabled {
  color: #83948e;
  cursor: not-allowed;
  background: #f3efe6;
}

.profile-selector {
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: .75rem;
  display: grid;
}

.profile-button {
  cursor: pointer;
  text-align: left;
  background: #fff;
  border: 1.5px solid #ded7c7;
  border-radius: .65rem;
  flex-direction: column;
  align-items: flex-start;
  gap: .25rem;
  padding: .85rem 1rem;
  transition: all .15s ease-in-out;
  display: flex;
}

.profile-button:hover:not(:disabled) {
  background: #fffdfa;
  border-color: #9b4f28;
}

.profile-button.active {
  background: #eef5f1;
  border-color: #1d4a3b;
  box-shadow: 0 0 0 1px #1d4a3b;
}

.profile-name {
  color: #153329;
  font-size: .92rem;
  font-weight: 700;
}

.profile-desc {
  color: #557266;
  font-size: .75rem;
}

.route-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem;
  margin-top: .5rem;
  display: flex;
}

.find-route-button {
  color: #fff;
  cursor: pointer;
  background: #1d4a3b;
  border: none;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  padding: .8rem 1.6rem;
  font-size: .95rem;
  font-weight: 700;
  transition: background .15s, transform .1s;
  display: inline-flex;
  box-shadow: 0 4px 12px #1d4a3b33;
}

.find-route-button:hover:not(:disabled) {
  background: #14352a;
  transform: translateY(-1px);
}

.find-route-button:active:not(:disabled) {
  transform: translateY(0);
}

.find-route-button:disabled {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none;
}

.clear-route-button {
  color: #6a8276;
  cursor: pointer;
  background: none;
  border: 1px solid #ded7c7;
  border-radius: 9999px;
  padding: .8rem 1.25rem;
  font-size: .9rem;
  font-weight: 600;
  transition: all .15s;
}

.clear-route-button:hover {
  color: #153329;
  background: #ece7db;
}

.route-error-alert {
  color: #991b1b;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-left: 4px solid #dc2626;
  border-radius: .65rem;
  margin-top: 1.25rem;
  padding: 1rem 1.25rem;
}

.route-error-alert strong {
  margin-bottom: .25rem;
  font-size: .95rem;
  display: block;
}

.route-error-alert p {
  margin: 0;
  font-size: .88rem;
}

.solved-route-container {
  border-top: 1px solid #e8e2d4;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  animation: .3s ease-out slideUpFade;
}

.route-metrics-card {
  background: #f4ede0;
  border-radius: .75rem;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: .85rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  display: grid;
}

.metric-item {
  flex-direction: column;
  gap: .2rem;
  display: flex;
}

.metric-label {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6a8276;
  font-size: .72rem;
  font-weight: 700;
}

.metric-value {
  color: #153329;
  font-size: 1.15rem;
  font-weight: 800;
}

.route-warnings-list {
  background: #fff8eb;
  border-left: 4px solid #f59e0b;
  border-radius: .5rem;
  margin-bottom: 1.25rem;
  padding: .85rem 1.15rem;
}

.route-warnings-list h4 {
  color: #b45309;
  margin: 0 0 .4rem;
  font-size: .88rem;
}

.route-warnings-list ul {
  color: #92400e;
  margin: 0;
  padding-left: 1.25rem;
  font-size: .84rem;
}

.route-warnings-list li {
  margin-bottom: .25rem;
}

.turn-by-turn-list {
  margin-top: 1rem;
}

.turn-by-turn-list h3 {
  color: #153329;
  margin: 0 0 1rem;
  font-family: Georgia, Times New Roman, serif;
  font-size: 1.25rem;
}

.turn-by-turn-list ol {
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.turn-step {
  background: #fff;
  border: 1px solid #e4ddd0;
  border-radius: .65rem;
  align-items: flex-start;
  gap: .85rem;
  padding: .85rem 1rem;
  transition: border-color .15s;
  display: flex;
}

.turn-step:hover {
  border-color: #9b4f28;
}

.step-badge {
  color: #fff;
  background: #1d4a3b;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  font-size: .78rem;
  font-weight: 750;
  display: flex;
}

.step-content {
  flex-direction: column;
  flex: 1;
  gap: .2rem;
  display: flex;
}

.step-title {
  color: #153329;
  margin: 0;
  font-size: .92rem;
}

.step-details {
  color: #5d756b;
  margin: 0;
  font-size: .8rem;
}

.step-details .stair-count {
  color: #b45309;
  font-weight: 600;
}

.step-warning {
  color: #b45309;
  margin: .35rem 0 0;
  font-size: .78rem;
  font-weight: 600;
}

.destination-reached-message {
  color: #1e5a42;
  text-align: center;
  background: #eaf3ed;
  border-radius: .5rem;
  margin: 1rem 0 0;
  padding: .75rem 1rem;
  font-size: .88rem;
  font-weight: 700;
}

.scene-presenter {
  background: #faf8f2;
  border: 1px solid #d0c9b4;
  border-radius: .75rem;
  margin: 2rem 0;
  overflow: hidden;
}

.scene-presenter-header {
  color: #f0ede0;
  background: linear-gradient(135deg, #1e3a2f 0%, #2d5942 100%);
  border-bottom: 1px solid #e5dfc9;
  padding: 1rem 1.25rem .75rem;
}

.scene-presenter-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #9dbda9;
  margin: 0 0 .25rem;
  font-size: .7rem;
}

.scene-presenter-title {
  color: #f5f0e0;
  margin: 0 0 .5rem;
  font-size: 1.1rem;
  font-weight: 700;
}

.scene-presenter-meta {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.scene-badge {
  color: #c8e0cc;
  background: #ffffff1f;
  border-radius: .3rem;
  padding: .15rem .5rem;
  font-size: .78rem;
}

.scene-revision {
  color: #8aaa94;
  font-size: .72rem;
}

.scene-fallback-badge {
  color: #92400e;
  background: #fffbeb;
  border-bottom: 1px solid #fde68a;
  align-items: flex-start;
  gap: .5rem;
  padding: .6rem 1rem;
  font-size: .83rem;
  display: flex;
}

.scene-safety-notice {
  color: #78350f;
  background: #fef3c7;
  border-bottom: 1px solid #fbbf24;
  padding: .6rem 1rem;
  font-size: .85rem;
}

.scene-viewer-area {
  aspect-ratio: 16 / 9;
  background: #1a1a1a;
  width: 100%;
  position: relative;
  overflow: hidden;
}

@media (max-width: 640px) {
  .scene-viewer-area {
    aspect-ratio: 4 / 3;
  }
}

.scene-presenter-loading {
  text-align: center;
  color: #6b7280;
  padding: 2rem;
  font-size: .9rem;
}

.model-viewer-container {
  background: #f0ede0;
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.model-viewer-canvas {
  touch-action: none;
  outline: none;
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.model-viewer-canvas:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #2d5942;
}

.model-loading-overlay {
  z-index: 10;
  background: #f0ede0eb;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  display: flex;
  position: absolute;
  inset: 0;
}

.model-loading-bar {
  background: #d0c9b4;
  border-radius: 2px;
  width: min(280px, 80%);
  height: 4px;
  overflow: hidden;
}

.model-loading-fill {
  background: linear-gradient(90deg, #1e3a2f, #4f7063);
  border-radius: 2px;
  height: 100%;
  transition: width .2s;
}

.model-loading-label {
  color: #4b5563;
  margin: 0;
  font-size: .8rem;
}

.model-viewer-skeleton {
  background: #e8e4d8;
  width: 100%;
  height: 100%;
}

.skeleton-canvas {
  background: linear-gradient(90deg, #e8e4d8 25%, #d8d4c8 50%, #e8e4d8 75%) 0 0 / 200% 100%;
  width: 100%;
  height: 100%;
  animation: 1.5s infinite skeleton-shimmer;
}

@keyframes skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.model-viewer-controls {
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: absolute;
  bottom: .5rem;
  left: .5rem;
  right: .5rem;
}

.model-control-hint {
  color: #ffffffb3;
  pointer-events: none;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #00000059;
  border-radius: .25rem;
  padding: .2rem .5rem;
  font-size: .7rem;
}

.model-fullscreen-btn {
  pointer-events: all;
  color: #fff;
  cursor: pointer;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #0006;
  border: 1px solid #ffffff4d;
  border-radius: .3rem;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  transition: background .15s;
  display: flex;
}

.model-fullscreen-btn:hover {
  background: #000000a6;
}

.model-viewer-error {
  text-align: center;
  color: #7c2d12;
  background: #fff8f0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  width: 100%;
  height: 100%;
  padding: 2rem;
  display: flex;
}

.model-error-detail {
  color: #9a3412;
  font-family: monospace;
  font-size: .75rem;
}

@media (prefers-reduced-motion: reduce) {
  .skeleton-canvas {
    background: #e0dcd0;
    animation: none;
  }
}

.annotated-media {
  background: #1a1a1a;
  width: 100%;
  height: 100%;
  position: relative;
}

.annotated-media-frame {
  width: 100%;
  height: 100%;
  position: relative;
}

.annotated-media-image {
  object-fit: cover;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
  height: 100%;
  display: block;
}

.annotated-media-svg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.hotspot-pulse {
  fill: #ffdc6440;
  stroke: #ffc83280;
  stroke-width: .3px;
  animation: 2s ease-in-out infinite hotspot-pulse;
}

@keyframes hotspot-pulse {
  0%, 100% {
    r: 3.5;
    opacity: .6;
  }

  50% {
    r: 5;
    opacity: .2;
  }
}

.hotspot-dot {
  fill: #fbbf24;
  stroke: #fff;
  stroke-width: .5px;
  cursor: pointer;
  transition: fill .15s, r .15s;
}

.hotspot-dot:hover, .hotspot-dot:focus-visible {
  fill: #f59e0b;
  outline: none;
}

.hotspot-active {
  fill: #dc2626;
}

.hotspot-label {
  fill: #fff;
  stroke: #0009;
  stroke-width: .3px;
  paint-order: stroke;
  pointer-events: none;
  font-size: 3px;
  font-weight: 700;
}

.hotspot-panel {
  color: #f0ede0;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #0f1714d9;
  border-top: 1px solid #ffffff1a;
  padding: 1rem 1.25rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.hotspot-panel-close {
  color: #9ca3af;
  cursor: pointer;
  background: none;
  border: none;
  padding: .2rem .3rem;
  font-size: 1.2rem;
  line-height: 1;
  position: absolute;
  top: .5rem;
  right: .75rem;
}

.hotspot-panel-close:hover {
  color: #f0ede0;
}

.hotspot-panel-title {
  color: #f0ede0;
  margin: 0 2rem .35rem 0;
  font-size: .95rem;
  font-weight: 700;
}

.hotspot-panel-desc {
  color: #c8c0aa;
  margin: 0;
  font-size: .83rem;
  line-height: 1.5;
}

.annotated-media-no-hotspots {
  text-align: center;
  color: #ffffff80;
  pointer-events: none;
  font-size: .75rem;
  position: absolute;
  bottom: .5rem;
  left: 0;
  right: 0;
}

.scene-audio-only {
  background: linear-gradient(135deg, #1e3a2f 0%, #2d4a3e 100%);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  width: 100%;
  height: 100%;
  padding: 2rem;
  display: flex;
}

.scene-audio-label {
  color: #c8e0cc;
  text-align: center;
  margin: 0;
  font-size: .9rem;
}

.scene-audio-player {
  accent-color: #4f7063;
  width: min(360px, 90%);
}

.scene-no-content {
  color: #6b7280;
  text-align: center;
  background: #f5f2ea;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 2rem;
  font-size: .9rem;
  display: flex;
}

.scene-ar-invite {
  background: #fdfaf3;
  border-top: 1px solid #e5dfc9;
  justify-content: center;
  padding: .85rem 1rem;
  display: flex;
}

.scene-ar-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #1e3a2f, #2d5942);
  border: 1px solid #fff3;
  border-radius: .6rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  width: 100%;
  max-width: 420px;
  padding: .75rem 1.25rem;
  font-size: .92rem;
  font-weight: 600;
  transition: all .2s;
  display: flex;
  box-shadow: 0 4px 12px #1e3a2f40;
}

.scene-ar-btn-active:hover {
  background: linear-gradient(135deg, #163024, #244935);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px #1e3a2f59;
}

.scene-ar-btn-active:active {
  transform: translateY(0);
}

.visitor-ar-invite {
  background: #fdfaf3;
  border: 1px solid #e5dfc9;
  border-radius: .75rem;
  gap: .6rem;
  padding: 1.25rem;
  display: grid;
}

.visitor-ar-invite .section-label, .visitor-ar-invite h2, .visitor-ar-invite p {
  margin: 0;
}

.visitor-ar-invite h2 {
  font-size: 1.25rem;
}

.visitor-ar-invite p:not(.section-label) {
  max-width: 60ch;
  color: var(--text-body);
}

.scene-ar-launch {
  color: #fff;
  touch-action: manipulation;
  background: linear-gradient(135deg, #1e3a2f, #2d5942);
  border-radius: .6rem;
  justify-content: center;
  align-items: center;
  width: fit-content;
  min-height: 3rem;
  padding: .75rem 1.25rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}

.scene-ar-launch:hover, .scene-ar-launch:focus-visible {
  background: linear-gradient(135deg, #163024, #244935);
}

.scene-ar-launch:focus-visible {
  outline: 3px solid var(--brand-gold);
  outline-offset: 3px;
}

.ar-viewfinder-overlay {
  z-index: 99999;
  -webkit-user-select: none;
  user-select: none;
  background: #000;
  flex-direction: column;
  justify-content: space-between;
  width: 100vw;
  height: 100vh;
  display: flex;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.ar-camera-video {
  object-fit: cover;
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.ar-model-projection-layer {
  z-index: 10;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.ar-model-overlay-canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.mindar-core-probe {
  --mindar-ink: #f4f0e8;
  --mindar-muted: #b9b7b2;
  --mindar-panel: #101413e0;
  --mindar-line: #ffffff29;
  --mindar-accent: #c8ad70;
  --mindar-success: #9ed6ad;
  min-height: 100dvh;
  color: var(--mindar-ink);
  font-variant-numeric: tabular-nums;
  background: #111514;
  grid-template-rows: minmax(34rem, 1fr) auto;
  display: grid;
}

.mindar-core-probe-sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.mindar-core-probe-preview {
  isolation: isolate;
  background: radial-gradient(circle at 50% 48%, #c8ad7021, #0000 38%), #0a0d0c;
  min-height: 34rem;
  position: relative;
  overflow: hidden;
}

.mindar-core-probe-preview video, .mindar-core-probe-preview canvas {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.mindar-core-probe-preview video {
  object-fit: cover;
}

.mindar-core-probe-preview canvas {
  pointer-events: none;
}

.mindar-core-probe-scrim {
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(#050807b8 0%, #05080714 28%, #0508071a 56%, #050807db 100%), linear-gradient(90deg, #05080742, #0000 24% 76%, #05080742);
  position: absolute;
  inset: 0;
}

.mindar-core-probe-topbar, .mindar-core-probe-badges, .mindar-core-probe-guidance, .mindar-core-probe-actions {
  z-index: 2;
  position: absolute;
}

.mindar-core-probe-topbar {
  padding: max(1rem, env(safe-area-inset-top)) 1rem 0;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
  top: 0;
  left: 0;
  right: 0;
}

.mindar-core-probe-overline {
  color: var(--mindar-accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
  font-size: .65rem;
  font-weight: 700;
  line-height: 1.2;
}

.mindar-core-probe-title {
  letter-spacing: -.02em;
  margin: .25rem 0 0;
  font-size: 1rem;
  font-weight: 600;
}

.mindar-core-probe-camera-indicator {
  border: 1px solid var(--mindar-line);
  color: var(--mindar-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #080b0a6b;
  border-radius: .45rem;
  align-items: center;
  gap: .4rem;
  padding: .45rem .6rem;
  font-size: .7rem;
  font-weight: 600;
  display: inline-flex;
}

.mindar-core-probe-camera-indicator > span {
  background: #7a817e;
  border-radius: 50%;
  width: .42rem;
  height: .42rem;
}

.mindar-core-probe-camera-indicator[data-state="ACTIVE"] {
  color: var(--mindar-ink);
}

.mindar-core-probe-camera-indicator[data-state="ACTIVE"] > span {
  background: var(--mindar-success);
  box-shadow: 0 0 .7rem #9ed6adcc;
}

.mindar-core-probe-badges {
  top: calc(max(1rem, env(safe-area-inset-top)) + 4rem);
  flex-wrap: wrap;
  gap: .4rem;
  display: flex;
  left: 1rem;
}

.mindar-core-probe-badges span {
  color: #eadfca;
  letter-spacing: .08em;
  text-transform: uppercase;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #1316147a;
  border: 1px solid #c8ad7061;
  border-radius: .3rem;
  padding: .35rem .5rem;
  font-size: .6rem;
  font-weight: 700;
}

.mindar-core-probe-badges span:last-child {
  border-color: var(--mindar-line);
  color: var(--mindar-muted);
}

.mindar-core-probe-guidance {
  border-left: 2px solid var(--mindar-accent);
  max-width: 26rem;
  padding-left: .85rem;
  bottom: 6.1rem;
  left: 1rem;
  right: 1rem;
}

.mindar-core-probe-guidance[data-state="tracked"] {
  border-left-color: var(--mindar-success);
}

.mindar-core-probe-guidance[data-state="error"] {
  border-left-color: #ec9a84;
}

.mindar-core-probe-guidance-copy {
  letter-spacing: -.035em;
  text-wrap: balance;
  max-width: 23rem;
  margin: .35rem 0 0;
  font-size: clamp(1.15rem, 5vw, 1.55rem);
  font-weight: 600;
  line-height: 1.1;
}

.mindar-core-probe-loading, .mindar-core-probe-error-detail {
  color: var(--mindar-muted);
  margin: .45rem 0 0;
  font-size: .78rem;
  line-height: 1.45;
}

.mindar-core-probe-error-detail {
  color: #f1c0b3;
}

.mindar-core-probe-actions {
  right: 1rem;
  bottom: max(1rem, env(safe-area-inset-bottom));
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .6rem;
  display: grid;
  left: 1rem;
}

.mindar-core-probe-actions button {
  border-radius: .65rem;
  min-height: 3rem;
  font-weight: 700;
  transition: transform .18s, background .18s, border-color .18s;
}

.mindar-core-probe-actions button:focus-visible, .mindar-core-probe-diagnostics summary:focus-visible {
  outline: 2px solid var(--mindar-accent);
  outline-offset: 3px;
}

.mindar-core-probe-actions button:active:not(:disabled) {
  transform: scale(.98);
}

.mindar-core-probe-start {
  color: #242018;
  background: #ead6a7;
  border: 1px solid #ead6a7;
}

.mindar-core-probe-stop {
  border: 1px solid var(--mindar-line);
  min-width: 5.5rem;
  color: var(--mindar-ink);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #080b0a7a;
}

.mindar-core-probe-actions button:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.mindar-core-probe-panel {
  padding: 1rem 1rem calc(1.25rem + env(safe-area-inset-bottom));
  background: #111514;
}

.mindar-core-probe-status-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  display: grid;
}

.mindar-core-probe-status-summary > div {
  border: 1px solid var(--mindar-line);
  background: #1a201e;
  border-radius: .5rem;
  min-width: 0;
  padding: .7rem .65rem;
}

.mindar-core-probe-status-summary span, .mindar-core-probe-status-summary strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.mindar-core-probe-status-summary span {
  color: var(--mindar-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .62rem;
  font-weight: 700;
}

.mindar-core-probe-status-summary strong {
  margin-top: .35rem;
  font-size: .78rem;
}

.mindar-core-probe-status-summary > div[data-state="ACTIVE"] strong, .mindar-core-probe-status-summary > div[data-state="READY"] strong {
  color: var(--mindar-success);
}

.mindar-core-probe-status-summary > div[data-state="ERROR"] strong {
  color: #f1b4a1;
}

.mindar-core-probe-diagnostics {
  border-top: 1px solid var(--mindar-line);
  margin-top: .75rem;
}

.mindar-core-probe-diagnostics summary {
  color: var(--mindar-muted);
  cursor: pointer;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .9rem 0 .15rem;
  font-size: .72rem;
  font-weight: 700;
}

.mindar-core-probe-status {
  border-top: 1px solid var(--mindar-line);
  color: var(--mindar-muted);
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: .55rem 1rem;
  margin: .85rem 0 0;
  padding-top: .85rem;
  font-size: .75rem;
  display: grid;
}

.mindar-core-probe-status dt {
  font-weight: 700;
}

.mindar-core-probe-status dd {
  overflow-wrap: anywhere;
  color: var(--mindar-ink);
  text-align: right;
  margin: 0;
}

@media (min-width: 48rem) {
  .mindar-core-probe {
    border-inline: 1px solid #ffffff14;
    max-width: 46rem;
    margin: 0 auto;
  }

  .mindar-core-probe-preview {
    min-height: 42rem;
  }
}

.ar-header-bar {
  z-index: 20;
  background: linear-gradient(#000000bf 0%, #0000 100%);
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  display: flex;
  position: relative;
}

.ar-target-badge {
  -webkit-backdrop-filter: blur(12px);
  background: #141414bf;
  border: 1px solid #ffffff2e;
  border-radius: 2rem;
  align-items: center;
  gap: .5rem;
  max-width: 65%;
  padding: .45rem .85rem;
  display: flex;
}

.ar-target-dot {
  background: #10b981;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 8px #10b981;
}

.ar-target-title {
  color: #f3f4f6;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: .85rem;
  font-weight: 500;
  overflow: hidden;
}

.ar-header-controls {
  align-items: center;
  gap: .6rem;
  display: flex;
}

.ar-hud-toggle-btn {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #e5e7eb;
  cursor: pointer;
  background: #1e1e1ebf;
  border: 1px solid #fff3;
  border-radius: 1.5rem;
  padding: .35rem .75rem;
  font-family: monospace;
  font-size: .78rem;
  transition: all .15s;
}

.ar-hud-toggle-btn:hover {
  background: #323232d9;
  border-color: #fff6;
}

.ar-close-btn {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #fff;
  cursor: pointer;
  background: #fff3;
  border: 1px solid #ffffff59;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  font-size: 1.1rem;
  transition: background .15s;
  display: flex;
}

.ar-close-btn:hover {
  background: #ef4444cc;
}

.ar-diagnostics-hud {
  z-index: 25;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #e5e7eb;
  background: #0a0f0ce0;
  border: 1px solid #10b9814d;
  border-radius: .5rem;
  flex-direction: column;
  gap: .3rem;
  min-width: 140px;
  padding: .6rem .85rem;
  font-family: monospace;
  font-size: .75rem;
  display: flex;
  position: absolute;
  top: 4.5rem;
  right: 1.25rem;
}

.hud-metric {
  justify-content: space-between;
  gap: .75rem;
  display: flex;
}

.hud-label {
  color: #9ca3af;
}

.hud-val {
  color: #10b981;
  font-weight: 600;
}

.hud-quality-good {
  color: #10b981;
}

.hud-quality-fair {
  color: #f59e0b;
}

.hud-quality-poor {
  color: #ef4444;
}

.ar-reticle-container {
  z-index: 15;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.ar-reticle-box {
  border: 1px dashed #ffffff40;
  border-radius: 1rem;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  width: min(320px, 75vw);
  height: min(320px, 75vw);
  padding-bottom: 1.25rem;
  transition: border-color .3s;
  display: flex;
  position: relative;
  box-shadow: 0 0 30px #0006;
}

.ar-reticle-container.is-tracking .ar-reticle-box {
  border-color: #10b98199;
  box-shadow: 0 0 25px #10b98140;
}

.reticle-corner {
  border-style: solid;
  border-color: #10b981;
  width: 24px;
  height: 24px;
  position: absolute;
}

.reticle-corner.top-left {
  border-width: 3px 0 0 3px;
  border-top-left-radius: .75rem;
  top: -2px;
  left: -2px;
}

.reticle-corner.top-right {
  border-width: 3px 3px 0 0;
  border-top-right-radius: .75rem;
  top: -2px;
  right: -2px;
}

.reticle-corner.bottom-left {
  border-width: 0 0 3px 3px;
  border-bottom-left-radius: .75rem;
  bottom: -2px;
  left: -2px;
}

.reticle-corner.bottom-right {
  border-width: 0 3px 3px 0;
  border-bottom-right-radius: .75rem;
  bottom: -2px;
  right: -2px;
}

.reticle-scan-beam {
  background: linear-gradient(90deg, #0000, #10b981, #0000);
  height: 3px;
  animation: 2.4s ease-in-out infinite arScanBeam;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 0 12px #10b981, 0 0 24px #10b98180;
}

@keyframes arScanBeam {
  0% {
    opacity: .2;
    top: 0%;
  }

  50% {
    opacity: 1;
    top: 100%;
  }

  100% {
    opacity: .2;
    top: 0%;
  }
}

.reticle-status-chip {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: #f8fafc;
  text-align: center;
  pointer-events: auto;
  background: #0f172ad1;
  border: 1px solid #ffffff26;
  border-radius: 2rem;
  align-items: center;
  gap: .5rem;
  max-width: 90%;
  padding: .45rem .9rem;
  font-size: .78rem;
  display: flex;
}

.status-indicator {
  border-radius: 50%;
  flex-shrink: 0;
  width: 7px;
  height: 7px;
}

.status-indicator.scanning {
  background: #f59e0b;
  animation: 1.2s ease-in-out infinite pulseAmber;
  box-shadow: 0 0 6px #f59e0b;
}

.status-indicator.tracking {
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}

.status-indicator.lost {
  background: #ef4444;
  box-shadow: 0 0 6px #ef4444;
}

.status-indicator.paused {
  background: #64748b;
}

@keyframes pulseAmber {
  0%, 100% {
    opacity: .4;
    transform: scale(.9);
  }

  50% {
    opacity: 1;
    transform: scale(1.15);
  }
}

.ar-bottom-dock {
  z-index: 20;
  background: linear-gradient(0deg, #000c 0%, #0000 100%);
  justify-content: center;
  gap: .75rem;
  padding: 1.25rem;
  display: flex;
  position: relative;
}

.ar-dock-btn {
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  cursor: pointer;
  background: #ffffff2e;
  border: 1px solid #ffffff4d;
  border-radius: 2rem;
  min-height: 44px;
  padding: .7rem 1.25rem;
  font-size: .88rem;
  font-weight: 500;
  transition: all .18s;
}

.ar-dock-btn:hover {
  background: #ffffff47;
}

.ar-dock-btn.is-active {
  color: #1e1e1e;
  background: #f59e0b;
  border-color: #f59e0b;
}

.ar-dock-3d-btn {
  background: #2d5942cc;
  border-color: #6ee7b766;
}

.ar-dock-3d-btn:hover {
  background: #2d5942f2;
}

.ar-modal-backdrop {
  z-index: 999999;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #000000bf;
  justify-content: center;
  align-items: center;
  padding: 1.25rem;
  animation: .2s ease-out fadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.ar-explainer-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  width: min(480px, 100%);
  overflow: hidden;
  box-shadow: 0 20px 40px #00000059;
}

.ar-explainer-header {
  color: #fff;
  background: linear-gradient(135deg, #1e3a2f, #2d5942);
  align-items: center;
  gap: .75rem;
  padding: 1.25rem 1.5rem;
  display: flex;
}

.ar-explainer-icon {
  font-size: 1.6rem;
}

.ar-explainer-title {
  color: #fff;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
}

.ar-explainer-body {
  flex-direction: column;
  gap: 1rem;
  padding: 1.5rem;
  display: flex;
}

.ar-explainer-lead {
  color: #374151;
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
}

.ar-notice-box {
  border-radius: .5rem;
  align-items: flex-start;
  gap: .75rem;
  padding: .85rem 1rem;
  font-size: .85rem;
  line-height: 1.45;
  display: flex;
}

.ar-notice-icon {
  flex-shrink: 0;
  font-size: 1.2rem;
}

.ar-privacy-notice {
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

.ar-privacy-notice p {
  color: #15803d;
  margin: .25rem 0 0;
  font-size: .82rem;
}

.ar-safety-warning {
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fde68a;
}

.ar-safety-warning p {
  color: #b45309;
  margin: .25rem 0 0;
  font-size: .82rem;
}

.ar-safety-checkbox-label {
  color: #1f2937;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: flex-start;
  gap: .65rem;
  padding: .5rem 0;
  font-size: .88rem;
  display: flex;
}

.ar-safety-checkbox {
  accent-color: #2d5942;
  cursor: pointer;
  flex-shrink: 0;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .15rem;
}

.ar-explainer-actions {
  border-top: 1px solid #f3f4f6;
  justify-content: flex-end;
  gap: .75rem;
  padding: 1rem 1.5rem 1.5rem;
  display: flex;
}

.ar-start-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #1e3a2f, #2d5942);
  border: none;
  border-radius: .5rem;
  padding: .7rem 1.25rem;
  font-size: .92rem;
  font-weight: 600;
  transition: all .15s;
}

.ar-start-btn:disabled {
  cursor: not-allowed;
  opacity: .6;
  background: #9ca3af;
}

.ar-start-btn:not(:disabled):hover {
  background: linear-gradient(135deg, #163024, #244935);
  box-shadow: 0 4px 12px #1e3a2f4d;
}

.ar-cancel-btn {
  color: #4b5563;
  cursor: pointer;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: .5rem;
  padding: .7rem 1.15rem;
  font-size: .92rem;
  transition: background .15s;
}

.ar-cancel-btn:hover {
  background: #e5e7eb;
}

.ar-denied-card .ar-explainer-header {
  background: linear-gradient(135deg, #7f1d1d, #991b1b);
}

.ar-fallback-suggestion {
  color: #4b5563;
  margin-top: .5rem;
  font-size: .88rem;
}

.model-hotspots-chip-bar {
  -webkit-backdrop-filter: blur(8px);
  scrollbar-width: thin;
  z-index: 15;
  background: #1a3626f2;
  border: 1px solid #fbbf2440;
  border-radius: .75rem;
  gap: .5rem;
  padding: .65rem .85rem;
  display: flex;
  position: absolute;
  top: .75rem;
  left: .75rem;
  right: .75rem;
  overflow-x: auto;
  box-shadow: 0 4px 16px #00000040;
}

.hotspot-chip-btn {
  color: #f1f5f9;
  white-space: nowrap;
  cursor: pointer;
  background: #ffffff14;
  border: 1px solid #ffffff26;
  border-radius: 2rem;
  flex-shrink: 0;
  align-items: center;
  gap: .45rem;
  padding: .35rem .75rem;
  font-size: .78rem;
  font-weight: 500;
  transition: all .18s;
  display: inline-flex;
}

.hotspot-chip-btn:hover {
  color: #fbbf24;
  background: #fbbf2433;
  border-color: #fbbf24;
}

.hotspot-chip-btn.is-selected {
  color: #1e3a2f;
  background: #fbbf24;
  border-color: #f59e0b;
  font-weight: 700;
  box-shadow: 0 0 10px #fbbf2480;
}

.hotspot-card-overlay {
  -webkit-backdrop-filter: blur(12px);
  z-index: 20;
  background: #fffffff2;
  border: 1px solid #e2d9c8;
  border-left: 4px solid #d97706;
  border-radius: .85rem;
  max-width: 420px;
  padding: 1rem 1.15rem;
  animation: .22s ease-out slideUpCard;
  position: absolute;
  bottom: 3.5rem;
  left: .85rem;
  right: .85rem;
  box-shadow: 0 12px 28px #0000002e;
}

@keyframes slideUpCard {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hotspot-card-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .4rem;
  display: flex;
}

.hotspot-card-badge {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #d97706;
  background: #fef3c7;
  border-radius: 1rem;
  padding: .2rem .55rem;
  font-size: .72rem;
  font-weight: 700;
}

.hotspot-card-close {
  color: #64748b;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .25rem;
  padding: .2rem .4rem;
  font-size: 1rem;
}

.hotspot-card-close:hover {
  color: #0f172a;
  background: #f1f5f9;
}

.hotspot-card-title {
  color: #1e3a2f;
  margin: 0 0 .35rem;
  font-size: .98rem;
  font-weight: 700;
}

.hotspot-card-desc {
  color: #475569;
  margin: 0 0 .75rem;
  font-size: .82rem;
  line-height: 1.48;
}

.hotspot-card-audio-action {
  display: flex;
}

.hotspot-audio-btn {
  color: #fff;
  cursor: pointer;
  background: #1e3a2f;
  border: none;
  border-radius: .5rem;
  align-items: center;
  gap: .4rem;
  padding: .45rem .85rem;
  font-size: .8rem;
  font-weight: 600;
  transition: all .15s;
  display: inline-flex;
}

.hotspot-audio-btn:hover {
  background: #2d5942;
  box-shadow: 0 2px 8px #1e3a2f40;
}

.hotspot-audio-btn.is-playing {
  background: #d97706;
}

.model-audio-ticker-bar {
  -webkit-backdrop-filter: blur(10px);
  color: #f8fafc;
  z-index: 12;
  background: #1a3626eb;
  border: 1px solid #fbbf244d;
  border-radius: .75rem;
  align-items: center;
  gap: .75rem;
  padding: .6rem .9rem;
  display: flex;
  position: absolute;
  bottom: .75rem;
  left: .75rem;
  right: .75rem;
  overflow: hidden;
  box-shadow: 0 4px 14px #0003;
}

.audio-ticker-play-btn {
  color: #1e3a2f;
  cursor: pointer;
  background: #fbbf24;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  font-size: .95rem;
  transition: transform .15s;
  display: inline-flex;
}

.audio-ticker-play-btn:hover {
  transform: scale(1.08);
}

.audio-ticker-content {
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  font-size: .78rem;
  line-height: 1.35;
  overflow: hidden;
}

.audio-ticker-title {
  color: #fbbf24;
  margin-right: .35rem;
  font-weight: 700;
}

.audio-ticker-text {
  color: #e2e8f0;
}

.audio-ticker-progress-bar {
  background: #ffffff26;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.ar-audio-toggle-btn {
  color: #fff;
  cursor: pointer;
  background: #ffffff26;
  border: 1px solid #ffffff40;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  font-size: .95rem;
  transition: all .15s;
  display: inline-flex;
}

.ar-audio-toggle-btn:hover {
  background: #ffffff4d;
}

.ar-audio-toggle-btn.is-active {
  background: #10b9814d;
  border-color: #10b981;
}

.ar-audio-toggle-btn.is-muted {
  background: #ef44444d;
  border-color: #ef4444;
}

.ar-transcript-ticker {
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  z-index: 25;
  background: #0f172ae0;
  border: 1px solid #fbbf2459;
  border-radius: 1rem;
  max-width: 540px;
  margin: 0 auto;
  padding: .75rem 1rem;
  animation: .25s ease-out slideUpTicker;
  position: absolute;
  bottom: 8.5rem;
  left: 1rem;
  right: 1rem;
  box-shadow: 0 8px 24px #0006;
}

@keyframes slideUpTicker {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ar-ticker-header {
  align-items: center;
  gap: .45rem;
  margin-bottom: .35rem;
  display: flex;
}

.ar-sound-wave-icon {
  font-size: .95rem;
}

.ar-sound-wave-icon:not(.is-muted) {
  animation: 1.4s ease-in-out infinite soundPulse;
}

@keyframes soundPulse {
  0%, 100% {
    opacity: .6;
    transform: scale(.95);
  }

  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

.ar-ticker-badge {
  text-transform: uppercase;
  color: #fbbf24;
  letter-spacing: .03em;
  font-size: .72rem;
  font-weight: 700;
}

.ar-ticker-body {
  color: #f1f5f9;
  margin: 0;
  font-size: .82rem;
  line-height: 1.42;
}

.ar-hotspots-dock {
  z-index: 25;
  scrollbar-width: none;
  justify-content: center;
  gap: .5rem;
  padding: .4rem 0;
  display: flex;
  position: absolute;
  bottom: 5rem;
  left: 1rem;
  right: 1rem;
  overflow-x: auto;
}

.ar-hotspots-dock::-webkit-scrollbar {
  display: none;
}

.ar-hotspot-chip {
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  white-space: nowrap;
  cursor: pointer;
  background: #0f172ad9;
  border: 1px solid #fff3;
  border-radius: 2rem;
  flex-shrink: 0;
  align-items: center;
  gap: .4rem;
  padding: .35rem .75rem;
  font-size: .76rem;
  font-weight: 500;
  transition: all .15s;
  display: inline-flex;
}

.ar-hotspot-chip:hover {
  background: #fbbf244d;
  border-color: #fbbf24;
}

.ar-hotspot-chip.is-selected {
  color: #0f172a;
  background: #fbbf24;
  border-color: #f59e0b;
  font-weight: 700;
  box-shadow: 0 0 12px #fbbf2499;
}

.ar-hotspot-num {
  background: #fff3;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.15rem;
  height: 1.15rem;
  font-size: .68rem;
  font-weight: 700;
  display: inline-flex;
}

.ar-hotspot-chip.is-selected .ar-hotspot-num {
  color: #fbbf24;
  background: #0f172a;
}

.ar-hotspot-card-overlay {
  -webkit-backdrop-filter: blur(16px);
  color: #fff;
  z-index: 30;
  background: #0f172af0;
  border: 1px solid #fbbf2466;
  border-radius: 1rem;
  max-width: 440px;
  margin: 0 auto;
  padding: 1rem 1.2rem;
  animation: .2s ease-out slideDownCard;
  position: absolute;
  top: 4.5rem;
  left: 1rem;
  right: 1rem;
  box-shadow: 0 12px 32px #00000080;
}

@keyframes slideDownCard {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.ar-hotspot-card-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .4rem;
  display: flex;
}

.ar-hotspot-card-badge {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fbbf24;
  background: #fbbf2426;
  border-radius: 1rem;
  padding: .2rem .55rem;
  font-size: .72rem;
  font-weight: 700;
}

.ar-hotspot-card-close {
  color: #94a3b8;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .25rem;
  padding: .2rem .4rem;
  font-size: 1.1rem;
}

.ar-hotspot-card-close:hover {
  color: #fff;
  background: #ffffff1a;
}

.ar-hotspot-card-title {
  color: #f8fafc;
  margin: 0 0 .35rem;
  font-size: .98rem;
  font-weight: 700;
}

.ar-hotspot-card-desc {
  color: #cbd5e1;
  margin: 0;
  font-size: .82rem;
  line-height: 1.48;
}

.scene-marker-btn {
  color: #1e3a2f;
  cursor: pointer;
  background: #fff;
  border: 1px solid #1e3a2f;
  border-radius: 2rem;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.4rem;
  font-size: .92rem;
  font-weight: 600;
  transition: all .15s;
  display: inline-flex;
  box-shadow: 0 2px 8px #00000014;
}

.scene-marker-btn:hover {
  color: #d97706;
  background: #f4efe6;
  border-color: #d97706;
  transform: translateY(-1px);
}

.ar-view-marker-btn {
  color: #92400e;
  cursor: pointer;
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: .5rem;
  padding: .7rem 1.15rem;
  font-size: .9rem;
  font-weight: 600;
  transition: all .15s;
}

.ar-view-marker-btn:hover {
  background: #fde68a;
}

.ar-marker-card {
  background: #fff;
  border: 1px solid #e2d9c8;
  border-radius: 1.25rem;
  flex-direction: column;
  width: min(820px, 96vw);
  max-height: 90vh;
  display: flex;
  overflow: hidden;
  box-shadow: 0 24px 48px #0006;
}

.ar-marker-header {
  color: #fff;
  background: linear-gradient(135deg, #1e3a2f, #2d5942);
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  display: flex;
}

.ar-marker-title {
  color: #fff;
  margin: 0 0 .25rem;
  font-size: 1.18rem;
  font-weight: 700;
}

.ar-marker-subtitle {
  color: #a7f3d0;
  margin: 0;
  font-size: .85rem;
}

.ar-marker-close-btn {
  color: #fff;
  cursor: pointer;
  background: #ffffff26;
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  font-size: 1.1rem;
  display: flex;
}

.ar-marker-close-btn:hover {
  background: #ffffff47;
}

.ar-marker-body {
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem;
  display: flex;
  overflow-y: auto;
}

.ar-step-instruction {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: .85rem;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 1rem 1.2rem;
  display: grid;
}

@media (max-width: 640px) {
  .ar-step-instruction {
    grid-template-columns: 1fr;
  }
}

.ar-step-item {
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.ar-step-num {
  color: #fbbf24;
  background: #1e3a2f;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.6rem;
  height: 1.6rem;
  font-size: .85rem;
  font-weight: 700;
  display: inline-flex;
}

.ar-step-item strong {
  color: #0f172a;
  margin-bottom: .2rem;
  font-size: .9rem;
  display: block;
}

.ar-step-item p {
  color: #475569;
  margin: 0;
  font-size: .8rem;
  line-height: 1.4;
}

.ar-marker-grid {
  grid-template-columns: 260px 1fr;
  align-items: start;
  gap: 1.5rem;
  display: grid;
}

@media (max-width: 720px) {
  .ar-marker-grid {
    grid-template-columns: 1fr;
  }
}

.ar-section-heading {
  color: #1e3a2f;
  margin: 0 0 .75rem;
  font-size: .92rem;
  font-weight: 700;
}

.ar-qr-section {
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: .85rem;
  flex-direction: column;
  align-items: center;
  padding: 1rem;
  display: flex;
}

.ar-qr-wrapper {
  background: #fff;
  border-radius: .5rem;
  margin-bottom: .85rem;
  padding: .5rem;
  box-shadow: 0 4px 12px #00000014;
}

.ar-qr-img {
  width: 180px;
  height: 180px;
  display: block;
}

.ar-qr-loading {
  color: #64748b;
  justify-content: center;
  align-items: center;
  width: 180px;
  height: 180px;
  font-size: .8rem;
  display: flex;
}

.ar-url-bar {
  gap: .4rem;
  width: 100%;
  display: flex;
}

.ar-url-input {
  color: #334155;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: .4rem;
  flex: 1;
  min-width: 0;
  padding: .4rem .6rem;
  font-size: .75rem;
}

.ar-copy-btn {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #1e3a2f;
  border: none;
  border-radius: .4rem;
  padding: .4rem .75rem;
  font-size: .75rem;
  font-weight: 600;
}

.ar-copy-btn:hover {
  background: #2d5942;
}

.ar-image-section {
  flex-direction: column;
  display: flex;
}

.ar-target-frame {
  background: #000;
  border: 4px solid #1e3a2f;
  border-radius: .75rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px #00000026;
}

.ar-target-marker-img {
  object-fit: cover;
  width: 100%;
  max-height: 280px;
  display: block;
}

.target-fiducial {
  pointer-events: none;
  z-index: 2;
  border-style: solid;
  border-color: #fbbf24;
  width: 24px;
  height: 24px;
  position: absolute;
}

.target-fiducial.top-left {
  border-width: 3px 0 0 3px;
  top: 8px;
  left: 8px;
}

.target-fiducial.top-right {
  border-width: 3px 3px 0 0;
  top: 8px;
  right: 8px;
}

.target-fiducial.bottom-left {
  border-width: 0 0 3px 3px;
  bottom: 8px;
  left: 8px;
}

.target-fiducial.bottom-right {
  border-width: 0 3px 3px 0;
  bottom: 8px;
  right: 8px;
}

.ar-target-caption {
  color: #fff;
  background: #0f172ae6;
  justify-content: space-between;
  align-items: center;
  padding: .6rem .85rem;
  font-size: .8rem;
  font-weight: 500;
  display: flex;
}

.ar-caption-badge {
  color: #1e3a2f;
  background: #fbbf24;
  border-radius: 1rem;
  padding: .15rem .5rem;
  font-size: .7rem;
  font-weight: 700;
}

.ar-image-actions {
  justify-content: flex-end;
  margin-top: .75rem;
  display: flex;
}

.ar-open-full-btn {
  color: #1e3a2f;
  background: #f1f5f9;
  border-radius: .4rem;
  align-items: center;
  gap: .4rem;
  padding: .4rem .75rem;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s;
  display: inline-flex;
}

.ar-open-full-btn:hover {
  background: #e2e8f0;
  text-decoration: underline;
}

.ar-marker-footer {
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  justify-content: flex-end;
  padding: 1rem 1.5rem;
  display: flex;
}

.ar-marker-done-btn {
  color: #fff;
  cursor: pointer;
  background: #1e3a2f;
  border: none;
  border-radius: .5rem;
  padding: .65rem 1.5rem;
  font-size: .9rem;
  font-weight: 600;
}

.ar-marker-done-btn:hover {
  background: #2d5942;
}

.heritage-archive-section {
  background: #f8f6f0;
  border: 1px solid #e2d9c8;
  border-radius: 1rem;
  margin: 2rem 0;
  padding: 2.5rem 1.5rem;
}

.archive-header {
  margin-bottom: 2rem;
}

.archive-header h2 {
  color: #1e3a2f;
  margin: 0 0 .5rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.archive-header p {
  color: #64748b;
  margin: 0;
  font-size: .95rem;
}

.archive-content-grid {
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 2rem;
  display: grid;
}

@media (max-width: 860px) {
  .archive-content-grid {
    grid-template-columns: 1fr;
  }
}

.archive-plan-card {
  background: #fff;
  border: 1px solid #e2d9c8;
  border-radius: .85rem;
  overflow: hidden;
  box-shadow: 0 4px 16px #0000000f;
}

.archive-plan-img {
  width: 100%;
  height: auto;
  display: block;
}

.archive-plan-meta {
  padding: 1rem 1.25rem;
}

.archive-plan-title {
  color: #1e3a2f;
  margin: 0 0 .35rem;
  font-size: 1rem;
  font-weight: 700;
}

.archive-plan-desc {
  color: #475569;
  margin: 0;
  font-size: .82rem;
  line-height: 1.48;
}

.archive-timeline {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.timeline-milestone {
  background: #fff;
  border-left: 4px solid #1e3a2f;
  border-radius: .65rem;
  align-items: flex-start;
  gap: 1rem;
  padding: .85rem 1rem;
  display: flex;
  box-shadow: 0 2px 8px #0000000a;
}

.timeline-year {
  color: #d97706;
  flex-shrink: 0;
  min-width: 50px;
  font-size: 1.1rem;
  font-weight: 800;
}

.timeline-body strong {
  color: #1e3a2f;
  margin-bottom: .2rem;
  font-size: .9rem;
  display: block;
}

.timeline-body p {
  color: #475569;
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
}

.poi-ar-badge {
  color: #92400e;
  text-transform: none;
  vertical-align: middle;
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: 9999px;
  margin-left: .5rem;
  padding: .15rem .55rem;
  font-size: .72rem;
  font-weight: 700;
  display: inline-block;
}

.model-audio-ticker-bar {
  background: linear-gradient(135deg, #0f281e 0%, #17382b 100%);
  border: 1px solid #fbbf2440;
  border-radius: 1rem;
  margin: 1rem 0;
  transition: all .3s cubic-bezier(.32, .72, 0, 1);
  overflow: hidden;
  box-shadow: 0 10px 30px #0f281e40;
}

.model-audio-ticker-bar.is-active {
  border-color: #fbbf2499;
  box-shadow: 0 12px 36px #d9770633;
}

.audio-ticker-main {
  align-items: center;
  gap: 1rem;
  padding: .9rem 1.25rem;
  display: flex;
}

.audio-ticker-play-btn {
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, #d97706, #b45309);
  border: none;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 1.1rem;
  transition: transform .2s cubic-bezier(.32, .72, 0, 1), box-shadow .2s;
  display: flex;
  box-shadow: 0 4px 12px #d9770659;
}

.audio-ticker-play-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 16px #d9770680;
}

.audio-ticker-play-btn.is-playing {
  background: linear-gradient(135deg, #059669, #047857);
  box-shadow: 0 4px 12px #05966966;
}

.audio-wave-visualizer {
  flex-shrink: 0;
  align-items: center;
  gap: 3px;
  height: 24px;
  padding: 0 .25rem;
  display: flex;
}

.wave-bar {
  background: #fbbf24;
  border-radius: 2px;
  width: 3px;
  height: 6px;
  transition: height .2s;
}

.audio-wave-visualizer.is-animating .wave-bar {
  animation: 1.1s ease-in-out infinite alternate waveDance;
}

.wave-bar.bar-1 {
  height: 8px;
  animation-delay: .1s;
}

.wave-bar.bar-2 {
  height: 18px;
  animation-delay: .3s;
}

.wave-bar.bar-3 {
  height: 12px;
  animation-delay: .2s;
}

.wave-bar.bar-4 {
  height: 15px;
  animation-delay: .4s;
}

@keyframes waveDance {
  0% {
    opacity: .5;
    height: 4px;
  }

  50% {
    opacity: 1;
    height: 22px;
  }

  100% {
    opacity: .8;
    height: 10px;
  }
}

.audio-ticker-content {
  flex-direction: column;
  flex: 1;
  gap: .2rem;
  min-width: 0;
  display: flex;
}

.audio-ticker-header-line {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.audio-ticker-tag {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #fbbf24;
  background: #fbbf2433;
  border-radius: 4px;
  padding: .1rem .45rem;
  font-size: .68rem;
  font-weight: 700;
}

.audio-ticker-title {
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
}

.audio-ticker-text {
  color: #cbd5e1;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0;
  font-size: .8rem;
  line-height: 1.4;
  overflow: hidden;
}

.audio-transcript-toggle-btn {
  color: #fbbf24;
  cursor: pointer;
  white-space: nowrap;
  background: #ffffff1a;
  border: 1px solid #fbbf244d;
  border-radius: 9999px;
  flex-shrink: 0;
  padding: .35rem .75rem;
  font-size: .75rem;
  font-weight: 600;
  transition: all .2s;
}

.audio-transcript-toggle-btn:hover {
  background: #fbbf2433;
  border-color: #fbbf24;
}

.audio-full-transcript-panel {
  background: #00000040;
  border-top: 1px solid #ffffff14;
  padding: 1rem 1.25rem;
  animation: .25s ease-out slideDownFade;
}

.full-transcript-body {
  color: #e2e8f0;
  border-left: 3px solid #fbbf24;
  margin: 0;
  padding-left: .85rem;
  font-size: .88rem;
  font-style: italic;
  line-height: 1.6;
}

.audio-ticker-progress-bar {
  background: #ffffff1a;
  width: 100%;
  height: 4px;
}

.audio-ticker-progress-fill {
  background: linear-gradient(90deg, #d97706, #fbbf24);
  height: 100%;
  transition: width .2s linear;
}

.model-hotspots-chip-bar {
  scrollbar-width: none;
  align-items: center;
  gap: .6rem;
  padding: .75rem 0;
  display: flex;
  overflow-x: auto;
}

.model-hotspots-chip-bar::-webkit-scrollbar {
  display: none;
}

.hotspot-chip-btn {
  color: #1e3a2f;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: 1.5px solid #dcd5c7;
  border-radius: 9999px;
  align-items: center;
  gap: .45rem;
  padding: .45rem .9rem;
  font-size: .82rem;
  font-weight: 600;
  transition: all .2s cubic-bezier(.32, .72, 0, 1);
  display: inline-flex;
  box-shadow: 0 2px 6px #0000000a;
}

.hotspot-chip-btn:hover {
  color: #b45309;
  border-color: #d97706;
  transform: translateY(-1px);
}

.hotspot-chip-btn.is-selected {
  color: #fff;
  background: #0f281e;
  border-color: #0f281e;
  box-shadow: 0 4px 12px #0f281e40;
}

.hotspot-chip-btn.is-cue-playing {
  color: #92400e;
  background: #fdf5e6;
  border-color: #d97706;
}

.hotspot-chip-num {
  background: #00000014;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: .7rem;
  font-weight: 700;
  display: flex;
}

.hotspot-chip-btn.is-selected .hotspot-chip-num {
  color: #0f281e;
  background: #fbbf24;
}

.hotspot-chip-sound-badge {
  font-size: .85rem;
  animation: 1.5s ease-in-out infinite pulseDot;
}

.ar-modal-badge {
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #fbbf24;
  margin-bottom: .35rem;
  font-size: .7rem;
  font-weight: 700;
  display: inline-block;
}

.ar-modal-tabs {
  background: #f1ede4;
  border-bottom: 1px solid #e2d9c8;
  gap: .35rem;
  padding: .35rem;
  display: flex;
}

.ar-tab-btn {
  color: #475569;
  cursor: pointer;
  text-align: center;
  background: none;
  border: none;
  border-radius: .55rem;
  flex: 1;
  padding: .65rem .85rem;
  font-size: .82rem;
  font-weight: 700;
  transition: all .2s cubic-bezier(.32, .72, 0, 1);
}

.ar-tab-btn:hover {
  color: #0f281e;
}

.ar-tab-btn.is-active {
  color: #fff;
  background: #0f281e;
  box-shadow: 0 2px 8px #0000001f;
}

.ar-mobile-connect-grid {
  grid-template-columns: 240px 1fr;
  align-items: start;
  gap: 1.5rem;
  display: grid;
}

@media (max-width: 720px) {
  .ar-mobile-connect-grid {
    grid-template-columns: 1fr;
  }
}

.ar-qr-column {
  background: #faf8f4;
  border: 1px solid #e2d9c8;
  border-radius: .85rem;
  flex-direction: column;
  align-items: center;
  padding: 1.25rem;
  display: flex;
}

.ar-qr-frame {
  background: #fff;
  border-radius: .65rem;
  padding: .6rem;
  box-shadow: 0 4px 16px #00000014;
}

.ar-qr-hint {
  color: #64748b;
  text-align: center;
  margin-top: .65rem;
  font-size: .75rem;
  font-weight: 500;
}

.ar-details-column {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.ar-step-title {
  color: #0f281e;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}

.ar-step-desc {
  color: #475569;
  margin: 0;
  font-size: .86rem;
  line-height: 1.5;
}

.ar-action-btn {
  cursor: pointer;
  border: none;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  gap: .35rem;
  padding: .5rem 1rem;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
}

.ar-action-btn.primary {
  color: #fff;
  background: #0f281e;
}

.ar-action-btn.primary:hover {
  background: #1e4d3b;
}

.ar-action-btn.secondary {
  color: #0f281e;
  background: #f1ede4;
  border: 1px solid #d5cec0;
}

.ar-action-btn.secondary:hover {
  background: #e5ded2;
}

.ar-host-override-row {
  margin-top: .25rem;
}

.ar-text-toggle-btn {
  color: #b45309;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: underline;
}

.ar-quick-tip-card {
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fde68a;
  border-radius: .65rem;
  align-items: flex-start;
  gap: .65rem;
  padding: .75rem 1rem;
  font-size: .8rem;
  line-height: 1.45;
  display: flex;
}

.offline-feature-header {
  margin-bottom: 1.25rem;
}

.offline-tag {
  text-transform: uppercase;
  color: #d97706;
  background: #fef3c7;
  border-radius: 9999px;
  margin-bottom: .5rem;
  padding: .15rem .5rem;
  font-size: .7rem;
  font-weight: 700;
  display: inline-block;
}

.offline-feature-header h4 {
  color: #0f281e;
  margin: 0 0 .35rem;
  font-size: 1.15rem;
  font-weight: 700;
}

.offline-feature-header p {
  color: #475569;
  margin: 0;
  font-size: .88rem;
}

.offline-steps-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  display: grid;
}

@media (max-width: 720px) {
  .offline-steps-grid {
    grid-template-columns: 1fr;
  }
}

.offline-step-card {
  background: #faf8f4;
  border: 1px solid #e2d9c8;
  border-radius: .85rem;
  flex-direction: column;
  gap: .4rem;
  padding: 1.25rem 1rem;
  display: flex;
}

.step-badge {
  color: #fff;
  background: #0f281e;
  border-radius: 4px;
  align-self: flex-start;
  padding: .15rem .5rem;
  font-size: .65rem;
  font-weight: 800;
}

.offline-step-card h5 {
  color: #0f281e;
  margin: 0;
  font-size: .95rem;
  font-weight: 700;
}

.offline-step-card p {
  color: #64748b;
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
}

.ar-marker-pane-grid {
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 1.5rem;
  display: grid;
}

@media (max-width: 720px) {
  .ar-marker-pane-grid {
    grid-template-columns: 1fr;
  }
}

.ar-specs-list {
  color: #475569;
  flex-direction: column;
  gap: .5rem;
  margin: 0 0 1.25rem;
  padding: 0;
  font-size: .82rem;
  list-style: none;
  display: flex;
}

.ar-specs-list strong {
  color: #0f281e;
}

.ar-marker-action-group {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.passport-nav-btn {
  color: var(--gold-400);
  cursor: pointer;
  background: #c9a84c1f;
  border: 1px solid #c9a84c59;
  border-radius: 9999px;
  align-items: center;
  gap: .45rem;
  padding: .45rem 1rem;
  font-size: .85rem;
  font-weight: 700;
  transition: all .25s cubic-bezier(.32, .72, 0, 1);
  display: inline-flex;
  box-shadow: 0 4px 14px #c9a84c26;
}

.passport-nav-btn:hover {
  border-color: var(--gold-400);
  background: #c9a84c38;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px #c9a84c4d;
}

.passport-nav-icon {
  font-size: 1.05rem;
  line-height: 1;
}

.passport-nav-badge {
  color: #fff;
  background: #dc2626;
  border: 1px solid #fca5a5;
  border-radius: 9999px;
  margin-left: .15rem;
  padding: .1rem .42rem;
  font-size: .72rem;
  font-weight: 800;
  animation: 2s ease-in-out infinite pulseBadge;
}

@keyframes pulseBadge {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.1);
  }
}

.passport-floating-toast {
  color: #f8fafc;
  border: 1px solid var(--gold-400);
  z-index: 9999;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #0e1525f2;
  border-radius: 1.25rem;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  max-width: 380px;
  padding: 1rem 1.25rem;
  animation: .35s cubic-bezier(.32, .72, 0, 1) slideUpFade;
  display: flex;
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  box-shadow: 0 16px 40px #0009, 0 0 20px #c9a84c33;
}

.passport-floating-toast .toast-left {
  align-items: center;
  gap: .65rem;
  display: flex;
}

.passport-floating-toast .toast-icon {
  font-size: 1.5rem;
}

.passport-floating-toast strong {
  color: var(--gold-300);
  font-size: .92rem;
  display: block;
}

.passport-floating-toast p {
  color: var(--slate-text);
  margin: 0;
  font-size: .8rem;
}

.passport-floating-toast .toast-actions {
  align-items: center;
  gap: .4rem;
  display: flex;
}

.passport-floating-toast .toast-open-btn {
  background: linear-gradient(135deg, var(--gold-500) 0%, var(--gold-600) 100%);
  color: #070a12;
  cursor: pointer;
  white-space: nowrap;
  border: none;
  border-radius: 9999px;
  padding: .4rem .85rem;
  font-size: .78rem;
  font-weight: 750;
}

.passport-floating-toast .toast-close-btn {
  color: var(--slate-text);
  cursor: pointer;
  background: none;
  border: none;
  font-size: 1rem;
}

.passport-overlay {
  -webkit-backdrop-filter: blur(16px);
  z-index: 10000;
  background: #0f172a99;
  justify-content: center;
  align-items: center;
  padding: 1.25rem;
  animation: .25s ease-out fadeIn;
  display: flex;
  position: fixed;
  inset: 0;
}

.passport-booklet-modal {
  border: 1px solid var(--border-subtle);
  width: 100%;
  max-width: 840px;
  max-height: 92vh;
  color: var(--text-main);
  background: #fff;
  border-radius: 1.5rem;
  flex-direction: column;
  animation: .3s cubic-bezier(.32, .72, 0, 1) scaleUpModal;
  display: flex;
  overflow: hidden;
  box-shadow: 0 25px 70px #0f172a40, 0 4px 16px #0f172a14;
}

.passport-header {
  color: var(--text-heading);
  border-bottom: 1px solid var(--border-subtle);
  background: linear-gradient(135deg, #f8fafc 0%, #fff 100%);
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.4rem 1.75rem;
  display: flex;
}

.passport-header-content {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.passport-emblem {
  background: var(--brand-primary-light);
  border: 1px solid var(--brand-primary-light);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 54px;
  font-size: 2.2rem;
  display: flex;
  box-shadow: 0 4px 14px #0284c733;
}

.passport-kicker {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--brand-primary);
  margin: 0 0 .2rem;
  font-size: .72rem;
  font-weight: 800;
}

.passport-header h2 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0 0 .25rem;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.25;
}

.passport-privacy-badge {
  color: #059669;
  margin: 0;
  font-size: .76rem;
  font-weight: 600;
}

.passport-close-btn {
  color: var(--text-muted);
  cursor: pointer;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-size: 1.1rem;
  transition: all .2s;
  display: flex;
}

.passport-close-btn:hover {
  color: var(--text-main);
  background: #e2e8f0;
  transform: rotate(90deg);
}

.passport-stats-strip {
  border-bottom: 1px solid var(--border-subtle);
  background: #f8fafc;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  padding: 1.1rem 1.75rem;
  display: grid;
}

.passport-stat-box {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.passport-stat-box .stat-label {
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
  font-size: .74rem;
  font-weight: 800;
}

.passport-stat-box .stat-value {
  color: var(--text-heading);
  font-size: 1.35rem;
  font-weight: 800;
  font-family: var(--font-sans, var(--font-sans-fallback));
}

.passport-progress-wrapper {
  background: #e2e8f0;
  border-radius: 9999px;
  width: 100%;
  height: 8px;
  margin-top: .3rem;
  overflow: hidden;
}

.passport-progress-fill {
  background: linear-gradient(90deg, var(--brand-primary), #38bdf8);
  border-radius: 9999px;
  height: 100%;
  transition: width .4s ease-out;
}

.passport-tabs-nav {
  border-bottom: 1px solid var(--border-subtle);
  background: #f1f5f9;
  gap: .5rem;
  padding: .4rem 1.75rem 0;
  display: flex;
}

.passport-tab-btn {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .6rem .6rem 0 0;
  padding: .65rem 1.1rem;
  font-size: .86rem;
  font-weight: 700;
  transition: all .2s;
}

.passport-tab-btn.is-active {
  color: var(--brand-primary);
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-bottom: 1px solid #0000;
  margin-bottom: -1px;
}

.passport-tab-content {
  background: #fff;
  flex: 1;
  padding: 1.5rem 1.75rem;
  overflow-y: auto;
}

.passport-stamps-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.25rem;
  display: grid;
}

.passport-stamp-card {
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 1.15rem;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.25rem;
  transition: all .25s;
  display: flex;
  box-shadow: 0 2px 8px #0f172a0a;
}

.passport-stamp-card.is-earned {
  border-color: var(--brand-primary-light);
  background: #fff;
  box-shadow: 0 6px 20px #0284c71a;
}

.passport-stamp-card.is-locked {
  opacity: .85;
  background: #f8fafc;
  border-style: dashed;
  border-color: #e2e8f0;
}

.stamp-wax-seal {
  color: #fff;
  background: radial-gradient(circle, #b91c1c 0%, #7f1d1d 100%);
  border: 3px solid #fde68a;
  border-radius: 50%;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  display: flex;
  position: relative;
  box-shadow: 0 4px 14px #b91c1c66;
}

.stamp-wax-seal.is-placeholder {
  color: var(--text-muted);
  box-shadow: none;
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.stamp-wax-seal .seal-icon {
  font-size: 1.4rem;
  line-height: 1;
}

.stamp-wax-seal .seal-rarity {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fef3c7;
  margin-top: 2px;
  font-size: .55rem;
  font-weight: 800;
}

.stamp-card-details {
  flex: 1;
}

.stamp-card-details h4 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0 0 .25rem;
  font-size: 1.05rem;
  font-weight: 750;
}

.stamp-site-poi {
  color: var(--brand-primary);
  margin: 0 0 .35rem;
  font-size: .78rem;
  font-weight: 700;
}

.stamp-desc, .stamp-clue {
  color: var(--text-body);
  margin: 0 0 .6rem;
  font-size: .82rem;
  line-height: 1.5;
}

.stamp-footer {
  color: var(--text-muted);
  justify-content: space-between;
  align-items: center;
  font-size: .75rem;
  display: flex;
}

.stamp-signed-badge {
  color: #059669;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 9999px;
  padding: .2rem .6rem;
  font-weight: 700;
}

.passport-manual-code-pane {
  border: 1px solid var(--border-subtle);
  max-width: 560px;
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.25rem;
  margin: 0 auto;
  padding: 1.85rem;
}

.passport-manual-code-pane h3 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0 0 .5rem;
  font-weight: 800;
}

.manual-pane-desc {
  color: var(--text-body);
  margin-bottom: 1.25rem;
  font-size: .88rem;
  line-height: 1.6;
}

.passport-manual-form {
  gap: .75rem;
  display: flex;
}

.passport-code-input {
  color: var(--text-heading);
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #f8fafc;
  border: 1.5px solid #cbd5e1;
  border-radius: .75rem;
  flex: 1;
  padding: .75rem 1rem;
  font-family: monospace;
  font-size: 1.1rem;
  font-weight: 700;
  transition: all .2s;
}

.passport-code-input:focus {
  border-color: var(--brand-primary);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px #0284c733;
}

.passport-submit-code-btn {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: .75rem;
  padding: .75rem 1.5rem;
  font-size: .9rem;
  font-weight: 750;
  transition: all .2s;
  box-shadow: 0 2px 8px #0284c74d;
}

.passport-submit-code-btn:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  transform: translateY(-1px);
}

.manual-feedback-box {
  background: var(--brand-primary-subtle);
  border: 1px solid var(--brand-primary-light);
  color: var(--brand-primary-hover);
  border-radius: .6rem;
  margin-top: 1rem;
  padding: .75rem 1rem;
  font-size: .86rem;
  font-weight: 600;
}

.passport-share-pane {
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
}

.passport-share-pane h3 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0 0 .5rem;
  font-weight: 800;
}

.share-preview-card {
  color: var(--text-main);
  border: 1px solid var(--border-subtle);
  text-align: center;
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.25rem;
  margin: 1.25rem 0;
  padding: 1.6rem;
}

.share-preview-header {
  color: var(--brand-primary);
  margin-bottom: .5rem;
  font-size: 1.15rem;
  font-weight: 800;
}

.share-preview-stats {
  color: var(--text-body);
  justify-content: space-around;
  margin-bottom: 1rem;
  font-size: .88rem;
  display: flex;
}

.share-preview-stamp-list {
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  display: flex;
}

.mini-stamp-badge {
  background: var(--brand-primary-subtle);
  border: 1px solid var(--brand-primary-light);
  color: var(--brand-primary);
  border-radius: 9999px;
  padding: .35rem .75rem;
  font-size: .8rem;
  font-weight: 700;
}

.passport-download-card-btn {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 9999px;
  padding: .85rem 2rem;
  font-size: .95rem;
  font-weight: 750;
  transition: all .2s;
  box-shadow: 0 4px 16px #0284c759;
}

.passport-download-card-btn:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px #0284c773;
}

.passport-footer-actions {
  border-top: 1px solid var(--border-subtle);
  background: #f8fafc;
  justify-content: space-between;
  align-items: center;
  padding: 1.1rem 1.75rem;
  display: flex;
}

.passport-reset-init-btn {
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: 1px solid #cbd5e1;
  border-radius: .5rem;
  padding: .45rem .85rem;
  font-size: .8rem;
  font-weight: 600;
  transition: all .2s;
}

.passport-reset-init-btn:hover {
  color: #ef4444;
  background: #fef2f2;
  border-color: #ef4444;
}

.passport-confirm-reset-box {
  color: #ef4444;
  align-items: center;
  gap: .5rem;
  font-size: .8rem;
  font-weight: 600;
  display: flex;
}

.confirm-btn {
  cursor: pointer;
  border: none;
  border-radius: .4rem;
  padding: .35rem .65rem;
  font-size: .75rem;
  font-weight: 700;
}

.confirm-btn.danger {
  color: #fff;
  background: #dc2626;
}

.confirm-btn.cancel {
  color: var(--text-main);
  background: #e2e8f0;
}

.passport-done-btn {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 9999px;
  padding: .65rem 1.5rem;
  font-size: .88rem;
  font-weight: 750;
  transition: all .2s;
  box-shadow: 0 2px 8px #0284c74d;
}

.passport-done-btn:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  background: linear-gradient(135deg, var(--gold-300) 0%, var(--gold-500) 100%);
  transform: translateY(-1px);
}

.destination-hub-shell {
  max-width: 78rem;
  margin-inline: auto;
}

.hub-hero {
  max-width: 58rem;
  padding-block: 3.5rem 2.5rem;
}

.hub-title {
  font-family: var(--font-sans, var(--font-sans-fallback));
  letter-spacing: -.02em;
  color: var(--text-heading);
  margin-top: .75rem;
  margin-bottom: 1.5rem;
  font-size: clamp(2.4rem, 5.5vw, 4.2rem);
  font-weight: 800;
  line-height: 1.15;
}

.hub-passport-banner {
  border: 1px solid var(--gold-border);
  border-left: 5px solid var(--brand-gold);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.35rem;
  margin-top: 2.5rem;
  padding: 1.5rem 1.75rem;
}

.hub-passport-badge {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--gold-400);
  align-items: center;
  gap: .6rem;
  margin-bottom: .5rem;
  font-size: .85rem;
  font-weight: 800;
  display: inline-flex;
}

.passport-star {
  filter: drop-shadow(0 0 6px #d9770666);
  font-size: 1.1rem;
}

.hub-passport-text {
  color: var(--text-body);
  margin: 0;
  font-size: .95rem;
  line-height: 1.65;
}

.hub-sites-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 2.25rem;
  margin-top: 2.5rem;
  margin-bottom: 4.5rem;
  display: grid;
}

.hub-site-card {
  border: 1px solid var(--border-subtle);
  box-shadow: var(--card-shadow);
  background: #fff;
  border-radius: 1.5rem;
  flex-direction: column;
  transition: all .35s cubic-bezier(.32, .72, 0, 1);
  display: flex;
  overflow: hidden;
}

.hub-site-card:hover {
  box-shadow: var(--card-shadow-hover);
  border-color: var(--brand-primary-light);
  transform: translateY(-6px);
}

.hub-site-card-media {
  border-bottom: 1px solid var(--border-subtle);
  width: 100%;
  height: 220px;
  position: relative;
  overflow: hidden;
}

.hub-site-card-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .6s cubic-bezier(.32, .72, 0, 1);
}

.hub-site-card:hover .hub-site-card-img {
  transform: scale(1.05);
}

.hub-site-card-header {
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 1.5rem .5rem;
  display: flex;
}

.hub-site-icon-wrapper {
  background: var(--brand-primary-light);
  border: 1px solid var(--brand-primary-light);
  width: 3.2rem;
  height: 3.2rem;
  color: var(--brand-primary);
  border-radius: .9rem;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  font-size: 1.75rem;
  display: flex;
}

.hub-site-header-text {
  flex: 1;
}

.hub-site-badge {
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #92400e;
  background: var(--gold-subtle);
  border: 1px solid var(--gold-border);
  border-radius: 9999px;
  margin-bottom: .35rem;
  padding: .2rem .65rem;
  font-size: .72rem;
  font-weight: 800;
  display: inline-block;
}

.hub-site-title {
  font-family: var(--font-sans, var(--font-sans-fallback));
  margin: 0 0 .35rem;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}

.hub-site-title a {
  color: var(--text-heading);
  text-decoration: none;
  transition: color .2s;
}

.hub-site-title a:hover {
  color: var(--brand-primary);
}

.hub-site-address {
  color: var(--text-muted);
  font-size: .82rem;
  font-style: normal;
  line-height: 1.4;
}

.hub-site-description {
  color: var(--text-body);
  margin: .5rem 0 1.25rem;
  padding: 0 1.5rem;
  font-size: .92rem;
  line-height: 1.65;
}

.hub-site-highlights {
  border: 1px solid var(--border-subtle);
  background: #f8fafc;
  border-radius: .85rem;
  margin: 0 1.5rem 1.25rem;
  padding: .85rem 1rem;
}

.hub-highlights-label {
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--brand-gold);
  margin-bottom: .4rem;
  font-size: .74rem;
  font-weight: 800;
  display: block;
}

.hub-highlights-list {
  grid-template-columns: 1fr;
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hub-highlight-tag {
  color: var(--text-body);
  font-size: .84rem;
  font-weight: 500;
}

.hub-site-features {
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
  padding: 0 1.5rem;
  display: flex;
}

.hub-feature-pill {
  color: var(--text-body);
  border: 1px solid var(--border-subtle);
  background: #f1f5f9;
  border-radius: 9999px;
  padding: .35rem .75rem;
  font-size: .76rem;
  font-weight: 600;
}

.hub-site-card-footer {
  margin-top: auto;
  padding: 0 1.5rem 1.5rem;
}

.hub-site-cta {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  border-radius: 9999px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: .85rem 1.4rem;
  font-size: .92rem;
  font-weight: 750;
  text-decoration: none;
  transition: all .25s cubic-bezier(.32, .72, 0, 1);
  display: flex;
  box-shadow: 0 4px 14px #0284c74d;
}

.hub-site-cta:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #0284c773;
}

.hub-site-cta span:last-child {
  color: #fff;
  background: #fff3;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 1rem;
  transition: transform .2s;
  display: inline-flex;
}

.hub-site-cta:hover span:last-child {
  transform: translateX(4px);
}

.wayfinding-card {
  border: 1px solid var(--border-subtle);
  width: min(100%, 78rem);
  box-shadow: var(--card-shadow);
  color: var(--text-main);
  background: #fff;
  border-radius: 1.75rem;
  margin: 2.5rem auto 3rem;
  padding: clamp(1.75rem, 4vw, 2.75rem);
  scroll-margin-top: 6rem;
}

.wayfinding-card-header {
  margin-bottom: 2rem;
}

.wayfinding-header-top {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
  display: flex;
}

.wayfinding-designation-badge {
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid;
  border-radius: 9999px;
  align-items: center;
  gap: .4rem;
  padding: .35rem .85rem;
  font-size: .78rem;
  font-weight: 800;
  display: inline-flex;
}

.wayfinding-meta-tags {
  align-items: center;
  gap: .6rem;
  display: flex;
}

.wayfinding-dist-tag, .wayfinding-time-tag {
  border: 1px solid var(--border-subtle);
  color: var(--text-body);
  background: #f1f5f9;
  border-radius: 9999px;
  align-items: center;
  padding: .3rem .75rem;
  font-size: .78rem;
  font-weight: 700;
  display: inline-flex;
}

.wayfinding-title {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: .25rem 0 .5rem;
  font-size: clamp(1.5rem, 3.2vw, 2.2rem);
  font-weight: 800;
  line-height: 1.25;
}

.wayfinding-subtitle {
  color: var(--text-muted);
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
}

.wayfinding-content-grid {
  grid-template-columns: 1fr 1.15fr;
  align-items: start;
  gap: 2.5rem;
  display: grid;
}

@media (max-width: 880px) {
  .wayfinding-content-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

.wayfinding-media-frame {
  border: 1px solid var(--border-subtle);
  border-radius: 1.25rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px -4px #0f172a14;
}

.wayfinding-photo {
  object-fit: cover;
  width: 100%;
  height: 280px;
  display: block;
}

.wayfinding-photo-caption {
  color: #fff;
  background: linear-gradient(#0000 0%, #0f172ae0 100%);
  justify-content: space-between;
  align-items: center;
  padding: .85rem 1.15rem;
  font-size: .85rem;
  font-weight: 600;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.wayfinding-photo-live-badge {
  color: #a7f3d0;
  background: #10b98140;
  border: 1px solid #10b98180;
  border-radius: 9999px;
  padding: .2rem .6rem;
  font-size: .72rem;
  font-weight: 700;
}

.wayfinding-route-flow {
  flex-direction: column;
  gap: 1.25rem;
  display: flex;
}

.wayfinding-flow-header {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.wayfinding-flow-header h3 {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0;
  font-size: 1.15rem;
  font-weight: 750;
}

.wayfinding-toggle-btn {
  color: var(--brand-primary);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: .5rem;
  padding: .25rem .5rem;
  font-size: .82rem;
  font-weight: 700;
  transition: background .2s;
}

.wayfinding-toggle-btn:hover {
  background: var(--brand-primary-subtle);
}

.wayfinding-steps-list {
  flex-direction: column;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  position: relative;
}

.wayfinding-steps-list:before {
  content: "";
  background: #e2e8f0;
  width: 2px;
  position: absolute;
  top: 1.25rem;
  bottom: 1.25rem;
  left: 1.15rem;
}

.wayfinding-step-item {
  align-items: flex-start;
  gap: 1.15rem;
  display: flex;
  position: relative;
}

.step-number-bubble {
  background: var(--brand-primary);
  color: #fff;
  z-index: 2;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2.3rem;
  height: 2.3rem;
  font-size: .9rem;
  font-weight: 800;
  display: flex;
  box-shadow: 0 2px 8px #0284c759;
}

.step-text {
  border: 1px solid var(--border-subtle);
  background: #f8fafc;
  border-radius: .95rem;
  flex: 1;
  padding: .85rem 1.15rem;
}

.step-text p {
  color: var(--text-body);
  margin: 0;
  font-size: .92rem;
  line-height: 1.55;
}

.wayfinding-actions-bar {
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: .5rem;
  display: flex;
}

.wayfinding-ar-btn {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-hover) 100%);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 9999px;
  align-items: center;
  gap: .6rem;
  padding: .85rem 1.5rem;
  font-size: .92rem;
  font-weight: 750;
  transition: all .25s cubic-bezier(.32, .72, 0, 1);
  display: inline-flex;
  box-shadow: 0 4px 14px #0284c759;
}

.wayfinding-ar-btn:hover {
  background: linear-gradient(135deg, var(--brand-primary-hover) 0%, #075985 100%);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px #0284c773;
}

.wayfinding-qr-btn {
  color: var(--text-main);
  cursor: pointer;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 9999px;
  align-items: center;
  gap: .6rem;
  padding: .85rem 1.4rem;
  font-size: .9rem;
  font-weight: 700;
  transition: all .2s;
  display: inline-flex;
}

.wayfinding-qr-btn:hover {
  border-color: var(--brand-primary);
  color: var(--brand-primary);
  background: #f8fafc;
  transform: translateY(-2px);
}

.wayfinding-modal-overlay {
  z-index: 1000;
  -webkit-backdrop-filter: blur(16px);
  background: #0f172aa6;
  justify-content: center;
  align-items: center;
  padding: 1.25rem;
  animation: .25s ease-out fadeInModal;
  display: flex;
  position: fixed;
  inset: 0;
}

@keyframes fadeInModal {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.wayfinding-modal-card {
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 1.75rem;
  width: min(100%, 34rem);
  padding: clamp(1.75rem, 5vw, 2.5rem);
  animation: .3s cubic-bezier(.32, .72, 0, 1) scaleUpModal;
  position: relative;
  box-shadow: 0 24px 64px -12px #0f172a40;
}

@keyframes scaleUpModal {
  from {
    opacity: 0;
    transform: scale(.95)translateY(10px);
  }

  to {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

.wayfinding-modal-close-btn {
  width: 2.2rem;
  height: 2.2rem;
  color: var(--text-muted);
  cursor: pointer;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-size: .95rem;
  transition: all .2s;
  display: flex;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
}

.wayfinding-modal-close-btn:hover {
  color: var(--text-main);
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.wayfinding-modal-header {
  text-align: center;
  margin-bottom: 1.75rem;
}

.wayfinding-modal-badge {
  background: var(--brand-primary-light);
  color: var(--brand-primary);
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 9999px;
  margin-bottom: .65rem;
  padding: .3rem .8rem;
  font-size: .76rem;
  font-weight: 800;
  display: inline-block;
}

.wayfinding-modal-title {
  font-family: var(--font-sans, var(--font-sans-fallback));
  color: var(--text-heading);
  margin: 0 0 .5rem;
  font-size: 1.45rem;
  font-weight: 800;
}

.wayfinding-modal-desc {
  color: var(--text-body);
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
}

.wayfinding-modal-body {
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.wayfinding-qr-box {
  border: 1px solid var(--border-subtle);
  background: #f8fafc;
  border-radius: 1.25rem;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  padding: 1.25rem;
  display: flex;
}

.wayfinding-qr-image {
  border-radius: .75rem;
  box-shadow: 0 4px 12px #0f172a14;
}

.wayfinding-qr-skeleton {
  width: 240px;
  height: 240px;
  color: var(--text-muted);
  justify-content: center;
  align-items: center;
  font-size: .85rem;
  display: flex;
}

.wayfinding-short-code-tag {
  color: var(--text-muted);
  font-size: .8rem;
  font-weight: 600;
}

.wayfinding-short-code-tag strong {
  color: var(--brand-primary);
  font-weight: 800;
}

.wayfinding-modal-actions {
  width: 100%;
}

.wayfinding-url-display {
  border: 1px solid var(--border-subtle);
  background: #f1f5f9;
  border-radius: .75rem;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.25rem;
  padding: .5rem .75rem;
  display: flex;
}

.wayfinding-url-display .url-text {
  color: var(--text-body);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: monospace;
  font-size: .8rem;
  overflow: hidden;
}

.wayfinding-copy-btn {
  color: var(--text-main);
  cursor: pointer;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: .5rem;
  flex-shrink: 0;
  padding: .35rem .75rem;
  font-size: .78rem;
  font-weight: 700;
}

.wayfinding-copy-btn:hover {
  border-color: var(--brand-primary);
  color: var(--brand-primary);
  background: #f8fafc;
}

.wayfinding-instruction-hints {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.hint-item {
  color: var(--text-body);
  align-items: center;
  gap: .65rem;
  font-size: .84rem;
  display: flex;
}

.wayfinding-modal-footer {
  width: 100%;
  margin-top: 1.5rem;
}

.wayfinding-direct-view-btn {
  background: var(--brand-primary-light);
  width: 100%;
  color: var(--brand-primary);
  border: 1px solid var(--brand-primary-light);
  cursor: pointer;
  border-radius: 9999px;
  padding: .85rem 1.25rem;
  font-size: .9rem;
  font-weight: 750;
  transition: all .2s;
}

.wayfinding-direct-view-btn:hover {
  background: var(--brand-primary);
  color: #fff;
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__1y7zxue._.css.map*/