@charset "UTF-8";@keyframes plan-scene-fade {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.plan-result-scene-img {
  animation: plan-scene-fade 480ms ease-out both;
}
.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:32px;outline:none;overflow:hidden;padding:0;width:32px}.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:#eee}.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-arrow-up .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 11.7071C4.68342 12.0976 5.31658 12.0976 5.70711 11.7071L9 8.41421L12.2929 11.7071C12.6834 12.0976 13.3166 12.0976 13.7071 11.7071C14.0976 11.3166 14.0976 10.6834 13.7071 10.2929L9.70711 6.29289C9.31658 5.90237 8.68342 5.90237 8.29289 6.29289L4.29289 10.2929C3.90237 10.6834 3.90237 11.3166 4.29289 11.7071Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-down .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 6.29289C4.68342 5.90237 5.31658 5.90237 5.70711 6.29289L9 9.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L9.70711 11.7071C9.31658 12.0976 8.68342 12.0976 8.29289 11.7071L4.29289 7.70711C3.90237 7.31658 3.90237 6.68342 4.29289 6.29289Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23fff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%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-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}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.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}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.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:#eee}.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;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 button.mapboxgl-ctrl-level-button{font-size:16px;font-weight:700;text-align:center}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#ccc;color:#000}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#ccc}/* Capsule One — 首页赛博深空 / AI 页深空 2.3 */

:root.capsule-one-active,
:root.capsule-one-ai-active {
  --capsule-font-display: 'Inter', 'Noto Sans SC', system-ui, sans-serif;
  --capsule-font-body: 'Inter', 'Noto Sans SC', system-ui, sans-serif;
}

/* 首页：雾蓝灰 · 与地球海色协调 */
:root.capsule-one-active {
  --capsule-space-top: #eaf0f3;
  --capsule-space-bottom: #e3e9ec;
  --capsule-space-black: #eaf0f3;
  --capsule-bg-gradient: linear-gradient(168deg, #edf2f5 0%, #e8eeec 46%, #e3eaed 100%);
  --capsule-surface: rgba(232, 238, 242, 0.9);
  --capsule-surface-elevated: rgba(237, 242, 245, 0.94);
  --capsule-tech-blue: #6a8caf;
  --capsule-e-cyan: #6a8caf;
  --capsule-warm-orange: #b8504b;
  --capsule-body-text: #2c3438;
  --capsule-text-muted: rgba(44, 52, 56, 0.68);
  --capsule-border: rgba(106, 140, 175, 0.22);
  --capsule-border-strong: rgba(106, 140, 175, 0.38);
  --capsule-ink: #2c3438;
  --capsule-cinnabar: #b8504b;
  --capsule-dai-blue: #526f8f;
  --capsule-btn-bg: rgba(232, 228, 218, 0.78);
  --capsule-btn-border: rgba(106, 140, 175, 0.32);
  --capsule-font-serif: 'Noto Serif SC', 'Songti SC', 'STSong', serif;
  --capsule-font-calligraphy: var(--capsule-font-serif);
}

/* AI 页：深空渐变 */
:root.capsule-one-ai-active {
  --capsule-space-top: #1a2438;
  --capsule-space-bottom: #141e30;
  --capsule-space-black: #1a2438;
  --capsule-bg-gradient: linear-gradient(180deg, #1a2438 0%, #161f32 52%, #141e30 100%);
  --capsule-surface: rgba(30, 42, 62, 0.66);
  --capsule-surface-elevated: rgba(38, 52, 76, 0.76);
  --capsule-tech-blue: #00ffff;
  --capsule-e-cyan: #00ffff;
  --capsule-warm-orange: #ffb800;
  --capsule-body-text: #e0e6ed;
  --capsule-text-muted: rgba(224, 230, 237, 0.58);
  --capsule-border: rgba(0, 255, 255, 0.2);
  --capsule-border-strong: rgba(0, 255, 255, 0.35);
}

html.capsule-one-active,
html.capsule-one-active body {
  overflow: hidden;
  height: 100%;
  width: 100%;
  scrollbar-width: none;
  background: var(--capsule-bg-gradient);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html.capsule-one-active body::-webkit-scrollbar {
  display: none;
}

.capsule-one-home {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  background: var(--capsule-bg-gradient);
  font-family: var(--capsule-font-body, 'Exo 2', sans-serif);
  color: var(--capsule-body-text, #e0e6ed);
}

.capsule-one-home__nebula {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--capsule-bg-gradient);
}

.capsule-one-home__nebula::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E");
  background-size: 160px 160px;
  mix-blend-mode: soft-light;
  pointer-events: none;
}

@keyframes capsule-star-float {
  0% {
    background-position: 0% 0%, center, center, center;
  }
  100% {
    background-position: 35px 35px, center, center, center;
  }
}

@keyframes capsule-view-scale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.025);
  }
}

@keyframes capsule-btn-breathe {
  0%,
  100% {
    box-shadow: 0 0 8px var(--capsule-btn-glow, rgba(0, 163, 184, 0.12));
  }
  50% {
    box-shadow: 0 0 16px rgba(0, 163, 184, 0.22);
  }
}

@keyframes capsule-tag-float {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(5px);
  }
}

.capsule-boot {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 5;
  display: grid;
  place-items: center;
  background: rgba(242, 240, 233, 0.94);
  backdrop-filter: blur(6px);
}

.capsule-boot__grid {
  display: none;
}

.capsule-boot__content {
  position: relative;
  z-index: 1;
  width: min(92vw, 520px);
  padding: 1.5rem;
  font-family: var(--capsule-font-display, 'Orbitron', sans-serif);
}

.capsule-boot__brand {
  margin: 0 0 1.25rem;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: clamp(1.2rem, 3.6vw, 1.65rem);
  font-weight: 300;
  letter-spacing: 0.32em;
  color: var(--capsule-body-text, #2c3438);
}

.capsule-boot__line {
  margin: 0.55rem 0 0;
  font-size: clamp(0.72rem, 2.2vw, 0.88rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
}

.capsule-boot__cursor {
  margin-right: 0.45rem;
  color: var(--capsule-dai-blue, #6a8caf);
}

.capsule-boot__scan {
  display: none;
}

.capsule-boot::after {
  display: none;
}

@keyframes capsule-boot-holo-ring {
  0% {
    opacity: 0.65;
    transform: translate(-50%, -50%) scale(0.35);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.35);
  }
}

@keyframes capsule-boot-scan {
  0% {
    top: 18%;
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  88% {
    opacity: 1;
  }
  100% {
    top: 82%;
    opacity: 0;
  }
}

.capsule-hud-chrome {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 3;
  font-family: var(--capsule-font-body, 'Inter', sans-serif);
}

.capsule-hud-chrome__vignette {
  position: absolute;
  inset: 0;
  box-shadow:
    inset 0 0 100px rgba(58, 72, 82, 0.06),
    inset 0 0 40px rgba(106, 140, 175, 0.03);
}

.capsule-hud-chrome__scanlines,
.capsule-hud-chrome__noise {
  display: none;
}

.capsule-hud-chrome__inscription {
  display: none;
}

.capsule-hud-chrome__inscription-line {
  display: block;
}

.capsule-hud-chrome__corner {
  position: absolute;
  width: 3.5rem;
  height: 3.5rem;
  border-color: var(--capsule-border-strong);
  border-style: solid;
}

.capsule-hud-chrome__corner--tl {
  top: max(1rem, env(safe-area-inset-top));
  left: max(1rem, env(safe-area-inset-left));
  border-width: 2px 0 0 2px;
}

.capsule-hud-chrome__corner--tr {
  top: max(1rem, env(safe-area-inset-top));
  right: max(1rem, env(safe-area-inset-right));
  border-width: 2px 2px 0 0;
}

.capsule-hud-chrome__corner--bl {
  bottom: max(3.5rem, calc(env(safe-area-inset-bottom) + 2.5rem));
  left: max(1rem, env(safe-area-inset-left));
  border-width: 0 0 2px 2px;
}

.capsule-hud-chrome__corner--br {
  bottom: max(3.5rem, calc(env(safe-area-inset-bottom) + 2.5rem));
  right: max(1rem, env(safe-area-inset-right));
  border-width: 0 2px 2px 0;
}

.capsule-hud-chrome__brand {
  position: absolute;
  top: max(1.5rem, calc(env(safe-area-inset-top) + 0.75rem));
  left: max(1.5rem, calc(env(safe-area-inset-left) + 0.95rem));
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  max-width: min(68vw, 280px);
  pointer-events: none;
}

.capsule-hud-chrome__brand-title {
  display: flex;
  align-items: center;
  gap: 0.42rem;
}

.capsule-hud-chrome__brand-logo {
  display: none;
}

.capsule-hud-chrome__brand-name {
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.28em;
  color: rgba(44, 52, 56, 0.9);
}

.capsule-hud-chrome__brand-slogan {
  padding-left: 2rem;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.2em;
  color: rgba(44, 52, 56, 0.72);
}

.capsule-hud-chrome__earth-guide {
  display: none;
}

.capsule-hud-chrome__lock {
  position: absolute;
  left: max(1.5rem, calc(env(safe-area-inset-left) + 0.35rem));
  top: 50%;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  max-width: min(44vw, 240px);
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: var(--capsule-cinnabar, #b8504b);
}

.capsule-hud-chrome__lock-dot {
  display: inline-block;
  width: 0.38rem;
  height: 0.38rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  background: var(--capsule-cinnabar, #b8504b);
  vertical-align: middle;
  opacity: 0.75;
}

.capsule-hud-chrome__lock-coords {
  font-size: 0.52rem;
  letter-spacing: 0.1em;
  color: rgba(44, 52, 56, 0.72);
}

.capsule-hud-chrome__title {
  display: none;
}

.capsule-hud-chrome__title-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: clamp(1.15rem, 3.2vw, 1.55rem);
  font-weight: 300;
  letter-spacing: 0.28em;
  color: var(--capsule-ink, #2c3438);
}

.capsule-hud-chrome__title-logo {
  display: none;
}

.capsule-hud-chrome__title-slogan {
  font-family: var(--capsule-font-body, 'Exo 2', sans-serif);
  font-size: 0.52rem;
  letter-spacing: 0.18em;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
}

.capsule-hud-chrome__title-en {
  font-size: 0.48rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
  text-transform: uppercase;
}

.capsule-hud-chrome__status {
  display: none;
}

.capsule-hud-chrome__status-label {
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
}

.capsule-hud-chrome__status-value {
  color: var(--capsule-ink, #2c3438);
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-weight: 400;
}

.capsule-hud-chrome__title-en {
  display: none;
}

.capsule-hud-chrome__coords {
  display: none;
}

.capsule-hud-chrome__hint {
  display: none;
}

@keyframes capsule-hint-pulse {
  0%,
  100% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.72;
  }
}

.capsule-app-shell {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  height: 100dvh;
  overflow: hidden;
  background: var(--capsule-bg-gradient);
}

.capsule-scene {
  position: absolute;
  inset: 0;
  z-index: 1;
  animation: none;
  transition: transform 1s ease;
}

.capsule-scene__canvas {
  width: 100%;
  height: 100%;
  touch-action: none;
  background: var(--capsule-space-top) !important;
  cursor: grab;
}

.capsule-scene__canvas:active {
  cursor: grabbing;
}

.capsule-scene__fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background: transparent;
}

.capsule-scene__fallback-core {
  width: 88px;
  height: 88px;
  border: 1px solid rgba(106, 140, 175, 0.28);
  border-radius: 50%;
  animation: capsule-breathe 2.8s ease-in-out infinite;
  filter: none;
}

/* ── 纯 CSS 3D 全息地球（参考图 2） ── */
.capsule-css-globe {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.capsule-css-globe__viewport {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  perspective: 1500px;
  perspective-origin: 50% 44%;
  padding-bottom: 5vh;
}

.capsule-css-globe__world {
  position: relative;
  width: 64vmin;
  height: 64vmin;
  transform-style: preserve-3d;
  transform: translateY(-2%) rotateX(11deg);
}

.capsule-css-globe__orbits,
.capsule-css-globe__planet,
.capsule-css-globe__planet-spin {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}

.capsule-css-globe__orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-style: preserve-3d;
  animation: capsule-css-orbit-breathe 8s ease-in-out infinite;
}

.capsule-css-globe__orbit svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.capsule-css-globe__orbit--1 {
  width: 120%;
  height: 120%;
  margin: -60% 0 0 -60%;
  animation:
    capsule-css-orbit-breathe 8s ease-in-out infinite,
    capsule-css-orbit-spin 40s linear infinite;
}

.capsule-css-globe__orbit--2 {
  width: 132%;
  height: 132%;
  margin: -66% 0 0 -66%;
  animation:
    capsule-css-orbit-breathe 8s ease-in-out infinite,
    capsule-css-orbit-spin-2 46s linear infinite;
  animation-delay: -1.5s, -5s;
}

.capsule-css-globe__orbit--3 {
  width: 144%;
  height: 144%;
  margin: -72% 0 0 -72%;
  animation:
    capsule-css-orbit-breathe 8s ease-in-out infinite,
    capsule-css-orbit-spin-3 52s linear infinite;
  animation-delay: -3s, -10s;
}

.capsule-css-globe__orbit--4 {
  width: 156%;
  height: 156%;
  margin: -78% 0 0 -78%;
  animation:
    capsule-css-orbit-breathe 8s ease-in-out infinite,
    capsule-css-orbit-spin-4 58s linear infinite;
  animation-delay: -4.5s, -16s;
}

.capsule-css-globe__planet {
  display: grid;
  place-items: center;
}

.capsule-css-globe__planet-spin {
  display: grid;
  place-items: center;
  filter:
    drop-shadow(0 0 24px rgba(126, 205, 224, 0.34))
    drop-shadow(0 0 56px rgba(106, 140, 175, 0.18))
    drop-shadow(0 0 96px rgba(126, 205, 224, 0.1));
}

.capsule-css-globe__aura {
  position: absolute;
  width: 78vmin;
  height: 78vmin;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(126, 205, 224, 0.2) 0%,
    rgba(106, 140, 175, 0.08) 38%,
    transparent 72%
  );
  filter: blur(36px);
  transform: translateZ(-16px);
}

.capsule-css-globe__shell {
  position: relative;
  width: 64vmin;
  height: 64vmin;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  overflow: hidden;
  transform-style: preserve-3d;
  background:
    radial-gradient(circle at 34% 28%, rgba(255, 255, 255, 0.26) 0%, transparent 24%),
    radial-gradient(circle at 58% 66%, rgba(106, 140, 175, 0.05) 0%, transparent 36%),
    radial-gradient(
      circle at 50% 50%,
      rgba(126, 205, 224, 0.16) 0%,
      rgba(106, 140, 175, 0.08) 48%,
      rgba(106, 140, 175, 0.03) 100%
    );
  backdrop-filter: blur(20px) saturate(1.12);
  -webkit-backdrop-filter: blur(20px) saturate(1.12);
  box-shadow:
    inset 0 0 48px rgba(126, 205, 224, 0.12),
    inset 0 0 18px rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(200, 234, 244, 0.42);
  transition: transform 0.45s ease, filter 0.45s ease;
}

.capsule-css-globe__shell:hover,
.capsule-css-globe__shell:focus-visible {
  transform: scale(1.015);
  filter: brightness(1.04);
  outline: none;
}

.capsule-css-globe__map,
.capsule-css-globe__ocean-glow,
.capsule-css-globe__fluid,
.capsule-css-globe__glass,
.capsule-css-globe__specular,
.capsule-css-globe__rim {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  pointer-events: none;
}

.capsule-css-globe__ocean-glow {
  background:
    conic-gradient(
      from 210deg at 48% 52%,
      rgba(126, 205, 224, 0.14) 0deg,
      rgba(160, 212, 232, 0.08) 72deg,
      rgba(106, 140, 175, 0.04) 140deg,
      rgba(126, 205, 224, 0.12) 220deg,
      rgba(160, 212, 232, 0.06) 300deg,
      rgba(126, 205, 224, 0.14) 360deg
    ),
    radial-gradient(circle at 50% 50%, rgba(126, 205, 224, 0.1) 0%, transparent 68%);
  opacity: 0.72;
  filter: blur(3px);
  mix-blend-mode: screen;
}

.capsule-css-globe__map {
  background-repeat: repeat-x;
  background-size: 200% 100%;
  background-position: 0% center;
  opacity: 0.92;
  mix-blend-mode: normal;
  animation: capsule-css-map-spin 36s linear infinite;
}

.capsule-css-globe__fluid {
  background:
    radial-gradient(circle at 42% 38%, rgba(126, 205, 224, 0.16) 0%, transparent 32%),
    radial-gradient(circle at 62% 64%, rgba(160, 212, 232, 0.1) 0%, transparent 36%),
    radial-gradient(ellipse 76% 58% at 50% 50%, rgba(106, 140, 175, 0.06) 0%, transparent 68%);
  opacity: 0.58;
  filter: blur(2.5px);
  mix-blend-mode: screen;
}

.capsule-css-globe__glass {
  background:
    radial-gradient(circle at 30% 26%, rgba(255, 255, 255, 0.2) 0%, transparent 20%),
    radial-gradient(circle at 50% 50%, rgba(126, 205, 224, 0.04) 0%, rgba(106, 140, 175, 0.05) 100%);
  opacity: 0.5;
}

.capsule-css-globe__specular {
  background: radial-gradient(
    circle at 32% 26%,
    rgba(255, 255, 255, 0.62) 0%,
    rgba(200, 234, 244, 0.14) 12%,
    transparent 30%
  );
  opacity: 0.42;
}

.capsule-css-globe__rim {
  box-shadow:
    inset 0 0 28px rgba(126, 205, 224, 0.16),
    inset 0 0 10px rgba(255, 255, 255, 0.2);
}

.capsule-css-globe__world:hover .capsule-css-globe__planet-spin,
.capsule-css-globe__world:hover .capsule-css-globe__map,
.capsule-css-globe__world:hover .capsule-css-globe__orbit {
  animation-play-state: paused;
}

@keyframes capsule-css-map-spin {
  from {
    background-position: 0% center;
  }
  to {
    background-position: 200% center;
  }
}

@keyframes capsule-css-orbit-spin {
  from {
    transform: rotateX(70deg) rotateY(16deg) rotateZ(0deg);
  }
  to {
    transform: rotateX(70deg) rotateY(16deg) rotateZ(360deg);
  }
}

@keyframes capsule-css-orbit-spin-2 {
  from {
    transform: rotateX(56deg) rotateY(-24deg) rotateZ(14deg);
  }
  to {
    transform: rotateX(56deg) rotateY(-24deg) rotateZ(374deg);
  }
}

@keyframes capsule-css-orbit-spin-3 {
  from {
    transform: rotateX(82deg) rotateY(30deg) rotateZ(-10deg);
  }
  to {
    transform: rotateX(82deg) rotateY(30deg) rotateZ(350deg);
  }
}

@keyframes capsule-css-orbit-spin-4 {
  from {
    transform: rotateX(64deg) rotateY(-18deg) rotateZ(8deg);
  }
  to {
    transform: rotateX(64deg) rotateY(-18deg) rotateZ(368deg);
  }
}

@keyframes capsule-css-orbit-breathe {
  0%,
  100% {
    opacity: 0.38;
  }
  50% {
    opacity: 0.78;
  }
}

@media (max-width: 768px) {
  .capsule-css-globe__viewport {
    perspective-origin: 50% 42%;
    padding-bottom: 4vh;
  }

  .capsule-css-globe__world {
    width: 68vmin;
    height: 68vmin;
  }

  .capsule-css-globe__shell,
  .capsule-css-globe__aura {
    width: 70vmin;
    height: 70vmin;
  }

  .capsule-css-globe__aura {
    width: 82vmin;
    height: 82vmin;
  }
}

@media (prefers-reduced-motion: reduce) {
  .capsule-css-globe__map,
  .capsule-css-globe__orbit {
    animation: none;
  }
}

.capsule-one-home--input-open .capsule-scene,
.capsule-one-home--input-open .capsule-scene__canvas {
  pointer-events: none;
}

.capsule-one-home--input-open .capsule-overlay {
  z-index: 10;
}

.capsule-overlay {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 2;
  font-family: var(--capsule-font-body, 'Exo 2', sans-serif);
}

.capsule-overlay__topbar {
  pointer-events: auto;
  position: absolute;
  top: max(1.25rem, calc(env(safe-area-inset-top) + 0.85rem));
  right: max(1.25rem, calc(env(safe-area-inset-right) + 0.85rem));
  z-index: 12;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
}

.capsule-overlay__topbar-slogan {
  margin: 0.15rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  flex-shrink: 0;
  writing-mode: vertical-rl;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.35em;
  color: rgba(44, 52, 56, 0.72);
  text-orientation: upright;
  pointer-events: none;
}

.capsule-overlay__topbar-slogan-line {
  display: block;
}

.capsule-overlay__hud {
  pointer-events: auto;
  position: static;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.capsule-hud-btn--on {
  border-color: var(--capsule-ink, #2c2c2c);
  color: #f5f2eb;
  background: var(--capsule-ink, #2c2c2c);
}

.capsule-nav-menu {
  position: relative;
}

.capsule-nav-menu__panel {
  pointer-events: auto;
  position: absolute;
  right: 0;
  top: calc(100% + 0.45rem);
  z-index: 20;
  width: min(12.5rem, 72vw);
  max-height: min(70dvh, 22rem);
  overflow-y: auto;
  border: 1px solid var(--capsule-border);
  background: rgba(245, 242, 235, 0.95);
  box-shadow: 0 8px 28px rgba(44, 44, 44, 0.08);
  backdrop-filter: blur(12px);
}

.capsule-nav-menu__title {
  margin: 0;
  padding: 0.55rem 0.75rem 0.35rem;
  font-family: var(--capsule-font-body, 'Inter', sans-serif);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
}

.capsule-nav-menu__list {
  margin: 0;
  padding: 0.2rem 0 0.45rem;
  list-style: none;
}

.capsule-nav-menu__link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.62rem 0.75rem;
  font-size: 0.82rem;
  color: var(--capsule-body-text, #1e293b);
  text-decoration: none;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

.capsule-nav-menu__link:hover,
.capsule-nav-menu__link:focus-visible {
  background: rgba(106, 140, 175, 0.08);
  color: var(--capsule-dai-blue, #6a8caf);
  outline: none;
}

.capsule-nav-menu__emoji {
  width: 1.1rem;
  text-align: center;
  flex-shrink: 0;
}

.capsule-hud-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  position: relative;
  border: 1px solid var(--capsule-btn-border, rgba(106, 140, 175, 0.32));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--capsule-dai-blue, #6a8caf);
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.capsule-hud-btn::before {
  display: none;
}

.capsule-hud-btn:hover {
  color: var(--capsule-dai-blue, #6a8caf);
  border-color: rgba(106, 140, 175, 0.45);
  background: rgba(255, 255, 255, 0.85);
  transform: scale(1.04);
}

.capsule-hud-btn:hover::before {
  display: none;
}

.capsule-overlay__dock {
  pointer-events: auto;
  position: absolute;
  left: 50%;
  bottom: calc(max(1.85rem, env(safe-area-inset-bottom) + 1.35rem));
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.55rem;
  width: min(540px, 90vw);
  max-height: none;
  overflow: visible;
}

.capsule-search-card {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 3.25rem;
  padding: 0.55rem 0.65rem 0.55rem 1.2rem;
  border: 1px solid rgba(106, 140, 175, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(14px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 16px 40px rgba(106, 140, 175, 0.1),
    0 4px 14px rgba(74, 74, 74, 0.04);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.capsule-search-card:focus-within {
  border-color: rgba(106, 140, 175, 0.42);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 20px 48px rgba(106, 140, 175, 0.12),
    0 0 0 4px rgba(106, 140, 175, 0.07);
  transform: translateY(-1px);
}

.capsule-search-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  flex-shrink: 0;
}

.capsule-overlay__dock-row {
  display: none;
}

.capsule-overlay__copyright {
  pointer-events: none;
  position: absolute;
  left: 50%;
  bottom: max(0.2rem, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  margin: 0;
  font-size: 0.48rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: rgba(44, 52, 56, 0.52);
  white-space: nowrap;
}

.capsule-overlay__beian {
  margin: 0.15rem 0 0;
  padding: 0 0.75rem;
  text-align: center;
  font-size: 0.62rem;
  letter-spacing: 0.05em;
  line-height: 1.55;
  color: rgba(44, 52, 56, 0.66);
}

.capsule-overlay__beian-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.capsule-overlay__beian-link:hover {
  color: rgba(106, 140, 175, 0.78);
}

.capsule-overlay__beian-sep {
  margin: 0 0.35rem;
  opacity: 0.5;
}

.capsule-overlay__controls {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.capsule-overlay__mic-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.capsule-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--capsule-btn-border, rgba(106, 140, 175, 0.32));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(8px);
  color: var(--capsule-dai-blue, #6a8caf);
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.capsule-action-btn::before {
  display: none;
}

.capsule-action-btn:hover:not(:disabled) {
  color: var(--capsule-dai-blue, #6a8caf);
  border-color: rgba(106, 140, 175, 0.45);
  background: rgba(255, 255, 255, 0.85);
  transform: scale(1.04);
}

.capsule-action-btn:hover:not(:disabled)::before {
  display: none;
}

.capsule-action-btn--on {
  border-color: var(--capsule-ink, #2c2c2c);
  color: #f5f2eb;
  background: var(--capsule-ink, #2c2c2c);
}

.capsule-action-btn--submit {
  border-color: var(--capsule-dai-blue, #4a6fa5);
  color: var(--capsule-dai-blue, #4a6fa5);
}

.capsule-action-btn:disabled,
.capsule-mic:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.capsule-blindbox-btn--busy {
  border-color: rgba(74, 111, 165, 0.55);
  color: var(--capsule-dai-blue, #4a6fa5);
  background: rgba(74, 111, 165, 0.1);
  animation: capsule-blindbox-pulse 1.1s ease-in-out infinite;
}

.capsule-blindbox-btn {
  position: relative;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0;
}

.capsule-blindbox-btn__label {
  display: none;
}

/* 盲盒浮层 — 赛博新中式轻提示 */
.blind-box-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
  z-index: 9999;
  padding-bottom: max(5.75rem, calc(env(safe-area-inset-bottom) + 4.75rem));
  background: transparent;
  animation: blind-box-fade-in 0.35s ease-out;
}

.blind-box-overlay--seal {
  align-items: center;
  padding-bottom: 0;
  background: rgba(74, 74, 74, 0.08);
}

.capsule-toast {
  pointer-events: none;
  min-width: min(88vw, 320px);
  max-width: min(92vw, 360px);
  padding: 0.85rem 1.1rem 0.95rem;
  text-align: center;
  border: 1px solid rgba(106, 140, 175, 0.28);
  border-radius: 0.55rem;
  background: rgba(232, 228, 218, 0.94);
  box-shadow: 0 6px 24px rgba(74, 74, 74, 0.08);
  backdrop-filter: blur(8px);
}

.capsule-toast--muted {
  border-color: rgba(106, 140, 175, 0.22);
}

.capsule-toast__eyebrow {
  margin: 0 0 0.35rem;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 0.58rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--capsule-dai-blue, #6a8caf);
}

.capsule-toast__title {
  margin: 0;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 0.92rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: var(--capsule-ink, #2c3438);
}

.capsule-toast__hint {
  margin: 0.45rem 0 0;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  line-height: 1.6;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
}

.blind-box-overlay--scanning .capsule-toast {
  animation: none;
}

.blind-box-overlay--no-signal .capsule-toast__title {
  color: var(--capsule-ink, #2c3438);
}

.capsule-blindbox__progress {
  margin-top: 0.65rem;
  height: 2px;
  width: 100%;
  border-radius: 999px;
  background: rgba(106, 140, 175, 0.14);
  overflow: hidden;
}

.capsule-blindbox__progress-bar {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(106, 140, 175, 0.2), #6a8caf, rgba(106, 140, 175, 0.2));
  animation-name: capsule-blindbox-progress;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

.ink-seal-stamp {
  position: relative;
  min-width: min(88vw, 320px);
  padding: 8px;
}

.ink-seal-stamp__texture {
  position: absolute;
  inset: 0;
  border: 3px solid var(--capsule-cinnabar, #d04a3a);
  border-radius: 6px 10px 8px 12px;
  transform: rotate(-1.2deg);
  filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='rough'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='2'/%3E%3C/filter%3E%3C/svg%3E%23rough");
  opacity: 0.92;
}

.ink-seal-stamp__body {
  position: relative;
  padding: 36px 44px 32px;
  text-align: center;
  background: rgba(232, 228, 218, 0.82);
  border: 2px solid var(--capsule-cinnabar, #b8504b);
  box-shadow: inset 0 0 0 1px rgba(184, 80, 75, 0.2);
}

.ink-seal-stamp__city {
  margin: 0 0 8px;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: clamp(2rem, 7vw, 2.6rem);
  letter-spacing: 0.22em;
  color: var(--capsule-cinnabar, #d04a3a);
  min-height: 46px;
}

.ink-seal-stamp__tagline {
  margin: 8px 0 0;
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  color: var(--capsule-ink, #2c2c2c);
}

.ink-seal-stamp__hint {
  margin: 18px 0 0;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  color: var(--capsule-text-muted, rgba(44, 44, 44, 0.55));
}

.blind-box-overlay.fade-out {
  animation: blind-box-fade-out 0.5s ease-in forwards;
}

.blind-box-overlay--scanning .blind-box-inner,
.blind-box-overlay--random.blind-box-overlay--scanning .blind-box-inner,
.blind-box-overlay--region .blind-box-inner,
.blind-box-overlay--no-signal .blind-box-inner {
  display: none;
}

.blind-box-overlay--scanning .city-name,
.blind-box-overlay--no-signal .city-name {
  color: var(--capsule-ink, #2c3438);
}

.blind-box-inner {
  background: rgba(232, 228, 218, 0.94);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(106, 140, 175, 0.28);
  border-radius: 0.55rem;
  padding: 32px 56px;
  text-align: center;
  min-width: 280px;
  box-shadow: 0 6px 24px rgba(74, 74, 74, 0.08);
  position: relative;
  overflow: hidden;
  transition: all 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.scan-line {
  display: none;
}

.city-name {
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: var(--capsule-cinnabar, #b8504b);
  margin: 0 0 8px;
  min-height: 46px;
}

.blind-box-overlay--region .capsule-blindbox__route {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 10px;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.12em;
  color: var(--capsule-cinnabar, #d04a3a);
  min-height: 46px;
}

.capsule-blindbox__route {
  white-space: nowrap;
}

.blind-box-overlay--region .city-name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

.capsule-blindbox__pin {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--capsule-cinnabar, #b8504b);
  box-shadow: none;
  flex-shrink: 0;
}

.scan-line--slow {
  animation-duration: 2.4s;
}

.capsule-overlay__dock--dimmed .capsule-overlay__lock,
.capsule-overlay__dock--dimmed .capsule-overlay__status {
  opacity: 0;
  pointer-events: none;
}

.city-tagline {
  font-size: 16px;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
  letter-spacing: 0.06em;
  margin: 8px 0 0;
}

.city-hint {
  font-size: 13px;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
  margin: 20px 0 0;
  letter-spacing: 0.08em;
}

.capsule-blindbox__eyebrow {
  margin: 0 0 10px;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: none;
  color: var(--capsule-dai-blue, #6a8caf);
}

.blind-box-overlay.legendary .blind-box-inner {
  border-color: #9d4edd;
  box-shadow:
    0 0 60px rgba(157, 78, 222, 0.5),
    0 0 100px rgba(144, 224, 239, 0.2);
}

.blind-box-overlay.legendary .city-name {
  color: #9d7dff;
}

.blind-box-overlay.epic .blind-box-inner {
  border-color: #ffd60a;
  box-shadow: 0 0 40px rgba(253, 203, 11, 0.4);
}

.blind-box-overlay.epic .city-name {
  color: #ffea00;
  text-shadow: 0 0 20px rgba(252, 218, 55, 0.6);
}

@keyframes scan-line {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

@keyframes blind-box-fade-in {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes blind-box-fade-out {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.95);
  }
}

@keyframes capsule-blindbox-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 rgba(168, 85, 247, 0);
  }
  50% {
    box-shadow: 0 0 14px rgba(168, 85, 247, 0.45);
  }
}

@keyframes blind-box-scan-pulse {
  0%,
  100% {
    box-shadow: 0 0 36px rgba(0, 200, 255, 0.16);
  }
  50% {
    box-shadow: 0 0 52px rgba(0, 200, 255, 0.28);
  }
}

@keyframes capsule-blindbox-progress {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.capsule-ripple {
  pointer-events: none;
  position: absolute;
  left: 50%;
  top: 58%;
  width: min(52vw, 240px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(74, 74, 74, 0.18);
  border-radius: 50%;
  opacity: 0.35;
  box-shadow: none;
}

.capsule-lock-flash {
  pointer-events: none;
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 58%, rgba(74, 74, 74, 0.06) 0%, transparent 55%);
}

.capsule-mic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--capsule-btn-border, rgba(106, 140, 175, 0.32));
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(8px);
  color: var(--capsule-dai-blue, #6a8caf);
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.capsule-mic:hover:not(:disabled) {
  color: var(--capsule-dai-blue, #6a8caf);
  border-color: rgba(106, 140, 175, 0.45);
  background: rgba(255, 255, 255, 0.85);
  transform: scale(1.04);
  box-shadow: none;
}

.capsule-mic--on {
  border-color: rgba(106, 140, 175, 0.55);
  color: #ffffff;
  background: var(--capsule-dai-blue, #6a8caf);
}

.capsule-input-ring {
  display: none;
}

.capsule-overlay__input--dock {
  pointer-events: auto;
  position: static;
  left: auto;
  top: auto;
  transform: none;
  z-index: auto;
  flex: 1;
  width: auto;
  min-width: 0;
}

.capsule-hud-input--dock {
  width: 100%;
  min-width: 0;
}

.capsule-hud-input--embedded {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.capsule-hud-input--embedded:focus-within {
  border: none;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.capsule-hud-input--dock .capsule-hud-input__field,
.capsule-hud-input--embedded .capsule-hud-input__field {
  text-align: left;
  font-family: 'PingFang SC', 'Microsoft YaHei', var(--capsule-font-body, 'Inter', sans-serif);
  font-size: clamp(0.92rem, 2.2vw, 1.02rem);
  line-height: 1.65;
  height: 1.75em;
  min-height: 1.75em;
  max-height: 1.75em;
  padding: 0;
  overflow: hidden;
  resize: none;
  scrollbar-width: none;
  box-sizing: border-box;
}

.capsule-hud-input--dock .capsule-hud-input__field::-webkit-scrollbar,
.capsule-hud-input--embedded .capsule-hud-input__field::-webkit-scrollbar {
  display: none;
}

.capsule-overlay__input {
  pointer-events: auto;
  position: absolute;
  left: 50%;
  top: 58%;
  transform: translate(-50%, -50%);
  z-index: 20;
  width: min(280px, 62vw);
  user-select: text;
  -webkit-user-select: text;
}

.capsule-hud-input {
  pointer-events: auto;
  position: relative;
  width: 100%;
  padding: 0.55rem 0.75rem 0.65rem;
  text-align: center;
  border: 1px solid var(--capsule-border);
  border-radius: 0.65rem;
  background: rgba(232, 228, 218, 0.94);
  box-shadow: 0 4px 18px rgba(74, 74, 74, 0.06);
  backdrop-filter: blur(10px);
  transition: border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease, background 0.35s ease;
}

.capsule-hud-input__ring {
  display: none;
}

.capsule-hud-input__field {
  position: relative;
  z-index: 2;
  width: 100%;
  resize: none;
  border: none;
  background: transparent;
  color: var(--capsule-body-text, #2c3438);
  font-family: 'PingFang SC', 'Microsoft YaHei', var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.55;
  text-align: center;
  text-transform: none;
  outline: none;
  caret-color: var(--capsule-dai-blue, #6a8caf);
  pointer-events: auto;
  user-select: text;
  -webkit-user-select: text;
}

.capsule-hud-input__field::placeholder {
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
}

.capsule-hud-input__field:focus {
  color: var(--capsule-body-text, #1e293b);
}

.capsule-hud-input:focus-within {
  border-color: rgba(106, 140, 175, 0.45);
  background: rgba(255, 255, 255, 0.82);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 22px 56px rgba(106, 140, 175, 0.14),
    0 0 0 4px rgba(106, 140, 175, 0.08);
  transform: translateY(-2px);
}

@keyframes capsule-hud-ring {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.72;
  }
  50% {
    transform: scale(1.03);
    opacity: 1;
  }
}

.capsule-input-ring__field {
  width: 100%;
  resize: none;
  border: none;
  background: transparent;
  color: var(--capsule-tech-blue, #00eeff);
  font-family: var(--capsule-font-body, 'Exo 2', sans-serif);
  font-size: 0.9rem;
  line-height: 1.5;
  outline: none;
}

.capsule-input-ring__field::placeholder {
  color: rgba(0, 238, 255, 0.45);
}

.capsule-overlay__earth-hint {
  margin: 0;
  padding: 0 0.75rem;
  text-align: center;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: rgba(44, 52, 56, 0.72);
  text-shadow:
    0 0 12px rgba(234, 240, 243, 0.95),
    0 1px 2px rgba(234, 240, 243, 0.85);
}

.capsule-overlay__status {
  text-align: center;
  max-width: min(88vw, 360px);
  font-family: var(--capsule-font-body, 'Inter', sans-serif);
  font-size: 0.62rem;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--capsule-text-muted, rgba(44, 52, 56, 0.68));
}

.capsule-prompt-html {
  pointer-events: none;
  user-select: none;
  width: min(240px, 52vw);
  text-align: center;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 0.68rem;
  font-weight: 300;
  letter-spacing: 0.12em;
  line-height: 1.75;
  color: rgba(44, 52, 56, 0.72);
}

.capsule-prompt-html:has(.capsule-hud-input) {
  pointer-events: auto;
}

@keyframes capsule-breathe {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.88;
  }
  50% {
    transform: scale(1.04);
    opacity: 1;
  }
}

@media (max-width: 768px) {
  .capsule-one-home__nebula {
    background-size: 100% 100%;
  }

  .capsule-scene {
    animation: none;
  }

  .capsule-hud-chrome__brand {
    top: max(1rem, calc(env(safe-area-inset-top) + 0.55rem));
    left: max(1rem, calc(env(safe-area-inset-left) + 0.75rem));
    max-width: calc(100vw - 7.5rem);
  }

  .capsule-hud-chrome__brand-name {
    font-size: 14px;
    letter-spacing: 0.16em;
  }

  .capsule-hud-chrome__brand-slogan {
    padding-left: 1.85rem;
    font-size: 9px;
    letter-spacing: 0.16em;
  }

  .paper-roam-brand-snail__glyph {
    width: 22px;
    height: auto;
  }

  .capsule-overlay__topbar {
    top: max(1rem, calc(env(safe-area-inset-top) + 0.55rem));
    right: max(1rem, calc(env(safe-area-inset-right) + 0.75rem));
    gap: 0.45rem;
  }

  .capsule-overlay__topbar-slogan {
    display: none;
  }

  .capsule-hud-btn,
  .capsule-action-btn,
  .capsule-mic,
  .capsule-city-label {
    animation-duration: 20s;
  }

  .capsule-hud-chrome__earth-guide,
  .capsule-hud-chrome__lock {
    font-size: 12px;
    max-width: min(52vw, 180px);
  }

  .capsule-hud-chrome__inscription {
    display: none;
  }

  .capsule-search-card {
    padding: 0.5rem 0.55rem 0.5rem 1rem;
    min-height: 3rem;
  }

  .capsule-search-card__actions {
    gap: 0.35rem;
  }

  .capsule-hud-btn,
  .capsule-action-btn,
  .capsule-mic,
  .capsule-blindbox-btn {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
  }

  .capsule-overlay__dock-row {
    flex-direction: row;
    align-items: center;
    gap: 0.45rem;
  }

  .capsule-hud-input--dock .capsule-hud-input__field,
  .capsule-hud-input--embedded .capsule-hud-input__field {
    font-size: 0.88rem;
  }

  .capsule-overlay__actions {
    justify-content: center;
    gap: 0.75rem;
  }

  .capsule-hud-chrome__title {
    max-width: min(94vw, 24rem);
  }

  .capsule-hud-chrome__title-brand {
    font-size: 18px;
  }

  .capsule-hud-chrome__title-slogan {
    font-size: 13px;
  }

  .capsule-hud-chrome__title-en {
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .capsule-hud-chrome__status,
  .capsule-hud-chrome__coords {
    font-size: 12px;
  }

  .capsule-hud-chrome__hint {
    font-size: 14px;
    text-transform: none;
    letter-spacing: 0.04em;
    max-width: min(94vw, 360px);
  }

  .capsule-prompt-html {
    font-size: 14px;
    width: min(300px, 86vw);
  }

  .capsule-overlay__status,
  .capsule-overlay__lock {
    font-size: 13px;
  }

  .capsule-blindbox-btn__label {
    font-size: 12px;
  }

  .capsule-overlay__controls {
    gap: 0.65rem;
  }

  .capsule-nav-menu__title {
    font-size: 12px;
  }

  .capsule-nav-menu__link {
    font-size: 13px;
  }

  .city-name {
    font-size: 32px;
    letter-spacing: 0.04em;
  }

  .city-tagline {
    font-size: 20px;
  }

  .city-hint {
    font-size: 16px;
    letter-spacing: 0.02em;
  }

  .blind-box-overlay--region .capsule-blindbox__route {
    font-size: 28px;
    white-space: normal;
  }

  .blind-box-overlay--scanning .capsule-blindbox__scan-title {
    font-size: 26px;
    letter-spacing: 0.04em;
  }

  .capsule-blindbox__eyebrow {
    font-size: 16px;
  }

  .blind-box-inner {
    width: min(94vw, 360px);
    padding: 1.5rem 1.25rem;
  }

  /* 生成页：固定 rem 基准，避免继承首页放大字号 */
  html.capsule-one-ai-active {
    font-size: 16px;
  }

  .capsule-ai-page {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    padding:
      max(0.35rem, env(safe-area-inset-top))
      max(0.5rem, env(safe-area-inset-right))
      max(0.5rem, env(safe-area-inset-bottom))
      max(0.5rem, env(safe-area-inset-left));
    font-size: 16px;
  }

  .capsule-ai-page__hud {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.3rem;
    min-height: 0;
  }

  .capsule-ai-page__back {
    flex: none;
    font-size: 12px;
    padding: 0.18rem 0.4rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  .capsule-ai-page__action {
    width: 1.85rem;
    height: 1.85rem;
  }

  .capsule-ai-page__title {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    text-align: left;
    text-transform: none;
    letter-spacing: 0.04em;
  }

  .capsule-ai-page__badge {
    flex: none;
    font-size: 10px;
    padding: 0.12rem 0.3rem;
    white-space: nowrap;
  }

  .capsule-ai-page__panel {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  .capsule-ai-interface {
    flex: 1;
    min-height: 0;
    height: auto !important;
    max-height: none !important;
  }

  .capsule-ai-interface .min-h-\[12rem\] {
    min-height: 3.5rem !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }

  .capsule-ai-interface article[aria-label='AI 回复'] .leading-relaxed {
    font-size: 14px;
    line-height: 1.45;
  }

  .capsule-ai-interface article[aria-label='AI 回复'] .rounded-xl {
    padding: 0.45rem 0.6rem;
  }

  .capsule-ai-interface article[aria-label='AI 回复'] {
    gap: 0.35rem;
  }

  .capsule-ai-interface article[aria-label='AI 回复'] > span {
    width: 1.5rem;
    height: 1.5rem;
  }

  .capsule-ai-interface [aria-label='行程快捷操作'] > div {
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .capsule-scene__fallback-core {
    animation: none;
  }

  .capsule-hud-input__ring {
    animation: none;
  }
}

/* AI 页驾驶舱 — 从 Capsule 注入后延续深空皮肤 */
html.capsule-one-ai-active {
  font-size: 16px;
}

html.capsule-one-ai-active,
html.capsule-one-ai-active body {
  overflow: auto;
  height: auto;
  min-height: 100%;
  background: var(--capsule-bg-gradient);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.capsule-ai-page {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  padding:
    max(0.75rem, env(safe-area-inset-top))
    max(0.75rem, env(safe-area-inset-right))
    max(1rem, env(safe-area-inset-bottom))
    max(0.75rem, env(safe-area-inset-left));
  background: var(--capsule-bg-gradient);
  color: var(--capsule-body-text, #e0e6ed);
  font-family: var(--capsule-font-body, 'Exo 2', sans-serif);
}

.capsule-ai-page__stars {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 50% 26%, rgba(0, 255, 255, 0.12), transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(255, 184, 0, 0.07), transparent 40%),
    radial-gradient(ellipse 92% 62% at 50% 38%, rgba(50, 70, 102, 0.22), transparent 72%),
    radial-gradient(1px 1px at 20% 30%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1px 1px at 70% 60%, rgba(255, 255, 255, 0.25), transparent),
    radial-gradient(1px 1px at 40% 80%, rgba(255, 255, 255, 0.2), transparent),
    var(--capsule-bg-gradient);
}

.capsule-ai-page__hud {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.capsule-ai-page__back {
  border: 1px solid var(--capsule-border);
  padding: 0.35rem 0.65rem;
  font-family: var(--capsule-font-display, 'Orbitron', sans-serif);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--capsule-tech-blue, #00ffff);
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.capsule-ai-page__back:hover {
  color: var(--capsule-body-text, #e0e6ed);
  border-color: var(--capsule-border-strong);
}

.capsule-ai-page__action {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--capsule-border);
  background: transparent;
  padding: 0;
  font-family: var(--capsule-font-display, 'Orbitron', sans-serif);
  color: var(--capsule-tech-blue, #00ffff);
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.capsule-ai-page__action:hover,
.capsule-ai-page__action[aria-expanded='true'] {
  color: var(--capsule-body-text, #e0e6ed);
  border-color: var(--capsule-border-strong);
  background: rgba(0, 255, 255, 0.06);
}

.capsule-ai-page__title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  font-family: var(--capsule-font-display, 'Orbitron', sans-serif);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: none;
  color: var(--capsule-tech-blue, #00ffff);
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.25);
}

.capsule-ai-page__status {
  position: relative;
  z-index: 2;
  margin-bottom: 0.5rem;
  text-align: center;
  font-size: 0.78rem;
  color: var(--capsule-text-muted);
}

.capsule-ai-page__status--warn {
  color: var(--capsule-warm-orange, #ffb800);
}

.capsule-ai-page__panel {
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: min(960px, 100%);
  margin: 0 auto;
}

.capsule-ai-interface {
  flex: 1;
  min-height: 0;
  height: min(52rem, calc(100dvh - 3.5rem)) !important;
  max-height: calc(100dvh - 3.5rem) !important;
  border-radius: 0 !important;
  border: 1px solid var(--capsule-border) !important;
  background: var(--capsule-surface-elevated) !important;
  box-shadow: none !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}

.capsule-ai-interface .border-slate-200,
.capsule-ai-interface .border-slate-200\/80,
.capsule-ai-interface .border-slate-200\/90 {
  border-color: var(--capsule-border) !important;
}

.capsule-ai-interface .bg-white,
.capsule-ai-interface .bg-white\/60,
.capsule-ai-interface .bg-slate-50,
.capsule-ai-interface .bg-slate-100,
.capsule-ai-interface .bg-slate-100\/90,
.capsule-ai-interface .bg-slate-200\/70,
.capsule-ai-interface .bg-violet-50\/60 {
  background: var(--capsule-surface) !important;
}

.capsule-ai-interface .text-slate-900,
.capsule-ai-interface .text-slate-800,
.capsule-ai-interface .text-slate-700 {
  color: var(--capsule-body-text, #e0e6ed) !important;
}

.capsule-ai-interface .text-slate-600,
.capsule-ai-interface .text-slate-500,
.capsule-ai-interface .text-slate-400 {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-interface .text-brand-600,
.capsule-ai-interface .text-brand-700,
.capsule-ai-interface .text-brand-800 {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface .shadow-sm,
.capsule-ai-interface .shadow-md {
  box-shadow: none !important;
}

.capsule-ai-interface .rounded-2xl,
.capsule-ai-interface .rounded-xl,
.capsule-ai-interface .rounded-lg,
.capsule-ai-interface .rounded-full,
.capsule-ai-interface .rounded-md {
  border-radius: 0 !important;
}

.capsule-ai-interface textarea,
.capsule-ai-interface input {
  color: var(--capsule-body-text, #e0e6ed) !important;
  background: transparent !important;
  scrollbar-width: none;
}

.capsule-ai-interface textarea::-webkit-scrollbar,
.capsule-ai-interface input::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.capsule-ai-interface textarea::placeholder,
.capsule-ai-interface input::placeholder {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-interface button[class*='bg-brand'],
.capsule-ai-interface button[class*='from-brand'] {
  border: 1px solid var(--capsule-border-strong) !important;
  background: rgba(0, 255, 255, 0.08) !important;
  color: var(--capsule-tech-blue, #00ffff) !important;
}

.capsule-ai-interface form,
.capsule-ai-interface .border-t {
  border-color: var(--capsule-border) !important;
  box-shadow: none !important;
}

.capsule-ai-composer {
  background: rgba(22, 32, 50, 0.82) !important;
  border-color: var(--capsule-border) !important;
  box-shadow: inset 0 1px 0 rgba(0, 255, 255, 0.06) !important;
}

.capsule-ai-composer .text-slate-400,
.capsule-ai-composer .text-slate-500 {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-composer textarea {
  border-color: var(--capsule-border) !important;
  background: rgba(0, 255, 255, 0.04) !important;
  color: var(--capsule-body-text, #e0e6ed) !important;
}

.capsule-ai-composer textarea::placeholder {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-composer [aria-label='热门城市快捷规划'] button {
  border-color: var(--capsule-border) !important;
  background: rgba(0, 255, 255, 0.05) !important;
  color: var(--capsule-body-text, #e0e6ed) !important;
}

.capsule-ai-composer [aria-label='热门城市快捷规划'] button:hover {
  border-color: var(--capsule-border-strong) !important;
  background: rgba(0, 255, 255, 0.1) !important;
  color: var(--capsule-tech-blue, #00ffff) !important;
}

.capsule-ai-composer [aria-label='热门城市快捷规划'] > div + div {
  border-color: var(--capsule-border) !important;
  background: rgba(0, 255, 255, 0.04) !important;
}

.capsule-ai-interface .bg-white\/95 {
  background: rgba(8, 12, 20, 0.96) !important;
}

.capsule-ai-interface .bg-white\/60.backdrop-blur-\[2px\] {
  background: rgba(8, 12, 20, 0.88) !important;
  backdrop-filter: blur(4px);
}

.capsule-ai-interface [aria-label='行程快捷操作'] {
  pointer-events: auto !important;
}

.capsule-ai-interface [aria-label='行程快捷操作'] > div {
  flex-wrap: nowrap;
  gap: 0.45rem;
}

.capsule-ai-interface [aria-label='行程快捷操作'] button {
  flex-shrink: 0;
  white-space: nowrap;
}

.capsule-ai-interface [aria-label='行程快捷操作'] button:not(:disabled) {
  border-color: var(--capsule-border-strong) !important;
  color: var(--capsule-body-text, #e0e6ed) !important;
  background: rgba(0, 255, 255, 0.08) !important;
}

.capsule-ai-interface [aria-label='行程快捷操作'] button:disabled {
  opacity: 0.38 !important;
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-interface .border-brand-200 {
  border-color: var(--capsule-border) !important;
}

.capsule-ai-interface .ai-chat-markdown {
  color: var(--capsule-body-text, #e0e6ed) !important;
}

.capsule-ai-interface .ai-chat-markdown strong {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface .ai-chat-markdown em {
  color: var(--capsule-warm-orange, #ffb800) !important;
  font-style: normal;
  opacity: 0.92;
}

.capsule-ai-interface .ai-chat-markdown h3,
.capsule-ai-interface .ai-chat-markdown h4,
.capsule-ai-interface .ai-chat-markdown h5 {
  color: var(--capsule-tech-blue, #00ffff) !important;
}

.capsule-ai-interface .ai-chat-markdown a {
  color: var(--capsule-tech-blue, #00ffff) !important;
}

.capsule-ai-interface .ai-chat-markdown .marker\:text-brand-500::marker,
.capsule-ai-interface .ai-chat-markdown .marker\:font-medium.marker\:text-brand-600::marker {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-overlay__status {
  text-shadow: 0 0 10px rgba(0, 255, 255, 0.2);
}

.capsule-ai-page--enter {
  animation: capsule-ai-enter 0.85s ease-out both;
}

@keyframes capsule-ai-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.capsule-ai-page__title-wrap {
  flex: 1;
  text-align: center;
}

.capsule-ai-page__signal {
  margin-top: 0.2rem;
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--capsule-text-muted);
}

.capsule-ai-toolbar h2 {
  color: var(--capsule-tech-blue, #00ffff) !important;
}

.capsule-ai-toolbar p {
  color: var(--capsule-text-muted) !important;
  font-family: var(--capsule-font-body, 'Exo 2', sans-serif);
}

.capsule-ai-empty__glyph {
  font-size: 1.5rem;
  color: var(--capsule-tech-blue, #00ffff);
  text-shadow: 0 0 16px rgba(0, 255, 255, 0.35);
  animation: capsule-breathe 2.4s ease-in-out infinite;
}

.capsule-voice-wave {
  position: absolute;
  bottom: calc(100% + 0.35rem);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-end;
  gap: 0.22rem;
  height: 1.5rem;
  margin-right: 0;
}

.capsule-voice-wave__bar {
  display: block;
  width: 0.18rem;
  height: 0.45rem;
  background: var(--capsule-tech-blue, #00ffff);
  animation: capsule-voice-bar 0.9s ease-in-out infinite alternate;
}

@keyframes capsule-voice-bar {
  from {
    transform: scaleY(0.35);
    opacity: 0.45;
  }
  to {
    transform: scaleY(1.35);
    opacity: 1;
  }
}

.capsule-overlay__controls {
  flex-wrap: nowrap;
}

.capsule-overlay__lock {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.35rem;
  font-family: var(--capsule-font-serif, 'Noto Serif SC', serif);
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: none;
  color: var(--capsule-cinnabar, #b8504b);
}

.capsule-overlay__lock-dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--capsule-cinnabar, #b8504b);
  animation: none;
  opacity: 0.75;
}

@keyframes capsule-lock-dot {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

.capsule-overlay__status--preview {
  color: var(--capsule-body-text, #e0e6ed);
  font-size: 0.72rem;
  letter-spacing: 0.03em;
  text-transform: none;
  line-height: 1.45;
}

.capsule-action-btn--pulse {
  animation: capsule-keyboard-pulse 1.8s ease-in-out infinite;
}

@keyframes capsule-keyboard-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(0, 255, 255, 0.18);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(0, 255, 255, 0);
  }
}

.capsule-city-label-html {
  pointer-events: none;
  user-select: none;
}

.capsule-city-label {
  display: inline-block;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  border: 1px solid var(--capsule-border);
  background: rgba(245, 242, 235, 0.88);
  font-family: var(--capsule-font-display, 'Orbitron', sans-serif);
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  color: var(--capsule-body-text, #1e293b);
  white-space: nowrap;
  backdrop-filter: blur(8px);
  transition: all 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
  animation: capsule-tag-float 7s ease-in-out infinite alternate;
}

.capsule-city-label--locked {
  border-color: var(--capsule-border-strong);
  color: var(--capsule-tech-blue, #00d1ff);
  box-shadow: 0 10px 30px rgba(0, 209, 255, 0.15);
  transform: translateY(-2px);
}

.capsule-ai-interface #ai-travel-params-panel [class*='text-brand'] {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface #ai-travel-params-panel h3 {
  color: var(--capsule-tech-blue, #00ffff) !important;
}

/* Paper Roam search dock — override generic overlay input positioning */
.capsule-search-card .capsule-overlay__input.capsule-overlay__input--dock {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  z-index: auto;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

.capsule-search-card .capsule-hud-input.capsule-hud-input--dock.capsule-hud-input--embedded {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  align-items: center;
  min-height: 1.75em;
}

.capsule-search-card .capsule-hud-input.capsule-hud-input--dock.capsule-hud-input--embedded:focus-within {
  border: none;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.capsule-search-card .capsule-hud-input.capsule-hud-input--dock.capsule-hud-input--embedded .capsule-hud-input__ring {
  display: none;
}

.capsule-search-card .capsule-hud-input--dock .capsule-hud-input__field,
.capsule-search-card .capsule-hud-input--embedded .capsule-hud-input__field {
  width: 100%;
  display: block;
  line-height: 1.65;
  height: 1.75em;
  min-height: 1.75em;
  max-height: 1.75em;
  padding: 0;
  margin: 0;
}

/* Paper Roam · 品牌角标蜗牛 */
.paper-roam-brand-snail {
  display: inline-flex;
  flex-shrink: 0;
  opacity: 0.68;
  filter: drop-shadow(0 1px 2px rgba(58, 48, 38, 0.08));
  animation: paper-roam-brand-snail-idle 7.2s ease-in-out infinite;
}

.paper-roam-brand-snail__figure {
  display: block;
  transform-origin: 16% 84%;
  animation: paper-roam-brand-snail-wiggle 5.4s ease-in-out infinite;
}

.paper-roam-brand-snail__antenna {
  transform-origin: 50% 90%;
  animation: paper-roam-brand-snail-antenna 4.6s ease-in-out infinite;
}

.paper-roam-brand-snail__antenna--right {
  animation-delay: -0.8s;
}

@keyframes paper-roam-brand-snail-wiggle {
  0%,
  100% {
    transform: scaleY(1) skewX(0deg);
  }
  50% {
    transform: scaleY(1.03) skewX(-2deg);
  }
}

@keyframes paper-roam-brand-snail-antenna {
  0%,
  100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(4deg);
  }
}

@keyframes paper-roam-brand-snail-idle {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(2px, 0.5px);
  }
}

@media (max-width: 768px) {
  .capsule-overlay__dock {
    bottom: calc(max(1.35rem, env(safe-area-inset-bottom) + 1rem));
  }

  .capsule-overlay__beian {
    font-size: 0.56rem;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .paper-roam-brand-snail,
  .paper-roam-brand-snail__figure,
  .paper-roam-brand-snail__antenna {
    animation: none !important;
  }
}

/* 兼容入口：主题变量统一来自 theme.scss */
/* 蜗牛旅行 · 浅米白极简全局主题（固定色彩系统 · 对齐设计定稿） */
/* —— 设计稿命名（与下方 theme-* 同源） —— */
/* 移动端首页搜索条：柔和米白 + 浅描边 */
/* —— 兼容既有 theme-* 命名 —— */
:root,
.holo-app-shell,
:root.holo-home-active {
  --bg-base: #f9f7ef;
  --bg-card: #fffffb;
  --bg-search: #f8f8f6;
  --line-search: #e6e6e2;
  --color-main: #285948;
  --color-assist: #72a893;
  --color-sand: #d9c8b4;
  --color-sky: #98b8c7;
  --text-title: #222c28;
  --text-body: #444440;
  --text-light: #70706a;
  --theme-bg: #f9f7ef;
  --theme-bg-soft: #f3f0e4;
  --theme-surface: #fffffb;
  --theme-surface-raised: #f7f3e8;
  --theme-title: #222c28;
  --theme-ink: #444440;
  --theme-muted: #5a6f66;
  --theme-faint: #70706a;
  --theme-line: #c5d4cb;
  --theme-accent: #285948;
  --theme-accent-soft: #72a893;
  --theme-accent-warm: #d9c8b4;
  --theme-accent-sky: #98b8c7;
  --theme-primary: #285948;
  --theme-secondary: #72a893;
  --theme-body: #444440;
  --theme-sand: #d9c8b4;
  --theme-sky: #98b8c7;
  --color-primary: #285948;
  --color-secondary: #72a893;
  --theme-brand-from: #285948;
  --theme-brand-to: #eef5f1;
  --theme-brand-gradient: linear-gradient(135deg, #285948 0%, #eef5f1 100%);
  --theme-earth-glow: rgba(114, 168, 147, 0.14);
  --theme-radius-sm: 6px;
  --theme-radius-md: 12px;
  --theme-radius-lg: 20px;
  --theme-shadow-sm: 0 1px 4px rgba(34, 44, 40, 0.05);
  --theme-shadow-md: 0 4px 14px rgba(34, 44, 40, 0.07);
  --theme-font: PingFang SC, Noto Sans SC, Segoe UI, system-ui, sans-serif;
  --theme-bg-gradient: #f9f7ef;
  --holo-cyan: #72a893;
  --holo-cyan-light: #98b8c7;
  --holo-cyan-dark: #285948;
  --holo-text-dark: #222c28;
  --holo-text-gray: #5a6f66;
  --holo-text-light: #70706a;
  --holo-bg-main: #f9f7ef;
  --holo-bg-card: #fffffb;
  --holo-border-light: #c5d4cb;
  --holo-radius-sm: 6px;
  --holo-radius-md: 12px;
  --holo-radius-lg: 20px;
  --holo-space-xs: 8px;
  --holo-space-sm: 16px;
  --holo-space-md: 24px;
  --holo-space-lg: 40px;
  --holo-space-xl: 80px;
  --holo-glow: 0 1px 4px rgba(34, 44, 40, 0.05);
  --holo-text-glow: none;
  --holo-bg-gradient: var(--theme-bg-gradient);
}
/* 首页：仅由文档滚动，避免 shell 嵌套滚动裁切页脚
 *
 * 【视觉统一 · 氛围优化】
 * - 圆角：卡片 / 模块用 --theme-radius-md / --theme-radius-lg
 * - 字号：主标题 clamp；模块小标题 17px 墨绿；正文 13–14；辅助 11–12
 * - 墨绿：仅按钮、图标、小标题；不大面积铺色
 */
html.holo-home-active,
html.holo-home-active body {
  height: auto;
  min-height: 100%;
  overflow-x: clip;
  overflow-y: auto;
}

html.holo-home-active #root {
  height: auto;
  min-height: 100%;
  overflow: visible;
}

.holo-app-shell {
  min-height: 100dvh;
  height: auto;
  overflow-x: clip;
  overflow-y: auto;
  background: var(--theme-bg);
}

.holo-app-shell:has(.holo-home) {
  min-height: 100dvh;
  height: auto;
  max-height: none;
  overflow: visible;
  background: var(--theme-bg);
}

.holo-app-shell:has(.holo-home) > #main-content {
  min-height: auto;
  height: auto;
  max-height: none;
  overflow: visible;
}

.holo-home {
  width: 100%;
  min-height: 100dvh;
  height: auto;
  max-height: none;
  display: flex;
  flex-direction: column;
  overflow: visible;
  background: var(--theme-bg);
  color: var(--theme-ink);
  font-family: var(--theme-font);
  /* PC 顶栏控件约 40px；64px 高度上下约 12px 留白，避免视觉贴顶 */
  --holo-header-h: 64px;
  padding-top: var(--holo-header-h);
  box-sizing: border-box;
}

/*
 * Hero PNG sealed：仅外层 translateY 轻柔起伏。
 * 禁止触角分层 / 壳旋转拆图 / 地球独立自转（见 hero-snail-lock）。
 * 「地球感」由氛围经纬线慢旋 + 柔光承担，不改锁定 PNG。
 */
.snail-earth-container {
  opacity: 0;
  animation:
    fadeIn 0.85s ease-out forwards,
    snailSoftFloat 9.5s cubic-bezier(0.42, 0.08, 0.28, 1) 0.85s infinite;
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* 低端机 / 省流 / 减少动效：静态图 */
.snail-earth-container.is-static,
.holo-home.is-hero-static .snail-earth-container {
  opacity: 1;
  animation: none;
  will-change: auto;
  transform: none;
}

/* 封存内：多段轻微起伏，模拟慢行蠕动感（整图，不拆层） */
@keyframes snailSoftFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  22% {
    transform: translateY(-3px);
  }
  48% {
    transform: translateY(-7px);
  }
  72% {
    transform: translateY(-2px);
  }
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

@keyframes holo-glow-breathe {
  0%,
  100% {
    opacity: 0.88;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.03);
  }
}

@keyframes holo-path-flow {
  to {
    stroke-dashoffset: -48;
  }
}

.snail-earth-container .holo-home__snail-img {
  transform: none;
}

/* hover：浮动略加快 + 氛围经纬略加速（不拆 PNG） */
@media (hover: hover) and (pointer: fine) {
  .holo-home:not(.is-hero-static)
    .holo-home__drive-entry:hover
    .snail-earth-container:not(.is-static),
  .holo-home:not(.is-hero-static)
    .holo-home__drive-entry:focus-visible
    .snail-earth-container:not(.is-static) {
    animation-duration: 0.85s, 6.2s;
  }

  .holo-home:not(.is-hero-static)
    .holo-home__hero:has(.holo-home__drive-entry:hover)
    .holo-home__atmosphere-meridian,
  .holo-home:not(.is-hero-static)
    .holo-home__hero:has(.holo-home__drive-entry:focus-visible)
    .holo-home__atmosphere-meridian {
    animation-duration: 22s;
  }

  .holo-home:not(.is-hero-static)
    .holo-home__hero:has(.holo-home__drive-entry:hover)
    .holo-home__graphic-stage::before,
  .holo-home:not(.is-hero-static)
    .holo-home__hero:has(.holo-home__drive-entry:focus-visible)
    .holo-home__graphic-stage::before {
    animation-duration: 6s;
  }
}

/* 顶栏：固定高度行 + 可展开汉堡菜单 */
.holo-home__header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1200;
  width: 100%;
  min-height: var(--holo-header-h);
  height: auto;
  box-sizing: border-box;
  background: var(--theme-bg);
  border-bottom: 1px solid var(--theme-line);
}

.holo-home__header-inner {
  display: flex;
  width: 100%;
  max-width: 1440px;
  min-height: var(--holo-header-h);
  height: var(--holo-header-h);
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 28px;
  box-sizing: border-box;
}

.holo-home__brand-wrap {
  min-width: 0;
  display: flex;
  align-items: center;
  min-height: 40px;
}

.holo-home__brand-wrap .snail-brand-logo {
  gap: 10px;
  align-items: center;
}

.holo-home__brand-wrap .snail-brand-logo__title {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0;
}

.holo-home__brand-wrap .snail-brand-logo__zh {
  font-size: 17px;
  font-weight: 700;
  color: var(--theme-accent);
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.holo-home__brand-wrap .snail-brand-logo__en {
  color: var(--theme-accent);
  font-size: 12px;
  font-weight: 450;
  letter-spacing: 0.03em;
  line-height: 1.25;
  opacity: 0.92;
}

.holo-home__brand-wrap .snail-brand-logo__slogan {
  display: none;
}

.holo-home__brand-wrap--mobile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 0;
}

.holo-home__header-slogan-flat {
  margin: 0 8px 0 0;
  color: var(--theme-muted, var(--text-light));
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.holo-home__header-slogan-mobile {
  margin: 0;
  max-width: min(58vw, 220px);
  color: var(--theme-muted, var(--text-light));
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.holo-home__header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  height: 40px;
  margin: 0;
  align-self: center;
}

.holo-home__search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--theme-line);
  border-radius: 50%;
  background: transparent;
  color: var(--color-main);
  text-decoration: none;
  cursor: pointer;
  transition:
    border-color 0.35s ease,
    background-color 0.35s ease,
    color 0.35s ease;
}

.holo-home__search:hover,
.holo-home__search:focus-visible {
  border-color: var(--color-assist);
  background: color-mix(in srgb, var(--color-assist) 10%, transparent);
  outline: none;
}

.holo-home__search-icon {
  width: 20px;
  height: 20px;
}

/* PC 首屏常驻搜索框 */
.holo-home__nav-search {
  display: none;
  align-items: center;
  gap: 8px;
  min-width: 200px;
  max-width: 280px;
  height: 40px;
  padding: 0 12px 0 14px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--bg-card) 88%, var(--theme-bg));
  color: var(--color-main);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

/* 焦点落在外层胶囊上，避免 input 出现浏览器默认蓝框 */
.holo-home__nav-search:focus-within {
  border-color: color-mix(in srgb, var(--color-assist) 55%, var(--theme-line));
  background: var(--bg-card);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-assist) 16%, transparent);
}

.holo-home__nav-search-icon-btn {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.holo-home__nav-search-icon-btn:hover,
.holo-home__nav-search-icon-btn:focus-visible {
  color: var(--color-main);
  outline: none;
}

.holo-home__nav-search .holo-home__search-icon {
  width: 18px;
  height: 18px;
  opacity: 0.75;
}

.holo-home__nav-search-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--text-body);
  font: inherit;
  font-size: 13px;
  outline: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.holo-home__nav-search-input:focus,
.holo-home__nav-search-input:focus-visible {
  outline: none;
  border: none;
  box-shadow: none;
}

.holo-home__nav-search-input::placeholder {
  color: var(--theme-faint);
}

/* PC 顶栏：语音 / 语言 / 搜索同一行、同一高度，避免错位 */
@media (min-width: 1024px) {
  .holo-home__header-inner {
    flex-wrap: nowrap;
    gap: 20px;
  }

  .holo-home__brand-wrap {
    flex: 0 1 auto;
    max-width: min(42vw, 420px);
  }

  .holo-home__header-right {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    height: 40px;
    margin-left: auto;
    margin-block: 0;
  }

  .holo-home__nav-search {
    display: inline-flex;
    flex: 0 0 auto;
    width: 260px;
    min-width: 220px;
    max-width: 280px;
    height: 40px;
  }

  .holo-home__voice--nav {
    margin-inline-end: 0;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    height: 40px;
    align-self: center;
  }

  .holo-home__voice--nav .holo-home__voice-btn {
    width: 40px;
    height: 40px;
    margin: 0;
  }

  .holo-home__voice--nav .holo-home__voice-icon {
    width: 18px;
    height: 18px;
  }

  /* 识别状态改为浮层，不挤占顶栏排序 */
  .holo-home__voice--nav .holo-home__voice-status,
  .holo-home__voice--nav .holo-home__voice-finish {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 30;
    max-width: 240px;
    padding: 6px 10px;
    border: 1px solid var(--theme-line);
    border-radius: 10px;
    background: var(--bg-card, var(--theme-surface));
    box-shadow: var(--theme-shadow-sm);
    white-space: normal;
  }

  .holo-home__lang--nav {
    display: inline-flex;
    align-items: center;
    height: 40px;
    margin: 0;
    box-sizing: border-box;
    align-self: center;
  }

  .holo-home__lang--nav button {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
  }
}

@media (min-width: 1024px) {
  .holo-home__nav-search {
    display: inline-flex;
  }
}

.holo-home__lang--nav {
  margin: 0;
  padding: 2px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  background: var(--bg-card);
  align-self: center;
}

.holo-home__lang--nav button {
  min-width: 36px;
  padding: 4px 8px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--text-light);
  font-size: 11px;
  cursor: pointer;
  transition:
    background-color 0.35s ease,
    color 0.35s ease;
}

.holo-home__lang--nav button.is-active {
  background: color-mix(in srgb, var(--color-assist) 14%, var(--bg-card));
  color: var(--color-main);
}

/* 移动端首页通栏搜索（LOGO 行下方直出，无二级抽屉） */
.holo-home__mobile-search {
  display: none;
  flex-direction: column;
  gap: 0;
  width: 100%;
  padding: 0 16px 2px;
  box-sizing: border-box;
  animation: holoMobileSearchIn 220ms ease-out both;
}

@keyframes holoMobileSearchIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.holo-home__mobile-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line-search, var(--theme-line));
  border-radius: 16px;
  background: var(--bg-search, var(--bg-base));
  box-sizing: border-box;
  transition:
    border-color 180ms ease-out,
    background-color 180ms ease-out,
    transform 180ms ease-out;
}

.holo-home__mobile-search-bar:focus-within {
  border-color: color-mix(in srgb, var(--color-assist) 55%, var(--line-search, var(--theme-line)));
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--color-assist) 10%, var(--bg-search, var(--bg-base))) 0%,
    var(--bg-search, var(--bg-base)) 100%
  );
}

.holo-home__mobile-search-bar .holo-home__voice {
  margin: 0;
  flex-shrink: 0;
}

.holo-home__mobile-search-bar .holo-home__voice-btn {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border-color: color-mix(in srgb, var(--line-search, var(--theme-line)) 80%, var(--theme-line));
  transition:
    transform 180ms ease-out,
    background-color 180ms ease-out,
    border-color 180ms ease-out;
}

.holo-home__mobile-search-bar .holo-home__voice-btn:active {
  transform: scale(0.97);
}

.holo-home__mobile-search-bar .holo-home__voice-status {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 3;
  margin: 0;
  padding: 6px 10px;
  border-radius: 12px;
  background: var(--bg-card, var(--theme-surface));
  border: 1px solid var(--line-search, var(--theme-line));
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
}

.holo-home__mobile-search-input {
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-body, var(--theme-ink));
  font-size: 15px;
  line-height: 1.4;
  outline: none;
}

.holo-home__mobile-search-input::placeholder {
  color: var(--text-light, var(--theme-faint));
  font-size: 14px;
}

.holo-home__mobile-search-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: var(--color-main);
  color: var(--bg-base, #f9f7ef);
  cursor: pointer;
  transition:
    transform 180ms ease-out,
    background-color 180ms ease-out,
    filter 180ms ease-out;
}

.holo-home__mobile-search-icon-btn:hover,
.holo-home__mobile-search-icon-btn:focus-visible {
  filter: brightness(1.06);
  outline: none;
}

.holo-home__mobile-search-icon-btn:active {
  transform: scale(0.97);
}

.holo-home__mobile-search-icon-btn .holo-home__search-icon {
  width: 18px;
  height: 18px;
}

.holo-home__mobile-search-form {
  display: block;
  width: 100%;
}

/* 已并入搜索栏右侧图标提交，保留类名避免旧缓存误伤 */
.holo-home__mobile-search-plan {
  display: none;
  transition:
    transform 180ms ease-out,
    filter 180ms ease-out,
    opacity 220ms ease-out;
}

.holo-home__mobile-search-plan:hover,
.holo-home__mobile-search-plan:focus-visible {
  filter: brightness(1.04);
  outline: none;
}

.holo-home__mobile-search-plan:active {
  transform: scale(0.97);
}

/* PC ??? / ??? FAB??? theme ?? */
.holo-home__voice {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

.holo-home__voice--nav {
  margin-inline-end: 4px;
}

.holo-home__voice--fab {
  position: fixed;
  right: 20px;
  bottom: calc(80px + env(safe-area-inset-bottom));
  z-index: 99;
  flex-direction: column;
  align-items: flex-end;
}

.holo-home__voice-btn {
  position: relative;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--theme-primary, var(--theme-accent));
  border-radius: 50%;
  background: transparent;
  color: var(--theme-primary, var(--theme-accent));
  cursor: pointer;
  z-index: 2;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease,
    transform 0.2s ease,
    opacity 0.2s ease;
}

.holo-home__voice-btn:hover,
.holo-home__voice-btn:focus-visible {
  background: var(--theme-secondary, var(--theme-accent-soft));
  border-color: var(--theme-secondary, var(--theme-accent-soft));
  color: var(--theme-surface, #fffef8);
  outline: none;
  transform: translateY(-1px);
}

.holo-home__voice-btn:disabled,
.holo-home__voice.is-unsupported .holo-home__voice-btn {
  opacity: 0.42;
  cursor: not-allowed;
  transform: none;
  filter: grayscale(0.35);
}

.holo-home__voice-icon {
  width: 22px;
  height: 22px;
  position: relative;
  z-index: 1;
}

.holo-home__voice-ripple {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--color-main) 45%, transparent);
  animation: holo-voice-ripple 1.6s ease-out infinite;
  pointer-events: none;
}

.holo-home__voice-ripple::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--color-main) 28%, transparent);
  animation: holo-voice-ripple 1.6s ease-out 0.35s infinite;
}

.holo-home__voice.is-active .holo-home__voice-btn {
  background: color-mix(in srgb, var(--theme-secondary, var(--theme-accent-soft)) 18%, transparent);
  animation: holo-voice-pulse 2.4s ease-in-out infinite;
}

.holo-home__voice-status {
  margin: 0;
  max-width: min(52vw, 220px);
  color: var(--theme-muted);
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.holo-home__voice--fab .holo-home__voice-status {
  order: -1;
  padding: 6px 10px;
  border: 1px solid var(--theme-line);
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow-sm);
}

.holo-home__voice-status.is-error {
  color: var(--theme-accent-warm, #b07a5a);
}

.holo-home__voice-finish {
  margin: 0;
  padding: 4px 10px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  background: transparent;
  color: var(--theme-accent);
  font-size: 11px;
  cursor: pointer;
}

.holo-home__voice-finish:hover {
  border-color: var(--theme-accent);
}

@keyframes holo-voice-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--theme-secondary, var(--theme-accent-soft)) 28%, transparent);
  }
  50% {
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--theme-secondary, var(--theme-accent-soft)) 0%, transparent);
  }
}

@keyframes holo-voice-ripple {
  0% {
    transform: scale(0.92);
    opacity: 0.7;
  }
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

.holo-home__clarify-city-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.holo-home__clarify-city-input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  background: var(--bg-card, var(--theme-surface));
  color: var(--text-body);
  font: inherit;
  font-size: 14px;
}

.holo-home__clarify-city-input:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--color-main) 40%, var(--theme-line));
}

.holo-home__header-slogan {
  margin: 0;
  color: var(--theme-muted);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.14em;
  white-space: nowrap;
}

.holo-home__header-slogan-core,
.holo-home__header-slogan-tail {
  font-weight: 400;
}

/* 宽屏双侧扩展槽：无有效配置时不渲染 aside，主栏布局不变 */
.holo-home__body {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  box-sizing: border-box;
}

.holo-home__side-rail {
  display: none;
  position: sticky;
  top: calc(var(--holo-header-h) + 16px);
  flex: 0 0 140px;
  width: 140px;
  max-width: 140px;
  box-sizing: border-box;
  padding-top: 28px;
  z-index: 1;
}

.holo-home__side-rail.is-active {
  display: block;
}

.holo-home__side-rail-shell {
  position: relative;
}

.holo-home__side-rail-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 10px;
  border-radius: var(--theme-radius-md);
  border: 1px solid color-mix(in srgb, var(--color-sand) 55%, var(--theme-line));
  background: color-mix(in srgb, var(--bg-card) 88%, var(--theme-bg));
  box-shadow: var(--theme-shadow-sm);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.holo-home__side-rail-card--static {
  cursor: default;
}

@media (hover: hover) and (pointer: fine) {
  a.holo-home__side-rail-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--theme-shadow-md);
  }
}

.holo-home__side-rail-img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: calc(var(--theme-radius-md) - 4px);
  background: color-mix(in srgb, var(--color-assist) 28%, var(--theme-bg));
}

.holo-home__side-rail-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.holo-home__side-rail-title {
  color: var(--text-title);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.holo-home__side-rail-sub {
  color: var(--theme-muted);
  font-size: 11px;
  line-height: 1.4;
}

.holo-home__side-rail-close {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 2;
  width: 22px;
  height: 22px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-bg) 82%, transparent);
  color: var(--theme-muted);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}

.holo-home__side-rail-close:hover,
.holo-home__side-rail-close:focus-visible {
  color: var(--text-title);
  outline: none;
}

@media (min-width: 1600px) {
  .holo-home__body:has(.holo-home__side-rail.is-active) {
    gap: 16px;
    padding-inline: 20px;
  }
}

/* Main：随内容增高，避免 flex 压缩导致下半屏裁切 */
.holo-home__main {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 28px 56px;
  box-sizing: border-box;
  flex: 1 1 auto;
  min-width: 0;
  min-height: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: visible;
}

.holo-home__section-title {
  margin: 0 0 12px;
  color: var(--color-main);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.holo-home__section-title--block {
  margin: 0 0 14px;
  color: var(--color-main);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: left;
}

/* Hero */
.holo-home__hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding: 12px 0 16px;
  box-sizing: border-box;
  /* 勿 hidden：否则蜗牛/地球顶部会被裁切 */
  overflow: visible;
  flex: 0 0 auto;
}

/* 淡山水底层纹理 + 飞鸟远山（不遮挡主视觉） */
.holo-home__atmosphere {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  color: var(--color-main);
  overflow: hidden;
}

.holo-home__atmosphere-landscape {
  position: absolute;
  inset: 8% 0 0;
  width: 100%;
  height: 92%;
  opacity: 0.05;
}

.holo-home__atmosphere-meridian {
  position: absolute;
  right: 8%;
  top: 18%;
  width: min(34vw, 220px);
  height: min(34vw, 220px);
  opacity: 0.09;
  color: var(--color-assist);
  transform-origin: 50% 50%;
  animation: holo-meridian-drift 56s linear infinite;
  will-change: transform;
}

.holo-home__atmosphere-meridian circle,
.holo-home__atmosphere-meridian ellipse,
.holo-home__atmosphere-meridian path {
  stroke-dasharray: 4 6;
  animation: holo-path-flow 18s linear infinite;
}

.holo-home__atmosphere-path {
  position: absolute;
  right: 14%;
  top: 42%;
  width: min(28vw, 200px);
  opacity: 0.12;
  color: var(--color-sand);
}

.holo-home__atmosphere-path path {
  stroke-dasharray: 2 5;
  animation: holo-path-flow 14s linear infinite;
}

.holo-home__atmosphere-bird {
  position: absolute;
  width: 28px;
  opacity: 0.12;
  color: var(--color-main);
}

.holo-home__atmosphere-bird--a {
  left: 12%;
  top: 18%;
}

.holo-home__atmosphere-bird--b {
  left: 22%;
  top: 26%;
  width: 22px;
  opacity: 0.09;
}

.holo-home__atmosphere-peaks {
  position: absolute;
  left: 6%;
  bottom: 10%;
  width: min(30vw, 180px);
  opacity: 0.08;
  color: var(--color-main);
}

@keyframes holo-meridian-drift {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.holo-home__hero-stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    'title'
    'graphic'
    'desc'
    'mind'
    'search';
  align-items: center;
  justify-items: center;
  gap: 8px;
  width: 100%;
  flex: 0 0 auto;
  min-height: 0;
  padding: 4px 0 6px;
}

/* PC：左右分栏；移动：上下堆叠 */
.holo-home__hero-stage--split {
  display: grid;
  grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
  grid-template-areas:
    'title graphic'
    'desc graphic'
    'mind graphic'
    'search graphic';
  align-items: center;
  gap: 8px 28px;
  width: 100%;
  max-width: 1120px;
}

.holo-home__hero-stage--stack {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    'title'
    'graphic'
    'desc'
    'mind'
    'search';
  align-items: center;
  gap: 8px;
  width: 100%;
}

.holo-home__hero-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

.holo-home__graphic-deco {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  pointer-events: none;
}

.holo-home__hero-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 520px;
  margin: 0;
  text-align: center;
  flex: 0 0 auto;
}

.holo-home__hero-stage--split .holo-home__hero-copy {
  max-width: none;
  text-align: left;
}

.holo-home__hero-stage--split .holo-home__hero-title,
.holo-home__hero-stage--split .holo-home__hero-desc {
  text-align: left;
}

.holo-home__hero-title {
  grid-area: title;
  margin: 0;
  color: var(--text-title);
  font-size: clamp(30px, 7.2vw, 42px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.08;
  text-align: center;
}

.holo-home__hero-desc {
  grid-area: desc;
  margin: 0;
  color: var(--text-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.02em;
  text-align: center;
}

.holo-home__hero-mindshare {
  grid-area: mind;
  margin: 0;
  max-width: 36em;
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.02em;
  text-align: center;
}

/* slogan 下方大搜索：首屏绝对视觉重心 */
.holo-home__hero-search {
  grid-area: search;
  position: relative;
  width: 100%;
  max-width: min(92vw, 680px);
  margin: 4px auto 0;
}

.holo-home__hero-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 56px;
  padding: 6px 6px 6px 18px;
  border: 2.5px solid color-mix(in srgb, var(--color-main) 42%, var(--theme-line));
  border-radius: var(--theme-radius-lg, 16px);
  background: color-mix(in srgb, var(--bg-card, #fffef8) 96%, transparent);
  box-shadow:
    var(--theme-shadow-md),
    0 0 0 1px color-mix(in srgb, var(--color-main) 8%, transparent);
  transition:
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.28s ease;
}

.holo-home__hero-search-bar:focus-within {
  border-color: color-mix(in srgb, var(--color-main) 62%, var(--color-assist));
  box-shadow:
    0 0 0 4px color-mix(in srgb, var(--color-main) 12%, transparent),
    var(--theme-shadow-md);
  transform: translateY(-1px);
}

.holo-home__hero-search-input {
  flex: 1 1 auto;
  min-width: 0;
  border: none;
  background: transparent;
  color: var(--text-title);
  font-size: clamp(16px, 2.2vw, 18px);
  line-height: 1.4;
  outline: none;
}

.holo-home__hero-search-input::placeholder {
  color: var(--theme-muted);
}

.holo-home__hero-search-submit {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: var(--theme-radius-md, 12px);
  background: var(--color-main);
  color: #fffef8;
  cursor: pointer;
  transition: background-color 0.25s ease, transform 0.2s ease;
}

.holo-home__hero-search-submit:hover,
.holo-home__hero-search-submit:focus-visible {
  background: color-mix(in srgb, var(--color-main) 88%, #000);
  outline: none;
}

.holo-home__hero-search-submit .holo-home__search-icon {
  width: 20px;
  height: 20px;
}

/* 搜索框内语音：紧邻提交按钮 */
.holo-home__hero-search-bar .holo-home__voice--search {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  align-self: center;
}

.holo-home__hero-search-bar .holo-home__voice--search .holo-home__voice-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--color-main) 35%, var(--theme-line));
  background: transparent;
  color: var(--color-main);
  transform: none;
}

.holo-home__hero-search-bar .holo-home__voice--search .holo-home__voice-btn:hover,
.holo-home__hero-search-bar .holo-home__voice--search .holo-home__voice-btn:focus-visible {
  background: color-mix(in srgb, var(--color-main) 10%, transparent);
  transform: none;
}

.holo-home__hero-search-bar .holo-home__voice--search .holo-home__voice-icon {
  width: 18px;
  height: 18px;
}

.holo-home__hero-search-bar .holo-home__voice--search .holo-home__voice-status {
  position: absolute;
  left: 50%;
  right: auto;
  top: calc(100% + 8px);
  z-index: 4;
  width: max-content;
  max-width: min(70vw, 280px);
  margin: 0;
  padding: 6px 10px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--bg-card, #fffef8) 94%, transparent);
  border: 1px solid var(--theme-line);
  box-shadow: var(--theme-shadow-sm, var(--theme-shadow-md));
  transform: translateX(-50%);
  white-space: normal;
}

.holo-home__hero-graphic {
  grid-area: graphic;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 0;
  flex: 0 0 auto;
  overflow: visible;
  background: transparent;
  border: none;
  box-shadow: none;
}

.holo-home__graphic-stage {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(88vw, 420px);
  height: 100%;
  max-height: 100%;
  margin-inline: auto;
  color: var(--theme-accent);
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
}

.holo-home__graphic-stage::before {
  content: '';
  position: absolute;
  inset: 6% 8% 10%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at 52% 48%,
    color-mix(in srgb, var(--color-assist) 22%, transparent) 0%,
    color-mix(in srgb, var(--color-sand) 14%, transparent) 36%,
    color-mix(in srgb, var(--color-assist) 6%, transparent) 58%,
    transparent 78%
  );
  pointer-events: none;
  animation: holo-glow-breathe 10s ease-in-out infinite;
  will-change: opacity, transform;
}

.holo-home.is-hero-static .holo-home__graphic-stage::before {
  animation: none;
  opacity: 0.9;
  transform: none;
}

.holo-home__graphic-stage > * {
  position: relative;
  z-index: 1;
}

/* 秘境漫游 + 驾驶舱：单一可点入口（Hero 暂隐，样式保留便于恢复） */
.holo-home__drive-entry {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.35s ease;
}

/* Hero 仅展示蜗牛插画（无驾驶舱入口按钮） */
.holo-home__hero-snail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.holo-home__drive-entry:focus-visible {
  outline: none;
  border-radius: 12px;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-accent) 35%, transparent);
}

.holo-home__drive-entry-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 48px;
  padding: 8px 26px 9px;
  border: 1.5px solid color-mix(in srgb, var(--color-main) 35%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-main) 8%, var(--bg-card));
  color: var(--color-main);
  transition:
    border-color 0.35s ease,
    background-color 0.35s ease,
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.holo-home__drive-entry-title {
  color: var(--color-main);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
}

.holo-home__drive-entry-sub {
  color: var(--color-main);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.2;
  opacity: 0.88;
}

.holo-home__drive-entry:hover .holo-home__drive-entry-btn,
.holo-home__drive-entry:focus-visible .holo-home__drive-entry-btn {
  border-color: var(--color-main);
  background: color-mix(in srgb, var(--color-main) 14%, var(--bg-card));
  transform: translateY(-2px);
  box-shadow: var(--theme-shadow-sm);
}

/* Hero 驾驶舱入口：不包裹蜗牛 PNG，独立胶囊按钮 */
.holo-home__drive-cta {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 200px;
  min-height: 52px;
  margin: 16px 0 0;
  padding: 10px 28px;
  border: 1.5px solid color-mix(in srgb, var(--color-main) 45%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-main) 8%, var(--bg-card));
  color: var(--color-main);
  cursor: pointer;
  transition:
    border-color 0.28s ease,
    background-color 0.28s ease,
    transform 0.28s ease;
}

.holo-home__hero-stage--split .holo-home__drive-cta {
  align-self: flex-start;
}

.holo-home__drive-cta:hover,
.holo-home__drive-cta:focus-visible {
  border-color: var(--color-main);
  background: color-mix(in srgb, var(--color-main) 14%, var(--bg-card));
  transform: translateY(-2px);
  outline: none;
}

.holo-home__drive-cta .holo-home__drive-entry-title {
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.12em;
}

.holo-home__drive-cta .holo-home__drive-entry-sub {
  font-size: 12px;
  letter-spacing: 0.04em;
  opacity: 0.88;
}

.holo-home__info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.holo-home__info-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 112px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  border-radius: 14px;
  background: var(--bg-card);
  color: inherit;
  text-decoration: none;
  transition:
    border-color 0.28s ease,
    background-color 0.28s ease,
    transform 0.28s ease;
}

.holo-home__info-card:hover,
.holo-home__info-card:focus-visible {
  border-color: var(--color-assist);
  background: color-mix(in srgb, var(--color-assist) 8%, var(--bg-card));
  transform: translateY(-1px);
  outline: none;
}

.holo-home__info-card-title {
  color: var(--color-main);
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.04em;
}

.holo-home__info-card-desc {
  color: var(--text-body);
  font-size: 13px;
  line-height: 1.55;
}

.holo-home__info-card-cta {
  margin-top: auto;
  color: var(--color-main);
  font-size: 12px;
  letter-spacing: 0.06em;
}

.holo-home__track,
.holo-home__ugc {
  padding: 24px 0 0;
  flex: 0 0 auto;
}

@media (max-width: 767px) {
  .holo-home__info-grid {
    grid-template-columns: 1fr;
  }

  .holo-home__drive-cta {
    min-width: min(88vw, 260px);
    margin-top: 4px;
  }
}

.holo-drive-picker {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  background: color-mix(in srgb, var(--theme-accent) 18%, transparent);
  box-sizing: border-box;
}

.holo-drive-picker__panel {
  width: min(100%, 420px);
  max-height: min(78dvh, 560px);
  overflow: auto;
  border: 1.5px solid var(--theme-line);
  border-radius: 16px;
  background: var(--theme-surface, #fffef6);
  color: var(--theme-accent);
  box-shadow: var(--theme-shadow-md, 0 4px 14px rgba(68, 68, 64, 0.06));
  padding: 16px 16px 12px;
}

.holo-drive-picker__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.holo-drive-picker__eyebrow {
  margin: 0;
  color: var(--theme-muted);
  font-size: 11px;
  letter-spacing: 0.14em;
}

.holo-drive-picker__title {
  margin: 4px 0 0;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.holo-drive-picker__close {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  background: transparent;
  color: var(--theme-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.holo-drive-picker__hint {
  margin: 10px 0 12px;
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.5;
}

.holo-drive-picker__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.holo-drive-picker__city {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1.5px solid var(--theme-line);
  border-radius: 12px;
  background: var(--theme-bg);
  color: var(--theme-accent);
  text-align: left;
  cursor: pointer;
}

.holo-drive-picker__city:hover,
.holo-drive-picker__city:focus-visible {
  border-color: var(--theme-accent);
  outline: none;
}

.holo-drive-picker__city-name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 560;
}

.holo-drive-picker__badge {
  padding: 1px 6px;
  border-radius: 999px;
  border: 1px solid var(--theme-line);
  color: var(--theme-muted);
  font-size: 10px;
  font-weight: 450;
  letter-spacing: 0.06em;
}

.holo-drive-picker__city-tag {
  color: var(--theme-muted);
  font-size: 12px;
  letter-spacing: 0.04em;
}

@media (min-width: 1024px) {
  .holo-drive-picker {
    align-items: center;
  }

  .holo-drive-picker__panel {
    max-height: min(70dvh, 520px);
  }
}

.holo-home__snail-deco {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  line-height: 0;
  color: var(--theme-accent);
  background: transparent;
  border: none;
  box-shadow: none;
  pointer-events: none;
  user-select: none;
  /* ?????????????????????? */
  opacity: 1;
}

.holo-home__snail-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: min(22vh, 160px);
  aspect-ratio: 837 / 377;
  object-fit: contain;
  object-position: center;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
  user-select: none;
  -webkit-user-drag: none;
}

/* Hero 副 CTA：默认多 pill；--single 仅保留秘境漫游 */
.holo-home__hero-pills {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
  flex: 0 0 auto;
}

.holo-home__hero-pills--single .holo-home__pill {
  flex: 0 1 auto;
  min-width: 168px;
  max-width: 280px;
  padding-inline: 28px;
}

.holo-home__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-height: 44px;
  min-width: 0;
  max-width: 220px;
  padding: 10px 20px;
  border: 1.5px solid var(--theme-line);
  border-radius: 999px;
  background: transparent;
  color: var(--theme-accent);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-decoration: none;
  white-space: nowrap;
  transition:
    border-color 0.35s ease,
    transform 0.35s ease,
    background-color 0.35s ease;
}

.holo-home__pill:hover,
.holo-home__pill:active,
.holo-home__pill:focus-visible {
  border-color: var(--color-assist);
  background: color-mix(in srgb, var(--color-assist) 12%, transparent);
  transform: translateY(-1px);
  outline: none;
}

.holo-home__pill--immerse {
  border-color: color-mix(in srgb, var(--color-assist) 55%, var(--theme-line));
  background: color-mix(in srgb, var(--color-assist) 14%, var(--bg-card));
  color: var(--color-main);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.holo-home__pill--immerse:hover,
.holo-home__pill--immerse:focus-visible {
  border-color: var(--color-main);
  background: color-mix(in srgb, var(--color-assist) 22%, var(--bg-card));
  color: var(--color-main);
}

/* 下半：热门城市 / 漫游灵感 / 慢行工具 — 浅米灰容器，内外边距统一 */
.holo-home__tools,
.holo-home__destinations,
.holo-home__inspire {
  width: 100%;
  max-width: none;
  margin: 16px auto 0;
  padding: 18px 16px 16px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 42%, var(--theme-line));
  border-radius: var(--theme-radius-lg, 16px);
  background: color-mix(in srgb, var(--theme-bg-soft, #f3f0e8) 72%, var(--bg-card, #fffef8));
  box-sizing: border-box;
  flex: 0 0 auto;
}

.holo-home__tools:last-of-type,
.holo-home__inspire + .holo-home__tools {
  margin-bottom: 0;
}

/* 热门城市：预览≤8 +「更多」；移动端强制横滑胶囊条 */
.holo-home__dest-strip {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 36px;
}

.holo-home__dest-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: safe center;
  gap: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  text-align: center;
  white-space: nowrap;
  touch-action: pan-x;
}

.holo-home__dest-track::-webkit-scrollbar {
  display: none;
}

.holo-home__dest-item {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  white-space: nowrap;
}

.holo-home__dest-sep {
  color: var(--text-light);
  font-size: 14px;
  line-height: 1.4;
}

.holo-home__dest-link {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-light);
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.22s ease;
}

.holo-home__dest-link:hover,
.holo-home__dest-link:focus-visible {
  color: var(--color-main);
  outline: none;
}

.holo-home__dest-more-btn {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  margin: 0;
  padding: 2px 10px;
  border: 1px solid color-mix(in srgb, var(--color-main) 28%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-main) 8%, var(--bg-card));
  color: var(--color-main);
  font-size: 13px;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition:
    color 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease;
}

.holo-home__dest-more-btn:hover,
.holo-home__dest-more-btn:focus-visible {
  background: color-mix(in srgb, var(--color-main) 14%, var(--bg-card));
  border-color: color-mix(in srgb, var(--color-main) 45%, var(--theme-line));
  transform: translateY(-1px);
  outline: none;
}

.holo-home__dest-dialog {
  width: min(92vw, 520px);
  max-height: min(78vh, 640px);
  margin: auto;
  padding: 0;
  border: 1px solid var(--theme-line);
  border-radius: var(--theme-radius-md);
  background: var(--bg-card);
  color: var(--text-title);
  box-shadow: var(--theme-shadow-md);
}

.holo-home__dest-dialog::backdrop {
  background: color-mix(in srgb, var(--text-title) 28%, transparent);
}

.holo-home__dest-dialog-panel {
  display: flex;
  flex-direction: column;
  max-height: min(78vh, 640px);
}

.holo-home__dest-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--theme-line);
}

.holo-home__dest-dialog-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.holo-home__dest-dialog-close {
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--theme-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition:
    color 0.2s ease,
    background-color 0.2s ease;
}

.holo-home__dest-dialog-close:hover,
.holo-home__dest-dialog-close:focus-visible {
  color: var(--color-main);
  background: color-mix(in srgb, var(--color-main) 10%, transparent);
  outline: none;
}

.holo-home__dest-dialog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 14px 16px 18px;
  overflow-y: auto;
}

.holo-home__dest-dialog-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 8px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 50%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-sand) 12%, var(--bg-card));
  color: var(--text-title);
  font-size: 13px;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition:
    color 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease;
}

.holo-home__dest-dialog-link:hover,
.holo-home__dest-dialog-link:focus-visible {
  color: var(--color-main);
  border-color: color-mix(in srgb, var(--color-main) 40%, var(--theme-line));
  background: color-mix(in srgb, var(--color-main) 10%, var(--bg-card));
  outline: none;
}

@media (max-width: 639px) {
  .holo-home__dest-dialog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
}

/* 首页搜索弹窗 */
.holo-home__search-dialog {
  --holo-kb-inset: 0px;
  --holo-vv-height: 100dvh;
  width: min(440px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  /* 高度跟可视窗口，避免把键盘 inset 再扣一次导致弹窗被压扁 */
  max-height: min(90dvh, calc(var(--holo-vv-height, 100dvh) - 24px));
  margin: auto auto max(12px, calc(var(--holo-kb-inset, 0px) + 8px));
  padding: 0;
  border: 1px solid var(--theme-line);
  border-radius: 16px;
  background: var(--bg-card, var(--theme-surface));
  color: var(--text-title, var(--theme-ink));
  box-shadow: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  transition:
    margin-bottom 220ms ease-out,
    max-height 220ms ease-out,
    opacity 220ms ease-out,
    transform 220ms ease-out;
}

.holo-home__search-dialog[open] {
  animation: holoDialogIn 220ms ease-out both;
}

@keyframes holoDialogIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.holo-home__search-dialog::backdrop {
  background: color-mix(in srgb, var(--theme-ink, #2c6b58) 28%, transparent);
}

.holo-home__search-dialog-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 18px 18px;
}

.holo-home__search-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.holo-home__search-dialog-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--color-main, var(--theme-accent));
}

.holo-home__search-dialog-close {
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--theme-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.holo-home__search-dialog-close:hover,
.holo-home__search-dialog-close:focus-visible {
  color: var(--color-main);
  background: color-mix(in srgb, var(--color-main) 10%, transparent);
  outline: none;
}

.holo-home__search-dialog-origin {
  margin: 0 0 8px;
  color: var(--color-main);
  font-size: 12px;
  line-height: 1.45;
}

.holo-home__search-dialog-origin--muted {
  color: var(--theme-muted);
}

.holo-home__search-dialog-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.holo-home__search-dialog-input {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1.5px solid var(--theme-line);
  border-radius: 12px;
  background: var(--bg-base, var(--theme-bg));
  color: var(--color-main, var(--theme-accent));
  font-size: 15px;
  box-sizing: border-box;
}

.holo-home__search-dialog-input:focus {
  border-color: var(--color-main, var(--theme-accent));
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-main, var(--theme-accent)) 16%, transparent);
}

.holo-home__search-dialog-submit {
  min-height: 44px;
  margin: 0;
  padding: 0 16px;
  border: 1.5px solid var(--color-main, var(--theme-accent));
  border-radius: 999px;
  background: var(--color-main, var(--theme-accent));
  color: var(--bg-base, #f9f7eb);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
}

.holo-home__search-dialog-submit:hover,
.holo-home__search-dialog-submit:focus-visible {
  filter: brightness(1.05);
  outline: none;
}

/* 梦幻之旅六宫格：与主栏同宽，卡片略增高以承载画面 */
.holo-home__trip-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  max-width: none;
  /* 悬停上浮时不互相压盖 */
  isolation: isolate;
}

.holo-home__trip-card {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(120px, 11vw, 160px);
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: none;
  border-radius: var(--theme-radius-md);
  background-color: color-mix(in srgb, var(--color-assist) 35%, var(--theme-ink));
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  box-shadow: var(--theme-shadow-sm);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.holo-home__trip-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .holo-home__trip-card:hover,
  .holo-home__trip-card:focus-visible {
    z-index: 2;
    transform: translateY(-2px);
    box-shadow: var(--theme-shadow-md);
    outline: none;
  }

  .holo-home__trip-card:hover .holo-home__trip-photo {
    transform: scale(1.03);
  }
}

.holo-home__trip-card:focus-visible {
  z-index: 2;
  transform: translateY(-2px);
  box-shadow: var(--theme-shadow-md);
  outline: none;
}

.holo-home__trip-mask {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      color-mix(in srgb, var(--text-title) 82%, transparent) 0%,
      color-mix(in srgb, var(--text-title) 52%, transparent) 42%,
      color-mix(in srgb, var(--text-title) 22%, transparent) 72%,
      transparent 92%
    ),
    linear-gradient(
      115deg,
      color-mix(in srgb, var(--text-title) 22%, transparent) 0%,
      transparent 42%
    );
  pointer-events: none;
}

.holo-home__trip-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  padding: 2px 7px;
  border-radius: var(--theme-radius-sm, 8px);
  border: 1px solid color-mix(in srgb, var(--color-sand) 35%, transparent);
  background: color-mix(in srgb, var(--bg-card, #fffef8) 72%, transparent);
  color: color-mix(in srgb, var(--color-main) 55%, var(--theme-muted));
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.35;
  pointer-events: none;
  box-shadow: none;
  backdrop-filter: blur(4px);
}

.holo-home__trip-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 12px;
}

.holo-home__trip-title-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--bg-card);
}

.holo-home__trip-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  filter: drop-shadow(0 1px 3px color-mix(in srgb, var(--text-title) 55%, transparent));
}

.holo-home__trip-title {
  color: var(--bg-card);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-shadow:
    0 1px 2px color-mix(in srgb, var(--text-title) 70%, transparent),
    0 0 10px color-mix(in srgb, var(--text-title) 35%, transparent);
}

.holo-home__trip-sub {
  color: color-mix(in srgb, var(--bg-card) 96%, white);
  font-size: 12px;
  letter-spacing: 0.03em;
  line-height: 1.3;
  text-shadow:
    0 1px 2px color-mix(in srgb, var(--text-title) 65%, transparent),
    0 0 8px color-mix(in srgb, var(--text-title) 30%, transparent);
}

@media (max-width: 1023px) {
  .holo-home__trip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-width: none;
  }

  .holo-home__trip-card {
    height: clamp(108px, 18vw, 126px);
  }

  .holo-home__header-inner,
  .holo-home__main {
    max-width: none;
  }

  .holo-home__trip-title {
    font-size: 15px;
  }

  .holo-home__section-title--block {
    font-size: 17px;
  }
}

@media (max-width: 639px) {
  /* 手机仍用双列，避免六卡单列过长导致“看不到整页” */
  .holo-home__trip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .holo-home__trip-card {
    height: 104px;
  }

  .holo-home__trip-title {
    font-size: 14px;
  }

  .holo-home__trip-sub {
    font-size: 11px;
  }

  .holo-home__trip-copy {
    padding: 8px 9px;
  }

  .holo-home__destinations,
  .holo-home__inspire,
  .holo-home__tools {
    margin-top: 14px;
    padding: 16px 14px 14px;
  }
}

.holo-home__tool-grid {
  display: grid;
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.holo-home__tools-layout {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

@media (min-width: 960px) {
  .holo-home__tools-layout {
    flex-direction: row;
    align-items: stretch;
  }

  .holo-home__tools-layout .holo-home__tool-grid {
    flex: 1 1 auto;
  }

  .holo-home__tools-layout .hr-business-slot--toolbox {
    flex: 0 0 9.5rem;
    max-width: 9.5rem;
  }
}

/* 商业扩展插槽（仅 isOpenBusiness=true 时出现；低饱和附属位） */
.hr-business-slot {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px dashed color-mix(in srgb, var(--theme-line) 80%, transparent);
  border-radius: var(--theme-radius-md, 12px);
  background: color-mix(in srgb, var(--bg-card, #fffffb) 92%, var(--color-sand, #d9c8b4));
  color: var(--theme-muted, #5a6f66);
}

.hr-business-slot__label {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--theme-ink, #444440);
}

.hr-business-slot__placeholder {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
  opacity: 0.72;
}

.hr-business-slot--city-stay {
  margin-top: 10px;
}

.hr-business-slot--niche {
  margin-top: 0;
}

.hr-business-slot--toolbox {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 84px;
}

/* PC：两行四列；移动：两行两列（8 宫格） */
.holo-home__tool-grid--pc8 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.holo-home__tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 84px;
  padding: 12px 8px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  border-radius: var(--theme-radius-md, 12px);
  background: var(--bg-card, #fffef8);
  color: var(--color-main);
  text-decoration: none;
  box-shadow: var(--theme-shadow-sm);
  font-weight: 600;
  font-size: 13px;
  transition:
    border-color 0.32s ease,
    background-color 0.32s ease,
    color 0.32s ease,
    transform 0.28s ease,
    box-shadow 0.32s ease;
}

.holo-home__tool--button {
  width: 100%;
  margin: 0;
  font: inherit;
  cursor: pointer;
}

.holo-home__tool:hover,
.holo-home__tool:focus-visible {
  border-color: color-mix(in srgb, var(--color-assist) 55%, var(--theme-line));
  background: color-mix(in srgb, var(--color-assist) 16%, var(--bg-card));
  color: var(--color-main);
  box-shadow: var(--theme-shadow-md);
  transform: translateY(-1px);
  outline: none;
}

.holo-home__tool:active {
  transform: translateY(0);
  background: color-mix(in srgb, var(--color-assist) 22%, var(--bg-card));
}

.holo-home__tool-icon {
  display: inline-flex;
  width: 22px;
  height: 22px;
  color: inherit;
}

.holo-home__tool-icon svg {
  width: 100%;
  height: 100%;
}

.holo-home__tool-label {
  color: var(--theme-ink);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
}

/* 梦幻之旅：单行横滑 + 淡色箭头 */
.holo-home__tag-scroll {
  position: relative;
  width: 100%;
}

.holo-home__tag-scroll::before,
.holo-home__tag-scroll::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: 36px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.holo-home__tag-scroll::before {
  left: 0;
  background: linear-gradient(90deg, var(--theme-bg) 20%, transparent);
}

.holo-home__tag-scroll::after {
  right: 0;
  background: linear-gradient(270deg, var(--theme-bg) 20%, transparent);
}

.holo-home__tag-scroll.is-prev::before,
.holo-home__tag-scroll.is-next::after {
  opacity: 1;
}

.holo-home__tag-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 28px 4px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  content-visibility: auto;
}

.holo-home__tag-row::-webkit-scrollbar {
  display: none;
}

.holo-home__tag-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--color-sand) 45%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--bg-card) 88%, transparent);
  color: var(--theme-muted);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease,
    opacity 0.2s ease;
}

.holo-home__tag-arrow svg {
  width: 16px;
  height: 16px;
}

.holo-home__tag-arrow--prev {
  left: 0;
}

.holo-home__tag-arrow--next {
  right: 0;
}

.holo-home__tag-arrow:hover:not(:disabled),
.holo-home__tag-arrow:focus-visible:not(:disabled) {
  color: var(--theme-accent);
  border-color: var(--color-assist);
  background: color-mix(in srgb, var(--color-assist) 10%, var(--bg-card));
  outline: none;
}

.holo-home__tag-arrow:disabled {
  opacity: 0.28;
  cursor: default;
  pointer-events: none;
}

.holo-home__tag {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 16px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 50%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-sand) 16%, var(--bg-card));
  color: var(--text-title);
  font-size: 13px;
  letter-spacing: 0.06em;
  text-decoration: none;
  white-space: nowrap;
  scroll-snap-align: start;
  contain: layout style;
  transition:
    border-color 0.35s ease,
    background-color 0.35s ease,
    color 0.35s ease;
}

.holo-home__tag:hover,
.holo-home__tag:focus-visible {
  border-color: var(--color-assist);
  background: color-mix(in srgb, var(--color-assist) 12%, var(--bg-card));
  color: var(--color-main);
  outline: none;
}

/* ?????? */
.holo-home__inspire-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}

.holo-home__card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-height: 0;
  height: clamp(88px, 12vh, 120px);
  padding: 14px 16px 12px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  border-radius: 14px;
  background: var(--bg-card);
  color: var(--color-main);
  text-decoration: none;
  box-shadow: var(--theme-shadow-sm);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}

.holo-home__card:hover,
.holo-home__card:active,
.holo-home__card:focus-visible {
  border-color: var(--color-assist);
  transform: translateY(-2px);
  box-shadow: var(--theme-shadow-md);
  outline: none;
}

.holo-home__card-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--theme-accent);
  pointer-events: none;
}

.holo-home__card-icon {
  display: block;
  width: 32px;
  height: 32px;
}

.holo-home__card-label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--theme-accent);
}

/* Footer */
.holo-home__footer {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--theme-line);
  flex: 0 0 auto;
}

.holo-home__footer-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.holo-home__footer-motto {
  margin: 0;
  width: 100%;
  color: var(--text-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
}

.holo-home__footer-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
  width: 100%;
  align-items: stretch;
}

.holo-home__footer-about,
.holo-home__footer-rollout {
  margin: 0;
  padding: 10px 12px 8px;
  max-height: 200px;
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-bg-soft, #f3f0e8) 55%, var(--bg-card, #fffef8));
  text-align: left;
  box-sizing: border-box;
}

.holo-home__footer-about-title,
.holo-home__footer-rollout-title {
  margin: 0 0 4px;
  color: var(--color-main);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.holo-home__footer-about-body {
  margin: 0;
  color: var(--text-body);
  font-size: 12px;
  line-height: 1.4;
}

.holo-home__footer-about-values {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 2px;
}

.holo-home__footer-about-values li {
  color: var(--theme-muted);
  font-size: 11px;
  line-height: 1.35;
}

.holo-home__footer-about-values strong {
  color: var(--color-main);
  font-weight: 600;
}

/* 迭代规划：与关于蜗牛同款卡片，紧凑列表 */
.holo-home__footer-rollout-title {
  letter-spacing: 0.08em;
}

.holo-home__footer-rollout-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 3px;
}

.holo-home__footer-rollout-list li {
  margin: 0;
  color: var(--theme-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.01em;
}

.holo-home__footer-rollout-body {
  margin: 0;
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.02em;
  white-space: pre-line;
  opacity: 0.95;
}

.holo-home__footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 0;
  width: 100%;
  color: var(--theme-muted);
  font-size: 13px;
  text-align: center;
}

.holo-home__footer-links a {
  color: inherit;
  text-decoration: none;
  transition: color 0.22s ease;
}

.holo-home__footer-links a:hover,
.holo-home__footer-links a:focus-visible {
  color: var(--color-main);
  outline: none;
}

.holo-home__footer-link-sep {
  margin: 0 8px;
  color: var(--theme-faint);
}

.holo-home__footer-meta {
  width: 100%;
  text-align: center;
}

.holo-home__beian {
  margin: 0 0 4px;
  color: var(--theme-faint);
  font-size: 10px;
  line-height: 1.45;
}

.holo-home__beian a {
  color: inherit;
  text-decoration: none;
}

.holo-home__beian a:hover,
.holo-home__beian a:focus-visible {
  color: var(--theme-muted);
  outline: none;
}

.holo-home__copyright {
  margin: 0;
  color: var(--theme-faint);
  font-size: 10px;
  line-height: 1.45;
}

.holo-home__footer--mobile {
  margin-top: 10px;
  padding-top: 12px;
  padding-bottom: 4px;
  border-top: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
}

.holo-home__footer--mobile .holo-home__footer-grid {
  gap: 10px;
  text-align: center;
}

.holo-home__footer--mobile .holo-home__footer-cards {
  grid-template-columns: 1fr;
  gap: 8px;
}

.holo-home__footer--mobile .holo-home__footer-about,
.holo-home__footer--mobile .holo-home__footer-rollout {
  max-height: 160px;
  padding: 8px 10px 6px;
}

.holo-home__footer--mobile .holo-home__footer-about-title,
.holo-home__footer--mobile .holo-home__footer-rollout-title {
  font-size: 12px;
  margin-bottom: 3px;
}

.holo-home__footer--mobile .holo-home__footer-about-body {
  font-size: 11px;
  line-height: 1.35;
}

.holo-home__footer--mobile .holo-home__footer-about-values li,
.holo-home__footer--mobile .holo-home__footer-rollout-list li {
  font-size: 10px;
  line-height: 1.3;
}

.holo-home__footer--mobile .holo-home__footer-motto,
.holo-home__footer--mobile .holo-home__footer-meta {
  text-align: center;
}

/* 合规链横排，避免与底栏叠成一长串竖列表 */
.holo-home__footer--mobile .holo-home__footer-links {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 2px;
  row-gap: 4px;
}

.holo-home__footer--mobile .holo-home__footer-link-sep {
  display: inline;
}

.holo-home__footer--mobile .holo-home__footer-motto {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
}

.holo-home__footer--mobile .holo-home__footer-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.holo-home__footer--mobile .holo-home__beian,
.holo-home__footer--mobile .holo-home__copyright {
  margin: 0;
  font-size: 9px;
  line-height: 1.35;
}

.holo-home__lang {
  display: inline-flex;
  gap: 2px;
  margin-bottom: 12px;
  padding: 2px;
  border: 1px solid var(--theme-line);
  border-radius: var(--theme-radius-lg);
  background: var(--theme-surface);
}

/* 顶栏语言切换：覆盖页脚 .holo-home__lang 的 margin-bottom:12px（线上实测会把整组贴顶） */
.holo-home__header .holo-home__lang.holo-home__lang--nav {
  display: inline-flex;
  align-items: center;
  margin: 0;
  margin-bottom: 0;
  height: 40px;
  box-sizing: border-box;
  align-self: center;
}

.holo-home__header .holo-home__voice--nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  margin: 0;
  margin-block: 0;
  height: 40px;
}

.holo-home__header .holo-home__voice--nav .holo-home__voice-btn {
  width: 40px;
  height: 40px;
  margin: 0;
  transform: none;
}

.holo-home__lang button {
  min-width: 48px;
  padding: 5px 10px;
  border: none;
  border-radius: var(--theme-radius-lg);
  background: transparent;
  color: var(--theme-muted);
  font-size: 12px;
  cursor: pointer;
}

.holo-home__lang button.is-active {
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--theme-surface));
  color: var(--theme-accent);
}

/* Mobile tabbar：与 BottomNav 六入口对齐 */
.holo-home__tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  padding: 6px 2px calc(6px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--theme-line);
  background: var(--theme-surface);
}

.holo-home__tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 44px;
  color: var(--theme-faint);
  font-size: 10px;
  text-decoration: none;
}

.holo-home__tab svg {
  width: 20px;
  height: 20px;
}

.holo-home__tab.is-active,
.holo-home__tab:hover,
.holo-home__tab:active {
  color: var(--theme-accent);
}

/* Mobile：LOGO+语言 + 通栏搜索；无汉堡抽屉 */
@media (max-width: 1023px) {
  .holo-home {
    --holo-header-h: 52px;
    /* LOGO 行 + 搜索条 + 少量内边距（已无独立生成按钮） */
    --holo-header-stack: calc(var(--holo-header-h) + 46px + 6px);
    padding-top: var(--holo-header-stack);
    /* 底部 80px 安全内边距 + 系统安全区，避免卡片被底栏/系统导航遮挡 */
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    -webkit-overflow-scrolling: touch;
  }

  .holo-home__header {
    border-bottom: 1px solid color-mix(in srgb, var(--line-search, var(--theme-line)) 70%, transparent);
  }

  .holo-home__mobile-search {
    display: flex;
    padding: 0 16px 2px;
  }

  .holo-home__header-inner,
  .holo-home__main {
    padding-left: 16px;
    padding-right: 16px;
  }

  .holo-home__main {
    padding-bottom: 16px;
    gap: 4px;
    flex: 0 0 auto;
    min-height: auto;
    overflow: visible;
    -webkit-overflow-scrolling: touch;
  }

  .holo-home__destinations,
  .holo-home__inspire,
  .holo-home__tools,
  .holo-home__community {
    margin-top: 14px;
    padding: 16px 14px 14px;
  }

  .holo-home__community {
    padding-top: 16px;
  }

  .holo-home__footer {
    padding-bottom: 12px;
  }

  .holo-home__header-right {
    gap: 6px;
  }

  .holo-home__lang--nav button {
    min-width: 34px;
    padding: 5px 8px;
    font-size: 12px;
    border-radius: 16px;
    transition:
      transform 180ms ease-out,
      background-color 180ms ease-out;
  }

  .holo-home__lang--nav button:active {
    transform: scale(0.97);
  }

  .holo-home__card,
  .holo-home__tool,
  .holo-home__drive-entry-btn {
    transition:
      transform 180ms ease-out,
      box-shadow 180ms ease-out,
      border-color 180ms ease-out;
  }

  .holo-home__card:active,
  .holo-home__tool:active,
  .holo-home__drive-entry-btn:active {
    transform: scale(0.97);
  }

  .holo-home__dest-strip {
    justify-content: flex-start;
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 28px), transparent 100%);
  }

  .holo-home__dest-track {
    justify-content: flex-start;
    padding-right: 20px;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    text-align: left;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .holo-home__dest-item,
  .holo-home__dest-more-btn {
    scroll-snap-align: start;
  }

  .holo-home__atmosphere-meridian {
    right: 2%;
    top: 34%;
    width: 42vw;
    height: 42vw;
    /* 移动端简化：经纬慢旋关闭，仅保留静态点缀 */
    animation: none;
    will-change: auto;
  }

  .holo-home__atmosphere-meridian circle,
  .holo-home__atmosphere-meridian ellipse,
  .holo-home__atmosphere-meridian path,
  .holo-home__atmosphere-path path {
    animation: none;
  }

  .holo-home__atmosphere-path {
    right: 6%;
    top: 52%;
  }

  .holo-home:not(.is-hero-static) .snail-earth-container:not(.is-static) {
    animation:
      fadeIn 0.85s ease-out forwards,
      snailSoftFloat 12s cubic-bezier(0.42, 0.08, 0.28, 1) 0.85s infinite;
  }

  .holo-home__graphic-stage::before {
    animation: none;
    opacity: 0.85;
  }

  .holo-home__drive-entry {
    gap: 8px;
  }

  .holo-home__drive-entry-btn {
    min-height: 46px;
    padding: 7px 20px 8px;
  }

  .holo-home__drive-entry-title {
    font-size: 13px;
  }

  .holo-home__drive-entry-sub {
    font-size: 11px;
  }

  .holo-home__brand-wrap .snail-brand-logo__zh {
    font-size: 15px;
  }

  .holo-home__brand-wrap .snail-brand-logo__en {
    font-size: 11px;
  }

  .holo-home__hero {
    gap: 4px;
    padding: 0 0 2px;
  }

  /* 移动：标题 → 插画 → 描述 → 搜索（含语音） */
  .holo-home__hero-stage {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      'title'
      'graphic'
      'desc'
      'mind'
      'search';
    align-items: center;
    justify-items: center;
    gap: 4px;
    padding: 0;
  }

  .holo-home__hero-visual {
    gap: 4px;
  }

  .holo-home__hero-copy {
    flex: 0 0 auto;
    text-align: center;
    align-items: center;
  }

  .holo-home__hero-title {
    margin: 0;
    font-size: clamp(22px, 6vw, 28px);
    line-height: 1.08;
    text-align: center;
  }

  .holo-home__hero-search {
    width: 100%;
    margin: 6px auto 0;
    max-width: min(94vw, 520px);
  }

  .holo-home__hero-search-bar {
    min-height: 52px;
    padding: 5px 5px 5px 14px;
    gap: 6px;
  }

  .holo-home__hero-search-bar .holo-home__voice--search .holo-home__voice-btn {
    width: 36px;
    height: 36px;
  }

  .holo-home__hero-search-submit {
    width: 40px;
    height: 40px;
  }

  .holo-home__hero-desc {
    margin: 0;
    padding: 0 4px;
    font-size: 12px;
    line-height: 1.28;
    text-align: center;
  }

  .holo-home__hero-mindshare {
    margin: 0;
    max-width: 92vw;
    font-size: 11px;
    line-height: 1.28;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .holo-home__hero-graphic {
    justify-content: center;
    width: 100%;
  }

  .holo-home__graphic-stage {
    width: min(72vw, 260px);
    margin-inline: auto;
  }

  .holo-home__snail-img {
    max-height: min(14vh, 96px);
  }

  .holo-home__hero-pills {
    flex: 0 0 auto;
    gap: 8px;
    flex-wrap: wrap;
  }

  .holo-home__pill {
    flex: 1 1 calc(50% - 8px);
    min-height: 36px;
    min-width: 0;
    max-width: none;
    padding: 7px 6px;
    font-size: 12px;
    letter-spacing: 0.04em;
  }

  .holo-home__hero-pills--single .holo-home__pill {
    flex: 0 1 auto;
    min-width: 148px;
    max-width: 240px;
    padding: 8px 22px;
    font-size: 13px;
  }

  .holo-home__section-title {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .holo-home__section-title--block {
    margin-bottom: 6px;
    font-size: 15px;
    letter-spacing: 0.06em;
  }

  .holo-home__tools,
  .holo-home__destinations,
  .holo-home__inspire {
    margin-top: 14px;
    padding: 16px 14px 14px;
  }

  .holo-home__tool-grid {
    gap: 8px;
  }

  .holo-home__tool {
    min-height: 72px;
    padding: 10px 6px;
    gap: 6px;
  }

  .holo-home__tool-label {
    font-size: 12px;
  }

  .holo-home__inspire-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .holo-home__inspire-row .holo-home__card {
    height: 96px;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
  }

  .holo-home__card-label {
    font-size: 13px;
  }

  .holo-home__tabbar {
    padding: 4px 4px calc(4px + env(safe-area-inset-bottom));
  }

  .holo-home__tab {
    min-height: 40px;
  }
}

/* PC：加宽内容带；允许轻微下滚，避免宽屏两侧空、中间扁 */
@media (min-width: 1024px) {
  .holo-app-shell:has(.holo-home) {
    min-height: 100dvh;
    height: auto;
    max-height: none;
    overflow: visible;
  }

  .holo-home {
    --holo-header-h: 64px;
    min-height: 100dvh;
    height: auto;
    max-height: none;
    padding-bottom: 0;
    overflow: visible;
  }

  .holo-home__header-inner {
    max-width: 1440px;
    padding: 0 40px;
  }

  .holo-home__brand-wrap .snail-brand-logo__zh {
    font-size: 17px;
  }

  .holo-home__brand-wrap .snail-brand-logo__en {
    font-size: 12px;
  }

  .holo-home__main {
    width: 100%;
    max-width: 1440px;
    flex: 0 0 auto;
    min-height: auto;
    margin-inline: auto;
    padding: 0 40px 64px;
    gap: 0;
    overflow: visible;
  }

  .holo-home__hero {
    gap: 8px;
    /* 顶部留空防顶栏裁切；底部与下方板块衔接 */
    padding: 20px 0 8px;
    overflow: visible;
  }

  .holo-home__hero-stage {
    display: grid;
    grid-template-columns: minmax(0, 62fr) minmax(0, 38fr);
    grid-template-areas:
      'title graphic'
      'desc graphic'
      'mind graphic'
      'search graphic';
    align-items: center;
    column-gap: 24px;
    row-gap: 4px;
    min-width: 0;
    min-height: 0;
    padding: 0;
    justify-items: stretch;
  }

  .holo-home__hero-copy {
    max-width: none;
    text-align: left;
    align-items: stretch;
    justify-self: start;
    padding-left: 4px;
    min-width: 0;
  }

  .holo-home__hero-title {
    margin: 0;
    font-size: clamp(28px, 2.8vw, 36px);
    letter-spacing: 0.06em;
    text-align: left;
    line-height: 1.08;
    justify-self: start;
  }

  .holo-home__hero-desc {
    max-width: none;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.28;
    text-align: left;
    justify-self: start;
  }

  .holo-home__hero-mindshare {
    margin: 0;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.28;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    justify-self: start;
  }

  .holo-home__hero-search {
    max-width: none;
    margin: 8px 0 0;
    justify-self: stretch;
  }

  .holo-home__hero-graphic {
    justify-content: center;
    align-items: center;
    align-self: center;
    min-width: 0;
    min-height: 0;
    overflow: visible;
    padding-top: 0;
  }

  .holo-home__graphic-stage {
    width: min(100%, 300px);
    max-height: none;
    margin-inline: auto;
    overflow: visible;
  }

  .holo-home__snail-img {
    max-height: 128px;
  }

  .holo-home__drive-entry {
    gap: 8px;
  }

  .holo-home__drive-entry-btn {
    min-height: 50px;
    padding: 8px 28px 9px;
  }

  .holo-home__drive-entry-title {
    font-size: 14px;
    letter-spacing: 0.14em;
  }

  .holo-home__drive-entry-sub {
    font-size: 12px;
  }

  .holo-home__dest-strip {
    mask-image: none;
  }

  .holo-home__dest-track {
    justify-content: safe center;
    padding-right: 0;
    scroll-snap-type: none;
    text-align: center;
  }

  .holo-home__section-title {
    margin: 0 0 8px;
    font-size: 12px;
    letter-spacing: 0.12em;
  }

  .holo-home__section-title--block {
    margin: 0 0 12px;
    font-size: 18px;
    letter-spacing: 0.06em;
  }

  .holo-home__tools,
  .holo-home__destinations,
  .holo-home__inspire {
    max-width: none;
    margin-top: 16px;
    padding: 18px 16px 16px;
  }

  .holo-home__trip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: none;
  }

  .holo-home__trip-card {
    height: clamp(148px, 11.5vw, 176px);
  }

  .holo-home__tool-grid {
    gap: 12px;
  }

  .holo-home__tool {
    min-height: 76px;
    padding: 14px 10px;
    gap: 8px;
    border-radius: 12px;
  }

  .holo-home__tool-icon {
    width: 18px;
    height: 18px;
  }

  .holo-home__tool-label {
    font-size: 13px;
  }

  .holo-home__tag-row {
    gap: 8px;
    padding: 2px 26px 0;
  }

  .holo-home__tag-arrow {
    width: 24px;
    height: 24px;
  }

  .holo-home__tag-arrow svg {
    width: 14px;
    height: 14px;
  }

  .holo-home__tag {
    min-height: 30px;
    padding: 4px 12px;
    font-size: 12px;
  }

  .holo-home__inspire-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
  }

  .holo-home__card {
    height: 76px;
    padding: 12px;
    gap: 6px;
    border-radius: 12px;
  }

  .holo-home__card-icon-wrap {
    width: 24px;
    height: 24px;
  }

  .holo-home__card-icon {
    width: 22px;
    height: 22px;
  }

  .holo-home__card-label {
    font-size: 13px;
  }

  .holo-home__footer {
    margin-top: 10px;
    padding-top: 10px;
  }

  .holo-home__footer-motto {
    margin-bottom: 6px;
    font-size: 12px;
    line-height: 1.4;
  }

  .holo-home__beian {
    font-size: 11px;
    line-height: 1.35;
  }

  .holo-home__tabbar {
    display: none;
  }
}

/* 笔记本高度：略收 Hero，卡片仍保持可读高度（允许轻量下滚） */
@media (min-width: 1024px) and (max-height: 920px) {
  .holo-home__hero {
    gap: 10px;
    padding: 20px 0 4px;
  }

  .holo-home__hero-title {
    margin: 0;
    font-size: clamp(28px, 2.8vw, 36px);
  }

  .holo-home__hero-desc {
    font-size: 13px;
    line-height: 1.28;
  }

  .holo-home__snail-img {
    max-height: 112px;
  }

  .holo-home__tools,
  .holo-home__destinations,
  .holo-home__inspire {
    margin-top: 16px;
    padding: 18px 16px 16px;
  }

  .holo-home__section-title {
    margin-bottom: 6px;
  }

  .holo-home__section-title--block {
    margin-bottom: 10px;
    font-size: 16px;
  }

  .holo-home__trip-grid {
    gap: 12px;
  }

  .holo-home__trip-card {
    height: clamp(128px, 14vh, 148px);
  }

  .holo-home__trip-title {
    font-size: 15px;
  }

  .holo-home__trip-sub {
    font-size: 12px;
  }

  .holo-home__trip-copy {
    padding: 10px 12px;
    gap: 3px;
  }

  .holo-home__tool {
    min-height: 64px;
    padding: 10px 8px;
    gap: 6px;
  }

  .holo-home__card {
    height: 68px;
    padding: 10px 12px;
  }

  .holo-home__footer {
    margin-top: 12px;
    padding-top: 10px;
  }

  .holo-home__main {
    padding-bottom: 36px;
  }
}

/* 更矮笔记本：收 Hero，卡片不压成扁条 */
@media (min-width: 1024px) and (max-height: 800px) {
  .holo-home {
    --holo-header-h: 52px;
  }

  .holo-home__hero {
    gap: 8px;
    padding: 16px 0 2px;
  }

  .holo-home__hero-title {
    margin-bottom: 4px;
    font-size: clamp(24px, 2.4vw, 30px);
  }

  .holo-home__hero-desc {
    font-size: 12px;
    line-height: 1.35;
  }

  .holo-home__hero-graphic {
    padding-top: 0;
  }

  .holo-home__snail-img {
    max-height: 112px;
  }

  .holo-home__pill {
    min-height: 32px;
    padding: 5px 10px;
    font-size: 12px;
  }

  .holo-home__tools,
  .holo-home__destinations,
  .holo-home__inspire {
    margin-top: 14px;
    padding: 16px 14px 14px;
  }

  .holo-home__section-title {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .holo-home__section-title--block {
    margin-bottom: 8px;
    font-size: 15px;
  }

  .holo-home__trip-grid {
    gap: 10px;
  }

  .holo-home__trip-card {
    height: clamp(118px, 15vh, 136px);
  }

  .holo-home__trip-title {
    font-size: 14px;
  }

  .holo-home__trip-sub {
    font-size: 11px;
  }

  .holo-home__trip-copy {
    padding: 8px 10px;
    gap: 2px;
  }

  .holo-home__trip-icon {
    width: 16px;
    height: 16px;
  }

  .holo-home__tool {
    min-height: 58px;
    padding: 8px 6px;
  }

  .holo-home__card {
    height: 56px;
    padding: 8px 10px;
  }

  .holo-home__footer {
    margin-top: 10px;
    padding-top: 8px;
  }

  .holo-home__footer-motto {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .holo-home__beian {
    font-size: 11px;
  }

  .holo-home__main {
    padding-bottom: 28px;
  }
}

/* ????????????????*/
@media (max-width: 1023px) and (max-height: 720px) {
  .holo-home__hero-title {
    margin-bottom: 4px;
    font-size: clamp(20px, 5.5vw, 26px);
  }

  .holo-home__hero-desc {
    font-size: 11px;
    line-height: 1.4;
  }

  .holo-home__snail-img {
    max-height: min(18vh, 128px);
  }

  .holo-home__inspire-row .holo-home__card {
    height: 84px;
    padding: 10px;
  }
}

/* 首次漫游轻引导气泡（锚定 Hero 主视觉下方） */
.holo-roam-bubble {
  position: fixed;
  left: 50%;
  top: calc(var(--holo-header-h, 56px) + 42%);
  z-index: 1100;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: min(92vw, 320px);
  padding: 10px 12px 10px 14px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 55%, var(--theme-line));
  border-radius: 999px;
  background: var(--bg-card);
  color: var(--text-body);
  box-shadow: var(--theme-shadow-md);
  transform: translateX(-50%);
  pointer-events: auto;
}

.holo-roam-bubble__text {
  margin: 0;
  color: var(--text-title);
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

.holo-roam-bubble__close {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--text-light);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.holo-roam-bubble__close:hover {
  color: var(--color-main);
}

.holo-roam-bubble__arrow {
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 10px;
  height: 10px;
  border-right: 1px solid color-mix(in srgb, var(--color-sand) 55%, var(--theme-line));
  border-bottom: 1px solid color-mix(in srgb, var(--color-sand) 55%, var(--theme-line));
  background: var(--bg-card);
  transform: translateX(-50%) rotate(45deg);
}

@media (max-width: 1023px) {
  .holo-roam-bubble {
    top: calc(var(--holo-header-h, 52px) + 36%);
  }
}

.holo-home.is-hero-static .holo-home__atmosphere-meridian,
.holo-home.is-hero-static .holo-home__atmosphere-meridian circle,
.holo-home.is-hero-static .holo-home__atmosphere-meridian ellipse,
.holo-home.is-hero-static .holo-home__atmosphere-meridian path,
.holo-home.is-hero-static .holo-home__atmosphere-path path {
  animation: none !important;
  will-change: auto;
}

/* 种草弹窗：城市 / 漫游灵感 */
.holo-home__preview-dialog {
  width: min(920px, calc(100vw - 32px));
  max-width: 920px;
  max-height: min(90vh, 820px);
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  border-radius: var(--theme-radius-md);
  background: var(--theme-bg);
  color: var(--theme-ink);
  box-shadow: var(--theme-shadow-md);
  overflow: hidden;
}

.holo-home__preview-dialog--city {
  width: min(1120px, calc(100vw - 24px));
  max-width: 1120px;
  max-height: min(90vh, 820px);
}

.holo-home__preview-dialog::backdrop {
  background: color-mix(in srgb, var(--text-title) 22%, transparent);
}

.holo-home__preview-panel {
  display: flex;
  flex-direction: column;
  max-height: min(90vh, 820px);
  min-height: 0;
}

.holo-home__preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex: 0 0 auto;
  padding: 14px 18px 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--color-sand) 42%, var(--theme-line));
}

.holo-home__preview-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding-right: 12px;
  color: var(--text-title);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.holo-home__preview-eyebrow {
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.holo-home__preview-close {
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--color-sand) 45%, var(--theme-line));
  border-radius: 999px;
  background: transparent;
  color: var(--theme-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.holo-home__preview-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px 18px;
  -webkit-overflow-scrolling: touch;
}

/* 城市弹窗：PC 左图 52% / 右文 48%；窄屏上图下文 */
.holo-home__preview-body--city-map {
  display: grid;
  grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  gap: 18px 20px;
  align-items: stretch;
  min-height: 0;
  /* PC：整页不滚，仅右侧文字面板内滚 */
  overflow: hidden;
}

.holo-home__preview-body--city-map.is-narrow {
  grid-template-columns: minmax(0, 1fr);
  /* 窄屏：上图下文流式；弹窗 body 内整块滚动，禁止带动背后页面 */
  overflow: auto;
  gap: 12px;
}

.holo-home__preview-body--city-map.is-narrow .holo-home__preview-map-wrap {
  height: min(240px, 42vw);
  max-height: min(280px, 48vh);
  min-height: 180px;
}

.holo-home__preview-map-wrap {
  min-width: 0;
  min-height: 0;
  height: min(520px, 62vh);
  max-height: min(520px, 62vh);
  border-radius: var(--theme-radius-md);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  background: color-mix(in srgb, var(--color-assist) 12%, var(--theme-bg));
}

.holo-home__preview-amap,
.holo-home__preview-amap-canvas {
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.holo-home__preview-map-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin: 0;
  padding: 16px;
  color: var(--theme-muted);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.holo-home__preview-body--city-map .holo-home__preview-copy {
  min-width: 0;
  max-height: min(520px, 62vh);
  overflow: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.holo-home__preview-mood {
  margin: 0 0 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--color-sand) 38%, var(--theme-line));
  color: var(--text-title);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.holo-home__preview-info-split {
  display: grid;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  gap: 14px 16px;
  align-items: start;
  min-height: 0;
}

.holo-home__preview-copy--split.is-narrow .holo-home__preview-info-split {
  grid-template-columns: minmax(0, 1fr);
}

.holo-home__preview-copy--split.is-narrow .holo-home__preview-info-gallery {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.holo-home__preview-copy--split.is-narrow .holo-home__preview-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.holo-home__preview-info-text {
  min-width: 0;
}

.holo-home__preview-info-gallery {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  max-height: min(480px, 56vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2px 6px 8px 2px;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

.holo-home__preview-photo {
  margin: 0;
  flex: 0 0 auto;
  border-radius: var(--theme-radius-md);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-sand) 36%, var(--theme-line));
  box-shadow: var(--theme-shadow-sm);
  background: color-mix(in srgb, var(--color-assist) 10%, var(--theme-bg));
}

.holo-home__preview-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

/* 实拍 / 占位统一尺寸：主图与缩略同比例，避免图栏跳变 */
.holo-home__preview-photo--hero img {
  aspect-ratio: 4 / 3;
  min-height: 0;
}

.holo-home__preview-photo figcaption {
  margin: 0;
  padding: 7px 10px 9px;
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  background: color-mix(in srgb, var(--theme-bg) 88%, var(--bg-card));
}

/* 占位图栏：底部小字强调城市名，尺寸与实拍卡片一致 */
.holo-home__preview-info-gallery[data-gallery-tier='placeholder'] .holo-home__preview-photo figcaption,
.holo-home__preview-info-gallery[data-gallery-tier='ai'] .holo-home__preview-photo figcaption {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: color-mix(in srgb, var(--color-main) 70%, var(--theme-muted));
}

.holo-home__preview-spot-cards {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.holo-home__preview-spot-card {
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  border-radius: var(--theme-radius-md);
  background: color-mix(in srgb, var(--bg-card) 70%, var(--theme-bg));
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease;
}

.holo-home__preview-spot-card.is-active {
  border-color: color-mix(in srgb, var(--color-main) 42%, var(--theme-line));
  background: color-mix(in srgb, var(--color-main) 10%, var(--theme-bg));
}

.holo-home__preview-spot-card-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
  margin: 0;
  padding: 10px 11px;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.holo-home__preview-spot-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  width: 100%;
}

.holo-home__preview-spot-card-head strong {
  color: var(--text-title);
  font-size: 13px;
  font-weight: 650;
}

.holo-home__preview-spot-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-main) 14%, transparent);
  color: var(--color-main);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.holo-home__preview-spot-blurb {
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.65;
}

.holo-home__preview-food-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.holo-home__preview-food-list li {
  position: relative;
  margin: 0;
  padding: 0 0 0 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.holo-home__preview-food-line {
  color: var(--text-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.holo-home__preview-food-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-main) 55%, var(--theme-muted));
}

.holo-home__preview-food-list strong {
  color: var(--text-title);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}

.holo-home__preview-food-meta {
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.55;
}

.holo-home__preview-spot-list {
  gap: 10px;
}

.holo-home__preview-spot-list li.is-active {
  border-radius: var(--theme-radius-md);
  background: color-mix(in srgb, var(--color-main) 8%, transparent);
}

.holo-home__preview-spot-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 4px 0;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.holo-home__preview-spot-btn strong {
  color: var(--text-title);
  font-size: 13px;
  font-weight: 650;
}

.holo-home__preview-spot-btn span {
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.65;
}

/* 兼容旧 class，城市弹窗已改用 --city-map */
.holo-home__preview-body--city {
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(0, 42%);
  gap: 20px 22px;
  align-items: start;
}

.holo-home__preview-body--city.is-narrow {
  grid-template-columns: minmax(0, 1fr);
}

.holo-home__preview-body--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 1.05fr);
  gap: 16px;
  align-items: start;
}

.holo-home__preview-body--split.is-narrow {
  grid-template-columns: minmax(0, 1fr);
}

.holo-home__preview-copy {
  min-width: 0;
}

.holo-home__preview-intro {
  margin: 0;
  color: var(--text-body);
  font-size: 14px;
  line-height: 1.85;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  display: block;
  -webkit-line-clamp: unset;
}

.holo-home__preview-aside {
  margin: 0;
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.55;
}

.holo-home__preview-group {
  margin: 0 0 22px;
  padding: 0 0 18px;
  border-bottom: 1px solid color-mix(in srgb, var(--color-sand) 38%, var(--theme-line));
}

.holo-home__preview-group:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.holo-home__preview-group h4 {
  margin: 0 0 10px;
  color: var(--text-title);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.1em;
}

.holo-home__preview-dot-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.holo-home__preview-dot-list li {
  position: relative;
  margin: 0;
  padding: 0 0 0 14px;
  color: var(--text-body);
  font-size: 13px;
  line-height: 1.8;
}

.holo-home__preview-dot-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-main) 55%, var(--theme-muted));
}

.holo-home__preview-soft-lines {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.holo-home__preview-soft-line {
  display: flex;
  gap: 8px;
  margin: 0;
  color: var(--text-body);
  font-size: 13px;
  line-height: 1.65;
}

.holo-home__preview-soft-line > span:first-child {
  flex: 0 0 auto;
  color: var(--theme-muted);
}

.holo-home__preview-block {
  margin: 0 0 12px;
}

.holo-home__preview-block:last-child {
  margin-bottom: 0;
}

.holo-home__preview-block h4 {
  margin: 0 0 6px;
  color: var(--text-title);
  font-size: 13px;
  letter-spacing: 0.08em;
}

.holo-home__preview-block ul {
  margin: 0;
  padding-left: 1.1em;
  color: var(--text-body);
  font-size: 13px;
  line-height: 1.55;
}

.holo-home__preview-earth-marks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.holo-home__preview-earth-marks li {
  margin: 0;
  padding: 0;
}

.holo-home__preview-earth-dot {
  margin: 0;
  padding: 4px 10px;
  border: 1px solid color-mix(in srgb, var(--color-main) 22%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-main) 6%, var(--bg-card));
  color: var(--text-body);
  font: inherit;
  font-size: 12px;
  line-height: 1.3;
  cursor: pointer;
}

.holo-home__preview-earth-dot.is-active,
.holo-home__preview-earth-dot:hover,
.holo-home__preview-earth-dot:focus-visible {
  border-color: var(--color-main);
  color: var(--color-main);
  outline: none;
}

.holo-home__preview-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding-right: 12px;
  color: var(--text-title);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.holo-home__preview-gallery {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.holo-home__preview-gallery-hero {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0;
  border-radius: 14px;
  box-shadow: var(--theme-shadow-sm);
  background: var(--theme-surface);
}

.holo-home__preview-gallery-caption {
  margin: 0;
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.45;
}

.holo-home__preview-gallery-caption strong {
  color: var(--text-title);
  font-weight: 650;
}

.holo-home__preview-gallery-thumbs {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
}

.holo-home__preview-gallery-thumb {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--theme-muted);
  font-size: 11px;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
}

.holo-home__preview-gallery-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}

.holo-home__preview-gallery-thumb.is-active {
  border-color: color-mix(in srgb, var(--theme-accent) 35%, var(--theme-line));
  color: var(--theme-accent);
}

.holo-home__preview-gallery-thumb:hover,
.holo-home__preview-gallery-thumb:focus-visible {
  color: var(--theme-accent);
  outline: none;
}

.holo-home__clarify-dialog {
  width: min(380px, calc(100vw - 40px));
  max-width: 380px;
  padding: 0;
  border: 1px solid var(--theme-line);
  border-radius: var(--theme-radius-md);
  background: color-mix(in srgb, var(--theme-bg) 94%, transparent);
  color: var(--theme-ink);
  box-shadow: var(--theme-shadow-md);
  z-index: 1300;
}

.holo-home__clarify-dialog::backdrop {
  background: color-mix(in srgb, var(--text-title) 18%, transparent);
}

.holo-home__clarify-dialog--lite {
  margin: auto;
}

.holo-home__clarify-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px 18px 18px;
}

.holo-home__clarify-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.holo-home__clarify-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  color: var(--text-title);
  font-size: 18px;
  font-weight: 700;
}

.holo-home__clarify-dest {
  color: var(--theme-accent);
  font-size: 13px;
  font-weight: 600;
}

.holo-home__clarify-hint {
  margin: 0;
  color: var(--theme-muted);
  font-size: 13px;
  line-height: 1.5;
}

.holo-home__clarify-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 10px;
  border-radius: var(--theme-radius-md);
  border: 1px solid transparent;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.holo-home__clarify-group.is-focus {
  border-color: color-mix(in srgb, var(--color-main) 28%, var(--theme-line));
  background: color-mix(in srgb, var(--color-main) 6%, var(--bg-card, var(--theme-surface)));
}

.holo-home__clarify-voice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 2px;
}

.holo-home__clarify-voice-hint {
  flex: 1 1 160px;
  margin: 0;
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.45;
}

.holo-home__clarify-label {
  margin: 0;
  color: var(--text-title);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.06em;
}

.holo-home__clarify-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.holo-home__clarify-chip {
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  background: var(--bg-card, var(--theme-surface));
  color: var(--theme-muted);
  font-size: 13px;
  cursor: pointer;
}

.holo-home__clarify-chip.is-active {
  border-color: color-mix(in srgb, var(--theme-accent) 40%, var(--theme-line));
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--bg-card, var(--theme-surface)));
  color: var(--theme-accent);
}

.holo-home__clarify-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
}

.holo-home__clarify-skip {
  margin: 0;
  padding: 8px 12px;
  border: none;
  background: transparent;
  color: var(--theme-muted);
  font-size: 13px;
  cursor: pointer;
}

.holo-home__preview-cover {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin: 0 0 14px;
  border: 0;
  border-radius: 16px;
  box-shadow: var(--theme-shadow-sm);
}

.holo-home__preview-spot-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.holo-home__preview-spot-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.holo-home__preview-spot-item img {
  width: 72px;
  height: 54px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: var(--theme-shadow-sm);
}

.holo-home__preview-transit {
  margin: 0;
  color: var(--theme-muted);
  font-size: 13px;
  line-height: 1.55;
}

.holo-home__preview-subline {
  margin: 0 0 14px;
  color: var(--theme-muted);
  font-size: 13px;
}

.holo-home__preview-earth-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  min-width: 0;
  min-height: 0;
  padding: 0;
  position: sticky;
  top: 0;
}

.holo-home__mini-earth {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  max-height: min(360px, 42vh);
  margin-inline: auto;
  border-radius: var(--theme-radius-md);
  overflow: hidden;
  background: color-mix(in srgb, var(--color-assist) 14%, var(--theme-bg));
  border: 1px solid color-mix(in srgb, var(--color-sand) 35%, var(--theme-line));
  touch-action: none;
}

.holo-home__mini-earth .holo-earth__frame {
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: inherit;
  overflow: hidden;
  background: inherit;
}

.holo-home__preview-earth-tip {
  display: none;
}

.holo-home__preview-foot {
  display: flex;
  justify-content: flex-end;
  flex: 0 0 auto;
  padding: 12px 18px 16px;
  border-top: 1px solid color-mix(in srgb, var(--color-sand) 42%, var(--theme-line));
}

.holo-home__preview-foot--center {
  justify-content: center;
  padding: 14px 18px 18px;
}

.holo-home__preview-cta {
  min-height: 42px;
  min-width: min(240px, 70%);
  padding: 8px 28px;
  border: 1px solid color-mix(in srgb, var(--color-main) 32%, var(--theme-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-main) 10%, var(--bg-card));
  color: var(--color-main);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition:
    background-color 0.25s ease,
    transform 0.25s ease;
}

.holo-home__preview-cta:hover,
.holo-home__preview-cta:focus-visible {
  background: color-mix(in srgb, var(--color-main) 16%, var(--bg-card));
  transform: translateY(-1px);
  outline: none;
}

@media (max-width: 767px) {
  .holo-home__preview-dialog--city {
    width: calc(100vw - 20px);
    max-height: min(92vh, 860px);
  }

  .holo-home__preview-panel {
    max-height: min(92vh, 860px);
  }

  .holo-home__preview-body--city,
  .holo-home__preview-body--city-map,
  .holo-home__preview-body--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .holo-home__preview-map-wrap {
    height: min(260px, 52vw);
    max-height: min(260px, 52vw);
    order: 1;
  }

  .holo-home__preview-body--city-map .holo-home__preview-copy {
    max-height: none;
    overflow: visible;
    order: 2;
  }

  .holo-home__preview-mood {
    font-size: 16px;
    margin-bottom: 14px;
  }

  .holo-home__preview-copy--split .holo-home__preview-info-text {
    order: 1;
  }

  .holo-home__preview-copy--split .holo-home__preview-info-gallery {
    order: 2;
    max-height: none;
    overflow: visible;
  }

  .holo-home__preview-photo img,
  .holo-home__preview-photo--hero img {
    width: 100%;
    aspect-ratio: 16 / 10;
    min-height: 0;
  }

  .holo-home__preview-earth-wrap {
    position: static;
    order: 2;
    padding-top: 4px;
  }

  .holo-home__preview-copy {
    order: 1;
  }

  .holo-home__mini-earth {
    width: 100%;
    max-width: none;
    max-height: min(320px, 48vw);
    aspect-ratio: 1 / 1;
  }

  .holo-home__preview-foot--center .holo-home__preview-cta {
    width: 100%;
    min-width: 0;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .holo-home__preview-body--city-map {
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);
    gap: 14px;
  }

  .holo-home__preview-map-wrap,
  .holo-home__preview-body--city-map .holo-home__preview-copy {
    height: min(460px, 58vh);
    max-height: min(460px, 58vh);
  }

  .holo-home__preview-info-split {
    grid-template-columns: minmax(0, 1fr);
  }

  .holo-home__preview-body--city {
    grid-template-columns: minmax(0, 55%) minmax(0, 45%);
    gap: 16px;
  }

  .holo-home__mini-earth {
    max-height: min(300px, 38vh);
  }
}

/* 蜗友在路上 */
.holo-home__community {
  width: 100%;
  margin: 0 auto;
  padding: 14px 0 2px;
  border-top: 1px solid color-mix(in srgb, var(--color-sand) 45%, var(--theme-line));
}

.holo-home__community-lead {
  margin: -4px 0 14px;
  color: var(--theme-muted);
  font-size: 13px;
  line-height: 1.55;
}

.holo-home__community-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.holo-home__community-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 120px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 35%, var(--theme-line));
  border-radius: var(--theme-radius-md);
  background: var(--bg-card);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--theme-shadow-sm);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.holo-home__community-card:hover,
.holo-home__community-card:focus-visible {
  border-color: var(--color-assist);
  box-shadow: var(--theme-shadow-md);
  transform: translateY(-2px);
  outline: none;
}

.holo-home__community-card-title {
  color: var(--text-title);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.holo-home__community-card-desc {
  flex: 1 1 auto;
  color: var(--text-body);
  font-size: 13px;
  line-height: 1.5;
}

.holo-home__community-card-more {
  color: var(--color-main);
  font-size: 12px;
  letter-spacing: 0.06em;
}

/* 移动端：芯片条，不再堆空白卡片 */
.holo-home__community--compact {
  padding: 14px 0 0;
}

.holo-home__community--compact .holo-home__section-title {
  margin-bottom: 10px;
  font-size: 15px;
}

.holo-home__community--compact .holo-home__community-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.holo-home__community--compact .holo-home__community-card {
  flex: 1 1 calc(50% - 8px);
  min-height: 0;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 10px 12px;
  border-radius: var(--theme-radius-md);
  box-shadow: none;
  background: color-mix(in srgb, var(--bg-card) 88%, var(--color-assist));
}

.holo-home__community--compact .holo-home__community-card:hover,
.holo-home__community--compact .holo-home__community-card:focus-visible {
  transform: none;
  box-shadow: none;
}

.holo-home__community--compact .holo-home__community-card-title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
}

@media (max-width: 639px) {
  .holo-home__community:not(.holo-home__community--compact) .holo-home__community-grid {
    grid-template-columns: 1fr;
  }
}

/* 城市列表二级页 */
.holo-cities-page__main {
  max-width: 960px;
  margin: 0 auto;
  padding: 28px 20px 64px;
}

.holo-cities-page__title {
  margin: 0 0 8px;
  color: var(--text-title);
  font-size: 22px;
}

.holo-cities-page__desc {
  margin: 0 0 20px;
  color: var(--theme-muted);
  font-size: 14px;
  line-height: 1.6;
}

.holo-cities-page__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 10px;
}

.holo-cities-page__chip {
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--color-sand) 40%, var(--theme-line));
  border-radius: 12px;
  background: var(--bg-card);
  color: var(--text-body);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  transition:
    border-color 0.22s ease,
    transform 0.22s ease;
}

.holo-cities-page__chip:hover,
.holo-cities-page__chip:focus-visible {
  border-color: var(--color-assist);
  transform: translateY(-1px);
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  .snail-earth-container,
  .holo-home__atmosphere-meridian,
  .holo-home__atmosphere-meridian circle,
  .holo-home__atmosphere-meridian ellipse,
  .holo-home__atmosphere-meridian path,
  .holo-home__atmosphere-path path,
  .holo-home__graphic-stage::before,
  .holo-home__voice.is-active .holo-home__voice-btn,
  .holo-home__trip-card,
  .holo-home__trip-photo {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }
}
.snail-brand-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.snail-brand-logo__icon {
  flex-shrink: 0;
}

.snail-brand-logo__text {
  min-width: 0;
}

.snail-brand-logo__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0;
  color: var(--theme-ink);
  line-height: 1.2;
}

.snail-brand-logo__zh {
  font-size: 16px;
  font-weight: 560;
  letter-spacing: 0.04em;
}

.snail-brand-logo__en {
  font-size: 12px;
  font-weight: 450;
  color: var(--theme-muted);
  letter-spacing: 0.02em;
}

.snail-brand-logo__slogan {
  margin: 2px 0 0;
  color: var(--theme-faint);
  font-size: 11px;
  letter-spacing: 0.08em;
}
/* 内页外壳：与 Holo 首页锁定色板对齐（#f9f7eb / #2c6b58） */

.holo-inner-shell {
  --theme-bg: #f9f7eb;
  --theme-surface: #fffef6;
  --theme-accent: #2c6b58;
  --theme-muted: #54786c;
  --theme-line: #b7cdc4;
  --theme-faint: #54786c;
  --theme-ink: #2c6b58;
  --holo-inner-header-h: 56px;

  min-height: 100dvh;
  background: var(--theme-bg);
  color: var(--theme-accent);
  font-family: var(--theme-font, 'PingFang SC', 'Noto Sans SC', 'Segoe UI', system-ui, sans-serif);
  overflow-x: clip;
}

.holo-inner-shell__header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--holo-inner-header-h);
  border-bottom: 1px solid var(--theme-line);
  background: color-mix(in srgb, var(--theme-bg) 92%, transparent);
  backdrop-filter: blur(8px);
}

.holo-inner-shell__header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  max-width: 72rem;
  height: 100%;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

.holo-inner-shell__brand {
  display: inline-flex;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.holo-inner-shell__brand:focus-visible {
  outline: none;
  border-radius: 8px;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-accent) 35%, transparent);
}

.holo-inner-shell__brand .snail-brand-logo__zh {
  color: var(--theme-accent);
  font-size: 15px;
}

.holo-inner-shell__brand .snail-brand-logo__en {
  color: var(--theme-muted);
  font-size: 11px;
}

.holo-inner-shell__brand .snail-brand-logo__slogan {
  display: none;
}

.holo-inner-shell__header-right {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.holo-inner-shell__page-label {
  margin: 0;
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

.holo-inner-shell__home-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  color: var(--theme-accent);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-decoration: none;
  background: transparent;
}

.holo-inner-shell__home-link:hover,
.holo-inner-shell__home-link:focus-visible {
  border-color: var(--theme-accent);
  outline: none;
}

.holo-inner-shell__main {
  width: 100%;
  max-width: 72rem;
  margin: 0 auto;
  padding: 16px 16px calc(88px + env(safe-area-inset-bottom));
  box-sizing: border-box;
}

@media (min-width: 1024px) {
  .holo-inner-shell {
    --holo-inner-header-h: 64px;
  }

  .holo-inner-shell__header-inner {
    padding: 0 28px;
  }

  .holo-inner-shell__main {
    padding: 20px 28px 40px;
  }

  .holo-inner-shell__brand .snail-brand-logo__zh {
    font-size: 17px;
  }
}

/* —— 攻略页内容外壳（页面根 .holo-guides） —— */
.holo-guides {
  --theme-bg: #f9f7eb;
  --theme-surface: #fffef6;
  --theme-accent: #2c6b58;
  --theme-muted: #54786c;
  --theme-line: #b7cdc4;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.holo-guides__panel {
  border: 1.5px solid var(--theme-line);
  border-radius: 14px;
  background: var(--theme-surface);
  box-shadow: none;
  padding: 18px 16px;
}

.holo-guides__title {
  margin: 0;
  color: var(--theme-accent);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.holo-guides__subtitle {
  margin: 6px 0 0;
  color: var(--theme-muted);
  font-size: 13px;
  line-height: 1.55;
}

.holo-guides__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1.5px solid var(--theme-accent);
  border-radius: 999px;
  background: var(--theme-accent);
  color: #f9f7eb;
  font-size: 13px;
  font-weight: 560;
  letter-spacing: 0.06em;
  text-decoration: none;
}

.holo-guides__cta:hover {
  filter: brightness(1.05);
}

.holo-guides__label {
  margin: 14px 0 0;
  color: var(--theme-muted);
  font-size: 13px;
  font-weight: 500;
}

.holo-guides__input {
  margin-top: 6px;
  display: block;
  width: 100%;
  border: 1.5px solid var(--theme-line);
  border-radius: 10px;
  background: var(--theme-bg);
  color: var(--theme-accent);
  box-shadow: none;
}

.holo-guides__input:focus {
  border-color: var(--theme-accent);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent) 16%, transparent);
}

/* 列表卡：去重阴影，细边线 */
.holo-guides section.rounded-2xl,
.holo-guides article.rounded-2xl {
  border-color: var(--theme-line) !important;
  background: var(--theme-surface) !important;
  box-shadow: none !important;
}

.holo-guides h1,
.holo-guides h2,
.holo-guides h3 {
  color: var(--theme-accent);
}

.holo-guides .text-slate-600,
.holo-guides .text-slate-500,
.holo-guides .text-slate-400 {
  color: var(--theme-muted) !important;
}

.holo-guides .text-brand-600,
.holo-guides .text-brand-700,
.holo-guides .text-emerald-800 {
  color: var(--theme-accent) !important;
}

.holo-guides .bg-brand-50,
.holo-guides .bg-emerald-100,
.holo-guides .bg-slate-100 {
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--theme-bg)) !important;
  color: var(--theme-accent) !important;
}

/* AI 横幅降噪 */
.holo-guides-banner {
  position: relative;
  border: 1.5px solid var(--theme-line, #b7cdc4);
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-accent, #2c6b58) 5%, var(--theme-surface, #fffef6));
  padding: 14px 16px;
  box-shadow: none;
  color: var(--theme-accent, #2c6b58);
}

.holo-guides-banner__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  color: var(--theme-muted, #54786c);
  font-size: 11px;
  letter-spacing: 0.1em;
}

.holo-guides-banner__body {
  margin: 8px 0 0;
  padding-right: 28px;
  color: var(--theme-accent, #2c6b58);
  font-size: 14px;
  line-height: 1.55;
}

.holo-guides-banner__meta {
  margin: 4px 0 0;
  color: var(--theme-muted, #54786c);
  font-size: 12px;
}

.holo-guides-banner__close {
  position: absolute;
  top: 10px;
  right: 10px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--theme-muted, #54786c);
  padding: 4px;
  cursor: pointer;
}

.holo-guides-banner__close:hover {
  color: var(--theme-accent, #2c6b58);
  background: color-mix(in srgb, var(--theme-accent, #2c6b58) 8%, transparent);
}

/* —— 发现页内容外壳（页面根 .holo-discover） —— */
.holo-discover {
  --theme-bg: #f9f7eb;
  --theme-surface: #fffef6;
  --theme-accent: #2c6b58;
  --theme-muted: #54786c;
  --theme-line: #b7cdc4;
}

.holo-discover h1,
.holo-discover h2,
.holo-discover h3 {
  color: var(--theme-accent);
}

.holo-discover .text-slate-900,
.holo-discover .text-slate-800 {
  color: var(--theme-accent) !important;
}

.holo-discover .text-slate-600,
.holo-discover .text-slate-500,
.holo-discover .text-slate-400 {
  color: var(--theme-muted) !important;
}

.holo-discover section.rounded-2xl,
.holo-discover article.rounded-2xl {
  border-color: var(--theme-line) !important;
  box-shadow: none !important;
}

/* 底栏：米白 + 主色激活 */
.holo-inner-shell nav[aria-label='底部导航'] {
  border-top-color: var(--theme-line);
  background: color-mix(in srgb, var(--theme-surface) 94%, transparent);
}

.holo-inner-shell nav[aria-label='底部导航'] a.text-brand-600,
.holo-inner-shell nav[aria-label='底部导航'] a[aria-current='page'] {
  color: var(--theme-accent) !important;
}

/* —— AI 蜗牛（页面根 .holo-ai-snail） —— */
.holo-ai-snail {
  --theme-bg: #f9f7eb;
  --theme-surface: #fffef6;
  --theme-accent: #2c6b58;
  --theme-muted: #54786c;
  --theme-line: #b7cdc4;
  color: var(--theme-accent);
}

.holo-ai-snail__intro {
  margin-bottom: 14px;
}

.holo-ai-snail__title {
  margin: 0;
  color: var(--theme-accent);
  font-size: 1.25rem;
  font-weight: 650;
  letter-spacing: 0.04em;
}

.holo-ai-snail__subtitle,
.holo-ai-snail__hint,
.holo-ai-snail__meta,
.holo-ai-snail__footer {
  color: var(--theme-muted);
}

.holo-ai-snail__subtitle {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.55;
}

.holo-ai-snail__hint {
  margin: 8px 0 0;
  font-size: 12px;
}

.holo-ai-snail__inline-link {
  color: var(--theme-accent);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.holo-ai-snail__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 4px;
  padding: 0;
  list-style: none;
}

.holo-ai-snail__step {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 0 10px 0 4px;
  border: 1px solid var(--theme-line);
  border-radius: 999px;
  background: var(--theme-surface);
  color: var(--theme-muted);
  font-size: 12px;
}

.holo-ai-snail__step-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--theme-bg));
  color: var(--theme-accent);
  font-size: 10px;
  font-weight: 700;
}

.holo-ai-snail__step.is-active {
  border-color: var(--theme-accent);
  color: var(--theme-accent);
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--theme-surface));
}

.holo-ai-snail__step.is-active .holo-ai-snail__step-dot,
.holo-ai-snail__step.is-done .holo-ai-snail__step-dot {
  background: var(--theme-accent);
  color: #f9f7eb;
}

.holo-ai-snail__step.is-done {
  border-color: color-mix(in srgb, var(--theme-accent) 35%, var(--theme-line));
  color: var(--theme-accent);
}

.holo-ai-snail__panel {
  border: 1.5px solid var(--theme-line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-surface) 88%, var(--theme-bg));
  box-shadow: none;
}

.holo-ai-snail__panel-header {
  border-bottom: 1px solid var(--theme-line);
  background: var(--theme-surface);
  color: var(--theme-accent);
}

.holo-ai-snail__badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 2px 8px;
  background: color-mix(in srgb, var(--theme-accent) 12%, var(--theme-bg));
  color: var(--theme-accent);
  font-size: 10px;
  font-weight: 650;
}

.holo-ai-snail__ghost-btn {
  border: 1px solid var(--theme-line);
  border-radius: 10px;
  background: transparent;
  color: var(--theme-muted);
}

.holo-ai-snail__ghost-btn:hover {
  border-color: var(--theme-accent);
  color: var(--theme-accent);
}

.holo-ai-snail__footer {
  border-top: 1px solid var(--theme-line);
  background: var(--theme-surface);
}

.holo-ai-snail__primary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1.5px solid var(--theme-accent);
  border-radius: 12px;
  background: var(--theme-accent);
  color: #f9f7eb;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.04em;
  box-shadow: none;
}

.holo-ai-snail__primary-btn:hover {
  filter: brightness(1.05);
}

.holo-ai-snail__secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1.5px solid var(--theme-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-accent) 8%, var(--theme-bg));
  color: var(--theme-accent);
  font-size: 13px;
  font-weight: 600;
}

.holo-ai-snail__input {
  border: 1.5px solid var(--theme-line);
  border-radius: 12px;
  background: var(--theme-bg);
  color: var(--theme-accent);
  padding: 12px 14px;
  font-size: 14px;
  box-shadow: none;
}

.holo-ai-snail__input:focus {
  border-color: var(--theme-accent);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent) 16%, transparent);
}

.holo-ai-snail__option {
  border: 1.5px solid var(--theme-line);
  border-radius: 12px;
  background: var(--theme-surface);
  color: var(--theme-accent);
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 550;
}

.holo-ai-snail__option:hover {
  border-color: var(--theme-accent);
}

.holo-ai-snail__option.is-selected {
  border-color: var(--theme-accent);
  background: color-mix(in srgb, var(--theme-accent) 12%, var(--theme-surface));
}

.holo-ai-snail__option:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.holo-ai-snail__avatar.is-user {
  background: #54786c;
  color: #f9f7eb;
}

.holo-ai-snail__avatar.is-bot {
  background: var(--theme-accent);
  color: #f9f7eb;
}

.holo-ai-snail__bubble-label {
  color: var(--theme-accent);
  letter-spacing: 0.08em;
}

.holo-ai-snail__bubble-label.is-user {
  color: var(--theme-muted);
}

.holo-ai-snail__bubble {
  border-radius: 14px;
  box-shadow: none;
}

.holo-ai-snail__bubble.is-user {
  border-top-right-radius: 6px;
  background: var(--theme-accent);
  color: #f9f7eb;
}

.holo-ai-snail__bubble.is-bot {
  border-top-left-radius: 6px;
  border: 1px solid var(--theme-line);
  border-left: 3px solid var(--theme-accent);
  background: var(--theme-surface);
  color: var(--theme-accent);
}

/* —— 搭子 / 资料 / 消息（批次 B） —— */
.holo-buddies,
.holo-profile,
.holo-messages {
  --theme-bg: #f9f7eb;
  --theme-surface: #fffef6;
  --theme-accent: #2c6b58;
  --theme-muted: #54786c;
  --theme-line: #b7cdc4;
  color: var(--theme-accent);
}

.holo-buddies__title,
.holo-messages__title,
.holo-profile h1 {
  color: var(--theme-accent);
}

.holo-buddies__subtitle,
.holo-messages__subtitle {
  margin: 4px 0 0;
  color: var(--theme-muted);
  font-size: 13px;
}

.holo-buddies__cta {
  min-height: 40px;
  padding: 0 14px;
  border: 1.5px solid var(--theme-accent);
  border-radius: 12px;
  background: var(--theme-accent);
  color: #f9f7eb;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.holo-buddies__cta:hover {
  filter: brightness(1.05);
}

.holo-buddies__back,
.holo-profile__back,
.holo-messages__link {
  color: var(--theme-accent);
  text-decoration: none;
  font-weight: 600;
}

.holo-buddies__panel,
.holo-profile__panel,
.holo-messages__panel {
  border: 1.5px solid var(--theme-line);
  border-radius: 14px;
  background: var(--theme-surface);
  box-shadow: none;
}

.holo-messages__aside {
  border-color: var(--theme-line);
  background: color-mix(in srgb, var(--theme-surface) 92%, var(--theme-bg));
}

.holo-messages__aside-title {
  border-color: var(--theme-line);
  color: var(--theme-muted);
}

.holo-buddies h2,
.holo-profile h2,
.holo-messages h1 {
  color: var(--theme-accent);
}

.holo-buddies .text-slate-600,
.holo-buddies .text-slate-500,
.holo-profile .text-slate-600,
.holo-profile .text-slate-500,
.holo-messages .text-slate-600,
.holo-messages .text-slate-500 {
  color: var(--theme-muted) !important;
}

/* —— 批次 C：攻略详情 / 发布 / 行程 / 关于 —— */
.holo-guide-detail,
.holo-guide-publish,
.holo-plan-detail,
.holo-about {
  --theme-bg: #f9f7eb;
  --theme-surface: #fffef6;
  --theme-accent: #2c6b58;
  --theme-muted: #54786c;
  --theme-line: #b7cdc4;
  color: var(--theme-accent);
}

.holo-guide-detail article.rounded-2xl,
.holo-guide-publish header.rounded-2xl,
.holo-plan-detail article.rounded-2xl,
.holo-plan-detail header.rounded-2xl,
.holo-about__panel {
  border-color: var(--theme-line) !important;
  background: var(--theme-surface) !important;
  box-shadow: none !important;
}

.holo-guide-detail h1,
.holo-guide-detail h2,
.holo-guide-publish h1,
.holo-plan-detail h1,
.holo-plan-detail h2,
.holo-about h2,
.holo-about h3 {
  color: var(--theme-accent);
}

.holo-guide-detail .text-slate-600,
.holo-guide-detail .text-slate-500,
.holo-guide-publish .text-slate-600,
.holo-guide-publish .text-slate-500,
.holo-plan-detail .text-slate-600,
.holo-plan-detail .text-slate-500,
.holo-about .text-slate-600,
.holo-about .text-slate-500 {
  color: var(--theme-muted) !important;
}

.holo-guide-detail .text-brand-600,
.holo-guide-detail .text-brand-700,
.holo-guide-publish .text-brand-600,
.holo-plan-detail .text-brand-600,
.holo-plan-detail .text-brand-700 {
  color: var(--theme-accent) !important;
}

.holo-guide-detail .bg-brand-50,
.holo-plan-detail .bg-brand-50 {
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--theme-surface)) !important;
}

.holo-guide-detail .bg-brand-600,
.holo-guide-publish .bg-brand-600,
.holo-plan-detail .bg-brand-600 {
  background: var(--theme-accent) !important;
}

.holo-guide-detail .hover\:bg-brand-700:hover,
.holo-guide-publish .hover\:bg-brand-700:hover,
.holo-plan-detail .hover\:bg-brand-700:hover {
  filter: brightness(1.05);
}

/* 行程页：地图区尽量全宽、周边米白 */
.holo-plan-detail [data-plan-map],
.holo-plan-detail .mapboxgl-map {
  border-radius: 12px;
  border: 1.5px solid var(--theme-line);
}

/* 关于蜗牛 + 迭代规划：上下堆叠、限高、紧凑行距（文案自首页迁移） */
.holo-about__brand-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.holo-about__brand-card {
  margin: 0;
  padding: 10px 12px 8px;
  max-height: 200px;
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--color-sand, #d9c8b4) 40%, var(--theme-line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--theme-bg, #f9f7eb) 55%, var(--theme-surface, #fffef6));
  box-sizing: border-box;
}

.holo-about__brand-card-title {
  margin: 0 0 4px;
  color: var(--theme-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.holo-about__brand-card-body {
  margin: 0;
  color: var(--theme-muted);
  font-size: 12px;
  line-height: 1.4;
}

.holo-about__brand-card-values {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 2px;
}

.holo-about__brand-card-values li {
  color: var(--theme-muted);
  font-size: 11px;
  line-height: 1.35;
}

.holo-about__brand-card-values strong {
  color: var(--theme-accent);
  font-weight: 600;
}

.holo-about__brand-rollout-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 3px;
}

.holo-about__brand-rollout-list li {
  margin: 0;
  color: var(--theme-muted);
  font-size: 11px;
  line-height: 1.35;
  letter-spacing: 0.01em;
}

@media (max-width: 1023px) {
  .holo-about__brand-card {
    max-height: 160px;
    padding: 8px 10px 6px;
  }

  .holo-about__brand-card-title {
    font-size: 12px;
    margin-bottom: 3px;
  }

  .holo-about__brand-card-body {
    font-size: 11px;
    line-height: 1.35;
  }

  .holo-about__brand-card-values li,
  .holo-about__brand-rollout-list li {
    font-size: 10px;
    line-height: 1.3;
  }
}

.holo-about__footer {
  color: var(--theme-muted);
}

.holo-about__footer .site-compliance__link {
  color: var(--theme-accent);
  text-decoration: none;
}

.holo-about__footer .site-compliance__link:hover {
  text-decoration: underline;
}

/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-x-reverse: 0;
      --tw-border-style: solid;
      --tw-divide-y-reverse: 0;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-content: "";
      --tw-outline-style: solid;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-100: oklch(93.6% .032 17.717);
    --color-red-200: oklch(88.5% .062 18.334);
    --color-red-300: oklch(80.8% .114 19.571);
    --color-red-400: oklch(70.4% .191 22.216);
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-orange-50: oklch(98% .016 73.684);
    --color-orange-200: oklch(90.1% .076 70.697);
    --color-orange-300: oklch(83.7% .128 66.29);
    --color-orange-500: oklch(70.5% .213 47.604);
    --color-amber-50: oklch(98.7% .022 95.277);
    --color-amber-100: oklch(96.2% .059 95.617);
    --color-amber-200: oklch(92.4% .12 95.746);
    --color-amber-300: oklch(87.9% .169 91.605);
    --color-amber-400: oklch(82.8% .189 84.429);
    --color-amber-500: oklch(76.9% .188 70.08);
    --color-amber-600: oklch(66.6% .179 58.318);
    --color-amber-700: oklch(55.5% .163 48.998);
    --color-amber-800: oklch(47.3% .137 46.201);
    --color-amber-900: oklch(41.4% .112 45.904);
    --color-amber-950: oklch(27.9% .077 45.635);
    --color-yellow-200: oklch(94.5% .129 101.54);
    --color-emerald-50: oklch(97.9% .021 166.113);
    --color-emerald-100: oklch(95% .052 163.051);
    --color-emerald-200: oklch(90.5% .093 164.15);
    --color-emerald-300: oklch(84.5% .143 164.978);
    --color-emerald-400: oklch(76.5% .177 163.223);
    --color-emerald-500: oklch(69.6% .17 162.48);
    --color-emerald-600: oklch(59.6% .145 163.225);
    --color-emerald-700: oklch(50.8% .118 165.612);
    --color-emerald-800: oklch(43.2% .095 166.913);
    --color-emerald-900: oklch(37.8% .077 168.94);
    --color-emerald-950: oklch(26.2% .051 172.552);
    --color-teal-50: oklch(98.4% .014 180.72);
    --color-teal-200: oklch(91% .096 180.426);
    --color-teal-500: oklch(70.4% .14 182.503);
    --color-teal-600: oklch(60% .118 184.704);
    --color-teal-800: oklch(43.7% .078 188.216);
    --color-cyan-50: oklch(98.4% .019 200.873);
    --color-cyan-100: oklch(95.6% .045 203.388);
    --color-cyan-200: oklch(91.7% .08 205.041);
    --color-cyan-300: oklch(86.5% .127 207.078);
    --color-cyan-400: oklch(78.9% .154 211.53);
    --color-cyan-500: oklch(71.5% .143 215.221);
    --color-cyan-600: oklch(60.9% .126 221.723);
    --color-cyan-700: oklch(52% .105 223.128);
    --color-cyan-800: oklch(45% .085 224.283);
    --color-cyan-900: oklch(39.8% .07 227.392);
    --color-cyan-950: oklch(30.2% .056 229.695);
    --color-sky-50: oklch(97.7% .013 236.62);
    --color-sky-100: oklch(95.1% .026 236.824);
    --color-sky-200: oklch(90.1% .058 230.902);
    --color-sky-300: oklch(82.8% .111 230.318);
    --color-sky-500: oklch(68.5% .169 237.323);
    --color-sky-600: oklch(58.8% .158 241.966);
    --color-sky-700: oklch(50% .134 242.749);
    --color-sky-800: oklch(44.3% .11 240.79);
    --color-sky-900: oklch(39.1% .09 240.876);
    --color-blue-200: oklch(88.2% .059 254.128);
    --color-indigo-100: oklch(93% .034 272.788);
    --color-indigo-200: oklch(87% .065 274.039);
    --color-indigo-500: oklch(58.5% .233 277.117);
    --color-indigo-600: oklch(51.1% .262 276.966);
    --color-indigo-800: oklch(39.8% .195 277.366);
    --color-violet-50: oklch(96.9% .016 293.756);
    --color-violet-100: oklch(94.3% .029 294.588);
    --color-violet-200: oklch(89.4% .057 293.283);
    --color-violet-300: oklch(81.1% .111 293.571);
    --color-violet-400: oklch(70.2% .183 293.541);
    --color-violet-500: oklch(60.6% .25 292.717);
    --color-violet-600: oklch(54.1% .281 293.009);
    --color-violet-700: oklch(49.1% .27 292.581);
    --color-violet-800: oklch(43.2% .232 292.759);
    --color-violet-900: oklch(38% .189 293.745);
    --color-violet-950: oklch(28.3% .141 291.089);
    --color-purple-200: oklch(90.2% .063 306.703);
    --color-rose-50: oklch(96.9% .015 12.422);
    --color-rose-100: oklch(94.1% .03 12.58);
    --color-rose-200: oklch(89.2% .058 10.001);
    --color-rose-300: oklch(81% .117 11.638);
    --color-rose-400: oklch(71.2% .194 13.428);
    --color-rose-500: oklch(64.5% .246 16.439);
    --color-rose-600: oklch(58.6% .253 17.585);
    --color-rose-700: oklch(51.4% .222 16.935);
    --color-rose-800: oklch(45.5% .188 13.697);
    --color-rose-900: oklch(41% .159 10.272);
    --color-rose-950: oklch(27.1% .105 12.094);
    --color-slate-50: oklch(98.4% .003 247.858);
    --color-slate-100: oklch(96.8% .007 247.896);
    --color-slate-200: oklch(92.9% .013 255.508);
    --color-slate-300: oklch(86.9% .022 252.894);
    --color-slate-400: oklch(70.4% .04 256.788);
    --color-slate-500: oklch(55.4% .046 257.417);
    --color-slate-600: oklch(44.6% .043 257.281);
    --color-slate-700: oklch(37.2% .044 257.287);
    --color-slate-800: oklch(27.9% .041 260.031);
    --color-slate-900: oklch(20.8% .042 265.755);
    --color-slate-950: oklch(12.9% .042 264.695);
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --drop-shadow-sm: 0 1px 2px #00000026;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --animate-bounce: bounce 1s infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-brand-50: #eef5f1;
    --color-brand-200: #b7cdc4;
    --color-brand-300: #8fb3a5;
    --color-brand-500: #3d7f6a;
    --color-brand-600: #2c6b58;
    --color-brand-700: #245a4a;
    --color-brand-800: #1d4a3d;
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  :root {
    --app-header-offset: 3.25rem;
  }

  @media (min-width: 640px) {
    :root {
      --app-header-offset: 3.5rem;
    }
  }

  body {
    min-height: 100dvh;
    color: var(--color-slate-900);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
  }

  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    --tw-ring-color: #3d7f6acc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-500) 80%, transparent);
    }
  }

  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-offset-color: var(--color-slate-50);
    --tw-outline-style: none;
    outline-style: none;
  }

  input:where([type="text"]), input:where(:not([type])), input:where([type="email"]), input:where([type="url"]), input:where([type="password"]), input:where([type="number"]), input:where([type="date"]), input:where([type="datetime-local"]), input:where([type="month"]), input:where([type="search"]), input:where([type="tel"]), input:where([type="time"]), input:where([type="week"]), select:where([multiple]), textarea, select {
    appearance: none;
    --tw-shadow: 0 0 #0000;
    background-color: #fff;
    border-width: 1px;
    border-color: oklch(55.1% .027 264.364);
    border-radius: 0;
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }

  :is(input:where([type="text"]), input:where(:not([type])), input:where([type="email"]), input:where([type="url"]), input:where([type="password"]), input:where([type="number"]), input:where([type="date"]), input:where([type="datetime-local"]), input:where([type="month"]), input:where([type="search"]), input:where([type="tel"]), input:where([type="time"]), input:where([type="week"]), select:where([multiple]), textarea, select):focus {
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty, /*!*/ /*!*/);
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: oklch(54.6% .245 262.881);
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-color: oklch(54.6% .245 262.881);
    outline: 2px solid #0000;
  }

  input::placeholder, textarea::placeholder {
    color: oklch(55.1% .027 264.364);
    opacity: 1;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-date-and-time-value {
    min-height: 1.5em;
  }

  ::-webkit-date-and-time-value {
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  select {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right .5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
  }

  select:where([multiple]), select:where([size]:not([size="1"])) {
    background-image: initial;
    background-position: initial;
    background-repeat: unset;
    background-size: initial;
    print-color-adjust: unset;
    padding-right: .75rem;
  }

  input:where([type="checkbox"]), input:where([type="radio"]) {
    appearance: none;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    vertical-align: middle;
    -webkit-user-select: none;
    user-select: none;
    color: oklch(54.6% .245 262.881);
    --tw-shadow: 0 0 #0000;
    background-color: #fff;
    background-origin: border-box;
    border-width: 1px;
    border-color: oklch(55.1% .027 264.364);
    flex-shrink: 0;
    width: 1rem;
    height: 1rem;
    padding: 0;
    display: inline-block;
  }

  input:where([type="checkbox"]) {
    border-radius: 0;
  }

  input:where([type="radio"]) {
    border-radius: 100%;
  }

  input:where([type="checkbox"]):focus, input:where([type="radio"]):focus {
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty, /*!*/ /*!*/);
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: oklch(54.6% .245 262.881);
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    outline: 2px solid #0000;
  }

  input:where([type="checkbox"]):checked, input:where([type="radio"]):checked {
    background-color: currentColor;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border-color: #0000;
  }

  input:where([type="checkbox"]):checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
  }

  @media (forced-colors: active) {
    input:where([type="checkbox"]):checked {
      appearance: auto;
    }
  }

  input:where([type="radio"]):checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
  }

  @media (forced-colors: active) {
    input:where([type="radio"]):checked {
      appearance: auto;
    }
  }

  input:where([type="checkbox"]):checked:hover, input:where([type="checkbox"]):checked:focus, input:where([type="radio"]):checked:hover, input:where([type="radio"]):checked:focus {
    background-color: currentColor;
    border-color: #0000;
  }

  input:where([type="checkbox"]):indeterminate {
    background-color: currentColor;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border-color: #0000;
  }

  @media (forced-colors: active) {
    input:where([type="checkbox"]):indeterminate {
      appearance: auto;
    }
  }

  input:where([type="checkbox"]):indeterminate:hover, input:where([type="checkbox"]):indeterminate:focus {
    background-color: currentColor;
    border-color: #0000;
  }

  input:where([type="file"]) {
    background: unset;
    border-color: inherit;
    font-size: unset;
    line-height: inherit;
    border-width: 0;
    border-radius: 0;
    padding: 0;
  }

  input:where([type="file"]):focus {
    outline: 1px solid buttontext;
    outline: 1px auto -webkit-focus-ring-color;
  }
}

@layer components {
  .ai-chat-code-block {
    background-color: var(--color-slate-900) !important;
  }

  .ai-chat-code-block code.hljs {
    padding: calc(var(--spacing) * 0);
    --tw-leading: var(--leading-relaxed);
    font-size: 11px;
    line-height: var(--leading-relaxed);
    background-color: #0000;
  }

  .ai-chat-markdown :where(pre code.hljs) {
    background-color: #0000;
    display: block;
  }
}

@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .inset-3 {
    inset: calc(var(--spacing) * 3);
  }

  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }

  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }

  .-top-1 {
    top: calc(var(--spacing) * -1);
  }

  .-top-8 {
    top: calc(var(--spacing) * -8);
  }

  .-top-12 {
    top: calc(var(--spacing) * -12);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

  .top-1 {
    top: calc(var(--spacing) * 1);
  }

  .top-1\/2 {
    top: 50%;
  }

  .top-2 {
    top: calc(var(--spacing) * 2);
  }

  .top-3 {
    top: calc(var(--spacing) * 3);
  }

  .top-3\.5 {
    top: calc(var(--spacing) * 3.5);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-14 {
    top: calc(var(--spacing) * 14);
  }

  .top-20 {
    top: calc(var(--spacing) * 20);
  }

  .top-\[calc\(100\%\+0\.35rem\)\] {
    top: calc(100% + .35rem);
  }

  .top-\[var\(--app-header-offset\)\] {
    top: var(--app-header-offset);
  }

  .top-full {
    top: 100%;
  }

  .-right-1\.5 {
    right: calc(var(--spacing) * -1.5);
  }

  .-right-6 {
    right: calc(var(--spacing) * -6);
  }

  .-right-8 {
    right: calc(var(--spacing) * -8);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-1 {
    right: calc(var(--spacing) * 1);
  }

  .right-2 {
    right: calc(var(--spacing) * 2);
  }

  .right-3 {
    right: calc(var(--spacing) * 3);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .-bottom-2 {
    bottom: calc(var(--spacing) * -2);
  }

  .-bottom-10 {
    bottom: calc(var(--spacing) * -10);
  }

  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }

  .bottom-1 {
    bottom: calc(var(--spacing) * 1);
  }

  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }

  .bottom-3 {
    bottom: calc(var(--spacing) * 3);
  }

  .bottom-6 {
    bottom: calc(var(--spacing) * 6);
  }

  .bottom-20 {
    bottom: calc(var(--spacing) * 20);
  }

  .-left-3 {
    left: calc(var(--spacing) * -3);
  }

  .-left-6 {
    left: calc(var(--spacing) * -6);
  }

  .-left-\[1\.35rem\] {
    left: -1.35rem;
  }

  .-left-\[1\.625rem\] {
    left: -1.625rem;
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-1 {
    left: calc(var(--spacing) * 1);
  }

  .left-1\/2 {
    left: 50%;
  }

  .left-2 {
    left: calc(var(--spacing) * 2);
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

  .z-0 {
    z-index: 0;
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .z-30 {
    z-index: 30;
  }

  .z-40 {
    z-index: 40;
  }

  .z-50 {
    z-index: 50;
  }

  .z-\[40\] {
    z-index: 40;
  }

  .z-\[45\] {
    z-index: 45;
  }

  .z-\[50\] {
    z-index: 50;
  }

  .z-\[55\] {
    z-index: 55;
  }

  .z-\[56\] {
    z-index: 56;
  }

  .z-\[60\] {
    z-index: 60;
  }

  .z-\[70\] {
    z-index: 70;
  }

  .z-\[80\] {
    z-index: 80;
  }

  .z-\[90\] {
    z-index: 90;
  }

  .z-\[100\] {
    z-index: 100;
  }

  .col-span-full {
    grid-column: 1 / -1;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .-mx-1 {
    margin-inline: calc(var(--spacing) * -1);
  }

  .-mx-4 {
    margin-inline: calc(var(--spacing) * -4);
  }

  .-mx-5 {
    margin-inline: calc(var(--spacing) * -5);
  }

  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .mx-5 {
    margin-inline: calc(var(--spacing) * 5);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }

  .my-2\.5 {
    margin-block: calc(var(--spacing) * 2.5);
  }

  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }

  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }

  .mt-0 {
    margin-top: calc(var(--spacing) * 0);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-3\.5 {
    margin-top: calc(var(--spacing) * 3.5);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-1\.5 {
    margin-right: calc(var(--spacing) * 1.5);
  }

  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }

  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * .5);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .ml-0\.5 {
    margin-left: calc(var(--spacing) * .5);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .ml-1\.5 {
    margin-left: calc(var(--spacing) * 1.5);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }

  .ml-auto {
    margin-left: auto;
  }

  .line-clamp-1 {
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .aspect-\[3\/4\] {
    aspect-ratio: 3 / 4;
  }

  .aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
  }

  .aspect-\[4\/5\] {
    aspect-ratio: 4 / 5;
  }

  .aspect-\[5\/6\] {
    aspect-ratio: 5 / 6;
  }

  .aspect-\[16\/9\] {
    aspect-ratio: 16 / 9;
  }

  .aspect-\[16\/10\] {
    aspect-ratio: 16 / 10;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .h-1 {
    height: calc(var(--spacing) * 1);
  }

  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-7 {
    height: calc(var(--spacing) * 7);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-9 {
    height: calc(var(--spacing) * 9);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-11 {
    height: calc(var(--spacing) * 11);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-14 {
    height: calc(var(--spacing) * 14);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-20 {
    height: calc(var(--spacing) * 20);
  }

  .h-24 {
    height: calc(var(--spacing) * 24);
  }

  .h-28 {
    height: calc(var(--spacing) * 28);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-36 {
    height: calc(var(--spacing) * 36);
  }

  .h-40 {
    height: calc(var(--spacing) * 40);
  }

  .h-52 {
    height: calc(var(--spacing) * 52);
  }

  .h-\[1\.1em\] {
    height: 1.1em;
  }

  .h-\[1em\] {
    height: 1em;
  }

  .h-\[4\.5rem\] {
    height: 4.5rem;
  }

  .h-\[min\(22rem\,50vh\)\] {
    height: min(22rem, 50vh);
  }

  .h-\[min\(36rem\,calc\(100dvh-12rem\)\)\] {
    height: min(36rem, 100dvh - 12rem);
  }

  .h-\[min\(42rem\,calc\(100dvh-6rem\)\)\] {
    height: min(42rem, 100dvh - 6rem);
  }

  .h-full {
    height: 100%;
  }

  .h-px {
    height: 1px;
  }

  .max-h-32 {
    max-height: calc(var(--spacing) * 32);
  }

  .max-h-36 {
    max-height: calc(var(--spacing) * 36);
  }

  .max-h-40 {
    max-height: calc(var(--spacing) * 40);
  }

  .max-h-48 {
    max-height: calc(var(--spacing) * 48);
  }

  .max-h-\[14rem\] {
    max-height: 14rem;
  }

  .max-h-\[88vh\] {
    max-height: 88vh;
  }

  .max-h-\[92vh\] {
    max-height: 92vh;
  }

  .max-h-\[220px\] {
    max-height: 220px;
  }

  .max-h-\[240px\] {
    max-height: 240px;
  }

  .max-h-\[calc\(100dvh-6rem\)\] {
    max-height: calc(100dvh - 6rem);
  }

  .max-h-\[calc\(100dvh-12rem\)\] {
    max-height: calc(100dvh - 12rem);
  }

  .max-h-\[min\(50vh\,18rem\)\] {
    max-height: min(50vh, 18rem);
  }

  .max-h-\[min\(52vh\,28rem\)\] {
    max-height: min(52vh, 28rem);
  }

  .max-h-\[min\(65vh\,32rem\)\] {
    max-height: min(65vh, 32rem);
  }

  .max-h-\[min\(70dvh\,22rem\)\] {
    max-height: min(70dvh, 22rem);
  }

  .max-h-\[min\(70vh\,28rem\)\] {
    max-height: min(70vh, 28rem);
  }

  .max-h-\[min\(92dvh\,900px\)\] {
    max-height: min(92dvh, 900px);
  }

  .max-h-full {
    max-height: 100%;
  }

  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }

  .min-h-8 {
    min-height: calc(var(--spacing) * 8);
  }

  .min-h-9 {
    min-height: calc(var(--spacing) * 9);
  }

  .min-h-10 {
    min-height: calc(var(--spacing) * 10);
  }

  .min-h-11 {
    min-height: calc(var(--spacing) * 11);
  }

  .min-h-12 {
    min-height: calc(var(--spacing) * 12);
  }

  .min-h-48 {
    min-height: calc(var(--spacing) * 48);
  }

  .min-h-52 {
    min-height: calc(var(--spacing) * 52);
  }

  .min-h-56 {
    min-height: calc(var(--spacing) * 56);
  }

  .min-h-64 {
    min-height: calc(var(--spacing) * 64);
  }

  .min-h-\[1\.5rem\] {
    min-height: 1.5rem;
  }

  .min-h-\[2\.5rem\] {
    min-height: 2.5rem;
  }

  .min-h-\[2rem\] {
    min-height: 2rem;
  }

  .min-h-\[3\.5rem\] {
    min-height: 3.5rem;
  }

  .min-h-\[3\.25rem\] {
    min-height: 3.25rem;
  }

  .min-h-\[12rem\] {
    min-height: 12rem;
  }

  .min-h-\[20rem\] {
    min-height: 20rem;
  }

  .min-h-\[24rem\] {
    min-height: 24rem;
  }

  .min-h-\[28rem\] {
    min-height: 28rem;
  }

  .min-h-\[50vh\] {
    min-height: 50vh;
  }

  .min-h-\[70dvh\] {
    min-height: 70dvh;
  }

  .min-h-\[280px\] {
    min-height: 280px;
  }

  .min-h-\[calc\(100dvh-var\(--app-header-offset\)-7\.5rem\)\] {
    min-height: calc(100dvh - var(--app-header-offset) - 7.5rem);
  }

  .min-h-\[min\(52vh\,28rem\)\] {
    min-height: min(52vh, 28rem);
  }

  .min-h-\[min\(72vh\,640px\)\] {
    min-height: min(72vh, 640px);
  }

  .min-h-dvh {
    min-height: 100dvh;
  }

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-0\.5 {
    width: calc(var(--spacing) * .5);
  }

  .w-1 {
    width: calc(var(--spacing) * 1);
  }

  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }

  .w-1\/3 {
    width: 33.3333%;
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-2\/3 {
    width: 66.6667%;
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }

  .w-3\/4 {
    width: 75%;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-7 {
    width: calc(var(--spacing) * 7);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-9 {
    width: calc(var(--spacing) * 9);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .w-11 {
    width: calc(var(--spacing) * 11);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-14 {
    width: calc(var(--spacing) * 14);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-20 {
    width: calc(var(--spacing) * 20);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-28 {
    width: calc(var(--spacing) * 28);
  }

  .w-32 {
    width: calc(var(--spacing) * 32);
  }

  .w-36 {
    width: calc(var(--spacing) * 36);
  }

  .w-40 {
    width: calc(var(--spacing) * 40);
  }

  .w-52 {
    width: calc(var(--spacing) * 52);
  }

  .w-72 {
    width: calc(var(--spacing) * 72);
  }

  .w-\[4\.5rem\] {
    width: 4.5rem;
  }

  .w-\[17rem\] {
    width: 17rem;
  }

  .w-\[18rem\] {
    width: 18rem;
  }

  .w-\[148px\] {
    width: 148px;
  }

  .w-\[min\(44vw\,200px\)\] {
    width: min(44vw, 200px);
  }

  .w-\[min\(72vw\,280px\)\] {
    width: min(72vw, 280px);
  }

  .w-\[min\(88vw\,17\.5rem\)\] {
    width: min(88vw, 17.5rem);
  }

  .w-\[min\(calc\(100\%-1\.5rem\)\,17\.5rem\)\] {
    width: min(100% - 1.5rem, 17.5rem);
  }

  .w-\[min\(calc\(100\%-2rem\)\,24rem\)\] {
    width: min(100% - 2rem, 24rem);
  }

  .w-full {
    width: 100%;
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

  .max-w-\[9rem\] {
    max-width: 9rem;
  }

  .max-w-\[10rem\] {
    max-width: 10rem;
  }

  .max-w-\[12rem\] {
    max-width: 12rem;
  }

  .max-w-\[50\%\] {
    max-width: 50%;
  }

  .max-w-\[85\%\] {
    max-width: 85%;
  }

  .max-w-\[85vw\] {
    max-width: 85vw;
  }

  .max-w-\[90\%\] {
    max-width: 90%;
  }

  .max-w-\[min\(100\%\,11rem\)\] {
    max-width: min(100%, 11rem);
  }

  .max-w-\[min\(100\%\,28rem\)\] {
    max-width: min(100%, 28rem);
  }

  .max-w-\[min\(100\%\,40rem\)\] {
    max-width: min(100%, 40rem);
  }

  .max-w-fit {
    max-width: fit-content;
  }

  .max-w-full {
    max-width: 100%;
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xl {
    max-width: var(--container-xl);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .min-w-11 {
    min-width: calc(var(--spacing) * 11);
  }

  .min-w-\[0\.875rem\] {
    min-width: .875rem;
  }

  .min-w-\[1\.25rem\] {
    min-width: 1.25rem;
  }

  .min-w-\[2\.5rem\] {
    min-width: 2.5rem;
  }

  .min-w-\[5rem\] {
    min-width: 5rem;
  }

  .min-w-\[7\.5rem\] {
    min-width: 7.5rem;
  }

  .min-w-\[8\.5rem\] {
    min-width: 8.5rem;
  }

  .min-w-\[8rem\] {
    min-width: 8rem;
  }

  .min-w-\[11rem\] {
    min-width: 11rem;
  }

  .min-w-\[20rem\] {
    min-width: 20rem;
  }

  .min-w-\[32rem\] {
    min-width: 32rem;
  }

  .min-w-full {
    min-width: 100%;
  }

  .flex-1 {
    flex: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .scale-\[1\.02\] {
    scale: 1.02;
  }

  .-rotate-90 {
    rotate: -90deg;
  }

  .rotate-0 {
    rotate: 0deg;
  }

  .rotate-180 {
    rotate: 180deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-\[plan-loading-slide_1\.4s_ease-in-out_infinite\] {
    animation: 1.4s ease-in-out infinite plan-loading-slide;
  }

  .animate-bounce {
    animation: var(--animate-bounce);
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-crosshair {
    cursor: crosshair;
  }

  .cursor-default {
    cursor: default;
  }

  .cursor-help {
    cursor: help;
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .touch-none {
    touch-action: none;
  }

  .resize {
    resize: both;
  }

  .resize-none {
    resize: none;
  }

  .resize-y {
    resize: vertical;
  }

  .snap-center {
    scroll-snap-align: center;
  }

  .snap-start {
    scroll-snap-align: start;
  }

  .scroll-mt-3 {
    scroll-margin-top: calc(var(--spacing) * 3);
  }

  .scroll-mt-20 {
    scroll-margin-top: calc(var(--spacing) * 20);
  }

  .scroll-mt-24 {
    scroll-margin-top: calc(var(--spacing) * 24);
  }

  .scroll-mt-\[5\.5rem\] {
    scroll-margin-top: 5.5rem;
  }

  .scroll-mt-\[var\(--app-header-offset\)\] {
    scroll-margin-top: var(--app-header-offset);
  }

  .\[scrollbar-width\:none\], .scrollbar-none {
    scrollbar-width: none;
  }

  .list-inside {
    list-style-position: inside;
  }

  .list-decimal {
    list-style-type: decimal;
  }

  .list-disc {
    list-style-type: disc;
  }

  .list-none {
    list-style-type: none;
  }

  .break-inside-avoid {
    break-inside: avoid;
  }

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

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

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

  .grid-cols-\[1fr_6rem_auto\] {
    grid-template-columns: 1fr 6rem auto;
  }

  .grid-cols-\[auto_1fr\] {
    grid-template-columns: auto 1fr;
  }

  .grid-cols-\[auto_minmax\(0\,1fr\)\] {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-row-reverse {
    flex-direction: row-reverse;
  }

  .flex-nowrap {
    flex-wrap: nowrap;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-around {
    justify-content: space-around;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .justify-start {
    justify-content: flex-start;
  }

  .justify-stretch {
    justify-content: stretch;
  }

  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }

  .gap-x-1\.5 {
    column-gap: calc(var(--spacing) * 1.5);
  }

  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }

  .gap-x-3 {
    column-gap: calc(var(--spacing) * 3);
  }

  .gap-y-0\.5 {
    row-gap: calc(var(--spacing) * .5);
  }

  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }

  .gap-y-1\.5 {
    row-gap: calc(var(--spacing) * 1.5);
  }

  :where(.divide-x > :not(:last-child)) {
    --tw-divide-x-reverse: 0;
    border-inline-style: var(--tw-border-style);
    border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
    border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-slate-100 > :not(:last-child)) {
    border-color: var(--color-slate-100);
  }

  :where(.divide-slate-200\/80 > :not(:last-child)) {
    border-color: #e2e8f0cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-slate-200\/80 > :not(:last-child)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }

  .self-center {
    align-self: center;
  }

  .self-end {
    align-self: flex-end;
  }

  .justify-self-stretch {
    justify-self: stretch;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .overflow-x-clip {
    overflow-x: clip;
  }

  .overflow-x-hidden {
    overflow-x: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .overscroll-contain {
    overscroll-behavior: contain;
  }

  .overscroll-x-contain {
    overscroll-behavior-x: contain;
  }

  .overscroll-y-contain {
    overscroll-behavior-y: contain;
  }

  .scroll-smooth {
    scroll-behavior: smooth;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }

  .rounded-\[16px\] {
    border-radius: 16px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius-lg);
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-none {
    border-radius: 0;
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-t-2xl {
    border-top-left-radius: var(--radius-2xl);
    border-top-right-radius: var(--radius-2xl);
  }

  .rounded-t-3xl {
    border-top-left-radius: var(--radius-3xl);
    border-top-right-radius: var(--radius-3xl);
  }

  .rounded-tl-md {
    border-top-left-radius: var(--radius-md);
  }

  .rounded-tr-md {
    border-top-right-radius: var(--radius-md);
  }

  .rounded-br-md {
    border-bottom-right-radius: var(--radius-md);
  }

  .rounded-bl-md {
    border-bottom-left-radius: var(--radius-md);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .border-x-0 {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 0;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-b-0 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }

  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-l-\[3px\] {
    border-left-style: var(--tw-border-style);
    border-left-width: 3px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-dotted {
    --tw-border-style: dotted;
    border-style: dotted;
  }

  .border-\[\#2c6b58\] {
    border-color: #2c6b58;
  }

  .border-\[\#b7cdc4\] {
    border-color: #b7cdc4;
  }

  .border-\[rgba\(0\,255\,255\,0\.2\)\] {
    border-color: #0ff3;
  }

  .border-amber-100 {
    border-color: var(--color-amber-100);
  }

  .border-amber-200 {
    border-color: var(--color-amber-200);
  }

  .border-amber-200\/80 {
    border-color: #fee685cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-200\/80 {
      border-color: color-mix(in oklab, var(--color-amber-200) 80%, transparent);
    }
  }

  .border-amber-200\/90 {
    border-color: #fee685e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-200\/90 {
      border-color: color-mix(in oklab, var(--color-amber-200) 90%, transparent);
    }
  }

  .border-amber-300 {
    border-color: var(--color-amber-300);
  }

  .border-amber-300\/90 {
    border-color: #ffd236e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-300\/90 {
      border-color: color-mix(in oklab, var(--color-amber-300) 90%, transparent);
    }
  }

  .border-amber-400\/30 {
    border-color: #fcbb004d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-400\/30 {
      border-color: color-mix(in oklab, var(--color-amber-400) 30%, transparent);
    }
  }

  .border-amber-400\/40 {
    border-color: #fcbb0066;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-400\/40 {
      border-color: color-mix(in oklab, var(--color-amber-400) 40%, transparent);
    }
  }

  .border-amber-500\/40 {
    border-color: #f99c0066;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/40 {
      border-color: color-mix(in oklab, var(--color-amber-500) 40%, transparent);
    }
  }

  .border-amber-500\/50 {
    border-color: #f99c0080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-amber-500\/50 {
      border-color: color-mix(in oklab, var(--color-amber-500) 50%, transparent);
    }
  }

  .border-brand-200 {
    border-color: var(--color-brand-200);
  }

  .border-brand-200\/80 {
    border-color: #b7cdc4cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-200\/80 {
      border-color: color-mix(in oklab, var(--color-brand-200) 80%, transparent);
    }
  }

  .border-brand-200\/90 {
    border-color: #b7cdc4e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-brand-200\/90 {
      border-color: color-mix(in oklab, var(--color-brand-200) 90%, transparent);
    }
  }

  .border-brand-300 {
    border-color: var(--color-brand-300);
  }

  .border-brand-500 {
    border-color: var(--color-brand-500);
  }

  .border-cyan-100 {
    border-color: var(--color-cyan-100);
  }

  .border-cyan-100\/80 {
    border-color: #cefafecc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-100\/80 {
      border-color: color-mix(in oklab, var(--color-cyan-100) 80%, transparent);
    }
  }

  .border-cyan-200 {
    border-color: var(--color-cyan-200);
  }

  .border-cyan-200\/90 {
    border-color: #a2f4fde6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-200\/90 {
      border-color: color-mix(in oklab, var(--color-cyan-200) 90%, transparent);
    }
  }

  .border-cyan-300\/40 {
    border-color: #53eafd66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-300\/40 {
      border-color: color-mix(in oklab, var(--color-cyan-300) 40%, transparent);
    }
  }

  .border-cyan-400\/25 {
    border-color: #00d2ef40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-400\/25 {
      border-color: color-mix(in oklab, var(--color-cyan-400) 25%, transparent);
    }
  }

  .border-cyan-400\/30 {
    border-color: #00d2ef4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-400\/30 {
      border-color: color-mix(in oklab, var(--color-cyan-400) 30%, transparent);
    }
  }

  .border-cyan-400\/35 {
    border-color: #00d2ef59;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-400\/35 {
      border-color: color-mix(in oklab, var(--color-cyan-400) 35%, transparent);
    }
  }

  .border-cyan-400\/40 {
    border-color: #00d2ef66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-400\/40 {
      border-color: color-mix(in oklab, var(--color-cyan-400) 40%, transparent);
    }
  }

  .border-cyan-400\/55 {
    border-color: #00d2ef8c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-400\/55 {
      border-color: color-mix(in oklab, var(--color-cyan-400) 55%, transparent);
    }
  }

  .border-cyan-500\/25 {
    border-color: #00b7d740;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/25 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 25%, transparent);
    }
  }

  .border-cyan-500\/28 {
    border-color: #00b7d747;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/28 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 28%, transparent);
    }
  }

  .border-cyan-500\/35 {
    border-color: #00b7d759;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/35 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 35%, transparent);
    }
  }

  .border-cyan-500\/40 {
    border-color: #00b7d766;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-cyan-500\/40 {
      border-color: color-mix(in oklab, var(--color-cyan-500) 40%, transparent);
    }
  }

  .border-emerald-100 {
    border-color: var(--color-emerald-100);
  }

  .border-emerald-100\/80 {
    border-color: #d0fae5cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-100\/80 {
      border-color: color-mix(in oklab, var(--color-emerald-100) 80%, transparent);
    }
  }

  .border-emerald-200 {
    border-color: var(--color-emerald-200);
  }

  .border-emerald-200\/70 {
    border-color: #a4f4cfb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-200\/70 {
      border-color: color-mix(in oklab, var(--color-emerald-200) 70%, transparent);
    }
  }

  .border-emerald-200\/80 {
    border-color: #a4f4cfcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-200\/80 {
      border-color: color-mix(in oklab, var(--color-emerald-200) 80%, transparent);
    }
  }

  .border-emerald-200\/90 {
    border-color: #a4f4cfe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-200\/90 {
      border-color: color-mix(in oklab, var(--color-emerald-200) 90%, transparent);
    }
  }

  .border-emerald-300 {
    border-color: var(--color-emerald-300);
  }

  .border-emerald-400\/25 {
    border-color: #00d29440;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-400\/25 {
      border-color: color-mix(in oklab, var(--color-emerald-400) 25%, transparent);
    }
  }

  .border-emerald-400\/30 {
    border-color: #00d2944d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-400\/30 {
      border-color: color-mix(in oklab, var(--color-emerald-400) 30%, transparent);
    }
  }

  .border-emerald-400\/45 {
    border-color: #00d29473;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-400\/45 {
      border-color: color-mix(in oklab, var(--color-emerald-400) 45%, transparent);
    }
  }

  .border-emerald-400\/50 {
    border-color: #00d29480;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-400\/50 {
      border-color: color-mix(in oklab, var(--color-emerald-400) 50%, transparent);
    }
  }

  .border-emerald-400\/60 {
    border-color: #00d29499;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-400\/60 {
      border-color: color-mix(in oklab, var(--color-emerald-400) 60%, transparent);
    }
  }

  .border-emerald-400\/70 {
    border-color: #00d294b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-400\/70 {
      border-color: color-mix(in oklab, var(--color-emerald-400) 70%, transparent);
    }
  }

  .border-emerald-400\/80 {
    border-color: #00d294cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-400\/80 {
      border-color: color-mix(in oklab, var(--color-emerald-400) 80%, transparent);
    }
  }

  .border-emerald-500 {
    border-color: var(--color-emerald-500);
  }

  .border-emerald-500\/25 {
    border-color: #00bb7f40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/25 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 25%, transparent);
    }
  }

  .border-emerald-500\/40 {
    border-color: #00bb7f66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/40 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 40%, transparent);
    }
  }

  .border-emerald-500\/50 {
    border-color: #00bb7f80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-emerald-500\/50 {
      border-color: color-mix(in oklab, var(--color-emerald-500) 50%, transparent);
    }
  }

  .border-red-100 {
    border-color: var(--color-red-100);
  }

  .border-red-200 {
    border-color: var(--color-red-200);
  }

  .border-red-300 {
    border-color: var(--color-red-300);
  }

  .border-red-400 {
    border-color: var(--color-red-400);
  }

  .border-rose-100 {
    border-color: var(--color-rose-100);
  }

  .border-rose-200 {
    border-color: var(--color-rose-200);
  }

  .border-rose-200\/80 {
    border-color: #ffccd3cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-200\/80 {
      border-color: color-mix(in oklab, var(--color-rose-200) 80%, transparent);
    }
  }

  .border-rose-300 {
    border-color: var(--color-rose-300);
  }

  .border-rose-400\/40 {
    border-color: #ff667f66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-400\/40 {
      border-color: color-mix(in oklab, var(--color-rose-400) 40%, transparent);
    }
  }

  .border-rose-400\/45 {
    border-color: #ff667f73;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-rose-400\/45 {
      border-color: color-mix(in oklab, var(--color-rose-400) 45%, transparent);
    }
  }

  .border-sky-100 {
    border-color: var(--color-sky-100);
  }

  .border-sky-100\/80 {
    border-color: #dff2fecc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-100\/80 {
      border-color: color-mix(in oklab, var(--color-sky-100) 80%, transparent);
    }
  }

  .border-sky-100\/90 {
    border-color: #dff2fee6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-100\/90 {
      border-color: color-mix(in oklab, var(--color-sky-100) 90%, transparent);
    }
  }

  .border-sky-200 {
    border-color: var(--color-sky-200);
  }

  .border-sky-200\/80 {
    border-color: #b8e6fecc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-200\/80 {
      border-color: color-mix(in oklab, var(--color-sky-200) 80%, transparent);
    }
  }

  .border-sky-200\/90 {
    border-color: #b8e6fee6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-200\/90 {
      border-color: color-mix(in oklab, var(--color-sky-200) 90%, transparent);
    }
  }

  .border-sky-500\/40 {
    border-color: #00a5ef66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-sky-500\/40 {
      border-color: color-mix(in oklab, var(--color-sky-500) 40%, transparent);
    }
  }

  .border-slate-100 {
    border-color: var(--color-slate-100);
  }

  .border-slate-100\/90 {
    border-color: #f1f5f9e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-100\/90 {
      border-color: color-mix(in oklab, var(--color-slate-100) 90%, transparent);
    }
  }

  .border-slate-200 {
    border-color: var(--color-slate-200);
  }

  .border-slate-200\/80 {
    border-color: #e2e8f0cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-200\/80 {
      border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }

  .border-slate-200\/90 {
    border-color: #e2e8f0e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-200\/90 {
      border-color: color-mix(in oklab, var(--color-slate-200) 90%, transparent);
    }
  }

  .border-slate-300 {
    border-color: var(--color-slate-300);
  }

  .border-slate-300\/90 {
    border-color: #cad5e2e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-300\/90 {
      border-color: color-mix(in oklab, var(--color-slate-300) 90%, transparent);
    }
  }

  .border-slate-500\/60 {
    border-color: #62748e99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-500\/60 {
      border-color: color-mix(in oklab, var(--color-slate-500) 60%, transparent);
    }
  }

  .border-slate-600 {
    border-color: var(--color-slate-600);
  }

  .border-slate-600\/50 {
    border-color: #45556c80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-600\/50 {
      border-color: color-mix(in oklab, var(--color-slate-600) 50%, transparent);
    }
  }

  .border-slate-700\/80 {
    border-color: #314158cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-slate-700\/80 {
      border-color: color-mix(in oklab, var(--color-slate-700) 80%, transparent);
    }
  }

  .border-slate-800 {
    border-color: var(--color-slate-800);
  }

  .border-transparent {
    border-color: #0000;
  }

  .border-violet-100 {
    border-color: var(--color-violet-100);
  }

  .border-violet-200 {
    border-color: var(--color-violet-200);
  }

  .border-violet-200\/80 {
    border-color: #ddd6ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-violet-200\/80 {
      border-color: color-mix(in oklab, var(--color-violet-200) 80%, transparent);
    }
  }

  .border-violet-300 {
    border-color: var(--color-violet-300);
  }

  .border-violet-400 {
    border-color: var(--color-violet-400);
  }

  .border-violet-400\/20 {
    border-color: #a685ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-violet-400\/20 {
      border-color: color-mix(in oklab, var(--color-violet-400) 20%, transparent);
    }
  }

  .border-violet-600 {
    border-color: var(--color-violet-600);
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-white\/10 {
    border-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/10 {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .border-white\/15 {
    border-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/15 {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .border-white\/20 {
    border-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/20 {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .border-white\/25 {
    border-color: #ffffff40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/25 {
      border-color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }

  .border-white\/40 {
    border-color: #fff6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/40 {
      border-color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }

  .border-white\/80 {
    border-color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/80 {
      border-color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .border-t-rose-200\/80 {
    border-top-color: #ffccd3cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-t-rose-200\/80 {
      border-top-color: color-mix(in oklab, var(--color-rose-200) 80%, transparent);
    }
  }

  .border-l-violet-400 {
    border-left-color: var(--color-violet-400);
  }

  .bg-\[\#2c6b58\] {
    background-color: #2c6b58;
  }

  .bg-\[\#2c6b58\]\/90 {
    background-color: oklab(48.0791% -.0712346 .0117794 / .9);
  }

  .bg-\[\#2c6b58\]\/95 {
    background-color: oklab(48.0791% -.0712346 .0117794 / .95);
  }

  .bg-\[\#141E30\]\/82 {
    background-color: oklab(23.5105% -.00549363 -.0374439 / .82);
  }

  .bg-\[\#54786c\]\/90 {
    background-color: oklab(54.1663% -.0446271 .00638199 / .9);
  }

  .bg-\[\#FF2442\] {
    background-color: #ff2442;
  }

  .bg-\[\#fffef6\] {
    background-color: #fffef6;
  }

  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }

  .bg-amber-50\/40 {
    background-color: #fffbeb66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/40 {
      background-color: color-mix(in oklab, var(--color-amber-50) 40%, transparent);
    }
  }

  .bg-amber-50\/50 {
    background-color: #fffbeb80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/50 {
      background-color: color-mix(in oklab, var(--color-amber-50) 50%, transparent);
    }
  }

  .bg-amber-50\/80 {
    background-color: #fffbebcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/80 {
      background-color: color-mix(in oklab, var(--color-amber-50) 80%, transparent);
    }
  }

  .bg-amber-50\/90 {
    background-color: #fffbebe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/90 {
      background-color: color-mix(in oklab, var(--color-amber-50) 90%, transparent);
    }
  }

  .bg-amber-50\/95 {
    background-color: #fffbebf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-50\/95 {
      background-color: color-mix(in oklab, var(--color-amber-50) 95%, transparent);
    }
  }

  .bg-amber-400 {
    background-color: var(--color-amber-400);
  }

  .bg-amber-500\/15 {
    background-color: #f99c0026;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-500\/15 {
      background-color: color-mix(in oklab, var(--color-amber-500) 15%, transparent);
    }
  }

  .bg-amber-600 {
    background-color: var(--color-amber-600);
  }

  .bg-amber-600\/10 {
    background-color: #dd74001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-600\/10 {
      background-color: color-mix(in oklab, var(--color-amber-600) 10%, transparent);
    }
  }

  .bg-amber-700 {
    background-color: var(--color-amber-700);
  }

  .bg-amber-950\/40 {
    background-color: #46190166;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-950\/40 {
      background-color: color-mix(in oklab, var(--color-amber-950) 40%, transparent);
    }
  }

  .bg-amber-950\/80 {
    background-color: #461901cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-amber-950\/80 {
      background-color: color-mix(in oklab, var(--color-amber-950) 80%, transparent);
    }
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-black\/40 {
    background-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/40 {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
  }

  .bg-black\/50 {
    background-color: #00000080;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/50 {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }

  .bg-black\/60 {
    background-color: #0009;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-black\/60 {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }

  .bg-brand-50 {
    background-color: var(--color-brand-50);
  }

  .bg-brand-50\/25 {
    background-color: #eef5f140;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-50\/25 {
      background-color: color-mix(in oklab, var(--color-brand-50) 25%, transparent);
    }
  }

  .bg-brand-50\/40 {
    background-color: #eef5f166;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-50\/40 {
      background-color: color-mix(in oklab, var(--color-brand-50) 40%, transparent);
    }
  }

  .bg-brand-50\/50 {
    background-color: #eef5f180;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-50\/50 {
      background-color: color-mix(in oklab, var(--color-brand-50) 50%, transparent);
    }
  }

  .bg-brand-50\/80 {
    background-color: #eef5f1cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-50\/80 {
      background-color: color-mix(in oklab, var(--color-brand-50) 80%, transparent);
    }
  }

  .bg-brand-50\/90 {
    background-color: #eef5f1e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-50\/90 {
      background-color: color-mix(in oklab, var(--color-brand-50) 90%, transparent);
    }
  }

  .bg-brand-500 {
    background-color: var(--color-brand-500);
  }

  .bg-brand-500\/90 {
    background-color: #3d7f6ae6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-brand-500\/90 {
      background-color: color-mix(in oklab, var(--color-brand-500) 90%, transparent);
    }
  }

  .bg-brand-600 {
    background-color: var(--color-brand-600);
  }

  .bg-cyan-50 {
    background-color: var(--color-cyan-50);
  }

  .bg-cyan-50\/50 {
    background-color: #ecfeff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-50\/50 {
      background-color: color-mix(in oklab, var(--color-cyan-50) 50%, transparent);
    }
  }

  .bg-cyan-100 {
    background-color: var(--color-cyan-100);
  }

  .bg-cyan-300 {
    background-color: var(--color-cyan-300);
  }

  .bg-cyan-400\/10 {
    background-color: #00d2ef1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-400\/10 {
      background-color: color-mix(in oklab, var(--color-cyan-400) 10%, transparent);
    }
  }

  .bg-cyan-400\/12 {
    background-color: #00d2ef1f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-400\/12 {
      background-color: color-mix(in oklab, var(--color-cyan-400) 12%, transparent);
    }
  }

  .bg-cyan-500\/6 {
    background-color: #00b7d70f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-500\/6 {
      background-color: color-mix(in oklab, var(--color-cyan-500) 6%, transparent);
    }
  }

  .bg-cyan-500\/8 {
    background-color: #00b7d714;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-500\/8 {
      background-color: color-mix(in oklab, var(--color-cyan-500) 8%, transparent);
    }
  }

  .bg-cyan-500\/20 {
    background-color: #00b7d733;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-500\/20 {
      background-color: color-mix(in oklab, var(--color-cyan-500) 20%, transparent);
    }
  }

  .bg-cyan-600\/10 {
    background-color: #0092b51a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-600\/10 {
      background-color: color-mix(in oklab, var(--color-cyan-600) 10%, transparent);
    }
  }

  .bg-cyan-950\/40 {
    background-color: #05334566;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-cyan-950\/40 {
      background-color: color-mix(in oklab, var(--color-cyan-950) 40%, transparent);
    }
  }

  .bg-emerald-50 {
    background-color: var(--color-emerald-50);
  }

  .bg-emerald-50\/40 {
    background-color: #ecfdf566;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/40 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 40%, transparent);
    }
  }

  .bg-emerald-50\/50 {
    background-color: #ecfdf580;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/50 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 50%, transparent);
    }
  }

  .bg-emerald-50\/60 {
    background-color: #ecfdf599;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/60 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 60%, transparent);
    }
  }

  .bg-emerald-50\/70 {
    background-color: #ecfdf5b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/70 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 70%, transparent);
    }
  }

  .bg-emerald-50\/80 {
    background-color: #ecfdf5cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/80 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 80%, transparent);
    }
  }

  .bg-emerald-50\/90 {
    background-color: #ecfdf5e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-50\/90 {
      background-color: color-mix(in oklab, var(--color-emerald-50) 90%, transparent);
    }
  }

  .bg-emerald-100 {
    background-color: var(--color-emerald-100);
  }

  .bg-emerald-300 {
    background-color: var(--color-emerald-300);
  }

  .bg-emerald-400 {
    background-color: var(--color-emerald-400);
  }

  .bg-emerald-400\/20 {
    background-color: #00d29433;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-400\/20 {
      background-color: color-mix(in oklab, var(--color-emerald-400) 20%, transparent);
    }
  }

  .bg-emerald-400\/80 {
    background-color: #00d294cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-400\/80 {
      background-color: color-mix(in oklab, var(--color-emerald-400) 80%, transparent);
    }
  }

  .bg-emerald-500 {
    background-color: var(--color-emerald-500);
  }

  .bg-emerald-500\/12 {
    background-color: #00bb7f1f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/12 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 12%, transparent);
    }
  }

  .bg-emerald-500\/15 {
    background-color: #00bb7f26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/15 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 15%, transparent);
    }
  }

  .bg-emerald-500\/90 {
    background-color: #00bb7fe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-500\/90 {
      background-color: color-mix(in oklab, var(--color-emerald-500) 90%, transparent);
    }
  }

  .bg-emerald-600 {
    background-color: var(--color-emerald-600);
  }

  .bg-emerald-600\/10 {
    background-color: #0097671a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-600\/10 {
      background-color: color-mix(in oklab, var(--color-emerald-600) 10%, transparent);
    }
  }

  .bg-emerald-900\/50 {
    background-color: #004e3b80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-900\/50 {
      background-color: color-mix(in oklab, var(--color-emerald-900) 50%, transparent);
    }
  }

  .bg-emerald-900\/70 {
    background-color: #004e3bb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-900\/70 {
      background-color: color-mix(in oklab, var(--color-emerald-900) 70%, transparent);
    }
  }

  .bg-emerald-950\/50 {
    background-color: #002c2280;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-emerald-950\/50 {
      background-color: color-mix(in oklab, var(--color-emerald-950) 50%, transparent);
    }
  }

  .bg-orange-300\/20 {
    background-color: #ffb96d33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-orange-300\/20 {
      background-color: color-mix(in oklab, var(--color-orange-300) 20%, transparent);
    }
  }

  .bg-red-50 {
    background-color: var(--color-red-50);
  }

  .bg-red-50\/80 {
    background-color: #fef2f2cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-red-50\/80 {
      background-color: color-mix(in oklab, var(--color-red-50) 80%, transparent);
    }
  }

  .bg-red-600 {
    background-color: var(--color-red-600);
  }

  .bg-rose-50 {
    background-color: var(--color-rose-50);
  }

  .bg-rose-50\/80 {
    background-color: #fff1f2cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-50\/80 {
      background-color: color-mix(in oklab, var(--color-rose-50) 80%, transparent);
    }
  }

  .bg-rose-50\/90 {
    background-color: #fff1f2e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-50\/90 {
      background-color: color-mix(in oklab, var(--color-rose-50) 90%, transparent);
    }
  }

  .bg-rose-100 {
    background-color: var(--color-rose-100);
  }

  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }

  .bg-rose-500\/12 {
    background-color: #ff23571f;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-500\/12 {
      background-color: color-mix(in oklab, var(--color-rose-500) 12%, transparent);
    }
  }

  .bg-rose-600 {
    background-color: var(--color-rose-600);
  }

  .bg-rose-950\/50 {
    background-color: #4d021880;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-rose-950\/50 {
      background-color: color-mix(in oklab, var(--color-rose-950) 50%, transparent);
    }
  }

  .bg-sky-50 {
    background-color: var(--color-sky-50);
  }

  .bg-sky-50\/80 {
    background-color: #f0f9ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-50\/80 {
      background-color: color-mix(in oklab, var(--color-sky-50) 80%, transparent);
    }
  }

  .bg-sky-600\/10 {
    background-color: #0084cc1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-sky-600\/10 {
      background-color: color-mix(in oklab, var(--color-sky-600) 10%, transparent);
    }
  }

  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }

  .bg-slate-50\/40 {
    background-color: #f8fafc66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/40 {
      background-color: color-mix(in oklab, var(--color-slate-50) 40%, transparent);
    }
  }

  .bg-slate-50\/50 {
    background-color: #f8fafc80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/50 {
      background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);
    }
  }

  .bg-slate-50\/60 {
    background-color: #f8fafc99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/60 {
      background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);
    }
  }

  .bg-slate-50\/80 {
    background-color: #f8fafccc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/80 {
      background-color: color-mix(in oklab, var(--color-slate-50) 80%, transparent);
    }
  }

  .bg-slate-50\/90 {
    background-color: #f8fafce6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/90 {
      background-color: color-mix(in oklab, var(--color-slate-50) 90%, transparent);
    }
  }

  .bg-slate-50\/95 {
    background-color: #f8fafcf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-50\/95 {
      background-color: color-mix(in oklab, var(--color-slate-50) 95%, transparent);
    }
  }

  .bg-slate-100 {
    background-color: var(--color-slate-100);
  }

  .bg-slate-100\/60 {
    background-color: #f1f5f999;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-100\/60 {
      background-color: color-mix(in oklab, var(--color-slate-100) 60%, transparent);
    }
  }

  .bg-slate-100\/80 {
    background-color: #f1f5f9cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-100\/80 {
      background-color: color-mix(in oklab, var(--color-slate-100) 80%, transparent);
    }
  }

  .bg-slate-100\/90 {
    background-color: #f1f5f9e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-100\/90 {
      background-color: color-mix(in oklab, var(--color-slate-100) 90%, transparent);
    }
  }

  .bg-slate-200 {
    background-color: var(--color-slate-200);
  }

  .bg-slate-200\/70 {
    background-color: #e2e8f0b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-200\/70 {
      background-color: color-mix(in oklab, var(--color-slate-200) 70%, transparent);
    }
  }

  .bg-slate-200\/80 {
    background-color: #e2e8f0cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-200\/80 {
      background-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }

  .bg-slate-400 {
    background-color: var(--color-slate-400);
  }

  .bg-slate-700 {
    background-color: var(--color-slate-700);
  }

  .bg-slate-700\/80 {
    background-color: #314158cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-700\/80 {
      background-color: color-mix(in oklab, var(--color-slate-700) 80%, transparent);
    }
  }

  .bg-slate-800 {
    background-color: var(--color-slate-800);
  }

  .bg-slate-800\/80 {
    background-color: #1d293dcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/80 {
      background-color: color-mix(in oklab, var(--color-slate-800) 80%, transparent);
    }
  }

  .bg-slate-800\/90 {
    background-color: #1d293de6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-800\/90 {
      background-color: color-mix(in oklab, var(--color-slate-800) 90%, transparent);
    }
  }

  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }

  .bg-slate-900\/20 {
    background-color: #0f172b33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/20 {
      background-color: color-mix(in oklab, var(--color-slate-900) 20%, transparent);
    }
  }

  .bg-slate-900\/35 {
    background-color: #0f172b59;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/35 {
      background-color: color-mix(in oklab, var(--color-slate-900) 35%, transparent);
    }
  }

  .bg-slate-900\/40 {
    background-color: #0f172b66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/40 {
      background-color: color-mix(in oklab, var(--color-slate-900) 40%, transparent);
    }
  }

  .bg-slate-900\/50 {
    background-color: #0f172b80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/50 {
      background-color: color-mix(in oklab, var(--color-slate-900) 50%, transparent);
    }
  }

  .bg-slate-900\/55 {
    background-color: #0f172b8c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/55 {
      background-color: color-mix(in oklab, var(--color-slate-900) 55%, transparent);
    }
  }

  .bg-slate-900\/72 {
    background-color: #0f172bb8;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/72 {
      background-color: color-mix(in oklab, var(--color-slate-900) 72%, transparent);
    }
  }

  .bg-slate-900\/90 {
    background-color: #0f172be6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/90 {
      background-color: color-mix(in oklab, var(--color-slate-900) 90%, transparent);
    }
  }

  .bg-slate-900\/95 {
    background-color: #0f172bf2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-900\/95 {
      background-color: color-mix(in oklab, var(--color-slate-900) 95%, transparent);
    }
  }

  .bg-slate-950 {
    background-color: var(--color-slate-950);
  }

  .bg-slate-950\/35 {
    background-color: #02061859;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/35 {
      background-color: color-mix(in oklab, var(--color-slate-950) 35%, transparent);
    }
  }

  .bg-slate-950\/55 {
    background-color: #0206188c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/55 {
      background-color: color-mix(in oklab, var(--color-slate-950) 55%, transparent);
    }
  }

  .bg-slate-950\/60 {
    background-color: #02061899;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/60 {
      background-color: color-mix(in oklab, var(--color-slate-950) 60%, transparent);
    }
  }

  .bg-slate-950\/70 {
    background-color: #020618b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/70 {
      background-color: color-mix(in oklab, var(--color-slate-950) 70%, transparent);
    }
  }

  .bg-slate-950\/95 {
    background-color: #020618f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-slate-950\/95 {
      background-color: color-mix(in oklab, var(--color-slate-950) 95%, transparent);
    }
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-violet-50 {
    background-color: var(--color-violet-50);
  }

  .bg-violet-50\/40 {
    background-color: #f5f3ff66;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-violet-50\/40 {
      background-color: color-mix(in oklab, var(--color-violet-50) 40%, transparent);
    }
  }

  .bg-violet-50\/60 {
    background-color: #f5f3ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-violet-50\/60 {
      background-color: color-mix(in oklab, var(--color-violet-50) 60%, transparent);
    }
  }

  .bg-violet-50\/80 {
    background-color: #f5f3ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-violet-50\/80 {
      background-color: color-mix(in oklab, var(--color-violet-50) 80%, transparent);
    }
  }

  .bg-violet-100 {
    background-color: var(--color-violet-100);
  }

  .bg-violet-300 {
    background-color: var(--color-violet-300);
  }

  .bg-violet-500\/20 {
    background-color: #8d54ff33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-violet-500\/20 {
      background-color: color-mix(in oklab, var(--color-violet-500) 20%, transparent);
    }
  }

  .bg-violet-600 {
    background-color: var(--color-violet-600);
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/5 {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/10 {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .bg-white\/15 {
    background-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/15 {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .bg-white\/20 {
    background-color: #fff3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/20 {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }

  .bg-white\/45 {
    background-color: #ffffff73;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/45 {
      background-color: color-mix(in oklab, var(--color-white) 45%, transparent);
    }
  }

  .bg-white\/60 {
    background-color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/60 {
      background-color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .bg-white\/70 {
    background-color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/70 {
      background-color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .bg-white\/75 {
    background-color: #ffffffbf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/75 {
      background-color: color-mix(in oklab, var(--color-white) 75%, transparent);
    }
  }

  .bg-white\/80 {
    background-color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/80 {
      background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .bg-white\/90 {
    background-color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/90 {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .bg-white\/95 {
    background-color: #fffffff2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/95 {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }

  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-\[\#2c6b58\] {
    --tw-gradient-from: #2c6b58;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-\[\#2c6b58\]\/15 {
    --tw-gradient-from: oklab(48.0791% -.0712346 .0117794 / .15);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-amber-50 {
    --tw-gradient-from: var(--color-amber-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-amber-50\/70 {
    --tw-gradient-from: #fffbebb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-amber-50\/70 {
      --tw-gradient-from: color-mix(in oklab, var(--color-amber-50) 70%, transparent);
    }
  }

  .from-amber-50\/70 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-amber-50\/80 {
    --tw-gradient-from: #fffbebcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-amber-50\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-amber-50) 80%, transparent);
    }
  }

  .from-amber-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-amber-100 {
    --tw-gradient-from: var(--color-amber-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-amber-500\/15 {
    --tw-gradient-from: #f99c0026;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-amber-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-amber-500) 15%, transparent);
    }
  }

  .from-amber-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black\/25 {
    --tw-gradient-from: #00000040;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/25 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 25%, transparent);
    }
  }

  .from-black\/25 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black\/65 {
    --tw-gradient-from: #000000a6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/65 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 65%, transparent);
    }
  }

  .from-black\/65 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black\/70 {
    --tw-gradient-from: #000000b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/70 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);
    }
  }

  .from-black\/70 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black\/75 {
    --tw-gradient-from: #000000bf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/75 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 75%, transparent);
    }
  }

  .from-black\/75 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-black\/80 {
    --tw-gradient-from: #000c;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 80%, transparent);
    }
  }

  .from-black\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-50\/80 {
    --tw-gradient-from: #eef5f1cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-brand-50\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-brand-50) 80%, transparent);
    }
  }

  .from-brand-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-50\/90 {
    --tw-gradient-from: #eef5f1e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-brand-50\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--color-brand-50) 90%, transparent);
    }
  }

  .from-brand-50\/90 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-500 {
    --tw-gradient-from: var(--color-brand-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-500\/15 {
    --tw-gradient-from: #3d7f6a26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-brand-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-brand-500) 15%, transparent);
    }
  }

  .from-brand-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-brand-600 {
    --tw-gradient-from: var(--color-brand-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-50 {
    --tw-gradient-from: var(--color-cyan-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-50\/80 {
    --tw-gradient-from: #ecfeffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-cyan-50\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-cyan-50) 80%, transparent);
    }
  }

  .from-cyan-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-400 {
    --tw-gradient-from: var(--color-cyan-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-cyan-500\/15 {
    --tw-gradient-from: #00b7d726;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-cyan-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-cyan-500) 15%, transparent);
    }
  }

  .from-cyan-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-50 {
    --tw-gradient-from: var(--color-emerald-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-50\/50 {
    --tw-gradient-from: #ecfdf580;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-50\/50 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-50) 50%, transparent);
    }
  }

  .from-emerald-50\/50 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-50\/70 {
    --tw-gradient-from: #ecfdf5b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-50\/70 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-50) 70%, transparent);
    }
  }

  .from-emerald-50\/70 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-50\/80 {
    --tw-gradient-from: #ecfdf5cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-50\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-50) 80%, transparent);
    }
  }

  .from-emerald-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-50\/90 {
    --tw-gradient-from: #ecfdf5e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-50\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-50) 90%, transparent);
    }
  }

  .from-emerald-50\/90 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-100 {
    --tw-gradient-from: var(--color-emerald-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-400 {
    --tw-gradient-from: var(--color-emerald-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-500 {
    --tw-gradient-from: var(--color-emerald-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-500\/15 {
    --tw-gradient-from: #00bb7f26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-emerald-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-emerald-500) 15%, transparent);
    }
  }

  .from-emerald-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-emerald-600 {
    --tw-gradient-from: var(--color-emerald-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-indigo-500\/15 {
    --tw-gradient-from: #625fff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-indigo-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-indigo-500) 15%, transparent);
    }
  }

  .from-indigo-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-rose-500\/15 {
    --tw-gradient-from: #ff235726;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-rose-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-rose-500) 15%, transparent);
    }
  }

  .from-rose-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-sky-50\/80 {
    --tw-gradient-from: #f0f9ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-sky-50\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-sky-50) 80%, transparent);
    }
  }

  .from-sky-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-sky-50\/90 {
    --tw-gradient-from: #f0f9ffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-sky-50\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--color-sky-50) 90%, transparent);
    }
  }

  .from-sky-50\/90 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-sky-100 {
    --tw-gradient-from: var(--color-sky-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-50 {
    --tw-gradient-from: var(--color-slate-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-100 {
    --tw-gradient-from: var(--color-slate-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-200 {
    --tw-gradient-from: var(--color-slate-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-500\/10 {
    --tw-gradient-from: #62748e1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-slate-500\/10 {
      --tw-gradient-from: color-mix(in oklab, var(--color-slate-500) 10%, transparent);
    }
  }

  .from-slate-500\/10 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-900 {
    --tw-gradient-from: var(--color-slate-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-900\/45 {
    --tw-gradient-from: #0f172b73;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-slate-900\/45 {
      --tw-gradient-from: color-mix(in oklab, var(--color-slate-900) 45%, transparent);
    }
  }

  .from-slate-900\/45 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-900\/70 {
    --tw-gradient-from: #0f172bb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-slate-900\/70 {
      --tw-gradient-from: color-mix(in oklab, var(--color-slate-900) 70%, transparent);
    }
  }

  .from-slate-900\/70 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-950 {
    --tw-gradient-from: var(--color-slate-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-slate-950\/80 {
    --tw-gradient-from: #020618cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-slate-950\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-slate-950) 80%, transparent);
    }
  }

  .from-slate-950\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-teal-500\/15 {
    --tw-gradient-from: #00baa726;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-teal-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-teal-500) 15%, transparent);
    }
  }

  .from-teal-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-transparent {
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-violet-50\/80 {
    --tw-gradient-from: #f5f3ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-violet-50\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-violet-50) 80%, transparent);
    }
  }

  .from-violet-50\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-violet-100 {
    --tw-gradient-from: var(--color-violet-100);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-violet-500\/15 {
    --tw-gradient-from: #8d54ff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-violet-500\/15 {
      --tw-gradient-from: color-mix(in oklab, var(--color-violet-500) 15%, transparent);
    }
  }

  .from-violet-500\/15 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-violet-950\/30 {
    --tw-gradient-from: #2f0d684d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-violet-950\/30 {
      --tw-gradient-from: color-mix(in oklab, var(--color-violet-950) 30%, transparent);
    }
  }

  .from-violet-950\/30 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-violet-950\/40 {
    --tw-gradient-from: #2f0d6866;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-violet-950\/40 {
      --tw-gradient-from: color-mix(in oklab, var(--color-violet-950) 40%, transparent);
    }
  }

  .from-violet-950\/40 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-white {
    --tw-gradient-from: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .via-\[\#3d7f6a\] {
    --tw-gradient-via: #3d7f6a;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-\[\#f9f7eb\] {
    --tw-gradient-via: #f9f7eb;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-\[\#fffef6\] {
    --tw-gradient-via: #fffef6;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-black\/10 {
    --tw-gradient-via: #0000001a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-black\/10 {
      --tw-gradient-via: color-mix(in oklab, var(--color-black) 10%, transparent);
    }
  }

  .via-black\/10 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-black\/15 {
    --tw-gradient-via: #00000026;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-black\/15 {
      --tw-gradient-via: color-mix(in oklab, var(--color-black) 15%, transparent);
    }
  }

  .via-black\/15 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-black\/20 {
    --tw-gradient-via: #0003;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-black\/20 {
      --tw-gradient-via: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }

  .via-black\/20 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-emerald-100 {
    --tw-gradient-via: var(--color-emerald-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-50\/80 {
    --tw-gradient-via: #f8fafccc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-slate-50\/80 {
      --tw-gradient-via: color-mix(in oklab, var(--color-slate-50) 80%, transparent);
    }
  }

  .via-slate-50\/80 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-100 {
    --tw-gradient-via: var(--color-slate-100);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-800 {
    --tw-gradient-via: var(--color-slate-800);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-900 {
    --tw-gradient-via: var(--color-slate-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-900\/5 {
    --tw-gradient-via: #0f172b0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-slate-900\/5 {
      --tw-gradient-via: color-mix(in oklab, var(--color-slate-900) 5%, transparent);
    }
  }

  .via-slate-900\/5 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-900\/10 {
    --tw-gradient-via: #0f172b1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-slate-900\/10 {
      --tw-gradient-via: color-mix(in oklab, var(--color-slate-900) 10%, transparent);
    }
  }

  .via-slate-900\/10 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-slate-950\/20 {
    --tw-gradient-via: #02061833;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-slate-950\/20 {
      --tw-gradient-via: color-mix(in oklab, var(--color-slate-950) 20%, transparent);
    }
  }

  .via-slate-950\/20 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-violet-50 {
    --tw-gradient-via: var(--color-violet-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-white {
    --tw-gradient-via: var(--color-white);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-\[\#2c6b58\]\/5 {
    --tw-gradient-to: oklab(48.0791% -.0712346 .0117794 / .05);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-\[\#54786c\] {
    --tw-gradient-to: #54786c;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-\[\#f9f7eb\] {
    --tw-gradient-to: #f9f7eb;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-\[\#fffef6\] {
    --tw-gradient-to: #fffef6;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-amber-600\/5 {
    --tw-gradient-to: #dd74000d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-amber-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-amber-600) 5%, transparent);
    }
  }

  .to-amber-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-black\/75 {
    --tw-gradient-to: #000000bf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-black\/75 {
      --tw-gradient-to: color-mix(in oklab, var(--color-black) 75%, transparent);
    }
  }

  .to-black\/75 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-blue-200 {
    --tw-gradient-to: var(--color-blue-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-brand-50\/20 {
    --tw-gradient-to: #eef5f133;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-brand-50\/20 {
      --tw-gradient-to: color-mix(in oklab, var(--color-brand-50) 20%, transparent);
    }
  }

  .to-brand-50\/20 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-brand-600\/5 {
    --tw-gradient-to: #2c6b580d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-brand-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-brand-600) 5%, transparent);
    }
  }

  .to-brand-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-brand-700 {
    --tw-gradient-to: var(--color-brand-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-cyan-50 {
    --tw-gradient-to: var(--color-cyan-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-cyan-50\/50 {
    --tw-gradient-to: #ecfeff80;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-cyan-50\/50 {
      --tw-gradient-to: color-mix(in oklab, var(--color-cyan-50) 50%, transparent);
    }
  }

  .to-cyan-50\/50 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-cyan-600\/5 {
    --tw-gradient-to: #0092b50d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-cyan-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-cyan-600) 5%, transparent);
    }
  }

  .to-cyan-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-cyan-950 {
    --tw-gradient-to: var(--color-cyan-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-50\/40 {
    --tw-gradient-to: #ecfdf566;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-emerald-50\/40 {
      --tw-gradient-to: color-mix(in oklab, var(--color-emerald-50) 40%, transparent);
    }
  }

  .to-emerald-50\/40 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-600\/5 {
    --tw-gradient-to: #0097670d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-emerald-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-emerald-600) 5%, transparent);
    }
  }

  .to-emerald-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-emerald-950 {
    --tw-gradient-to: var(--color-emerald-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-600\/5 {
    --tw-gradient-to: #4f39f60d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-indigo-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-indigo-600) 5%, transparent);
    }
  }

  .to-indigo-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-orange-50 {
    --tw-gradient-to: var(--color-orange-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-orange-200 {
    --tw-gradient-to: var(--color-orange-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-purple-200 {
    --tw-gradient-to: var(--color-purple-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-rose-600\/5 {
    --tw-gradient-to: #e700440d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-rose-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-rose-600) 5%, transparent);
    }
  }

  .to-rose-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-200 {
    --tw-gradient-to: var(--color-slate-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-600\/5 {
    --tw-gradient-to: #45556c0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-slate-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-slate-600) 5%, transparent);
    }
  }

  .to-slate-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-900 {
    --tw-gradient-to: var(--color-slate-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-slate-950 {
    --tw-gradient-to: var(--color-slate-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-teal-50\/60 {
    --tw-gradient-to: #f0fdfa99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-teal-50\/60 {
      --tw-gradient-to: color-mix(in oklab, var(--color-teal-50) 60%, transparent);
    }
  }

  .to-teal-50\/60 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-teal-200 {
    --tw-gradient-to: var(--color-teal-200);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-teal-500 {
    --tw-gradient-to: var(--color-teal-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-teal-600 {
    --tw-gradient-to: var(--color-teal-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-teal-600\/5 {
    --tw-gradient-to: #0095880d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-teal-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-teal-600) 5%, transparent);
    }
  }

  .to-teal-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-violet-50 {
    --tw-gradient-to: var(--color-violet-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-violet-50\/60 {
    --tw-gradient-to: #f5f3ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-violet-50\/60 {
      --tw-gradient-to: color-mix(in oklab, var(--color-violet-50) 60%, transparent);
    }
  }

  .to-violet-50\/60 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-violet-500 {
    --tw-gradient-to: var(--color-violet-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-violet-600 {
    --tw-gradient-to: var(--color-violet-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-violet-600\/5 {
    --tw-gradient-to: #7f22fe0d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-violet-600\/5 {
      --tw-gradient-to: color-mix(in oklab, var(--color-violet-600) 5%, transparent);
    }
  }

  .to-violet-600\/5 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-white {
    --tw-gradient-to: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .fill-current {
    fill: currentColor;
  }

  .fill-white {
    fill: var(--color-white);
  }

  .stroke-\[\#2c6b58\] {
    stroke: #2c6b58;
  }

  .stroke-slate-200 {
    stroke: var(--color-slate-200);
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: calc(var(--spacing) * 0);
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1 {
    padding: calc(var(--spacing) * 1);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-5 {
    padding: calc(var(--spacing) * 5);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-0\.5 {
    padding-inline: calc(var(--spacing) * .5);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .py-0 {
    padding-block: calc(var(--spacing) * 0);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  .pt-0\.5 {
    padding-top: calc(var(--spacing) * .5);
  }

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }

  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }

  .pr-3 {
    padding-right: calc(var(--spacing) * 3);
  }

  .pr-7 {
    padding-right: calc(var(--spacing) * 7);
  }

  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }

  .pb-0 {
    padding-bottom: calc(var(--spacing) * 0);
  }

  .pb-0\.5 {
    padding-bottom: calc(var(--spacing) * .5);
  }

  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }

  .pb-1\.5 {
    padding-bottom: calc(var(--spacing) * 1.5);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }

  .pb-5 {
    padding-bottom: calc(var(--spacing) * 5);
  }

  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }

  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }

  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }

  .pb-\[env\(safe-area-inset-bottom\)\] {
    padding-bottom: env(safe-area-inset-bottom);
  }

  .pl-0 {
    padding-left: calc(var(--spacing) * 0);
  }

  .pl-2 {
    padding-left: calc(var(--spacing) * 2);
  }

  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }

  .pl-8 {
    padding-left: calc(var(--spacing) * 8);
  }

  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }

  .pl-10 {
    padding-left: calc(var(--spacing) * 10);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-right {
    text-align: right;
  }

  .align-text-bottom {
    vertical-align: text-bottom;
  }

  .align-top {
    vertical-align: top;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.8em\] {
    font-size: .8em;
  }

  .text-\[8px\] {
    font-size: 8px;
  }

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[12px\] {
    font-size: 12px;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .text-\[14px\] {
    font-size: 14px;
  }

  .text-\[15px\] {
    font-size: 15px;
  }

  .leading-4 {
    --tw-leading: calc(var(--spacing) * 4);
    line-height: calc(var(--spacing) * 4);
  }

  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-\[0\.2em\] {
    --tw-tracking: .2em;
    letter-spacing: .2em;
  }

  .tracking-\[0\.15em\] {
    --tw-tracking: .15em;
    letter-spacing: .15em;
  }

  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .text-balance {
    text-wrap: balance;
  }

  .break-words {
    overflow-wrap: break-word;
  }

  .break-all {
    word-break: break-all;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-\[\#2c6b58\] {
    color: #2c6b58;
  }

  .text-\[\#2c6b58\]\/90 {
    color: oklab(48.0791% -.0712346 .0117794 / .9);
  }

  .text-\[\#54786c\] {
    color: #54786c;
  }

  .text-\[\#f9f7eb\] {
    color: #f9f7eb;
  }

  .text-amber-100 {
    color: var(--color-amber-100);
  }

  .text-amber-100\/80 {
    color: #fef3c6cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-100\/80 {
      color: color-mix(in oklab, var(--color-amber-100) 80%, transparent);
    }
  }

  .text-amber-100\/90 {
    color: #fef3c6e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-100\/90 {
      color: color-mix(in oklab, var(--color-amber-100) 90%, transparent);
    }
  }

  .text-amber-200 {
    color: var(--color-amber-200);
  }

  .text-amber-300\/88 {
    color: #ffd236e0;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-300\/88 {
      color: color-mix(in oklab, var(--color-amber-300) 88%, transparent);
    }
  }

  .text-amber-500 {
    color: var(--color-amber-500);
  }

  .text-amber-600 {
    color: var(--color-amber-600);
  }

  .text-amber-700 {
    color: var(--color-amber-700);
  }

  .text-amber-700\/90 {
    color: #b75000e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-700\/90 {
      color: color-mix(in oklab, var(--color-amber-700) 90%, transparent);
    }
  }

  .text-amber-800 {
    color: var(--color-amber-800);
  }

  .text-amber-800\/90 {
    color: #953d00e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-800\/90 {
      color: color-mix(in oklab, var(--color-amber-800) 90%, transparent);
    }
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-amber-900\/90 {
    color: #7b3306e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-amber-900\/90 {
      color: color-mix(in oklab, var(--color-amber-900) 90%, transparent);
    }
  }

  .text-amber-950 {
    color: var(--color-amber-950);
  }

  .text-brand-500 {
    color: var(--color-brand-500);
  }

  .text-brand-600 {
    color: var(--color-brand-600);
  }

  .text-brand-700 {
    color: var(--color-brand-700);
  }

  .text-brand-700\/70 {
    color: #245a4ab3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-brand-700\/70 {
      color: color-mix(in oklab, var(--color-brand-700) 70%, transparent);
    }
  }

  .text-brand-800 {
    color: var(--color-brand-800);
  }

  .text-cyan-50 {
    color: var(--color-cyan-50);
  }

  .text-cyan-50\/90 {
    color: #ecfeffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-50\/90 {
      color: color-mix(in oklab, var(--color-cyan-50) 90%, transparent);
    }
  }

  .text-cyan-100 {
    color: var(--color-cyan-100);
  }

  .text-cyan-100\/88 {
    color: #cefafee0;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-100\/88 {
      color: color-mix(in oklab, var(--color-cyan-100) 88%, transparent);
    }
  }

  .text-cyan-100\/90 {
    color: #cefafee6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-100\/90 {
      color: color-mix(in oklab, var(--color-cyan-100) 90%, transparent);
    }
  }

  .text-cyan-200 {
    color: var(--color-cyan-200);
  }

  .text-cyan-200\/42 {
    color: #a2f4fd6b;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-200\/42 {
      color: color-mix(in oklab, var(--color-cyan-200) 42%, transparent);
    }
  }

  .text-cyan-200\/70 {
    color: #a2f4fdb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-200\/70 {
      color: color-mix(in oklab, var(--color-cyan-200) 70%, transparent);
    }
  }

  .text-cyan-200\/72 {
    color: #a2f4fdb8;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-200\/72 {
      color: color-mix(in oklab, var(--color-cyan-200) 72%, transparent);
    }
  }

  .text-cyan-200\/80 {
    color: #a2f4fdcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-200\/80 {
      color: color-mix(in oklab, var(--color-cyan-200) 80%, transparent);
    }
  }

  .text-cyan-300 {
    color: var(--color-cyan-300);
  }

  .text-cyan-300\/60 {
    color: #53eafd99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-300\/60 {
      color: color-mix(in oklab, var(--color-cyan-300) 60%, transparent);
    }
  }

  .text-cyan-300\/80 {
    color: #53eafdcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-300\/80 {
      color: color-mix(in oklab, var(--color-cyan-300) 80%, transparent);
    }
  }

  .text-cyan-600 {
    color: var(--color-cyan-600);
  }

  .text-cyan-700 {
    color: var(--color-cyan-700);
  }

  .text-cyan-800 {
    color: var(--color-cyan-800);
  }

  .text-cyan-800\/90 {
    color: #005f78e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-cyan-800\/90 {
      color: color-mix(in oklab, var(--color-cyan-800) 90%, transparent);
    }
  }

  .text-cyan-900 {
    color: var(--color-cyan-900);
  }

  .text-cyan-950 {
    color: var(--color-cyan-950);
  }

  .text-emerald-100 {
    color: var(--color-emerald-100);
  }

  .text-emerald-100\/70 {
    color: #d0fae5b3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-100\/70 {
      color: color-mix(in oklab, var(--color-emerald-100) 70%, transparent);
    }
  }

  .text-emerald-100\/90 {
    color: #d0fae5e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-100\/90 {
      color: color-mix(in oklab, var(--color-emerald-100) 90%, transparent);
    }
  }

  .text-emerald-100\/95 {
    color: #d0fae5f2;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-100\/95 {
      color: color-mix(in oklab, var(--color-emerald-100) 95%, transparent);
    }
  }

  .text-emerald-200 {
    color: var(--color-emerald-200);
  }

  .text-emerald-200\/80 {
    color: #a4f4cfcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-200\/80 {
      color: color-mix(in oklab, var(--color-emerald-200) 80%, transparent);
    }
  }

  .text-emerald-200\/90 {
    color: #a4f4cfe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-200\/90 {
      color: color-mix(in oklab, var(--color-emerald-200) 90%, transparent);
    }
  }

  .text-emerald-300 {
    color: var(--color-emerald-300);
  }

  .text-emerald-300\/90 {
    color: #5ee9b5e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-300\/90 {
      color: color-mix(in oklab, var(--color-emerald-300) 90%, transparent);
    }
  }

  .text-emerald-400 {
    color: var(--color-emerald-400);
  }

  .text-emerald-500 {
    color: var(--color-emerald-500);
  }

  .text-emerald-500\/80 {
    color: #00bb7fcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-500\/80 {
      color: color-mix(in oklab, var(--color-emerald-500) 80%, transparent);
    }
  }

  .text-emerald-600 {
    color: var(--color-emerald-600);
  }

  .text-emerald-700 {
    color: var(--color-emerald-700);
  }

  .text-emerald-700\/80 {
    color: #007956cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-700\/80 {
      color: color-mix(in oklab, var(--color-emerald-700) 80%, transparent);
    }
  }

  .text-emerald-800 {
    color: var(--color-emerald-800);
  }

  .text-emerald-800\/80 {
    color: #005f46cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-800\/80 {
      color: color-mix(in oklab, var(--color-emerald-800) 80%, transparent);
    }
  }

  .text-emerald-800\/90 {
    color: #005f46e6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-800\/90 {
      color: color-mix(in oklab, var(--color-emerald-800) 90%, transparent);
    }
  }

  .text-emerald-900 {
    color: var(--color-emerald-900);
  }

  .text-emerald-900\/90 {
    color: #004e3be6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-emerald-900\/90 {
      color: color-mix(in oklab, var(--color-emerald-900) 90%, transparent);
    }
  }

  .text-indigo-100\/80 {
    color: #e0e7ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-indigo-100\/80 {
      color: color-mix(in oklab, var(--color-indigo-100) 80%, transparent);
    }
  }

  .text-indigo-100\/90 {
    color: #e0e7ffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-indigo-100\/90 {
      color: color-mix(in oklab, var(--color-indigo-100) 90%, transparent);
    }
  }

  .text-indigo-200\/70 {
    color: #c7d2ffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-indigo-200\/70 {
      color: color-mix(in oklab, var(--color-indigo-200) 70%, transparent);
    }
  }

  .text-indigo-200\/80 {
    color: #c7d2ffcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-indigo-200\/80 {
      color: color-mix(in oklab, var(--color-indigo-200) 80%, transparent);
    }
  }

  .text-indigo-800 {
    color: var(--color-indigo-800);
  }

  .text-orange-500 {
    color: var(--color-orange-500);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-red-600 {
    color: var(--color-red-600);
  }

  .text-red-700 {
    color: var(--color-red-700);
  }

  .text-red-800 {
    color: var(--color-red-800);
  }

  .text-rose-100 {
    color: var(--color-rose-100);
  }

  .text-rose-200 {
    color: var(--color-rose-200);
  }

  .text-rose-300 {
    color: var(--color-rose-300);
  }

  .text-rose-400 {
    color: var(--color-rose-400);
  }

  .text-rose-500 {
    color: var(--color-rose-500);
  }

  .text-rose-600 {
    color: var(--color-rose-600);
  }

  .text-rose-700 {
    color: var(--color-rose-700);
  }

  .text-rose-800 {
    color: var(--color-rose-800);
  }

  .text-rose-900 {
    color: var(--color-rose-900);
  }

  .text-sky-200 {
    color: var(--color-sky-200);
  }

  .text-sky-300 {
    color: var(--color-sky-300);
  }

  .text-sky-500 {
    color: var(--color-sky-500);
  }

  .text-sky-600 {
    color: var(--color-sky-600);
  }

  .text-sky-700 {
    color: var(--color-sky-700);
  }

  .text-sky-800 {
    color: var(--color-sky-800);
  }

  .text-sky-900 {
    color: var(--color-sky-900);
  }

  .text-slate-100 {
    color: var(--color-slate-100);
  }

  .text-slate-200 {
    color: var(--color-slate-200);
  }

  .text-slate-300 {
    color: var(--color-slate-300);
  }

  .text-slate-400 {
    color: var(--color-slate-400);
  }

  .text-slate-500 {
    color: var(--color-slate-500);
  }

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-700 {
    color: var(--color-slate-700);
  }

  .text-slate-700\/80 {
    color: #314158cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-slate-700\/80 {
      color: color-mix(in oklab, var(--color-slate-700) 80%, transparent);
    }
  }

  .text-slate-800 {
    color: var(--color-slate-800);
  }

  .text-slate-900 {
    color: var(--color-slate-900);
  }

  .text-slate-950 {
    color: var(--color-slate-950);
  }

  .text-teal-800 {
    color: var(--color-teal-800);
  }

  .text-transparent {
    color: #0000;
  }

  .text-violet-200 {
    color: var(--color-violet-200);
  }

  .text-violet-400\/90 {
    color: #a685ffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-violet-400\/90 {
      color: color-mix(in oklab, var(--color-violet-400) 90%, transparent);
    }
  }

  .text-violet-600 {
    color: var(--color-violet-600);
  }

  .text-violet-700 {
    color: var(--color-violet-700);
  }

  .text-violet-800 {
    color: var(--color-violet-800);
  }

  .text-violet-900 {
    color: var(--color-violet-900);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-white\/70 {
    color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-white\/75 {
    color: #ffffffbf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/75 {
      color: color-mix(in oklab, var(--color-white) 75%, transparent);
    }
  }

  .text-white\/80 {
    color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .text-white\/85 {
    color: #ffffffd9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/85 {
      color: color-mix(in oklab, var(--color-white) 85%, transparent);
    }
  }

  .text-white\/90 {
    color: #ffffffe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/90 {
      color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }

  .text-yellow-200 {
    color: var(--color-yellow-200);
  }

  .normal-case {
    text-transform: none;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .no-underline {
    text-decoration-line: none;
  }

  .underline {
    text-decoration-line: underline;
  }

  .decoration-brand-300 {
    -webkit-text-decoration-color: var(--color-brand-300);
    -webkit-text-decoration-color: var(--color-brand-300);
    text-decoration-color: var(--color-brand-300);
  }

  .underline-offset-2 {
    text-underline-offset: 2px;
  }

  .accent-brand-600 {
    accent-color: var(--color-brand-600);
  }

  .accent-violet-600 {
    accent-color: var(--color-violet-600);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-70 {
    opacity: .7;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-90 {
    opacity: .9;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_-8px_24px_rgba\(15\,23\,42\,0\.04\)\] {
    --tw-shadow: 0 -8px 24px var(--tw-shadow-color, #0f172a0a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_8px_\#22d3ee\] {
    --tw-shadow: 0 0 8px var(--tw-shadow-color, #22d3ee);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_20px_rgba\(16\,185\,129\,0\.18\)\] {
    --tw-shadow: 0 0 20px var(--tw-shadow-color, #10b9812e);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_28px_rgba\(34\,211\,238\,0\.35\)\] {
    --tw-shadow: 0 0 28px var(--tw-shadow-color, #22d3ee59);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_30px_rgba\(34\,211\,238\,0\.35\)\] {
    --tw-shadow: 0 0 30px var(--tw-shadow-color, #22d3ee59);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_0_40px_rgba\(34\,211\,238\,0\.08\)\] {
    --tw-shadow: 0 0 40px var(--tw-shadow-color, #22d3ee14);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[var\(--theme-shadow-md\)\] {
    --tw-shadow: var(--theme-shadow-md);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[var\(--theme-shadow-sm\)\] {
    --tw-shadow: var(--theme-shadow-sm);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-none {
    --tw-shadow: 0 0 #0000;
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring, .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-black\/40 {
    --tw-shadow-color: #0006;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-black\/40 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-brand-500\/15 {
    --tw-shadow-color: #3d7f6a26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-brand-500\/15 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-500) 15%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .shadow-violet-500\/25 {
    --tw-shadow-color: #8d54ff40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .shadow-violet-500\/25 {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-violet-500) 25%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }

  .ring-\[\#b7cdc4\] {
    --tw-ring-color: #b7cdc4;
  }

  .ring-\[\#b7cdc4\]\/50 {
    --tw-ring-color: oklab(82.9185% -.0263504 .0050503 / .5);
  }

  .ring-\[\#b7cdc4\]\/70 {
    --tw-ring-color: oklab(82.9185% -.0263504 .0050503 / .7);
  }

  .ring-amber-200\/80 {
    --tw-ring-color: #fee685cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-amber-200\/80 {
      --tw-ring-color: color-mix(in oklab, var(--color-amber-200) 80%, transparent);
    }
  }

  .ring-brand-500\/20 {
    --tw-ring-color: #3d7f6a33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-brand-500\/20 {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-500) 20%, transparent);
    }
  }

  .ring-cyan-200 {
    --tw-ring-color: var(--color-cyan-200);
  }

  .ring-cyan-400\/20 {
    --tw-ring-color: #00d2ef33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-cyan-400\/20 {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
    }
  }

  .ring-cyan-400\/30 {
    --tw-ring-color: #00d2ef4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-cyan-400\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-400) 30%, transparent);
    }
  }

  .ring-emerald-200\/80 {
    --tw-ring-color: #a4f4cfcc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-200\/80 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-200) 80%, transparent);
    }
  }

  .ring-emerald-200\/90 {
    --tw-ring-color: #a4f4cfe6;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-200\/90 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-200) 90%, transparent);
    }
  }

  .ring-emerald-300 {
    --tw-ring-color: var(--color-emerald-300);
  }

  .ring-emerald-400\/35 {
    --tw-ring-color: #00d29459;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-emerald-400\/35 {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-400) 35%, transparent);
    }
  }

  .ring-rose-300 {
    --tw-ring-color: var(--color-rose-300);
  }

  .ring-rose-400\/35 {
    --tw-ring-color: #ff667f59;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-rose-400\/35 {
      --tw-ring-color: color-mix(in oklab, var(--color-rose-400) 35%, transparent);
    }
  }

  .ring-slate-100 {
    --tw-ring-color: var(--color-slate-100);
  }

  .ring-slate-200\/80 {
    --tw-ring-color: #e2e8f0cc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-slate-200\/80 {
      --tw-ring-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }

  .ring-transparent {
    --tw-ring-color: transparent;
  }

  .ring-violet-200 {
    --tw-ring-color: var(--color-violet-200);
  }

  .ring-white {
    --tw-ring-color: var(--color-white);
  }

  .ring-white\/10 {
    --tw-ring-color: #ffffff1a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-white\/10 {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }

  .ring-white\/60 {
    --tw-ring-color: #fff9;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-white\/60 {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 60%, transparent);
    }
  }

  .ring-white\/80 {
    --tw-ring-color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-white\/80 {
      --tw-ring-color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .ring-offset-2 {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .outline-offset-2 {
    outline-offset: 2px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-2xl {
    --tw-blur: blur(var(--blur-2xl));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_1px_3px_rgba\(15\,23\,42\,0\.75\)\] {
    --tw-drop-shadow-size: drop-shadow(0 1px 3px var(--tw-drop-shadow-color, #0f172abf));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_1px_4px_rgba\(15\,23\,42\,0\.8\)\] {
    --tw-drop-shadow-size: drop-shadow(0 1px 4px var(--tw-drop-shadow-color, #0f172acc));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-\[0_4px_14px_rgba\(0\,0\,0\,0\.35\)\] {
    --tw-drop-shadow-size: drop-shadow(0 4px 14px var(--tw-drop-shadow-color, #00000059));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow-sm {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #00000026));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-sm));
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur-\[1px\] {
    --tw-backdrop-blur: blur(1px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-\[2px\] {
    --tw-backdrop-blur: blur(2px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .backdrop-blur-xl {
    --tw-backdrop-blur: blur(var(--blur-xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[box-shadow\,border-color\,background-color\] {
    transition-property: box-shadow, border-color, background-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[box-shadow\,border-color\] {
    transition-property: box-shadow, border-color;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-\[width\] {
    transition-property: width;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-75 {
    --tw-duration: 75ms;
    transition-duration: 75ms;
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .duration-700 {
    --tw-duration: .7s;
    transition-duration: .7s;
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .\[contain\:layout_paint\] {
    contain: layout paint;
  }

  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[-ms-overflow-style\:none\] {
    -ms-overflow-style: none;
  }

  .\[-webkit-overflow-scrolling\:touch\] {
    -webkit-overflow-scrolling: touch;
  }

  .\[animation-delay\:0ms\] {
    animation-delay: 0s;
  }

  .\[animation-delay\:120ms\] {
    animation-delay: .12s;
  }

  .\[animation-delay\:150ms\] {
    animation-delay: .15s;
  }

  .\[animation-delay\:240ms\] {
    animation-delay: .24s;
  }

  .\[animation-delay\:300ms\] {
    animation-delay: .3s;
  }

  .\[hello-roamly\:error\] {
    hello-roamly: error;
  }

  .\[overflow-anchor\:none\] {
    overflow-anchor: none;
  }

  .group-open\:rotate-90:is(:where(.group):is([open], :popover-open, :open) *) {
    rotate: 90deg;
  }

  @media (hover: hover) {
    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }

    .group-hover\:scale-\[1\.02\]:is(:where(.group):hover *) {
      scale: 1.02;
    }

    .group-hover\:scale-\[1\.03\]:is(:where(.group):hover *) {
      scale: 1.03;
    }

    .group-hover\:scale-\[1\.04\]:is(:where(.group):hover *) {
      scale: 1.04;
    }

    .group-hover\:scale-\[1\.05\]:is(:where(.group):hover *) {
      scale: 1.05;
    }

    .group-hover\:text-emerald-800:is(:where(.group):hover *) {
      color: var(--color-emerald-800);
    }

    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }

  .marker\:font-medium ::marker {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .marker\:font-medium::marker {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .marker\:font-medium ::-webkit-details-marker {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .marker\:font-medium::-webkit-details-marker {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .marker\:text-brand-500 ::marker {
    color: var(--color-brand-500);
  }

  .marker\:text-brand-500::marker {
    color: var(--color-brand-500);
  }

  .marker\:text-brand-500 ::-webkit-details-marker {
    color: var(--color-brand-500);
  }

  .marker\:text-brand-500::-webkit-details-marker {
    color: var(--color-brand-500);
  }

  .marker\:text-brand-600 ::marker {
    color: var(--color-brand-600);
  }

  .marker\:text-brand-600::marker {
    color: var(--color-brand-600);
  }

  .marker\:text-brand-600 ::-webkit-details-marker {
    color: var(--color-brand-600);
  }

  .marker\:text-brand-600::-webkit-details-marker {
    color: var(--color-brand-600);
  }

  .marker\:content-none ::marker {
    --tw-content: none;
    content: none;
  }

  .marker\:content-none::marker {
    --tw-content: none;
    content: none;
  }

  .marker\:content-none ::-webkit-details-marker {
    --tw-content: none;
    content: none;
  }

  .marker\:content-none::-webkit-details-marker {
    --tw-content: none;
    content: none;
  }

  .placeholder\:text-cyan-200\/35::placeholder {
    color: #a2f4fd59;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder\:text-cyan-200\/35::placeholder {
      color: color-mix(in oklab, var(--color-cyan-200) 35%, transparent);
    }
  }

  .placeholder\:text-indigo-200\/60::placeholder {
    color: #c7d2ff99;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .placeholder\:text-indigo-200\/60::placeholder {
      color: color-mix(in oklab, var(--color-indigo-200) 60%, transparent);
    }
  }

  .placeholder\:text-slate-400::placeholder {
    color: var(--color-slate-400);
  }

  .placeholder\:text-slate-500::placeholder {
    color: var(--color-slate-500);
  }

  .before\:mr-1\.5:before {
    content: var(--tw-content);
    margin-right: calc(var(--spacing) * 1.5);
  }

  .before\:content-\[\"▫️\"\]:before {
    --tw-content: "▫️";
    content: var(--tw-content);
  }

  .first\:mt-0:first-child {
    margin-top: calc(var(--spacing) * 0);
  }

  .last\:mb-0:last-child {
    margin-bottom: calc(var(--spacing) * 0);
  }

  .last\:border-0:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .last\:pb-0:last-child {
    padding-bottom: calc(var(--spacing) * 0);
  }

  .open\:shadow-\[var\(--theme-shadow-sm\)\]:is([open], :popover-open, :open) {
    --tw-shadow: var(--theme-shadow-sm);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  @media (hover: hover) {
    .hover\:-translate-y-0\.5:hover {
      --tw-translate-y: calc(var(--spacing) * -.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }

    .hover\:scale-\[1\.02\]:hover {
      scale: 1.02;
    }

    .hover\:border-\[\#2c6b58\]:hover {
      border-color: #2c6b58;
    }

    .hover\:border-\[\#b7cdc4\]:hover {
      border-color: #b7cdc4;
    }

    .hover\:border-amber-300:hover {
      border-color: var(--color-amber-300);
    }

    .hover\:border-brand-200:hover {
      border-color: var(--color-brand-200);
    }

    .hover\:border-brand-200\/80:hover {
      border-color: #b7cdc4cc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-brand-200\/80:hover {
        border-color: color-mix(in oklab, var(--color-brand-200) 80%, transparent);
      }
    }

    .hover\:border-brand-300:hover {
      border-color: var(--color-brand-300);
    }

    .hover\:border-cyan-400\/50:hover {
      border-color: #00d2ef80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-cyan-400\/50:hover {
        border-color: color-mix(in oklab, var(--color-cyan-400) 50%, transparent);
      }
    }

    .hover\:border-cyan-400\/55:hover {
      border-color: #00d2ef8c;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-cyan-400\/55:hover {
        border-color: color-mix(in oklab, var(--color-cyan-400) 55%, transparent);
      }
    }

    .hover\:border-emerald-300:hover {
      border-color: var(--color-emerald-300);
    }

    .hover\:border-emerald-300\/60:hover {
      border-color: #5ee9b599;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:border-emerald-300\/60:hover {
        border-color: color-mix(in oklab, var(--color-emerald-300) 60%, transparent);
      }
    }

    .hover\:border-sky-300:hover {
      border-color: var(--color-sky-300);
    }

    .hover\:border-slate-300:hover {
      border-color: var(--color-slate-300);
    }

    .hover\:border-violet-200:hover {
      border-color: var(--color-violet-200);
    }

    .hover\:border-violet-300:hover {
      border-color: var(--color-violet-300);
    }

    .hover\:bg-\[\#245a4a\]:hover {
      background-color: #245a4a;
    }

    .hover\:bg-\[\#e61f3a\]:hover {
      background-color: #e61f3a;
    }

    .hover\:bg-amber-50:hover {
      background-color: var(--color-amber-50);
    }

    .hover\:bg-amber-100:hover {
      background-color: var(--color-amber-100);
    }

    .hover\:bg-amber-700:hover {
      background-color: var(--color-amber-700);
    }

    .hover\:bg-amber-800:hover {
      background-color: var(--color-amber-800);
    }

    .hover\:bg-black\/10:hover {
      background-color: #0000001a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/10:hover {
        background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
      }
    }

    .hover\:bg-black\/55:hover {
      background-color: #0000008c;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-black\/55:hover {
        background-color: color-mix(in oklab, var(--color-black) 55%, transparent);
      }
    }

    .hover\:bg-brand-50:hover {
      background-color: var(--color-brand-50);
    }

    .hover\:bg-brand-50\/30:hover {
      background-color: #eef5f14d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-50\/30:hover {
        background-color: color-mix(in oklab, var(--color-brand-50) 30%, transparent);
      }
    }

    .hover\:bg-brand-50\/40:hover {
      background-color: #eef5f166;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-50\/40:hover {
        background-color: color-mix(in oklab, var(--color-brand-50) 40%, transparent);
      }
    }

    .hover\:bg-brand-50\/60:hover {
      background-color: #eef5f199;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-brand-50\/60:hover {
        background-color: color-mix(in oklab, var(--color-brand-50) 60%, transparent);
      }
    }

    .hover\:bg-brand-600:hover {
      background-color: var(--color-brand-600);
    }

    .hover\:bg-brand-700:hover {
      background-color: var(--color-brand-700);
    }

    .hover\:bg-cyan-50:hover {
      background-color: var(--color-cyan-50);
    }

    .hover\:bg-cyan-400\/12:hover {
      background-color: #00d2ef1f;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-400\/12:hover {
        background-color: color-mix(in oklab, var(--color-cyan-400) 12%, transparent);
      }
    }

    .hover\:bg-cyan-500\/30:hover {
      background-color: #00b7d74d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-cyan-500\/30:hover {
        background-color: color-mix(in oklab, var(--color-cyan-500) 30%, transparent);
      }
    }

    .hover\:bg-emerald-50:hover {
      background-color: var(--color-emerald-50);
    }

    .hover\:bg-emerald-50\/50:hover {
      background-color: #ecfdf580;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-50\/50:hover {
        background-color: color-mix(in oklab, var(--color-emerald-50) 50%, transparent);
      }
    }

    .hover\:bg-emerald-50\/60:hover {
      background-color: #ecfdf599;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-50\/60:hover {
        background-color: color-mix(in oklab, var(--color-emerald-50) 60%, transparent);
      }
    }

    .hover\:bg-emerald-100:hover {
      background-color: var(--color-emerald-100);
    }

    .hover\:bg-emerald-200:hover {
      background-color: var(--color-emerald-200);
    }

    .hover\:bg-emerald-500:hover {
      background-color: var(--color-emerald-500);
    }

    .hover\:bg-emerald-500\/22:hover {
      background-color: #00bb7f38;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-500\/22:hover {
        background-color: color-mix(in oklab, var(--color-emerald-500) 22%, transparent);
      }
    }

    .hover\:bg-emerald-700:hover {
      background-color: var(--color-emerald-700);
    }

    .hover\:bg-emerald-800\/80:hover {
      background-color: #005f46cc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-800\/80:hover {
        background-color: color-mix(in oklab, var(--color-emerald-800) 80%, transparent);
      }
    }

    .hover\:bg-emerald-900\/50:hover {
      background-color: #004e3b80;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-900\/50:hover {
        background-color: color-mix(in oklab, var(--color-emerald-900) 50%, transparent);
      }
    }

    .hover\:bg-emerald-900\/80:hover {
      background-color: #004e3bcc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-900\/80:hover {
        background-color: color-mix(in oklab, var(--color-emerald-900) 80%, transparent);
      }
    }

    .hover\:bg-emerald-950\/30:hover {
      background-color: #002c224d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-emerald-950\/30:hover {
        background-color: color-mix(in oklab, var(--color-emerald-950) 30%, transparent);
      }
    }

    .hover\:bg-red-50:hover {
      background-color: var(--color-red-50);
    }

    .hover\:bg-red-100:hover {
      background-color: var(--color-red-100);
    }

    .hover\:bg-red-700:hover {
      background-color: var(--color-red-700);
    }

    .hover\:bg-rose-50:hover {
      background-color: var(--color-rose-50);
    }

    .hover\:bg-rose-100:hover {
      background-color: var(--color-rose-100);
    }

    .hover\:bg-rose-700:hover {
      background-color: var(--color-rose-700);
    }

    .hover\:bg-rose-900\/50:hover {
      background-color: #8b083680;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-rose-900\/50:hover {
        background-color: color-mix(in oklab, var(--color-rose-900) 50%, transparent);
      }
    }

    .hover\:bg-sky-50:hover {
      background-color: var(--color-sky-50);
    }

    .hover\:bg-slate-50:hover {
      background-color: var(--color-slate-50);
    }

    .hover\:bg-slate-50\/80:hover {
      background-color: #f8fafccc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-50\/80:hover {
        background-color: color-mix(in oklab, var(--color-slate-50) 80%, transparent);
      }
    }

    .hover\:bg-slate-100:hover {
      background-color: var(--color-slate-100);
    }

    .hover\:bg-slate-700:hover {
      background-color: var(--color-slate-700);
    }

    .hover\:bg-slate-700\/80:hover {
      background-color: #314158cc;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-slate-700\/80:hover {
        background-color: color-mix(in oklab, var(--color-slate-700) 80%, transparent);
      }
    }

    .hover\:bg-violet-50:hover {
      background-color: var(--color-violet-50);
    }

    .hover\:bg-violet-50\/30:hover {
      background-color: #f5f3ff4d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-violet-50\/30:hover {
        background-color: color-mix(in oklab, var(--color-violet-50) 30%, transparent);
      }
    }

    .hover\:bg-violet-100:hover {
      background-color: var(--color-violet-100);
    }

    .hover\:bg-violet-700:hover {
      background-color: var(--color-violet-700);
    }

    .hover\:bg-white:hover {
      background-color: var(--color-white);
    }

    .hover\:bg-white\/5:hover {
      background-color: #ffffff0d;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/5:hover {
        background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
      }
    }

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/10:hover {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }

    .hover\:bg-white\/15:hover {
      background-color: #ffffff26;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/15:hover {
        background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
      }
    }

    .hover\:bg-white\/20:hover {
      background-color: #fff3;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/20:hover {
        background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
      }
    }

    .hover\:bg-white\/60:hover {
      background-color: #fff9;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/60:hover {
        background-color: color-mix(in oklab, var(--color-white) 60%, transparent);
      }
    }

    .hover\:text-\[\#2c6b58\]:hover {
      color: #2c6b58;
    }

    .hover\:text-brand-700:hover {
      color: var(--color-brand-700);
    }

    .hover\:text-cyan-50:hover {
      color: var(--color-cyan-50);
    }

    .hover\:text-cyan-100:hover {
      color: var(--color-cyan-100);
    }

    .hover\:text-emerald-100:hover {
      color: var(--color-emerald-100);
    }

    .hover\:text-emerald-200:hover {
      color: var(--color-emerald-200);
    }

    .hover\:text-emerald-700:hover {
      color: var(--color-emerald-700);
    }

    .hover\:text-emerald-800:hover {
      color: var(--color-emerald-800);
    }

    .hover\:text-emerald-900:hover {
      color: var(--color-emerald-900);
    }

    .hover\:text-red-600:hover {
      color: var(--color-red-600);
    }

    .hover\:text-slate-200:hover {
      color: var(--color-slate-200);
    }

    .hover\:text-slate-600:hover {
      color: var(--color-slate-600);
    }

    .hover\:text-slate-700:hover {
      color: var(--color-slate-700);
    }

    .hover\:text-slate-800:hover {
      color: var(--color-slate-800);
    }

    .hover\:text-slate-900:hover {
      color: var(--color-slate-900);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:underline:hover {
      text-decoration-line: underline;
    }

    .hover\:shadow-\[0_0_24px_rgba\(16\,185\,129\,0\.12\)\]:hover {
      --tw-shadow: 0 0 24px var(--tw-shadow-color, #10b9811f);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-\[0_8px_32px_rgba\(59\,130\,246\,0\.14\)\]:hover {
      --tw-shadow: 0 8px 32px var(--tw-shadow-color, #3b82f624);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-\[0_12px_40px_rgba\(16\,185\,129\,0\.12\)\]:hover {
      --tw-shadow: 0 12px 40px var(--tw-shadow-color, #10b9811f);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-\[var\(--theme-shadow-md\)\]:hover {
      --tw-shadow: var(--theme-shadow-md);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-md:hover {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:shadow-sm:hover {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:ring-\[\#2c6b58\]\/35:hover {
      --tw-ring-color: oklab(48.0791% -.0712346 .0117794 / .35);
    }

    .hover\:ring-white\/40:hover {
      --tw-ring-color: #fff6;
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:ring-white\/40:hover {
        --tw-ring-color: color-mix(in oklab, var(--color-white) 40%, transparent);
      }
    }

    .hover\:brightness-105:hover {
      --tw-brightness: brightness(105%);
      filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
    }

    .hover\:brightness-110:hover {
      --tw-brightness: brightness(110%);
      filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
    }
  }

  .focus\:not-sr-only:focus {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }

  .focus\:fixed:focus {
    position: fixed;
  }

  .focus\:top-4:focus {
    top: calc(var(--spacing) * 4);
  }

  .focus\:left-4:focus {
    left: calc(var(--spacing) * 4);
  }

  .focus\:z-\[100\]:focus {
    z-index: 100;
  }

  .focus\:border-\[\#2c6b58\]:focus {
    border-color: #2c6b58;
  }

  .focus\:border-amber-500:focus {
    border-color: var(--color-amber-500);
  }

  .focus\:border-brand-500:focus {
    border-color: var(--color-brand-500);
  }

  .focus\:border-cyan-400:focus {
    border-color: var(--color-cyan-400);
  }

  .focus\:border-cyan-400\/45:focus {
    border-color: #00d2ef73;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:border-cyan-400\/45:focus {
      border-color: color-mix(in oklab, var(--color-cyan-400) 45%, transparent);
    }
  }

  .focus\:border-emerald-400:focus {
    border-color: var(--color-emerald-400);
  }

  .focus\:border-emerald-500:focus {
    border-color: var(--color-emerald-500);
  }

  .focus\:border-violet-400:focus {
    border-color: var(--color-violet-400);
  }

  .focus\:opacity-100:focus {
    opacity: 1;
  }

  .focus\:ring-1:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-\[\#b7cdc4\]\/60:focus {
    --tw-ring-color: oklab(82.9185% -.0263504 .0050503 / .6);
  }

  .focus\:ring-amber-500:focus {
    --tw-ring-color: var(--color-amber-500);
  }

  .focus\:ring-brand-200:focus {
    --tw-ring-color: var(--color-brand-200);
  }

  .focus\:ring-brand-500:focus {
    --tw-ring-color: var(--color-brand-500);
  }

  .focus\:ring-brand-500\/20:focus {
    --tw-ring-color: #3d7f6a33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-brand-500\/20:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-500) 20%, transparent);
    }
  }

  .focus\:ring-brand-500\/25:focus {
    --tw-ring-color: #3d7f6a40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-brand-500\/25:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-500) 25%, transparent);
    }
  }

  .focus\:ring-cyan-400\/20:focus {
    --tw-ring-color: #00d2ef33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-cyan-400\/20:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
    }
  }

  .focus\:ring-cyan-400\/30:focus {
    --tw-ring-color: #00d2ef4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-cyan-400\/30:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-cyan-400) 30%, transparent);
    }
  }

  .focus\:ring-emerald-400\/30:focus {
    --tw-ring-color: #00d2944d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-emerald-400\/30:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-400) 30%, transparent);
    }
  }

  .focus\:ring-emerald-400\/60:focus {
    --tw-ring-color: #00d29499;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-emerald-400\/60:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-400) 60%, transparent);
    }
  }

  .focus\:ring-emerald-500\/20:focus {
    --tw-ring-color: #00bb7f33;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-emerald-500\/20:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
    }
  }

  .focus\:ring-emerald-500\/25:focus {
    --tw-ring-color: #00bb7f40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-emerald-500\/25:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-500) 25%, transparent);
    }
  }

  .focus\:ring-violet-200:focus {
    --tw-ring-color: var(--color-violet-200);
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus-visible\:ring-amber-600:focus-visible {
    --tw-ring-color: var(--color-amber-600);
  }

  .focus-visible\:ring-brand-500:focus-visible {
    --tw-ring-color: var(--color-brand-500);
  }

  .focus-visible\:ring-brand-500\/30:focus-visible {
    --tw-ring-color: #3d7f6a4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-brand-500\/30:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-500) 30%, transparent);
    }
  }

  .focus-visible\:ring-emerald-500:focus-visible {
    --tw-ring-color: var(--color-emerald-500);
  }

  .focus-visible\:ring-emerald-500\/30:focus-visible {
    --tw-ring-color: #00bb7f4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus-visible\:ring-emerald-500\/30:focus-visible {
      --tw-ring-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
    }
  }

  .focus-visible\:ring-red-500:focus-visible {
    --tw-ring-color: var(--color-red-500);
  }

  .focus-visible\:ring-rose-500:focus-visible {
    --tw-ring-color: var(--color-rose-500);
  }

  .focus-visible\:ring-offset-1:focus-visible {
    --tw-ring-offset-width: 1px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  }

  .focus-visible\:outline:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .focus-visible\:outline-2:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .focus-visible\:outline-offset-1:focus-visible {
    outline-offset: 1px;
  }

  .focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
  }

  .focus-visible\:outline-brand-500:focus-visible {
    outline-color: var(--color-brand-500);
  }

  .focus-visible\:outline-emerald-300:focus-visible {
    outline-color: var(--color-emerald-300);
  }

  .focus-visible\:outline-emerald-400:focus-visible {
    outline-color: var(--color-emerald-400);
  }

  .focus-visible\:outline-sky-500:focus-visible {
    outline-color: var(--color-sky-500);
  }

  .focus-visible\:outline-none:focus-visible {
    --tw-outline-style: none;
    outline-style: none;
  }

  .active\:scale-95:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .active\:scale-\[0\.98\]:active {
    scale: .98;
  }

  .disabled\:pointer-events-none:disabled {
    pointer-events: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:cursor-wait:disabled {
    cursor: wait;
  }

  .disabled\:bg-slate-50:disabled {
    background-color: var(--color-slate-50);
  }

  .disabled\:bg-slate-200:disabled {
    background-color: var(--color-slate-200);
  }

  .disabled\:text-slate-400:disabled {
    color: var(--color-slate-400);
  }

  .disabled\:text-slate-500:disabled {
    color: var(--color-slate-500);
  }

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

  .disabled\:opacity-45:disabled {
    opacity: .45;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  .disabled\:opacity-70:disabled {
    opacity: .7;
  }

  .disabled\:opacity-80:disabled {
    opacity: .8;
  }

  @media not all and (min-width: 40rem) {
    .max-sm\:sr-only {
      clip-path: inset(50%);
      white-space: nowrap;
      border-width: 0;
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      position: absolute;
      overflow: hidden;
    }
  }

  @media (min-width: 40rem) {
    .sm\:static {
      position: static;
    }

    .sm\:top-3 {
      top: calc(var(--spacing) * 3);
    }

    .sm\:top-4 {
      top: calc(var(--spacing) * 4);
    }

    .sm\:right-4 {
      right: calc(var(--spacing) * 4);
    }

    .sm\:bottom-6 {
      bottom: calc(var(--spacing) * 6);
    }

    .sm\:-left-\[1\.6rem\] {
      left: -1.6rem;
    }

    .sm\:left-4 {
      left: calc(var(--spacing) * 4);
    }

    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .sm\:-mx-6 {
      margin-inline: calc(var(--spacing) * -6);
    }

    .sm\:mx-6 {
      margin-inline: calc(var(--spacing) * 6);
    }

    .sm\:mt-0\.5 {
      margin-top: calc(var(--spacing) * .5);
    }

    .sm\:mb-1\.5 {
      margin-bottom: calc(var(--spacing) * 1.5);
    }

    .sm\:mb-5 {
      margin-bottom: calc(var(--spacing) * 5);
    }

    .sm\:block {
      display: block;
    }

    .sm\:flex {
      display: flex;
    }

    .sm\:grid {
      display: grid;
    }

    .sm\:hidden {
      display: none;
    }

    .sm\:inline {
      display: inline;
    }

    .sm\:aspect-\[3\/4\] {
      aspect-ratio: 3 / 4;
    }

    .sm\:h-9 {
      height: calc(var(--spacing) * 9);
    }

    .sm\:h-56 {
      height: calc(var(--spacing) * 56);
    }

    .sm\:max-h-\[88vh\] {
      max-height: 88vh;
    }

    .sm\:max-h-\[280px\] {
      max-height: 280px;
    }

    .sm\:max-h-\[min\(88dvh\,900px\)\] {
      max-height: min(88dvh, 900px);
    }

    .sm\:min-h-0 {
      min-height: calc(var(--spacing) * 0);
    }

    .sm\:min-h-\[32rem\] {
      min-height: 32rem;
    }

    .sm\:min-h-\[min\(68vh\,720px\)\] {
      min-height: min(68vh, 720px);
    }

    .sm\:w-9 {
      width: calc(var(--spacing) * 9);
    }

    .sm\:w-36 {
      width: calc(var(--spacing) * 36);
    }

    .sm\:w-\[18rem\] {
      width: 18rem;
    }

    .sm\:w-auto {
      width: auto;
    }

    .sm\:max-w-2xl {
      max-width: var(--container-2xl);
    }

    .sm\:max-w-lg {
      max-width: var(--container-lg);
    }

    .sm\:min-w-\[5\.5rem\] {
      min-width: 5.5rem;
    }

    .sm\:min-w-\[6\.5rem\] {
      min-width: 6.5rem;
    }

    .sm\:min-w-\[9\.5rem\] {
      min-width: 9.5rem;
    }

    .sm\:min-w-\[12rem\] {
      min-width: 12rem;
    }

    .sm\:flex-1 {
      flex: 1;
    }

    .sm\:flex-none {
      flex: none;
    }

    .sm\:shrink {
      flex-shrink: 1;
    }

    .sm\:shrink-0 {
      flex-shrink: 0;
    }

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

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:grid-cols-\[minmax\(0\,17rem\)_1fr\] {
      grid-template-columns: minmax(0, 17rem) 1fr;
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:items-center {
      align-items: center;
    }

    .sm\:items-end {
      align-items: flex-end;
    }

    .sm\:items-start {
      align-items: flex-start;
    }

    .sm\:items-stretch {
      align-items: stretch;
    }

    .sm\:justify-between {
      justify-content: space-between;
    }

    .sm\:justify-center {
      justify-content: center;
    }

    .sm\:justify-end {
      justify-content: flex-end;
    }

    .sm\:justify-start {
      justify-content: flex-start;
    }

    .sm\:gap-1\.5 {
      gap: calc(var(--spacing) * 1.5);
    }

    .sm\:gap-2 {
      gap: calc(var(--spacing) * 2);
    }

    .sm\:gap-2\.5 {
      gap: calc(var(--spacing) * 2.5);
    }

    .sm\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }

    .sm\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    .sm\:gap-5 {
      gap: calc(var(--spacing) * 5);
    }

    .sm\:gap-7 {
      gap: calc(var(--spacing) * 7);
    }

    .sm\:overflow-visible {
      overflow: visible;
    }

    .sm\:rounded-2xl {
      border-radius: var(--radius-2xl);
    }

    .sm\:rounded-3xl {
      border-radius: var(--radius-3xl);
    }

    .sm\:border {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }

    .sm\:border-r {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }

    .sm\:border-b-0 {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0;
    }

    .sm\:bg-white {
      background-color: var(--color-white);
    }

    .sm\:p-1\.5 {
      padding: calc(var(--spacing) * 1.5);
    }

    .sm\:p-4 {
      padding: calc(var(--spacing) * 4);
    }

    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }

    .sm\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .sm\:px-2 {
      padding-inline: calc(var(--spacing) * 2);
    }

    .sm\:px-2\.5 {
      padding-inline: calc(var(--spacing) * 2.5);
    }

    .sm\:px-3 {
      padding-inline: calc(var(--spacing) * 3);
    }

    .sm\:px-4 {
      padding-inline: calc(var(--spacing) * 4);
    }

    .sm\:px-5 {
      padding-inline: calc(var(--spacing) * 5);
    }

    .sm\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .sm\:py-1 {
      padding-block: calc(var(--spacing) * 1);
    }

    .sm\:py-1\.5 {
      padding-block: calc(var(--spacing) * 1.5);
    }

    .sm\:py-2 {
      padding-block: calc(var(--spacing) * 2);
    }

    .sm\:py-2\.5 {
      padding-block: calc(var(--spacing) * 2.5);
    }

    .sm\:py-3 {
      padding-block: calc(var(--spacing) * 3);
    }

    .sm\:pt-4 {
      padding-top: calc(var(--spacing) * 4);
    }

    .sm\:pt-7 {
      padding-top: calc(var(--spacing) * 7);
    }

    .sm\:pb-0\.5 {
      padding-bottom: calc(var(--spacing) * .5);
    }

    .sm\:pl-6 {
      padding-left: calc(var(--spacing) * 6);
    }

    .sm\:text-center {
      text-align: center;
    }

    .sm\:text-left {
      text-align: left;
    }

    .sm\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }

    .sm\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }

    .sm\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }

    .sm\:text-sm {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }

    .sm\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }

    .sm\:text-xs {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }

    .sm\:text-\[11px\] {
      font-size: 11px;
    }

    .sm\:shadow-sm {
      --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  @media (min-width: 48rem) {
    .md\:-mx-6 {
      margin-inline: calc(var(--spacing) * -6);
    }

    .md\:block {
      display: block;
    }

    .md\:grid {
      display: grid;
    }

    .md\:hidden {
      display: none;
    }

    .md\:min-h-\[4rem\] {
      min-height: 4rem;
    }

    .md\:w-auto {
      width: auto;
    }

    .md\:max-w-3xl {
      max-width: var(--container-3xl);
    }

    .md\:shrink {
      flex-shrink: 1;
    }

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

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    .md\:overflow-visible {
      overflow: visible;
    }

    .md\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }

    .md\:pb-0 {
      padding-bottom: calc(var(--spacing) * 0);
    }

    .md\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }

  @media (min-width: 64rem) {
    .lg\:static {
      position: static;
    }

    .lg\:sticky {
      position: sticky;
    }

    .lg\:top-20 {
      top: calc(var(--spacing) * 20);
    }

    .lg\:top-\[calc\(var\(--app-header-offset\)\+0\.75rem\)\] {
      top: calc(var(--app-header-offset) + .75rem);
    }

    .lg\:z-10 {
      z-index: 10;
    }

    .lg\:col-span-4 {
      grid-column: span 4 / span 4;
    }

    .lg\:-mx-8 {
      margin-inline: calc(var(--spacing) * -8);
    }

    .lg\:mx-0 {
      margin-inline: calc(var(--spacing) * 0);
    }

    .lg\:mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }

    .lg\:mb-4 {
      margin-bottom: calc(var(--spacing) * 4);
    }

    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:grid {
      display: grid;
    }

    .lg\:hidden {
      display: none;
    }

    .lg\:inline-flex {
      display: inline-flex;
    }

    .lg\:w-0 {
      width: calc(var(--spacing) * 0);
    }

    .lg\:w-72 {
      width: calc(var(--spacing) * 72);
    }

    .lg\:w-full {
      width: 100%;
    }

    .lg\:max-w-5xl {
      max-width: var(--container-5xl);
    }

    .lg\:flex-none {
      flex: none;
    }

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

    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,17\.5rem\)\] {
      grid-template-columns: minmax(0, 1fr) minmax(0, 17.5rem);
    }

    .lg\:flex-col {
      flex-direction: column;
    }

    .lg\:flex-row {
      flex-direction: row;
    }

    .lg\:items-start {
      align-items: flex-start;
    }

    .lg\:gap-0\.5 {
      gap: calc(var(--spacing) * .5);
    }

    .lg\:gap-4 {
      gap: calc(var(--spacing) * 4);
    }

    .lg\:gap-5 {
      gap: calc(var(--spacing) * 5);
    }

    .lg\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }

    .lg\:self-start {
      align-self: flex-start;
    }

    .lg\:overflow-visible {
      overflow: visible;
    }

    .lg\:rounded-xl {
      border-radius: var(--radius-xl);
    }

    .lg\:border {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }

    .lg\:border-t-0 {
      border-top-style: var(--tw-border-style);
      border-top-width: 0;
    }

    .lg\:border-r {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }

    .lg\:border-l {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }

    .lg\:p-8 {
      padding: calc(var(--spacing) * 8);
    }

    .lg\:px-3 {
      padding-inline: calc(var(--spacing) * 3);
    }

    .lg\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }

    .lg\:py-2 {
      padding-block: calc(var(--spacing) * 2);
    }

    .lg\:pb-10 {
      padding-bottom: calc(var(--spacing) * 10);
    }

    .lg\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
  }

  @media (min-width: 80rem) {
    .xl\:max-w-6xl {
      max-width: var(--container-6xl);
    }

    .xl\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,20rem\)\] {
      grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
    }

    .xl\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }
  }

  .\[\&_p\]\:mb-3 p {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .\[\&_p\]\:last\:mb-0 p:last-child {
    margin-bottom: calc(var(--spacing) * 0);
  }

  .\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker {
    display: none;
  }

  .\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
    display: none;
  }

  .home-page, .home-page-shell {
    background-color: #f9fafb;
  }

  .home-page--map-trail {
    background-color: #020617;
  }

  .home-page--scroll {
    background-color: #f9fafb;
  }

  .home-page--plan-a .home-page__content, .home-page--launch .home-page__content {
    padding-top: 0;
  }

  .home-page--launch .home-launch-promo {
    box-shadow: 0 1px 4px #10b98114;
  }

  .home-page--plan-a .home-map-trail-hero-stack {
    gap: 0;
  }

  .home-page-header--scenic {
    isolation: isolate;
    background-color: #292524;
    border: 1px solid #1e293b;
    border-bottom: none;
    border-radius: 1rem 1rem 0 0;
    width: 100%;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 20px #0f172a1f;
  }

  .home-page-header--scenic-pad {
    padding: .75rem .75rem .625rem;
  }

  @media (min-width: 640px) {
    .home-page-header--scenic-pad {
      padding: .875rem 1rem .75rem;
    }
  }

  .home-page-header--scenic .home-page-header__row--scenic {
    box-sizing: border-box;
    width: 100%;
  }

  .home-page-header--scenic .home-page-header__toolkit-zone {
    width: 100%;
    min-width: 0;
  }

  .home-page--plan-a .home-map-trail-wall--hero {
    border-top: none;
    border-radius: 0 0 1rem 1rem;
  }

  .home-page--plan-a .home-tech-panel, .home-page--plan-a .home-map-trail-wall--hero {
    width: 100%;
  }

  .home-hot-city-card {
    background: #fff;
  }

  .home-guide-card__insight {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .home-community-pulse {
    box-shadow: 0 1px 3px #10b98114;
  }

  .home-map-trail-control--above {
    background: #fffffffa;
    border: 1px solid #e2e8f0fa;
    box-shadow: 0 4px 18px #0f172a0f;
  }

  .home-map-trail-control--header {
    width: auto;
    box-shadow: none;
    background: none;
    border: 0;
    flex-shrink: 0;
    padding: 0;
    position: relative;
  }

  .home-map-trail-control--header:after {
    display: none;
  }

  .home-page-header__toolkit-zone {
    justify-content: flex-end;
    min-width: 0;
  }

  .home-page-header__toolkit {
    box-sizing: border-box;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: #0f172a9e;
    border: 1px solid #1e293bf2;
    border-radius: 1rem;
    flex-shrink: 0;
    width: fit-content;
    max-width: 100%;
    position: relative;
    box-shadow: inset 0 1px #ffffff0f, 0 8px 24px #0f172a47;
  }

  .home-page-header__toolkit:after {
    content: "";
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    border: 1.5px solid #34d3998c;
    animation: 2.2s ease-in-out .35s infinite trail-plan-panel-border-pulse;
    position: absolute;
    inset: 0;
    box-shadow: 0 0 12px #10b98124;
  }

  .home-page-header__toolkit > * {
    z-index: 1;
    position: relative;
  }

  .home-page-header__toolkit:has(.home-map-trail-control--busy):after {
    opacity: .85;
    border-color: #34d39966;
    animation: none;
    box-shadow: 0 0 10px #10b9811f;
  }

  .home-map-trail-control__header-row {
    flex-shrink: 0;
    align-items: center;
  }

  .home-map-trail-control--header .home-map-trail-control__input {
    box-sizing: border-box;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: #fffffff0;
    border: 1px solid #ffffff38;
    flex-shrink: 0;
    height: 2.5rem;
    min-height: 2.5rem;
    padding-inline: .3125rem;
    overflow: hidden;
    box-shadow: inset 0 1px 2px #0f172a0f;
  }

  .home-map-trail-control--header .home-map-trail-control__origin-input {
    width: 4rem;
    max-width: 4rem;
  }

  .home-map-trail-control--header #trail-wall-search {
    flex: auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }

  .home-map-trail-control--header .home-map-trail-control__input:not(.home-map-trail-control__origin-input):not(#trail-wall-search) {
    width: 3.25rem;
    max-width: 3.25rem;
  }

  .home-map-trail-control--header .home-map-trail-control__btn-primary {
    width: auto;
    min-width: 4.75rem;
    height: 2.5rem;
    min-height: 2.5rem;
  }

  @media (min-width: 640px) {
    .home-map-trail-control--header .home-map-trail-control__origin-input {
      width: 6.5rem;
      max-width: 6.5rem;
      padding-inline: .5rem;
    }

    .home-map-trail-control--header .home-map-trail-control__input:not(.home-map-trail-control__origin-input):not(#trail-wall-search) {
      width: 6.25rem;
      max-width: 6.25rem;
      padding-inline: .5rem;
    }
  }

  @media (min-width: 1024px) {
    .home-map-trail-control--header .home-map-trail-control__origin-input {
      width: 8rem;
      max-width: 8rem;
    }
  }

  .home-map-trail-control__header-stack {
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
    display: flex;
  }

  .home-map-search-voice__mic {
    shrink: 0;
    color: #475569;
    background: #fffffff5;
    border: 1px solid #e2e8f0;
    border-radius: .5rem;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
    display: inline-flex;
  }

  .home-map-search-voice__mic--active {
    color: #047857;
    background: #d1fae5;
    border-color: #6ee7b7;
    box-shadow: 0 0 0 2px #10b9812e;
  }

  .home-map-search-voice__panel {
    background: #ecfdf5f2;
    border: 1px solid #a7f3d0;
    border-radius: .5rem;
    align-items: center;
    gap: .5rem;
    padding: .25rem .5rem;
    display: flex;
  }

  .home-map-search-voice__bars {
    align-items: flex-end;
    gap: .125rem;
    height: 1rem;
    display: flex;
  }

  .home-map-search-voice__bar {
    transform-origin: bottom;
    border-radius: 9999px;
    width: .1875rem;
    height: 1rem;
    transition: transform 75ms linear;
  }

  .home-map-search-voice__bar--live {
    background: #10b981;
  }

  .home-map-search-voice__bar--idle {
    background: #fbbf24;
  }

  .home-map-search-voice__level {
    font-variant-numeric: tabular-nums;
    color: #059669;
    font-size: .625rem;
  }

  .home-map-search-voice__finish {
    color: #fff;
    background: #10b981;
    border: 1px solid #10b981;
    border-radius: 9999px;
    margin-left: auto;
    padding: .125rem .5rem;
    font-size: .625rem;
    font-weight: 600;
  }

  .home-map-search-voice__status {
    color: #059669;
    margin: 0;
    padding: 0 .125rem;
    font-size: .625rem;
    line-height: 1.25;
  }

  .home-map-search-voice__status--error {
    color: #dc2626;
  }

  .home-map-trail-control--header .home-map-search-voice__status {
    color: #047857;
  }

  .home-map-trail-control--header .home-map-search-voice__status--error {
    color: #dc2626;
  }

  .home-map-trail-control__ai-mark {
    letter-spacing: .04em;
    background: #ffffff2e;
    border: 1px solid #ffffff59;
    border-radius: 9999px;
    align-items: center;
    gap: .125rem;
    padding: .125rem .375rem;
    font-size: .625rem;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
  }

  .home-map-trail-control--header .home-map-trail-control__input:focus {
    background: #f1f5f9fa;
    border-color: #059669bf;
    box-shadow: 0 0 0 3px #10b98124;
  }

  .home-page-header--with-search {
    --app-header-offset: 4rem;
  }

  .home-page-header--scenic:after {
    content: "";
    z-index: 2;
    pointer-events: none;
    background: radial-gradient(130% 120% at 50% -10%, #ffffff29, #0000 52%), linear-gradient(#0000 72%, #0f172a47 100%);
    position: absolute;
    inset: 0;
  }

  .home-page-header__scenic-bg {
    z-index: 0;
    pointer-events: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
  }

  .home-page-header--scenic:before {
    content: "";
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(#0f172a1f 0%, #0000 38%, #0f172a57 100%), linear-gradient(90deg, #0f172a26 0%, #0000 20%, #0f172a52 46%, #0f172aad 56%, #0f172ae0 100%);
    position: absolute;
    inset: 0;
  }

  .home-page-header__scenic-bg .home-cockpit-header__photo {
    object-position: 24% 54%;
  }

  .home-map-trail-wall--hero {
    height: min(62dvh, 40rem);
    min-height: 20rem;
    box-shadow: 0 4px 24px #0f172a1f, inset 0 1px #ffffff0a;
  }

  .home-map-trail-wall__hero-hint {
    animation: .5s ease-out both home-hero-hint-in;
  }

  @keyframes home-hero-hint-in {
    from {
      opacity: 0;
      transform: translateY(-4px);
    }

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

  @media (prefers-reduced-motion: reduce) {
    .home-map-trail-wall__hero-hint {
      animation: none;
    }
  }

  .home-page-header--scenic .home-page-header__row--scenic {
    align-items: center;
  }

  .home-page-header--scenic .home-page-header__row {
    z-index: 3;
    position: relative;
  }

  .home-page-header--scenic .home-page-header__nav a {
    color: #ffffffeb;
  }

  .home-page-header--scenic .home-page-header__nav a:hover, .home-page-header--scenic .home-page-header__nav a[aria-current="page"] {
    color: #a7f3d0;
    background: none;
  }

  .home-page-header--with-search .home-page-header__row {
    min-height: 2.5rem;
  }

  .home-map-trail-control--header .home-map-trail-control__input, .home-map-trail-control--header .home-map-trail-control__btn-primary, .home-map-trail-control--header .home-map-trail-control__btn-secondary, .home-page-header--with-search .home-page-header__menu-btn {
    box-sizing: border-box;
    height: 2.5rem;
    min-height: 2.5rem;
  }

  .home-page-header--with-search .home-page-header__menu-btn {
    border-color: #64748bb8;
  }

  .home-page-header--scenic .home-page-header__menu-btn {
    border-color: #ffffff40;
  }

  @media (min-width: 640px) {
    .home-page-header--with-search {
      --app-header-offset: 4.25rem;
    }
  }

  .home-page--cockpit {
    --cockpit-panel-bg: linear-gradient(180deg, #fffdf9f5, #f8fafcfa);
    --cockpit-panel-border: #ffffffe0;
    --cockpit-panel-shadow: 0 10px 32px #0f172a14, inset 0 1px 0 #fffffff2;
    --cockpit-input-bg: #fffffff0;
    --cockpit-input-border: #cbd5e1f2;
    --cockpit-surface-muted: #f8fafcf5;
    --cockpit-text-primary: #1e293bf5;
    --cockpit-text-muted: #64748beb;
    --cockpit-text-soft: #475569eb;
    --cockpit-accent: #059669;
    --cockpit-accent-soft: #d1fae5;
    color: var(--cockpit-text-primary);
    background-color: #e9eef2;
  }

  .home-cockpit-header {
    isolation: isolate;
    background-color: #292524;
    border-bottom: 1px solid #ffffff29;
    position: relative;
    overflow: visible;
    box-shadow: inset 0 -1px #ffffff14, 0 12px 36px #0f172a61;
  }

  .home-cockpit-header__backdrop {
    z-index: 0;
    pointer-events: none;
    position: absolute;
    inset: 0;
    overflow: hidden;
  }

  .home-cockpit-header__photo {
    z-index: 0;
    object-fit: cover;
    object-position: 50% 46%;
    filter: saturate(1.14) contrast(1.1) brightness(1.06);
    width: 100%;
    height: 100%;
    animation: 28s ease-in-out infinite alternate home-cockpit-header-drift;
    position: absolute;
    inset: 0;
    transform: scale(1.08);
  }

  @keyframes home-cockpit-header-drift {
    from {
      transform: scale(1.08) translate3d(-.35%, 0, 0);
    }

    to {
      transform: scale(1.12) translate3d(.35%, 0, 0);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .home-cockpit-header__photo {
      animation: none;
      transform: scale(1.08);
    }
  }

  .home-cockpit-header:before {
    content: "";
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(#0f172a1f 0%, #0000 38%, #0f172a57 100%), linear-gradient(90deg, #0f172a47 0%, #0000 22% 78%, #0f172a3d 100%);
    position: absolute;
    inset: 0;
  }

  .home-cockpit-header:after {
    content: "";
    z-index: 2;
    pointer-events: none;
    background: radial-gradient(130% 120% at 50% -10%, #ffffff29, #0000 52%);
    position: absolute;
    inset: 0;
  }

  .home-cockpit-header > :not(.home-cockpit-header__backdrop) {
    z-index: 3;
    position: relative;
  }

  .home-map-trail-wall .mapboxgl-map {
    font-family: inherit;
  }

  .home-map-trail-wall .mapboxgl-ctrl-bottom-left, .home-map-trail-wall .mapboxgl-ctrl-bottom-right {
    display: none;
  }

  .home-amap-trail-layers .amap-logo, .home-amap-trail-layers .amap-copyright {
    opacity: .35;
    transform-origin: 0 100%;
    transform: scale(.85);
  }

  .home-map-trail-wall .amap-controls, .home-map-trail-wall .amap-ui-control, .home-map-trail-wall [class*="amap-lisa"], .home-map-trail-wall [class*="aigc"], .home-map-trail-wall [class*="assistant"], .home-map-trail-wall [data-roamly-hidden-assistant="1"] {
    visibility: hidden !important;
    pointer-events: none !important;
    display: none !important;
  }

  .home-page--cockpit [class*="tsqd"] {
    display: none !important;
  }

  .home-page--cockpit [data-roamly-hidden-assistant="1"] {
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    display: none !important;
  }

  .home-map-trail-wall [data-map-planning-root] {
    isolation: isolate;
  }

  .home-map-trail-layers {
    transition: filter .12s ease-out;
  }

  .home-map-trail-sidebar {
    animation: .35s ease-out trail-wall-sidebar-in;
  }

  .home-map-trail-control {
    border: 1px solid var(--cockpit-panel-border);
    background: var(--cockpit-panel-bg);
    box-shadow: var(--cockpit-panel-shadow);
    animation: .3s ease-out trail-wall-panel-in;
  }

  .home-map-trail-control:after {
    content: "";
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    border: 1.5px solid #34d399b8;
    animation: 2.2s ease-in-out .35s infinite trail-plan-panel-border-pulse;
    position: absolute;
    inset: -1px;
    box-shadow: 0 0 18px #10b98138;
  }

  .home-map-trail-control--busy:after {
    opacity: .85;
    border-color: #34d39973;
    animation: none;
    box-shadow: 0 0 10px #10b98124;
  }

  .home-map-trail-control > * {
    z-index: 1;
    position: relative;
  }

  @keyframes trail-plan-panel-border-pulse {
    0%, 100% {
      opacity: 1;
      border-color: #34d399c7;
      box-shadow: 0 0 20px #10b98142;
    }

    50% {
      opacity: .28;
      border-color: #34d3990f;
      box-shadow: 0 0 6px #10b9810a;
    }
  }

  .home-map-trail-control__input {
    border: 1px solid var(--cockpit-input-border);
    background: var(--cockpit-input-bg);
    color: var(--cockpit-text-primary);
  }

  .home-map-trail-control__input::placeholder {
    color: #94a3b8f2;
  }

  .home-map-trail-control__input:focus {
    border-color: #10b9818c;
    outline: none;
    box-shadow: 0 0 0 3px #10b9811f;
  }

  .home-map-trail-control__btn-primary {
    color: #fff;
    background: linear-gradient(135deg, #059669, #0d9488);
    border: 1.5px solid #34d39959;
  }

  .home-map-trail-control__btn-primary:not(:disabled):not(.home-map-trail-control__btn-primary--busy) {
    animation: 2.2s ease-in-out infinite trail-plan-cta-border-pulse;
  }

  .home-map-trail-control__btn-primary:not(:disabled):hover {
    background: linear-gradient(135deg, #10b981, #14b8a6);
  }

  .home-map-trail-control__btn-primary:disabled {
    color: #94a3b8f2;
    cursor: not-allowed;
    background: #e2e8f0f2;
    border-color: #cbd5e199;
    animation: none;
  }

  .home-map-trail-control__btn-primary--busy, .home-map-trail-control__btn-primary--busy:disabled {
    cursor: wait;
    opacity: 1;
    color: #fff;
    background: linear-gradient(135deg, #059669, #0d9488);
    border-color: #6ee7b7bf;
    animation: none;
    box-shadow: 0 0 0 2px #10b98147;
  }

  @keyframes trail-plan-cta-border-pulse {
    0%, 100% {
      border-color: #34d399e0;
      box-shadow: 0 0 0 1px #10b98159, 0 0 14px #10b98147;
    }

    50% {
      border-color: #34d3991f;
      box-shadow: 0 0 0 1px #10b9810f, 0 0 4px #10b9810a;
    }
  }

  .home-map-trail-control__btn-secondary {
    border: 1px solid var(--cockpit-input-border);
    background: var(--cockpit-surface-muted);
    color: var(--cockpit-text-soft);
  }

  .home-map-trail-control__btn-secondary:hover {
    color: #059669;
    background: #ecfdf5f2;
    border-color: #10b98159;
  }

  .home-map-trail-strip {
    background: var(--cockpit-panel-bg);
    border-top: 1px solid #e2e8f0f2;
    animation: .3s ease-out trail-wall-strip-in;
    box-shadow: 0 -8px 28px #0f172a0d, inset 0 1px #fffffff2;
  }

  .home-map-trail-strip__title {
    color: var(--cockpit-text-primary);
  }

  .home-map-trail-strip__subtitle {
    color: var(--cockpit-text-muted);
  }

  .home-map-trail-strip__nav-btn {
    border: 1px solid var(--cockpit-input-border);
    color: var(--cockpit-text-soft);
    background: #ffffffeb;
  }

  .home-map-trail-strip__nav-btn:hover {
    color: #059669;
    background: #ecfdf5f2;
    border-color: #10b98159;
  }

  .home-map-trail-strip__detail-link {
    color: #059669;
  }

  .home-map-trail-strip__detail-link:hover {
    color: #047857;
  }

  .home-map-trail-card {
    background: #ffffffe0;
    border: 1px solid #e2e8f0fa;
    box-shadow: 0 1px 2px #0f172a0a;
  }

  .home-map-trail-card:hover {
    background: #fffffffa;
    border-color: #a7f3d0d9;
    box-shadow: 0 4px 14px #0f172a0f;
  }

  .home-map-trail-card--active {
    background: linear-gradient(#ecfdf5fa, #fffffffa);
    border-color: #10b98173;
    animation: 1.04s ease-in-out infinite trail-wall-card-pulse;
    box-shadow: 0 0 0 1px #10b9812e, 0 8px 20px #10b9811a;
  }

  .home-map-trail-card__route {
    color: #059669;
  }

  .home-map-trail-card__title {
    color: var(--cockpit-text-primary);
  }

  .home-map-trail-card__budget {
    color: var(--cockpit-text-soft);
    background: #f8fafcfa;
    border: 1px solid #e2e8f0fa;
  }

  .home-map-trail-card__budget--from-list {
    color: #065f46eb;
    background: #ecfdf5fa;
    border-color: #a7f3d0f2;
  }

  .home-map-trail-card__meta {
    color: var(--cockpit-text-muted);
  }

  .home-map-trail-strip__empty {
    color: var(--cockpit-text-muted);
    background: #ffffffb8;
    border-color: #cbd5e1f2;
  }

  .home-map-trail-strip__scroll {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
    touch-action: pan-x;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: auto hidden;
  }

  .home-map-trail-strip__scroll.is-dragging {
    cursor: grabbing;
    -webkit-user-select: none;
    user-select: none;
  }

  .home-map-trail-strip__scroll::-webkit-scrollbar {
    display: none;
  }

  .home-map-trail-strip__track {
    width: max-content;
    min-width: 100%;
    padding-bottom: 2px;
    display: flex;
  }

  .home-map-trail-strip__track > [role="listitem"] {
    scroll-snap-align: start;
    flex: none;
  }

  @keyframes trail-wall-strip-in {
    from {
      opacity: 0;
      transform: translateY(1rem);
    }

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

  @keyframes plan-loading-slide {
    from {
      transform: translateX(-120%);
    }

    to {
      transform: translateX(420%);
    }
  }

  @keyframes trail-wall-sidebar-in {
    from {
      opacity: 0;
      transform: translateX(1.5rem);
    }

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

  .home-map-trail-sidebar__list {
    scrollbar-width: thin;
    scrollbar-color: #334155 transparent;
  }

  @keyframes trail-wall-card-pulse {
    0%, 100% {
      filter: brightness();
      opacity: 1;
    }

    50% {
      filter: brightness(1.08);
      opacity: .94;
    }
  }

  .home-map-trail-control__filters {
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    cursor: grab;
    touch-action: pan-x;
  }

  .home-map-trail-control__filters.is-dragging {
    cursor: grabbing;
    -webkit-user-select: none;
    user-select: none;
  }

  @keyframes trail-wall-panel-in {
    from {
      opacity: 0;
      transform: translateY(-.5rem);
    }

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

  .brand-header--plain {
    box-shadow: none;
    background: #fff;
    border: 1px solid #e5e7eb;
  }

  .brand-header--plain:before {
    display: none;
  }

  .home-tech-page {
    position: relative;
  }

  .home-tech-hero {
    background: linear-gradient(145deg, #0f172a 0%, #1e1b4b 42%, #5b21b6 100%);
  }

  .home-tech-grid {
    background-image: linear-gradient(to right, #22d3ee1f 1px, #0000 1px), linear-gradient(#22d3ee1f 1px, #0000 1px);
    background-size: 20px 20px;
    -webkit-mask-image: linear-gradient(#000 30%, #0000 95%);
    mask-image: linear-gradient(#000 30%, #0000 95%);
  }

  .home-tech-pulse {
    animation: 2s ease-in-out infinite home-tech-pulse;
  }

  @keyframes home-tech-pulse {
    0%, 100% {
      opacity: 1;
      box-shadow: 0 0 #22d3ee99;
    }

    50% {
      opacity: .65;
      box-shadow: 0 0 0 4px #22d3ee00;
    }
  }

  .home-tech-input:focus {
    box-shadow: 0 0 0 3px #22d3ee33;
  }

  .home-dream-search {
    z-index: 2;
    position: relative;
  }

  .home-dream-spotlight {
    filter: drop-shadow(0 20px 40px #4f46e52e);
  }

  .home-dream-frame {
    border-style: solid;
    border-width: 2px;
  }

  .brand-spirit-slogan {
    letter-spacing: .1em;
    font-family: ZCOOL KuaiLe, PingFang SC, Microsoft YaHei, sans-serif;
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.35;
  }

  .brand-spirit-slogan--cockpit {
    color: #0000;
    filter: drop-shadow(0 1px 2px #0f172a8c) drop-shadow(0 0 8px #34d39947);
    background: linear-gradient(118deg, #ecfdf5 0%, #6ee7b7 42%, #fde68a 92%) 0 0 / 180% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    animation: 9s ease-in-out infinite brand-spirit-flow;
    display: inline-block;
    transform: skewX(-5deg);
  }

  .brand-spirit-slogan:not(.brand-spirit-slogan--cockpit) {
    color: #0000;
    background: linear-gradient(118deg, #059669 0%, #0d9488 52%, #ca8a04 100%);
    -webkit-background-clip: text;
    background-clip: text;
  }

  @keyframes brand-spirit-flow {
    0%, 100% {
      background-position: 0%;
    }

    50% {
      background-position: 100%;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .brand-spirit-slogan--cockpit {
      animation: none;
    }
  }

  .brand-header {
    text-align: center;
    background: linear-gradient(#fffffffc 0%, #f8fafcfa 100%);
    border: 1px solid #0f172a0f;
    border-radius: 1.125rem;
    width: 100%;
    max-width: 24rem;
    margin-inline: auto;
    padding: 1.375rem 1.625rem 1.25rem;
    position: relative;
    box-shadow: 0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;
  }

  .brand-header:before {
    content: "";
    inset-inline: 1.5rem;
    background: linear-gradient(90deg, #0000, #10b981, #14b8a6, #0000);
    border-radius: 0 0 2px 2px;
    height: 2px;
    position: absolute;
    top: 0;
  }

  .brand-header__mark {
    color: #1a1a1a;
    letter-spacing: .03em;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
  }

  .brand-header__slogan {
    color: #666;
    letter-spacing: .06em;
    margin-top: .75rem;
    font-size: 1.0625rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.55;
  }

  .brand-header__subtitle {
    color: #888;
    border-top: 1px solid #0f172a0f;
    margin-top: .625rem;
    padding-top: .625rem;
    font-size: .8125rem;
    line-height: 1.65;
  }

  .site-footer__mark {
    color: #334155;
    font-size: .9375rem;
    font-weight: 600;
  }

  .site-footer__domain {
    color: #94a3b8;
  }

  .site-footer__divider {
    background: linear-gradient(90deg, #0000, #cbd5e1, #0000);
    width: 2rem;
    height: 1px;
    margin: .625rem auto;
  }

  .site-footer__slogan {
    color: #666;
    letter-spacing: .05em;
    font-size: .875rem;
    font-style: italic;
    line-height: 1.55;
  }

  .site-compliance {
    color: #94a3b8;
    max-width: 28rem;
    font-size: .75rem;
    line-height: 1.65;
  }

  .site-compliance--about {
    color: #64748b;
    max-width: none;
    font-size: .875rem;
  }

  .site-compliance__beian, .site-compliance__contact {
    margin: 0;
  }

  .site-compliance__contact {
    margin-top: .35rem;
  }

  .site-compliance__sep {
    color: #cbd5e1;
    margin: 0 .35rem;
  }

  .site-compliance__link {
    color: inherit;
    text-decoration: none;
    transition: color .15s;
  }

  .site-compliance__link:hover {
    color: #64748b;
    text-decoration: underline;
  }

  .home-dream-input::placeholder {
    font-size: .8125rem;
    line-height: 1.4;
  }

  @media (min-width: 640px) {
    .home-dream-input::placeholder {
      font-size: .9375rem;
    }
  }

  .home-plans-marquee {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, #0000, #000 6% 94%, #0000);
    mask-image: linear-gradient(90deg, #0000, #000 6% 94%, #0000);
  }

  .home-plans-track {
    width: max-content;
    animation: 32s linear infinite home-plans-scroll;
  }

  .home-plans-marquee:hover .home-plans-track, .home-plans-track:has(.home-plan-card:hover) {
    animation-play-state: paused;
  }

  @keyframes home-plans-scroll {
    0% {
      transform: translateX(0);
    }

    100% {
      transform: translateX(-50%);
    }
  }

  .home-immersive-bg {
    background: radial-gradient(80% 50% at 50% -10%, #7c3aed38, #0000), radial-gradient(60% 40% at 100% 20%, #22d3ee24, #0000), linear-gradient(#0f172a66 0%, #f1f5f9 50%, #f8fafc 100%);
  }

  .home-immersive-gradient-overlay {
    background: radial-gradient(90% 55% at 50% -5%, #6d28d947, #0000 55%), radial-gradient(50% 35% at 100% 15%, #22d3ee26, #0000), linear-gradient(#0f172a8c 0%, #1e1b4b33 28%, #f8fafce0 62%, #f8fafcf7 100%);
  }

  .home-orbit-ring {
    animation: 18s linear infinite home-orbit-spin;
  }

  .home-orbit-ring-delayed {
    animation: 24s linear infinite reverse home-orbit-spin;
  }

  .home-orbit-dot-1 {
    transform-origin: 72px 72px;
    animation: 10s linear infinite home-orbit-spin;
  }

  .home-orbit-dot-2 {
    transform-origin: 72px 72px;
    animation: 14s linear infinite reverse home-orbit-spin;
  }

  .home-orbit-dot-3 {
    transform-origin: 72px 72px;
    animation: 20s linear infinite home-orbit-spin;
  }

  @keyframes home-orbit-spin {
    from {
      transform: rotate(0);
    }

    to {
      transform: rotate(360deg);
    }
  }
}

pre code.hljs {
  padding: 1em;
  display: block;
  overflow-x: auto;
}

code.hljs {
  padding: 3px 5px;
}

.hljs {
  color: #24292e;
  background: #fff;
}

.hljs-doctag, .hljs-keyword, .hljs-meta .hljs-keyword, .hljs-template-tag, .hljs-template-variable, .hljs-type, .hljs-variable.language_ {
  color: #d73a49;
}

.hljs-title, .hljs-title.class_, .hljs-title.class_.inherited__, .hljs-title.function_ {
  color: #6f42c1;
}

.hljs-attr, .hljs-attribute, .hljs-literal, .hljs-meta, .hljs-number, .hljs-operator, .hljs-selector-attr, .hljs-selector-class, .hljs-selector-id, .hljs-variable {
  color: #005cc5;
}

.hljs-meta .hljs-string, .hljs-regexp, .hljs-string {
  color: #032f62;
}

.hljs-built_in, .hljs-symbol {
  color: #e36209;
}

.hljs-code, .hljs-comment, .hljs-formula {
  color: #6a737d;
}

.hljs-name, .hljs-quote, .hljs-selector-pseudo, .hljs-selector-tag {
  color: #22863a;
}

.hljs-subst {
  color: #24292e;
}

.hljs-section {
  color: #005cc5;
  font-weight: 700;
}

.hljs-bullet {
  color: #735c0f;
}

.hljs-emphasis {
  color: #24292e;
  font-style: italic;
}

.hljs-strong {
  color: #24292e;
  font-weight: 700;
}

.hljs-addition {
  color: #22863a;
  background-color: #f0fff4;
}

.hljs-deletion {
  color: #b31d28;
  background-color: #ffeef0;
}

:root.capsule-one-active, :root.capsule-one-ai-active {
  --capsule-font-display: "Inter", "Noto Sans SC", system-ui, sans-serif;
  --capsule-font-body: "Inter", "Noto Sans SC", system-ui, sans-serif;
}

:root.capsule-one-active {
  --capsule-space-top: #eaf0f3;
  --capsule-space-bottom: #e3e9ec;
  --capsule-space-black: #eaf0f3;
  --capsule-bg-gradient: linear-gradient(168deg, #edf2f5 0%, #e8eeec 46%, #e3eaed 100%);
  --capsule-surface: #e8eef2e6;
  --capsule-surface-elevated: #edf2f5f0;
  --capsule-tech-blue: #6a8caf;
  --capsule-e-cyan: #6a8caf;
  --capsule-warm-orange: #b8504b;
  --capsule-body-text: #2c3438;
  --capsule-text-muted: #2c3438ad;
  --capsule-border: #6a8caf38;
  --capsule-border-strong: #6a8caf61;
  --capsule-ink: #2c3438;
  --capsule-cinnabar: #b8504b;
  --capsule-dai-blue: #526f8f;
  --capsule-btn-bg: #e8e4dac7;
  --capsule-btn-border: #6a8caf52;
  --capsule-font-serif: "Noto Serif SC", "Songti SC", "STSong", serif;
  --capsule-font-calligraphy: var(--capsule-font-serif);
}

:root.capsule-one-ai-active {
  --capsule-space-top: #1a2438;
  --capsule-space-bottom: #141e30;
  --capsule-space-black: #1a2438;
  --capsule-bg-gradient: linear-gradient(180deg, #1a2438 0%, #161f32 52%, #141e30 100%);
  --capsule-surface: #1e2a3ea8;
  --capsule-surface-elevated: #26344cc2;
  --capsule-tech-blue: #0ff;
  --capsule-e-cyan: #0ff;
  --capsule-warm-orange: #ffb800;
  --capsule-body-text: #e0e6ed;
  --capsule-text-muted: #e0e6ed94;
  --capsule-border: #0ff3;
  --capsule-border-strong: #00ffff59;
}

html.capsule-one-active, html.capsule-one-active body {
  scrollbar-width: none;
  background: var(--capsule-bg-gradient);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

html.capsule-one-active body::-webkit-scrollbar {
  display: none;
}

.capsule-one-home {
  z-index: 0;
  background: var(--capsule-bg-gradient);
  width: 100%;
  height: 100%;
  font-family: var(--capsule-font-body, "Exo 2", sans-serif);
  color: var(--capsule-body-text, #e0e6ed);
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.capsule-one-home__nebula {
  pointer-events: none;
  z-index: 0;
  background: var(--capsule-bg-gradient);
  position: absolute;
  inset: 0;
}

.capsule-one-home__nebula:after {
  content: "";
  opacity: .22;
  mix-blend-mode: soft-light;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E") 0 0 / 160px 160px;
  position: absolute;
  inset: 0;
}

@keyframes capsule-star-float {
  0% {
    background-position: 0 0, center, center, center;
  }

  100% {
    background-position: 35px 35px, center, center, center;
  }
}

@keyframes capsule-view-scale {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.025);
  }
}

@keyframes capsule-btn-breathe {
  0%, 100% {
    box-shadow: 0 0 8px var(--capsule-btn-glow, #00a3b81f);
  }

  50% {
    box-shadow: 0 0 16px #00a3b838;
  }
}

@keyframes capsule-tag-float {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(5px);
  }
}

.capsule-boot {
  pointer-events: none;
  z-index: 5;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #f2f0e9f0;
  place-items: center;
  display: grid;
  position: absolute;
  inset: 0;
}

.capsule-boot__grid {
  display: none;
}

.capsule-boot__content {
  z-index: 1;
  width: min(92vw, 520px);
  font-family: var(--capsule-font-display, "Orbitron", sans-serif);
  padding: 1.5rem;
  position: relative;
}

.capsule-boot__brand {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .32em;
  color: var(--capsule-body-text, #2c3438);
  margin: 0 0 1.25rem;
  font-size: clamp(1.2rem, 3.6vw, 1.65rem);
  font-weight: 300;
}

.capsule-boot__line {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--capsule-text-muted, #2c3438ad);
  margin: .55rem 0 0;
  font-size: clamp(.72rem, 2.2vw, .88rem);
}

.capsule-boot__cursor {
  color: var(--capsule-dai-blue, #6a8caf);
  margin-right: .45rem;
}

.capsule-boot__scan, .capsule-boot:after {
  display: none;
}

@keyframes capsule-boot-holo-ring {
  0% {
    opacity: .65;
    transform: translate(-50%, -50%) scale(.35);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.35);
  }
}

@keyframes capsule-boot-scan {
  0% {
    opacity: 0;
    top: 18%;
  }

  12% {
    opacity: 1;
  }

  88% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    top: 82%;
  }
}

.capsule-hud-chrome {
  pointer-events: none;
  z-index: 3;
  font-family: var(--capsule-font-body, "Inter", sans-serif);
  position: absolute;
  inset: 0;
}

.capsule-hud-chrome__vignette {
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 100px #3a48520f, inset 0 0 40px #6a8caf08;
}

.capsule-hud-chrome__scanlines, .capsule-hud-chrome__noise, .capsule-hud-chrome__inscription {
  display: none;
}

.capsule-hud-chrome__inscription-line {
  display: block;
}

.capsule-hud-chrome__corner {
  border-color: var(--capsule-border-strong);
  border-style: solid;
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
}

.capsule-hud-chrome__corner--tl {
  top: max(1rem, env(safe-area-inset-top));
  left: max(1rem, env(safe-area-inset-left));
  border-width: 2px 0 0 2px;
}

.capsule-hud-chrome__corner--tr {
  top: max(1rem, env(safe-area-inset-top));
  right: max(1rem, env(safe-area-inset-right));
  border-width: 2px 2px 0 0;
}

.capsule-hud-chrome__corner--bl {
  bottom: max(3.5rem, calc(env(safe-area-inset-bottom) + 2.5rem));
  left: max(1rem, env(safe-area-inset-left));
  border-width: 0 0 2px 2px;
}

.capsule-hud-chrome__corner--br {
  bottom: max(3.5rem, calc(env(safe-area-inset-bottom) + 2.5rem));
  right: max(1rem, env(safe-area-inset-right));
  border-width: 0 2px 2px 0;
}

.capsule-hud-chrome__brand {
  top: max(1.5rem, calc(env(safe-area-inset-top) + .75rem));
  left: max(1.5rem, calc(env(safe-area-inset-left) + .95rem));
  z-index: 1;
  pointer-events: none;
  flex-direction: column;
  gap: .28rem;
  max-width: min(68vw, 280px);
  display: flex;
  position: absolute;
}

.capsule-hud-chrome__brand-title {
  align-items: center;
  gap: .42rem;
  display: flex;
}

.capsule-hud-chrome__brand-logo {
  display: none;
}

.capsule-hud-chrome__brand-name {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .28em;
  color: #2c3438e6;
  font-size: 13px;
  font-weight: 600;
}

.capsule-hud-chrome__brand-slogan {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .2em;
  color: #2c3438b8;
  padding-left: 2rem;
  font-size: 10px;
  font-weight: 400;
}

.capsule-hud-chrome__earth-guide {
  display: none;
}

.capsule-hud-chrome__lock {
  left: max(1.5rem, calc(env(safe-area-inset-left) + .35rem));
  max-width: min(44vw, 240px);
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .12em;
  color: var(--capsule-cinnabar, #b8504b);
  flex-direction: column;
  gap: .28rem;
  font-size: .72rem;
  font-weight: 400;
  display: flex;
  position: absolute;
  top: 50%;
}

.capsule-hud-chrome__lock-dot {
  background: var(--capsule-cinnabar, #b8504b);
  vertical-align: middle;
  opacity: .75;
  border-radius: 999px;
  width: .38rem;
  height: .38rem;
  margin-right: .35rem;
  display: inline-block;
}

.capsule-hud-chrome__lock-coords {
  letter-spacing: .1em;
  color: #2c3438b8;
  font-size: .52rem;
}

.capsule-hud-chrome__title {
  display: none;
}

.capsule-hud-chrome__title-brand {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .28em;
  color: var(--capsule-ink, #2c3438);
  align-items: center;
  gap: .35rem;
  font-size: clamp(1.15rem, 3.2vw, 1.55rem);
  font-weight: 300;
  display: inline-flex;
}

.capsule-hud-chrome__title-logo {
  display: none;
}

.capsule-hud-chrome__title-slogan {
  font-family: var(--capsule-font-body, "Exo 2", sans-serif);
  letter-spacing: .18em;
  color: var(--capsule-text-muted, #2c3438ad);
  font-size: .52rem;
}

.capsule-hud-chrome__title-en {
  letter-spacing: .28em;
  color: var(--capsule-text-muted, #2c3438ad);
  text-transform: uppercase;
  font-size: .48rem;
  font-weight: 700;
}

.capsule-hud-chrome__status {
  display: none;
}

.capsule-hud-chrome__status-label {
  color: var(--capsule-text-muted, #2c3438ad);
}

.capsule-hud-chrome__status-value {
  color: var(--capsule-ink, #2c3438);
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  font-weight: 400;
}

.capsule-hud-chrome__title-en, .capsule-hud-chrome__coords, .capsule-hud-chrome__hint {
  display: none;
}

@keyframes capsule-hint-pulse {
  0%, 100% {
    opacity: .35;
  }

  50% {
    opacity: .72;
  }
}

.capsule-app-shell {
  background: var(--capsule-bg-gradient);
  width: 100%;
  height: 100dvh;
  min-height: 100dvh;
  position: relative;
  overflow: hidden;
}

.capsule-scene {
  z-index: 1;
  transition: transform 1s;
  animation: none;
  position: absolute;
  inset: 0;
}

.capsule-scene__canvas {
  touch-action: none;
  cursor: grab;
  width: 100%;
  height: 100%;
  background: var(--capsule-space-top) !important;
}

.capsule-scene__canvas:active {
  cursor: grabbing;
}

.capsule-scene__fallback {
  background: none;
  place-items: center;
  width: 100%;
  height: 100%;
  display: grid;
}

.capsule-scene__fallback-core {
  filter: none;
  border: 1px solid #6a8caf47;
  border-radius: 50%;
  width: 88px;
  height: 88px;
  animation: 2.8s ease-in-out infinite capsule-breathe;
}

.capsule-css-globe {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.capsule-css-globe__viewport {
  perspective: 1500px;
  perspective-origin: 50% 44%;
  place-items: center;
  padding-bottom: 5vh;
  display: grid;
  position: absolute;
  inset: 0;
}

.capsule-css-globe__world {
  width: 64vmin;
  height: 64vmin;
  transform-style: preserve-3d;
  position: relative;
  transform: translateY(-2%) rotateX(11deg);
}

.capsule-css-globe__orbits, .capsule-css-globe__planet, .capsule-css-globe__planet-spin {
  transform-style: preserve-3d;
  position: absolute;
  inset: 0;
}

.capsule-css-globe__orbit {
  transform-style: preserve-3d;
  animation: 8s ease-in-out infinite capsule-css-orbit-breathe;
  position: absolute;
  top: 50%;
  left: 50%;
}

.capsule-css-globe__orbit svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.capsule-css-globe__orbit--1 {
  width: 120%;
  height: 120%;
  margin: -60% 0 0 -60%;
  animation: 8s ease-in-out infinite capsule-css-orbit-breathe, 40s linear infinite capsule-css-orbit-spin;
}

.capsule-css-globe__orbit--2 {
  width: 132%;
  height: 132%;
  margin: -66% 0 0 -66%;
  animation: 8s ease-in-out -1.5s infinite capsule-css-orbit-breathe, 46s linear -5s infinite capsule-css-orbit-spin-2;
}

.capsule-css-globe__orbit--3 {
  width: 144%;
  height: 144%;
  margin: -72% 0 0 -72%;
  animation: 8s ease-in-out -3s infinite capsule-css-orbit-breathe, 52s linear -10s infinite capsule-css-orbit-spin-3;
}

.capsule-css-globe__orbit--4 {
  width: 156%;
  height: 156%;
  margin: -78% 0 0 -78%;
  animation: 8s ease-in-out -4.5s infinite capsule-css-orbit-breathe, 58s linear -16s infinite capsule-css-orbit-spin-4;
}

.capsule-css-globe__planet {
  place-items: center;
  display: grid;
}

.capsule-css-globe__planet-spin {
  filter: drop-shadow(0 0 24px #7ecde057) drop-shadow(0 0 56px #6a8caf2e) drop-shadow(0 0 96px #7ecde01a);
  place-items: center;
  display: grid;
}

.capsule-css-globe__aura {
  filter: blur(36px);
  background: radial-gradient(circle, #7ecde033 0%, #6a8caf14 38%, #0000 72%);
  border-radius: 50%;
  width: 78vmin;
  height: 78vmin;
  position: absolute;
  transform: translateZ(-16px);
}

.capsule-css-globe__shell {
  cursor: pointer;
  pointer-events: auto;
  width: 64vmin;
  height: 64vmin;
  transform-style: preserve-3d;
  -webkit-backdrop-filter: blur(20px) saturate(1.12);
  background: radial-gradient(circle at 34% 28%, #ffffff42 0%, #0000 24%), radial-gradient(circle at 58% 66%, #6a8caf0d 0%, #0000 36%), radial-gradient(circle, #7ecde029 0%, #6a8caf14 48%, #6a8caf08 100%);
  border: 0;
  border-radius: 50%;
  padding: 0;
  transition: transform .45s, filter .45s;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 48px #7ecde01f, inset 0 0 18px #ffffff24, 0 0 0 1px #c8eaf46b;
}

.capsule-css-globe__shell:hover, .capsule-css-globe__shell:focus-visible {
  filter: brightness(1.04);
  outline: none;
  transform: scale(1.015);
}

.capsule-css-globe__map, .capsule-css-globe__ocean-glow, .capsule-css-globe__fluid, .capsule-css-globe__glass, .capsule-css-globe__specular, .capsule-css-globe__rim {
  pointer-events: none;
  border-radius: 50%;
  position: absolute;
  inset: 0;
}

.capsule-css-globe__ocean-glow {
  opacity: .72;
  filter: blur(3px);
  mix-blend-mode: screen;
  background: conic-gradient(from 210deg at 48% 52%, #7ecde024 0deg, #a0d4e814 72deg, #6a8caf0a 140deg, #7ecde01f 220deg, #a0d4e80f 300deg, #7ecde024 360deg), radial-gradient(circle, #7ecde01a 0%, #0000 68%);
}

.capsule-css-globe__map {
  opacity: .92;
  mix-blend-mode: normal;
  background-position: 0%;
  background-repeat: repeat-x;
  background-size: 200% 100%;
  animation: 36s linear infinite capsule-css-map-spin;
}

.capsule-css-globe__fluid {
  opacity: .58;
  filter: blur(2.5px);
  mix-blend-mode: screen;
  background: radial-gradient(circle at 42% 38%, #7ecde029 0%, #0000 32%), radial-gradient(circle at 62% 64%, #a0d4e81a 0%, #0000 36%), radial-gradient(76% 58%, #6a8caf0f 0%, #0000 68%);
}

.capsule-css-globe__glass {
  opacity: .5;
  background: radial-gradient(circle at 30% 26%, #fff3 0%, #0000 20%), radial-gradient(circle, #7ecde00a 0%, #6a8caf0d 100%);
}

.capsule-css-globe__specular {
  opacity: .42;
  background: radial-gradient(circle at 32% 26%, #ffffff9e 0%, #c8eaf424 12%, #0000 30%);
}

.capsule-css-globe__rim {
  box-shadow: inset 0 0 28px #7ecde029, inset 0 0 10px #fff3;
}

.capsule-css-globe__world:hover .capsule-css-globe__planet-spin, .capsule-css-globe__world:hover .capsule-css-globe__map, .capsule-css-globe__world:hover .capsule-css-globe__orbit {
  animation-play-state: paused;
}

@keyframes capsule-css-map-spin {
  from {
    background-position: 0%;
  }

  to {
    background-position: 200%;
  }
}

@keyframes capsule-css-orbit-spin {
  from {
    transform: rotateX(70deg) rotateY(16deg) rotateZ(0);
  }

  to {
    transform: rotateX(70deg) rotateY(16deg) rotateZ(360deg);
  }
}

@keyframes capsule-css-orbit-spin-2 {
  from {
    transform: rotateX(56deg) rotateY(-24deg) rotateZ(14deg);
  }

  to {
    transform: rotateX(56deg) rotateY(-24deg) rotateZ(374deg);
  }
}

@keyframes capsule-css-orbit-spin-3 {
  from {
    transform: rotateX(82deg) rotateY(30deg) rotateZ(-10deg);
  }

  to {
    transform: rotateX(82deg) rotateY(30deg) rotateZ(350deg);
  }
}

@keyframes capsule-css-orbit-spin-4 {
  from {
    transform: rotateX(64deg) rotateY(-18deg) rotateZ(8deg);
  }

  to {
    transform: rotateX(64deg) rotateY(-18deg) rotateZ(368deg);
  }
}

@keyframes capsule-css-orbit-breathe {
  0%, 100% {
    opacity: .38;
  }

  50% {
    opacity: .78;
  }
}

@media (max-width: 768px) {
  .capsule-css-globe__viewport {
    perspective-origin: 50% 42%;
    padding-bottom: 4vh;
  }

  .capsule-css-globe__world {
    width: 68vmin;
    height: 68vmin;
  }

  .capsule-css-globe__shell, .capsule-css-globe__aura {
    width: 70vmin;
    height: 70vmin;
  }

  .capsule-css-globe__aura {
    width: 82vmin;
    height: 82vmin;
  }
}

@media (prefers-reduced-motion: reduce) {
  .capsule-css-globe__map, .capsule-css-globe__orbit {
    animation: none;
  }
}

.capsule-one-home--input-open .capsule-scene, .capsule-one-home--input-open .capsule-scene__canvas {
  pointer-events: none;
}

.capsule-one-home--input-open .capsule-overlay {
  z-index: 10;
}

.capsule-overlay {
  pointer-events: none;
  z-index: 2;
  font-family: var(--capsule-font-body, "Exo 2", sans-serif);
  position: absolute;
  inset: 0;
}

.capsule-overlay__topbar {
  pointer-events: auto;
  top: max(1.25rem, calc(env(safe-area-inset-top) + .85rem));
  right: max(1.25rem, calc(env(safe-area-inset-right) + .85rem));
  z-index: 12;
  flex-direction: row;
  align-items: flex-start;
  gap: .85rem;
  display: flex;
  position: absolute;
}

.capsule-overlay__topbar-slogan {
  writing-mode: vertical-rl;
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .35em;
  color: #2c3438b8;
  text-orientation: upright;
  pointer-events: none;
  flex-direction: column;
  flex-shrink: 0;
  gap: .15rem;
  margin: .15rem 0 0;
  font-size: 13px;
  font-weight: 400;
  display: flex;
}

.capsule-overlay__topbar-slogan-line {
  display: block;
}

.capsule-overlay__hud {
  pointer-events: auto;
  flex-shrink: 0;
  align-items: center;
  gap: .5rem;
  display: flex;
  position: static;
}

.capsule-hud-btn--on {
  border-color: var(--capsule-ink, #2c2c2c);
  color: #f5f2eb;
  background: var(--capsule-ink, #2c2c2c);
}

.capsule-nav-menu {
  position: relative;
}

.capsule-nav-menu__panel {
  pointer-events: auto;
  z-index: 20;
  border: 1px solid var(--capsule-border);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #f5f2ebf2;
  width: min(12.5rem, 72vw);
  max-height: min(70dvh, 22rem);
  position: absolute;
  top: calc(100% + .45rem);
  right: 0;
  overflow-y: auto;
  box-shadow: 0 8px 28px #2c2c2c14;
}

.capsule-nav-menu__title {
  font-family: var(--capsule-font-body, "Inter", sans-serif);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--capsule-text-muted, #2c3438ad);
  margin: 0;
  padding: .55rem .75rem .35rem;
  font-size: .62rem;
}

.capsule-nav-menu__list {
  margin: 0;
  padding: .2rem 0 .45rem;
  list-style: none;
}

.capsule-nav-menu__link {
  color: var(--capsule-body-text, #1e293b);
  align-items: center;
  gap: .55rem;
  padding: .62rem .75rem;
  font-size: .82rem;
  text-decoration: none;
  transition: background .15s, color .15s;
  display: flex;
}

.capsule-nav-menu__link:hover, .capsule-nav-menu__link:focus-visible {
  color: var(--capsule-dai-blue, #6a8caf);
  background: #6a8caf14;
  outline: none;
}

.capsule-nav-menu__emoji {
  text-align: center;
  flex-shrink: 0;
  width: 1.1rem;
}

.capsule-hud-btn {
  border: 1px solid var(--capsule-btn-border, #6a8caf52);
  width: 2.75rem;
  height: 2.75rem;
  color: var(--capsule-dai-blue, #6a8caf);
  cursor: pointer;
  background: #ffffff8c;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: background .25s, transform .25s, border-color .25s;
  display: inline-flex;
  position: relative;
}

.capsule-hud-btn:before {
  display: none;
}

.capsule-hud-btn:hover {
  color: var(--capsule-dai-blue, #6a8caf);
  background: #ffffffd9;
  border-color: #6a8caf73;
  transform: scale(1.04);
}

.capsule-hud-btn:hover:before {
  display: none;
}

.capsule-overlay__dock {
  pointer-events: auto;
  left: 50%;
  bottom: calc(max(1.85rem, env(safe-area-inset-bottom) + 1.35rem));
  flex-direction: column;
  align-items: stretch;
  gap: .55rem;
  width: min(540px, 90vw);
  max-height: none;
  display: flex;
  position: absolute;
  overflow: visible;
  transform: translateX(-50%);
}

.capsule-search-card {
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  background: #ffffffbd;
  border: 1px solid #6a8caf47;
  border-radius: 999px;
  align-items: center;
  gap: .55rem;
  width: 100%;
  min-height: 3.25rem;
  padding: .55rem .65rem .55rem 1.2rem;
  transition: border-color .3s, box-shadow .3s, transform .3s;
  display: flex;
  box-shadow: inset 0 1px #ffffffd9, 0 16px 40px #6a8caf1a, 0 4px 14px #4a4a4a0a;
}

.capsule-search-card:focus-within {
  border-color: #6a8caf6b;
  transform: translateY(-1px);
  box-shadow: inset 0 1px #ffffffe6, 0 20px 48px #6a8caf1f, 0 0 0 4px #6a8caf12;
}

.capsule-search-card__actions {
  flex-shrink: 0;
  justify-content: flex-end;
  align-items: center;
  gap: .45rem;
  display: flex;
}

.capsule-overlay__dock-row {
  display: none;
}

.capsule-overlay__copyright {
  pointer-events: none;
  left: 50%;
  bottom: max(.2rem, env(safe-area-inset-bottom));
  letter-spacing: .1em;
  text-align: center;
  color: #2c343885;
  white-space: nowrap;
  margin: 0;
  font-size: .48rem;
  position: absolute;
  transform: translateX(-50%);
}

.capsule-overlay__beian {
  text-align: center;
  letter-spacing: .05em;
  color: #2c3438a8;
  margin: .15rem 0 0;
  padding: 0 .75rem;
  font-size: .62rem;
  line-height: 1.55;
}

.capsule-overlay__beian-link {
  color: inherit;
  text-decoration: none;
  transition: color .2s;
}

.capsule-overlay__beian-link:hover {
  color: #6a8cafc7;
}

.capsule-overlay__beian-sep {
  opacity: .5;
  margin: 0 .35rem;
}

.capsule-overlay__controls {
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.capsule-overlay__mic-wrap {
  justify-content: center;
  align-items: center;
  display: inline-flex;
  position: relative;
}

.capsule-action-btn {
  border: 1px solid var(--capsule-btn-border, #6a8caf52);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  width: 2.75rem;
  height: 2.75rem;
  color: var(--capsule-dai-blue, #6a8caf);
  cursor: pointer;
  background: #ffffff8c;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: background .25s, transform .25s, border-color .25s;
  display: inline-flex;
}

.capsule-action-btn:before {
  display: none;
}

.capsule-action-btn:hover:not(:disabled) {
  color: var(--capsule-dai-blue, #6a8caf);
  background: #ffffffd9;
  border-color: #6a8caf73;
  transform: scale(1.04);
}

.capsule-action-btn:hover:not(:disabled):before {
  display: none;
}

.capsule-action-btn--on {
  border-color: var(--capsule-ink, #2c2c2c);
  color: #f5f2eb;
  background: var(--capsule-ink, #2c2c2c);
}

.capsule-action-btn--submit {
  border-color: var(--capsule-dai-blue, #4a6fa5);
  color: var(--capsule-dai-blue, #4a6fa5);
}

.capsule-action-btn:disabled, .capsule-mic:disabled {
  opacity: .38;
  cursor: not-allowed;
}

.capsule-blindbox-btn--busy {
  color: var(--capsule-dai-blue, #4a6fa5);
  background: #4a6fa51a;
  border-color: #4a6fa58c;
  animation: 1.1s ease-in-out infinite capsule-blindbox-pulse;
}

.capsule-blindbox-btn {
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  position: relative;
}

.capsule-blindbox-btn__label {
  display: none;
}

.blind-box-overlay {
  pointer-events: none;
  z-index: 9999;
  width: 100%;
  height: 100%;
  padding-bottom: max(5.75rem, calc(env(safe-area-inset-bottom) + 4.75rem));
  background: none;
  justify-content: center;
  align-items: flex-end;
  animation: .35s ease-out blind-box-fade-in;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

.blind-box-overlay--seal {
  background: #4a4a4a14;
  align-items: center;
  padding-bottom: 0;
}

.capsule-toast {
  pointer-events: none;
  text-align: center;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #e8e4daf0;
  border: 1px solid #6a8caf47;
  border-radius: .55rem;
  min-width: min(88vw, 320px);
  max-width: min(92vw, 360px);
  padding: .85rem 1.1rem .95rem;
  box-shadow: 0 6px 24px #4a4a4a14;
}

.capsule-toast--muted {
  border-color: #6a8caf38;
}

.capsule-toast__eyebrow {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .18em;
  color: var(--capsule-dai-blue, #6a8caf);
  margin: 0 0 .35rem;
  font-size: .58rem;
  font-weight: 400;
}

.capsule-toast__title {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .12em;
  color: var(--capsule-ink, #2c3438);
  margin: 0;
  font-size: .92rem;
  font-weight: 400;
}

.capsule-toast__hint {
  letter-spacing: .08em;
  color: var(--capsule-text-muted, #2c3438ad);
  margin: .45rem 0 0;
  font-size: .62rem;
  line-height: 1.6;
}

.blind-box-overlay--scanning .capsule-toast {
  animation: none;
}

.blind-box-overlay--no-signal .capsule-toast__title {
  color: var(--capsule-ink, #2c3438);
}

.capsule-blindbox__progress {
  background: #6a8caf24;
  border-radius: 999px;
  width: 100%;
  height: 2px;
  margin-top: .65rem;
  overflow: hidden;
}

.capsule-blindbox__progress-bar {
  border-radius: inherit;
  background: linear-gradient(90deg, #6a8caf33, #6a8caf, #6a8caf33);
  width: 0;
  height: 100%;
  animation-name: capsule-blindbox-progress;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  display: block;
}

.ink-seal-stamp {
  min-width: min(88vw, 320px);
  padding: 8px;
  position: relative;
}

.ink-seal-stamp__texture {
  border: 3px solid var(--capsule-cinnabar, #d04a3a);
  filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='rough'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.04' numOctaves='3'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='2'/%3E%3C/filter%3E%3C/svg%3E%23rough");
  opacity: .92;
  border-radius: 6px 10px 8px 12px;
  position: absolute;
  inset: 0;
  transform: rotate(-1.2deg);
}

.ink-seal-stamp__body {
  text-align: center;
  border: 2px solid var(--capsule-cinnabar, #b8504b);
  background: #e8e4dad1;
  padding: 36px 44px 32px;
  position: relative;
  box-shadow: inset 0 0 0 1px #b8504b33;
}

.ink-seal-stamp__city {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .22em;
  color: var(--capsule-cinnabar, #d04a3a);
  min-height: 46px;
  margin: 0 0 8px;
  font-size: clamp(2rem, 7vw, 2.6rem);
}

.ink-seal-stamp__tagline {
  letter-spacing: .12em;
  color: var(--capsule-ink, #2c2c2c);
  margin: 8px 0 0;
  font-size: .95rem;
}

.ink-seal-stamp__hint {
  letter-spacing: .14em;
  color: var(--capsule-text-muted, #2c2c2c8c);
  margin: 18px 0 0;
  font-size: .78rem;
}

.blind-box-overlay.fade-out {
  animation: .5s ease-in forwards blind-box-fade-out;
}

.blind-box-overlay--scanning .blind-box-inner, .blind-box-overlay--random.blind-box-overlay--scanning .blind-box-inner, .blind-box-overlay--region .blind-box-inner, .blind-box-overlay--no-signal .blind-box-inner {
  display: none;
}

.blind-box-overlay--scanning .city-name, .blind-box-overlay--no-signal .city-name {
  color: var(--capsule-ink, #2c3438);
}

.blind-box-inner {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  text-align: center;
  background: #e8e4daf0;
  border: 1px solid #6a8caf47;
  border-radius: .55rem;
  min-width: 280px;
  padding: 32px 56px;
  transition: all .45s cubic-bezier(.25, .8, .25, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 24px #4a4a4a14;
}

.scan-line {
  display: none;
}

.city-name {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .12em;
  color: var(--capsule-cinnabar, #b8504b);
  min-height: 46px;
  margin: 0 0 8px;
  font-size: 32px;
  font-weight: 400;
}

.blind-box-overlay--region .capsule-blindbox__route {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .12em;
  color: var(--capsule-cinnabar, #d04a3a);
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .55rem;
  min-height: 46px;
  margin: 0 0 10px;
  font-size: 28px;
  font-weight: 400;
  display: flex;
}

.capsule-blindbox__route {
  white-space: nowrap;
}

.blind-box-overlay--region .city-name {
  justify-content: center;
  align-items: center;
  gap: .45rem;
  display: inline-flex;
}

.capsule-blindbox__pin {
  background: var(--capsule-cinnabar, #b8504b);
  width: .55rem;
  height: .55rem;
  box-shadow: none;
  border-radius: 50%;
  flex-shrink: 0;
}

.scan-line--slow {
  animation-duration: 2.4s;
}

.capsule-overlay__dock--dimmed .capsule-overlay__lock, .capsule-overlay__dock--dimmed .capsule-overlay__status {
  opacity: 0;
  pointer-events: none;
}

.city-tagline {
  color: var(--capsule-text-muted, #2c3438ad);
  letter-spacing: .06em;
  margin: 8px 0 0;
  font-size: 16px;
}

.city-hint {
  color: var(--capsule-text-muted, #2c3438ad);
  letter-spacing: .08em;
  margin: 20px 0 0;
  font-size: 13px;
}

.capsule-blindbox__eyebrow {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .14em;
  text-transform: none;
  color: var(--capsule-dai-blue, #6a8caf);
  margin: 0 0 10px;
  font-size: .68rem;
}

.blind-box-overlay.legendary .blind-box-inner {
  border-color: #9d4edd;
  box-shadow: 0 0 60px #9d4ede80, 0 0 100px #90e0ef33;
}

.blind-box-overlay.legendary .city-name {
  color: #9d7dff;
}

.blind-box-overlay.epic .blind-box-inner {
  border-color: #ffd60a;
  box-shadow: 0 0 40px #fdcb0b66;
}

.blind-box-overlay.epic .city-name {
  color: #ffea00;
  text-shadow: 0 0 20px #fcda3799;
}

@keyframes scan-line {
  0% {
    left: -100%;
  }

  100% {
    left: 100%;
  }
}

@keyframes blind-box-fade-in {
  from {
    opacity: 0;
    transform: scale(.95);
  }

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

@keyframes blind-box-fade-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(.95);
  }
}

@keyframes capsule-blindbox-pulse {
  0%, 100% {
    box-shadow: 0 0 #a855f700;
  }

  50% {
    box-shadow: 0 0 14px #a855f773;
  }
}

@keyframes blind-box-scan-pulse {
  0%, 100% {
    box-shadow: 0 0 36px #00c8ff29;
  }

  50% {
    box-shadow: 0 0 52px #00c8ff47;
  }
}

@keyframes capsule-blindbox-progress {
  from {
    width: 0;
  }

  to {
    width: 100%;
  }
}

.capsule-ripple {
  pointer-events: none;
  aspect-ratio: 1;
  opacity: .35;
  width: min(52vw, 240px);
  box-shadow: none;
  border: 1px solid #4a4a4a2e;
  border-radius: 50%;
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.capsule-lock-flash {
  pointer-events: none;
  background: radial-gradient(circle at 50% 58%, #4a4a4a0f 0%, #0000 55%);
  position: absolute;
  inset: 0;
}

.capsule-mic {
  border: 1px solid var(--capsule-btn-border, #6a8caf52);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  width: 2.75rem;
  height: 2.75rem;
  color: var(--capsule-dai-blue, #6a8caf);
  cursor: pointer;
  background: #ffffff8c;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: background .25s, transform .25s, border-color .25s;
  display: inline-flex;
}

.capsule-mic:hover:not(:disabled) {
  color: var(--capsule-dai-blue, #6a8caf);
  box-shadow: none;
  background: #ffffffd9;
  border-color: #6a8caf73;
  transform: scale(1.04);
}

.capsule-mic--on {
  color: #fff;
  background: var(--capsule-dai-blue, #6a8caf);
  border-color: #6a8caf8c;
}

.capsule-input-ring {
  display: none;
}

.capsule-overlay__input--dock {
  pointer-events: auto;
  z-index: auto;
  flex: 1;
  width: auto;
  min-width: 0;
  position: static;
  top: auto;
  left: auto;
  transform: none;
}

.capsule-hud-input--dock {
  width: 100%;
  min-width: 0;
}

.capsule-hud-input--embedded {
  box-shadow: none;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}

.capsule-hud-input--embedded:focus-within {
  box-shadow: none;
  background: none;
  border: none;
  transform: none;
}

.capsule-hud-input--dock .capsule-hud-input__field, .capsule-hud-input--embedded .capsule-hud-input__field {
  text-align: left;
  font-family: "PingFang SC", "Microsoft YaHei", var(--capsule-font-body, "Inter", sans-serif);
  resize: none;
  scrollbar-width: none;
  box-sizing: border-box;
  height: 1.75em;
  min-height: 1.75em;
  max-height: 1.75em;
  padding: 0;
  font-size: clamp(.92rem, 2.2vw, 1.02rem);
  line-height: 1.65;
  overflow: hidden;
}

.capsule-hud-input--dock .capsule-hud-input__field::-webkit-scrollbar {
  display: none;
}

.capsule-hud-input--embedded .capsule-hud-input__field::-webkit-scrollbar {
  display: none;
}

.capsule-overlay__input {
  pointer-events: auto;
  z-index: 20;
  -webkit-user-select: text;
  user-select: text;
  width: min(280px, 62vw);
  position: absolute;
  top: 58%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.capsule-hud-input {
  pointer-events: auto;
  text-align: center;
  border: 1px solid var(--capsule-border);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #e8e4daf0;
  border-radius: .65rem;
  width: 100%;
  padding: .55rem .75rem .65rem;
  transition: border-color .35s, box-shadow .35s, transform .35s, background .35s;
  position: relative;
  box-shadow: 0 4px 18px #4a4a4a0f;
}

.capsule-hud-input__ring {
  display: none;
}

.capsule-hud-input__field {
  z-index: 2;
  resize: none;
  width: 100%;
  color: var(--capsule-body-text, #2c3438);
  font-family: "PingFang SC", "Microsoft YaHei", var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .04em;
  text-align: center;
  text-transform: none;
  caret-color: var(--capsule-dai-blue, #6a8caf);
  pointer-events: auto;
  -webkit-user-select: text;
  user-select: text;
  background: none;
  border: none;
  outline: none;
  font-size: .82rem;
  font-weight: 400;
  line-height: 1.55;
  position: relative;
}

.capsule-hud-input__field::placeholder {
  color: var(--capsule-text-muted, #2c3438ad);
}

.capsule-hud-input__field:focus {
  color: var(--capsule-body-text, #1e293b);
}

.capsule-hud-input:focus-within {
  background: #ffffffd1;
  border-color: #6a8caf73;
  transform: translateY(-2px);
  box-shadow: inset 0 1px #ffffffe6, 0 22px 56px #6a8caf24, 0 0 0 4px #6a8caf14;
}

@keyframes capsule-hud-ring {
  0%, 100% {
    opacity: .72;
    transform: scale(1);
  }

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

.capsule-input-ring__field {
  resize: none;
  width: 100%;
  color: var(--capsule-tech-blue, #0ef);
  font-family: var(--capsule-font-body, "Exo 2", sans-serif);
  background: none;
  border: none;
  outline: none;
  font-size: .9rem;
  line-height: 1.5;
}

.capsule-input-ring__field::placeholder {
  color: #00eeff73;
}

.capsule-overlay__earth-hint {
  text-align: center;
  letter-spacing: .1em;
  color: #2c3438b8;
  text-shadow: 0 0 12px #eaf0f3f2, 0 1px 2px #eaf0f3d9;
  margin: 0;
  padding: 0 .75rem;
  font-size: .72rem;
  line-height: 1.5;
}

.capsule-overlay__status {
  text-align: center;
  max-width: min(88vw, 360px);
  font-family: var(--capsule-font-body, "Inter", sans-serif);
  letter-spacing: .04em;
  text-transform: none;
  color: var(--capsule-text-muted, #2c3438ad);
  font-size: .62rem;
}

.capsule-prompt-html {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  text-align: center;
  width: min(240px, 52vw);
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .12em;
  color: #2c3438b8;
  font-size: .68rem;
  font-weight: 300;
  line-height: 1.75;
}

.capsule-prompt-html:has(.capsule-hud-input) {
  pointer-events: auto;
}

@keyframes capsule-breathe {
  0%, 100% {
    opacity: .88;
    transform: scale(1);
  }

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

@media (max-width: 768px) {
  .capsule-one-home__nebula {
    background-size: 100% 100%;
  }

  .capsule-scene {
    animation: none;
  }

  .capsule-hud-chrome__brand {
    top: max(1rem, calc(env(safe-area-inset-top) + .55rem));
    left: max(1rem, calc(env(safe-area-inset-left) + .75rem));
    max-width: calc(100vw - 7.5rem);
  }

  .capsule-hud-chrome__brand-name {
    letter-spacing: .16em;
    font-size: 14px;
  }

  .capsule-hud-chrome__brand-slogan {
    letter-spacing: .16em;
    padding-left: 1.85rem;
    font-size: 9px;
  }

  .paper-roam-brand-snail__glyph {
    width: 22px;
    height: auto;
  }

  .capsule-overlay__topbar {
    top: max(1rem, calc(env(safe-area-inset-top) + .55rem));
    right: max(1rem, calc(env(safe-area-inset-right) + .75rem));
    gap: .45rem;
  }

  .capsule-overlay__topbar-slogan {
    display: none;
  }

  .capsule-hud-btn, .capsule-action-btn, .capsule-mic, .capsule-city-label {
    animation-duration: 20s;
  }

  .capsule-hud-chrome__earth-guide, .capsule-hud-chrome__lock {
    max-width: min(52vw, 180px);
    font-size: 12px;
  }

  .capsule-hud-chrome__inscription {
    display: none;
  }

  .capsule-search-card {
    min-height: 3rem;
    padding: .5rem .55rem .5rem 1rem;
  }

  .capsule-search-card__actions {
    gap: .35rem;
  }

  .capsule-hud-btn, .capsule-action-btn, .capsule-mic, .capsule-blindbox-btn {
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
  }

  .capsule-overlay__dock-row {
    flex-direction: row;
    align-items: center;
    gap: .45rem;
  }

  .capsule-hud-input--dock .capsule-hud-input__field, .capsule-hud-input--embedded .capsule-hud-input__field {
    font-size: .88rem;
  }

  .capsule-overlay__actions {
    justify-content: center;
    gap: .75rem;
  }

  .capsule-hud-chrome__title {
    max-width: min(94vw, 24rem);
  }

  .capsule-hud-chrome__title-brand {
    font-size: 18px;
  }

  .capsule-hud-chrome__title-slogan {
    font-size: 13px;
  }

  .capsule-hud-chrome__title-en {
    letter-spacing: .12em;
    font-size: 11px;
  }

  .capsule-hud-chrome__status, .capsule-hud-chrome__coords {
    font-size: 12px;
  }

  .capsule-hud-chrome__hint {
    text-transform: none;
    letter-spacing: .04em;
    max-width: min(94vw, 360px);
    font-size: 14px;
  }

  .capsule-prompt-html {
    width: min(300px, 86vw);
    font-size: 14px;
  }

  .capsule-overlay__status, .capsule-overlay__lock {
    font-size: 13px;
  }

  .capsule-blindbox-btn__label {
    font-size: 12px;
  }

  .capsule-overlay__controls {
    gap: .65rem;
  }

  .capsule-nav-menu__title {
    font-size: 12px;
  }

  .capsule-nav-menu__link {
    font-size: 13px;
  }

  .city-name {
    letter-spacing: .04em;
    font-size: 32px;
  }

  .city-tagline {
    font-size: 20px;
  }

  .city-hint {
    letter-spacing: .02em;
    font-size: 16px;
  }

  .blind-box-overlay--region .capsule-blindbox__route {
    white-space: normal;
    font-size: 28px;
  }

  .blind-box-overlay--scanning .capsule-blindbox__scan-title {
    letter-spacing: .04em;
    font-size: 26px;
  }

  .capsule-blindbox__eyebrow {
    font-size: 16px;
  }

  .blind-box-inner {
    width: min(94vw, 360px);
    padding: 1.5rem 1.25rem;
  }

  html.capsule-one-ai-active {
    font-size: 16px;
  }

  .capsule-ai-page {
    min-height: 100dvh;
    padding: max(.35rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left));
    flex-direction: column;
    font-size: 16px;
    display: flex;
  }

  .capsule-ai-page__hud {
    flex-wrap: nowrap;
    align-items: center;
    gap: .35rem;
    min-height: 0;
    margin-bottom: .3rem;
    display: flex;
  }

  .capsule-ai-page__back {
    letter-spacing: .02em;
    white-space: nowrap;
    flex: none;
    padding: .18rem .4rem;
    font-size: 12px;
  }

  .capsule-ai-page__action {
    width: 1.85rem;
    height: 1.85rem;
  }

  .capsule-ai-page__title {
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
    text-transform: none;
    letter-spacing: .04em;
    flex: 1;
    min-width: 0;
    font-size: 12px;
    overflow: hidden;
  }

  .capsule-ai-page__badge {
    white-space: nowrap;
    flex: none;
    padding: .12rem .3rem;
    font-size: 10px;
  }

  .capsule-ai-page__panel {
    flex-direction: column;
    flex: 1;
    min-height: 0;
    display: flex;
  }

  .capsule-ai-interface {
    flex: 1;
    min-height: 0;
    height: auto !important;
    max-height: none !important;
  }

  .capsule-ai-interface .min-h-\[12rem\] {
    min-height: 3.5rem !important;
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
  }

  .capsule-ai-interface article[aria-label="AI 回复"] .leading-relaxed {
    font-size: 14px;
    line-height: 1.45;
  }

  .capsule-ai-interface article[aria-label="AI 回复"] .rounded-xl {
    padding: .45rem .6rem;
  }

  .capsule-ai-interface article[aria-label="AI 回复"] {
    gap: .35rem;
  }

  .capsule-ai-interface article[aria-label="AI 回复"] > span {
    width: 1.5rem;
    height: 1.5rem;
  }

  .capsule-ai-interface [aria-label="行程快捷操作"] > div {
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    overflow-x: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .capsule-scene__fallback-core, .capsule-hud-input__ring {
    animation: none;
  }
}

html.capsule-one-ai-active {
  font-size: 16px;
}

html.capsule-one-ai-active, html.capsule-one-ai-active body {
  background: var(--capsule-bg-gradient);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  height: auto;
  min-height: 100%;
  overflow: auto;
}

.capsule-ai-page {
  min-height: 100dvh;
  padding: max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
  background: var(--capsule-bg-gradient);
  color: var(--capsule-body-text, #e0e6ed);
  font-family: var(--capsule-font-body, "Exo 2", sans-serif);
  flex-direction: column;
  display: flex;
  position: relative;
}

.capsule-ai-page__stars {
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle at 50% 26%, #00ffff1f, transparent 50%), radial-gradient(circle at 20% 80%, #ffb80012, transparent 40%), radial-gradient(ellipse 92% 62% at 50% 38%, #32466638, transparent 72%), radial-gradient(1px 1px at 20% 30%, #ffffff59, transparent), radial-gradient(1px 1px at 70% 60%, #ffffff40, transparent), radial-gradient(1px 1px at 40% 80%, #fff3, transparent), var(--capsule-bg-gradient);
  position: fixed;
  inset: 0;
}

.capsule-ai-page__hud {
  z-index: 2;
  flex-wrap: nowrap;
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem;
  display: flex;
  position: relative;
}

.capsule-ai-page__back {
  border: 1px solid var(--capsule-border);
  font-family: var(--capsule-font-display, "Orbitron", sans-serif);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--capsule-tech-blue, #0ff);
  padding: .35rem .65rem;
  font-size: .68rem;
  text-decoration: none;
  transition: color .2s, border-color .2s;
}

.capsule-ai-page__back:hover {
  color: var(--capsule-body-text, #e0e6ed);
  border-color: var(--capsule-border-strong);
}

.capsule-ai-page__action {
  border: 1px solid var(--capsule-border);
  width: 2rem;
  height: 2rem;
  font-family: var(--capsule-font-display, "Orbitron", sans-serif);
  color: var(--capsule-tech-blue, #0ff);
  cursor: pointer;
  background: none;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 0;
  transition: color .2s, border-color .2s, background .2s;
  display: inline-flex;
}

.capsule-ai-page__action:hover, .capsule-ai-page__action[aria-expanded="true"] {
  color: var(--capsule-body-text, #e0e6ed);
  border-color: var(--capsule-border-strong);
  background: #00ffff0f;
}

.capsule-ai-page__title {
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  min-width: 0;
  font-family: var(--capsule-font-display, "Orbitron", sans-serif);
  letter-spacing: .08em;
  text-transform: none;
  color: var(--capsule-tech-blue, #0ff);
  text-shadow: 0 0 10px #00ffff40;
  flex: 1;
  font-size: .72rem;
  overflow: hidden;
}

.capsule-ai-page__status {
  z-index: 2;
  text-align: center;
  color: var(--capsule-text-muted);
  margin-bottom: .5rem;
  font-size: .78rem;
  position: relative;
}

.capsule-ai-page__status--warn {
  color: var(--capsule-warm-orange, #ffb800);
}

.capsule-ai-page__panel {
  z-index: 1;
  flex-direction: column;
  flex: 1;
  width: min(960px, 100%);
  min-height: 0;
  margin: 0 auto;
  display: flex;
  position: relative;
}

.capsule-ai-interface {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  flex: 1;
  min-height: 0;
  border: 1px solid var(--capsule-border) !important;
  background: var(--capsule-surface-elevated) !important;
  height: min(52rem, 100dvh - 3.5rem) !important;
  max-height: calc(100dvh - 3.5rem) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.capsule-ai-interface .border-slate-200, .capsule-ai-interface .border-slate-200\/80, .capsule-ai-interface .border-slate-200\/90 {
  border-color: var(--capsule-border) !important;
}

.capsule-ai-interface .bg-white, .capsule-ai-interface .bg-white\/60, .capsule-ai-interface .bg-slate-50, .capsule-ai-interface .bg-slate-100, .capsule-ai-interface .bg-slate-100\/90, .capsule-ai-interface .bg-slate-200\/70, .capsule-ai-interface .bg-violet-50\/60 {
  background: var(--capsule-surface) !important;
}

.capsule-ai-interface .text-slate-900, .capsule-ai-interface .text-slate-800, .capsule-ai-interface .text-slate-700 {
  color: var(--capsule-body-text, #e0e6ed) !important;
}

.capsule-ai-interface .text-slate-600, .capsule-ai-interface .text-slate-500, .capsule-ai-interface .text-slate-400 {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-interface .text-brand-600, .capsule-ai-interface .text-brand-700, .capsule-ai-interface .text-brand-800 {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface .shadow-sm, .capsule-ai-interface .shadow-md {
  box-shadow: none !important;
}

.capsule-ai-interface .rounded-2xl, .capsule-ai-interface .rounded-xl, .capsule-ai-interface .rounded-lg, .capsule-ai-interface .rounded-full, .capsule-ai-interface .rounded-md {
  border-radius: 0 !important;
}

.capsule-ai-interface textarea, .capsule-ai-interface input {
  scrollbar-width: none;
  color: var(--capsule-body-text, #e0e6ed) !important;
  background: none !important;
}

.capsule-ai-interface textarea::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.capsule-ai-interface input::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.capsule-ai-interface textarea::placeholder, .capsule-ai-interface input::placeholder {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-interface button[class*="bg-brand"], .capsule-ai-interface button[class*="from-brand"] {
  border: 1px solid var(--capsule-border-strong) !important;
  color: var(--capsule-tech-blue, #0ff) !important;
  background: #00ffff14 !important;
}

.capsule-ai-interface form, .capsule-ai-interface .border-t {
  border-color: var(--capsule-border) !important;
  box-shadow: none !important;
}

.capsule-ai-composer {
  border-color: var(--capsule-border) !important;
  background: #162032d1 !important;
  box-shadow: inset 0 1px #00ffff0f !important;
}

.capsule-ai-composer .text-slate-400, .capsule-ai-composer .text-slate-500 {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-composer textarea {
  border-color: var(--capsule-border) !important;
  color: var(--capsule-body-text, #e0e6ed) !important;
  background: #00ffff0a !important;
}

.capsule-ai-composer textarea::placeholder {
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-composer [aria-label="热门城市快捷规划"] button {
  border-color: var(--capsule-border) !important;
  color: var(--capsule-body-text, #e0e6ed) !important;
  background: #00ffff0d !important;
}

.capsule-ai-composer [aria-label="热门城市快捷规划"] button:hover {
  border-color: var(--capsule-border-strong) !important;
  color: var(--capsule-tech-blue, #0ff) !important;
  background: #00ffff1a !important;
}

.capsule-ai-composer [aria-label="热门城市快捷规划"] > div + div {
  border-color: var(--capsule-border) !important;
  background: #00ffff0a !important;
}

.capsule-ai-interface .bg-white\/95 {
  background: #080c14f5 !important;
}

.capsule-ai-interface .bg-white\/60.backdrop-blur-\[2px\] {
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #080c14e0 !important;
}

.capsule-ai-interface [aria-label="行程快捷操作"] {
  pointer-events: auto !important;
}

.capsule-ai-interface [aria-label="行程快捷操作"] > div {
  flex-wrap: nowrap;
  gap: .45rem;
}

.capsule-ai-interface [aria-label="行程快捷操作"] button {
  white-space: nowrap;
  flex-shrink: 0;
}

.capsule-ai-interface [aria-label="行程快捷操作"] button:not(:disabled) {
  border-color: var(--capsule-border-strong) !important;
  color: var(--capsule-body-text, #e0e6ed) !important;
  background: #00ffff14 !important;
}

.capsule-ai-interface [aria-label="行程快捷操作"] button:disabled {
  opacity: .38 !important;
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-interface .border-brand-200 {
  border-color: var(--capsule-border) !important;
}

.capsule-ai-interface .ai-chat-markdown {
  color: var(--capsule-body-text, #e0e6ed) !important;
}

.capsule-ai-interface .ai-chat-markdown strong {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface .ai-chat-markdown em {
  opacity: .92;
  font-style: normal;
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface .ai-chat-markdown h3, .capsule-ai-interface .ai-chat-markdown h4, .capsule-ai-interface .ai-chat-markdown h5, .capsule-ai-interface .ai-chat-markdown a {
  color: var(--capsule-tech-blue, #0ff) !important;
}

.capsule-ai-interface .ai-chat-markdown .marker\:text-brand-500::marker {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface .ai-chat-markdown .marker\:font-medium.marker\:text-brand-600::marker {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-overlay__status {
  text-shadow: 0 0 10px #0ff3;
}

.capsule-ai-page--enter {
  animation: .85s ease-out both capsule-ai-enter;
}

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

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

.capsule-ai-page__title-wrap {
  text-align: center;
  flex: 1;
}

.capsule-ai-page__signal {
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--capsule-text-muted);
  margin-top: .2rem;
  font-size: .58rem;
}

.capsule-ai-toolbar h2 {
  color: var(--capsule-tech-blue, #0ff) !important;
}

.capsule-ai-toolbar p {
  font-family: var(--capsule-font-body, "Exo 2", sans-serif);
  color: var(--capsule-text-muted) !important;
}

.capsule-ai-empty__glyph {
  color: var(--capsule-tech-blue, #0ff);
  text-shadow: 0 0 16px #00ffff59;
  font-size: 1.5rem;
  animation: 2.4s ease-in-out infinite capsule-breathe;
}

.capsule-voice-wave {
  align-items: flex-end;
  gap: .22rem;
  height: 1.5rem;
  margin-right: 0;
  display: flex;
  position: absolute;
  bottom: calc(100% + .35rem);
  left: 50%;
  transform: translateX(-50%);
}

.capsule-voice-wave__bar {
  background: var(--capsule-tech-blue, #0ff);
  width: .18rem;
  height: .45rem;
  animation: .9s ease-in-out infinite alternate capsule-voice-bar;
  display: block;
}

@keyframes capsule-voice-bar {
  from {
    opacity: .45;
    transform: scaleY(.35);
  }

  to {
    opacity: 1;
    transform: scaleY(1.35);
  }
}

.capsule-overlay__controls {
  flex-wrap: nowrap;
}

.capsule-overlay__lock {
  font-family: var(--capsule-font-serif, "Noto Serif SC", serif);
  letter-spacing: .14em;
  text-transform: none;
  color: var(--capsule-cinnabar, #b8504b);
  align-items: center;
  gap: .45rem;
  margin-bottom: .35rem;
  font-size: .68rem;
  font-weight: 400;
  display: inline-flex;
}

.capsule-overlay__lock-dot {
  background: var(--capsule-cinnabar, #b8504b);
  opacity: .75;
  border-radius: 999px;
  width: .42rem;
  height: .42rem;
  animation: none;
}

@keyframes capsule-lock-dot {
  0%, 100% {
    opacity: .55;
    transform: scale(.9);
  }

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

.capsule-overlay__status--preview {
  color: var(--capsule-body-text, #e0e6ed);
  letter-spacing: .03em;
  text-transform: none;
  font-size: .72rem;
  line-height: 1.45;
}

.capsule-action-btn--pulse {
  animation: 1.8s ease-in-out infinite capsule-keyboard-pulse;
}

@keyframes capsule-keyboard-pulse {
  0%, 100% {
    box-shadow: 0 0 #00ffff2e;
  }

  50% {
    box-shadow: 0 0 0 6px #0ff0;
  }
}

.capsule-city-label-html {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.capsule-city-label {
  border: 1px solid var(--capsule-border);
  font-family: var(--capsule-font-display, "Orbitron", sans-serif);
  letter-spacing: .06em;
  color: var(--capsule-body-text, #1e293b);
  white-space: nowrap;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #f5f2ebe0;
  border-radius: 999px;
  padding: .18rem .5rem;
  font-size: .58rem;
  transition: all .45s cubic-bezier(.25, .8, .25, 1);
  animation: 7s ease-in-out infinite alternate capsule-tag-float;
  display: inline-block;
}

.capsule-city-label--locked {
  border-color: var(--capsule-border-strong);
  color: var(--capsule-tech-blue, #00d1ff);
  transform: translateY(-2px);
  box-shadow: 0 10px 30px #00d1ff26;
}

.capsule-ai-interface #ai-travel-params-panel [class*="text-brand"] {
  color: var(--capsule-warm-orange, #ffb800) !important;
}

.capsule-ai-interface #ai-travel-params-panel h3 {
  color: var(--capsule-tech-blue, #0ff) !important;
}

.capsule-search-card .capsule-overlay__input.capsule-overlay__input--dock {
  z-index: auto;
  flex: auto;
  width: auto;
  min-width: 0;
  position: static;
  top: auto;
  left: auto;
  transform: none;
}

.capsule-search-card .capsule-hud-input.capsule-hud-input--dock.capsule-hud-input--embedded {
  box-shadow: none;
  background: none;
  border: none;
  border-radius: 0;
  align-items: center;
  min-height: 1.75em;
  padding: 0;
  display: flex;
}

.capsule-search-card .capsule-hud-input.capsule-hud-input--dock.capsule-hud-input--embedded:focus-within {
  box-shadow: none;
  background: none;
  border: none;
  transform: none;
}

.capsule-search-card .capsule-hud-input.capsule-hud-input--dock.capsule-hud-input--embedded .capsule-hud-input__ring {
  display: none;
}

.capsule-search-card .capsule-hud-input--dock .capsule-hud-input__field, .capsule-search-card .capsule-hud-input--embedded .capsule-hud-input__field {
  width: 100%;
  height: 1.75em;
  min-height: 1.75em;
  max-height: 1.75em;
  margin: 0;
  padding: 0;
  line-height: 1.65;
  display: block;
}

.paper-roam-brand-snail {
  opacity: .68;
  filter: drop-shadow(0 1px 2px #3a302614);
  flex-shrink: 0;
  animation: 7.2s ease-in-out infinite paper-roam-brand-snail-idle;
  display: inline-flex;
}

.paper-roam-brand-snail__figure {
  transform-origin: 16% 84%;
  animation: 5.4s ease-in-out infinite paper-roam-brand-snail-wiggle;
  display: block;
}

.paper-roam-brand-snail__antenna {
  transform-origin: 50% 90%;
  animation: 4.6s ease-in-out infinite paper-roam-brand-snail-antenna;
}

.paper-roam-brand-snail__antenna--right {
  animation-delay: -.8s;
}

@keyframes paper-roam-brand-snail-wiggle {
  0%, 100% {
    transform: scaleY(1) skewX(0);
  }

  50% {
    transform: scaleY(1.03) skewX(-2deg);
  }
}

@keyframes paper-roam-brand-snail-antenna {
  0%, 100% {
    transform: rotate(0);
  }

  50% {
    transform: rotate(4deg);
  }
}

@keyframes paper-roam-brand-snail-idle {
  0%, 100% {
    transform: translate(0);
  }

  50% {
    transform: translate(2px, .5px);
  }
}

@media (max-width: 768px) {
  .capsule-overlay__dock {
    bottom: calc(max(1.35rem, env(safe-area-inset-bottom) + 1rem));
  }

  .capsule-overlay__beian {
    font-size: .56rem;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .paper-roam-brand-snail, .paper-roam-brand-snail__figure, .paper-roam-brand-snail__antenna {
    animation: none !important;
  }
}

@keyframes ft-star-float {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 35px 35px;
  }
}

@keyframes ft-view-scale {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.025);
  }
}

@keyframes ft-btn-breathe {
  0%, 100% {
    box-shadow: 0 0 10px #00d1ff40;
  }

  50% {
    box-shadow: 0 0 20px #9d7dff59;
  }
}

@keyframes ft-tag-float {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(5px);
  }
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) {
  background-color: #f2f5f9 !important;
  background-image: radial-gradient(#00d1ff33 1px, #0000 1px), radial-gradient(#9d7dff1f 1px, #0000 1px) !important;
  background-size: 32px 32px, 48px 48px !important;
  animation: 18s ease-in-out infinite alternate ft-star-float !important;
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) section[class*="hero"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .hero, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .banner, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .home-map-trail-hero-stack, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) section.rounded-2xl.bg-gradient-to-br {
  transition: transform 1s;
  animation: 14s ease-in-out infinite alternate ft-view-scale;
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .home-guide-card, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .home-snail-trail-card, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) a.group.rounded-2xl.border, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) article.rounded-2xl.border, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .rounded-2xl.border-slate-200.bg-white, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .rounded-2xl.border-slate-200\/90.bg-white {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  text-shadow: none;
  background: #ffffffd9 !important;
  transition: all .45s cubic-bezier(.25, .8, .25, 1) !important;
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .home-guide-card:hover, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .home-snail-trail-card:hover, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) a.group.rounded-2xl.border:hover, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) article.rounded-2xl.border:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 30px #00d1ff26 !important;
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .home-guide-card:hover img, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) a.group.rounded-2xl.border:hover img {
  filter: brightness(1.07) saturate(1.03);
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) button[class*="bg-brand"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) button[class*="from-brand"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) button[class*="from-violet"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) button[class*="from-emerald"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) a[class*="button"][class*="bg-brand"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .action-btn {
  animation: 4.5s ease-in-out infinite ft-btn-breathe;
  color: #fff !important;
  background: linear-gradient(135deg, #00d1ffd1, #9d7dffd1) !important;
  border: none !important;
  transition: all .35s !important;
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content section:not(.sticky):not(.fixed):not(.ft-active):not(.home-map-trail-wall):not([aria-label="地图一键规划"]), body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content .ft-fade-block:not(.ft-active) {
  opacity: 0;
  transition: opacity .75s ease-out, transform .75s ease-out;
  transform: translateY(28px);
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content section.ft-active, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content .ft-fade-block.ft-active, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content section.home-map-trail-wall, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content section[aria-label="地图一键规划"] {
  opacity: 1;
  transform: translateY(0);
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) header.sticky.top-0, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) nav[aria-label="底部导航"] {
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  background: #ffffffe0 !important;
  border-color: #00d1ff1f !important;
  box-shadow: 0 2px 15px #00d1ff14 !important;
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .tag, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .label, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .badge, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .hot-tag, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) span.rounded-full[class*="bg-"] {
  animation: 7s ease-in-out infinite alternate ft-tag-float;
}

body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) :where(h1, h2, h3, h4, p, span, a, li, label):not(.hljs):not([class*="hljs"]) {
  text-shadow: none;
}

@media (max-width: 768px) {
  body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) {
    background-size: 25px 25px !important;
  }

  body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) section[class*="hero"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .hero, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .banner, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) .home-map-trail-hero-stack, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) section.rounded-2xl.bg-gradient-to-br {
    animation: none !important;
  }

  body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) button[class*="bg-brand"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) button[class*="from-brand"], body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) span.rounded-full[class*="bg-"] {
    animation-duration: 20s !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content section, body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) #main-content .ft-fade-block {
    opacity: 1 !important;
    transition: none !important;
    transform: none !important;
  }

  body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)), body:not(:has(.capsule-app-shell)):not(:has(.holo-app-shell)) * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.plan-result-scroll {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  backface-visibility: hidden;
  transform: translateZ(0);
}

@media (prefers-reduced-motion: reduce) {
  .home-plans-track, .home-orbit-ring, .home-orbit-ring-delayed, .home-orbit-dot-1, .home-orbit-dot-2, .home-orbit-dot-3, .home-tech-pulse, .home-map-trail-control:after, .home-map-trail-control__btn-primary {
    animation: none !important;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-content {
  syntax: "*";
  inherits: false;
  initial-value: "";
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

@keyframes bounce {
  0%, 100% {
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
    transform: translateY(-25%);
  }

  50% {
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
    transform: none;
  }
}
.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width: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;-moz-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;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top: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 rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.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:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.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 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.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.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.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 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.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.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.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 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.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 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.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 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.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' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%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.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.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 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.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 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.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 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.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' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%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 xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.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 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.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 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.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 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.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' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.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{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%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}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;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:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top: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 xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%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 (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 xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%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")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.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{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}[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{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.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;-moz-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{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@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%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.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{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}/* 站内品牌价值观短句（反馈 / 发布等附属位） */
.hr-brand-whisper {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--color-sand, #d9c8b4) 40%, var(--theme-line, #e5e2d8));
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-bg-soft, #f3f0e8) 70%, var(--bg-card, #fffef8));
}

.hr-brand-whisper__line {
  margin: 0;
  color: var(--theme-muted, #6b736c);
  font-size: 13px;
  line-height: 1.7;
}

.hr-brand-whisper__values {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.hr-brand-whisper__values li {
  color: var(--text-body, #444440);
  font-size: 12px;
  line-height: 1.55;
}

.hr-brand-whisper__values strong {
  color: var(--color-main, #285948);
  font-weight: 600;
}
.holo-drive {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--holo-bg-gradient);
  color: var(--holo-text-dark);
  font-family: 'PingFang SC', Inter, system-ui, sans-serif;
}

.holo-drive--cabin {
  background:
    radial-gradient(
      120% 80% at 50% 0%,
      color-mix(in srgb, var(--theme-sky) 28%, transparent),
      transparent 55%
    ),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--theme-sky) 22%, var(--theme-bg)) 0%,
      var(--theme-bg) 42%,
      color-mix(in srgb, var(--theme-sand) 18%, var(--theme-bg)) 100%
    );
}

.holo-drive__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  background: rgba(234, 240, 243, 0.88);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--holo-border-light);
  z-index: 5;
}

.holo-drive__back {
  color: var(--holo-text-gray);
  font-size: 13px;
  text-decoration: none;
  white-space: nowrap;
}

.holo-drive__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--holo-text-dark);
  font-size: 14px;
}

.holo-drive__header-meta {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.holo-drive__city-inline {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.holo-drive__main {
  display: flex;
  flex: 1 1 auto;
  width: min(100%, 960px);
  min-height: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin: 0 auto;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
  text-align: center;
}

.holo-drive--cabin .holo-drive__main {
  width: min(100%, 1100px);
  gap: 8px;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
}

.holo-drive__intro {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.holo-drive__badge {
  margin: 0;
  color: var(--holo-cyan-dark);
  font-size: 11px;
  letter-spacing: 0.14em;
}

.holo-drive__city {
  margin: 0;
  font-size: clamp(26px, 7vw, 34px);
  font-weight: 500;
  line-height: 1.1;
}

.holo-drive__tag {
  margin: 0;
  color: var(--holo-text-gray);
  font-size: 12px;
}

.holo-drive__cabin {
  position: relative;
  flex: 1 1 auto;
  height: min(72dvh, 620px);
  min-height: min(72dvh, 620px);
  display: flex;
  flex-direction: column;
}

.holo-drive__street {
  position: relative;
  flex: 1 1 auto;
  height: min(56vh, 460px);
  min-height: min(56vh, 460px);
  overflow: hidden;
  border: 1px solid rgba(44, 52, 56, 0.12);
  border-radius: 18px;
  background: #1a2226;
  box-shadow:
    0 18px 40px rgba(32, 48, 56, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.holo-drive--cabin .holo-drive__street {
  height: 100%;
  min-height: 100%;
  border-radius: 20px;
}

.holo-drive__street--video {
  background: #0b1014;
}

.holo-drive__video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #0b1014;
}

.holo-drive__route-title {
  position: absolute;
  top: 10px;
  left: 50%;
  z-index: 5;
  transform: translateX(-50%);
  max-width: min(92%, 360px);
  padding: 5px 12px;
  border: 1px solid rgba(255, 210, 140, 0.28);
  border-radius: 999px;
  background: rgba(20, 28, 34, 0.62);
  color: rgba(255, 236, 200, 0.95);
  font-size: 11px;
  line-height: 1.25;
  text-align: center;
  backdrop-filter: blur(8px);
  pointer-events: none;
}

.holo-drive__mode-switch {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.holo-drive__mode-chip {
  padding: 7px 14px;
  border: 1px solid var(--holo-border-light);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--holo-text-gray);
  font-size: 12px;
  cursor: pointer;
}

.holo-drive__mode-chip.is-active {
  border-color: var(--holo-cyan-dark);
  background: rgba(182, 240, 255, 0.22);
  color: var(--holo-text-dark);
}

.holo-drive__mode-chip--accent {
  border-color: rgba(210, 160, 90, 0.45);
  color: #8a5a20;
  background: rgba(255, 236, 200, 0.55);
}

.holo-drive__street--mapillary .holo-drive__mapillary {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.holo-drive__street--mapillary .holo-drive__mapillary .mapillary-viewer {
  width: 100%;
  height: 100%;
}

.holo-drive__modal-mask {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(12, 18, 22, 0.45);
  backdrop-filter: blur(4px);
}

.holo-drive__modal {
  width: min(100%, 440px);
  max-height: min(88dvh, 720px);
  overflow: auto;
  padding: 16px 16px 14px;
  border: 1px solid var(--holo-border-light);
  border-radius: 16px;
  background: #f4f8fa;
  box-shadow: 0 18px 40px rgba(20, 32, 40, 0.22);
  text-align: left;
}

.holo-drive__modal h2 {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 560;
}

.holo-drive__modal-desc {
  margin: 0 0 12px;
  color: var(--holo-text-gray);
  font-size: 13px;
  line-height: 1.5;
}

.holo-drive__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
  font-size: 12px;
  color: var(--holo-text-gray);
}

.holo-drive__field input {
  padding: 9px 11px;
  border: 1px solid var(--holo-border-light);
  border-radius: 10px;
  background: #fff;
  color: var(--holo-text-dark);
  font-size: 13px;
}

.holo-drive__dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-bottom: 10px;
  padding: 18px 12px;
  border: 1px dashed rgba(80, 110, 120, 0.35);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--holo-text-gray);
  font-size: 13px;
  text-align: center;
  cursor: pointer;
}

.holo-drive__dropzone.is-active {
  border-color: var(--holo-cyan-dark);
  background: rgba(182, 240, 255, 0.16);
}

.holo-drive__dropzone small {
  font-size: 11px;
  opacity: 0.8;
}

.holo-drive__dropzone strong {
  margin-top: 4px;
  color: var(--holo-text-dark);
  font-size: 12px;
  word-break: break-all;
}

.holo-drive__contribute-preview {
  width: 100%;
  max-height: 180px;
  margin-bottom: 10px;
  border-radius: 10px;
  background: #111;
  object-fit: cover;
}

.holo-drive__modal-error {
  margin: 0 0 8px;
  color: #b42318;
  font-size: 12px;
}

.holo-drive__modal-success {
  margin: 0 0 8px;
  color: #027a48;
  font-size: 12px;
}

.holo-drive__modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}

.holo-drive__pano-stack {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

/* 双缓冲交叉淡入：前后两层叠化，不做整屏变黑 */
.holo-drive__street-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1);
  transform-origin: 50% 58%;
  transition: opacity 0.9s ease;
  will-change: opacity, transform;
}

.holo-drive__street-canvas.is-front {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}

.holo-drive__street-canvas.is-back {
  opacity: 0;
  z-index: 0;
  pointer-events: none;
}

.holo-drive__street-canvas.is-back.is-fading-in {
  opacity: 1;
  z-index: 2;
}

.holo-drive__street-canvas.is-front.is-fading-out {
  opacity: 0;
  z-index: 1;
}

.holo-drive__cabin-frame {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 4;
  background:
    radial-gradient(120% 90% at 50% 42%, transparent 46%, rgba(10, 16, 20, 0.28) 78%, rgba(8, 12, 16, 0.55) 100%),
    linear-gradient(180deg, rgba(8, 14, 18, 0.18) 0%, transparent 18%, transparent 62%, rgba(8, 12, 16, 0.45) 100%);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.28);
}

.holo-drive__street-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 16px;
  background: rgba(234, 240, 243, 0.88);
  color: var(--holo-text-gray);
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

.holo-drive__street-overlay strong {
  color: var(--holo-text-dark);
  font-size: 14px;
  font-weight: 500;
}

.holo-drive__street-overlay p {
  margin: 0;
}

.holo-drive__street-overlay--muted {
  background: color-mix(in srgb, var(--theme-bg) 94%, transparent);
}

.holo-drive__street-overlay--loading {
  gap: 10px;
  background: color-mix(in srgb, var(--theme-bg) 92%, transparent);
}

.holo-drive__loading-spinner {
  width: 28px;
  height: 28px;
  border: 2px solid color-mix(in srgb, var(--theme-secondary) 35%, transparent);
  border-top-color: var(--theme-accent);
  border-radius: 50%;
  animation: holo-drive-spin 0.9s linear infinite;
}

@keyframes holo-drive-spin {
  to {
    transform: rotate(360deg);
  }
}

/* —— HUD —— */
.holo-drive__hud {
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 12px 12px 10px;
}

.holo-drive__hud-glass {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 0;
  height: 18%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent);
  border-radius: 0 0 40% 40%;
  opacity: 0.55;
}

.holo-drive__hud-top {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.holo-drive__gauge {
  min-width: 72px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  background: rgba(16, 22, 26, 0.55);
  color: #f3f7f8;
  backdrop-filter: blur(10px);
  text-align: left;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.holo-drive__gauge-label {
  display: block;
  color: rgba(230, 240, 244, 0.72);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.holo-drive__gauge-value {
  display: block;
  margin-top: 2px;
  font-size: 22px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.holo-drive__gauge-sub {
  display: block;
  margin-top: 2px;
  color: rgba(230, 240, 244, 0.78);
  font-size: 11px;
}

.holo-drive__gauge--speed {
  min-width: 96px;
  text-align: right;
}

.holo-drive__speed-num {
  display: block;
  font-size: clamp(28px, 7vw, 36px);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.02em;
}

.holo-drive__speed-unit {
  display: block;
  margin-top: 2px;
  color: rgba(230, 240, 244, 0.72);
  font-size: 11px;
}

.holo-drive__dash {
  pointer-events: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px 18px 16px 16px;
  background:
    linear-gradient(180deg, rgba(28, 36, 42, 0.72), rgba(14, 18, 22, 0.86));
  backdrop-filter: blur(14px);
  box-shadow:
    0 -8px 28px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.holo-drive__dash-hint {
  color: rgba(230, 240, 244, 0.78);
  font-size: 11px;
  letter-spacing: 0.02em;
}

.holo-drive__dash-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.holo-drive__play {
  min-width: 84px;
  padding: 10px 16px;
  border: 1px solid rgba(182, 240, 255, 0.45);
  border-radius: 999px;
  background: rgba(182, 240, 255, 0.18);
  color: #f5fbfc;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}

.holo-drive__play:hover:not(:disabled) {
  background: rgba(182, 240, 255, 0.28);
}

.holo-drive__play:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.holo-drive__play.is-playing {
  border-color: rgba(255, 210, 160, 0.5);
  background: rgba(255, 180, 120, 0.22);
}

.holo-drive__speed-presets {
  display: flex;
  flex: 1 1 auto;
  justify-content: flex-end;
  gap: 6px;
}

.holo-drive__speed-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  min-width: 58px;
  padding: 6px 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(240, 246, 248, 0.88);
  font-size: 11px;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.holo-drive__speed-chip span {
  margin-top: 2px;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  opacity: 0.85;
}

.holo-drive__speed-chip.is-active {
  border-color: rgba(182, 240, 255, 0.55);
  background: rgba(182, 240, 255, 0.2);
  color: #fff;
}

.holo-drive__speed-chip:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.holo-drive__panel {
  padding: 14px 14px 12px;
  border: 1px solid var(--holo-border-light);
  border-radius: var(--holo-radius-md);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--holo-glow);
  text-align: left;
}

.holo-drive__panel h2 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}

.holo-drive__panel p {
  margin: 0;
  color: var(--holo-text-gray);
  font-size: 13px;
  line-height: 1.5;
}

.holo-drive__provider {
  margin-top: 8px !important;
  color: var(--holo-text-light) !important;
  font-size: 11px !important;
  text-align: center;
}

.holo-drive__alt-cities {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.holo-drive--cabin .holo-drive__alt-cities {
  gap: 6px;
}

.holo-drive__alt-chip {
  padding: 7px 12px;
  border: 1px solid var(--holo-border-light);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--holo-cyan-dark);
  font-size: 12px;
  text-decoration: none;
}

.holo-drive__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.holo-drive--mobile-preview .holo-drive__actions {
  grid-template-columns: 1fr;
}

.holo-drive--mobile-preview .holo-drive__actions .holo-drive__btn--primary {
  order: -1;
}

.holo-drive--cabin .holo-drive__actions {
  max-width: 420px;
  margin: 0 auto;
}

.holo-drive__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 999px;
  font-size: 13px;
  text-decoration: none;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.holo-drive__btn--primary {
  border: 1px solid var(--holo-cyan-dark);
  background: rgba(182, 240, 255, 0.18);
  color: var(--holo-text-dark);
}

.holo-drive__btn--ghost {
  border: 1px solid var(--holo-border-light);
  background: rgba(255, 255, 255, 0.88);
  color: var(--holo-text-gray);
}

@media (max-width: 768px) {
  .holo-drive__header {
    padding: 8px 10px;
  }

  .holo-drive__back {
    font-size: 12px;
  }

  .holo-drive__brand span {
    display: none;
  }

  .holo-drive__header-meta .holo-drive__badge {
    display: none;
  }

  .holo-drive__main {
    gap: 6px;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
  }

  .holo-drive--cabin .holo-drive__main {
    gap: 6px;
  }

  .holo-drive__cabin {
    height: min(78dvh, 640px);
    min-height: min(78dvh, 640px);
  }

  .holo-drive--cabin .holo-drive__street {
    height: 100%;
    min-height: 100%;
    border-radius: 14px;
    touch-action: pan-y;
  }

  .holo-drive__hud {
    padding: 8px 6px 6px;
  }

  .holo-drive__hud-glass {
    opacity: 0.35;
  }

  .holo-drive__gauge {
    min-width: 58px;
    padding: 6px 8px;
    border-radius: 12px;
  }

  .holo-drive__gauge-value {
    font-size: 16px;
  }

  .holo-drive__gauge-sub {
    display: none;
  }

  .holo-drive__speed-num {
    font-size: 26px;
  }

  .holo-drive__dash {
    padding: 8px 8px 9px;
    border-radius: 14px;
    gap: 6px;
  }

  .holo-drive__dash-hint {
    font-size: 10px;
  }

  .holo-drive__speed-presets {
    gap: 4px;
  }

  .holo-drive__speed-chip {
    min-width: 48px;
    padding: 5px 5px;
    font-size: 10px;
  }

  .holo-drive__play {
    min-width: 68px;
    padding: 8px 12px;
    font-size: 12px;
  }

  .holo-drive__mode-switch {
    gap: 6px;
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }

  .holo-drive__mode-chip {
    flex: 0 0 auto;
    padding: 6px 10px;
    font-size: 11px;
  }

  .holo-drive--cabin .holo-drive__alt-cities,
  .holo-drive--cabin .holo-drive__actions {
    display: none;
  }

  .holo-drive__intro {
    gap: 2px;
  }

  .holo-drive__city {
    font-size: clamp(24px, 7vw, 28px);
  }

  .holo-drive__panel {
    padding: 12px;
  }

  .holo-drive__panel h2 {
    font-size: 15px;
  }

  .holo-drive__panel p {
    font-size: 12px;
  }

  .holo-drive__btn {
    padding: 9px 10px;
    font-size: 12px;
  }

  .holo-drive--loading .holo-drive__mode-switch {
    opacity: 0.55;
    pointer-events: none;
  }
}

@media (min-width: 769px) {
  .holo-drive__main {
    min-height: calc(100dvh - 52px);
  }

  .holo-drive--cabin .holo-drive__cabin {
    height: calc(100dvh - 140px);
    min-height: calc(100dvh - 140px);
  }
}

/* 移动端轻量街景预览（不挂载完整驾驶舱） */
.holo-drive--mobile-preview .holo-drive__main {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  box-sizing: border-box;
}

.holo-drive__mobile-video {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  border: 1px solid var(--holo-border-light, var(--theme-line));
  border-radius: 14px;
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-surface, #fffef6) 92%, transparent);
}

.holo-drive__mobile-video-el {
  display: block;
  width: 100%;
  max-height: min(52vh, 420px);
  background: #111;
  object-fit: contain;
}

.holo-drive__mobile-hint {
  margin: 0;
  padding: 0 12px 12px;
  color: var(--theme-muted, var(--holo-text-gray));
  font-size: 12px;
  line-height: 1.5;
}
.mapillary-attribution-container {
    background-color: rgba(0, 0, 0, 0.5);
    font-size: 9px;
    font-weight: 300;
    position: absolute;
    bottom: 0;
    right: 0;
    height: 16px;
    line-height: initial;
    z-index: 10;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
        "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans",
        "Helvetica Neue", sans-serif;
}

.mapillary-attribution-image-container {
    display: inline-block;
    color: white;
    text-decoration: none;
    margin-left: 8px;
    vertical-align: middle;
    height: 100%;
}

.mapillary-attribution-image-container:hover,
.mapillary-attribution-image-container:active,
.mapillary-attribution-image-container:visited {
    color: white;
}

.mapillary-attribution-compact .mapillary-attribution-image-container {
    margin-left: 4px;
}

.mapillary-attribution-username {
    display: inline-block;
    vertical-align: middle;
    line-height: 16px;
}

.mapillary-attribution-date {
    display: inline-block;
    vertical-align: middle;
    color: white;
    line-height: 16px;
    margin-right: 8px;
    margin-left: 4px;
}

.mapillary-attribution-compact .mapillary-attribution-date {
    margin-right: 6px;
}

.mapillary-attribution-icon-container {
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
    height: 100%;
}

.mapillary-attribution-compact .mapillary-attribution-icon-container {
    margin-left: 6px;
}

.mapillary-attribution-image-container .mapillary-attribution-icon-container {
    margin-left: 2px;
    margin-right: 2px;
}

.mapillary-attribution-logo {
    margin-top: 3px;
    width: 44px;
    height: 10px;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MSIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDYxIDE0Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIzLjk5NDgzMDMgMi44MTQ1MjI4NUwyMy45OTQ4MzAzIDExLjMxMzg1MyAyMi4zNzA4NjM3IDExLjMxMzg1MyAyMi4zNzA4NjM3IDYuODkyMjM2MTQgMjAuNTQzOTAxMiAxMS4zMTM4NTMgMTkuNjYwMjcyNCAxMS4zMTM4NTMgMTcuODMzMzA5OSA2Ljg5MjIzNjE0IDE3LjgzMzMwOTkgMTEuMzEzODUzIDE2LjIwOTM0MzMgMTEuMzEzODUzIDE2LjIwOTM0MzMgMi44MTQ1MjI4NSAxNy44ODEwNzM3IDIuODE0NTIyODUgMjAuMTAyMDg2OCA4LjE2OTU5MjExIDIyLjMyMzEgMi44MTQ1MjI4NSAyMy45OTQ4MzAzIDIuODE0NTIyODUgMjMuOTk0ODMwMyAyLjgxNDUyMjg1ek0zMS4wODE5NTg0IDQuNjY5MTQ1NDZMMzIuNTAyOTI5MiA0LjY2OTE0NTQ2IDMyLjUwMjkyOTIgNS4yMjE4NDc1NkMzMi41OTg0NTcyIDUuMDI1MzMwMjggMzIuNzg5NTEwMSA0Ljg1NzQ3NDI4IDMzLjA3NjA5MzkgNC43MTgyNzQ1MyAzMy4zNjI2Nzc3IDQuNTc5MDc0NzkgMzMuNjc3MTE5MSA0LjUwOTQ3NTk2IDM0LjAxOTQyNzUgNC41MDk0NzU5NiAzNC4zNDU4MTQ1IDQuNTA5NDc1OTYgMzQuNjUyMjk1NCA0LjU4NTIxNTg2IDM0LjkzODg3OTEgNC43MzY2OTc5NCAzNS4yMjU0NjI5IDQuODg4MTgwMDEgMzUuNDc0MjI5OCA1LjExMTMwNTY3IDM1LjY4NTE4NzMgNS40MDYwODE2IDM1Ljg5NjE0NDggNS43MDA4NTc1MiAzNi4wNjMzMTYyIDYuMDY1MjI3ODYgMzYuMTg2NzA2NCA2LjQ5OTIwMzUzIDM2LjMxMDA5NjYgNi45MzMxNzkyIDM2LjM3MTc5MDggNy40Mjg1NTkxIDM2LjM3MTc5MDggNy45ODUzNTgwNyAzNi4zNzE3OTA4IDguNTU4NTMzNDkgMzYuMzEyMDg2OCA5LjA2MjEwMTQ4IDM2LjE5MjY3NjkgOS40OTYwNzcxNSAzNi4wNzMyNjcgOS45MzAwNTI4MiAzNS45MTAwNzU5IDEwLjI5NDQyMzIgMzUuNzAzMDk4NyAxMC41ODkxOTkxIDM1LjQ5NjEyMTUgMTAuODgzOTc1IDM1LjI1MTMzNDkgMTEuMTA1MDUzNiAzNC45Njg3MzE1IDExLjI1MjQ0MTYgMzQuNjg2MTI4IDExLjM5OTgyOTYgMzQuMzc3NjU3MSAxMS40NzM1MjI1IDM0LjA0MzMwOTMgMTEuNDczNTIyNSAzMy42ODUwNzk2IDExLjQ3MzUyMjUgMzMuMzk2NTEgMTEuNDE2MjA1OCAzMy4xNzc1OTE4IDExLjMwMTU3MDcgMzIuOTU4NjczNyAxMS4xODY5MzU2IDMyLjgwMTQ1MyAxMS4wNDM2NDM5IDMyLjcwNTkyNTEgMTAuODcxNjkxM0wzMi43MDU5MjUxIDEzLjUyMDU0MjMgMzEuMDgxOTU4NCAxMy44Nzg3ODc2IDMxLjA4MTk1ODQgNC42NjkxNDU0NiAzMS4wODE5NTg0IDQuNjY5MTQ1NDZ6TTMzLjYzNzMxNzcgOS44ODkxMDk3NkMzNC40MjU0MjMgOS44ODkxMDk3NiAzNC44MTk0Njk4IDkuMjU4NjI2MjYgMzQuODE5NDY5OCA3Ljk5NzY0MDM0IDM0LjgxOTQ2OTggNy4zODM1MjM4MiAzNC43MjE5NTMyIDYuOTE2ODAyMjcgMzQuNTI2OTE3IDYuNTk3NDYxNjggMzQuMzMxODgwOCA2LjI3ODEyMTA5IDM0LjA1MTI3MTggNi4xMTg0NTMxOSAzMy42ODUwODE0IDYuMTE4NDUzMTkgMzMuNDE0NDE4OSA2LjExODQ1MzE5IDMzLjE4OTUzMzYgNi4yMTQ2NjMzNCAzMy4wMTA0MTg4IDYuNDA3MDg2NTEgMzIuODMxMzAzOSA2LjU5OTUwOTY5IDMyLjY5Mzk4NDYgNi44MjY3MjkzOSAzMi41OTg0NTY3IDcuMDg4NzUyNDRMMzIuNTk4NDU2NyA4Ljk4MDIyMTg2QzMyLjcwOTkwNTkgOS4yODMxODYgMzIuODU5MTY2MSA5LjUxMDQwNTcxIDMzLjA0NjI0MTYgOS42NjE4ODc3OCAzMy4yMzMzMTcxIDkuODEzMzY5ODYgMzMuNDMwMzQwNSA5Ljg4OTEwOTc2IDMzLjYzNzMxNzcgOS44ODkxMDk3NkwzMy42MzczMTc3IDkuODg5MTA5NzYgMzMuNjM3MzE3NyA5Ljg4OTEwOTc2ek0zOC43MTIyMTMzIDQuNjY5MTQ1NDZMMzguNzEyMjEzMyAxMS4zMTM4NTMgMzcuMDc2MzA1OCAxMS4zMTM4NTMgMzcuMDc2MzA1OCA0LjY2OTE0NTQ2IDM4LjcxMjIxMzMgNC42NjkxNDU0NiAzOC43MTIyMTMzIDQuNjY5MTQ1NDZ6TTM3LjA3NjMwNTggMy4xOTUyNzMxOUMzNy4wNzYzMDU4IDIuOTU3ODE0OCAzNy4xNTE5MzA5IDIuNzUzMTEyMzYgMzcuMzAzMTgzNSAyLjU4MTE1OTc0IDM3LjQ1NDQzNiAyLjQwOTIwNzExIDM3LjY0OTQ2OTMgMi4zMjMyMzIwOSAzNy44ODgyODkxIDIuMzIzMjMyMDkgMzguMTExMTg3NiAyLjMyMzIzMjA5IDM4LjMwNDIzMDcgMi40MDkyMDcxMSAzOC40Njc0MjQyIDIuNTgxMTU5NzQgMzguNjMwNjE3OCAyLjc1MzExMjM2IDM4LjcxMjIxMzMgMi45NTc4MTQ4IDM4LjcxMjIxMzMgMy4xOTUyNzMxOSAzOC43MTIyMTMzIDMuNDI0NTQzMzUgMzguNjMwNjE3OCAzLjYxOTAxMDY3IDM4LjQ2NzQyNDIgMy43Nzg2ODA5NiAzOC4zMDQyMzA3IDMuOTM4MzUxMjYgMzguMTExMTg3NiA0LjAxODE4NTIxIDM3Ljg4ODI4OTEgNC4wMTgxODUyMSAzNy42NDk0NjkzIDQuMDE4MTg1MjEgMzcuNDU0NDM2IDMuOTM4MzUxMjYgMzcuMzAzMTgzNSAzLjc3ODY4MDk2IDM3LjE1MTkzMDkgMy42MTkwMTA2NyAzNy4wNzYzMDU4IDMuNDI0NTQzMzUgMzcuMDc2MzA1OCAzLjE5NTI3MzE5TDM3LjA3NjMwNTggMy4xOTUyNzMxOSAzNy4wNzYzMDU4IDMuMTk1MjczMTl6TTM5LjU2MDAxOTQgMi45MjUwNjMyN0w0MS4xODM5ODYgMi4zNjAwNzg5IDQxLjE4Mzk4NiAxMS4zMTM4NTMgMzkuNTYwMDE5NCAxMS4zMTM4NTMgMzkuNTYwMDE5NCAyLjkyNTA2MzI3IDM5LjU2MDAxOTQgMi45MjUwNjMyN3pNNDIuMDMxNzkyMSAyLjkyNTA2MzI3TDQzLjY1NTc1ODcgMi4zNjAwNzg5IDQzLjY1NTc1ODcgMTEuMzEzODUzIDQyLjAzMTc5MjEgMTEuMzEzODUzIDQyLjAzMTc5MjEgMi45MjUwNjMyNyA0Mi4wMzE3OTIxIDIuOTI1MDYzMjd6TTUyLjQ2Nzg0OTEgNC42NjkxNDU0Nkw1Mi40Njc4NDkxIDUuMTIzNTg5NDFDNTIuNTc5Mjk4MyA0LjkzNTI2MDM0IDUyLjc2MjM5MDggNC43ODU4Mjc1NyA1My4wMTcxMzE5IDQuNjc1Mjg2NTkgNTMuMjcxODczMSA0LjU2NDc0NTYyIDUzLjUzODU1MTIgNC41MDk0NzU5NiA1My44MTcxNzQzIDQuNTA5NDc1OTYgNTQuMDAwMjY5NSA0LjUwOTQ3NTk2IDU0LjE3NzM5MTUgNC41MzgxMzQzIDU0LjM0ODU0NTcgNC41OTU0NTE4NSA1NC41MTk2OTk5IDQuNjUyNzY5MzkgNTQuNjUzMDM5IDQuNzQ2OTMyNTEgNTQuNzQ4NTY2OSA0Ljg3Nzk0NDAzTDU0LjE2MzQ2MTMgNi4zNjQwOTg1N0M1My45NjQ0NDQ4IDYuMTgzOTU3NzMgNTMuNzQ1NTI5OSA2LjA5Mzg4ODY2IDUzLjUwNjcxMDEgNi4wOTM4ODg2NiA1My4zMDc2OTM2IDYuMDkzODg4NjYgNTMuMTI2NTkxMyA2LjE2OTYyODU2IDUyLjk2MzM5NzcgNi4zMjExMTA2MyA1Mi44MDAyMDQyIDYuNDcyNTkyNzEgNTIuNjY2ODY1MSA2LjcwODAwMDUxIDUyLjU2MzM3NjUgNy4wMjczNDExTDUyLjU2MzM3NjUgMTEuMzEzODUzIDUwLjkzOTQwOTkgMTEuMzEzODUzIDUwLjkzOTQwOTkgNC42NjkxNDU0NiA1Mi40Njc4NDkxIDQuNjY5MTQ1NDYgNTIuNDY3ODQ5MSA0LjY2OTE0NTQ2ek00OC40NjE2MDg4IDEwLjgyOTMxOTJDNDguMDI4ODg4MiAxMS4yMTU4NzI0IDQ3LjUyNDc0MDUgMTEuNDg0MTExIDQ2Ljk4NjY2NzQgMTEuNDg0MTExIDQ1LjEyMzA5NDEgMTEuNDg0MTExIDQ0LjM0MTk0NzMgOS45MjgwNTIxIDQ0LjM0MTk0NzMgOC4wMDg1NTYxNiA0NC4zNDE5NDczIDYuMDg5MDYwMjMgNDUuMTIzMDk0MSA0LjUzMzAwMTMzIDQ2Ljk4NjY2NzQgNC41MzMwMDEzMyA0Ny41NjU5MDA3IDQuNTMzMDAxMzMgNDguMDU4MTgzNSA0Ljc4MzA1OTI5IDQ4LjQ2MTYwODggNS4xNTg1MTc4Mkw0OC40NjE2MDg4IDQuNjIzMDg3MTcgNTAuMTE2NTEzOSA0LjYyMzA4NzE3IDUwLjExNjUxMzkgMTEuMzk0MDI1MiA0OC40NjE2MDg4IDExLjM5NDAyNTIgNDguNDYxNjA4OCAxMC44MjkzMTkyIDQ4LjQ2MTYwODggMTAuODI5MzE5MnpNNDguNDYxNjA4OCA5LjE1MTIyMDIxQzQ4LjI1NDM5MjQgOS42MTI3NDY0MyA0Ny44ODgwNjAxIDkuOTAwOTc4NTIgNDcuMzU4NTk4MyA5LjkxMDM5ODE0IDQ2LjM1NzM2OTUgOS45MjgyMTA5MyA0NS45NzMyNTE2IDkuMDgwNTg1NDcgNDUuOTU1MjA2MSA4LjAyNjg3Nzc4IDQ1LjkzNzE2MDcgNi45NzMxNzAwOSA0Ni4yOTIwMjEyIDYuMTEyMzk3NzMgNDcuMjkzMjUgNi4wOTQ1ODUwNiA0Ny44MDk0MTU2IDYuMDg1NDAyMDUgNDguMjI3OTIyMiA2LjQyMTYyMDk0IDQ4LjQ2MTYwODggNi45NjI1MjM2TDQ4LjQ2MTYwODggOS4xNTEyMjAyMSA0OC40NjE2MDg4IDkuMTUxMjIwMjF6TTI4Ljc4NjM2ODkgMTAuODI5MzE5MkMyOC4zNTM2NDg0IDExLjIxNTg3MjQgMjcuODQ5NTAwNyAxMS40ODQxMTEgMjcuMzExNDI3NiAxMS40ODQxMTEgMjUuNDQ3ODU0MiAxMS40ODQxMTEgMjQuNjY2NzA3NSA5LjkyODA1MjEgMjQuNjY2NzA3NSA4LjAwODU1NjE2IDI0LjY2NjcwNzUgNi4wODkwNjAyMyAyNS40NDc4NTQyIDQuNTMzMDAxMzMgMjcuMzExNDI3NiA0LjUzMzAwMTMzIDI3Ljg5MDY2MDkgNC41MzMwMDEzMyAyOC4zODI5NDM2IDQuNzgzMDU5MjkgMjguNzg2MzY4OSA1LjE1ODUxNzgyTDI4Ljc4NjM2ODkgNC42MjMwODcxNyAzMC40NDEyNzQgNC42MjMwODcxNyAzMC40NDEyNzQgMTEuMzk0MDI1MiAyOC43ODYzNjg5IDExLjM5NDAyNTIgMjguNzg2MzY4OSAxMC44MjkzMTkyIDI4Ljc4NjM2ODkgMTAuODI5MzE5MiAyOC43ODYzNjg5IDEwLjgyOTMxOTJ6TTI4Ljc4NjM2ODkgOS4xNTEyMjAyMUMyOC41NzkxNTI2IDkuNjEyNzQ2NDMgMjguMjEyODIwMiA5LjkwMDk3ODUyIDI3LjY4MzM1ODQgOS45MTAzOTgxNCAyNi42ODIxMjk2IDkuOTI4MjEwOTMgMjYuMjk4MDExNyA5LjA4MDU4NTQ3IDI2LjI3OTk2NjMgOC4wMjY4Nzc3OCAyNi4yNjE5MjA4IDYuOTczMTcwMDkgMjYuNjE2NzgxMyA2LjExMjM5NzczIDI3LjYxODAxMDEgNi4wOTQ1ODUwNiAyOC4xMzQxNzU3IDYuMDg1NDAyMDUgMjguNTUyNjgyNCA2LjQyMTYyMDk0IDI4Ljc4NjM2ODkgNi45NjI1MjM2TDI4Ljc4NjM2ODkgOS4xNTEyMjAyMSAyOC43ODYzNjg5IDkuMTUxMjIwMjEgMjguNzg2MzY4OSA5LjE1MTIyMDIxek01Ny43NDU1ODIzIDEzLjY3MjA0ODZMNTYuMDQ5OTcwMSAxMy42NzIwNDg2IDU3LjA2NDk0OTIgMTAuNzM2NTg2MyA1NC45Mzk0NjM1IDQuNjY5MTQ1NDYgNTYuNzMwNjAzMSA0LjY2OTE0NTQ2IDU3LjkzNjYzNzIgOC41MjU3Nzc5MSA1OS4xNDI2NzEyIDQuNjY5MTQ1NDYgNjAuODk3OTg4IDQuNjY5MTQ1NDYgNTcuNzQ1NTgyMyAxMy42NzIwNDg2IDU3Ljc0NTU4MjMgMTMuNjcyMDQ4NnpNNi4zODE1NDI3NCA5LjY1MDUwNjdDNi4xNDAwNzQxMiA5LjUyNzg2NDA0IDYuMDgxMjQwMDYgOS4zMTcwOTQ1MyA2LjIxMDQ0MDM3IDkuMDg4NjU1NjUgNi4yNzYxNDk0MSA4Ljk3MjQ3NTYxIDYuNDE4NTkyMzQgOC43NDA3NDQyMiA2LjUzNDY4MTY4IDguNTUzOTgyMiA2LjY5NDMyNzI0IDguMjk3MTQ3ODYgNi45MjcwMTQzNCA4LjI5NjM3NTg4IDcuMDU4MzU4NjYgOC4zNzI1MzM2MiA3LjE4OTcwMjk4IDguNDQ4NjkxMzUgOS4wNDg1MzYwNCA5LjQyMDg3MDYzIDkuMTY4NzQ4NzEgOS40ODY3MDY1NiA5LjQ1MjU5MjYgOS42NDIxNTcxMSA5Ljg3MTE4NjI5IDkuMjg2MjM3NDEgOS42ODM0MjI1MSA4Ljk3NDQxMzI2IDkuNTkzNzUzMzIgOC44MjU0OTczMSA4LjgxMDM5MzggNy40MDQ0NzgzIDguNTYxNDk3OCA2LjkzNjEwNDM4IDguNDQ4MjUxNTYgNi43MjI5OTY5NiA4LjQ3OTIxMDA1IDYuNTMxMzIyNTEgOC43MzE2NDcgNi40MDM3NzQ2MyA4Ljg1NjU2NDM2IDYuMzQwNjU4MSA5LjA4MDA0MjM5IDYuMjA4OTA3OTggOS4yNzM5NDc2MiA2LjA5MTkwNTg2IDkuNDcxODkyMTkgNS45NzI0NjY0IDkuNzM1MzQ4OCA2LjA2MjIzODg1IDkuODQyNDU1NTUgNi4yNDAyMjYyMSA5Ljk0OTU2MjI5IDYuNDE4MjEzNTcgMTMuMTIwOTE4MiAxMi4yMjk0MDE5IDEzLjIyMjE1MTcgMTIuNDA5ODE2OSAxMy40MjMxMjk0IDEyLjc2Nzk5MjggMTMuMDMyMjg1MyAxMy4xNTExMTM3IDEyLjY2Mjk0OSAxMi45NTMwOTQgMTIuNDc4MTQzNiAxMi44NTQwMTA1IDYuNjIzMDExMzYgOS43NzMxNDkzNiA2LjM4MTU0Mjc0IDkuNjUwNTA2N3pNLjIwMDE0NjA2MiA2LjQwMDgxMjA1Qy0uMTExNTU0MjgyIDYuMjMyNzQxMDYtLjA1NDU0NDIzMjggNS43OTYwNDA1Mi4zMzg3ODI2NDggNS42ODQ2NjAzNi42NzIwMzAwODMgNS41OTAyOTMxNyAzLjM3ODIwNjQ3IDQuNjg4MjYzNCA0LjE5NzE1MTE1IDQuNDE0OTAwNyA0LjM0NDc5NDQzIDQuMzY1NjE3NTcgNC40NjAwNTgwOSA0LjI1MjI4MjMyIDQuNTA5NjU3NTcgNC4xMDc1ODY3IDQuNzg4NTg4NTMgMy4yOTM4NjY3MSA1LjcyMDI0NTU2LjU3NTk2MTMzNCA1LjgyNDY4OTExLjI3MTI2OTc5IDUuOTQ3NzA0OC0uMDg3NjAxOTc5IDYuMzkzMDQwNzctLjA4ODkxODQ4NjcgNi41NzQ1NDY3MS4yNTg1MDIyNTEgNi42MzkwMTU2Ni4zODE5MDIzNDYgOS4wODk0MDQ4NCA0Ljc5ODEzNTQzIDkuMTc0NjU5NDYgNC45ODU0NzA1MSA5LjI1OTkxNDA4IDUuMTcyODA1NTkgOS4yMDQ5ODczMSA1LjM4MDMxNDM0IDkuMDExNzY0MDYgNS41MDAwMDUxNSA4LjgxODU0MDggNS42MTk2OTU5NiA4LjUwMzQzNTIyIDUuNzk4NzIwNjUgOC4zOTM2NTA3IDUuODY2NTQzMjMgOC4xOTQ4OTQ2MyA1Ljk4OTMzMDU3IDguMDA0MzkxMzUgNS45MDM4NDMyNCA3LjkxMzY1NTAxIDUuNzEzNjQ4MTYgNy44MjI5MTg2NiA1LjUyMzQ1MzA3IDcuMTIzODc4MjggNC4yOTYyNjg4NiA2LjgzODgyOTUyIDMuNzc1Mjc3OTUgNi42OTYzNDk0MSAzLjUxNDg2MzQxIDYuMjY3MTEzMiAzLjQxNDkyNzk2IDYuMTIyODM3MjEgMy44MzU4MjE1OSA2LjAxODQ4NDg4IDQuMTQwMjQ2NjkgNS43NzUyNjI2NCA0Ljg0OTc5NDM5IDUuNjQ4NjQ1NTcgNS4yMTkxNzIgNS42MDAyMDM3NSA1LjM2MDQ5MDQgNS40Nzc0MTk0NCA1LjQ4MjEyNTU0IDUuMzMzOTgxMjQgNS41MjkzNzAwMSA0Ljk3ODAxNjMgNS42NDY2MTQ3OCA0LjMwMTYyOTQ0IDUuODY5Mzk3NDQgMy45MDY3MjM3NSA1Ljk5OTQ2ODE4IDMuNjI0OTE0NjkgNi4wOTIyODgxIDMuNDg3OTM1MjMgNi41MjE1MDI1NyAzLjg2ODQxNzc2IDYuNzAyMjQ2NzQgMy45NDc4OTUyNSA2Ljc0MDAwMTY3IDUuNjYwOTcxNTMgNy42NTQwNDM5MSA1LjgzNzcyMDU0IDcuNzM3NjQ1NTggNi4wMTQ0Njk1NCA3LjgyMTI0NzI0IDYuMTEyNzUyODEgOC4wNjI1Nzk0NSA2LjAwOTI1MzE2IDguMjMzNTUwMDQgNS44NjgwODA0IDguNDY2NzUyNjggNS42ODczNDc5NiA4Ljc2MjcyMDUyIDUuNjIxNzg2MiA4Ljg1ODgwODE1IDUuNTA4MTU4MzggOS4wMjUzNDE2MyA1LjI4NDk1MDc3IDkuMDgwODAyODYgNS4wOTc0ODk5NiA4Ljk4MjUxMDc2IDQuOTEwMDI5MTUgOC44ODQyMTg2Ni4zMTE1MjIyODkgNi40NjA4NjY4OS4yMDAxNDYwNjIgNi40MDA4MTIwNXoiLz48L2c+ICA8L3N2Zz4gIA==");
}

.mapillary-attribution-compact .mapillary-attribution-logo {
    width: 11px;
    background-size: cover;
}
.mapillary-bearing-indicator-container {
    bottom: 34px;
    height: 40px;
    pointer-events: none;
    position: absolute;
    right: 10px;
    width: 40px;
    z-index: 10;
}

.mapillary-bearing-indicator-container.mapillary-bearing-compact {
    -webkit-transform: scale(0.6);
            transform: scale(0.6);
    bottom: 16px;
    right: 2px;
}

.mapillary-bearing-indicator-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    opacity: 0.5;
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
}

.mapillary-bearing-indicator-background-circle {
    pointer-events: auto;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #000;
}

.mapillary-bearing-indicator-background-arrow-container {
    position: absolute;
    left: 14px;
    top: -3.5px;
    height: 8px;
    width: 12px;
    overflow: hidden;
}

.mapillary-bearing-indicator-background-arrow {
    position: absolute;
    width: 12px;
    height: 12px;
    left: 0;
    top: 2px;
    background-color: #000;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    border-radius: 2px;
}

.mapillary-bearing-north-container {
    position: absolute;
    left: 16px;
    top: -1px;
    width: 8px;
    height: 21px;
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
}

.mapillary-bearing-north {
    position: absolute;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 4px solid white;
}
.mapillary-cover-container {
    background-color: rgba(0, 0, 0, 0.5);
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
}

.mapillary-cover-background {
    background-position: center;
    background-size: cover;
    bottom: 0;
    left: 0;
    margin: -3px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
}

.mapillary-cover-indicator {
    bottom: 0;
    left: 0;
    margin: -3px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.2);
    -webkit-transition: opacity 0.1s ease-in-out;
    transition: opacity 0.1s ease-in-out;
    cursor: pointer;
}

.mapillary-cover-indicator:hover {
    opacity: 0;
}

.mapillary-cover-button {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 64px;
    width: 128px;
    height: 128px;
    left: 50%;
    top: 50%;
    letter-spacing: 1px;
    margin-left: -64px;
    margin-top: -64px;
    position: absolute;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
    z-index: 1;
    pointer-events: none;
}

.mapillary-cover-compact .mapillary-cover-button {
    width: 72px;
    height: 72px;
    margin-left: -36px;
    margin-top: -36px;
}

.mapillary-cover-button-icon {
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik01Ny43NDc4MjExLDU2LjkzMTc4NDUgTDQwLjkxNDUzODEsNjQuNjM0MjkyIEMzOC40NjQ1MzU5LDY1Ljc1NDY0MzIgMzQuNzg1NzMyMiw2NS43NTMzNDM1IDMyLjc2MzkxMDMsNjQuNjMyOTkyMyBDMzAuNzczNzU4Niw2My41Mjk1MzczIDMxLjE4ODAwNCw2MS43Nzg4MjYxIDMzLjYyNTMzODIsNjAuNzE5NTYxMyBMNjAuMjgzOTk3MSw0OS4xNTIxMzAyIEM2Mi4yODU1NTAxLDQ4LjI4MjYyMzMgNjUuNTAwNzAzLDQ4LjI4MjYyMzMgNjcuNTE2MTkwOCw0OS4xNTIxMzAyIEw5NC4zNDIwNjgyLDYwLjcyNjA1OTkgQzk2Ljc5NDYwNCw2MS43ODQwMjUgOTcuMjM0MTg1Niw2My41MzYwMzU5IDk1LjI2MDUwMjMsNjQuNjM5NDkwOCBDOTMuMjU1MTQ4OSw2NS43NTk4NDIgODkuNTczODExNSw2NS43NTk4NDIgODcuMTA4NjA3Nyw2NC42MzgxOTExIEw3MC42MjEzMjk1LDU3LjE0MDMxMjIgTDcxLjc5NzkzNTgsNzcuMzkyODQ3MiBDNzEuODk1MjAzMSw3OS4wODYzOTEyIDY4LjU0MjcyMzIsODAuNSA2NC4zNDU5NjMsODAuNSBDNjAuMTQ5MjAyOSw4MC41IDU2Ljc3NzI2OTUsNzkuMDg2MzkxMiA1Ni44NTExOTI2LDc3LjM5Mjg0NzIgTDU3Ljc0NzgyMTEsNTYuOTMxNzg0NSBaIi8+PC9nPiAgPC9zdmc+ICA=");
    height: 100%;
    width: 100%;
    position: absolute;
    pointer-events: none;
}

.mapillary-cover-compact .mapillary-cover-button-icon {
    width: 72px;
    height: 72px;
}

.mapillary-cover-logo {
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNTciIGhlaWdodD0iNTIiIHZpZXdCb3g9IjAgMCAxNTcgNTIiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICA8cGF0aCBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9Ii41IiBkPSJNODMuMjMwNCAxOS4wNjg2TDgzLjIzMDQgMjAuMjk1NkM4Mi44NDQ0IDE5LjkxNDYgODIuNDIzNCAxOS41ODI2IDgxLjk2MTQgMTkuMzQwNiA4MS4xMTI0IDE4Ljg5NTYgODAuMTkyNCAxOC42NzE2IDc5LjIyODQgMTguNjcxNiA3OC41MzQ0IDE4LjY3MTYgNzcuODY4NCAxOC43NzM2IDc3LjIzNjQgMTguOTgwNkw3NC4yMDI0IDE4Ljk4MDYgNjcuNDg3NCAxOC45Nzg2QzY3LjAyNzQgMTguODYzNiA2Ni41NDk0IDE4LjgwMzYgNjYuMDU2NCAxOC44MDM2IDY0LjIwMzQgMTguODAzNiA2Mi42OTU0IDE5LjM4MjYgNjEuNTQ0NCAyMC4zOTA2TDYxLjU0NDQgMTUuNDU3NiA1NC45MzA0IDE1LjQ1NzYgNTEuOTAwNCAyMi43MDE2IDQ4Ljg3MDQgMTUuNDU3NiA0Mi4yNTY0IDE1LjQ1NzYgNDIuMjU2NCAzNi4wMDY2IDYxLjU0NDQgMzYuMDA2NiA2MS41NDQ0IDM0Ljc1MTZDNjIuNjk1NCAzNS43NTg2IDY0LjIwMzQgMzYuMzM4NiA2Ni4wNTY0IDM2LjMzODYgNjYuNTIwNCAzNi4zMzg2IDY2Ljk3NDQgMzYuMjc3NiA2Ny40MTc0IDM2LjE2MjZMNzEuNDYwNCAzNi4xNjI2IDcxLjQ2MDQgNDEuNDg1NiA3OC42NDk0IDM5LjkxMzYgNzguNjQ5NCAzNi4yOTM2Qzc4Ljg1MjQgMzYuMzA5NiA3OS4wNjA0IDM2LjMxNzYgNzkuMjc1NCAzNi4zMTc2IDgwLjI0NzQgMzYuMzE3NiA4MS4xNjg0IDM2LjA5OTYgODIuMDEwNCAzNS42NjM2IDgyLjQ1MzQgMzUuNDM0NiA4Mi44NTk0IDM1LjE0NzYgODMuMjMwNCAzNC44MDk2TDgzLjIzMDQgMzYuMDA2NiA4OC4xMDg0IDM2LjAwNjYgOTAuNDQzNCAzNi4wMDY2IDkyLjk2MTQgMzYuMDA2NiA5NS4yOTY0IDM2LjAwNjYgMTAwLjE1MDQgMzYuMDA2NiAxMDAuMTUwNCAzNC43MjU2QzEwMS4zMDU0IDM1Ljc0OTYgMTAyLjgyMTQgMzYuMzM4NiAxMDQuNjkwNCAzNi4zMzg2IDEwNS4xNTQ0IDM2LjMzODYgMTA1LjYwODQgMzYuMjc3NiAxMDYuMDUxNCAzNi4xNjI2TDExMi44MzY0IDM2LjE2MjYgMTE3LjY0MTQgMzYuMTYxNiAxMTcuNjQxNCAyNi4wMzE2IDExOS41ODM0IDI3Ljc3NDYgMTIwLjA5NjQgMjYuNDc4NiAxMjIuMzYwNCAzMi44ODY2IDExOS42NzE0IDQwLjU5NzYgMTI3LjIzMTQgNDAuNTk3NiAxMzQuODM0NCAxOS4wNjg2IDEyNy4wOTM0IDE5LjA2ODYgMTI2LjE5MjQgMjEuOTI3NiAxMjUuMjkwNCAxOS4wNjg2IDExOS45NTk0IDE5LjA2ODZDMTE5Ljg5ODQgMTkuMDQ0NiAxMTkuODQwNCAxOS4wMTE2IDExOS43NzY0IDE4Ljk5MDYgMTE5LjIzNjQgMTguODExNiAxMTguNjc1NCAxOC42NzE2IDExOC4xMDI0IDE4LjY3MTYgMTE3LjQ0ODQgMTguNjcxNiAxMTYuODEwNCAxOC43NzM2IDExNi4xOTc0IDE4Ljk4MDZMMTEyLjgzNjQgMTguOTgwNiAxMDYuMTIxNCAxOC45Nzg2QzEwNS42NjE0IDE4Ljg2MzYgMTA1LjE4MzQgMTguODAzNiAxMDQuNjkwNCAxOC44MDM2IDEwMi44MjE0IDE4LjgwMzYgMTAxLjMwNTQgMTkuMzkyNiAxMDAuMTUwNCAyMC40MTY2TDEwMC4xNTA0IDEzLjc2NjYgOTUuMjk2NCAxNS40NDE2IDk1LjI5NjQgMTMuNzY2NiA4OS41MTg0IDE1Ljc1OTZDODkuNDc4NCAxNS43MTQ2IDg5LjQ0OTQgMTUuNjY0NiA4OS40MDc0IDE1LjYyMDYgODguNzE1NCAxNC44OTc2IDg3LjgxNzQgMTQuNTAxNiA4Ni44MjU0IDE0LjUwMTYgODUuNzkyNCAxNC41MDE2IDg0Ljg2MjQgMTQuOTA3NiA4NC4xODA0IDE1LjY3NTYgODMuNTU1NCAxNi4zODA2IDgzLjIzMDQgMTcuMjUyNiA4My4yMzA0IDE4LjE5ODZMODMuMjMwNCAxOS4wNjg2ek0zOS44ODkxIDM1LjM0NUMzOS44NTAxIDM1LjI3NiAzOS41MDExIDM0LjY0NCAzOC44MDIxIDMzLjM3NSAzOC44NTMxIDMzLjQ2OCAzNy4xMTExIDMwLjMwNyAzNi41NTgxIDI5LjMwNiAzNC4zNDkxIDI1LjMwMSAzMy4yOTIxIDIzLjM4OCAzMy4xNzYxIDIzLjE5NyAzMi45MzUxIDIyLjc5OSAzMi41OTUxIDIyLjQ4OSAzMi4yMDkxIDIyLjI1OCAzMi4yMzMxIDIxLjgyIDMyLjE2MTEgMjEuMzcgMzEuOTY0MSAyMC45NDEgMzEuODU1MSAyMC43MDIgMzEuMDg0MSAxOS4zMSAyOS4zMjQxIDE2LjE1MSAyOS4yNDIxIDE2LjAwMyAyNi44MDUxIDExLjYzMiAyNi43NzUxIDExLjU3NSAyNS42MzMxIDkuNDA4IDIyLjQ3NDEgOS40NDYgMjEuNjMzMSAxMS44NzlMMjEuMjE3MSAxMy4wODIgMjAuNDYyMSAxNS4yNjYgMTkuMjAxMSAxOC45MTVDMTUuNjQ5MSAyMC4wODkgMTIuNTg3MSAyMS4wOTMgMTIuMTM2MSAyMS4yMiA5LjcxMzEgMjEuOTAxIDkuMTY3MSAyNS4wODcgMTEuNDU5MSAyNi4zMTMgMTEuNjU1MSAyNi40MTggMjAuNjMzMSAzMS4xMSAyMS4xNjIxIDMxLjM4NSAyMS42MTgxIDMxLjYyMiAyMi4xMTIxIDMxLjcyMSAyMi41OTUxIDMxLjY5OSAyMi44NjAxIDMyLjEwNiAyMy4yMzIxIDMyLjQ1OSAyMy43MjQxIDMyLjcwNiAyNC4xMTgxIDMyLjkwNSAzNS42MzAxIDM4LjkwOCAzNi4xMDQxIDM5LjE2IDM4LjU2MjEgNDAuNDY4IDQxLjI5NDEgMzcuODI3IDM5Ljg4OTEgMzUuMzQ1Ii8+ICA8cGF0aCBmaWxsPSIjRkZGIiBkPSJNNTkuNTQ0NCAxNy40NTczTDU5LjU0NDQgMzQuMDA3MyA1Ni4zNTU0IDM0LjAwNzMgNTYuMzU1NCAyNS4zOTczIDUyLjc2ODQgMzQuMDA3MyA1MS4wMzM0IDM0LjAwNzMgNDcuNDQ1NCAyNS4zOTczIDQ3LjQ0NTQgMzQuMDA3MyA0NC4yNTY0IDM0LjAwNzMgNDQuMjU2NCAxNy40NTczIDQ3LjUzOTQgMTcuNDU3MyA1MS45MDA0IDI3Ljg4NDMgNTYuMjYxNCAxNy40NTczIDU5LjU0NDQgMTcuNDU3M3pNNzMuNDYxNCAyMS4wNjgzTDc2LjI1MTQgMjEuMDY4MyA3Ni4yNTE0IDIyLjE0NDNDNzYuNDM4NCAyMS43NjIzIDc2LjgxMzQgMjEuNDM2MyA3Ny4zNzY0IDIxLjE2NDMgNzcuOTM4NCAyMC44OTQzIDc4LjU1NjQgMjAuNzU4MyA3OS4yMjg0IDIwLjc1ODMgNzkuODY5NCAyMC43NTgzIDgwLjQ3MDQgMjAuOTA1MyA4MS4wMzQ0IDIxLjIwMDMgODEuNTk2NCAyMS40OTUzIDgyLjA4NTQgMjEuOTMwMyA4Mi40OTk0IDIyLjUwMzMgODIuOTEzNCAyMy4wNzczIDgzLjI0MjQgMjMuNzg3MyA4My40ODQ0IDI0LjYzMjMgODMuNzI2NCAyNS40NzczIDgzLjg0NzQgMjYuNDQxMyA4My44NDc0IDI3LjUyNTMgODMuODQ3NCAyOC42NDIzIDgzLjczMDQgMjkuNjIyMyA4My40OTY0IDMwLjQ2NzMgODMuMjYxNCAzMS4zMTIzIDgyLjk0MDQgMzIuMDIxMyA4Mi41MzQ0IDMyLjU5NjMgODIuMTI4NCAzMy4xNzAzIDgxLjY0NzQgMzMuNjAwMyA4MS4wOTI0IDMzLjg4NzMgODAuNTM4NCAzNC4xNzQzIDc5LjkzMTQgMzQuMzE3MyA3OS4yNzU0IDM0LjMxNzMgNzguNTcyNCAzNC4zMTczIDc4LjAwNDQgMzQuMjA2MyA3Ny41NzU0IDMzLjk4MjMgNzcuMTQ1NCAzMy43NjAzIDc2LjgzNjQgMzMuNDgwMyA3Ni42NDk0IDMzLjE0NTNMNzYuNjQ5NCAzOC4zMDMzIDczLjQ2MTQgMzkuMDAxMyA3My40NjE0IDIxLjA2ODN6TTc4LjQ3ODQgMzEuMjMyM0M4MC4wMjU0IDMxLjIzMjMgODAuNzk5NCAzMC4wMDUzIDgwLjc5OTQgMjcuNTUwMyA4MC43OTk0IDI2LjM1MzMgODAuNjA4NCAyNS40NDUzIDgwLjIyNDQgMjQuODIzMyA3OS44NDE0IDI0LjIwMTMgNzkuMjkxNCAyMy44OTEzIDc4LjU3MjQgMjMuODkxMyA3OC4wNDA0IDIzLjg5MTMgNzcuNTk4NCAyNC4wNzgzIDc3LjI0NzQgMjQuNDUyMyA3Ni44OTU0IDI0LjgyNzMgNzYuNjI2NCAyNS4yNjkzIDc2LjQzODQgMjUuNzc5M0w3Ni40Mzg0IDI5LjQ2MzNDNzYuNjU3NCAzMC4wNTMzIDc2Ljk1MDQgMzAuNDk1MyA3Ny4zMTc0IDMwLjc5MDMgNzcuNjg0NCAzMS4wODUzIDc4LjA3MTQgMzEuMjMyMyA3OC40Nzg0IDMxLjIzMjN6TTg1LjIzMDQgMzQuMDA3M0w4OC40NDM0IDM0LjAwNzMgODguNDQzNCAyMS4wNjkzIDg1LjIzMDQgMjEuMDY5MyA4NS4yMzA0IDM0LjAwNzN6TTg1LjIzMDQgMTguMTk4M0M4NS4yMzA0IDE3LjczNjMgODUuMzc5NCAxNy4zMzgzIDg1LjY3NjQgMTcuMDAzMyA4NS45NzM0IDE2LjY2ODMgODYuMzU2NCAxNi41MDEzIDg2LjgyNTQgMTYuNTAxMyA4Ny4yNjI0IDE2LjUwMTMgODcuNjQxNCAxNi42NjgzIDg3Ljk2MjQgMTcuMDAzMyA4OC4yODM0IDE3LjMzODMgODguNDQzNCAxNy43MzYzIDg4LjQ0MzQgMTguMTk4MyA4OC40NDM0IDE4LjY0NTMgODguMjgzNCAxOS4wMjMzIDg3Ljk2MjQgMTkuMzM1MyA4Ny42NDE0IDE5LjY0NTMgODcuMjYyNCAxOS44MDEzIDg2LjgyNTQgMTkuODAxMyA4Ni4zNTY0IDE5LjgwMTMgODUuOTczNCAxOS42NDUzIDg1LjY3NjQgMTkuMzM1MyA4NS4zNzk0IDE5LjAyMzMgODUuMjMwNCAxOC42NDUzIDg1LjIzMDQgMTguMTk4M3pNOTAuMTA3NCAxNy42NzMzTDkzLjI5NjQgMTYuNTcyMyA5My4yOTY0IDM0LjAwNzMgOTAuMTA3NCAzNC4wMDczIDkwLjEwNzQgMTcuNjczM3pNOTQuOTYxNCAxNy42NzMzTDk4LjE1MDQgMTYuNTcyMyA5OC4xNTA0IDM0LjAwNzMgOTQuOTYxNCAzNC4wMDczIDk0Ljk2MTQgMTcuNjczM3pNMTE1LjQ1MzQgMjEuMDY4M0wxMTUuNDUzNCAyMS45NTMzQzExNS42NzE0IDIxLjU4NzMgMTE2LjAzMjQgMjEuMjk2MyAxMTYuNTMyNCAyMS4wODAzIDExNy4wMzI0IDIwLjg2NTMgMTE3LjU1NTQgMjAuNzU4MyAxMTguMTAzNCAyMC43NTgzIDExOC40NjI0IDIwLjc1ODMgMTE4LjgxMDQgMjAuODEzMyAxMTkuMTQ2NCAyMC45MjUzIDExOS40ODI0IDIxLjAzNjMgMTE5Ljc0NDQgMjEuMjIwMyAxMTkuOTMxNCAyMS40NzUzTDExOC43ODM0IDI0LjM2OTNDMTE4LjM5MjQgMjQuMDE4MyAxMTcuOTYxNCAyMy44NDMzIDExNy40OTM0IDIzLjg0MzMgMTE3LjEwMjQgMjMuODQzMyAxMTYuNzQ3NCAyMy45OTAzIDExNi40MjY0IDI0LjI4NTMgMTE2LjEwNjQgMjQuNTgwMyAxMTUuODQ0NCAyNS4wMzgzIDExNS42NDE0IDI1LjY2MDNMMTE1LjY0MTQgMzQuMDA3MyAxMTIuNDUyNCAzNC4wMDczIDExMi40NTI0IDIxLjA2ODMgMTE1LjQ1MzQgMjEuMDY4M3pNMTA3LjU4NjQgMzMuMDYzM0MxMDYuNzM3NCAzMy44MTUzIDEwNS43NDc0IDM0LjMzODMgMTA0LjY5MDQgMzQuMzM4MyAxMDEuMDMxNCAzNC4zMzgzIDk5LjQ5ODQgMzEuMzA5MyA5OS40OTg0IDI3LjU3MDMgOTkuNDk4NCAyMy44MzMzIDEwMS4wMzE0IDIwLjgwNDMgMTA0LjY5MDQgMjAuODA0MyAxMDUuODI4NCAyMC44MDQzIDEwNi43OTU0IDIxLjI5MDMgMTA3LjU4NjQgMjIuMDIxM0wxMDcuNTg2NCAyMC45NzgzIDExMC44MzY0IDIwLjk3ODMgMTEwLjgzNjQgMzQuMTYyMyAxMDcuNTg2NCAzNC4xNjIzIDEwNy41ODY0IDMzLjA2MzN6TTEwNy41ODY0IDI5Ljc5NjNDMTA3LjE3OTQgMzAuNjk0MyAxMDYuNDYxNCAzMS4yNTYzIDEwNS40MjA0IDMxLjI3MzMgMTAzLjQ1NTQgMzEuMzA5MyAxMDIuNzAxNCAyOS42NTgzIDEwMi42NjU0IDI3LjYwNjMgMTAyLjYyOTQgMjUuNTU1MyAxMDMuMzI3NCAyMy44NzkzIDEwNS4yOTM0IDIzLjg0NDMgMTA2LjMwNjQgMjMuODI2MyAxMDcuMTI4NCAyNC40ODAzIDEwNy41ODY0IDI1LjUzNDNMMTA3LjU4NjQgMjkuNzk2M3pNNjguOTUzNCAzMy4wNjMzQzY4LjEwMzQgMzMuODE1MyA2Ny4xMTM0IDM0LjMzODMgNjYuMDU2NCAzNC4zMzgzIDYyLjM5NzQgMzQuMzM4MyA2MC44NjM0IDMxLjMwOTMgNjAuODYzNCAyNy41NzAzIDYwLjg2MzQgMjMuODMzMyA2Mi4zOTc0IDIwLjgwNDMgNjYuMDU2NCAyMC44MDQzIDY3LjE5NDQgMjAuODA0MyA2OC4xNjE0IDIxLjI5MDMgNjguOTUzNCAyMi4wMjEzTDY4Ljk1MzQgMjAuOTc4MyA3Mi4yMDI0IDIwLjk3ODMgNzIuMjAyNCAzNC4xNjIzIDY4Ljk1MzQgMzQuMTYyMyA2OC45NTM0IDMzLjA2MzN6TTY4Ljk1MzQgMjkuNzk2M0M2OC41NDU0IDMwLjY5NDMgNjcuODI2NCAzMS4yNTYzIDY2Ljc4NzQgMzEuMjczMyA2NC44MjE0IDMxLjMwOTMgNjQuMDY2NCAyOS42NTgzIDY0LjAzMTQgMjcuNjA2MyA2My45OTY0IDI1LjU1NTMgNjQuNjkyNCAyMy44NzkzIDY2LjY1ODQgMjMuODQ0MyA2Ny42NzI0IDIzLjgyNjMgNjguNDk0NCAyNC40ODAzIDY4Ljk1MzQgMjUuNTM0M0w2OC45NTM0IDI5Ljc5NjN6TTEyNS44MTY0IDM4LjU5OTNMMTIyLjQ4NzQgMzguNTk5MyAxMjQuNDgwNCAzMi44ODMzIDEyMC4zMDY0IDIxLjA2ODMgMTIzLjgyNDQgMjEuMDY4MyAxMjYuMTkyNCAyOC41NzgzIDEyOC41NjA0IDIxLjA2ODMgMTMyLjAwNjQgMjEuMDY4MyAxMjUuODE2NCAzOC41OTkzek0yNC42MjQgMzAuOTIwMUMyNC4xNDYgMzAuNjgwMSAyNC4wMyAzMC4yNjcxIDI0LjI4NiAyOS44MTgxIDI0LjQxNiAyOS41OTExIDI0LjY5NyAyOS4xMzcxIDI0LjkyNyAyOC43NzExIDI1LjI0MiAyOC4yNjcxIDI1LjcwMyAyOC4yNjYxIDI1Ljk2MiAyOC40MTUxIDI2LjIyMiAyOC41NjUxIDI5Ljg5NyAzMC40NzAxIDMwLjEzNSAzMC41OTkxIDMwLjY5NiAzMC45MDMxIDMxLjUyMyAzMC4yMDYxIDMxLjE1MiAyOS41OTUxIDMwLjk3NSAyOS4zMDMxIDI5LjQyNiAyNi41MTcxIDI4LjkzNCAyNS41OTkxIDI4LjcxIDI1LjE4MTEgMjguNzcxIDI0LjgwNTEgMjkuMjcgMjQuNTU1MSAyOS41MTggMjQuNDMyMSAyOS45NTkgMjQuMTczMSAzMC4zNDMgMjMuOTQzMSAzMC43MzQgMjMuNzA5MSAzMS4yNTUgMjMuODg2MSAzMS40NjcgMjQuMjM0MSAzMS42NzggMjQuNTgzMSAzNy45NDkgMzUuOTc2MSAzOC4xNDkgMzYuMzI5MSAzOC41NDYgMzcuMDMyMSAzNy43NzMgMzcuNzgzMSAzNy4wNDMgMzcuMzk1MSAzNi42NzggMzcuMjAwMSAyNS4xMDIgMzEuMTYwMSAyNC42MjQgMzAuOTIwMU0xMi40MDIgMjQuNTQ5MUMxMS43ODYgMjQuMjIwMSAxMS44OTkgMjMuMzYzMSAxMi42NzcgMjMuMTQ2MSAxMy4zMzUgMjIuOTYwMSAxOC42ODYgMjEuMTkxMSAyMC4zMDUgMjAuNjU2MSAyMC41OTcgMjAuNTYwMSAyMC44MjUgMjAuMzM3MSAyMC45MjMgMjAuMDU0MSAyMS40NzUgMTguNDU4MSAyMy4zMTYgMTMuMTMwMSAyMy41MjMgMTIuNTMyMSAyMy43NjYgMTEuODI5MSAyNC42NDYgMTEuODI2MSAyNS4wMDUgMTIuNTA4MSAyNS4xMzMgMTIuNzQ5MSAyOS45NzggMjEuNDA3MSAzMC4xNDYgMjEuNzc0MSAzMC4zMTUgMjIuMTQyMSAzMC4yMDYgMjIuNTQ5MSAyOS44MjQgMjIuNzgzMSAyOS40NDIgMjMuMDE4MSAyOC44MTkgMjMuMzY5MSAyOC42MDIgMjMuNTAyMSAyOC4yMDkgMjMuNzQyMSAyNy44MzIgMjMuNTc1MSAyNy42NTMgMjMuMjAyMSAyNy40NzQgMjIuODI5MSAyNi4wOTIgMjAuNDI0MSAyNS41MjggMTkuNDAyMSAyNS4yNDcgMTguODkyMSAyNC4zOTggMTguNjk1MSAyNC4xMTIgMTkuNTIxMSAyMy45MDYgMjAuMTE3MSAyMy40MjUgMjEuNTA5MSAyMy4xNzUgMjIuMjMyMSAyMy4wNzkgMjIuNTEwMSAyMi44MzYgMjIuNzQ4MSAyMi41NTMgMjIuODQxMSAyMS44NDkgMjMuMDcwMSAyMC41MTIgMjMuNTA4MSAxOS43MzEgMjMuNzYzMSAxOS4xNzQgMjMuOTQ0MSAxOC45MDMgMjQuNzg2MSAxOS42NTUgMjUuMTQxMSAxOS44MTIgMjUuMjE0MSAyMy4xOTkgMjcuMDA2MSAyMy41NDkgMjcuMTcwMSAyMy44OTggMjcuMzM0MSAyNC4wOTMgMjcuODA3MSAyMy44ODggMjguMTQzMSAyMy42MDkgMjguNjAwMSAyMy4yNTEgMjkuMTgwMSAyMy4xMjIgMjkuMzY4MSAyMi44OTcgMjkuNjk0MSAyMi40NTYgMjkuODAzMSAyMi4wODUgMjkuNjEwMSAyMS43MTQgMjkuNDE4MSAxMi42MjMgMjQuNjY3MSAxMi40MDIgMjQuNTQ5MSIvPjwvZz4gIDwvc3ZnPiAg");
    bottom: 0px;
    height: 52px;
    left: 50%;
    margin-left: -73px;
    position: absolute;
    -webkit-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
    width: 157px;
    z-index: 1;
}

.mapillary-cover-compact .mapillary-cover-logo {
    width: 104px;
    height: 35px;
    margin-left: -49px;
}

.mapillary-cover-done {
    visibility: hidden;
    opacity: 0;
}

.mapillary-cover.mapillary-cover-loading .mapillary-cover-button,
.mapillary-cover.mapillary-cover-loading .mapillary-cover-logo {
    opacity: 0;
}

.mapillary-cover-spinner {
    -webkit-animation: rotate 1s linear infinite;
            animation: rotate 1s linear infinite;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4NCIgaGVpZ2h0PSI4NCIgdmlld0JveD0iMCAwIDg0IDg0Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZD0iTTQyLDg0IEM2NS4xOTYsODQgODQsNjUuMTk2IDg0LDQyIEM4NCwxOC44MDQgNjUuMTk2LDAgNDIsMCBDMTguODA0LDAgMCwxOC44MDQgMCw0MiBDMCw2NS4xOTYgMTguODA0LDg0IDQyLDg0Ii8+ICA8cGF0aCBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik00Miw4My45OTg1MTA0IEM0MC4zNDMxNDU4LDgzLjk5ODUxMDQgMzksODIuNjU1MzY0NiAzOSw4MC45OTg1MTA0IEMzOSw3OS4zNDE2NTYxIDQwLjM0MzE0NTgsNzcuOTk4NTEwNCA0Miw3Ny45OTg1MTA0IEM2MS44ODIyODg2LDc3Ljk5ODUxMDQgNzgsNjEuODgwNzk5IDc4LDQxLjk5ODUxMDQgQzc4LDIyLjIzNDkyOTQgNjIuMDY2MzMxNiw2LjE3MDg3ODA2IDQyLjMxODc2ODIsNS45OTk4ODk5NCBDNDAuNjYxOTc2LDUuOTg1NTQ0MjggMzkuMzMwNTEwMSw0LjYzMDgxOTQyIDM5LjM0NDg1NTgsMi45NzQwMjcyOCBDMzkuMzU5MjAxNCwxLjMxNzIzNTE0IDQwLjcxMzkyNjMsLTAuMDE0MjMwODE0NiA0Mi4zNzA3MTg0LDAuMDAwMTE0ODQyOTUyIEM2NS40MTA5MTU3LDAuMTk5NjEyODggODQsMTguOTQwODA5MSA4NCw0MS45OTg1MTA0IEM4NCw2NS4xOTQ1MDc1IDY1LjE5NTk5NzEsODMuOTk4NTEwNCA0Miw4My45OTg1MTA0IFoiLz48L2c+ICA8L3N2Zz4gIA==");
    height: 32px;
    left: 50%;
    margin-left: -16px;
    margin-top: -16px;
    position: absolute;
    top: 50%;
    width: 32px;
    z-index: 1;
}

@-webkit-keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}
.mapillary-direction-perspective {
    display: block;
    position: absolute;
    pointer-events: none;
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    z-index: 10;
}

.mapillary-direction-circle,
.mapillary-direction-circle-sequence,
.mapillary-direction-circle-inactive,
.mapillary-direction-circle-highlight,
.mapillary-direction-circle-sequence-highlight {
    position: absolute;
    border-radius: 50%;
}

.mapillary-direction-circle,
.mapillary-direction-circle-sequence,
.mapillary-direction-circle-highlight,
.mapillary-direction-circle-sequence-highlight {
    pointer-events: auto;
}

.mapillary-direction-circle:hover,
.mapillary-direction-circle-sequence:hover,
.mapillary-direction-circle-highlight:hover,
.mapillary-direction-circle-sequence-highlight:hover {
    cursor: pointer;
}

.mapillary-direction-circle,
.mapillary-direction-circle-sequence {
    background: rgba(0, 0, 0, 0);
}

.mapillary-direction-circle-inactive {
    background: rgba(0, 0, 0, 0);
    z-index: -1;
}

.mapillary-direction-circle-highlight,
.mapillary-direction-circle-sequence-highlight {
    background: rgba(0, 0, 0, 0.4);
}

.mapillary-direction-arrow-step,
.mapillary-direction-arrow-spherical,
.mapillary-direction-arrow-inactive {
    position: absolute;
    top: 44%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 75%;
    height: 44.0775%;
    pointer-events: none;
}

.mapillary-direction-arrow-step,
.mapillary-direction-arrow-inactive {
    background: url("data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgNTguNzciPgogICAgPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTk3LjQ0LDQzLjgyTDU2LjE4LDIuNTZhOC43NSw4Ljc1LDAsMCwwLTEyLjM3LDBoMEwyLjU2LDQzLjhBOC43NSw4Ljc1LDAsMCwwLDE0Ljk0LDU2LjE4bDM1LTM1TDg1LjA1LDU2LjJBOC43NSw4Ljc1LDAsMSwwLDk3LjQ0LDQzLjgyaDBaIi8+Cjwvc3ZnPg==");
    background-repeat: no-repeat;
}

.mapillary-direction-arrow-inactive {
    opacity: 0.2;
    z-index: -1;
}

.mapillary-direction-arrow-spherical {
    background: url("data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgNTguNzciPgogICAgPHBhdGggZmlsbD0iI0Y1REVCMyIgZD0iTTk3LjQ0LDQzLjgyTDU2LjE4LDIuNTZhOC43NSw4Ljc1LDAsMCwwLTEyLjM3LDBoMEwyLjU2LDQzLjhBOC43NSw4Ljc1LDAsMCwwLDE0Ljk0LDU2LjE4bDM1LTM1TDg1LjA1LDU2LjJBOC43NSw4Ljc1LDAsMSwwLDk3LjQ0LDQzLjgyaDBaIi8+Cjwvc3ZnPg==");
    background-repeat: no-repeat;
}

.mapillary-direction-turn-circle,
.mapillary-direction-turn-circle-sequence,
.mapillary-direction-turn-circle-highlight,
.mapillary-direction-turn-circle-sequence-highlight {
    position: absolute;
    border-radius: 50%;
    pointer-events: auto;
}

.mapillary-direction-turn-circle,
.mapillary-direction-turn-circle-sequence {
    background: rgba(0, 0, 0, 0);
}

.mapillary-direction-turn-circle-highlight,
.mapillary-direction-turn-circle-sequence-highlight {
    background: rgba(0, 0, 0, 0.4);
}

.mapillary-direction-turn-circle:hover,
.mapillary-direction-turn-circle-sequence:hover,
.mapillary-direction-turn-circle-highlight:hover,
.mapillary-direction-turn-circle-sequence-highlight:hover {
    cursor: pointer;
}

.mapillary-direction-turn-left,
.mapillary-direction-turn-right,
.mapillary-direction-turn-around {
    position: absolute;
    top: 50%;
    pointer-events: none;
    -webkit-filter: drop-shadow(0px 2px 1px rgba(0, 0, 0, 0.8));
            filter: drop-shadow(0px 2px 1px rgba(0, 0, 0, 0.8));
}

.mapillary-direction-turn-left,
.mapillary-direction-turn-right {
    width: 58.794%;
    height: 70%;
}

.mapillary-direction-turn-around {
    left: 50%;
    width: 75%;
    height: 63.2475%;
}

.mapillary-direction-turn-left {
    left: 45%;
    background: url("data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTE5LjA2Ij4KICAgIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik05OS4yLDc2Qzk4LDY0LjkxLDk1LjA2LDU2LjYsODkuNTcsNTAsNzksMzcuMzgsNjAuMywzMi43MiwyNC40MiwzMi4zOUw0NC44OSwxMS45M0E3LDcsMCwwLDAsMzUsMmgwbC0zMywzM2E3LDcsMCwwLDAsMCw5Ljg4TDM1LDc3Ljg1YTcsNywwLDEsMCw5LjktOS45TDI0Ljc5LDQ3Ljg5QzU2LDQ4LjE4LDcxLDUxLjkzLDc3LjcyLDYwYzMuMjEsMy44OCw1LjE4LDkuNDIsNi4xMSwxNy43NywwLjg1LDcuNTkuODcsMTYuMjIsMC4zNCwzMy4zNmE3Ljc0LDcuNzQsMCwxLDAsMTUuNDYuNDhDMTAwLjE5LDkzLjcyLDEwMC4xNiw4NC42LDk5LjIsNzZaIi8+Cjwvc3ZnPg==");
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.mapillary-direction-turn-right {
    left: 55%;
    background: url("data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTE5LjA2Ij4KICAgIDxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik05OS4yLDc2Qzk4LDY0LjkxLDk1LjA2LDU2LjYsODkuNTcsNTAsNzksMzcuMzgsNjAuMywzMi43MiwyNC40MiwzMi4zOUw0NC44OSwxMS45M0E3LDcsMCwwLDAsMzUsMmgwbC0zMywzM2E3LDcsMCwwLDAsMCw5Ljg4TDM1LDc3Ljg1YTcsNywwLDEsMCw5LjktOS45TDI0Ljc5LDQ3Ljg5QzU2LDQ4LjE4LDcxLDUxLjkzLDc3LjcyLDYwYzMuMjEsMy44OCw1LjE4LDkuNDIsNi4xMSwxNy43NywwLjg1LDcuNTkuODcsMTYuMjIsMC4zNCwzMy4zNmE3Ljc0LDcuNzQsMCwxLDAsMTUuNDYuNDhDMTAwLjE5LDkzLjcyLDEwMC4xNiw4NC42LDk5LjIsNzZaIi8+Cjwvc3ZnPg==");
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%) scaleX(-1);
            transform: translate(-50%, -50%) scaleX(-1);
}

.mapillary-direction-turn-around {
    background: url("data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgODQuMzMiPgogICAgPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTY1LjQ3LDBDNTYsMCw0Ni44Niw1LjM5LDQwLjIxLDE2LjA3LDMzLjQ3LDI3LDI5LjM2LDQzLjE4LDI4LjQzLDY1TDEwLDQ2LjU5YTUuODcsNS44NywwLDAsMC04LjMsOC4zTDI5LjQ0LDgyLjYxYTUuODgsNS44OCwwLDAsMCw4LjMsMEw2NS40Nyw1NWE1Ljg4LDUuODgsMCwxLDAtOC4zMi04LjMyTDM5LjMyLDY0LjQ3YzAuOTItMTkuNTYsNC41LTMzLjcsMTAuMTEtNDIuNzIsNC43Mi03LjYyLDEwLjQ1LTExLDE2LjEtMTFhMTYuNjQsMTYuNjQsMCwwLDEsMTQuNzgsOEM4NiwyNyw4OS4yMSw0MS44NSw4OS4yMSw2NC40N2E1LjM5LDUuMzksMCwxLDAsMTAuNzksMEMxMDAuMDUsMTguNzgsODcuMjIsMCw2NS40NywwWiIvPgo8L3N2Zz4=");
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

@media (hover: hover) {
    .mapillary-direction-circle:hover,
    .mapillary-direction-circle-sequence:hover {
        background: rgba(0, 0, 0, 0.4);
    }

    .mapillary-direction-turn-circle:hover,
    .mapillary-direction-turn-circle-sequence:hover {
        background: rgba(0, 0, 0, 0.4);
    }
}
.mapillary-viewer {
    background-color: #0F0F0F;
    position: relative;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.mapillary-interactive {
    cursor: -webkit-grab;
    cursor: grab;
}

.mapillary-interactive:active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.mapillary-viewer .mapillary-dom {
    bottom: 0;
    left: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.mapillary-dom .mapillary-dom-renderer {
    pointer-events: auto;
}

.mapillary-viewer div {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
}

.mapillary-viewer input:focus {
    background: none;
}
.mapillary-navigation-sequence,
.mapillary-navigation-spatial {
    position: absolute;
    pointer-events: none;
    z-index: 10;
}

.mapillary-navigation-sequence {
    top: 12px;
    left: 50%;
    margin-left: -40px;
}

.mapillary-navigation-spatial {
    bottom: 18px;
    left: 50%;
    margin-left: -100px;
}

.mapillary-navigation-spatial-bottom {
    margin-left: 40px;
}

.mapillary-navigation-button {
    width: 36px;
    height: 36px;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: auto;
    margin: 0px 2px;
    cursor: pointer;
    display: inline-block;
    -webkit-filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 1));
            filter: drop-shadow(0 2px 0 rgba(0, 0, 0, 1));
}

.mapillary-navigation-prev,
.mapillary-navigation-left {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDkwLDkwKSI+PGcgaWQ9ImFycm93LXVwIiBmaWxsPSIjRkZGRkZGIj48cGF0aCBkPSJNODguODg0MzgxNyw0NS43Mzc4ODA2IEM4OC4yOTk4ODUzLDQ1Ljk0OTc5MTYgODcuNzUxNTY5Miw0Ni4yODk5Mjk5IDg3LjI4MzA4NTMsNDYuNzU4NDEzOCBMMzEuMzYzMzk0NywxMDIuNjc4MTA0IEMyOS42NDYwNjE0LDEwNC4zOTU0MzggMjkuNjUxODM2MywxMDcuMTcwNDk4IDMxLjM2NzAwMzEsMTA4Ljg4NTY2NCBMNDAuNjg2NzQ1MywxMTguMjA1NDA3IEM0Mi40MDAzOTY3LDExOS45MTkwNTggNDUuMTgxMTMxMywxMTkuOTIyMTg5IDQ2Ljg5NDMwNTIsMTE4LjIwOTAxNSBMOTAuODAwOTI3Niw3NC4zMDIzOTI2IEwxMzQuNDUwNTUsMTE3Ljk1MjAxNSBDMTM2LjE2Nzg4MywxMTkuNjY5MzQ5IDEzOC45NDI5NDMsMTE5LjY2MzU3NCAxNDAuNjU4MTEsMTE3Ljk0ODQwNyBMMTQ5Ljk3Nzg1MiwxMDguNjI4NjY1IEMxNTEuNjkxNTA0LDEwNi45MTUwMTMgMTUxLjY5NDYzNSwxMDQuMTM0Mjc5IDE0OS45ODE0NjEsMTAyLjQyMTEwNSBMOTQuMDYxNzcwMSw0Ni41MDE0MTQxIEM5Mi42NTczMTA5LDQ1LjA5Njk1NDkgOTAuNTQ1NDIzMSw0NC44NDQ5NDQ1IDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBMODguODg0MzgxNyw0NS43Mzc4ODA2IFoiIGlkPSJBcnJvdyIgPjwvcGF0aD48cGF0aCBkPSJNOTAsMTcwLjEzODgxMiBDMTM0LjI1OTQ0NCwxNzAuMTM4ODEyIDE3MC4xMzg4MTIsMTM0LjI1OTQ0NCAxNzAuMTM4ODEyLDkwIEMxNzAuMTM4ODEyLDQ1Ljc0MDU1NjIgMTM0LjI1OTQ0NCw5Ljg2MTE4Nzg1IDkwLDkuODYxMTg3ODUgQzQ1Ljc0MDU1NjIsOS44NjExODc4NSA5Ljg2MTE4Nzg1LDQ1Ljc0MDU1NjIgOS44NjExODc4NSw5MCBDOS44NjExODc4NSwxMzQuMjU5NDQ0IDQ1Ljc0MDU1NjIsMTcwLjEzODgxMiA5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIFogTTAsOTAgQzAsNDAuMjk0MzcyNSA0MC4yOTQzNzI1LDAgOTAsMCBDMTM5LjcwNTYyNywwIDE4MCw0MC4yOTQzNzI1IDE4MCw5MCBDMTgwLDEzOS43MDU2MjcgMTM5LjcwNTYyNywxODAgOTAsMTgwIEM0MC4yOTQzNzI1LDE4MCAwLDEzOS43MDU2MjcgMCw5MCBaIiBpZD0iQ2lyY2xlIj48L3BhdGg+PC9nPjwvZz48L3N2Zz4=");
}

.DirectionNext,
.DirectionRight {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgOTAsOTApIj48ZyBpZD0iYXJyb3ctdXAiIGZpbGw9IiNGRkZGRkYiPjxwYXRoIGQ9Ik04OC44ODQzODE3LDQ1LjczNzg4MDYgQzg4LjI5OTg4NTMsNDUuOTQ5NzkxNiA4Ny43NTE1NjkyLDQ2LjI4OTkyOTkgODcuMjgzMDg1Myw0Ni43NTg0MTM4IEwzMS4zNjMzOTQ3LDEwMi42NzgxMDQgQzI5LjY0NjA2MTQsMTA0LjM5NTQzOCAyOS42NTE4MzYzLDEwNy4xNzA0OTggMzEuMzY3MDAzMSwxMDguODg1NjY0IEw0MC42ODY3NDUzLDExOC4yMDU0MDcgQzQyLjQwMDM5NjcsMTE5LjkxOTA1OCA0NS4xODExMzEzLDExOS45MjIxODkgNDYuODk0MzA1MiwxMTguMjA5MDE1IEw5MC44MDA5Mjc2LDc0LjMwMjM5MjYgTDEzNC40NTA1NSwxMTcuOTUyMDE1IEMxMzYuMTY3ODgzLDExOS42NjkzNDkgMTM4Ljk0Mjk0MywxMTkuNjYzNTc0IDE0MC42NTgxMSwxMTcuOTQ4NDA3IEwxNDkuOTc3ODUyLDEwOC42Mjg2NjUgQzE1MS42OTE1MDQsMTA2LjkxNTAxMyAxNTEuNjk0NjM1LDEwNC4xMzQyNzkgMTQ5Ljk4MTQ2MSwxMDIuNDIxMTA1IEw5NC4wNjE3NzAxLDQ2LjUwMTQxNDEgQzkyLjY1NzMxMDksNDUuMDk2OTU0OSA5MC41NDU0MjMxLDQ0Ljg0NDk0NDUgODguODg0MzgxNyw0NS43Mzc4ODA2IEw4OC44ODQzODE3LDQ1LjczNzg4MDYgWiIgaWQ9IkFycm93IiA+PC9wYXRoPjxwYXRoIGQ9Ik05MCwxNzAuMTM4ODEyIEMxMzQuMjU5NDQ0LDE3MC4xMzg4MTIgMTcwLjEzODgxMiwxMzQuMjU5NDQ0IDE3MC4xMzg4MTIsOTAgQzE3MC4xMzg4MTIsNDUuNzQwNTU2MiAxMzQuMjU5NDQ0LDkuODYxMTg3ODUgOTAsOS44NjExODc4NSBDNDUuNzQwNTU2Miw5Ljg2MTE4Nzg1IDkuODYxMTg3ODUsNDUuNzQwNTU2MiA5Ljg2MTE4Nzg1LDkwIEM5Ljg2MTE4Nzg1LDEzNC4yNTk0NDQgNDUuNzQwNTU2MiwxNzAuMTM4ODEyIDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgWiBNMCw5MCBDMCw0MC4yOTQzNzI1IDQwLjI5NDM3MjUsMCA5MCwwIEMxMzkuNzA1NjI3LDAgMTgwLDQwLjI5NDM3MjUgMTgwLDkwIEMxODAsMTM5LjcwNTYyNyAxMzkuNzA1NjI3LDE4MCA5MCwxODAgQzQwLjI5NDM3MjUsMTgwIDAsMTM5LjcwNTYyNyAwLDkwIFoiIGlkPSJDaXJjbGUiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==");
}

.mapillary-navigation-forward {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoMCA5MCw5MCkiPjxnIGlkPSJhcnJvdy11cCIgZmlsbD0iI0ZGRkZGRiI+PHBhdGggZD0iTTg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBDODguMjk5ODg1Myw0NS45NDk3OTE2IDg3Ljc1MTU2OTIsNDYuMjg5OTI5OSA4Ny4yODMwODUzLDQ2Ljc1ODQxMzggTDMxLjM2MzM5NDcsMTAyLjY3ODEwNCBDMjkuNjQ2MDYxNCwxMDQuMzk1NDM4IDI5LjY1MTgzNjMsMTA3LjE3MDQ5OCAzMS4zNjcwMDMxLDEwOC44ODU2NjQgTDQwLjY4Njc0NTMsMTE4LjIwNTQwNyBDNDIuNDAwMzk2NywxMTkuOTE5MDU4IDQ1LjE4MTEzMTMsMTE5LjkyMjE4OSA0Ni44OTQzMDUyLDExOC4yMDkwMTUgTDkwLjgwMDkyNzYsNzQuMzAyMzkyNiBMMTM0LjQ1MDU1LDExNy45NTIwMTUgQzEzNi4xNjc4ODMsMTE5LjY2OTM0OSAxMzguOTQyOTQzLDExOS42NjM1NzQgMTQwLjY1ODExLDExNy45NDg0MDcgTDE0OS45Nzc4NTIsMTA4LjYyODY2NSBDMTUxLjY5MTUwNCwxMDYuOTE1MDEzIDE1MS42OTQ2MzUsMTA0LjEzNDI3OSAxNDkuOTgxNDYxLDEwMi40MjExMDUgTDk0LjA2MTc3MDEsNDYuNTAxNDE0MSBDOTIuNjU3MzEwOSw0NS4wOTY5NTQ5IDkwLjU0NTQyMzEsNDQuODQ0OTQ0NSA4OC44ODQzODE3LDQ1LjczNzg4MDYgTDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBaIiBpZD0iQXJyb3ciID48L3BhdGg+PHBhdGggZD0iTTkwLDE3MC4xMzg4MTIgQzEzNC4yNTk0NDQsMTcwLjEzODgxMiAxNzAuMTM4ODEyLDEzNC4yNTk0NDQgMTcwLjEzODgxMiw5MCBDMTcwLjEzODgxMiw0NS43NDA1NTYyIDEzNC4yNTk0NDQsOS44NjExODc4NSA5MCw5Ljg2MTE4Nzg1IEM0NS43NDA1NTYyLDkuODYxMTg3ODUgOS44NjExODc4NSw0NS43NDA1NTYyIDkuODYxMTg3ODUsOTAgQzkuODYxMTg3ODUsMTM0LjI1OTQ0NCA0NS43NDA1NTYyLDE3MC4xMzg4MTIgOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBaIE0wLDkwIEMwLDQwLjI5NDM3MjUgNDAuMjk0MzcyNSwwIDkwLDAgQzEzOS43MDU2MjcsMCAxODAsNDAuMjk0MzcyNSAxODAsOTAgQzE4MCwxMzkuNzA1NjI3IDEzOS43MDU2MjcsMTgwIDkwLDE4MCBDNDAuMjk0MzcyNSwxODAgMCwxMzkuNzA1NjI3IDAsOTAgWiIgaWQ9IkNpcmNsZSI+PC9wYXRoPjwvZz48L2c+PC9zdmc+");
}

.mapillary-navigation-backward {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoMTgwIDkwLDkwKSI+PGcgaWQ9ImFycm93LXVwIiBmaWxsPSIjRkZGRkZGIj48cGF0aCBkPSJNODguODg0MzgxNyw0NS43Mzc4ODA2IEM4OC4yOTk4ODUzLDQ1Ljk0OTc5MTYgODcuNzUxNTY5Miw0Ni4yODk5Mjk5IDg3LjI4MzA4NTMsNDYuNzU4NDEzOCBMMzEuMzYzMzk0NywxMDIuNjc4MTA0IEMyOS42NDYwNjE0LDEwNC4zOTU0MzggMjkuNjUxODM2MywxMDcuMTcwNDk4IDMxLjM2NzAwMzEsMTA4Ljg4NTY2NCBMNDAuNjg2NzQ1MywxMTguMjA1NDA3IEM0Mi40MDAzOTY3LDExOS45MTkwNTggNDUuMTgxMTMxMywxMTkuOTIyMTg5IDQ2Ljg5NDMwNTIsMTE4LjIwOTAxNSBMOTAuODAwOTI3Niw3NC4zMDIzOTI2IEwxMzQuNDUwNTUsMTE3Ljk1MjAxNSBDMTM2LjE2Nzg4MywxMTkuNjY5MzQ5IDEzOC45NDI5NDMsMTE5LjY2MzU3NCAxNDAuNjU4MTEsMTE3Ljk0ODQwNyBMMTQ5Ljk3Nzg1MiwxMDguNjI4NjY1IEMxNTEuNjkxNTA0LDEwNi45MTUwMTMgMTUxLjY5NDYzNSwxMDQuMTM0Mjc5IDE0OS45ODE0NjEsMTAyLjQyMTEwNSBMOTQuMDYxNzcwMSw0Ni41MDE0MTQxIEM5Mi42NTczMTA5LDQ1LjA5Njk1NDkgOTAuNTQ1NDIzMSw0NC44NDQ5NDQ1IDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBMODguODg0MzgxNyw0NS43Mzc4ODA2IFoiIGlkPSJBcnJvdyIgPjwvcGF0aD48cGF0aCBkPSJNOTAsMTcwLjEzODgxMiBDMTM0LjI1OTQ0NCwxNzAuMTM4ODEyIDE3MC4xMzg4MTIsMTM0LjI1OTQ0NCAxNzAuMTM4ODEyLDkwIEMxNzAuMTM4ODEyLDQ1Ljc0MDU1NjIgMTM0LjI1OTQ0NCw5Ljg2MTE4Nzg1IDkwLDkuODYxMTg3ODUgQzQ1Ljc0MDU1NjIsOS44NjExODc4NSA5Ljg2MTE4Nzg1LDQ1Ljc0MDU1NjIgOS44NjExODc4NSw5MCBDOS44NjExODc4NSwxMzQuMjU5NDQ0IDQ1Ljc0MDU1NjIsMTcwLjEzODgxMiA5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIFogTTAsOTAgQzAsNDAuMjk0MzcyNSA0MC4yOTQzNzI1LDAgOTAsMCBDMTM5LjcwNTYyNywwIDE4MCw0MC4yOTQzNzI1IDE4MCw5MCBDMTgwLDEzOS43MDU2MjcgMTM5LjcwNTYyNywxODAgOTAsMTgwIEM0MC4yOTQzNzI1LDE4MCAwLDEzOS43MDU2MjcgMCw5MCBaIiBpZD0iQ2lyY2xlIj48L3BhdGg+PC9nPjwvZz48L3N2Zz4=");
}

.mapillary-navigation-turn-left {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDkwLDkwKSI+PGcgaWQ9ImFycm93LXVwIiBmaWxsPSIjRkZGRkZGIj48cGF0aCBkPSJNODguODg0MzgxNyw0NS43Mzc4ODA2IEM4OC4yOTk4ODUzLDQ1Ljk0OTc5MTYgODcuNzUxNTY5Miw0Ni4yODk5Mjk5IDg3LjI4MzA4NTMsNDYuNzU4NDEzOCBMMzEuMzYzMzk0NywxMDIuNjc4MTA0IEMyOS42NDYwNjE0LDEwNC4zOTU0MzggMjkuNjUxODM2MywxMDcuMTcwNDk4IDMxLjM2NzAwMzEsMTA4Ljg4NTY2NCBMNDAuNjg2NzQ1MywxMTguMjA1NDA3IEM0Mi40MDAzOTY3LDExOS45MTkwNTggNDUuMTgxMTMxMywxMTkuOTIyMTg5IDQ2Ljg5NDMwNTIsMTE4LjIwOTAxNSBMOTAuODAwOTI3Niw3NC4zMDIzOTI2IEwxMzQuNDUwNTUsMTE3Ljk1MjAxNSBDMTM2LjE2Nzg4MywxMTkuNjY5MzQ5IDEzOC45NDI5NDMsMTE5LjY2MzU3NCAxNDAuNjU4MTEsMTE3Ljk0ODQwNyBMMTQ5Ljk3Nzg1MiwxMDguNjI4NjY1IEMxNTEuNjkxNTA0LDEwNi45MTUwMTMgMTUxLjY5NDYzNSwxMDQuMTM0Mjc5IDE0OS45ODE0NjEsMTAyLjQyMTEwNSBMOTQuMDYxNzcwMSw0Ni41MDE0MTQxIEM5Mi42NTczMTA5LDQ1LjA5Njk1NDkgOTAuNTQ1NDIzMSw0NC44NDQ5NDQ1IDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBMODguODg0MzgxNyw0NS43Mzc4ODA2IFoiIGlkPSJBcnJvdyIgPjwvcGF0aD48cGF0aCBkPSJNOTAsMTcwLjEzODgxMiBDMTM0LjI1OTQ0NCwxNzAuMTM4ODEyIDE3MC4xMzg4MTIsMTM0LjI1OTQ0NCAxNzAuMTM4ODEyLDkwIEMxNzAuMTM4ODEyLDQ1Ljc0MDU1NjIgMTM0LjI1OTQ0NCw5Ljg2MTE4Nzg1IDkwLDkuODYxMTg3ODUgQzQ1Ljc0MDU1NjIsOS44NjExODc4NSA5Ljg2MTE4Nzg1LDQ1Ljc0MDU1NjIgOS44NjExODc4NSw5MCBDOS44NjExODc4NSwxMzQuMjU5NDQ0IDQ1Ljc0MDU1NjIsMTcwLjEzODgxMiA5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIEw5MCwxNzAuMTM4ODEyIFogTTAsOTAgQzAsNDAuMjk0MzcyNSA0MC4yOTQzNzI1LDAgOTAsMCBDMTM5LjcwNTYyNywwIDE4MCw0MC4yOTQzNzI1IDE4MCw5MCBDMTgwLDEzOS43MDU2MjcgMTM5LjcwNTYyNywxODAgOTAsMTgwIEM0MC4yOTQzNzI1LDE4MCAwLDEzOS43MDU2MjcgMCw5MCBaIiBpZD0iQ2lyY2xlIj48L3BhdGg+PC9nPjwvZz48L3N2Zz4=");
}

.mapillary-navigation-turn-right {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgOTAsOTApIj48ZyBpZD0iYXJyb3ctdXAiIGZpbGw9IiNGRkZGRkYiPjxwYXRoIGQ9Ik04OC44ODQzODE3LDQ1LjczNzg4MDYgQzg4LjI5OTg4NTMsNDUuOTQ5NzkxNiA4Ny43NTE1NjkyLDQ2LjI4OTkyOTkgODcuMjgzMDg1Myw0Ni43NTg0MTM4IEwzMS4zNjMzOTQ3LDEwMi42NzgxMDQgQzI5LjY0NjA2MTQsMTA0LjM5NTQzOCAyOS42NTE4MzYzLDEwNy4xNzA0OTggMzEuMzY3MDAzMSwxMDguODg1NjY0IEw0MC42ODY3NDUzLDExOC4yMDU0MDcgQzQyLjQwMDM5NjcsMTE5LjkxOTA1OCA0NS4xODExMzEzLDExOS45MjIxODkgNDYuODk0MzA1MiwxMTguMjA5MDE1IEw5MC44MDA5Mjc2LDc0LjMwMjM5MjYgTDEzNC40NTA1NSwxMTcuOTUyMDE1IEMxMzYuMTY3ODgzLDExOS42NjkzNDkgMTM4Ljk0Mjk0MywxMTkuNjYzNTc0IDE0MC42NTgxMSwxMTcuOTQ4NDA3IEwxNDkuOTc3ODUyLDEwOC42Mjg2NjUgQzE1MS42OTE1MDQsMTA2LjkxNTAxMyAxNTEuNjk0NjM1LDEwNC4xMzQyNzkgMTQ5Ljk4MTQ2MSwxMDIuNDIxMTA1IEw5NC4wNjE3NzAxLDQ2LjUwMTQxNDEgQzkyLjY1NzMxMDksNDUuMDk2OTU0OSA5MC41NDU0MjMxLDQ0Ljg0NDk0NDUgODguODg0MzgxNyw0NS43Mzc4ODA2IEw4OC44ODQzODE3LDQ1LjczNzg4MDYgWiIgaWQ9IkFycm93IiA+PC9wYXRoPjxwYXRoIGQ9Ik05MCwxNzAuMTM4ODEyIEMxMzQuMjU5NDQ0LDE3MC4xMzg4MTIgMTcwLjEzODgxMiwxMzQuMjU5NDQ0IDE3MC4xMzg4MTIsOTAgQzE3MC4xMzg4MTIsNDUuNzQwNTU2MiAxMzQuMjU5NDQ0LDkuODYxMTg3ODUgOTAsOS44NjExODc4NSBDNDUuNzQwNTU2Miw5Ljg2MTE4Nzg1IDkuODYxMTg3ODUsNDUuNzQwNTU2MiA5Ljg2MTE4Nzg1LDkwIEM5Ljg2MTE4Nzg1LDEzNC4yNTk0NDQgNDUuNzQwNTU2MiwxNzAuMTM4ODEyIDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgTDkwLDE3MC4xMzg4MTIgWiBNMCw5MCBDMCw0MC4yOTQzNzI1IDQwLjI5NDM3MjUsMCA5MCwwIEMxMzkuNzA1NjI3LDAgMTgwLDQwLjI5NDM3MjUgMTgwLDkwIEMxODAsMTM5LjcwNTYyNyAxMzkuNzA1NjI3LDE4MCA5MCwxODAgQzQwLjI5NDM3MjUsMTgwIDAsMTM5LjcwNTYyNyAwLDkwIFoiIGlkPSJDaXJjbGUiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==");
}

.mapillary-navigation-turn-around {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwcHgiIGhlaWdodD0iMTgwcHgiIHZpZXdCb3g9IjAgMCAxODAgMTgwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgaWQ9IlBhZ2UtMSIgZmlsbD0ibm9uZSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEzNSA5MCw5MCkiPjxnIGlkPSJhcnJvdy11cCIgZmlsbD0iI0ZGRkZGRiI+PHBhdGggZD0iTTg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBDODguMjk5ODg1Myw0NS45NDk3OTE2IDg3Ljc1MTU2OTIsNDYuMjg5OTI5OSA4Ny4yODMwODUzLDQ2Ljc1ODQxMzggTDMxLjM2MzM5NDcsMTAyLjY3ODEwNCBDMjkuNjQ2MDYxNCwxMDQuMzk1NDM4IDI5LjY1MTgzNjMsMTA3LjE3MDQ5OCAzMS4zNjcwMDMxLDEwOC44ODU2NjQgTDQwLjY4Njc0NTMsMTE4LjIwNTQwNyBDNDIuNDAwMzk2NywxMTkuOTE5MDU4IDQ1LjE4MTEzMTMsMTE5LjkyMjE4OSA0Ni44OTQzMDUyLDExOC4yMDkwMTUgTDkwLjgwMDkyNzYsNzQuMzAyMzkyNiBMMTM0LjQ1MDU1LDExNy45NTIwMTUgQzEzNi4xNjc4ODMsMTE5LjY2OTM0OSAxMzguOTQyOTQzLDExOS42NjM1NzQgMTQwLjY1ODExLDExNy45NDg0MDcgTDE0OS45Nzc4NTIsMTA4LjYyODY2NSBDMTUxLjY5MTUwNCwxMDYuOTE1MDEzIDE1MS42OTQ2MzUsMTA0LjEzNDI3OSAxNDkuOTgxNDYxLDEwMi40MjExMDUgTDk0LjA2MTc3MDEsNDYuNTAxNDE0MSBDOTIuNjU3MzEwOSw0NS4wOTY5NTQ5IDkwLjU0NTQyMzEsNDQuODQ0OTQ0NSA4OC44ODQzODE3LDQ1LjczNzg4MDYgTDg4Ljg4NDM4MTcsNDUuNzM3ODgwNiBaIiBpZD0iQXJyb3ciID48L3BhdGg+PHBhdGggZD0iTTkwLDE3MC4xMzg4MTIgQzEzNC4yNTk0NDQsMTcwLjEzODgxMiAxNzAuMTM4ODEyLDEzNC4yNTk0NDQgMTcwLjEzODgxMiw5MCBDMTcwLjEzODgxMiw0NS43NDA1NTYyIDEzNC4yNTk0NDQsOS44NjExODc4NSA5MCw5Ljg2MTE4Nzg1IEM0NS43NDA1NTYyLDkuODYxMTg3ODUgOS44NjExODc4NSw0NS43NDA1NTYyIDkuODYxMTg3ODUsOTAgQzkuODYxMTg3ODUsMTM0LjI1OTQ0NCA0NS43NDA1NTYyLDE3MC4xMzg4MTIgOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBMOTAsMTcwLjEzODgxMiBaIE0wLDkwIEMwLDQwLjI5NDM3MjUgNDAuMjk0MzcyNSwwIDkwLDAgQzEzOS43MDU2MjcsMCAxODAsNDAuMjk0MzcyNSAxODAsOTAgQzE4MCwxMzkuNzA1NjI3IDEzOS43MDU2MjcsMTgwIDkwLDE4MCBDNDAuMjk0MzcyNSwxODAgMCwxMzkuNzA1NjI3IDAsOTAgWiIgaWQ9IkNpcmNsZSI+PC9wYXRoPjwvZz48L2c+PC9zdmc+");
}
.mapillary-popup {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mapillary-popup-content,
.mapillary-popup-content-clean {
    position: relative;
}

.mapillary-popup-capture-pointer {
    pointer-events: auto;
}

.mapillary-popup-content {
    padding: 5px 10px;
    background: white;
    border: 1px solid black;
    border-radius: 2px;
}

.mapillary-popup-float-bottom,
.mapillary-popup-float-bottom-left,
.mapillary-popup-float-bottom-right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mapillary-popup-float-top,
.mapillary-popup-float-top-left,
.mapillary-popup-float-top-right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
}

.mapillary-popup-float-left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
}

.mapillary-popup-float-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}

.mapillary-popup-tip,
.mapillary-popup-tip-inner {
    position: relative;
    z-index: 1;
    width: 0;
    height: 0;
    border: 7px solid transparent;
}

.mapillary-popup-float-top .mapillary-popup-tip {
    -ms-flex-item-align: center;
        align-self: center;
    border-top-color:black;
    border-bottom: none;
}

.mapillary-popup-float-top .mapillary-popup-tip-inner {
    position: relative;
    top: -8px;
    left: -7px;
    border-top-color: white;
    border-bottom: none;
}

.mapillary-popup-float-top-right .mapillary-popup-tip {
    -ms-flex-item-align: start;
        align-self: flex-start;
    border-top-color:black;
    border-bottom: none;
    border-left: none;
}

.mapillary-popup-float-top-right .mapillary-popup-tip-inner {
    position: relative;
    top: -9px;
    left: 1px;
    border-top-color: white;
    border-bottom: none;
    border-left: none;
}

.mapillary-popup-float-top-left .mapillary-popup-tip {
    -ms-flex-item-align: end;
        align-self: flex-end;
    border-top-color:black;
    border-bottom: none;
    border-right: none;
}

.mapillary-popup-float-top-left .mapillary-popup-tip-inner {
    position: relative;
    top: -9px;
    left: -8px;
    border-top-color: white;
    border-bottom: none;
    border-right: none;
}

.mapillary-popup-float-bottom .mapillary-popup-tip {
    -ms-flex-item-align: center;
        align-self: center;
    border-top: none;
    border-bottom-color: black;
}

.mapillary-popup-float-bottom .mapillary-popup-tip-inner {
    position: relative;
    bottom: -1px;
    left: -7px;
    border-top: none;
    border-bottom-color: white;
}

.mapillary-popup-float-bottom-right .mapillary-popup-tip {
    -ms-flex-item-align: start;
        align-self: flex-start;
    border-bottom-color:black;
    border-top: none;
    border-left: none;
}

.mapillary-popup-float-bottom-right .mapillary-popup-tip-inner {
    position: relative;
    bottom: -2px;
    left: 1px;
    border-bottom-color: white;
    border-top: none;
    border-left: none;
}

.mapillary-popup-float-bottom-left .mapillary-popup-tip {
    -ms-flex-item-align: end;
        align-self: flex-end;
    border-bottom-color:black;
    border-top: none;
    border-right: none;
}

.mapillary-popup-float-bottom-left .mapillary-popup-tip-inner {
    position: relative;
    bottom: -2px;
    left: -8px;
    border-bottom-color: white;
    border-top: none;
    border-right: none;
}

.mapillary-popup-float-left .mapillary-popup-tip {
    -ms-flex-item-align: center;
        align-self: center;
    border-left-color: black;
    border-right: none;
}

.mapillary-popup-float-left .mapillary-popup-tip-inner {
    position: relative;
    top: -7px;
    left: -8px;
    border-left-color: white;
    border-right: none;
}

.mapillary-popup-float-right .mapillary-popup-tip {
    -ms-flex-item-align: center;
        align-self: center;
    border-right-color: black;
    border-left: none;
}

.mapillary-popup-float-right .mapillary-popup-tip-inner {
    position: relative;
    top: -7px;
    left: 1px;
    border-right-color: white;
    border-left: none;
}

.mapillary-popup-float-top-left .mapillary-popup-content {
    border-bottom-right-radius: 0;
}

.mapillary-popup-float-top-right .mapillary-popup-content {
    border-bottom-left-radius: 0;
}

.mapillary-popup-float-bottom-left .mapillary-popup-content {
    border-top-right-radius: 0;
}

.mapillary-popup-float-bottom-right .mapillary-popup-content {
    border-top-left-radius: 0;
}
.mapillary-sequence-container {
    position: absolute;
    top: 14px;
    pointer-events: none;
    font-size: 0;
    z-index: 10;
    width: 100%;
}

.mapillary-sequence-stepper,
.mapillary-sequence-controls {
    position: absolute;
    left: 50%;
    cursor: pointer;
}

.mapillary-sequence-stepper {
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
}

.mapillary-sequence-expander-button,
.mapillary-sequence-playback-button,
.mapillary-sequence-timeline-button {
    display: inline-block;
    height: 100%;
    pointer-events: auto;
}

.mapillary-sequence-expander-button {
    width: calc(100% * 16 / 88);
    background: rgba(0, 0, 0, 0.5);
}

.mapillary-sequence-expander-bar {
    background-color: white;
    width: 12.5%;
    border-radius: 1px;
    height: calc(100% * 16 / 30);
    position: relative;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.mapillary-sequence-playback-button,
.mapillary-sequence-timeline-button {
    width: 0;
    background: rgba(0, 0, 0, 0.5);
    -webkit-transition: width 0.15s ease-out;
    transition: width 0.15s ease-out;
}

.mapillary-sequence-speed-container,
.mapillary-sequence-position-container,
.mapillary-sequence-position-container-inactive {
    display: inline-block;
    height: 100%;
    vertical-align: top;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: auto;
    padding-right: 3px;
}

.mapillary-sequence-speed-container {
    padding-left: 3px;
}

.mapillary-sequence-position-container,
.mapillary-sequence-position-container-inactive {
    padding-left: 16px;
}

.mapillary-sequence-speed,
.mapillary-sequence-position {
    margin: 0;
    padding: 0;
    margin-top: 7px;
    height: 16px;
    cursor: pointer;
    outline: none;
    background: none;
    -webkit-appearance: none;
}

.mapillary-sequence-position-container-inactive .mapillary-sequence-position {
    cursor: default;
}

.mapillary-sequence-fast-icon,
.mapillary-sequence-fast-icon-gray,
.mapillary-sequence-timeline-icon,
.mapillary-sequence-timeline-icon-gray,
.mapillary-sequence-slow-icon,
.mapillary-sequence-switch-icon,
.mapillary-sequence-close-icon {
    position: relative;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0;
}

.mapillary-sequence-fast-icon,
.mapillary-sequence-timeline-icon {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transition-property: opacity;
    transition-property: opacity;
}

.mapillary-sequence-fast-icon,
.mapillary-sequence-fast-icon-gray,
.mapillary-sequence-timeline-icon,
.mapillary-sequence-timeline-icon-gray,
.mapillary-sequence-slow-icon {
    width: calc(100% * 24 / 36);
    height: calc(100% * 24 / 30);
}

.mapillary-sequence-switch-icon,
.mapillary-sequence-close-icon {
    width: calc(100% * 16 / 36);
    height: calc(100% * 16 / 30);
}

.mapillary-sequence-fast-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+CiAgICAgIGZhc3QKICAgIDwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgPHBhdGggZD0iTTIwLjE0ODQgMTMuNWMtMi4xNTE3IDAtMi41NDc4Ljg2Mi0zLjU2NzYgMS4zNjA1LTEuODUzMy45MDYtMy4wOTkzIDIuMDcyNi0zLjA5OTMgNC4yNjQ1IDAgMS4xNjE0LS4wMTAzIDEuODc1LS4zNzAzIDEuODc1LS42NTc1IDAtLjk5MzgtLjY5MS0xLjI5ODgtMS4yMi0uMjA4Mi4wNjktLjQyNjcuMTAxMi0uNjQ1Ny4wOTUtLjg0MzcgMC01LjQ2My0xLjY4NjctNS40NjMtMi42MjUgMC0uNTUxLjM3MDMtLjg0Ny4zNzAzLTEuNXYtLjAxYy0uMDE2NS0uNTUzNC0uMjg2Ny0xLjA2NzMtLjczMDgtMS4zOS0uNTk0My0uNDMwNS0xLjA0NC0xLjAzNS0xLjI4ODItMS43MzIzLS4xNzkyLjA4NjMtLjM3NS4xMzE1LS41NzM1LjEzMjNDMi43NzA1IDEyLjc1IDIgMTEuODczIDIgMTAuNWMwLTEuMzY5NC4yNjYtMS44NzUuNTU1Ni0xLjg3NS4zNzU0IDAgLjQ2My4xODc1LjQ2My4xODc1cy4yNTY4LS45NDEuNzc5OC0uOTQxYy4yNzEyLjAwMzcuNTE3Ny4xNjAyLjYzOS40MDU3Ljg4MDItMS4wMDk3IDIuMTU5LTEuNTY5NiAzLjQ4ODQtMS41MjcyIDUuMzcyIDAgNS43Mjk3IDMuMzc1IDcuNDA3NSAzLjM3NS42MjE0IDAgMS4xMTEtLjg5MjcgMS4xMTEtMS4xMjUgMC0uNzIwNi0zLjMzMzMtMi4wNzU3LTMuMzMzMy01LjI1IDAtLjQ5Ni4zOTM1LS43NS45MjYtLjc1LjQ2MyAwIDEuNDUxMy42MTA0IDIuMDM3IDEuNS44OTUgMS4zNTk0Ljc1OSAzIDEuODUyIDMuNzUuNDA5LjI4MDggMS40NTE4LjI2MDMgMi4yMjIuNzUuNzcwNS40ODk3IDEuMjQ2NCAxLjMwMjcgMS40ODE2IDEuNS4yMTcuMTkwMy4zNTAyLjQ2LjM3MDQuNzUgMCAuMzYxMy0uODA1MyAyLjI1LTEuODUxNiAyLjI1em0tOC44ODkgM2MtLjk5MDctLjAxODgtMS45NjY1LS4yNDg0LTIuODY0LS42NzM4LS4wNTkyLjIxOTgtLjA5MjUuNDQ2LS4wOTkuNjczOCAwIC42MjczLjQ3OTcuODY4IDIuMjIyIDEuNS4zOTE2LjEzNC43Njk3LjMwNTIgMS4xMjkzLjUxMTMuMDQwNC0uNjgzLjExNTQtMS4zNjMyLjIyNS0yLjAzODMtLjIwMDQuMDE0My0uNDAyMi4wMjctLjYxMzMuMDI3eiIgaWQ9ImEiLz4KICAgIDwvZGVmcz4KICAgIDx1c2UgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiB4bGluazpocmVmPSIjYSIvPgogIDwvc3ZnPg==");
}

.mapillary-sequence-fast-icon-gray {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgPHRpdGxlPgogICAgZmFzdAogIDwvdGl0bGU+CiAgPGRlZnM+CiAgICA8cGF0aCBkPSJNMjAuMTQ4NCAxMy41Yy0yLjE1MTcgMC0yLjU0NzguODYyLTMuNTY3NiAxLjM2MDUtMS44NTMzLjkwNi0zLjA5OTMgMi4wNzI2LTMuMDk5MyA0LjI2NDUgMCAxLjE2MTQtLjAxMDMgMS44NzUtLjM3MDMgMS44NzUtLjY1NzUgMC0uOTkzOC0uNjkxLTEuMjk4OC0xLjIyLS4yMDgyLjA2OS0uNDI2Ny4xMDEyLS42NDU3LjA5NS0uODQzNyAwLTUuNDYzLTEuNjg2Ny01LjQ2My0yLjYyNSAwLS41NTEuMzcwMy0uODQ3LjM3MDMtMS41di0uMDFjLS4wMTY1LS41NTM0LS4yODY3LTEuMDY3My0uNzMwOC0xLjM5LS41OTQzLS40MzA1LTEuMDQ0LTEuMDM1LTEuMjg4Mi0xLjczMjMtLjE3OTIuMDg2My0uMzc1LjEzMTUtLjU3MzUuMTMyM0MyLjc3MDUgMTIuNzUgMiAxMS44NzMgMiAxMC41YzAtMS4zNjk0LjI2Ni0xLjg3NS41NTU2LTEuODc1LjM3NTQgMCAuNDYzLjE4NzUuNDYzLjE4NzVzLjI1NjgtLjk0MS43Nzk4LS45NDFjLjI3MTIuMDAzNy41MTc3LjE2MDIuNjM5LjQwNTcuODgwMi0xLjAwOTcgMi4xNTktMS41Njk2IDMuNDg4NC0xLjUyNzIgNS4zNzIgMCA1LjcyOTcgMy4zNzUgNy40MDc1IDMuMzc1LjYyMTQgMCAxLjExMS0uODkyNyAxLjExMS0xLjEyNSAwLS43MjA2LTMuMzMzMy0yLjA3NTctMy4zMzMzLTUuMjUgMC0uNDk2LjM5MzUtLjc1LjkyNi0uNzUuNDYzIDAgMS40NTEzLjYxMDQgMi4wMzcgMS41Ljg5NSAxLjM1OTQuNzU5IDMgMS44NTIgMy43NS40MDkuMjgwOCAxLjQ1MTguMjYwMyAyLjIyMi43NS43NzA1LjQ4OTcgMS4yNDY0IDEuMzAyNyAxLjQ4MTYgMS41LjIxNy4xOTAzLjM1MDIuNDYuMzcwNC43NSAwIC4zNjEzLS44MDUzIDIuMjUtMS44NTE2IDIuMjV6bS04Ljg4OSAzYy0uOTkwNy0uMDE4OC0xLjk2NjUtLjI0ODQtMi44NjQtLjY3MzgtLjA1OTIuMjE5OC0uMDkyNS40NDYtLjA5OS42NzM4IDAgLjYyNzMuNDc5Ny44NjggMi4yMjIgMS41LjM5MTYuMTM0Ljc2OTcuMzA1MiAxLjEyOTMuNTExMy4wNDA0LS42ODMuMTE1NC0xLjM2MzIuMjI1LTIuMDM4My0uMjAwNC4wMTQzLS40MDIyLjAyNy0uNjEzMy4wMjd6IiBpZD0iYSIvPgogIDwvZGVmcz4KICA8dXNlIGZpbGw9IiNEN0RBREQiIGZpbGwtcnVsZT0ibm9uemVybyIgeGxpbms6aHJlZj0iI2EiLz4KPC9zdmc+");
}

.mapillary-sequence-timeline-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+ICA8cGF0aCBpZD0ic2NydWJiZXItYSIgZD0iTTksNiBMMTUsNiBDMTYuMTA0NTY5NSw2IDE3LDYuODk1NDMwNSAxNyw4IEwxNywxNiBDMTcsMTcuMTA0NTY5NSAxNi4xMDQ1Njk1LDE4IDE1LDE4IEw5LDE4IEM3Ljg5NTQzMDUsMTggNywxNy4xMDQ1Njk1IDcsMTYgTDcsOCBDNyw2Ljg5NTQzMDUgNy44OTU0MzA1LDYgOSw2IFogTTIwLjYzMzY4ODEsMTMgTDE5LDEzIEMxOC40NDc3MTUzLDEzIDE4LDEyLjU1MjI4NDcgMTgsMTIgQzE4LDExLjQ0NzcxNTMgMTguNDQ3NzE1MywxMSAxOSwxMSBMMjAuNjMzNjg4MSwxMSBDMjAuNDEyNjQzLDEwLjYxNzU2OTMgMjAuNDY1NzExMywxMC4xMjAwNzUxIDIwLjc5Mjg5MzIsOS43OTI4OTMyMiBDMjEuMTgzNDE3NSw5LjQwMjM2ODkzIDIxLjgxNjU4MjUsOS40MDIzNjg5MyAyMi4yMDcxMDY4LDkuNzkyODkzMjIgTDIzLjcwNzEwNjgsMTEuMjkyODkzMiBDMjMuODg4MDcxMiwxMS40NzM4NTc2IDI0LDExLjcyMzg1NzYgMjQsMTIgQzI0LDEyLjI3NjE0MjQgMjMuODg4MDcxMiwxMi41MjYxNDI0IDIzLjcwNzEwNjgsMTIuNzA3MTA2OCBMMjIuMjA3MTA2OCwxNC4yMDcxMDY4IEMyMS44MTY1ODI1LDE0LjU5NzYzMTEgMjEuMTgzNDE3NSwxNC41OTc2MzExIDIwLjc5Mjg5MzIsMTQuMjA3MTA2OCBDMjAuNDY1NzExMywxMy44Nzk5MjQ5IDIwLjQxMjY0MywxMy4zODI0MzA3IDIwLjYzMzY4ODEsMTMgWiBNMy4zNjYzMTE4NiwxMyBDMy41ODczNTcwNCwxMy4zODI0MzA3IDMuNTM0Mjg4NjgsMTMuODc5OTI0OSAzLjIwNzEwNjc4LDE0LjIwNzEwNjggQzIuODE2NTgyNDksMTQuNTk3NjMxMSAyLjE4MzQxNzUxLDE0LjU5NzYzMTEgMS43OTI4OTMyMiwxNC4yMDcxMDY4IEwwLjI5Mjg5MzIxOSwxMi43MDcxMDY4IEMwLjExMTkyODgxMywxMi41MjYxNDI0IDAsMTIuMjc2MTQyNCAwLDEyIEMwLDExLjcyMzg1NzYgMC4xMTE5Mjg4MTMsMTEuNDczODU3NiAwLjI5Mjg5MzIxOSwxMS4yOTI4OTMyIEwxLjc5Mjg5MzIyLDkuNzkyODkzMjIgQzIuMTgzNDE3NTEsOS40MDIzNjg5MyAyLjgxNjU4MjQ5LDkuNDAyMzY4OTMgMy4yMDcxMDY3OCw5Ljc5Mjg5MzIyIEMzLjUzNDI4ODY4LDEwLjEyMDA3NTEgMy41ODczNTcwNCwxMC42MTc1NjkzIDMuMzY2MzExODYsMTEgTDUsMTEgQzUuNTUyMjg0NzUsMTEgNiwxMS40NDc3MTUzIDYsMTIgQzYsMTIuNTUyMjg0NyA1LjU1MjI4NDc1LDEzIDUsMTMgTDMuMzY2MzExODYsMTMgWiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHVzZSBmaWxsPSIjRkZGIiB4bGluazpocmVmPSIjc2NydWJiZXItYSIvPjwvZz4gIDwvc3ZnPiAg");
}

.mapillary-sequence-timeline-icon-gray {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+ICA8cGF0aCBpZD0ic2NydWJiZXItYSIgZD0iTTksNiBMMTUsNiBDMTYuMTA0NTY5NSw2IDE3LDYuODk1NDMwNSAxNyw4IEwxNywxNiBDMTcsMTcuMTA0NTY5NSAxNi4xMDQ1Njk1LDE4IDE1LDE4IEw5LDE4IEM3Ljg5NTQzMDUsMTggNywxNy4xMDQ1Njk1IDcsMTYgTDcsOCBDNyw2Ljg5NTQzMDUgNy44OTU0MzA1LDYgOSw2IFogTTIwLjYzMzY4ODEsMTMgTDE5LDEzIEMxOC40NDc3MTUzLDEzIDE4LDEyLjU1MjI4NDcgMTgsMTIgQzE4LDExLjQ0NzcxNTMgMTguNDQ3NzE1MywxMSAxOSwxMSBMMjAuNjMzNjg4MSwxMSBDMjAuNDEyNjQzLDEwLjYxNzU2OTMgMjAuNDY1NzExMywxMC4xMjAwNzUxIDIwLjc5Mjg5MzIsOS43OTI4OTMyMiBDMjEuMTgzNDE3NSw5LjQwMjM2ODkzIDIxLjgxNjU4MjUsOS40MDIzNjg5MyAyMi4yMDcxMDY4LDkuNzkyODkzMjIgTDIzLjcwNzEwNjgsMTEuMjkyODkzMiBDMjMuODg4MDcxMiwxMS40NzM4NTc2IDI0LDExLjcyMzg1NzYgMjQsMTIgQzI0LDEyLjI3NjE0MjQgMjMuODg4MDcxMiwxMi41MjYxNDI0IDIzLjcwNzEwNjgsMTIuNzA3MTA2OCBMMjIuMjA3MTA2OCwxNC4yMDcxMDY4IEMyMS44MTY1ODI1LDE0LjU5NzYzMTEgMjEuMTgzNDE3NSwxNC41OTc2MzExIDIwLjc5Mjg5MzIsMTQuMjA3MTA2OCBDMjAuNDY1NzExMywxMy44Nzk5MjQ5IDIwLjQxMjY0MywxMy4zODI0MzA3IDIwLjYzMzY4ODEsMTMgWiBNMy4zNjYzMTE4NiwxMyBDMy41ODczNTcwNCwxMy4zODI0MzA3IDMuNTM0Mjg4NjgsMTMuODc5OTI0OSAzLjIwNzEwNjc4LDE0LjIwNzEwNjggQzIuODE2NTgyNDksMTQuNTk3NjMxMSAyLjE4MzQxNzUxLDE0LjU5NzYzMTEgMS43OTI4OTMyMiwxNC4yMDcxMDY4IEwwLjI5Mjg5MzIxOSwxMi43MDcxMDY4IEMwLjExMTkyODgxMywxMi41MjYxNDI0IDAsMTIuMjc2MTQyNCAwLDEyIEMwLDExLjcyMzg1NzYgMC4xMTE5Mjg4MTMsMTEuNDczODU3NiAwLjI5Mjg5MzIxOSwxMS4yOTI4OTMyIEwxLjc5Mjg5MzIyLDkuNzkyODkzMjIgQzIuMTgzNDE3NTEsOS40MDIzNjg5MyAyLjgxNjU4MjQ5LDkuNDAyMzY4OTMgMy4yMDcxMDY3OCw5Ljc5Mjg5MzIyIEMzLjUzNDI4ODY4LDEwLjEyMDA3NTEgMy41ODczNTcwNCwxMC42MTc1NjkzIDMuMzY2MzExODYsMTEgTDUsMTEgQzUuNTUyMjg0NzUsMTEgNiwxMS40NDc3MTUzIDYsMTIgQzYsMTIuNTUyMjg0NyA1LjU1MjI4NDc1LDEzIDUsMTMgTDMuMzY2MzExODYsMTMgWiIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHVzZSBmaWxsPSIjRDdEQUREIiB4bGluazpocmVmPSIjc2NydWJiZXItYSIvPjwvZz4gIDwvc3ZnPiAg");
}

.mapillary-sequence-slow-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHRpdGxlPiAgc2xvdzwvdGl0bGU+PGRlZnM+ICA8cGF0aCBkPSJNMTguOTMzNyAxMy4yMjIybC0uNzgxNiAxLjg5NjNjLjMzMTcuMjUwMyAxLjMzNSAxLjEwMDIgMS4zMzUgMi4yNTE2LS4wMjIzLjMxMy0uMTU4LjYwNy0uMzgxNi44MjctLjA3NjguMDgwMy0uMTgzNC4xMjU0LS4yOTQ2LjEyNDNoLTIuNjU4Yy0uMTQ1MiAwLS4yNzk2LS4wNzY3LS4zNTM0LS4yMDE3bC0uNzEzNi0xLjIwNzRjLS4xMjAyLS4yMDM3LS4xNDY4LS40NDkyLS4wNzMtLjY3NGwuMTI0OC0uMzgwNUg3LjRjLjM2MS40MjM0LjU2ODguOTU2My41ODk4IDEuNTEyNS0uMDIyLjMxMy0uMTU3Ny42MDctLjM4MTMuODI2Ny0uMDc2Ny4wODA0LS4xODM0LjEyNTUtLjI5NDYuMTI0NEg0LjY1NmMtLjE0NTIgMC0uMjc5Ni0uMDc2Ny0uMzUzNS0uMjAxN2wtLjcxMzYtMS4yMDc1Yy0uMTIwNC0uMjAzNi0uMTQ3LS40NDkyLS4wNzMyLS42NzRsLjAwODItLjAyNDZjLS42MjkuNDgzMi0xLjM4NC43NzQ3LTIuMTc0My44Mzk2LS4xMTk3LjAxNzYtLjIzODUtLjAzNzItLjMwMy0uMTM5Ny0uMDY0My0uMTAyNS0uMDYyLS4yMzM0LjAwNTctLjMzMzdDMy40MjQ2IDEzLjQwMTUgMi43MDggNi4wMDIyIDExLjMxMyA2LjAwMjJjMi42OTQ1LS4wNTkgNS4yNzU1IDEuMDg1IDcuMDQxNyAzLjEyMTcuNzg2LS4yNDIyIDEuNDY1LS43NDY3IDEuOTI0Mi0xLjQyOTIuMzUzLS40NTM0Ljk3MjQtLjYwMyAxLjQ5MzUtLjM2MDdsMS45ODg3LjkyNWMuMTY0NS4wNzYzLjI1OTguMjUxLjIzNS40MzA4LS4yMDI1IDEuNDU1NC0xLjc4ODYgMy43NjYyLTUuMDYyNSA0LjUzMjR6IiBpZD0iYSIvPjwvZGVmcz48dXNlIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgeGxpbms6aHJlZj0iI2EiLz4gIDwvc3ZnPiAg");
}

.mapillary-sequence-switch-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDx0aXRsZT4KICAgICAgcGxheV9kaXJlY3Rpb24KICAgIDwvdGl0bGU+CiAgICA8cGF0aCBkPSJNNiA0aDhjLjU1MjMgMCAxIC40NDc3IDEgMXMtLjQ0NzcgMS0xIDFINnYyLjA1ODRjLS4wMDM0LjE2NjgtLjExMTguMzE4Mi0uMjgxNS4zOTM0LS4xNjk4LjA3NS0uMzczLjA2MTctLjUyOC0uMDM1TC4yMTQzIDUuMzU4NEMuMDggNS4yNzcgMCA1LjE0MyAwIDVjMC0uMTQzLjA4LS4yNzcuMjE0My0uMzU4NWw0Ljk3NjItMy4wNTgzYy4xNTUtLjA5NjcuMzU4My0uMTEuNTI4LS4wMzUuMTY5OC4wNzUyLjI3OC4yMjY2LjI4MTUuMzkzNFY0em00IDZWNy45NDE2Yy4wMDM0LS4xNjY4LjExMTctLjMxODIuMjgxNS0uMzkzNC4xNjk3LS4wNzUuMzczLS4wNjE3LjUyOC4wMzVsNC45NzYyIDMuMDU4M0MxNS45MiAxMC43MjMgMTYgMTAuODU3IDE2IDExYzAgLjE0My0uMDguMjc3LS4yMTQzLjM1ODRsLTQuOTc2MiAzLjA1ODRjLS4xNTUuMDk2Ny0uMzU4Mi4xMS0uNTI4LjAzNS0uMTY5Ny0uMDc1Mi0uMjc4LS4yMjY2LS4yODE1LS4zOTM0VjEySDJjLS41NTIzIDAtMS0uNDQ3Ny0xLTFzLjQ0NzctMSAxLTFoOHoiIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogIDwvc3ZnPg==");
}

.mapillary-sequence-close-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDx0aXRsZT4KICAgICAgY2xvc2UKICAgIDwvdGl0bGU+CiAgICA8cGF0aCBkPSJNOS4yNzM0IDguMDA0N2wzLjQ0MTMgMy40NDE0Yy4yMzE1LjIyOS4zMjI3LjU2NDYuMjM5Ljg3OTMtLjA4MzguMzE0Ny0uMzI5Ni41NjA0LS42NDQzLjY0NC0uMzE0Ny4wODQtLjY1LS4wMDczLS44NzktLjIzODhMNy45ODg4IDkuMjg5bC0zLjQzNjUgMy40MzY1Yy0uMzU2LjM0Ni0uOTI0LjM0MTctMS4yNzUtLjAwOTMtLjM1MS0uMzUxLS4zNTUtLjkxOS0uMDA5LTEuMjc1bDMuNDM2Mi0zLjQzNjQtMy40NDk1LTMuNDQ5NmMtLjM0NDQtLjM1NjMtLjMzOTYtLjkyMy4wMTA4LTEuMjczNC4zNTA0LS4zNTA0LjkxNy0uMzU1MiAxLjI3MzMtLjAxMDhMNy45ODkgNi43MjA1bDMuNDU0NC0zLjQ1NDVjLjIyOTQtLjIyOTQuNTYzOC0uMzE5Ljg3NzItLjIzNS4zMTM1LjA4NC41NTgzLjMyODcuNjQyMy42NDIyLjA4MzguMzEzNC0uMDA1OC42NDc4LS4yMzUyLjg3NzJMOS4yNzM0IDguMDA0N3oiIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogIDwvc3ZnPg==");
}

.mapillary-sequence-icon-visible {
    opacity: 1;
}

.mapillary-sequence-controls-expanded .mapillary-sequence-fast-icon,
.mapillary-sequence-controls-expanded .mapillary-sequence-timeline-icon {
    opacity: 1;
    -webkit-transition-delay: 0.12s;
            transition-delay: 0.12s;
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
    -webkit-transition-property: opacity;
    transition-property: opacity;
}

.mapillary-sequence-controls-expanded .mapillary-sequence-playback-button,
.mapillary-sequence-controls-expanded .mapillary-sequence-timeline-button {
    width: calc(100% * 36 / 88);
}

.mapillary-sequence-playback,
.mapillary-sequence-timeline {
    position: absolute;
    height: 30px;
    width: 405px;
    max-width: 80%;
    min-width: 271px;
    left: 50%;
    padding-left: 5px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
}

.mapillary-sequence-switch-button,
.mapillary-sequence-switch-button-inactive,
.mapillary-sequence-slow-container,
.mapillary-sequence-fast-container,
.mapillary-sequence-close-button {
    width: 36px;
    height: 100%;
    display: inline-block;
    pointer-events: auto;
    background: rgba(0, 0, 0, 0.5);
}

.mapillary-sequence-switch-button,
.mapillary-sequence-switch-button-inactive,
.mapillary-sequence-close-button {
    cursor: pointer;
}

.mapillary-sequence-play,
.mapillary-sequence-play-inactive,
.mapillary-sequence-stop,
.mapillary-sequence-step-next,
.mapillary-sequence-step-next-inactive,
.mapillary-sequence-step-next-highlight,
.mapillary-sequence-step-prev,
.mapillary-sequence-step-prev-inactive,
.mapillary-sequence-step-prev-highlight {
    display: inline-block;
    width: calc(100% / 3);
    height: 100%;
    pointer-events: auto;
}

.mapillary-sequence-play-inactive,
.mapillary-sequence-step-next-inactive,
.mapillary-sequence-step-prev-inactive {
    cursor: default;
}

.mapillary-sequence-play,
.mapillary-sequence-play-inactive,
.mapillary-sequence-stop,
.mapillary-sequence-step-next,
.mapillary-sequence-step-next-inactive,
.mapillary-sequence-step-prev,
.mapillary-sequence-step-prev-inactive {
    background: rgba(0, 0, 0, 0.5);
}

.mapillary-sequence-step-next-highlight,
.mapillary-sequence-step-prev-highlight {
    background: rgba(0, 0, 0, 0.5);
}

.mapillary-sequence-switch-button,
.mapillary-sequence-switch-button-inactive,
.mapillary-sequence-position-container,
.mapillary-sequence-position-container-inactive {
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
}

.mapillary-sequence-close-button {
    border-bottom-right-radius: 8px;
    border-top-right-radius: 8px;
}

.mapillary-sequence-play .mapillary-sequence-icon,
.mapillary-sequence-play-inactive .mapillary-sequence-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBwbGF5CiAgPC90aXRsZT4KICA8cGF0aCBkPSJNMTQuODk1MiA4LjY4NjVMMy41MDgyIDE1Ljc1N0MyLjY3ODMgMTYuMzAyIDIgMTUuODk4IDIgMTQuODY1VjEuMTM2QzIgLjEgMi42NzgzLS4zMDEgMy41MDk2LjI0M2wxMS4zODcgNy4wNzNjLS4wMDE0IDAgLjQwNDMuMjg2Ny40MDQzLjY4NTMgMCAuMzk4OC0uNDA1OC42ODU1LS40MDU4LjY4NTV6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==");
}

.mapillary-sequence-stop .mapillary-sequence-icon,
.mapillary-sequence-stop-inactive .mapillary-sequence-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBzdG9wCiAgPC90aXRsZT4KICA8cGF0aCBkPSJNMCAxLjk5NEMwIC44OTMuODk0NSAwIDEuOTk0IDBoMTIuMDEyQzE1LjEwNyAwIDE2IC44OTQ1IDE2IDEuOTk0djEyLjAxMkMxNiAxNS4xMDcgMTUuMTA1NSAxNiAxNC4wMDYgMTZIMS45OTRDLjg5MyAxNiAwIDE1LjEwNTUgMCAxNC4wMDZWMS45OTR6IiBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+Cg==");
}

.mapillary-sequence-step-prev .mapillary-sequence-icon,
.mapillary-sequence-step-prev-inactive .mapillary-sequence-icon,
.mapillary-sequence-step-prev-highlight .mapillary-sequence-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBjaGV2cm9ubGVmdAogIDwvdGl0bGU+CiAgPHBhdGggZD0iTTYuMjY4IDguMDAwMmw1LjUyMTUtNS45NDczYy40NzEtLjQ2OTcuNDcxLTEuMjI5NiAwLTEuNzAxLS40NzEtLjQ2OTQtMS4yMzIzLS40Njk0LTEuNzAzNCAwTDMuMzUzNCA3LjE0OGMtLjQ3MS40NzE0LS40NzEgMS4yMzMgMCAxLjcwMjZsNi43MzI4IDYuNzk2Yy40Njk1LjQ3MyAxLjIzMjQuNDY5NSAxLjcwMzUgMCAuNDcxLS40Njc4LjQ3MS0xLjIyOTUgMC0xLjcwMDhMNi4yNjggOC4wMDAyeiIgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=");
}

.mapillary-sequence-step-next .mapillary-sequence-icon,
.mapillary-sequence-step-next-inactive .mapillary-sequence-icon,
.mapillary-sequence-step-next-highlight .mapillary-sequence-icon {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8dGl0bGU+CiAgICBjaGV2cm9ucmlnaHQKICA8L3RpdGxlPgogIDxwYXRoIGQ9Ik05Ljg3NSA4LjAwMDJMNC4zNTMyIDIuMDUzYy0uNDcxLS40Njk3LS40NzEtMS4yMjk2IDAtMS43MDEuNDcxMi0uNDY5NCAxLjIzMjMtLjQ2OTQgMS43MDM0IDBsNi43MzI4IDYuNzk2Yy40NzEuNDcxNC40NzEgMS4yMzMgMCAxLjcwMjZsLTYuNzMyOCA2Ljc5NmMtLjQ2OTMuNDczLTEuMjMyMi40Njk1LTEuNzAzNCAwLS40NzEtLjQ2NzgtLjQ3MS0xLjIyOTUgMC0xLjcwMDhMOS44NzUgOC4wMDAyeiIgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJldmVub2RkIi8+Cjwvc3ZnPgo=");
}

.mapillary-sequence-play-inactive .mapillary-sequence-icon,
.mapillary-sequence-stop-inactive .mapillary-sequence-icon,
.mapillary-sequence-step-next-inactive .mapillary-sequence-icon,
.mapillary-sequence-step-prev-inactive .mapillary-sequence-icon,
.mapillary-sequence-switch-button-inactive .mapillary-sequence-switch-icon {
    opacity: 0.35;
}

.mapillary-sequence-icon {
    position: relative;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: calc(100% * 16 / 36);
    height: calc(100% * 16 / 30);
    background-size: contain;
    background-repeat: no-repeat;
}

.mapillary-sequence-speed::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid white;
    background: white;
    cursor: pointer;
    margin-top: -6px;
}

.mapillary-sequence-position::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid white;
    background: white;
    cursor: pointer;
    margin-top: -6px;
}

.mapillary-sequence-position-container-inactive
    .mapillary-sequence-position::-webkit-slider-thumb {
    border: none;
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.mapillary-sequence-speed::-webkit-slider-runnable-track,
.mapillary-sequence-position::-webkit-slider-runnable-track {
    height: 4px;
    border-radius: 2px;
    background-color: white;
}

.mapillary-sequence-position-container-inactive
    .mapillary-sequence-position::-webkit-slider-runnable-track {
    background-color: #d7dadd;
}

.mapillary-sequence-speed::-moz-focus-outer,
.mapillary-sequence-position::-moz-focus-outer {
    border: 0;
}

.mapillary-sequence-speed::-moz-range-track,
.mapillary-sequence-position::-moz-range-track {
    height: 4px;
    border-radius: 2px;
    background-color: white;
}

.mapillary-sequence-position-container-inactive
    .mapillary-sequence-position::-moz-range-track {
    background-color: #d7dadd;
}

.mapillary-sequence-speed::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
    background: #dee5ed;
    cursor: pointer;
    margin-top: -6px;
    box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.5);
}

.mapillary-sequence-position::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
    background: #ff861b;
    cursor: pointer;
    margin-top: -6px;
    box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.5);
}

.mapillary-sequence-position-container-inactive
    .mapillary-sequence-position::-moz-range-thumb {
    border: none;
    background: none;
    box-shadow: none;
}

.mapillary-sequence-speed::-ms-track,
.mapillary-sequence-position::-ms-track {
    height: 2px;
    border-radius: 2px;
    background-color: white;
}

.mapillary-sequence-position-container-inactive
    .mapillary-sequence-position::-ms-track {
    background-color: #d7dadd;
}

.mapillary-sequence-speed::-ms-fill-lower,
.mapillary-sequence-position::-ms-fill-lower {
    height: 0;
    background: none;
}

.mapillary-sequence-speed::-ms-fill-upper,
.mapillary-sequence-position::-ms-fill-upper {
    height: 0;
    background: none;
}

.mapillary-sequence-speed::-ms-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
    background: white;
    cursor: pointer;
    margin-top: 0;
}

.mapillary-sequence-position::-ms-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
    background: white;
    cursor: pointer;
    margin-top: 0;
}

.mapillary-sequence-position-container-inactive
    .mapillary-sequence-position::-ms-thumb {
    border: none;
    background: none;
    box-shadow: none;
}

.mapillary-sequence-speed::-ms-tooltip,
.mapillary-sequence-position::-ms-tooltip {
    display: none;
}

@media (hover: hover) {
    .mapillary-sequence-play:hover,
    .mapillary-sequence-stop:hover,
    .mapillary-sequence-step-prev:hover,
    .mapillary-sequence-step-next:hover {
        background: rgba(0, 0, 0, 0.5);
    }

    .mapillary-sequence-play-inactive:hover,
    .mapillary-sequence-step-prev-inactive:hover,
    .mapillary-sequence-step-next-inactive:hover {
        background: rgba(0, 0, 0, 0.5);
    }

    .mapillary-sequence-switch-button-inactive:hover {
        background: rgba(0, 0, 0, 0.5);
    }

    .mapillary-sequence-playback-button:hover,
    .mapillary-sequence-timeline-button:hover,
    .mapillary-sequence-switch-button:hover,
    .mapillary-sequence-close-button:hover {
        background: rgba(0, 0, 0, 0.5);
    }
}
.mapillary-slider-container {
    position: absolute;
    bottom: 40px;
    height: 30px;
    left: 50%;
    padding-left: 5px;
    pointer-events: none;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    z-index: 10;
}

.mapillary-slider-border {
    display: inline-block;
    width: 8px;
    height: 100%;
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
    pointer-events: auto;
    cursor: default;
    background: rgba(0, 0, 0, 0.5);
}

.mapillary-slider-mode-button,
.mapillary-slider-mode-button-2d,
.mapillary-slider-mode-button-inactive,
.mapillary-slider-mode-button-2d-inactive {
    width: 26px;
    height: 100%;
    display: inline-block;
    pointer-events: auto;
    background: rgba(0, 0, 0, 0.5);

}

.mapillary-slider-mode-button,
.mapillary-slider-mode-button-2d {
    cursor: default;
}

.mapillary-slider-mode-button-inactive,
.mapillary-slider-mode-button-2d-inactive {
    cursor: pointer;
}

.mapillary-slider-mode-icon,
.mapillary-slider-mode-icon-2d {
    position: relative;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
    width: 18px;
    height: 18px;
    margin-left: 4px;
}

.mapillary-slider-mode-icon {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE4IDE3di44NjRjMCAuNTA1IDAgLjk5Ni0uMDM0IDEuNDEyLS4wMzcuNDU4LS4xMjUuOTk3LS40MDIgMS41NGE0IDQgMCAwIDEtMS43NDggMS43NDhjLS41NDMuMjc3LTEuMDgyLjM2NS0xLjU0LjQwMi0uNDE2LjAzNC0uOTA3LjAzNC0xLjQxMi4wMzRINi4xMzZjLS41MDUgMC0uOTk2IDAtMS40MTItLjAzNC0uNDU4LS4wMzctLjk5Ny0uMTI1LTEuNTQtLjQwMmE0IDQgMCAwIDEtMS43NDgtMS43NDhjLS4yNzctLjU0My0uMzY1LTEuMDgyLS40MDItMS41NEExOC4zNiAxOC4zNiAwIDAgMSAxIDE3Ljg2NHYtNi43MjhjMC0uNTA1IDAtLjk5Ni4wMzQtMS40MTIuMDM3LS40NTguMTI1LS45OTcuNDAyLTEuNTRhNCA0IDAgMCAxIDEuNzQ4LTEuNzQ4Yy41NDMtLjI3NyAxLjA4Mi0uMzY1IDEuNTQtLjQwMkM1LjE0IDYgNS42MyA2IDYuMTM2IDZIN3YyaC0uOGMtMS4xMiAwLTEuNjggMC0yLjEwOC4yMThhMiAyIDAgMCAwLS44NzQuODc0QzMgOS41MiAzIDEwLjA4IDMgMTEuMnY2LjZjMCAxLjEyIDAgMS42OC4yMTggMi4xMDhhMiAyIDAgMCAwIC44NzQuODc0QzQuNTIgMjEgNS4wOCAyMSA2LjIgMjFoNi42YzEuMTIgMCAxLjY4IDAgMi4xMDgtLjIxOGEyIDIgMCAwIDAgLjg3NC0uODc0QzE2IDE5LjQ4IDE2IDE4LjEyIDE2IDE3aDJ6TTE2LjUxIDcuMjM2djMuNzFoLjc4YzEuMDk0IDAgMS42Ny0uNTYzIDEuNjctMS44NiAwLTEuMjkzLS41NzYtMS44NS0xLjY2Ny0xLjg1aC0uNzg0eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNy4zMjcgMi42MzhDNyAzLjI4IDcgNC4xMiA3IDUuOHY2LjRjMCAxLjY4IDAgMi41Mi4zMjcgMy4xNjJhMyAzIDAgMCAwIDEuMzExIDEuMzExQzkuMjggMTcgMTAuMTIgMTcgMTEuOCAxN2g2LjRjMS42OCAwIDIuNTIgMCAzLjE2Mi0uMzI3YTMgMyAwIDAgMCAxLjMxMS0xLjMxMUMyMyAxNC43MiAyMyAxMy44OCAyMyAxMi4yVjUuOGMwLTEuNjggMC0yLjUyLS4zMjctMy4xNjJhMyAzIDAgMCAwLTEuMzExLTEuMzExQzIwLjcyIDEgMTkuODggMSAxOC4yIDFoLTYuNGMtMS42OCAwLTIuNTIgMC0zLjE2Mi4zMjdhMyAzIDAgMCAwLTEuMzExIDEuMzExem03LjAzNCA3LjcyOWMuMDAzLjk5NC0uOTMyIDEuNzEyLTIuMjM5IDEuNzEyLTEuMjc4IDAtMi4xODctLjcwNy0yLjIwNy0xLjcyNGgxLjIzOGMuMDIzLjQyNi40My43MS45NzIuNzEuNTYzIDAgLjk2LS4zMTguOTU3LS43OC4wMDMtLjQ3LS40MDktLjgtMS4wNjgtLjhoLS41NDJ2LS45MDNoLjU0MmMuNTYgMCAuOTUtLjMxLjk0Ni0uNzY3LjAwMy0uNDM3LS4zMy0uNzM4LS44MjctLjczOC0uNTAyIDAtLjkwOS4yODctLjkyMy43M2gtMS4xNzljLjAxNy0xLjAwNi45MTUtMS43MDUgMi4xMDgtMS43MDUgMS4yMDUgMCAyLjAwOS43MjIgMi4wMDYgMS42NC4wMDMuNjUzLS40NDYgMS4xMTMtMS4wOTcgMS4yM3YuMDQ1Yy44NTUuMTA4IDEuMzE2LjYyNSAxLjMxMyAxLjM1em01LjgyNy0xLjI4MmMwIDEuODE4LTEuMDc0IDIuOTE1LTIuODQ2IDIuOTE1aC0yLjA2M1Y2LjE4MmgyLjA4YzEuNzU1IDAgMi44MyAxLjA5IDIuODMgMi45MDN6IiBmaWxsPSIjZmZmIi8+PC9zdmc+');
}

.mapillary-slider-mode-icon-2d {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEzLjM0NSAxMC4yMzZ2My43MWguNzgxYzEuMDk0IDAgMS42Ny0uNTYzIDEuNjctMS44NiAwLTEuMjkzLS41NzYtMS44NS0xLjY2Ny0xLjg1aC0uNzg0eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNC4zMjcgNS42MzhDNCA2LjI4IDQgNy4xMiA0IDguOHY2LjRjMCAxLjY4IDAgMi41Mi4zMjcgMy4xNjJhMyAzIDAgMCAwIDEuMzExIDEuMzExQzYuMjggMjAgNy4xMiAyMCA4LjggMjBoNi40YzEuNjggMCAyLjUyIDAgMy4xNjItLjMyN2EzIDMgMCAwIDAgMS4zMTEtMS4zMTFDMjAgMTcuNzIgMjAgMTYuODggMjAgMTUuMlY4LjhjMC0xLjY4IDAtMi41Mi0uMzI3LTMuMTYyYTMgMyAwIDAgMC0xLjMxMS0xLjMxMUMxNy43MiA0IDE2Ljg4IDQgMTUuMiA0SDguOGMtMS42OCAwLTIuNTIgMC0zLjE2Mi4zMjdhMyAzIDAgMCAwLTEuMzExIDEuMzExek0xMS4xODcgMTVINy4wNHYtLjg4NmwyLjA3LTEuOTE4Yy41MTgtLjUuODEtLjgyNy44MTMtMS4yOS0uMDAzLS41MTEtLjM4OS0uODMtLjkwMy0uODMtLjUzNCAwLS44OTguMzM5LS44OTguODk4SDYuOTU1Yy0uMDAzLTEuMTQyLjg1NS0xLjg3MiAyLjA3My0xLjg3MiAxLjI1NiAwIDIuMDQ2Ljc4MiAyLjA1MSAxLjc5LjAwMy43NDQtLjM4NiAxLjI5My0xLjQxMSAyLjIzbC0uODU1LjgzMnYuMDRoMi4zNzRWMTV6bTUuODM3LTIuOTE1YzAgMS44MTgtMS4wNzQgMi45MTUtMi44NDYgMi45MTVoLTIuMDYzVjkuMTgyaDIuMDhjMS43NTUgMCAyLjgzIDEuMDkgMi44MyAyLjkwM3oiIGZpbGw9IiNmZmYiLz48L3N2Zz4gIA==');
}

.mapillary-slider-mode-button-inactive .mapillary-slider-mode-icon {
    opacity: 0.35;
}

.mapillary-slider-mode-button-2d-inactive .mapillary-slider-mode-icon-2d {
    opacity: 0.35;
}

.mapillary-slider-position-container {
    display: inline-block;
    height: 100%;
    vertical-align: top;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: auto;
    padding-right: 16px;
    border-bottom-right-radius: 8px;
    border-top-right-radius: 8px;
    padding-left: 8px;
}

.mapillary-slider-position {
    pointer-events: auto;
    margin: 0;
    padding: 0;
    margin-top: 7px;
    height: 16px;
    cursor: pointer;
    outline: none;
    background: none;
    -webkit-appearance: none;
}

.mapillary-slider-position::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid white;
    background: white;
    cursor: pointer;
    margin-top: -6px;
}

.mapillary-slider-position::-webkit-slider-runnable-track {
    height: 4px;
    border-radius: 2px;
    background-color: white;
}

.mapillary-slider-position::-moz-focus-outer {
    border: 0;
}

.mapillary-slider-position::-moz-range-track {
    height: 4px;
    border-radius: 2px;
    background-color: white;
}

.mapillary-slider-position::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
    background: white;
    cursor: pointer;
    margin-top: -6px;
}

.mapillary-slider-position::-ms-track {
    height: 2px;
    border-radius: 2px;
    background-color: white;
}

.mapillary-slider-position::-ms-fill-lower {
    height: 0;
    background: none;
}

.mapillary-slider-position::-ms-fill-upper {
    height: 0;
    background: none;
}

.mapillary-slider-position::-ms-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid white;
    background: white;
    cursor: pointer;
    margin-top: 0;
}

.mapillary-slider-position::-ms-tooltip {
    display: none;
}
.mapillary-viewer.component-tag-create .mapillary-interactive,
.mapillary-viewer.component-tag-edit-crosshair .mapillary-interactive {
    cursor: crosshair;
}

.mapillary-viewer.component-tag-edit-move .mapillary-interactive {
    cursor: move;
}

.mapillary-viewer.component-tag-edit-nesw-resize .mapillary-interactive {
    cursor: nesw-resize;
}

.mapillary-viewer.component-tag-edit-nwse-resize .mapillary-interactive {
    cursor: nwse-resize;
}

.mapillary-tag-container {
    font-size: 12px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont,
                "Segoe UI", "Roboto", "Oxygen", "Ubuntu",
                "Cantarell", "Fira Sans", "Droid Sans",
                "Helvetica Neue", sans-serif;
}

.mapillary-tag-completer,
.mapillary-tag-interactor,
.mapillary-tag-mover,
.mapillary-tag-resizer,
.mapillary-tag-spot-interactor,
.mapillary-tag-symbol,
.mapillary-tag-vertex {
    position: absolute;
    left: 0;
    top: 0;
}

.mapillary-tag-symbol {
    cursor: pointer;
    pointer-events: auto;
}

.mapillary-tag-mover,
.mapillary-tag-resizer {
    pointer-events: auto;
}

.mapillary-tag-mover {
    border-radius: 7px;
    width: 14px;
    height: 14px;
    opacity: 0.2;
    cursor: move;
}

.mapillary-tag-mover:hover {
    opacity: 0.5;
}

.mapillary-tag-resizer {
    border-radius: 7px;
    width: 14px;
    height: 14px;
    opacity: 0;
    cursor: crosshair;
}

.mapillary-tag-resizer:hover {
    opacity: 0.3;
}

.mapillary-tag-vertex {
    pointer-events: none;
    border-radius: 3px;
    width: 6px;
    height: 6px;
}

.mapillary-tag-dot {
    pointer-events: none;
    border-radius: 1.5px;
    width: 3px;
    height: 3px;
    background-color: green;
}

.mapillary-tag-vertex.mapillary-tag-larger {
    border-radius: 4px;
    width: 8px;
    height: 8px;
}

.mapillary-tag-interactor,
.mapillary-tag-completer,
.mapillary-tag-spot-interactor {
    pointer-events: auto;
    border-radius: 7px;
    width: 14px;
    height: 14px;
    opacity: 0;
}

.mapillary-tag-completer.mapillary-tag-larger {
    border-radius: 8px;
    width: 16px;
    height: 16px;
}

.mapillary-tag-interactor,
.mapillary-tag-completer {
    cursor: pointer;
}

.mapillary-tag-spot-interactor {
    cursor: move;
}

.mapillary-tag-completer {
    background: limegreen;
}

.mapillary-tag-interactor {
    background: orangered;
}

.mapillary-tag-completer:hover,
.mapillary-tag-interactor:hover {
    opacity: 0.6;
}

.mapillary-tag-spot-interactor:hover {
    opacity: 0.3;
}
.mapillary-zoom-container {
    position: absolute;
    bottom: 90px;
    right: 14px;
    height: 66px;
    width: 32px;
    pointer-events: none;
    z-index: 10;
}

.mapillary-zoom-in-button,
.mapillary-zoom-in-button-inactive,
.mapillary-zoom-out-button,
.mapillary-zoom-out-button-inactive {
    width: 100%;
    height: 32px;
    pointer-events: auto;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

.mapillary-zoom-in-button,
.mapillary-zoom-in-button-inactive {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.mapillary-zoom-out-button,
.mapillary-zoom-out-button-inactive {
    margin-top: 2px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.mapillary-zoom-in-button-inactive,
.mapillary-zoom-out-button-inactive {
    cursor: default;
}

.mapillary-zoom-in-icon,
.mapillary-zoom-out-icon {
    position: relative;
    top: 0;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 1;
    width: 32px;
    height: 32px;
}

.mapillary-zoom-compact.mapillary-zoom-container {
    height: 34px;
    width: 16px;
    bottom: 58px;
}

.mapillary-zoom-compact .mapillary-zoom-in-button,
.mapillary-zoom-compact .mapillary-zoom-in-button-inactive,
.mapillary-zoom-compact .mapillary-zoom-out-button,
.mapillary-zoom-compact .mapillary-zoom-out-button-inactive,
.mapillary-zoom-compact .mapillary-zoom-in-icon,
.mapillary-zoom-compact .mapillary-zoom-out-icon {
    width: 16px;
    height: 16px;
}

.mapillary-zoom-compact .mapillary-zoom-in-button,
.mapillary-zoom-compact .mapillary-zoom-in-button-inactive {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.mapillary-zoom-compact .mapillary-zoom-out-button,
.mapillary-zoom-compact .mapillary-zoom-out-button-inactive {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.mapillary-zoom-in-icon {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDMwIDMwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE2LDE0IEwyMSwxNCBDMjEuNTUyMjg0NywxNCAyMiwxNC40NDc3MTUzIDIyLDE1IEMyMiwxNS41NTIyODQ3IDIxLjU1MjI4NDcsMTYgMjEsMTYgTDE2LDE2IEwxNiwyMSBDMTYsMjEuNTUyMjg0NyAxNS41NTIyODQ3LDIyIDE1LDIyIEMxNC40NDc3MTUzLDIyIDE0LDIxLjU1MjI4NDcgMTQsMjEgTDE0LDE2IEw5LDE2IEM4LjQ0NzcxNTI1LDE2IDgsMTUuNTUyMjg0NyA4LDE1IEM4LDE0LjQ0NzcxNTMgOC40NDc3MTUyNSwxNCA5LDE0IEwxNCwxNCBMMTQsOSBDMTQsOC40NDc3MTUyNSAxNC40NDc3MTUzLDggMTUsOCBDMTUuNTUyMjg0Nyw4IDE2LDguNDQ3NzE1MjUgMTYsOSBMMTYsMTQgWiIvPjwvZz4gIDwvc3ZnPiAg');
}

.mapillary-zoom-out-icon {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMCIgaGVpZ2h0PSIzMCIgdmlld0JveD0iMCAwIDMwIDMwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIyLDE1IEMyMiwxNS41NTIyODQ3IDIxLjU1MjI4NDcsMTYgMjEsMTYgTDksMTYgQzguNDQ3NzE1MjUsMTYgOCwxNS41NTIyODQ3IDgsMTUgQzgsMTQuNDQ3NzE1MyA4LjQ0NzcxNTI1LDE0IDksMTQgTDIxLDE0IEMyMS41NTIyODQ3LDE0IDIyLDE0LjQ0NzcxNTMgMjIsMTUgWiIvPjwvZz4gIDwvc3ZnPiAg');
}

.mapillary-zoom-in-button-inactive .mapillary-zoom-in-icon,
.mapillary-zoom-out-button-inactive .mapillary-zoom-out-icon {
    opacity: 0.35;
}
