/* node_modules/mapbox-gl/dist/mapbox-gl.css */
.mapboxgl-map {
  font:
    12px/20px Helvetica Neue,
    Arial,
    Helvetica,
    sans-serif;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: rgb(0 0 0/0);
}
.mapboxgl-canvas {
  left: 0;
  position: absolute;
  top: 0;
}
.mapboxgl-map:-webkit-full-screen {
  height: 100%;
  width: 100%;
}
.mapboxgl-canary {
  background-color: salmon;
}
.mapboxgl-canvas-container.mapboxgl-interactive,
.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass {
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}
.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer {
  cursor: pointer;
}
.mapboxgl-canvas-container.mapboxgl-interactive:active,
.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active {
  cursor: grabbing;
}
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas {
  touch-action: pan-x pan-y;
}
.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,
.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas {
  touch-action: pinch-zoom;
}
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,
.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas {
  touch-action: none;
}
.mapboxgl-ctrl-bottom,
.mapboxgl-ctrl-bottom-left,
.mapboxgl-ctrl-bottom-right,
.mapboxgl-ctrl-left,
.mapboxgl-ctrl-right,
.mapboxgl-ctrl-top,
.mapboxgl-ctrl-top-left,
.mapboxgl-ctrl-top-right {
  pointer-events: none;
  position: absolute;
  z-index: 2;
}
.mapboxgl-ctrl-top-left {
  left: 0;
  top: 0;
}
.mapboxgl-ctrl-top {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.mapboxgl-ctrl-top-right {
  right: 0;
  top: 0;
}
.mapboxgl-ctrl-right {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.mapboxgl-ctrl-bottom-right {
  bottom: 0;
  right: 0;
}
.mapboxgl-ctrl-bottom {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.mapboxgl-ctrl-bottom-left {
  bottom: 0;
  left: 0;
}
.mapboxgl-ctrl-left {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.mapboxgl-ctrl {
  clear: both;
  pointer-events: auto;
  transform: translate(0);
}
.mapboxgl-ctrl-top-left .mapboxgl-ctrl {
  float: left;
  margin: 10px 0 0 10px;
}
.mapboxgl-ctrl-top .mapboxgl-ctrl {
  float: left;
  margin: 10px 0;
}
.mapboxgl-ctrl-top-right .mapboxgl-ctrl {
  float: right;
  margin: 10px 10px 0 0;
}
.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,
.mapboxgl-ctrl-right .mapboxgl-ctrl {
  float: right;
  margin: 0 10px 10px 0;
}
.mapboxgl-ctrl-bottom .mapboxgl-ctrl {
  float: left;
  margin: 10px 0;
}
.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,
.mapboxgl-ctrl-left .mapboxgl-ctrl {
  float: left;
  margin: 0 0 10px 10px;
}
.mapboxgl-ctrl-group {
  background: #fff;
  border-radius: 4px;
}
.mapboxgl-ctrl-group:not(:empty) {
  box-shadow: 0 0 0 2px #0000001a;
}
@media (-ms-high-contrast:active) {
  .mapboxgl-ctrl-group:not(:empty) {
    box-shadow: 0 0 0 2px ButtonText;
  }
}
.mapboxgl-ctrl-group button {
  background-color: initial;
  border: 0;
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 29px;
  outline: none;
  overflow: hidden;
  padding: 0;
  width: 29px;
}
.mapboxgl-ctrl-group button + button {
  border-top: 1px solid #ddd;
}
.mapboxgl-ctrl button .mapboxgl-ctrl-icon {
  background-position: 50%;
  background-repeat: no-repeat;
  display: block;
  height: 100%;
  width: 100%;
}
@media (-ms-high-contrast:active) {
  .mapboxgl-ctrl-icon {
    background-color: initial;
  }
  .mapboxgl-ctrl-group button + button {
    border-top: 1px solid ButtonText;
  }
}
.mapboxgl-ctrl-attrib-button:focus,
.mapboxgl-ctrl-group button:focus {
  box-shadow: 0 0 2px 2px #0096ff;
}
.mapboxgl-ctrl button:disabled {
  cursor: not-allowed;
}
.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon {
  opacity: .25;
}
.mapboxgl-ctrl-group button:first-child {
  border-radius: 4px 4px 0 0;
}
.mapboxgl-ctrl-group button:last-child {
  border-radius: 0 0 4px 4px;
}
.mapboxgl-ctrl-group button:only-child {
  border-radius: inherit;
}
.mapboxgl-ctrl button:not(:disabled):hover {
  background-color: #0000000d;
}
.mapboxgl-ctrl-group button:focus:focus-visible {
  box-shadow: 0 0 2px 2px #0096ff;
}
.mapboxgl-ctrl-group button:focus:not(:focus-visible) {
  box-shadow: none;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
}
@media (-ms-high-contrast:active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast:black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
}
@media (-ms-high-contrast:active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast:black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E");
}
@media (-ms-high-contrast:active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast:black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");
  background-size: 26px 26px;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon {
  filter: invert(1) brightness(1);
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon {
  animation: mapboxgl-spin 2s linear infinite;
}
@media (-ms-high-contrast:active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast:black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E");
  }
}
@keyframes mapboxgl-spin {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(1turn);
  }
}
a.mapboxgl-ctrl-logo {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  cursor: pointer;
  display: block;
  height: 23px;
  margin: 0 0 -4px -4px;
  overflow: hidden;
  width: 88px;
}
a.mapboxgl-ctrl-logo.mapboxgl-compact {
  width: 23px;
}
@media (-ms-high-contrast:active) {
  a.mapboxgl-ctrl-logo {
    background-color: initial;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast:black-on-white) {
  a.mapboxgl-ctrl-logo {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
  background-color: #ffffff80;
  margin: 0;
  padding: 0 5px;
}
@media screen {
  .mapboxgl-ctrl-attrib.mapboxgl-compact {
    background-color: #fff;
    border-radius: 12px;
    box-sizing: initial;
    margin: 10px;
    min-height: 20px;
    padding: 2px 24px 2px 0;
    position: relative;
  }
  .mapboxgl-ctrl-attrib.mapboxgl-compact-show {
    padding: 2px 28px 2px 8px;
    visibility: visible;
  }
  .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show,
  .mapboxgl-ctrl-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show,
  .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show {
    border-radius: 12px;
    padding: 2px 8px 2px 28px;
  }
  .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner {
    display: none;
  }
  .mapboxgl-ctrl-attrib-button {
    background-color: #ffffff80;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");
    border: 0;
    border-radius: 12px;
    box-sizing: border-box;
    cursor: pointer;
    display: none;
    height: 24px;
    outline: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 24px;
  }
  .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,
  .mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,
  .mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button {
    left: 0;
  }
  .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,
  .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner {
    display: block;
  }
  .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button {
    background-color: #0000000d;
  }
  .mapboxgl-ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    bottom: 0;
    right: 0;
  }
  .mapboxgl-ctrl-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    right: 0;
  }
  .mapboxgl-ctrl-top-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    right: 0;
    top: 0;
  }
  .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    left: 0;
    top: 0;
  }
  .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    bottom: 0;
    left: 0;
  }
  .mapboxgl-ctrl-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    left: 0;
  }
}
@media screen and (-ms-high-contrast:active) {
  .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");
  }
}
@media screen and (-ms-high-contrast:black-on-white) {
  .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl-attrib a {
  color: #000000bf;
  text-decoration: none;
}
.mapboxgl-ctrl-attrib a:hover {
  color: inherit;
  text-decoration: underline;
}
.mapboxgl-ctrl-attrib .mapbox-improve-map {
  font-weight: 700;
  margin-left: 2px;
}
.mapboxgl-attrib-empty {
  display: none;
}
.mapboxgl-ctrl-scale {
  background-color: #ffffffbf;
  border: 2px solid #333;
  border-top: #333;
  box-sizing: border-box;
  color: #333;
  font-size: 10px;
  padding: 0 5px;
  white-space: nowrap;
}
.mapboxgl-popup {
  display: flex;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  will-change: transform;
}
.mapboxgl-popup-anchor-top,
.mapboxgl-popup-anchor-top-left,
.mapboxgl-popup-anchor-top-right {
  flex-direction: column;
}
.mapboxgl-popup-anchor-bottom,
.mapboxgl-popup-anchor-bottom-left,
.mapboxgl-popup-anchor-bottom-right {
  flex-direction: column-reverse;
}
.mapboxgl-popup-anchor-left {
  flex-direction: row;
}
.mapboxgl-popup-anchor-right {
  flex-direction: row-reverse;
}
.mapboxgl-popup-tip {
  border: 10px solid #0000;
  height: 0;
  width: 0;
  z-index: 1;
}
.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
  align-self: center;
  border-bottom-color: #fff;
  border-top: none;
}
.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {
  align-self: flex-start;
  border-bottom-color: #fff;
  border-left: none;
  border-top: none;
}
.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip {
  align-self: flex-end;
  border-bottom-color: #fff;
  border-right: none;
  border-top: none;
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  align-self: center;
  border-bottom: none;
  border-top-color: #fff;
}
.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {
  align-self: flex-start;
  border-bottom: none;
  border-left: none;
  border-top-color: #fff;
}
.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip {
  align-self: flex-end;
  border-bottom: none;
  border-right: none;
  border-top-color: #fff;
}
.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  align-self: center;
  border-left: none;
  border-right-color: #fff;
}
.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  align-self: center;
  border-left-color: #fff;
  border-right: none;
}
.mapboxgl-popup-close-button {
  background-color: initial;
  border: 0;
  border-radius: 0 3px 0 0;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
}
.mapboxgl-popup-close-button:hover {
  background-color: #0000000d;
}
.mapboxgl-popup-content {
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 2px #0000001a;
  padding: 10px 10px 15px;
  pointer-events: auto;
  position: relative;
}
.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content {
  border-top-left-radius: 0;
}
.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content {
  border-top-right-radius: 0;
}
.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content {
  border-bottom-left-radius: 0;
}
.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content {
  border-bottom-right-radius: 0;
}
.mapboxgl-popup-track-pointer {
  display: none;
}
.mapboxgl-popup-track-pointer * {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}
.mapboxgl-map:hover .mapboxgl-popup-track-pointer {
  display: flex;
}
.mapboxgl-map:active .mapboxgl-popup-track-pointer {
  display: none;
}
.mapboxgl-marker {
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  transition: opacity .2s;
  will-change: transform;
}
.mapboxgl-user-location-dot,
.mapboxgl-user-location-dot:before {
  background-color: #1da1f2;
  border-radius: 50%;
  height: 15px;
  width: 15px;
}
.mapboxgl-user-location-dot:before {
  animation: mapboxgl-user-location-dot-pulse 2s infinite;
  content: "";
  position: absolute;
}
.mapboxgl-user-location-dot:after {
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 3px #00000059;
  box-sizing: border-box;
  content: "";
  height: 19px;
  left: -2px;
  position: absolute;
  top: -2px;
  width: 19px;
}
.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading {
  height: 0;
  width: 0;
}
.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,
.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {
  border-bottom: 7.5px solid #4aa1eb;
  content: "";
  position: absolute;
}
.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {
  border-left: 7.5px solid #0000;
  transform: translateY(-28px) skewY(-20deg);
}
.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after {
  border-right: 7.5px solid #0000;
  transform: translate(7.5px, -28px) skewY(20deg);
}
@keyframes mapboxgl-user-location-dot-pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  70% {
    opacity: 0;
    transform: scale(3);
  }
  to {
    opacity: 0;
    transform: scale(1);
  }
}
.mapboxgl-user-location-dot-stale {
  background-color: #aaa;
}
.mapboxgl-user-location-dot-stale:after {
  display: none;
}
.mapboxgl-user-location-accuracy-circle {
  background-color: #1da1f233;
  border-radius: 100%;
  height: 1px;
  width: 1px;
}
.mapboxgl-crosshair,
.mapboxgl-crosshair .mapboxgl-interactive,
.mapboxgl-crosshair .mapboxgl-interactive:active {
  cursor: crosshair;
}
.mapboxgl-boxzoom {
  background: #fff;
  border: 2px dotted #202020;
  height: 0;
  left: 0;
  opacity: .5;
  position: absolute;
  top: 0;
  width: 0;
}
@media print {
  .mapbox-improve-map {
    display: none;
  }
}
.mapboxgl-scroll-zoom-blocker,
.mapboxgl-touch-pan-blocker {
  align-items: center;
  background: #000000b3;
  color: #fff;
  display: flex;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    Segoe UI,
    Helvetica,
    Arial,
    sans-serif;
  height: 100%;
  justify-content: center;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  text-align: center;
  top: 0;
  transition: opacity .75s ease-in-out;
  transition-delay: 1s;
  width: 100%;
}
.mapboxgl-scroll-zoom-blocker-show,
.mapboxgl-touch-pan-blocker-show {
  opacity: 1;
  transition: opacity .1s ease-in-out;
}
.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,
.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas {
  touch-action: pan-x pan-y;
}
.mapboxgl-ctrl-separator {
  background-color: #e0e0e0;
  height: 1px;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-level-button {
  color: #333;
  font-size: 18px;
  font-weight: 700;
  height: 50px;
  width: 50px;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover {
  background-color: #f5f5f5;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected {
  background-color: #4a5568;
  color: #fff;
}
.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover {
  background-color: #2d3748;
}

/* src/styles.scss */
:root {
  --app-density-scale: 1;
  --app-font-family:
    Roboto,
    Arial,
    sans-serif;
  --app-text: #0f172a;
  --app-text-soft: #334155;
  --app-muted: #64748b;
  --app-muted-2: #94a3b8;
  --app-white: #ffffff;
  --app-accent: #8b66de;
  --app-accent-2: #38bdf8;
  --app-success: #22c55e;
  --app-warning: #f59e0b;
  --app-danger: #be185d;
  --app-page-width: 1600px;
  --app-bg: #f4f7fb;
  --app-surface: rgba(255, 255, 255, 0.72);
  --app-surface-strong: rgba(255, 255, 255, 0.86);
  --app-surface-solid: #ffffff;
  --app-surface-muted: rgba(248, 250, 252, 0.9);
  --app-border: rgba(15, 23, 42, 0.1);
  --app-border-strong: rgba(15, 23, 42, 0.16);
  --app-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --app-shadow-md: 0 10px 30px rgba(15, 23, 42, 0.08);
  --app-shadow-lg: 0 20px 60px rgba(15, 23, 42, 0.08), 0 6px 16px rgba(15, 23, 42, 0.06);
  --app-radius-sm: 10px;
  --app-radius-md: 14px;
  --app-radius-lg: 22px;
  --app-radius-xl: 28px;
  --app-radius-pill: 999px;
  --app-radius-card: var(--app-radius-lg);
  --app-radius-input: var(--app-radius-md);
  --app-text-xs: calc(0.75rem * var(--app-density-scale));
  --app-text-sm: calc(0.84rem * var(--app-density-scale));
  --app-text-md: calc(0.92rem * var(--app-density-scale));
  --app-text-base: calc(1rem * var(--app-density-scale));
  --app-text-lg: calc(1.08rem * var(--app-density-scale));
  --app-text-xl: calc(1.25rem * var(--app-density-scale));
  --app-text-2xl: calc(1.5rem * var(--app-density-scale));
  --app-text-3xl: calc(2rem * var(--app-density-scale));
  --app-font-caption: var(--app-text-xs);
  --app-font-hint: var(--app-text-sm);
  --app-font-label: var(--app-text-md);
  --app-font-body: var(--app-text-base);
  --app-font-section-title: var(--app-text-lg);
  --app-font-page-title: var(--app-text-2xl);
  --app-weight-regular: 400;
  --app-weight-medium: 500;
  --app-weight-semibold: 600;
  --app-weight-bold: 700;
  --app-weight-extrabold: 800;
  --app-weight-black: 900;
  --app-line-tight: 1.25;
  --app-line-normal: 1.45;
  --app-line-relaxed: 1.6;
  --app-space-2xs: calc(0.25rem * var(--app-density-scale));
  --app-space-xs: calc(0.4rem * var(--app-density-scale));
  --app-space-sm: calc(0.5rem * var(--app-density-scale));
  --app-space-md: calc(0.75rem * var(--app-density-scale));
  --app-space-lg: calc(1rem * var(--app-density-scale));
  --app-space-xl: calc(1.5rem * var(--app-density-scale));
  --app-space-2xl: calc(2rem * var(--app-density-scale));
  --app-input-height: calc(46px * var(--app-density-scale));
  --app-textarea-min-height: calc(140px * var(--app-density-scale));
  --app-button-height: calc(42px * var(--app-density-scale));
  --app-button-height-sm: calc(34px * var(--app-density-scale));
  --app-button-padding-x: calc(1rem * var(--app-density-scale));
  --app-button-padding-x-sm: calc(0.75rem * var(--app-density-scale));
  --app-focus-border: rgba(139, 102, 222, 0.45);
  --app-focus-ring: rgba(139, 102, 222, 0.12);
  --app-error-border: rgba(244, 114, 182, 0.55);
  --app-error-ring: rgba(244, 114, 182, 0.08);
  --app-error-text: #be185d;
  --app-placeholder: rgba(71, 85, 105, 0.75);
  --app-accent-soft: rgba(139, 102, 222, 0.08);
  --app-accent-soft-strong: rgba(139, 102, 222, 0.14);
}
@media (max-width: 1920px) {
  :root {
    --app-density-scale: 0.92;
  }
}
@media (max-width: 1600px) {
  :root {
    --app-density-scale: 0.9;
  }
}
@media (max-width: 1400px) {
  :root {
    --app-density-scale: 0.88;
  }
}
@media (max-width: 1200px) {
  :root {
    --app-density-scale: 0.85;
  }
}
@media (max-width: 900px) {
  :root {
    --app-density-scale: 0.82;
  }
}
@media (max-width: 640px) {
  :root {
    --app-density-scale: 0.8;
  }
}
[data-density=compact] {
  --app-density-scale: 0.82;
}
[data-density=comfortable] {
  --app-density-scale: 1.05;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  height: 100%;
  font-size: 16px;
}
body {
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100vh;
  overflow: hidden;
  font-family: var(--app-font-family);
  font-size: var(--app-font-body);
  line-height: var(--app-line-normal);
  color: var(--app-text);
  background: var(--app-bg);
}
button,
input,
textarea,
select {
  font: inherit;
}
.route-shell {
  position: relative;
  min-height: 100%;
}
router-outlet + * {
  display: block;
  animation: pageEnter 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes pageEnter {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  router-outlet + * {
    animation: none !important;
  }
}
.form-section {
  min-width: 0;
}
.form-section + .form-section {
  margin-top: var(--app-space-xl);
  padding-top: var(--app-space-xl);
  border-top: 1px solid var(--app-border);
}
.form-title {
  margin: 0 0 var(--app-space-xs);
  font-size: var(--app-font-section-title);
  font-weight: var(--app-weight-black);
  color: var(--app-text);
  letter-spacing: 0.2px;
  line-height: var(--app-line-tight);
}
.form-subtitle {
  margin: 0 0 var(--app-space-lg);
  color: var(--app-muted);
  font-size: var(--app-font-body);
  line-height: var(--app-line-normal);
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--app-space-lg);
  min-width: 0;
}
.form-field {
  display: grid;
  gap: var(--app-space-xs);
  min-width: 0;
}
.form-field--full {
  grid-column: 1/-1;
  min-width: 0;
}
.form-label {
  display: block;
  font-weight: var(--app-weight-extrabold);
  color: var(--app-text-soft);
  font-size: var(--app-font-label);
  line-height: var(--app-line-tight);
  min-width: 0;
}
.form-input,
.form-select,
.form-textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-radius: var(--app-radius-input);
  border: 1px solid var(--app-border);
  background: var(--app-surface-strong);
  color: var(--app-text);
  outline: none;
  box-sizing: border-box;
  font: inherit;
  font-size: var(--app-font-label);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}
.form-input,
.form-select {
  min-height: var(--app-input-height);
  padding: 0 var(--app-space-lg);
}
.form-textarea {
  min-height: var(--app-textarea-min-height);
  padding: var(--app-space-md) var(--app-space-lg);
  resize: vertical;
  line-height: var(--app-line-normal);
}
.form-input::placeholder,
.form-textarea::placeholder {
  color: var(--app-placeholder);
}
.form-input:hover,
.form-select:hover,
.form-textarea:hover {
  border-color: var(--app-border-strong);
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--app-focus-border);
  box-shadow: 0 0 0 4px var(--app-focus-ring);
}
.form-input:disabled,
.form-select:disabled,
.form-textarea:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.form-input--invalid,
.form-select--invalid,
.form-textarea--invalid {
  border-color: var(--app-error-border);
  box-shadow: 0 0 0 4px var(--app-error-ring);
}
.form-error {
  color: var(--app-error-text);
  font-size: var(--app-font-hint);
  font-weight: var(--app-weight-bold);
  line-height: var(--app-line-normal);
  overflow-wrap: anywhere;
}
.form-hint {
  color: var(--app-muted);
  font-size: var(--app-font-hint);
  line-height: var(--app-line-normal);
  overflow-wrap: anywhere;
}
custom-form-field.form-field--full {
  grid-column: 1/-1;
  min-width: 0;
}
@media (max-width: 700px) {
  .form-grid {
    grid-template-columns: 1fr;
  }
  .form-field--full,
  custom-form-field.form-field--full {
    grid-column: auto;
  }
}
.mat-mdc-form-field {
  width: 100%;
  min-width: 0;
  font-size: var(--app-font-label);
}
.mat-mdc-form-field,
.mat-mdc-form-field .mdc-text-field__input,
.mat-mdc-form-field .mdc-floating-label,
.mat-mdc-select-value,
.mat-mdc-select-placeholder {
  color: var(--app-text);
}
.mat-mdc-form-field .mdc-text-field__input::placeholder {
  color: var(--app-placeholder);
}
.mat-mdc-text-field-wrapper {
  border-radius: var(--app-radius-input) !important;
}
.mat-mdc-form-field .mdc-text-field--outlined,
.mat-mdc-form-field .mdc-text-field--filled {
  background: var(--app-surface-strong) !important;
  border-radius: var(--app-radius-input) !important;
}
.mat-mdc-form-field .mdc-text-field {
  height: var(--app-input-height) !important;
  min-height: var(--app-input-height) !important;
}
.mat-mdc-form-field-infix {
  min-height: var(--app-input-height) !important;
  min-width: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex;
  align-items: center;
}
.mat-mdc-form-field .mdc-text-field__input {
  height: var(--app-input-height) !important;
  min-height: var(--app-input-height) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-size: var(--app-font-label) !important;
  line-height: var(--app-line-normal) !important;
}
.mat-mdc-form-field textarea.mdc-text-field__input {
  height: auto !important;
  min-height: var(--app-textarea-min-height) !important;
  padding-top: var(--app-space-md) !important;
  padding-bottom: var(--app-space-md) !important;
  resize: vertical;
  line-height: var(--app-line-normal) !important;
}
.mdc-notched-outline__leading,
.mdc-notched-outline__trailing,
.mdc-notched-outline__notch {
  border-color: var(--app-border) !important;
}
.mat-mdc-form-field:hover .mdc-notched-outline__leading,
.mat-mdc-form-field:hover .mdc-notched-outline__trailing,
.mat-mdc-form-field:hover .mdc-notched-outline__notch {
  border-color: var(--app-border-strong) !important;
}
.mat-mdc-form-field.mat-focused .mdc-notched-outline__leading,
.mat-mdc-form-field.mat-focused .mdc-notched-outline__trailing,
.mat-mdc-form-field.mat-focused .mdc-notched-outline__notch {
  border-color: var(--app-focus-border) !important;
}
.mat-mdc-form-field.mat-focused .mdc-text-field--outlined,
.mat-mdc-form-field.mat-focused .mdc-text-field--filled {
  box-shadow: 0 0 0 4px var(--app-focus-ring) !important;
}
.mat-mdc-form-field .mdc-floating-label {
  color: var(--app-muted) !important;
  font-size: var(--app-font-label) !important;
}
.mat-mdc-form-field.mat-focused .mdc-floating-label {
  color: var(--app-accent) !important;
}
.mat-mdc-form-field.mat-form-field-invalid .mdc-notched-outline__leading,
.mat-mdc-form-field.mat-form-field-invalid .mdc-notched-outline__trailing,
.mat-mdc-form-field.mat-form-field-invalid .mdc-notched-outline__notch {
  border-color: var(--app-error-border) !important;
}
.mat-mdc-form-field.mat-form-field-invalid.mat-focused .mdc-text-field--outlined,
.mat-mdc-form-field.mat-form-field-invalid.mat-focused .mdc-text-field--filled {
  box-shadow: 0 0 0 4px var(--app-error-ring) !important;
}
.mat-mdc-form-field-error,
.mat-mdc-form-field-hint {
  font-size: var(--app-font-hint);
  line-height: var(--app-line-normal);
}
.mat-mdc-form-field-error {
  color: var(--app-error-text);
  font-weight: var(--app-weight-bold);
}
.mat-mdc-form-field-hint {
  color: var(--app-muted);
}
:host {
  display: block;
}
.app-shell {
  height: 100vh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  color: #111827;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.app-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  background: #f4f7fb;
}
.app-mesh {
  position: absolute;
  inset: -6%;
  background:
    radial-gradient(
      at 15% 25%,
      rgba(139, 102, 222, 0.16),
      transparent 60%),
    radial-gradient(
      at 85% 15%,
      rgba(56, 189, 248, 0.18),
      transparent 60%),
    radial-gradient(
      at 55% 85%,
      rgba(34, 197, 94, 0.12),
      transparent 65%);
  transform: translateZ(0);
  filter: saturate(1.05);
  animation: appMeshBreathe 18s ease-in-out infinite;
}
@keyframes appMeshBreathe {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    filter: saturate(1.03) brightness(1);
  }
  50% {
    transform: translate3d(0, 0, 0) scale(1.015);
    filter: saturate(1.12) brightness(1.02);
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    filter: saturate(1.03) brightness(1);
  }
}
.app-beams {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(15, 23, 42, 0.05) 0px,
      rgba(15, 23, 42, 0.05) 1px,
      transparent 1px,
      transparent 120px);
  opacity: 0.03;
  transform: translateZ(0);
  animation: appBeamShimmer 12s ease-in-out infinite;
  mask-image:
    radial-gradient(
      circle at 50% 28%,
      black 45%,
      transparent 78%);
  -webkit-mask-image:
    radial-gradient(
      circle at 50% 28%,
      black 45%,
      transparent 78%);
}
@keyframes appBeamShimmer {
  0% {
    opacity: 0.028;
    transform: translate3d(-10px, 0, 0);
  }
  50% {
    opacity: 0.05;
    transform: translate3d(10px, 0, 0);
  }
  100% {
    opacity: 0.028;
    transform: translate3d(-10px, 0, 0);
  }
}
.app-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(15, 23, 42, 0.06) 1px, transparent 1px),
    linear-gradient(
      90deg,
      rgba(15, 23, 42, 0.06) 1px,
      transparent 1px);
  background-size: 72px 72px;
  opacity: 0.22;
  transform: perspective(900px) rotateX(55deg) translateY(-14%);
  transform-origin: top;
}
.app-vignette {
  display: none;
}
.app-noise {
  position: absolute;
  inset: 0;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
  pointer-events: none;
}
.app-btn {
  min-height: var(--app-button-height);
  padding: 0 var(--app-button-padding-x);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-pill);
  background: var(--app-surface-strong);
  color: var(--app-text);
  font: inherit;
  font-size: var(--app-font-label);
  font-weight: var(--app-weight-extrabold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  cursor: pointer;
  box-shadow: var(--app-shadow-sm);
  transition:
    transform 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background 0.16s ease;
}
.app-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: var(--app-border-strong);
  box-shadow: var(--app-shadow-md);
}
.app-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.app-btn--primary {
  border-color: var(--app-focus-border);
  background: var(--app-accent-soft, rgba(139, 102, 222, 0.08));
  color: var(--app-accent);
}
.app-btn--ghost {
  background: rgba(255, 255, 255, 0.55);
}
.app-btn--danger {
  border-color: rgba(190, 24, 93, 0.22);
  background: rgba(244, 114, 182, 0.1);
  color: var(--app-error-text);
}
.app-btn--sm {
  min-height: var(--app-button-height-sm);
  padding: 0 var(--app-button-padding-x-sm);
  font-size: var(--app-text-sm);
}
.route-shell {
  position: relative;
  min-height: 100%;
}
.global-page-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: rgba(248, 250, 252, 0.72);
  backdrop-filter: blur(10px);
  animation: loaderFadeIn 160ms ease;
}
.global-page-loader__card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 18px;
  background: white;
  border: 1px solid var(--app-border);
  box-shadow: var(--app-shadow-md);
  color: var(--app-text);
  font-weight: var(--app-weight-extrabold);
}
.global-page-loader__mark {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 3px solid var(--app-border);
  border-top-color: var(--app-accent);
  animation: loaderSpin 800ms linear infinite;
}
.route-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 100%;
  z-index: 9999;
  overflow: hidden;
}
.route-progress::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--app-accent),
      transparent);
  animation: progressMove 1.2s linear infinite;
}
@keyframes progressMove {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes loaderSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes loaderFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
:host ::ng-deep router-outlet + * {
  display: block;
  animation: pageEnter 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes pageEnter {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.985);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  :host ::ng-deep router-outlet + * {
    animation: none !important;
  }
  .global-page-loader,
  .global-page-loader__mark {
    animation: none !important;
  }
}
html {
  --mat-sys-background: #faf9fd;
  --mat-sys-error: #ba1a1a;
  --mat-sys-error-container: #ffdad6;
  --mat-sys-inverse-on-surface: #f2f0f4;
  --mat-sys-inverse-primary: #abc7ff;
  --mat-sys-inverse-surface: #2f3033;
  --mat-sys-on-background: #1a1b1f;
  --mat-sys-on-error: #ffffff;
  --mat-sys-on-error-container: #93000a;
  --mat-sys-on-primary: #ffffff;
  --mat-sys-on-primary-container: #00458f;
  --mat-sys-on-primary-fixed: #001b3f;
  --mat-sys-on-primary-fixed-variant: #00458f;
  --mat-sys-on-secondary: #ffffff;
  --mat-sys-on-secondary-container: #3e4759;
  --mat-sys-on-secondary-fixed: #131c2b;
  --mat-sys-on-secondary-fixed-variant: #3e4759;
  --mat-sys-on-surface: #1a1b1f;
  --mat-sys-on-surface-variant: #44474e;
  --mat-sys-on-tertiary: #ffffff;
  --mat-sys-on-tertiary-container: #0000ef;
  --mat-sys-on-tertiary-fixed: #00006e;
  --mat-sys-on-tertiary-fixed-variant: #0000ef;
  --mat-sys-outline: #74777f;
  --mat-sys-outline-variant: #c4c6d0;
  --mat-sys-primary: #005cbb;
  --mat-sys-primary-container: #d7e3ff;
  --mat-sys-primary-fixed: #d7e3ff;
  --mat-sys-primary-fixed-dim: #abc7ff;
  --mat-sys-scrim: #000000;
  --mat-sys-secondary: #565e71;
  --mat-sys-secondary-container: #dae2f9;
  --mat-sys-secondary-fixed: #dae2f9;
  --mat-sys-secondary-fixed-dim: #bec6dc;
  --mat-sys-shadow: #000000;
  --mat-sys-surface: #faf9fd;
  --mat-sys-surface-bright: #faf9fd;
  --mat-sys-surface-container: #efedf0;
  --mat-sys-surface-container-high: #e9e7eb;
  --mat-sys-surface-container-highest: #e3e2e6;
  --mat-sys-surface-container-low: #f4f3f6;
  --mat-sys-surface-container-lowest: #ffffff;
  --mat-sys-surface-dim: #dbd9dd;
  --mat-sys-surface-tint: #005cbb;
  --mat-sys-surface-variant: #e0e2ec;
  --mat-sys-tertiary: #343dff;
  --mat-sys-tertiary-container: #e0e0ff;
  --mat-sys-tertiary-fixed: #e0e0ff;
  --mat-sys-tertiary-fixed-dim: #bec2ff;
  --mat-sys-neutral-variant20: #2d3038;
  --mat-sys-neutral10: #1a1b1f;
}
html {
  --mat-sys-level0:
    0px 0px 0px 0px rgba(0, 0, 0, 0.2),
    0px 0px 0px 0px rgba(0, 0, 0, 0.14),
    0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
html {
  --mat-sys-level1:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2),
    0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
html {
  --mat-sys-level2:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2),
    0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
html {
  --mat-sys-level3:
    0px 3px 5px -1px rgba(0, 0, 0, 0.2),
    0px 6px 10px 0px rgba(0, 0, 0, 0.14),
    0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
html {
  --mat-sys-level4:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2),
    0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
html {
  --mat-sys-level5:
    0px 7px 8px -4px rgba(0, 0, 0, 0.2),
    0px 12px 17px 2px rgba(0, 0, 0, 0.14),
    0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
html {
  --mat-sys-body-large: 400 1rem / 1.5rem Roboto;
  --mat-sys-body-large-font: Roboto;
  --mat-sys-body-large-line-height: 1.5rem;
  --mat-sys-body-large-size: 1rem;
  --mat-sys-body-large-tracking: 0.031rem;
  --mat-sys-body-large-weight: 400;
  --mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;
  --mat-sys-body-medium-font: Roboto;
  --mat-sys-body-medium-line-height: 1.25rem;
  --mat-sys-body-medium-size: 0.875rem;
  --mat-sys-body-medium-tracking: 0.016rem;
  --mat-sys-body-medium-weight: 400;
  --mat-sys-body-small: 400 0.75rem / 1rem Roboto;
  --mat-sys-body-small-font: Roboto;
  --mat-sys-body-small-line-height: 1rem;
  --mat-sys-body-small-size: 0.75rem;
  --mat-sys-body-small-tracking: 0.025rem;
  --mat-sys-body-small-weight: 400;
  --mat-sys-display-large: 400 3.562rem / 4rem Roboto;
  --mat-sys-display-large-font: Roboto;
  --mat-sys-display-large-line-height: 4rem;
  --mat-sys-display-large-size: 3.562rem;
  --mat-sys-display-large-tracking: -0.016rem;
  --mat-sys-display-large-weight: 400;
  --mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;
  --mat-sys-display-medium-font: Roboto;
  --mat-sys-display-medium-line-height: 3.25rem;
  --mat-sys-display-medium-size: 2.812rem;
  --mat-sys-display-medium-tracking: 0;
  --mat-sys-display-medium-weight: 400;
  --mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;
  --mat-sys-display-small-font: Roboto;
  --mat-sys-display-small-line-height: 2.75rem;
  --mat-sys-display-small-size: 2.25rem;
  --mat-sys-display-small-tracking: 0;
  --mat-sys-display-small-weight: 400;
  --mat-sys-headline-large: 400 2rem / 2.5rem Roboto;
  --mat-sys-headline-large-font: Roboto;
  --mat-sys-headline-large-line-height: 2.5rem;
  --mat-sys-headline-large-size: 2rem;
  --mat-sys-headline-large-tracking: 0;
  --mat-sys-headline-large-weight: 400;
  --mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;
  --mat-sys-headline-medium-font: Roboto;
  --mat-sys-headline-medium-line-height: 2.25rem;
  --mat-sys-headline-medium-size: 1.75rem;
  --mat-sys-headline-medium-tracking: 0;
  --mat-sys-headline-medium-weight: 400;
  --mat-sys-headline-small: 400 1.5rem / 2rem Roboto;
  --mat-sys-headline-small-font: Roboto;
  --mat-sys-headline-small-line-height: 2rem;
  --mat-sys-headline-small-size: 1.5rem;
  --mat-sys-headline-small-tracking: 0;
  --mat-sys-headline-small-weight: 400;
  --mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-label-large-font: Roboto;
  --mat-sys-label-large-line-height: 1.25rem;
  --mat-sys-label-large-size: 0.875rem;
  --mat-sys-label-large-tracking: 0.006rem;
  --mat-sys-label-large-weight: 500;
  --mat-sys-label-large-weight-prominent: 700;
  --mat-sys-label-medium: 500 0.75rem / 1rem Roboto;
  --mat-sys-label-medium-font: Roboto;
  --mat-sys-label-medium-line-height: 1rem;
  --mat-sys-label-medium-size: 0.75rem;
  --mat-sys-label-medium-tracking: 0.031rem;
  --mat-sys-label-medium-weight: 500;
  --mat-sys-label-medium-weight-prominent: 700;
  --mat-sys-label-small: 500 0.688rem / 1rem Roboto;
  --mat-sys-label-small-font: Roboto;
  --mat-sys-label-small-line-height: 1rem;
  --mat-sys-label-small-size: 0.688rem;
  --mat-sys-label-small-tracking: 0.031rem;
  --mat-sys-label-small-weight: 500;
  --mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;
  --mat-sys-title-large-font: Roboto;
  --mat-sys-title-large-line-height: 1.75rem;
  --mat-sys-title-large-size: 1.375rem;
  --mat-sys-title-large-tracking: 0;
  --mat-sys-title-large-weight: 400;
  --mat-sys-title-medium: 500 1rem / 1.5rem Roboto;
  --mat-sys-title-medium-font: Roboto;
  --mat-sys-title-medium-line-height: 1.5rem;
  --mat-sys-title-medium-size: 1rem;
  --mat-sys-title-medium-tracking: 0.009rem;
  --mat-sys-title-medium-weight: 500;
  --mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;
  --mat-sys-title-small-font: Roboto;
  --mat-sys-title-small-line-height: 1.25rem;
  --mat-sys-title-small-size: 0.875rem;
  --mat-sys-title-small-tracking: 0.006rem;
  --mat-sys-title-small-weight: 500;
}
html {
  --mat-sys-corner-extra-large: 28px;
  --mat-sys-corner-extra-large-top: 28px 28px 0 0;
  --mat-sys-corner-extra-small: 4px;
  --mat-sys-corner-extra-small-top: 4px 4px 0 0;
  --mat-sys-corner-full: 9999px;
  --mat-sys-corner-large: 16px;
  --mat-sys-corner-large-end: 0 16px 16px 0;
  --mat-sys-corner-large-start: 16px 0 0 16px;
  --mat-sys-corner-large-top: 16px 16px 0 0;
  --mat-sys-corner-medium: 12px;
  --mat-sys-corner-none: 0;
  --mat-sys-corner-small: 8px;
}
html {
  --mat-sys-dragged-state-layer-opacity: 0.16;
  --mat-sys-focus-state-layer-opacity: 0.12;
  --mat-sys-hover-state-layer-opacity: 0.08;
  --mat-sys-pressed-state-layer-opacity: 0.12;
}

/* angular:styles/global:styles */
