.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 #0000001a}@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}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg 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-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(0)}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:#ffffff80;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:#ffffff80;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:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{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:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.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}.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:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;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 #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@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:#0006;color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left: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),(width <= 480px){.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}.welcome-root{font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg)}.welcome-root a{text-decoration:none}.welcome-root img,.welcome-root svg{display:block;max-width:100%}.welcome-root .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.welcome-container{width:100%;max-width:1200px;margin:0 auto;padding:0 28px}.welcome-section{padding:88px 0;position:relative}.welcome-section-head{max-width:720px;margin:0 auto 56px;text-align:center}.welcome-section-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:var(--color-primary-subtle);color:var(--color-primary);font-size:12px;font-weight:500;letter-spacing:.04em}.welcome-section-eyebrow:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--color-primary)}.welcome-section-head h2{margin:16px 0 12px;font-size:clamp(28px,3.2vw,38px);font-weight:700;color:var(--c-text-strong);letter-spacing:-.02em;line-height:1.2}.welcome-section-head p{margin:0;font-size:15px;color:var(--c-text-muted)}.welcome-navbar{position:sticky;top:0;z-index:30;height:68px;background:#ffffffd9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(15,23,42,.06)}.welcome-navbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.welcome-nav-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--c-text-strong);letter-spacing:.04em}.welcome-nav-brand .mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--brand-grad);color:#fff;font-size:16px;font-weight:800;box-shadow:0 6px 16px #2563eb52}.welcome-nav-brand small{color:var(--c-text-muted);font-size:12px;font-weight:500;letter-spacing:.18em;margin-left:4px}.welcome-nav-links{display:flex;align-items:center;gap:28px}.welcome-nav-links a{color:var(--c-text-strong);font-size:14px;font-weight:500}.welcome-nav-links a:hover{color:var(--color-primary)}.welcome-nav-cta{display:flex;align-items:center;gap:12px}.welcome-btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:12px;color:var(--c-text-strong);font-size:14px;font-weight:500;transition:background .15s,color .15s}.welcome-btn-ghost:hover{background:var(--c-bg-muted);color:var(--color-primary)}.welcome-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:12px;background:var(--brand-grad);color:#fff;font-size:14px;font-weight:600;box-shadow:0 6px 18px #2563eb47;transition:transform .12s,box-shadow .15s,filter .15s}.welcome-btn-primary:hover{filter:brightness(1.05);box-shadow:0 10px 24px #2563eb59;transform:translateY(-1px)}.welcome-btn-primary svg{width:14px;height:14px}.welcome-nav-toggle{display:none;width:40px;height:40px;border-radius:10px;align-items:center;justify-content:center;color:var(--c-text-strong)}.welcome-nav-toggle:hover{background:var(--c-bg-muted)}.welcome-nav-toggle svg{width:20px;height:20px}.welcome-nav-open .welcome-nav-links{display:flex!important}.welcome-nav-backdrop{display:none}.welcome-hero{position:relative;overflow:hidden;padding:96px 0 80px;background:radial-gradient(900px 500px at 12% -10%,rgba(99,102,241,.16),transparent 60%),radial-gradient(900px 500px at 100% 50%,rgba(37,99,235,.16),transparent 60%),linear-gradient(180deg,#fbfcfe,#fff 60%)}.welcome-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(15,23,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 70%);pointer-events:none}.welcome-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;position:relative}.welcome-hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 14px;border-radius:999px;background:#2563eb14;border:1px solid rgba(37,99,235,.18);color:var(--color-primary);font-size:13px;font-weight:500}.welcome-hero-eyebrow .bullet{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--brand-grad);color:#fff}.welcome-hero-eyebrow .bullet svg{width:10px;height:10px}.welcome-hero h1{margin:20px 0 18px;font-size:clamp(34px,4.6vw,54px);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--c-text-strong)}.welcome-hero h1 .gradient{background:linear-gradient(120deg,#2563eb 10%,#6366f1 60%,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-hero-sub{margin:0 0 32px;max-width:540px;font-size:17px;color:var(--c-text-muted);line-height:1.6}.welcome-hero-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.welcome-hero-cta .welcome-btn-primary{height:48px;padding:0 22px;font-size:15px}.welcome-hero-cta .welcome-btn-outline{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px;border-radius:12px;background:transparent;color:var(--c-text-strong);font-size:15px;font-weight:500;border:1px solid var(--c-border-strong);transition:border-color .15s,color .15s,background .15s}.welcome-hero-cta .welcome-btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-subtle)}.welcome-hero-cta .welcome-btn-outline svg{width:16px;height:16px}.welcome-hero-trust{margin-top:36px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;color:var(--c-text-muted);font-size:13px}.welcome-hero-trust .stars{color:#f59e0b;letter-spacing:1px}.welcome-hero-trust strong{color:var(--c-text-strong);font-weight:600}.welcome-hero-visual{position:relative;perspective:1200px}.welcome-preview-card{position:relative;border-radius:var(--radius-xl);background:linear-gradient(180deg,#0b1020,#16213f);padding:22px;box-shadow:var(--shadow-glow),0 30px 80px #0f172a40;transform:rotateY(-3deg) rotateX(2deg);transition:transform .4s ease;isolation:isolate}.welcome-preview-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(96,165,250,.55),rgba(99,102,241,.18) 40%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.welcome-preview-card:hover{transform:rotateY(0) rotateX(0)}.welcome-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#ffffffc7;font-size:12px}.welcome-preview-head .now{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#34d39926;color:#6ee7b7;font-weight:500}.welcome-preview-head .now:before{content:"";width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 6px #34d399b3}.welcome-preview-head .brand-dot{display:inline-flex;align-items:center;gap:8px;font-weight:500}.welcome-preview-head .brand-dot .glyph{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,#60a5fa,#6366f1);color:#fff;font-size:12px}.welcome-preview-title{margin:12px 0 4px;color:#fff;font-size:18px;font-weight:600}.welcome-preview-meta{color:#fff9;font-size:12px}.welcome-preview-stats{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.welcome-preview-stat{padding:12px 14px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.welcome-preview-stat .lab{font-size:11px;color:#ffffff8c;letter-spacing:.06em;text-transform:uppercase}.welcome-preview-stat .val{margin-top:4px;color:#fff;font-size:18px;font-weight:700}.welcome-preview-stat .val small{font-size:11px;color:#ffffff80;margin-left:3px;font-weight:500}.welcome-preview-chart{margin-top:14px;padding:14px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.welcome-preview-chart .lbl{display:flex;align-items:center;justify-content:space-between;color:#ffffffb3;font-size:11px}.welcome-preview-chart .lbl b{color:#fff;font-size:13px}.welcome-preview-chart svg{margin-top:8px;width:100%;height:130px}.welcome-preview-foot{margin-top:14px;display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.welcome-coach-card{padding:14px;border-radius:14px;background:linear-gradient(160deg,#6366f14d,#2563eb2e);border:1px solid rgba(99,102,241,.4)}.welcome-coach-card .who{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:#ffffff29;color:#c7d2fe;font-size:11px;font-weight:500}.welcome-coach-card .who svg{width:11px;height:11px}.welcome-coach-card p{margin:8px 0 0;color:#f1f5f9;font-size:13px;line-height:1.55}.welcome-coach-card p .hl{color:#fcd34d;font-weight:600}.welcome-next-card{padding:14px;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:space-between}.welcome-next-card .lab{font-size:11px;color:#ffffff8c}.welcome-next-card .workout{color:#fff;font-weight:600;font-size:14px;line-height:1.35;margin-top:4px}.welcome-next-card .when{margin-top:8px;color:#fff9;font-size:11px}.welcome-float-bubble{position:absolute;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--c-border);box-shadow:0 14px 32px #0f172a1f;display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--c-text-strong)}.welcome-float-bubble .icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px}.welcome-float-bubble .icon.green{background:#dcfce7;color:#16a34a}.welcome-float-bubble .icon.amber{background:#fef3c7;color:#d97706}.welcome-float-bubble .icon svg{width:16px;height:16px}.welcome-float-bubble small{display:block;color:var(--c-text-muted);font-size:11px}.welcome-bubble-tr{top:-18px;right:-22px;animation:welcomeFloat 4.5s ease-in-out infinite}.welcome-bubble-bl{bottom:-10px;left:-32px;animation:welcomeFloat 4.5s ease-in-out infinite reverse}@keyframes welcomeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.welcome-source-bar{padding:36px 0 24px;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);background:var(--c-bg-subtle)}.welcome-source-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.welcome-source-bar-label{font-size:13px;color:var(--c-text-muted);letter-spacing:.05em}.welcome-source-logos{display:flex;align-items:center;gap:36px;flex-wrap:wrap;color:var(--c-text-muted)}.welcome-source-logos .src{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--c-text);letter-spacing:.02em}.welcome-source-logos .src .badge{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#fff;font-size:13px;font-weight:700}.welcome-assistant-feature{position:relative;overflow:hidden;padding:84px 0;color:#fff;background:radial-gradient(700px 420px at 100% 20%,rgba(99,102,241,.32),transparent 65%),radial-gradient(620px 420px at 0% 100%,rgba(37,99,235,.28),transparent 65%),linear-gradient(145deg,#0b1020,#172554 72%,#1e3a8a)}.welcome-assistant-feature:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.45;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 78%)}.welcome-assistant-grid{position:relative;display:grid;grid-template-columns:1fr .88fr;align-items:center;gap:70px}.welcome-assistant-copy .welcome-section-eyebrow{color:#dbeafe;background:#2563eb3d;border:1px solid rgba(147,197,253,.5);box-shadow:0 4px 14px #02061729}.welcome-assistant-copy .welcome-section-eyebrow:before{background:#bfdbfe;box-shadow:0 0 0 3px #93c5fd29}.welcome-assistant-copy h2{margin:18px 0 16px;color:#fff;font-size:clamp(30px,4vw,46px);line-height:1.18;letter-spacing:-.035em}.welcome-assistant-copy h2 strong{background:linear-gradient(120deg,#93c5fd,#a5b4fc 65%,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-assistant-copy>p{max-width:570px;margin:0 0 24px;color:#e2e8f0c7;font-size:15px;line-height:1.85}.welcome-assistant-pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.welcome-assistant-pills span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#dbeafe;background:#ffffff12;font-size:12px}.welcome-assistant-pills svg{width:14px;height:14px;color:#a5b4fc}.welcome-assistant-cta .welcome-btn-outline{color:#e2e8f0;border-color:#ffffff47}.welcome-assistant-preview{position:relative;max-width:430px;margin:0 auto;padding:15px;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:linear-gradient(160deg,#263858,#111827 70%);box-shadow:0 28px 65px #0206176b;transform:rotate(2deg)}.welcome-assistant-preview-head{display:flex;align-items:center;gap:10px;padding:8px 8px 16px;color:#f8fafc}.welcome-assistant-preview-head .assistant-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:var(--brand-grad);font-weight:800;box-shadow:0 5px 12px #2563eb66}.welcome-assistant-preview-head b,.welcome-assistant-preview-head small{display:block}.welcome-assistant-preview-head b{font-size:13px}.welcome-assistant-preview-head small{margin-top:3px;color:#94a3b8;font-size:11px}.welcome-assistant-preview-head i{margin-left:auto;color:#94a3b8;font-size:11px;font-style:normal}.welcome-assistant-message{display:flex;gap:13px;margin-top:11px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#1e293b;box-shadow:0 8px 20px #0000002e}.welcome-assistant-message .message-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border-radius:12px;color:#fff;background:linear-gradient(135deg,#f97316,#fbbf24);font-size:19px}.welcome-assistant-message.summary .message-icon{background:linear-gradient(135deg,#2563eb,#6366f1)}.welcome-assistant-message b{display:block;color:#f8fafc;font-size:14px}.welcome-assistant-message p{margin:5px 0 9px;color:#94a3b8;font-size:12px;line-height:1.6}.welcome-assistant-message small{color:#93c5fd;font-size:11px}.welcome-assistant-preview-foot{padding:15px 7px 3px;color:#64748b;font-size:11px;text-align:center}:root[data-theme=dark] .welcome-assistant-feature{background:radial-gradient(700px 420px at 100% 20%,rgba(99,102,241,.32),transparent 65%),linear-gradient(145deg,#080d1c,#111b3d 72%,#172554)}.welcome-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.welcome-pillar{position:relative;padding:32px 28px;border-radius:var(--radius-lg);background:var(--c-bg);border:1px solid var(--c-border);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden}.welcome-pillar:after{content:"";position:absolute;inset:auto -40% -40% auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(closest-side,var(--pillar-color, rgba(37,99,235,.12)),transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s ease}.welcome-pillar:hover{transform:translateY(-3px);border-color:var(--c-border-strong);box-shadow:var(--shadow-lg)}.welcome-pillar:hover:after{opacity:1}.welcome-pillar .num-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--pillar-bg, var(--color-primary-subtle));color:var(--pillar-color, var(--color-primary));font-size:12px;font-weight:600}.welcome-pillar h3{margin:18px 0 10px;font-size:22px;font-weight:700;color:var(--c-text-strong);letter-spacing:-.01em}.welcome-pillar p{margin:0 0 20px;color:var(--c-text-muted);font-size:14px}.welcome-pillar ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:13px;color:var(--c-text)}.welcome-pillar ul li{display:flex;align-items:flex-start;gap:8px}.welcome-pillar ul li:before{content:"";flex:none;margin-top:7px;width:5px;height:5px;border-radius:50%;background:var(--pillar-color, var(--color-primary))}.welcome-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.welcome-cap-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding:22px 24px;border-radius:var(--radius-lg);background:var(--c-bg);border:1px solid var(--c-border);transition:transform .2s ease,border-color .2s ease,background .2s ease}.welcome-cap-card:hover{border-color:var(--color-primary-border);background:#fdfdff;transform:translateY(-1px)}.welcome-cap-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--color-primary-subtle);color:var(--color-primary)}.welcome-cap-icon svg{width:24px;height:24px}.welcome-cap-icon.alt{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#16a34a}.welcome-cap-icon.amber{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706}.welcome-cap-icon.purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#7c3aed}.welcome-cap-icon.cyan{background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0891b2}.welcome-cap-card h4{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--c-text-strong)}.welcome-cap-card p{margin:0;color:var(--c-text-muted);font-size:13px;line-height:1.6}.welcome-cap-meta{margin-top:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--c-bg-muted);color:var(--c-text-muted);font-size:11px}.welcome-cap-meta .pulse{width:6px;height:6px;border-radius:50%;background:var(--cap-color, var(--color-primary))}.welcome-showcase-card{position:relative;padding:24px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid var(--c-border);box-shadow:0 30px 80px #0f172a0f;overflow:hidden}.welcome-showcase-card .chrome{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 14px;border-bottom:1px solid var(--c-border)}.welcome-showcase-card .dots{display:inline-flex;gap:6px}.welcome-showcase-card .dots i{display:block;width:9px;height:9px;border-radius:50%;background:var(--c-border-strong)}.welcome-showcase-card .title-row{display:inline-flex;align-items:center;gap:10px;color:var(--c-text-muted);font-size:13px}.welcome-showcase-card .title-row b{color:var(--c-text-strong);font-weight:600}.welcome-showcase-grid{margin-top:18px;display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.welcome-showcase-block{padding:16px;border-radius:14px;background:var(--c-bg);border:1px solid var(--c-border)}.welcome-showcase-block .head{display:flex;align-items:center;justify-content:space-between;color:var(--c-text-muted);font-size:12px;margin-bottom:8px}.welcome-showcase-block .head b{color:var(--c-text-strong);font-size:13px;font-weight:600}.welcome-showcase-block svg{width:100%;height:160px}.welcome-stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.welcome-stat-mini{padding:12px 14px;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid var(--c-border)}.welcome-stat-mini .lab{font-size:12px;color:var(--c-text-muted)}.welcome-stat-mini .val{font-size:18px;font-weight:700;color:var(--c-text-strong);margin-top:2px}.welcome-stat-mini .val small{font-size:11px;color:var(--c-text-muted);font-weight:500;margin-left:2px}.welcome-showcase-legend{margin-top:10px;display:flex;gap:14px;font-size:12px;color:var(--c-text-muted);flex-wrap:wrap}.welcome-showcase-legend span{display:inline-flex;align-items:center;gap:6px}.welcome-showcase-legend i{display:inline-block;width:10px;height:3px;border-radius:2px}.welcome-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}.welcome-steps:before{content:"";position:absolute;top:28px;left:5%;right:5%;height:2px;background:repeating-linear-gradient(90deg,var(--c-border-strong),var(--c-border-strong) 6px,transparent 6px,transparent 12px);z-index:-1}.welcome-step{padding:0 8px;text-align:center}.welcome-step-bubble{display:grid;place-items:center;margin:0 auto 18px;width:56px;height:56px;border-radius:50%;background:var(--c-bg);border:2px solid var(--color-primary);color:var(--color-primary);font-size:18px;font-weight:700;box-shadow:0 10px 24px #2563eb2e}.welcome-step h4{margin:0 0 6px;font-size:15px;color:var(--c-text-strong)}.welcome-step p{margin:0;font-size:13px;color:var(--c-text-muted);line-height:1.55}.welcome-sources-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.welcome-source-card{position:relative;padding:22px 22px 20px;border-radius:var(--radius-lg);background:var(--c-bg);border:1px solid var(--c-border);display:flex;flex-direction:column;gap:14px;transition:transform .2s ease,border-color .2s ease}.welcome-source-card:hover{transform:translateY(-2px);border-color:var(--color-primary-border)}.welcome-source-card .head{display:flex;align-items:center;gap:12px}.welcome-source-card .logo{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#fff;font-weight:800;font-size:14px}.welcome-source-card .name{color:var(--c-text-strong);font-size:15px;font-weight:600}.welcome-source-card .name small{display:block;color:var(--c-text-muted);font-size:12px;font-weight:400;margin-top:2px}.welcome-source-card ul{list-style:none;padding:0;margin:0;font-size:13px;color:var(--c-text-muted);display:grid;gap:6px}.welcome-source-card li{display:flex;align-items:center;gap:6px}.welcome-source-card li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--color-primary)}.welcome-source-card .status{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:var(--c-success-subtle);color:var(--c-success);font-size:11px;font-weight:500;align-self:flex-start}.welcome-source-card .status:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c-success)}.welcome-quote-block{max-width:880px;margin:0 auto;padding:48px 40px;border-radius:var(--radius-xl);background:radial-gradient(900px 500px at 0% 0%,rgba(99,102,241,.16),transparent 60%),linear-gradient(180deg,#fbfcff,#fff);border:1px solid var(--c-border);text-align:center}.welcome-quote-mark{display:inline-block;font-size:48px;line-height:.6;color:var(--color-primary);margin-bottom:8px}.welcome-quote-block p{font-size:clamp(18px,2vw,24px);color:var(--c-text-strong);line-height:1.5;letter-spacing:-.01em;margin:0 auto 24px;max-width:720px}.welcome-quote-author{display:inline-flex;align-items:center;gap:12px;color:var(--c-text-muted);font-size:13px}.welcome-quote-author .avatar{display:block;width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--brand-grad);color:#fff;font-weight:700}.welcome-quote-author strong{color:var(--c-text-strong);font-weight:600}.welcome-cta-block{position:relative;padding:56px 48px;border-radius:var(--radius-xl);background:radial-gradient(800px 400px at 0% 0%,rgba(99,102,241,.5),transparent 60%),radial-gradient(900px 500px at 100% 100%,rgba(37,99,235,.45),transparent 60%),linear-gradient(135deg,#0b1020,#1d2f6a);color:#fff;text-align:center;overflow:hidden;isolation:isolate}.welcome-cta-block:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 75%);z-index:-1}.welcome-cta-block h2{margin:0 0 12px;font-size:clamp(26px,3vw,36px);font-weight:700;color:#fff;letter-spacing:-.01em}.welcome-cta-block p{margin:0 0 28px;color:#ffffffc7;font-size:15px;max-width:540px;margin-inline:auto}.welcome-cta-block .actions{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}.welcome-cta-block .welcome-btn-primary{background:#fff;color:var(--color-primary);box-shadow:0 14px 28px #0f172a40}.welcome-cta-block .welcome-btn-primary:hover{filter:none;transform:translateY(-1px);box-shadow:0 18px 36px #0f172a4d}.welcome-cta-block .welcome-btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.4)}.welcome-cta-block .welcome-btn-ghost:hover{background:#ffffff1a;border-color:#fff}.welcome-footer{padding:56px 0 36px;border-top:1px solid var(--c-border);background:var(--c-bg-subtle)}.welcome-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}.welcome-footer-brand .desc{margin:16px 0 20px;max-width:320px;color:var(--c-text-muted);font-size:13px}.welcome-footer-brand h5,.welcome-footer-col h5{margin:0 0 14px;font-size:13px;color:var(--c-text-strong);font-weight:600;letter-spacing:.05em}.welcome-footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:13px}.welcome-footer-col a{color:var(--c-text-muted)}.welcome-footer-col a:hover{color:var(--color-primary)}.welcome-footer-bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--c-text-muted);font-size:12px}.welcome-footer-bottom .legal{display:flex;gap:20px}:root[data-theme=dark] .welcome-root{background:#0b1120;color:#cbd5e1}:root[data-theme=dark] .welcome-navbar{background:#0f172ae0;border-bottom-color:#334155}:root[data-theme=dark] .welcome-hero{background:radial-gradient(900px 500px at 12% -10%,rgba(99,102,241,.22),transparent 60%),radial-gradient(900px 500px at 100% 50%,rgba(37,99,235,.22),transparent 60%),linear-gradient(180deg,#0f172a,#0b1120 65%)}:root[data-theme=dark] .welcome-hero:before{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px)}:root[data-theme=dark] .welcome-source-bar,:root[data-theme=dark] .welcome-footer{background:#0f172a}:root[data-theme=dark] .welcome-float-bubble{background:#1e293b;border-color:#475569;color:#f8fafc;box-shadow:0 14px 32px #00000059}:root[data-theme=dark] .welcome-float-bubble small{color:#94a3b8}:root[data-theme=dark] .welcome-float-bubble .icon.green{background:#052e16;color:#86efac}:root[data-theme=dark] .welcome-float-bubble .icon.amber{background:#451a03;color:#fbbf24}:root[data-theme=dark] .welcome-pillar,:root[data-theme=dark] .welcome-cap-card,:root[data-theme=dark] .welcome-showcase-card,:root[data-theme=dark] .welcome-source-card,:root[data-theme=dark] .welcome-quote-block{background:#111827}:root[data-theme=dark] .welcome-cap-card:hover{background:#172554}:root[data-theme=dark] .welcome-showcase-card{background:linear-gradient(180deg,#111827,#0f172a);box-shadow:0 30px 80px #00000047}:root[data-theme=dark] .welcome-stat-mini{background:linear-gradient(180deg,#1e293b,#111827)}:root[data-theme=dark] .welcome-quote-block{background:radial-gradient(900px 500px at 0% 0%,rgba(99,102,241,.22),transparent 60%),#111827}:root[data-theme=dark] .welcome-nav-links{background:#111827;border-color:#334155;box-shadow:0 18px 42px #00000061}@media (max-width: 960px){.welcome-navbar{isolation:isolate}.welcome-nav-backdrop{display:block;position:fixed;z-index:-1;top:68px;right:0;bottom:0;left:0;width:100%;height:calc(100vh - 68px);padding:0;border:0;background:#0f172a38;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.welcome-nav-links{display:none;position:absolute;z-index:2;top:calc(100% + 10px);left:20px;right:20px;flex-direction:column;align-items:stretch;gap:2px;padding:8px;background:#fffffffa;border:1px solid var(--c-border);border-radius:16px;box-shadow:0 18px 42px #0f172a2e,0 2px 8px #0f172a14}.welcome-nav-links:before{content:"";position:absolute;top:-6px;right:82px;width:12px;height:12px;background:#fff;border-top:1px solid var(--c-border);border-left:1px solid var(--c-border);transform:rotate(45deg)}.welcome-nav-links a{position:relative;z-index:1;display:flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:10px;font-size:14px}.welcome-nav-links a:hover,.welcome-nav-links a:focus-visible{background:var(--color-primary-subtle);color:var(--color-primary);outline:none}.welcome-nav-toggle{display:inline-flex}.welcome-nav-cta .welcome-btn-ghost{display:none}.welcome-hero{padding:72px 0 56px}.welcome-hero-grid{grid-template-columns:1fr;gap:56px}.welcome-preview-card{transform:none}.welcome-pillars,.welcome-cap-grid,.welcome-steps,.welcome-sources-grid{grid-template-columns:repeat(2,1fr)}.welcome-steps:before{display:none}.welcome-showcase-grid{grid-template-columns:1fr}.welcome-assistant-grid{grid-template-columns:1fr;gap:42px}.welcome-assistant-copy{text-align:center}.welcome-assistant-copy>p{margin-left:auto;margin-right:auto}.welcome-assistant-pills,.welcome-assistant-cta{justify-content:center}.welcome-footer-grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.welcome-container{padding:0 16px}.welcome-navbar{height:64px}.welcome-navbar-inner{gap:6px}.welcome-nav-brand{min-width:0;flex:1 1 auto;gap:7px;letter-spacing:.02em;white-space:nowrap}.welcome-nav-brand .mark{width:38px;height:38px;border-radius:11px;font-size:19px}.welcome-nav-brand>span:not(.mark){font-size:15px}.welcome-nav-brand>span:not(.mark){min-width:0;overflow:hidden;text-overflow:ellipsis}.welcome-nav-brand small{flex:0 0 auto;margin-left:0;font-size:11px;letter-spacing:.08em;white-space:nowrap}.welcome-nav-cta{flex:0 0 auto;gap:5px}.welcome-nav-cta .welcome-btn-primary{flex:0 0 auto;min-height:42px;padding:8px 10px;gap:4px;font-size:13px;white-space:nowrap}.welcome-nav-toggle{flex:0 0 42px;width:42px;height:42px;padding:0;border:0;outline:0;background:transparent;color:var(--c-text-strong)}.welcome-nav-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.welcome-section{padding:56px 0}.welcome-hero{padding:56px 0 44px}.welcome-hero-grid{gap:40px}.welcome-hero h1{margin-top:16px;font-size:clamp(34px,10vw,42px);line-height:1.12}.welcome-hero-sub{margin-bottom:24px;font-size:16px;line-height:1.7}.welcome-hero-cta{display:grid;grid-template-columns:1fr;gap:10px}.welcome-hero-cta .welcome-btn-primary,.welcome-hero-cta .welcome-btn-outline{width:100%;justify-content:center}.welcome-hero-trust{justify-content:center;gap:8px 12px;margin-top:24px;text-align:center}.welcome-preview-card{padding:14px}.welcome-preview-stats{grid-template-columns:1fr 1fr}.welcome-preview-foot{grid-template-columns:1fr}.welcome-float-bubble{display:none}.welcome-pillars,.welcome-cap-grid,.welcome-steps,.welcome-sources-grid,.welcome-stat-row{grid-template-columns:1fr}.welcome-cta-block{padding:36px 24px}.welcome-assistant-feature{padding:56px 0}.welcome-assistant-preview{transform:none}.welcome-assistant-message{padding:13px}.welcome-quote-block{padding:32px 20px}.welcome-footer-grid{grid-template-columns:1fr;gap:28px}}@media (prefers-reduced-motion: reduce){.welcome-root *,.welcome-root *:before,.welcome-root *:after{animation:none!important;transition:none!important}}.welcome-spirit-feature{position:relative;overflow:hidden;background:radial-gradient(820px 480px at 86% 0%,rgba(99,102,241,.1),transparent 60%)}.welcome-spirit-grid{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:70px}.welcome-spirit-copy .welcome-section-eyebrow{background:#6366f11f;color:#6d28d9}.welcome-spirit-copy .welcome-section-eyebrow:before{background:#7c3aed;box-shadow:0 0 0 3px #7c3aed29}.welcome-spirit-copy h2{margin:18px 0 16px;font-size:clamp(30px,4vw,44px);line-height:1.18;letter-spacing:-.035em;color:var(--c-text-strong)}.welcome-spirit-copy h2 .gradient{background:linear-gradient(120deg,#8b5cf6,#6366f1 60%,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-spirit-copy>p{max-width:560px;margin:0 0 24px;color:var(--c-text-muted);font-size:15px;line-height:1.85}.welcome-spirit-pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.welcome-spirit-pills span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--c-border);border-radius:999px;color:var(--c-text);background:var(--c-bg);font-size:12px}.welcome-spirit-pills svg{width:14px;height:14px;color:var(--color-primary)}.welcome-spirit-cta{display:flex;gap:12px;flex-wrap:wrap}.welcome-spirit-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 28px}.welcome-spirit-capabilities article{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px;border:1px solid var(--c-border);border-radius:13px;background:color-mix(in srgb,var(--c-bg) 86%,var(--color-primary-subtle))}.welcome-spirit-capabilities .cap-icon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:8px;color:#fff;background:var(--brand-grad);font-size:14px;font-weight:700}.welcome-spirit-capabilities strong,.welcome-spirit-capabilities small{display:block}.welcome-spirit-capabilities strong{color:var(--c-text-strong);font-size:13px;line-height:1.35}.welcome-spirit-capabilities small{margin-top:4px;color:var(--c-text-muted);font-size:11px;line-height:1.5}.welcome-spirit-stage{position:relative;padding:36px;border-radius:var(--radius-xl);background:radial-gradient(600px 360px at 50% 0%,rgba(99,102,241,.28),transparent 62%),radial-gradient(520px 360px at 100% 100%,rgba(37,99,235,.22),transparent 62%),linear-gradient(150deg,#0b1020,#172554 72%,#1e3a8a);box-shadow:0 30px 80px #0f172a47;overflow:hidden;isolation:isolate}.welcome-spirit-stage .spirit-companion-bubble{display:block;top:calc(100% - 12px);bottom:auto;max-width:min(210px,calc(100vw - 64px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.welcome-spirit-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.4;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse at 50% 50%,#000 18%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 18%,transparent 78%)}.welcome-spirit-stage-inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px}.welcome-spirit-hint{color:#e2e8f0b8;font-size:13px}.welcome-spirit-hint b{color:#e2e8f0;font-weight:600}.welcome-spirit-personas{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.welcome-spirit-persona{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#dbeafe;background:#ffffff0f;font-size:12px}.welcome-spirit-persona i{width:7px;height:7px;border-radius:50%;background:#a5b4fc}.welcome-hero-spirit{position:absolute;right:0;bottom:-44px;z-index:4;animation:welcomeFloat 5s ease-in-out infinite;filter:drop-shadow(0 14px 30px rgba(15,23,42,.22))}.welcome-hero-spirit .spirit-companion{cursor:pointer}.spirit-companion{position:relative;display:grid;place-items:center;overflow:visible}.spirit-companion.interactive{cursor:pointer}.spirit-companion-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);max-width:210px;padding:7px 12px;border-radius:14px 14px 4px;background:#fff;color:var(--c-text);font-size:12px;line-height:1.45;white-space:nowrap;box-shadow:0 12px 28px #0f172a33;border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--c-border));animation:spirit-ambient-in .22s ease-out;pointer-events:none;z-index:5}:root[data-theme=dark] .welcome-spirit-feature{background:radial-gradient(820px 480px at 86% 0%,rgba(99,102,241,.16),transparent 60%)}:root[data-theme=dark] .welcome-spirit-pills span{background:#111827}:root[data-theme=dark] .welcome-spirit-copy .welcome-section-eyebrow{color:#ddd6fe;background:#7c3aed38;border:1px solid rgba(196,181,253,.35)}:root[data-theme=dark] .welcome-spirit-capabilities article{background:#0f172ab8;border-color:#334155}:root[data-theme=dark] .welcome-spirit-capabilities small{color:#a5b4fc}@media (max-width: 960px){.welcome-spirit-grid{grid-template-columns:1fr;gap:44px}.welcome-spirit-copy{text-align:center}.welcome-spirit-copy>p{margin-inline:auto}.welcome-spirit-pills,.welcome-spirit-cta{justify-content:center}.welcome-hero-spirit{right:4px;bottom:-40px}}@media (max-width: 640px){.welcome-spirit-grid{gap:30px}.welcome-spirit-copy h2{font-size:clamp(30px,9vw,38px)}.welcome-spirit-copy>p{font-size:14px;line-height:1.75}.welcome-spirit-pills{gap:7px}.welcome-spirit-pills span{padding:7px 9px;font-size:11px}.welcome-spirit-capabilities{grid-template-columns:1fr;gap:8px;margin-bottom:22px}.welcome-spirit-capabilities article{padding:10px}.welcome-spirit-cta{gap:10px}.welcome-spirit-stage{padding:20px 14px;border-radius:20px}.welcome-spirit-stage .spirit-companion{transform:scale(.82);transform-origin:center;margin:-16px 0}.welcome-spirit-stage-inner{gap:10px}.welcome-spirit-hint{font-size:12px}.welcome-spirit-personas{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.welcome-spirit-persona{justify-content:center;padding:7px 8px;font-size:11px}.welcome-hero-spirit{transform:scale(.82);right:-8px;bottom:-32px}}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-subtle: #eff6ff;--color-primary-border: #bfdbfe;--c-bg: #ffffff;--c-bg-subtle: #f8fafc;--c-bg-muted: #f1f5f9;--c-surface: #ffffff;--c-border: #e2e8f0;--c-border-strong: #cbd5e1;--c-text: #334155;--c-text-strong: #0f172a;--c-text-muted: #64748b;--c-text-subtle: #94a3b8;--c-success: #16a34a;--c-success-subtle: #f0fdf4;--c-warning: #d97706;--c-warning-subtle: #fffbeb;--c-danger: #dc2626;--c-danger-subtle: #fef2f2;--font-sans: "Inter", -apple-system, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, "Roboto Mono", monospace;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 24px;--shadow-lg: 0 12px 32px rgba(15, 23, 42, .08);--shadow-glow: 0 18px 60px rgba(37, 99, 235, .28);--brand-grad: linear-gradient(135deg, #3b82f6 0%, #2563eb 45%, #6366f1 100%);--brand-grad-soft: linear-gradient(135deg, #dbeafe 0%, #e0e7ff 100%)}:root[data-theme=dark]{--color-primary-subtle: #172554;--color-primary-border: #1d4ed8;--c-bg: #0f172a;--c-bg-subtle: #0b1120;--c-bg-muted: #1e293b;--c-surface: #111827;--c-border: #334155;--c-border-strong: #475569;--c-text: #cbd5e1;--c-text-strong: #f8fafc;--c-text-muted: #94a3b8;--c-text-subtle: #64748b;--c-success-subtle: #052e16;--c-warning-subtle: #451a03;--c-danger-subtle: #450a0a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3)}*{box-sizing:border-box}body{margin:0;min-width:320px;font-family:var(--font-sans);font-size:14px;color:var(--c-text);background:var(--c-bg-subtle);-webkit-font-smoothing:antialiased}:root[data-theme=dark] body{color-scheme:dark}:root[data-theme=dark] .brand,:root[data-theme=dark] .sider-foot{border-color:var(--c-border);background:#111827}:root[data-theme=dark] .brand{background:linear-gradient(145deg,#111827,#172554)}:root[data-theme=dark] .app-sider{background:#111827!important;border-color:var(--c-border)}:root[data-theme=dark] .app-sider .ant-menu-item{position:relative;color:#94a3b8;border:1px solid transparent;transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}:root[data-theme=dark] .app-sider .ant-menu-item-selected{color:#eff6ff;background:linear-gradient(100deg,#1e3a8a,#172554 72%,#162344);border-color:#2b4d93;box-shadow:0 5px 14px #00000029;overflow:hidden}:root[data-theme=dark] .app-sider .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:#60a5fa;box-shadow:0 0 10px #60a5fa80}:root[data-theme=dark] .app-sider .ant-menu-item-selected .ant-menu-item-icon{color:#60a5fa;filter:drop-shadow(0 0 5px rgba(96,165,250,.24))}:root[data-theme=dark] .ant-card,:root[data-theme=dark] .ant-table-wrapper,:root[data-theme=dark] .ant-picker,:root[data-theme=dark] .ant-input,:root[data-theme=dark] .ant-input-number,:root[data-theme=dark] .ant-select-selector,:root[data-theme=dark] .ant-dropdown-menu{background:#111827;border-color:var(--c-border);color:var(--c-text)}:root[data-theme=dark] .ant-card-head,:root[data-theme=dark] .ant-table-thead>tr>th,:root[data-theme=dark] .ant-table-tbody>tr>td{border-color:var(--c-border)}:root[data-theme=dark] .ant-table-thead>tr>th{background:#1e293b}:root[data-theme=dark] .ant-table-tbody>tr>td{background:#111827}:root[data-theme=dark] .ant-table-tbody>tr.ant-table-row-selected>td{background:#172033!important;color:#e2e8f0}:root[data-theme=dark] .ant-table-tbody>tr.ant-table-row-selected:hover>td{background:#1b2a45!important}:root[data-theme=dark] .ant-table-tbody>tr:hover>td{background:#172554!important}:root[data-theme=dark] .ant-table .ant-table-container{border:1px solid #334155;border-radius:12px;overflow:hidden}:root[data-theme=dark] .ant-table-thead>tr>th{background:linear-gradient(180deg,#24324a,#1e293b);color:#cbd5e1;font-size:12px;font-weight:700;letter-spacing:.04em}:root[data-theme=dark] .ant-table-tbody>tr>td{background:#111827;color:#cbd5e1;border-bottom-color:#293852;transition:background .18s ease,color .18s ease}:root[data-theme=dark] .ant-table-tbody>tr:nth-child(2n)>td{background:#131d2d}:root[data-theme=dark] .ant-table-tbody>tr:hover>td{background:#1b315a!important;color:#f8fafc}:root[data-theme=dark] .ant-table-tbody>tr:last-child>td{border-bottom:0}:root[data-theme=dark] .ant-table-cell{font-variant-numeric:tabular-nums}:root[data-theme=dark] .ant-dropdown-menu-item:hover{background:#172554}:root[data-theme=dark] .ant-input::placeholder,:root[data-theme=dark] .ant-select-selection-placeholder,:root[data-theme=dark] .ant-picker-input>input::placeholder{color:#64748b}:root[data-theme=dark] .ant-select-selection-item,:root[data-theme=dark] .ant-select-arrow,:root[data-theme=dark] .ant-select-clear,:root[data-theme=dark] .ant-cascader-picker-label{color:#e2e8f0}:root[data-theme=dark] .ant-select-dropdown,:root[data-theme=dark] .ant-cascader-menus{background:#1e293b;border:1px solid #334155;box-shadow:0 12px 28px #00000059}:root[data-theme=dark] .ant-select-item,:root[data-theme=dark] .ant-cascader-menu-item{color:#cbd5e1}:root[data-theme=dark] .ant-select-item-option-active:not(.ant-select-item-option-disabled),:root[data-theme=dark] .ant-cascader-menu-item-active{color:#f8fafc;background:#334155}:root[data-theme=dark] .ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:#dbeafe;background:#1d4ed8}:root[data-theme=dark] .ant-select-item-option-disabled{color:#64748b}.event-calendar-page{max-width:1280px;margin:0 auto}.event-stat-row .ant-card{height:100%}.event-stat-row .ant-statistic-content{color:var(--c-text-strong)}.event-next-name,.event-next-name+small{display:block}.event-next-name{overflow:hidden;color:var(--c-text-strong);text-overflow:ellipsis;white-space:nowrap}.event-next-name+small{margin-top:5px;color:var(--c-text-muted)}.event-calendar-card{margin-top:16px}.event-calendar-card .ant-picker-calendar-date-content{min-height:74px}.event-calendar-card .ant-picker-cell-selected .ant-picker-cell-inner,.event-calendar-card .ant-picker-cell-today .ant-picker-cell-inner,.event-calendar-card .ant-picker-cell-selected .ant-picker-calendar-date,.event-calendar-card .ant-picker-cell-today .ant-picker-calendar-date{background:transparent!important}.event-calendar-card .ant-picker-cell-selected .ant-picker-calendar-date-value{color:var(--color-primary);font-weight:700}.event-calendar-card .ant-picker-cell-selected .ant-picker-calendar-date-content{border-radius:6px;outline:1px solid color-mix(in srgb,var(--color-primary) 24%,transparent);outline-offset:-1px}.event-calendar-cell{display:flex;flex-direction:column;gap:3px;overflow:hidden}.event-calendar-pill{display:flex;height:32px;flex-direction:column;width:100%;overflow:hidden;padding:3px 5px;border:0;border-left:3px solid var(--color-primary);border-radius:4px;color:var(--c-text);background:var(--color-primary-subtle);text-align:left;cursor:pointer}.event-calendar-pill span{color:var(--c-text-muted);font-size:10px}.event-calendar-pill b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.event-calendar-pill.event-category-trail{border-left-color:#f59e0b;background:var(--c-warning-subtle)}.event-calendar-pill.event-category-swimming{border-left-color:#06b6d4;background:#ecfeff}.event-calendar-pill.event-category-cycling{border-left-color:#16a34a;background:var(--c-success-subtle)}.event-calendar-pill.event-category-triathlon{border-left-color:#8b5cf6;background:#f5f3ff}.event-list-card{margin-top:16px}.event-list-card .ant-list-item-meta-title{margin-bottom:5px}.event-list-card .ant-list-item-meta-description{color:var(--c-text-muted)}.event-list-card .ant-list-item-meta-description svg{margin-right:4px}.event-category-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:#fff;background:var(--color-primary);font-weight:700}.event-category-icon.event-category-trail{background:#f59e0b}.event-category-icon.event-category-swimming{background:#06b6d4}.event-category-icon.event-category-cycling{background:#16a34a}.event-category-icon.event-category-triathlon{background:#8b5cf6}.event-days-left{margin-left:8px;color:var(--color-primary);font-style:normal}.event-detail-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--c-border);border-radius:14px;background:linear-gradient(120deg,var(--c-surface),var(--color-primary-subtle))}.event-detail-stat{display:inline-flex;min-width:110px;flex-direction:column;margin-right:24px;gap:4px}.event-detail-stat small{color:var(--c-text-muted)}.event-detail-stat strong{color:var(--c-text-strong);font-size:18px}.event-done{color:var(--c-text-subtle);text-decoration:line-through}.event-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.event-asset-item{position:relative;overflow:hidden;border:1px solid var(--c-border);border-radius:10px;background:var(--c-surface)}.event-asset-item img{display:block;width:100%;height:130px;object-fit:cover}.event-asset-item small{display:block;padding:7px 9px;color:var(--c-text-muted)}.event-asset-delete.ant-btn{position:absolute;z-index:1;top:8px;right:8px;display:grid;width:32px;height:32px;place-items:center;border:1px solid color-mix(in srgb,var(--c-danger) 35%,var(--c-border));border-radius:50%;background:color-mix(in srgb,var(--c-surface) 92%,transparent);box-shadow:0 4px 12px color-mix(in srgb,#000 18%,transparent)}.event-asset-delete.ant-btn:hover{background:var(--c-danger-subtle)}.event-asset-file{display:grid;height:130px;padding:12px;place-items:center;color:var(--c-text-muted);text-align:center}:root[data-theme=dark] .event-calendar-pill.event-category-swimming{background:#083344}:root[data-theme=dark] .event-calendar-pill.event-category-triathlon{background:#2e1065}@media (max-width: 639px){.event-calendar-page .page-head{align-items:flex-start;gap:10px}.event-calendar-page .page-head .page-title{font-size:23px}.event-calendar-card .ant-card-body{padding:8px}.event-calendar-card .ant-picker-calendar-date-content{min-height:48px}.event-calendar-pill{height:22px;padding:2px 3px}.event-calendar-pill span{display:none}.event-calendar-pill b{font-size:10px}.event-detail-hero{align-items:flex-start;flex-direction:column}.event-detail-hero .ant-space{width:100%}.event-detail-hero .ant-select{min-width:140px}.event-list-card .ant-list-item{align-items:flex-start}.event-list-card .ant-list-item-action{margin-left:8px}}.assistant-page{max-width:1180px;margin:0 auto}.assistant-page-head{align-items:center;margin-bottom:10px}.assistant-page-head .page-title{font-size:26px}.assistant-page-head .page-sub{font-size:12px}.assistant-channel-tag{margin:0;padding:6px 11px;border-radius:999px;color:var(--color-primary);background:var(--color-primary-subtle);border-color:var(--color-primary-border)}.assistant-hero{position:relative;display:flex;min-height:300px;margin-bottom:16px;overflow:hidden;border:1px solid var(--color-primary-border);border-radius:18px;background:linear-gradient(115deg,var(--c-surface) 0%,var(--color-primary-subtle) 100%);box-shadow:var(--shadow-md)}.assistant-hero-copy{position:relative;z-index:1;max-width:610px;padding:35px 0 32px 40px}.assistant-hero-copy .ant-tag{margin-bottom:12px;border:0;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.12em}.assistant-hero-copy h2{margin:0 0 10px;color:var(--c-text-strong);font-size:clamp(27px,3vw,38px);line-height:1.18;letter-spacing:-.04em}.assistant-hero-copy h2 span{color:var(--color-primary)}.assistant-hero-copy p{max-width:500px;margin:0 0 18px;color:var(--c-text-muted);line-height:1.8}.assistant-hero-pills{display:flex;flex-wrap:wrap;gap:9px}.assistant-hero-pills span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--c-border);border-radius:999px;color:var(--c-text);background:color-mix(in srgb,var(--c-surface) 72%,transparent);font-size:12px}.assistant-hero-pills .anticon{color:var(--color-primary)}.assistant-hero-visual{position:absolute;right:8%;bottom:-46px;width:230px;height:270px;transform:rotate(7deg)}.assistant-phone{position:relative;width:176px;height:260px;margin:0 auto;padding:30px 11px 14px;border:5px solid #1e3a8a;border-radius:28px;background:linear-gradient(160deg,#172554,#2563eb);box-shadow:0 20px 45px #2563eb52}.assistant-phone-notch{position:absolute;top:9px;left:50%;width:52px;height:5px;transform:translate(-50%);border-radius:99px;background:#60a5fa}.assistant-phone-top{display:flex;align-items:center;gap:5px;color:#dbeafe;font-size:11px}.assistant-phone-top small{flex:1;font-size:9px}.assistant-phone-top span{font-size:9px;opacity:.7}.assistant-message{display:flex;flex-direction:column;gap:7px;margin-top:17px;padding:12px 10px;border-radius:12px;color:#172554;background:#fff;box-shadow:0 5px 14px #0f172a29;font-size:9px}.assistant-message b{font-size:10px}.assistant-message span{color:#64748b;line-height:1.45}.assistant-message em{color:#2563eb;font-style:normal;font-weight:600}.assistant-message-mini{flex-direction:row;align-items:center;margin:12px 0 0 20px;padding:9px;color:#166534;background:#dcfce7}.assistant-message-mini .anticon{font-size:15px}.assistant-hero-orb{position:absolute;border-radius:50%;opacity:.42;filter:blur(1px)}.assistant-hero-orb-one{right:11%;top:-100px;width:300px;height:300px;background:#bfdbfe}.assistant-hero-orb-two{right:-80px;bottom:-140px;width:280px;height:280px;background:#c7d2fe}.assistant-content-grid .ant-card{height:auto}.assistant-content-grid .ant-card-head{border-bottom-color:var(--c-border)}.assistant-content-grid{align-items:stretch}.assistant-content-grid .ant-card-body{padding:14px 18px}.assistant-content-grid .ant-card:first-child{margin-top:0!important}.assistant-rules-card .ant-card-head-title{font-size:16px}.assistant-rule{display:flex;gap:10px;align-items:center;padding:8px 0}.assistant-rule+.assistant-rule{border-top:1px solid var(--c-border)}.assistant-rule-icon{display:grid;flex:0 0 30px;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--color-primary);background:var(--color-primary-subtle);font-size:14px}.assistant-rule strong,.assistant-rule small{display:block}.assistant-rule strong{color:var(--c-text-strong);font-size:13px}.assistant-rule small{margin-top:2px;color:var(--c-text-muted);font-size:11px;line-height:1.35}.assistant-rule-note{margin-top:14px}.assistant-footnote{margin:15px 0 0;color:var(--c-text-subtle);font-size:12px;text-align:center}.assistant-status-strip{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:12px 16px;border:1px solid var(--c-border);border-radius:16px;background:var(--c-surface);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.assistant-status-strip:before{content:"";position:absolute;inset:0 0 auto;width:auto;height:3px;background:var(--brand-grad)}.assistant-status-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:20px;flex:none}.assistant-status-icon.is-on{color:var(--c-success);background:var(--c-success-subtle);border:1px solid #bbf7d0}.assistant-status-icon.is-off{color:var(--c-warning);background:var(--c-warning-subtle);border:1px solid #fde68a}.assistant-status-main{min-width:220px;display:flex;flex-direction:column;gap:2px}.assistant-status-main strong{color:var(--c-text-strong);font-size:14px}.assistant-status-main span{color:var(--c-text-muted);font-size:12px}.assistant-status-stats{margin-left:auto;display:flex;align-items:stretch}.assistant-status-stats>div{display:flex;flex-direction:column;gap:2px;padding:0 14px;border-left:1px solid var(--c-border)}.assistant-status-stats small{color:var(--c-text-subtle);font-size:11px}.assistant-status-stats b{color:var(--c-text-strong);font-size:12px;white-space:nowrap}.assistant-status-stats b .anticon{color:var(--c-text-muted);margin-right:4px}.assistant-status-stats b.is-ok{color:var(--c-success)}.assistant-status-stats b.is-warn{color:var(--c-warning)}.assistant-card-title{display:flex;align-items:center;gap:10px}.assistant-card-title>span:last-child{display:flex;flex-direction:column;gap:2px}.assistant-card-title strong{color:var(--c-text-strong);font-size:16px}.assistant-card-title small{color:var(--c-text-muted);font-size:12px;font-weight:400}.assistant-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:18px}.assistant-card-icon.is-blue,.assistant-pref-icon.is-blue{color:var(--color-primary);background:var(--color-primary-subtle)}.assistant-card-icon.is-green{color:var(--c-success);background:var(--c-success-subtle)}.assistant-card-icon.is-amber{color:var(--c-warning);background:var(--c-warning-subtle)}.assistant-pref-icon.is-violet{color:#6366f1;background:#eef2ff}.assistant-bind-card{margin-top:0!important}.assistant-bind-card .ant-card-head,.assistant-rules-card .ant-card-head,.assistant-privacy-card .ant-card-head{min-height:62px;padding:12px 18px 8px;border-bottom-color:var(--c-border)}.assistant-bind-card .ant-card-body{padding:14px 18px 16px}.assistant-bound-banner{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid #bbf7d0;border-radius:13px;background:linear-gradient(135deg,var(--c-success-subtle),var(--color-primary-subtle))}.assistant-bound-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:var(--brand-grad);font-size:17px}.assistant-bound-banner strong,.assistant-bound-banner small{display:block}.assistant-bound-banner strong{color:var(--c-text-strong);font-size:14px}.assistant-bound-banner small{color:var(--c-text-muted);font-size:12px}.assistant-bound-banner time{margin-left:auto;color:var(--c-text-subtle);font-size:11px;white-space:nowrap}.assistant-pref-rows{display:flex;flex-direction:column;gap:8px}.assistant-pref-row{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--c-border);border-radius:12px;background:var(--c-bg-subtle)}.assistant-pref-row.is-on{border-color:var(--color-primary-border);background:linear-gradient(135deg,var(--color-primary-subtle),var(--c-bg-subtle))}.assistant-pref-row>div{flex:1;min-width:0}.assistant-pref-row strong,.assistant-pref-row small{display:block}.assistant-pref-row strong{color:var(--c-text-strong);font-size:14px}.assistant-pref-row small{color:var(--c-text-muted);font-size:12px;margin-top:2px}.assistant-pref-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-weight:700;font-size:16px;flex:none}.assistant-bound-ops{padding-top:8px;border-top:1px dashed var(--c-border-strong)}.assistant-privacy-card{margin-top:12px}.assistant-privacy{padding:9px 11px;border-radius:10px}.assistant-privacy+.assistant-privacy{margin-top:12px}.assistant-privacy.allow{background:var(--c-success-subtle);border:1px solid #bbf7d0}.assistant-privacy.deny{background:var(--c-bg-muted);border:1px solid var(--c-border)}.assistant-privacy strong{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;color:var(--c-text-strong)}.assistant-privacy.allow strong{color:var(--c-success)}.assistant-privacy .ant-tag{margin:3px 4px 0 0;border-radius:999px;font-size:11px}:root[data-theme=dark] .assistant-bound-banner{border-color:#166534;background:linear-gradient(135deg,#052e16,#172554)}:root[data-theme=dark] .assistant-pref-row.is-on{background:linear-gradient(135deg,#172554,#111827)}:root[data-theme=dark] .assistant-privacy.allow{border-color:#166534}:root[data-theme=dark] .assistant-hero{background:linear-gradient(115deg,#111827,#172554);border-color:#2b4d93}:root[data-theme=dark] .assistant-phone{border-color:#172554}:root[data-theme=dark] .assistant-hero-orb-one{background:#1d4ed8}:root[data-theme=dark] .assistant-hero-orb-two{background:#4338ca}@media (max-width: 700px){.assistant-hero-copy{padding:26px 22px 28px}.assistant-hero-visual{right:-36px;opacity:.22}.assistant-hero-copy p{max-width:92%}.assistant-status-strip{align-items:flex-start;flex-wrap:wrap}.assistant-status-stats{width:100%;margin-left:68px}.assistant-status-stats>div{padding:0 10px}.assistant-status-stats>div:first-child{padding-left:0;border-left:0}.assistant-bound-banner time{display:none}.assistant-bound-ops{flex-direction:column}}:root[data-theme=dark] .ant-alert-success{background:#14532d;border-color:#22c55e}:root[data-theme=dark] .ant-alert-success .ant-alert-message,:root[data-theme=dark] .ant-alert-success .ant-alert-description{color:#dcfce7}:root[data-theme=dark] .ant-alert-success .ant-alert-icon{color:#4ade80}:root[data-theme=dark] .ant-alert-warning{background:#451a03;border-color:#f59e0b}:root[data-theme=dark] .ant-alert-warning .ant-alert-message,:root[data-theme=dark] .ant-alert-warning .ant-alert-description{color:#fef3c7}:root[data-theme=dark] .ant-alert-warning .ant-alert-icon{color:#fbbf24}:root[data-theme=dark] .ant-alert-error{background:#450a0a;border-color:#ef4444}:root[data-theme=dark] .ant-alert-error .ant-alert-message,:root[data-theme=dark] .ant-alert-error .ant-alert-description{color:#fee2e2}:root[data-theme=dark] .ant-alert-error .ant-alert-icon{color:#f87171}:root[data-theme=dark] .ant-alert-info{background:#172554;border-color:#3b82f6}:root[data-theme=dark] .ant-alert-info .ant-alert-message,:root[data-theme=dark] .ant-alert-info .ant-alert-description{color:#dbeafe}:root[data-theme=dark] .ant-alert-info .ant-alert-icon{color:#60a5fa}:root[data-theme=dark] .ant-typography-secondary{color:var(--c-text-muted)!important}:root[data-theme=dark] .ant-btn-primary,:root[data-theme=dark] .ant-btn-primary:hover,:root[data-theme=dark] .ant-btn-primary:focus,:root[data-theme=dark] .ant-btn-primary:active{box-shadow:0 2px #00000059}:root[data-theme=dark] .ant-btn-default,:root[data-theme=dark] .ant-btn-default:hover,:root[data-theme=dark] .ant-btn-default:focus,:root[data-theme=dark] .ant-btn-default:active{box-shadow:0 1px 2px #00000047}:root[data-theme=dark] .ant-btn-dangerous,:root[data-theme=dark] .ant-btn-dangerous:hover,:root[data-theme=dark] .ant-btn-dangerous:focus,:root[data-theme=dark] .ant-btn-dangerous:active{color:#f87171;border-color:#ef4444;background:#1f1115;box-shadow:0 1px 2px #00000047}:root[data-theme=dark] .ant-btn:focus-visible{outline-color:#60a5fa}:root[data-theme=dark] .ant-modal-close{color:#cbd5e1}:root[data-theme=dark] .ant-modal-close:hover{color:#f8fafc;background:#1e293b}:root[data-theme=dark] .ant-tag-blue{color:#bfdbfe;background:#172554;border-color:#2563eb}:root[data-theme=dark] .ant-tag-green{color:#bbf7d0;background:#052e16;border-color:#22c55e}:root[data-theme=dark] .ant-tag-orange,:root[data-theme=dark] .ant-tag-gold{color:#fed7aa;background:#451a03;border-color:#f59e0b}:root[data-theme=dark] .ant-tag-red{color:#fecaca;background:#450a0a;border-color:#ef4444}:root[data-theme=dark] .ant-tag-default{color:#cbd5e1;background:#1e293b;border-color:#475569}:root[data-theme=dark] .training-current-plan{border-color:#334155;background:#111827}:root[data-theme=dark] .training-current-plan .ant-card-head{border-color:#334155}:root[data-theme=dark] .training-current-plan .ant-card-head-title{color:#93c5fd}:root[data-theme=dark] .training-calendar-day,:root[data-theme=dark] .training-calendar-day:nth-child(6),:root[data-theme=dark] .training-calendar-day:nth-child(7){background:#0f172a}:root[data-theme=dark] .training-calendar-day.is-today{background:linear-gradient(180deg,#172554,#111827);border-color:#60a5fa}:root[data-theme=dark] .training-workout-card{border-color:#334155;background:#111827}:root[data-theme=dark] .training-workout-card .ant-card-head{border-color:#334155}:root[data-theme=dark] .training-workout-actions{border-color:#334155}:root[data-theme=dark] .training-workout-actions .ant-btn{color:#cbd5e1;border-color:#475569;background:#1e293b}:root[data-theme=dark] .training-workout-actions .ant-btn:hover{color:#dbeafe;border-color:#60a5fa;background:#172554}:root[data-theme=dark] .training-activity-card{border-color:#2563eb;background:linear-gradient(145deg,#172033,#111827)}:root[data-theme=dark] .training-activity-card .ant-card-head{border-color:#1e3a8a}:root[data-theme=dark] .training-activity-heading>span,:root[data-theme=dark] .training-activity-metric{color:#dbeafe}:root[data-theme=dark] .training-activity-type{color:#94a3b8}:root[data-theme=dark] .generation-progress-modal .ant-modal-content,:root[data-theme=dark] .ant-modal-content{background:#111827}:root[data-theme=dark] .generation-step-marker{border-color:#475569;background:#1e293b}:root[data-theme=dark] .generation-progress-steps:before{background:#334155}:root[data-theme=dark] .dashboard-next-workout{color:#cbd5e1}:root[data-theme=dark] .dashboard-next-workout strong{color:#f8fafc}:root[data-theme=dark] .training-calendar-day,:root[data-theme=dark] .training-workout-card,:root[data-theme=dark] .dashboard-metric,:root[data-theme=dark] .dashboard-sport-item{background:#111827;border-color:var(--c-border)}:root[data-theme=dark] .analytics-metric-card{background:linear-gradient(145deg,#111827,#0f172a);border-color:var(--c-border);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .analytics-metric-distance{--metric-bg: #172554}:root[data-theme=dark] .analytics-metric-duration{--metric-bg: #083344}:root[data-theme=dark] .analytics-metric-load{--metric-bg: #451a03}:root[data-theme=dark] .analytics-metric-elevation{--metric-bg: #052e16}:root[data-theme=dark] .analytics-metric-status{--metric-bg: #2e1065}:root[data-theme=dark] .generation-progress-icon{background:linear-gradient(135deg,#172554,#1e293b);color:#93c5fd}:root[data-theme=dark] .generation-step-marker{background:#111827}#root{min-height:100vh}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.brand{min-height:94px;display:flex;align-items:center;gap:10px;margin:10px 0 12px;padding:14px 12px;border:1px solid #e4ebf5;border-radius:16px;background:linear-gradient(145deg,#fff,#f5f8ff);box-shadow:0 5px 16px #2563eb0f;white-space:nowrap;overflow:hidden}.brand-mark{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:11px;color:#fff;background:linear-gradient(145deg,#3b82f6,#1d4ed8);box-shadow:0 5px 11px #2563eb3d;font-size:24px;font-weight:800;letter-spacing:-.06em}.brand-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:3px;overflow:hidden}.brand-copy strong{color:var(--color-primary);font-size:17px;letter-spacing:.12em;line-height:1.1}.brand-copy span{color:var(--c-text-subtle);font-size:13px;letter-spacing:.03em}.app-sider{background:#f8fafc!important;border-right:1px solid #e3eaf4;position:sticky;top:0;height:100vh;overflow:auto;padding:0 10px}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column}.app-sider nav{flex:1}.app-sider .ant-menu{background:transparent;border-inline-end:0}.app-sider .ant-menu-item-group-title{display:flex;align-items:center;gap:10px;padding:18px 12px 8px;color:#667892;font-size:13px;font-weight:700;letter-spacing:.08em}.app-sider .ant-menu-item-group-title:after{content:"";flex:1;height:1px;background:#e7edf5}.app-sider .ant-menu-item{display:flex;align-items:center;position:relative;height:44px;margin:3px 0;padding-inline:13px!important;border-radius:11px;color:#52627a;font-size:14px;font-weight:500;border:1px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}.app-sider .ant-menu-item .ant-menu-item-icon{color:#7b8ba2;font-size:17px;transition:color .18s ease}.app-sider .ant-menu-item:hover{color:#1d4ed8;background:#eef4ff}.app-sider .ant-menu-item:hover .ant-menu-item-icon{color:#2563eb}.app-sider .ant-menu-item-selected{color:#1d4ed8;background:#e8f0ff;border-color:#d7e5ff;overflow:hidden;font-weight:650}.app-sider .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:#2563eb}.app-sider .ant-menu-item-selected .ant-menu-item-icon{color:#2563eb}.sider-foot{margin:12px 0 10px;padding:11px 10px;border:1px solid #e3eaf4;border-radius:14px;background:#fff;display:flex;align-items:center;gap:10px;box-shadow:0 4px 12px #0f172a09;transition:border-color .18s ease,box-shadow .18s ease}.sider-foot:hover{border-color:#bfd5ff;box-shadow:0 6px 16px #2563eb14}.who-name{font-size:13px;font-weight:500;color:var(--c-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.who-sub{font-size:11px;color:var(--c-text-subtle)}.avatar-sm{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#e9f1ff,#dbe8ff);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex:none}.ant-layout-sider-collapsed .brand{justify-content:center;margin-inline:0;padding-inline:0}.ant-layout-sider-collapsed .brand-mark{width:38px;height:38px;border-radius:11px;font-size:20px}.ant-layout-sider-collapsed .brand-copy,.ant-layout-sider-collapsed .sider-foot>div:not(.avatar-sm){display:none}.app-sider.ant-layout-sider-collapsed .ant-menu-item-group-title{display:none}.ant-layout-sider-collapsed .sider-foot{justify-content:center;padding-inline:0;border:0;background:transparent;box-shadow:none}.app-sider.ant-layout-sider-collapsed .ant-menu-item{padding-inline:0!important;justify-content:center}.app-header{height:60px;background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.header-actions{display:inline-flex;align-items:center;gap:4px}:root[data-theme=dark] .app-sider{background:#111827!important;border-right-color:#334155}:root[data-theme=dark] .app-sider .brand{background:linear-gradient(145deg,#111827,#172554);border-color:#334155}:root[data-theme=dark] .app-sider .brand-copy strong{color:#93c5fd}:root[data-theme=dark] .app-sider .brand-copy span{color:#94a3b8}:root[data-theme=dark] .app-sider .ant-menu-item-group-title{color:#94a3b8}:root[data-theme=dark] .app-sider .ant-menu-item-group-title:after{background:#334155}:root[data-theme=dark] .app-sider .ant-menu-item{color:#94a3b8}:root[data-theme=dark] .app-sider .ant-menu-item .ant-menu-item-icon{color:#64748b}:root[data-theme=dark] .app-sider .ant-menu-item:hover{color:#dbeafe;background:#172554;border-color:#263b63}:root[data-theme=dark] .app-sider .ant-menu-item:hover .ant-menu-item-icon{color:#60a5fa}:root[data-theme=dark] .app-sider .ant-menu-item-selected{color:#eff6ff;background:linear-gradient(100deg,#1e3a8a,#172554 72%,#162344);border-color:#2b4d93}:root[data-theme=dark] .app-sider .ant-menu-item-selected .ant-menu-item-icon{color:#60a5fa}:root[data-theme=dark] .app-sider .sider-foot{background:#111827;border-color:#334155}:root[data-theme=dark] .app-sider .who-name{color:#f8fafc}:root[data-theme=dark] .app-sider .who-sub{color:#64748b}.theme-switcher{color:var(--c-text-muted)}.theme-switcher:hover{color:var(--c-text-strong)!important;background:var(--c-bg-muted)!important}.product-brand{display:inline-flex;align-items:center;gap:10px}.product-brand-mark{width:30px;height:30px;flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#2f6df6,#1850c8);color:#fff;font-size:16px;font-weight:800;letter-spacing:-.04em;line-height:1;text-align:center;box-shadow:0 4px 10px #2563eb38}.product-brand-name{display:inline-flex;align-items:baseline;gap:7px;color:var(--c-text-strong);line-height:1}.product-brand-name span{font-size:14px;font-weight:800;letter-spacing:.1em}.product-brand-name i{color:var(--color-primary);font-size:16px;font-style:normal}.product-brand-name b{font-size:15px;font-weight:700;letter-spacing:.08em}.page-content{padding:32px;max-width:1320px;width:100%;margin:0 auto}:root[data-theme=dark] .ant-layout{background:#111827}:root[data-theme=dark] .page-content{background:#111827}:root[data-theme=dark] .dashboard-analysis-today>div,:root[data-theme=dark] .dashboard-analysis-panel,:root[data-theme=dark] .dashboard-analysis-advice,:root[data-theme=dark] .dashboard-analysis-effect{background:#111827}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:600;color:var(--c-text-strong);letter-spacing:-.01em}.page-sub{margin-top:4px;font-size:13px;color:var(--c-text-muted)}.training-current-plan{overflow:hidden;border:1px solid #dbe7ff;background:linear-gradient(135deg,#f8fbff,#fff 60%)}.training-current-plan .ant-card-head{border-bottom-color:#e5edff}.training-current-plan .ant-card-head-title{color:#1d4ed8}.training-current-plan-list{display:flex;flex-direction:column;gap:18px}.training-current-plan-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:2px 4px 4px 12px;border-left:3px solid var(--color-primary)}.training-current-plan-summary .ant-typography{margin-top:0}.training-current-plan-summary>div:first-child .ant-typography{font-size:20px;line-height:1.3}.training-current-plan-summary>div:first-child .ant-typography-secondary{font-size:13px}.training-plan-stat{min-width:92px;padding:8px 16px;border-radius:10px;background:var(--color-primary-subtle);text-align:center}.training-plan-stat strong{display:block;color:var(--color-primary);font-size:22px;line-height:1.1}.training-plan-stat span{color:var(--c-text-muted);font-size:12px}.generation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.generation-summary span{padding:10px 8px;border-radius:8px;background:var(--c-bg-subtle);color:var(--c-text-muted);font-size:12px;text-align:center}.generation-summary strong{display:block;margin-top:4px;color:var(--c-text-strong);font-size:15px}.generation-progress-modal .ant-modal-content{overflow:hidden;border-radius:18px}.generation-progress{padding:10px 8px 4px;text-align:center}.generation-progress-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:20px;color:#2563eb;background:linear-gradient(135deg,#eaf2ff,#f5f8ff)}.generation-progress .ant-typography{margin-bottom:8px}.generation-progress>.ant-typography-secondary{display:block;margin-bottom:20px}.generation-progress-steps{position:relative;margin:0 auto;padding:4px 12px;text-align:left}.generation-progress-steps:before{content:"";position:absolute;top:20px;bottom:20px;left:27px;width:2px;background:#e5e7eb}.generation-progress-step{position:relative;z-index:1;display:flex;align-items:flex-start;gap:12px;min-height:54px;color:var(--c-text-muted)}.generation-progress-step.active{color:#2563eb}.generation-progress-step.done{color:#16a34a}.generation-step-marker{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border:2px solid #d1d5db;border-radius:50%;background:#fff;font-size:16px;font-weight:700}.generation-progress-step.active .generation-step-marker{border-color:#2563eb;color:#2563eb;background:#eff6ff}.generation-progress-step.done .generation-step-marker{border-color:#86efac;color:#16a34a;background:#f0fdf4}.generation-progress-step strong,.generation-progress-step small{display:block}.generation-progress-step strong{line-height:30px;color:inherit;font-size:14px}.generation-progress-step small{margin-top:1px;color:var(--c-text-muted);font-size:12px;line-height:1.45}.generation-ai-review .ant-alert-description{margin-top:8px}.generation-ai-review .markdown-content{color:var(--c-text);font-size:13px}.generation-ai-review .markdown-content h1,.generation-ai-review .markdown-content h2,.generation-ai-review .markdown-content h3{margin-top:14px}.generation-ai-review .markdown-content h1:first-child,.generation-ai-review .markdown-content h2:first-child,.generation-ai-review .markdown-content h3:first-child{margin-top:0}.training-plan-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--c-border)}.training-plan-row:last-child{border-bottom:0}.training-goal-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--c-border)}.training-goal-row:last-child{border-bottom:0}.training-plan-preview{max-height:430px;overflow-y:auto;margin:18px 0 14px;padding:2px 6px 2px 0}.training-preview-week{margin-bottom:14px;padding:12px;border:1px solid var(--c-border);border-radius:10px;background:var(--c-bg-subtle)}.training-preview-week:last-child{margin-bottom:0}.training-preview-week-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--c-text-strong);font-weight:600}.training-preview-workout{display:grid;grid-template-columns:92px minmax(0,1fr) auto 70px;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--c-border)}.training-preview-date,.training-preview-distance{color:var(--c-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.training-preview-distance{text-align:right}.training-preview-name{min-width:0}.training-preview-name strong,.training-preview-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-preview-name strong{color:var(--c-text-strong);font-size:13px}.training-preview-name small{margin-top:2px;color:var(--c-text-muted);font-size:11px}.training-calendar-panel{border:1px solid var(--c-border);box-shadow:var(--shadow-md)}.training-calendar-panel .ant-card-head{min-height:64px;padding:0 22px}.training-calendar-panel .ant-card-body{padding:18px 20px 22px}.training-calendar-toolbar{display:flex;align-items:center;gap:16px}.training-calendar-toolbar strong{color:var(--c-text-strong);font-size:16px;font-weight:600;letter-spacing:.01em}.training-calendar-toolbar .ant-btn{color:var(--c-text-muted);border-color:var(--c-border-strong);font-weight:500}.training-calendar-toolbar .ant-btn:nth-child(2){color:var(--color-primary);border-color:var(--color-primary-border);background:var(--color-primary-subtle)}.training-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(154px,1fr));gap:14px;width:100%;min-width:0;overflow-x:auto;padding:2px 2px 10px}.training-calendar-day{min-height:340px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:13px 11px}.training-calendar-day.is-today{border:2px solid var(--color-primary);background:linear-gradient(180deg,var(--color-primary-subtle) 0%,var(--c-surface) 100%);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}.training-calendar-day:nth-child(6),.training-calendar-day:nth-child(7){background:linear-gradient(180deg,#f8fbff,#eef5ff)}.training-calendar-date{color:var(--c-text-muted);font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:12px;display:flex;justify-content:space-between;gap:8px}.training-calendar-date small{color:var(--c-text-subtle);font-size:11px;font-weight:500;letter-spacing:0}.training-calendar-date small b{display:block;margin-top:2px;color:var(--color-primary);font-size:10px;font-weight:700}.training-workout-card{border:1px solid #dbe5f1;border-radius:12px;background:#fffffff5;box-shadow:0 4px 12px #0f172a0e;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.training-workout-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb1f}.training-activity-card{margin-top:10px;border:1px solid #bfdbfe;border-radius:12px;background:linear-gradient(145deg,#eff6ff,#f8fbff);box-shadow:0 2px 8px #2563eb0f;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.training-activity-card:hover,.training-activity-card:focus-visible{transform:translateY(-2px);border-color:#60a5fa;box-shadow:0 7px 16px #2563eb24;outline:none}.training-activity-card .ant-card-head{min-height:42px;padding:0 10px;border-bottom-color:#dbeafe}.training-activity-card .ant-card-head-title{min-width:0;padding:9px 0;color:#1d4ed8;font-size:12px}.training-activity-card .ant-card-body{display:flex;flex-direction:column;gap:5px;padding:9px 10px 10px}.training-activity-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.training-activity-heading>span{overflow:hidden;color:#1e40af;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.training-activity-heading .ant-tag{flex:none;margin:0;padding-inline:5px;font-size:10px;line-height:19px;border-radius:6px}.training-activity-type{font-size:11px;color:#64748b}.training-activity-metric{font-size:13px;color:#334155;font-weight:600}.training-activity-link{font-size:11px;color:#2563eb}.training-workout-card .ant-card-head{min-height:42px;padding:0 10px;border-bottom-color:#edf2f7}.training-workout-card .ant-card-head-title{min-width:0;padding:10px 0;color:var(--c-text-strong);font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.training-workout-card .ant-card-extra{margin-inline-start:4px;padding:8px 0}.training-workout-card .ant-tag{margin-inline-end:0;padding-inline:6px;font-size:11px;line-height:20px;border-radius:6px}.training-workout-card .ant-card-body{padding:12px 10px 11px}.training-workout-meta{display:flex;align-items:center;gap:6px;min-height:36px;line-height:1.5;white-space:nowrap}.training-workout-meta .ant-typography{min-width:0;overflow:hidden;text-overflow:ellipsis}.training-workout-meta i{color:var(--c-text-subtle);font-style:normal}.training-workout-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:12px;padding-top:10px;gap:5px;border-top:1px solid #edf2f7}.training-workout-actions .ant-btn{min-width:0;width:100%;height:29px;padding-inline:3px;color:#52647a;border-color:#dbe5ef;background:#fbfdff;font-size:12px}.training-workout-actions .ant-btn:hover{color:var(--color-primary);border-color:#93b4f5;background:#f5f8ff}@media (max-width: 720px){.training-current-plan-summary{align-items:flex-start}.training-current-plan-list{gap:13px}.training-current-plan-summary{gap:12px}.training-current-plan-summary>div:first-child .ant-typography{font-size:17px}.training-current-plan-summary>div:first-child .ant-typography-secondary{font-size:12px}.training-plan-stat{min-width:76px;padding-inline:10px}.training-calendar-panel .ant-card-head{padding-inline:14px}.training-calendar-panel .ant-card-body{padding-inline:10px}.training-calendar-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.training-plan-row,.training-goal-row{align-items:flex-start;flex-direction:column}.training-preview-workout{grid-template-columns:76px minmax(0,1fr) auto}.training-preview-distance{grid-column:2 / 3;text-align:left}}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.dashboard-page{display:flex;flex-direction:column;gap:16px}.dashboard-page .page-head{margin-bottom:0}.dashboard-page-head-actions{display:flex;align-items:center;justify-content:flex-end;min-width:0}.dashboard-filter-controls,.dashboard-sync-controls{display:flex;align-items:center;gap:8px;min-width:0}.dashboard-filter-controls .ant-select{min-width:112px}.dashboard-sync-controls{margin-left:14px;color:var(--c-text-muted)}.dashboard-sync-controls .ant-badge{white-space:nowrap}.dashboard-sync-controls .ant-btn-primary{min-width:92px}.dashboard-filter-summary{display:flex;align-items:baseline;gap:8px 10px;flex-wrap:wrap;margin-top:-6px;padding:10px 14px;border:1px solid var(--color-primary-border);border-radius:var(--radius-md);background:linear-gradient(100deg,var(--color-primary-subtle),var(--c-bg-elevated));color:var(--c-text-muted);font-size:12px}.dashboard-filter-summary strong{color:var(--c-text-strong);font-size:13px}.dashboard-filter-summary small{color:var(--c-text-muted);font-size:12px}.dashboard-loading{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.dashboard-card,.dashboard-today{border-radius:var(--radius-lg)}.dashboard-today{overflow:hidden}.dashboard-assistant-card{border:1px solid var(--color-primary-border);background:linear-gradient(110deg,var(--color-primary-subtle) 0%,var(--c-bg-elevated) 58%);overflow:hidden}.dashboard-assistant-inner{display:flex;align-items:center;gap:24px;min-width:0}.dashboard-assistant-brand{display:flex;align-items:center;gap:14px;min-width:280px}.dashboard-assistant-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:14px;color:#fff;background:linear-gradient(145deg,#2563eb,#4f46e5);box-shadow:0 8px 18px #2563eb38;font-size:20px}.dashboard-assistant-brand .ant-typography{display:block}.dashboard-assistant-brand h4.ant-typography{margin:0 0 4px;color:var(--c-text-strong)}.dashboard-assistant-brand .ant-typography-secondary{font-size:13px}.dashboard-assistant-facts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;min-width:0;flex:1;color:var(--c-text-muted);font-size:13px}.dashboard-assistant-facts span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dashboard-assistant-facts .anticon{color:var(--color-primary)}.dashboard-assistant-action{display:flex;align-items:center;gap:12px;flex:0 0 auto}:root[data-theme=dark] .dashboard-assistant-card{background:linear-gradient(110deg,rgba(37,99,235,.16),var(--c-bg-elevated) 70%)}:root[data-theme=dark] .dashboard-assistant-icon{box-shadow:0 8px 18px #1e40af59}.dashboard-today-title{color:var(--c-text-strong);font-size:22px;font-weight:700;line-height:1.45;margin-bottom:8px;max-width:780px;overflow-wrap:anywhere}.dashboard-today-actions{display:flex;align-items:center;justify-content:flex-end}.dashboard-today-actions .ant-space{justify-content:flex-end;width:100%}.dashboard-today-actions .ant-btn{min-height:38px}.dashboard-weekly-card .ant-card-head{min-height:64px}.dashboard-weekly-title{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.dashboard-weekly-title .ant-typography{color:var(--c-text-strong)}.dashboard-weekly-title .ant-tag{margin:0}.dashboard-weekly-range{white-space:nowrap}.page-content>div>.ant-card:first-of-type:has(.ant-picker):has(.ant-select) .ant-space:has(>.ant-btn){width:100%}.page-content>div>.ant-card:first-of-type:has(.ant-picker):has(.ant-select) .ant-space:has(>.ant-btn)>.ant-btn:last-child{margin-left:auto}.dashboard-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.dashboard-metric{position:relative;min-width:0;min-height:126px;padding:18px 18px 16px;background:linear-gradient(145deg,#f8fbff,#fff 72%);border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}.dashboard-metric:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--color-primary)}.dashboard-metric:nth-child(2):before{background:#0891b2}.dashboard-metric:nth-child(3):before{background:#ea580c}.dashboard-metric:nth-child(4):before{background:#16a34a}.dashboard-metric .ant-typography-secondary{display:block;font-size:13px}.dashboard-metric-value{color:var(--c-text-strong);font-size:clamp(18px,1.55vw,24px);font-weight:700;line-height:1.35;margin:12px 0 5px;white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-sport-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-sport-item{position:relative;min-height:122px;padding:17px 18px 15px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:linear-gradient(145deg,#f8fbff,#fff);overflow:hidden}.dashboard-sport-item:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#2563eb}.dashboard-sport-cycling:before{background:#0891b2}.dashboard-sport-aerobic:before,.dashboard-sport-indoor_cardio:before{background:#8b5cf6}.dashboard-sport-strength:before{background:#ea580c}.dashboard-sport-walking:before,.dashboard-sport-hiking:before{background:#16a34a}.dashboard-sport-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dashboard-sport-name{display:flex;align-items:center;min-width:0;gap:8px}.dashboard-sport-name .ant-typography{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-sport-mark{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-subtle)}.dashboard-sport-cycling .dashboard-sport-mark{background:#0891b2;box-shadow:0 0 0 4px #e0f7fa}.dashboard-sport-aerobic .dashboard-sport-mark,.dashboard-sport-indoor_cardio .dashboard-sport-mark{background:#8b5cf6;box-shadow:0 0 0 4px #f3e8ff}.dashboard-sport-strength .dashboard-sport-mark{background:#ea580c;box-shadow:0 0 0 4px #ffedd5}.dashboard-sport-walking .dashboard-sport-mark,.dashboard-sport-hiking .dashboard-sport-mark{background:#16a34a;box-shadow:0 0 0 4px #dcfce7}.dashboard-sport-value{margin-top:13px;color:var(--c-text-strong);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.dashboard-empty-state{min-height:184px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--c-text-muted);text-align:center}.dashboard-empty-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--c-border);border-radius:50%;color:var(--color-primary);background:var(--color-primary-subtle);font-size:28px;line-height:1}.dashboard-empty-state .ant-typography-secondary{max-width:360px}.dashboard-inline-link{padding-left:0;margin-top:6px}.dashboard-plan-name{color:var(--c-text-strong);font-size:20px;font-weight:700;margin-bottom:6px}.dashboard-plan-progress{display:flex;justify-content:space-between;color:var(--c-text-muted);margin:20px 0 8px}.dashboard-next-workout{background:var(--color-primary-subtle);border-radius:var(--radius-md);padding:12px 14px;margin-top:16px}.dashboard-advice{background:var(--c-bg-subtle);border-radius:var(--radius-sm);padding:14px;white-space:pre-wrap;line-height:1.7;max-height:260px;overflow:auto;margin-bottom:12px}.dashboard-analysis{margin-bottom:16px}.dashboard-analysis-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.dashboard-analysis-head .ant-typography{margin:0}.dashboard-analysis-summary{margin:6px 0 0;color:var(--c-text-muted);font-size:13px;line-height:1.5}.dashboard-analysis-stat-label,.dashboard-analysis-panel-title{display:inline-flex;align-items:center;gap:7px}.dashboard-analysis-stat-label{color:var(--c-text-muted)}.dashboard-analysis-stat-label svg{color:var(--color-primary)}.dashboard-analysis-icon{display:inline-flex;color:var(--color-primary);font-size:18px}.dashboard-analysis-today{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.dashboard-analysis-today>div,.dashboard-analysis-today>button,.dashboard-analysis-panel{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg)}.dashboard-analysis-today>div,.dashboard-analysis-today>button{padding:16px;min-width:0}.dashboard-analysis-today>div,.dashboard-analysis-today>button{text-align:center}.dashboard-analysis-today .dashboard-analysis-stat-label{justify-content:center}.dashboard-analysis-today strong{display:block;margin-top:5px;color:var(--c-text-strong);font-size:25px;line-height:1.2;overflow-wrap:anywhere}.dashboard-analysis-today .dashboard-analysis-value{display:flex;width:100%;align-items:flex-start;justify-content:center;gap:6px;margin-top:5px}.dashboard-analysis-today .dashboard-load-level-tag{margin-top:-3px}.dashboard-analysis-today .dashboard-analysis-value .ant-tag{margin:0;flex:none;padding-inline:7px;line-height:24px;font-size:12px;font-weight:600}.dashboard-analysis-today em{font-style:normal;font-size:12px;color:var(--c-text-muted);font-weight:500}.dashboard-analysis-today small{display:block;margin-top:5px;color:var(--c-text-subtle)}.dashboard-today-list{display:grid;gap:7px;margin-bottom:8px}.dashboard-today-list>div{display:flex;align-items:center;gap:8px;color:var(--c-text-strong);font-size:17px;line-height:1.35}.dashboard-today-list-icon{display:inline-flex;color:var(--color-primary);font-size:15px}.dashboard-analysis-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.dashboard-analysis-panel .ant-card-head{min-height:46px}.dashboard-analysis-panel .ant-card-body{min-height:150px}.dashboard-analysis-score{display:flex;align-items:center;gap:20px}.dashboard-analysis-score p{margin:0 0 7px;color:var(--c-text-muted)}.dashboard-analysis-score strong{color:var(--c-text-strong);font-size:18px}.recovery-gauge{position:relative;width:108px;height:108px;flex:0 0 108px;overflow:hidden;border:8px solid var(--recovery-ring);border-radius:50%;background:var(--recovery-track);box-shadow:inset 0 0 0 1px #ffffff0a;isolation:isolate}.recovery-gauge:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff12;pointer-events:none}.recovery-gauge>strong{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;color:var(--c-text-strong);font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}.recovery-gauge-water{position:absolute;z-index:1;inset:calc(100% - var(--recovery-level)) 0 0;overflow:hidden;background:var(--recovery-fill);transition:inset .5s ease,background-color .35s ease}.recovery-gauge-wave{position:absolute;left:-55%;top:-12px;width:210%;height:24px;border-radius:45%;background:var(--recovery-wave);opacity:.68;transform:rotate(2deg);animation:recovery-wave-drift 4.8s ease-in-out infinite}.recovery-gauge-wave-front{top:-7px;left:-60%;opacity:.48;transform:rotate(-2deg);animation-duration:6.2s;animation-direction:reverse}@keyframes recovery-wave-drift{0%,to{translate:-3% 0}50%{translate:3% 2px}}.recovery-gauge-critical{--recovery-fill: #ef4444;--recovery-wave: #f87171;--recovery-ring: #fca5a5;--recovery-track: rgba(127,29,29,.28)}.recovery-gauge-low{--recovery-fill: #f59e0b;--recovery-wave: #fbbf24;--recovery-ring: #fbbf24;--recovery-track: rgba(120,53,15,.24)}.recovery-gauge-moderate{--recovery-fill: #facc15;--recovery-wave: #fde047;--recovery-ring: #fde68a;--recovery-track: rgba(113,63,18,.2)}.recovery-gauge-good{--recovery-fill: #86efac;--recovery-wave: #bbf7d0;--recovery-ring: #86efac;--recovery-track: rgba(20,83,45,.2)}.recovery-gauge-full{--recovery-fill: #22c55e;--recovery-wave: #4ade80;--recovery-ring: #86efac;--recovery-track: rgba(20,83,45,.2)}.recovery-gauge-copy-critical .recovery-status-text,.recovery-gauge-copy-critical>div>strong{color:#ef4444}.recovery-gauge-copy-low .recovery-status-text,.recovery-gauge-copy-low>div>strong{color:#f59e0b}.recovery-gauge-copy-moderate .recovery-status-text,.recovery-gauge-copy-moderate>div>strong{color:#d4a900}.recovery-gauge-copy-good .recovery-status-text,.recovery-gauge-copy-good>div>strong{color:#16a34a}.recovery-gauge-copy-full .recovery-status-text,.recovery-gauge-copy-full>div>strong{color:#16a34a}.recovery-status-text{font-weight:600}@media (prefers-reduced-motion: reduce){.recovery-gauge-wave{animation:none}}.dashboard-analysis-onboarding{min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:10px;color:var(--c-text-muted)}.dashboard-analysis-onboarding strong{color:var(--c-text-strong);font-size:18px}.dashboard-analysis-onboarding span{max-width:280px;line-height:1.7}.dashboard-analysis-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dashboard-analysis-stats>div{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;border-radius:10px;background:var(--c-bg-subtle);min-width:0;min-height:78px;text-align:center}.dashboard-analysis-stats span,.dashboard-analysis-stats small{display:block;color:var(--c-text-muted);font-size:12px}.dashboard-analysis-stats strong{display:block;margin-top:5px;color:var(--c-text-strong);font-size:22px}.dashboard-training-status-value{display:flex;align-items:flex-start;justify-content:center;gap:5px;min-height:30px}.dashboard-training-status-value strong{margin-top:5px}.dashboard-training-status-value small{margin-top:2px;color:var(--c-text-muted);font-size:10px;line-height:1.3;white-space:nowrap}.dashboard-training-status-value .dashboard-load-status-danger{color:#ef4444}.dashboard-training-status-value .dashboard-load-status-warning{color:#f59e0b}.dashboard-training-status-value .dashboard-load-status-positive,.dashboard-training-status-value .dashboard-load-ratio-light{color:#16a34a}.dashboard-training-status-value .dashboard-load-ratio-balanced{color:#65a30d}.dashboard-training-status-value .dashboard-load-ratio-moderate{color:#d4a900}.dashboard-training-status-value .dashboard-load-ratio-high{color:#f59e0b}.dashboard-training-status-value .dashboard-load-ratio-critical{color:#ef4444}.dashboard-analysis-running>div{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.dashboard-analysis-running>div strong{color:var(--color-primary);font-size:30px}.dashboard-analysis-running>div span{color:var(--c-text-muted)}.dashboard-analysis-running label{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;gap:8px;align-items:center;margin:7px 0;color:var(--c-text-muted);font-size:12px}.dashboard-analysis-running label b{color:var(--c-text-strong);font-size:12px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.dashboard-analysis-note{display:block;margin-top:12px;line-height:1.5}.dashboard-analysis-bottom{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;margin-top:12px}.dashboard-analysis-bottom-single{grid-template-columns:1fr}.dashboard-analysis-advice,.dashboard-analysis-effect{padding:15px 17px;border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-bg)}.dashboard-analysis-advice p,.dashboard-analysis-effect p{margin:8px 0 0;line-height:1.7}.quality-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quality-list div{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--c-bg-subtle);border-radius:var(--radius-md)}.quality-list span{color:var(--c-text-muted);font-size:13px}.quality-list strong{color:var(--c-text-strong)}@media (max-width: 1100px){.dashboard-metric-value{font-size:20px}}@media (max-width: 800px){.dashboard-metric-grid,.dashboard-sport-grid{grid-template-columns:repeat(2,1fr)}.dashboard-today-actions,.dashboard-today-actions .ant-space{justify-content:flex-start}.dashboard-assistant-inner{align-items:flex-start;flex-direction:column;gap:16px}.dashboard-assistant-brand{min-width:0}.dashboard-assistant-action{width:100%;justify-content:space-between}.page-content>div>.ant-card:first-of-type:has(.ant-picker):has(.ant-select) .ant-space:has(>.ant-btn)>.ant-btn:last-child{margin-left:0}}@media (max-width: 1000px){.dashboard-analysis-today{grid-template-columns:repeat(2,1fr)}.dashboard-analysis-grid{grid-template-columns:1fr 1fr}.dashboard-analysis-grid>:last-child{grid-column:1 / -1}}@media (max-width: 600px){.dashboard-analysis-head{align-items:flex-start;flex-direction:column}.dashboard-analysis-today,.dashboard-analysis-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analysis-bottom-single{grid-template-columns:1fr}.dashboard-analysis-bottom-single>div{width:100%}.dashboard-analysis-grid{grid-template-columns:1fr}.dashboard-analysis-grid>:last-child{grid-column:auto}.dashboard-analysis-today>div{padding:13px 12px}.dashboard-analysis-today strong{font-size:20px}.dashboard-analysis-score{justify-content:center}.dashboard-analysis-panel .ant-card-body{min-height:0}.dashboard-analysis-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dashboard-analysis-stats>div{padding:9px 8px}.dashboard-analysis-stats span,.dashboard-analysis-stats small{font-size:11px;line-height:1.35}.dashboard-analysis-stats strong{margin-top:4px;font-size:18px}.dashboard-weekly-card .ant-card-head{align-items:flex-start;flex-direction:column;gap:4px;padding-block:14px}.dashboard-weekly-card .ant-card-head-wrapper{align-items:flex-start;flex-direction:column;gap:5px}.dashboard-weekly-card .ant-card-extra{margin-inline-start:0;padding:0}.dashboard-weekly-range{font-size:12px}}@media (max-width: 480px){.dashboard-metric-grid,.quality-list{grid-template-columns:1fr}.dashboard-metric-value{font-size:21px}}.activity-detail-page .stat-grid{margin-bottom:16px}@media (max-width: 600px){.activity-detail-page .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity-detail-page .stat-grid .ant-card-body{padding:14px 12px}.activity-detail-page .stat-grid .stat-value{font-size:21px;line-height:1.25;overflow-wrap:anywhere}.activity-detail-page .stat-grid .stat-label{font-size:12px}.activity-detail-page .stat-grid .stat-foot{font-size:11px}}.stat-label{font-size:13px;color:var(--c-text-muted);display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-value{font-size:30px;font-weight:700;color:var(--c-text-strong);margin-top:10px;letter-spacing:-.02em;font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1.1}.stat-value small{font-size:14px;font-weight:500;color:var(--c-text-muted);margin-left:4px;font-family:var(--font-sans)}.stat-foot{margin-top:8px;font-size:12px;color:var(--c-text-subtle);display:flex;align-items:center;gap:6px}.delta{font-weight:500;display:inline-flex;align-items:center;gap:3px}.delta.up{color:var(--c-success)}.delta.down{color:var(--c-danger)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hbar-row{display:flex;align-items:center;gap:12px;margin-top:14px}.hbar-label{width:64px;font-size:13px;color:var(--c-text);flex:none}.hbar-track{flex:1;height:8px;border-radius:4px;background:var(--c-bg-muted);overflow:hidden}.hbar-fill{height:100%;border-radius:4px}.hbar-val{width:48px;text-align:right;font-size:12px;color:var(--c-text-muted);font-family:var(--font-mono)}.kv{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--c-border);font-size:13px}.avatar-sm-image{object-fit:cover}.kv:last-child{border-bottom:none}.kv span{color:var(--c-text-muted)}.kv b{color:var(--c-text-strong);font-family:var(--font-mono);font-weight:600}.profile-overview-head{display:flex;align-items:center;gap:14px}.profile-overview-identity{min-width:0;flex:1}.profile-overview-name{color:var(--c-text-strong);font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-overview-email{color:var(--c-text-muted);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-overview-status{color:var(--c-success);font-size:12px;margin-top:5px}.status-dot{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:var(--c-success);vertical-align:1px}.profile-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px;margin-top:20px}.profile-overview-grid>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--c-border);font-size:12px}.profile-overview-grid span{color:var(--c-text-muted)}.profile-overview-grid b{color:var(--c-text-strong);font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:18px}.athlete-tags .ant-tag{margin:0}.overview-muted{color:var(--c-text-muted);font-size:12px}.athlete-section-title{color:var(--c-text-strong);font-size:13px;font-weight:600;margin:20px 0 8px}.athlete-metrics{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--c-border)}.athlete-metrics>div{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--c-border)}.athlete-metrics>div:nth-child(odd){padding-right:12px}.athlete-metrics>div:nth-child(2n){padding-left:12px;border-left:1px solid var(--c-border)}.athlete-metrics span{color:var(--c-text-muted);font-size:11px}.athlete-metrics b{color:var(--c-text-strong);font-size:14px}.athlete-weekly{display:grid;grid-template-columns:repeat(3,1fr);padding:12px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.athlete-weekly b{color:var(--c-text-strong);font-size:17px;text-align:center;border-left:1px solid var(--c-border)}.athlete-weekly b:first-child{border-left:0}.athlete-weekly small{color:var(--c-text-muted);font-size:11px;font-weight:400}.athlete-goal{display:flex;justify-content:space-between;gap:12px;font-size:13px}.athlete-goal b{color:var(--c-text-strong)}.athlete-goal span{color:var(--c-text-muted)}.athlete-goal-track{height:5px;margin:10px 0 6px;border-radius:99px;background:var(--c-bg-muted);overflow:hidden}.athlete-goal-track span{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .25s ease}.profile-overview-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:12px;border-top:1px solid var(--c-border);color:var(--c-text-muted);font-size:11px}.progress-track{height:4px;border-radius:2px;background:var(--c-bg-muted);overflow:hidden}.progress-bar{height:100%;border-radius:2px;background:var(--color-primary)}.laps-table .ant-table-cell,.laps-table .lap-label,.laps-table .ant-table-tbody>tr>td{white-space:nowrap!important}.laps-table-shell{display:flex;flex-direction:column}.laps-table-frame{min-height:400px}.laps-table-pagination{display:flex;justify-content:center;padding:12px 0 4px}.src-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;font-weight:600}.src-section-note{color:var(--c-text-muted);font-size:12px;font-weight:400;white-space:nowrap}@media (max-width: 560px){.src-section-head{align-items:flex-start;flex-direction:column;gap:4px}.src-section-note{white-space:normal}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--c-bg-subtle)}.auth-card{width:min(100%,440px)}.admin-login-entry{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--c-border, #e5eaf2);color:var(--c-text-muted, #8b98ad);font-size:12px}.admin-login-entry a{color:var(--c-text, #52627a)}.admin-login-entry a:hover{color:var(--c-primary, #2864e8)}.auth-brand{text-align:center;color:var(--color-primary);font-weight:700;letter-spacing:.14em;font-size:15px;margin-bottom:20px}.coach-page{height:calc(100vh - 124px);min-height:520px;display:flex;flex-direction:column;overflow:hidden}.coach-page>.page-head{flex:none}.coach-layout{flex:1;height:100%;min-height:0;min-width:0;display:grid;grid-template-columns:210px minmax(0,1fr) 320px;gap:16px;align-items:stretch;overflow:hidden}.coach-layout.history-collapsed{grid-template-columns:42px minmax(0,1fr) 320px}.coach-layout.summary-collapsed{grid-template-columns:210px minmax(0,1fr) 42px}.coach-layout.history-collapsed.summary-collapsed{grid-template-columns:42px minmax(0,1fr) 42px}.coach-history-toggle,.coach-history-collapse{border:1px solid var(--c-border);background:var(--c-surface, #fff);color:var(--c-text-subtle);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.coach-history-toggle{width:42px;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.coach-history-toggle:hover,.coach-history-collapse:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-subtle)}.coach-history-toggle span{font-size:22px;line-height:1}.coach-history-toggle small{writing-mode:vertical-rl;font-size:11px;line-height:1.3}.coach-history{min-width:0;height:100%;overflow:hidden}.coach-history .ant-card-body{min-height:0;height:calc(100% - 57px);overflow-y:auto;padding:8px}.coach-history{position:relative}.coach-history-collapse{position:absolute;top:8px;right:8px;z-index:1;width:24px;height:24px;padding:0;border-radius:6px;font-size:18px;line-height:20px}.coach-history-new{width:28px;height:28px;padding:0!important;color:var(--c-text-subtle)!important;font-size:22px;line-height:26px}.coach-history-new:hover{color:var(--color-primary)!important;background:var(--color-primary-subtle)!important}.coach-summary-toggle,.coach-summary-collapse{border:1px solid var(--c-border);background:var(--c-surface, #fff);color:var(--c-text-subtle);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.coach-summary-toggle{width:42px;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.coach-summary-toggle:hover,.coach-summary-collapse:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-subtle)}.coach-summary-toggle span{font-size:22px;line-height:1}.coach-summary-toggle small{writing-mode:vertical-rl;font-size:11px;line-height:1.3}.coach-summary{position:relative}.coach-summary-collapse{position:absolute;top:8px;right:8px;z-index:3;width:24px;height:24px;padding:0;border-radius:6px;font-size:18px;line-height:20px}.coach-history-list{display:flex;flex-direction:column;gap:4px}.coach-history-item{display:flex;align-items:center;gap:2px;border-radius:8px;padding:2px}.coach-history-item.active{background:var(--c-bg-muted)}.coach-history-item>button:first-child{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px;padding:8px;border:0;background:transparent;color:var(--c-text);text-align:left;cursor:pointer;border-radius:6px}.coach-history-item>button:first-child:hover{background:var(--c-bg-muted)}.coach-history-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.coach-history-item small{color:var(--c-text-subtle);font-size:10px}.coach-history-item .ant-btn{flex:none;padding:0 5px}.coach-chat-card{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.coach-chat-card .ant-card-body{min-height:0;height:100%;flex:1;overflow:hidden}.coach-summary{align-self:stretch;height:100%;min-width:0;min-height:0;max-height:100%;overflow-y:scroll;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 4px 24px 0;display:flex;flex-direction:column;gap:12px}.coach-summary-card{flex:0 0 auto;margin:0!important;border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;background:var(--c-surface, #fff)}.coach-summary-card .ant-card-head{position:sticky;top:0;z-index:2;min-height:52px;padding:0 16px;background:var(--c-bg-muted);border-bottom:1px solid var(--c-border)}.coach-summary-card .ant-card-head-title{padding:15px 0;color:var(--c-text-strong);font-size:15px;font-weight:700}.coach-summary-title{display:flex;align-items:center;gap:8px}.coach-summary-title-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--color-primary)}.coach-summary-card .ant-card-body{padding:16px}.coach-summary-card{flex:1;min-height:420px}.coach-summary-content{padding:0;min-height:120px}.coach-summary-loading{min-height:120px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--c-text-subtle);font-size:13px}.coach-summary-content .ant-empty{margin:30px 0}.coach-summary-content .markdown-content{font-size:13px;line-height:1.7;color:var(--c-text)}.coach-summary-content .markdown-content h1{font-size:20px;padding-bottom:8px;border-bottom:1px solid var(--c-border)}.coach-summary-content .markdown-content h2{margin-top:10px;padding:7px 10px;border-left:3px solid var(--color-primary);background:var(--color-primary-subtle);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:17px}.coach-summary-content .markdown-content h3{margin-top:16px;padding:6px 0;color:var(--c-text-strong);font-size:14px;border-bottom:1px solid var(--c-border)}.coach-summary-content .markdown-content>:first-child{margin-top:0}.coach-summary-content .markdown-content p{margin-bottom:10px}.coach-summary-content .markdown-content ul,.coach-summary-content .markdown-content ol{padding-left:20px}.coach-summary-content .markdown-summary-callout{padding:10px 12px;border:1px solid var(--color-primary-border);border-radius:var(--radius-md);background:var(--color-primary-subtle)}.coach-summary .ant-card:last-child{margin-bottom:0!important}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.coach-composer{display:flex;gap:10px;padding:16px 24px;border-top:1px solid var(--c-border);flex:none}.coach-composer .ant-select{width:150px;flex:none}.coach-composer .ant-cascader-picker{width:190px;flex:none}.coach-section-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.coach-section-tab{min-width:0;padding:13px 16px;border:1px solid var(--c-border);border-radius:14px;background:var(--c-surface, #fff);color:var(--c-text-muted);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.coach-section-tab:hover{border-color:var(--color-primary-border);transform:translateY(-1px)}.coach-section-tab.active{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-subtle),var(--c-surface));color:var(--c-text-strong);box-shadow:0 8px 22px color-mix(in srgb,var(--color-primary) 10%,transparent)}.coach-section-tab span,.coach-section-tab small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-section-tab span{font-size:15px;font-weight:700}.coach-section-tab small{margin-top:5px;color:var(--c-text-subtle);font-size:11px}.coach-main{min-height:0;flex:1;display:flex;flex-direction:column;gap:14px}.coach-context-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--color-primary-border);border-radius:14px;background:linear-gradient(135deg,var(--color-primary-subtle),var(--c-surface))}.coach-context-bar>div{min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.coach-context-label{color:var(--color-primary);font-size:12px;font-weight:700}.coach-context-bar strong{color:var(--c-text-strong);font-size:15px}.coach-context-bar small{color:var(--c-text-subtle);font-size:12px}.coach-context-bar .ant-select{width:230px;flex:none}.coach-chat-card{flex:1;height:auto}.coach-summary-period{margin-bottom:16px;color:var(--c-text-subtle);font-size:13px}.coach-history-card{min-height:0;flex:1}.coach-history-card.ant-card{display:flex;flex-direction:column;overflow:hidden}.coach-history-card .ant-card-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}.coach-history-card .ant-card-body{min-height:0}.coach-history-card .coach-history-list{max-width:900px}.coach-history-item{border:1px solid transparent;padding:4px}.coach-history-item:hover,.coach-history-item.active{border-color:var(--color-primary-border);background:var(--color-primary-subtle)}.coach-history-item>button:first-child{padding:13px 12px}.coach-history-item span{font-size:14px;font-weight:600}.coach-history-item small{font-size:11px}.coach-composer{align-items:center;gap:12px}.coach-composer-model{display:flex;align-items:center;gap:8px;flex:none}.coach-composer-model>span{color:var(--c-text-subtle);font-size:12px;white-space:nowrap}.coach-composer-model .ant-cascader-picker{width:178px}.coach-composer-input{min-width:0;flex:1;display:flex;align-items:center;gap:10px}.coach-composer-input .ant-input{min-width:0;flex:1}.coach-composer-input .ant-btn{flex:none}@media (max-width: 768px){.coach-page{height:auto;min-height:0;overflow:visible}.coach-section-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.coach-section-tab{padding:12px;border-radius:12px}.coach-section-tab span{font-size:13px}.coach-context-bar{align-items:stretch;flex-direction:column;gap:10px;padding:13px 14px}.coach-context-bar>div{gap:5px 8px}.coach-context-bar .ant-select{width:100%}.coach-chat-card{min-height:560px;height:calc(100vh - 300px)}.chat-scroll{padding:16px 13px}.coach-composer{display:block;padding:12px}.coach-composer-model{width:100%;padding-bottom:9px}.coach-composer-model .ant-cascader-picker{width:min(260px,100%)}.coach-composer-input{width:100%;gap:8px}.coach-composer-input .ant-btn{min-width:64px}.coach-summary-card .ant-card-body{padding:14px}.coach-summary-card{min-height:0}.coach-history-card .ant-card-head{padding:0 14px}.coach-history-item span{font-size:13px}}@media (max-width: 420px){.coach-section-tab{padding:10px}.coach-section-tab span{font-size:12px}.coach-section-tab small{font-size:10px}.coach-chat-card{min-height:520px}.coach-composer-model .ant-cascader-picker{width:100%}}.coach-composer .ant-input{min-width:0}.analytics-loading{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-bg);box-shadow:var(--shadow-sm)}.analytics-loading{position:relative;overflow:hidden}.analytics-loading:before{content:"";position:absolute;width:420px;height:220px;top:-120px;left:50%;transform:translate(-50%);background:radial-gradient(ellipse,var(--color-primary-subtle),transparent 68%);pointer-events:none}.analytics-loading-orb{position:relative;display:flex;align-items:center;justify-content:center;width:92px;height:92px;margin-bottom:18px;border:1px solid var(--color-primary-border);border-radius:50%;background:var(--c-surface);box-shadow:0 0 0 10px var(--color-primary-subtle),0 12px 34px color-mix(in srgb,var(--color-primary) 18%,transparent)}.analytics-loading-orb:after{content:"分析中";position:absolute;bottom:-27px;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.08em}.analytics-loading-orb .analytics-loader{margin:0;transform:scale(.72);opacity:.82}.analytics-loading-copy{margin-top:8px;text-align:center}.analytics-loader{width:58px;height:58px;position:relative;margin-bottom:18px}.analytics-loader:before,.analytics-loader:after,.analytics-loader i{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--color-primary);animation:analytics-pulse 1.4s ease-in-out infinite}.analytics-loader:before{left:23px;top:0}.analytics-loader i:nth-child(1){left:5px;top:13px;animation-delay:.18s}.analytics-loader i:nth-child(2){right:5px;top:13px;animation-delay:.36s}.analytics-loader i:nth-child(3){left:23px;bottom:0;animation-delay:.54s}.analytics-loader:after{left:23px;top:23px;width:12px;height:12px;background:var(--color-primary-border);animation-delay:.72s}@keyframes analytics-pulse{0%,to{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}.analytics-loading-title{color:var(--c-text-strong);font-size:16px;font-weight:600}.analytics-loading-sub{margin-top:6px;color:var(--c-text-muted);font-size:13px}.analytics-loading-progress{width:min(420px,78%);height:5px;margin:24px 0 16px;overflow:hidden;border-radius:99px;background:var(--c-bg-muted)}.analytics-loading-progress div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),#60a5fa);transition:width .45s ease}.analytics-loading-steps{display:grid;grid-template-columns:repeat(4,1fr);width:min(600px,86%);gap:8px;color:var(--c-text-subtle);font-size:11px}.analytics-loading-steps>div{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;line-height:1.35}.analytics-loading-steps span{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--c-border);border-radius:50%;color:var(--c-text-subtle)}.analytics-loading-steps .active{color:var(--color-primary);font-weight:600}.analytics-loading-steps .active span,.analytics-loading-steps .done span{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.analytics-loading-steps .done{color:var(--c-text-muted)}.analytics-loading-time{margin-top:22px;color:var(--c-text-subtle);font-size:11px}.analytics-period-card .ant-card-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--c-text-muted)}.analytics-history-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:16px;margin:16px 0;padding:14px 16px;border:1px solid var(--c-border);border-radius:14px;background:var(--c-surface);box-shadow:var(--shadow-sm)}.analytics-history-toolbar.is-active{border-color:var(--color-primary-border);background:linear-gradient(135deg,var(--color-primary-subtle),var(--c-surface))}.analytics-history-copy{display:flex;align-items:baseline;gap:12px;min-width:0}.analytics-history-copy strong{color:var(--c-text-strong);font-size:14px;white-space:nowrap}.analytics-history-copy span,.analytics-history-range{color:var(--c-text-subtle);font-size:12px}.analytics-history-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.analytics-history-controls .ant-picker{min-width:142px}.analytics-history-range{grid-column:1 / -1;margin-top:-5px}.analytics-empty-period{min-height:220px;display:grid;place-items:center}.analytics-today-card{margin-bottom:16px;border:1px solid var(--color-primary-border)!important;border-top:3px solid var(--color-primary)!important;background:linear-gradient(135deg,var(--color-primary-subtle),var(--c-surface))!important;box-shadow:var(--shadow-sm)}.analytics-today-card .ant-card-body{padding:20px 22px}.analytics-today-head,.analytics-today-buttons{display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-today-kicker{color:var(--color-primary);font-size:12px;font-weight:700;letter-spacing:.08em}.analytics-today-title{margin-top:5px;color:var(--c-text-strong);font-size:20px;font-weight:700}.analytics-today-action{margin:14px 0 18px;color:var(--c-text-muted);line-height:1.7}.analytics-today-buttons{justify-content:flex-start}@media (max-width: 480px){.analytics-today-head{align-items:flex-start}.analytics-today-title{font-size:17px}.analytics-today-buttons{flex-wrap:wrap}}.analytics-quality{margin-left:auto;font-size:13px}.analytics-insight{margin:16px 0}.analytics-day-card,.analytics-note-card{margin-top:16px}.analytics-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.analytics-metric-card{position:relative;min-width:0;min-height:154px;overflow:hidden;border:1px solid var(--c-border);border-radius:16px;background:linear-gradient(145deg,#fff,#fbfdff);box-shadow:0 6px 18px #1e40af0b}.analytics-metric-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--metric-accent)}.analytics-metric-card .ant-card-body{padding:20px 18px 16px}.analytics-metric-head{display:flex;align-items:center;gap:9px;min-width:0}.analytics-metric-head .stat-label{min-width:0;color:var(--c-text-muted);font-size:13px;font-weight:600}.analytics-metric-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:9px;color:var(--metric-accent);background:var(--metric-bg);font-size:16px}.analytics-metric-card .stat-value{margin-top:18px;color:var(--c-text-strong);font-size:clamp(22px,1.9vw,30px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-metric-card .stat-value small{font-size:13px;font-weight:600}.analytics-metric-card .stat-foot{margin-top:10px;min-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-metric-distance{--metric-accent: #2563eb;--metric-bg: #eff6ff}.analytics-metric-duration{--metric-accent: #0891b2;--metric-bg: #ecfeff}.analytics-metric-load{--metric-accent: #d97706;--metric-bg: #fff7ed}.analytics-metric-elevation{--metric-accent: #16a34a;--metric-bg: #f0fdf4}.analytics-metric-status{--metric-accent: #7c3aed;--metric-bg: #f5f3ff}.analytics-page .ant-table-wrapper{overflow-x:auto}@media (max-width: 1200px){.analytics-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-metric-status{grid-column:1 / -1}}@media (max-width: 768px){.analytics-quality{width:100%;margin-left:0}.analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.analytics-history-toolbar{grid-template-columns:1fr;gap:10px;padding:12px}.analytics-history-copy{display:block}.analytics-history-copy span{display:block;margin-top:4px}.analytics-history-controls{justify-content:flex-start;flex-wrap:wrap}.analytics-history-controls .ant-segmented{max-width:100%}.analytics-history-controls .ant-picker{flex:1 1 140px;min-width:0}}@media (max-width: 480px){.analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-stat-grid .analytics-metric-status{grid-column:auto}.analytics-metric-card{min-height:126px;border-radius:13px}.analytics-metric-card .ant-card-body{padding:14px 12px 12px}.analytics-metric-icon{width:27px;height:27px;font-size:14px}.analytics-metric-head{gap:6px}.analytics-metric-head .stat-label{font-size:12px}.analytics-metric-card .stat-value{margin-top:12px;font-size:21px}.analytics-metric-card .stat-foot{margin-top:7px;font-size:11px}}.analytics-detail-list{display:grid;margin-bottom:16px;border:1px solid var(--c-border);border-radius:12px;overflow:hidden}.analytics-detail-list>div{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--c-border)}.analytics-detail-list>div:last-child{border-bottom:0}.analytics-detail-list span{color:var(--c-text-subtle)}.analytics-ai-card{margin-top:16px}.analytics-ai-card .markdown-content{max-height:520px;overflow:auto;padding:4px 8px}.msg{max-width:78%;display:flex;flex-direction:column;gap:6px}.msg-head{display:flex;align-items:center;gap:7px;padding:0 4px}.msg-head .who{padding:0}.coach-chat-avatar{display:grid;place-items:center;width:28px;height:28px;flex:none;overflow:hidden;border-radius:50%;font-size:12px;font-weight:700}.coach-chat-avatar img{width:100%;height:100%;object-fit:cover}.coach-chat-avatar-ai{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);box-shadow:0 3px 8px #2563eb33}.coach-chat-avatar-user{color:var(--color-primary);background:var(--color-primary-subtle);border:1px solid var(--color-primary-border)}.msg .who{font-size:11px;color:var(--c-text-subtle);padding:0 4px}.msg .bubble{padding:12px 16px;font-size:14px;line-height:1.6}.markdown-content{line-height:1.7;overflow-wrap:anywhere;color:var(--c-text)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--c-text-strong);margin:0 0 10px;line-height:1.35}.markdown-content h1{font-size:20px}.markdown-content h2{font-size:18px}.markdown-content h3{font-size:16px}.markdown-content h4{font-size:15px}.markdown-content p{margin:0 0 12px}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:0 0 12px;padding-left:22px}.markdown-content li{margin:4px 0}.markdown-content hr{border:0;border-top:1px solid var(--c-border);margin:14px 0}.markdown-content strong{color:var(--c-text-strong);font-weight:700}.markdown-content code{background:var(--c-bg-muted);border-radius:4px;padding:2px 5px;font-size:12px}.markdown-table-wrap{overflow-x:auto;margin:10px 0 14px;border:1px solid var(--c-border);border-radius:var(--radius-md)}.markdown-content table{width:100%;border-collapse:collapse;font-size:12px}.markdown-content th,.markdown-content td{border-bottom:1px solid var(--c-border);padding:8px 9px;text-align:left;white-space:normal;vertical-align:top}.markdown-content tr:last-child td{border-bottom:0}.markdown-content th{background:var(--c-bg-muted);color:var(--c-text-strong);font-weight:700}.markdown-content tbody tr:nth-child(2n){background:color-mix(in srgb,var(--c-bg-muted) 42%,transparent)}.msg.user{align-self:flex-end;align-items:flex-end}.msg.user .bubble{background:var(--color-primary);color:#fff;border-radius:14px 14px 4px}.msg.ai{align-self:flex-start}.msg.ai .bubble{background:var(--c-bg);border:1px solid var(--c-border);border-radius:14px 14px 14px 4px;color:var(--c-text);box-shadow:var(--shadow-sm)}.suggest{margin-top:10px;display:grid;gap:8px}.suggest-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 16px;border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);font-size:13px;color:var(--c-text);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.suggest-row:hover{border-color:var(--color-primary-border);background:var(--color-primary-subtle);transform:translateY(-1px)}.suggest-row:active{transform:translateY(0)}.suggest-row span{color:var(--c-text-muted);white-space:nowrap}.suggest-indicator{display:inline-flex;align-items:center;gap:3px;padding:5px 2px}.suggest-indicator i{display:block;width:4px;height:4px;border-radius:50%;background:var(--color-primary);opacity:.4;animation:coach-suggest-pulse 1.25s ease-in-out infinite}.suggest-indicator i:nth-child(2){animation-delay:.16s}.suggest-indicator i:nth-child(3){animation-delay:.32s}@keyframes coach-suggest-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.plan-day{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--c-border)}.plan-day:last-child{border-bottom:none}.plan-date{width:44px;flex:none;text-align:center}.plan-date b{display:block;font-size:16px;color:var(--c-text-strong);font-family:var(--font-mono)}.plan-date span{font-size:11px;color:var(--c-text-subtle)}.plan-title{font-size:13px;color:var(--c-text-strong);font-weight:500}.plan-meta{font-size:12px;color:var(--c-text-muted);margin-top:2px}.profile-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:16px;align-items:start}.profile-grid-single{grid-template-columns:minmax(0,1fr)}.profile-overview{overflow:hidden}.profile-overview-head{padding:28px 32px 24px;background:linear-gradient(135deg,#f8fbff,#eef4ff);border-bottom:1px solid var(--c-border);gap:22px}.profile-overview-avatar-block{display:flex;flex-direction:column;align-items:center;flex:none;min-width:112px}.profile-card{padding:28px 24px;text-align:center}.profile-avatar{width:88px;height:88px;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto;box-shadow:0 8px 22px #2563eb29}.profile-avatar-button{display:block;border:0;padding:0;background:transparent;cursor:pointer;border-radius:50%}.profile-avatar-button:disabled{cursor:wait;opacity:.65}.profile-avatar-image{object-fit:cover}.avatar-actions{display:flex;justify-content:center;min-height:24px;margin-top:8px}.profile-overview-head .profile-overview-identity{align-self:center}.profile-overview-name{font-size:24px;font-weight:700}.profile-overview-email{font-size:14px;margin-top:5px}.profile-overview-status{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:5px 10px;border-radius:999px;background:#16a34a1a;font-size:12px}.profile-overview-status .status-dot{margin-right:0}.profile-overview-head>.ant-btn{align-self:flex-start;margin-left:auto;padding-inline:10px;border-radius:8px}.profile-overview>.ant-card-body>.athlete-tags,.profile-overview>.ant-card-body>.athlete-section-title,.profile-overview>.ant-card-body>.athlete-metrics,.profile-overview>.ant-card-body>.athlete-weekly,.profile-overview>.ant-card-body>.athlete-goal,.profile-overview>.ant-card-body>.athlete-goal-track,.profile-overview>.ant-card-body>.profile-overview-footer,.profile-overview>.ant-card-body>.overview-muted{margin-left:32px;margin-right:32px}.profile-overview>.ant-card-body>.athlete-tags{margin-top:20px}.profile-overview>.ant-card-body>.profile-overview-footer{margin-bottom:24px}:root[data-theme=dark] .profile-overview-head{background:linear-gradient(135deg,#141d2e,#111827);border-bottom-color:#334155}:root[data-theme=dark] .profile-overview-status{background:#4ade801f}.src{display:flex;align-items:center;gap:14px;padding:15px 24px;border-top:1px solid var(--c-border)}.src:first-of-type{border-top:none}.src-logo{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}.logo-garmin{background:#fff7ed;color:#c2410c}.logo-coros{background:#f0fdf4;color:#15803d}.logo-keep{background:#fdf2f8;color:#be185d}.logo-file{background:var(--c-bg-muted);color:var(--c-text-muted)}.src-name{font-size:14px;font-weight:500;color:var(--c-text-strong)}.src-meta{font-size:12px;color:var(--c-text-muted);margin-top:2px}@media (max-width: 1200px){.stat-grid{grid-template-columns:repeat(2,1fr)}.coach-layout,.profile-grid,.coach-layout.history-collapsed,.coach-layout.summary-collapsed,.coach-layout.history-collapsed.summary-collapsed{grid-template-columns:1fr}.coach-layout.history-collapsed .coach-history-toggle{width:100%;height:40px;min-height:40px;flex-direction:row}.coach-layout.history-collapsed .coach-history-toggle small{writing-mode:horizontal-tb}.coach-layout.summary-collapsed .coach-summary-toggle{width:100%;height:40px;min-height:40px;flex-direction:row}.coach-layout.summary-collapsed .coach-summary-toggle small{writing-mode:horizontal-tb}.coach-history{height:auto}.coach-history .ant-card-body{height:auto;max-height:150px}}@media (max-width: 540px){.profile-overview-head{padding:24px 20px 20px;gap:14px}.profile-overview-head>.ant-btn{padding-inline:4px}.profile-overview-name{font-size:20px}.profile-overview>.ant-card-body>.athlete-tags,.profile-overview>.ant-card-body>.athlete-section-title,.profile-overview>.ant-card-body>.athlete-metrics,.profile-overview>.ant-card-body>.athlete-weekly,.profile-overview>.ant-card-body>.athlete-goal,.profile-overview>.ant-card-body>.athlete-goal-track,.profile-overview>.ant-card-body>.profile-overview-footer,.profile-overview>.ant-card-body>.overview-muted{margin-left:20px;margin-right:20px}}.training-spirit-fab{position:fixed;z-index:1200;right:28px;bottom:28px;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:var(--spirit-bg,#18275b);box-shadow:0 12px 32px #0f172a47,0 0 0 5px #ffffffb3;cursor:pointer;animation:spirit-float 4s ease-in-out infinite}.training-spirit-fab img{width:100%;height:100%;display:block;border-radius:inherit}.training-spirit-fab i{position:absolute;top:-3px;right:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font:700 11px/19px system-ui;font-style:normal}.spirit-danger{--spirit-accent:#f87171;--spirit-bg:#3b1826}.spirit-warn{--spirit-accent:#f59e0b;--spirit-bg:#3d2a0b}.spirit-caution{--spirit-accent:#facc15;--spirit-bg:#3b3510}.spirit-good{--spirit-accent:#4ade80;--spirit-bg:#123b2b}.spirit-full{--spirit-accent:#34d399;--spirit-bg:#103c32}.training-spirit-bubble{position:fixed;z-index:1199;right:32px;bottom:102px;display:grid;gap:4px;max-width:290px;padding:14px 16px;text-align:left;border:1px solid var(--c-border);border-radius:16px 16px 4px;background:var(--c-surface);color:var(--c-text-strong);box-shadow:0 15px 35px #0f172a2e;cursor:pointer}.training-spirit-bubble span{color:var(--c-text-muted);font-size:13px;line-height:1.5}.training-spirit-panel{position:fixed;z-index:1300;right:28px;bottom:104px;display:flex;flex-direction:column;width:min(420px,calc(100vw - 40px));max-height:min(720px,calc(100vh - 140px));overflow:hidden;border:1px solid var(--c-border);border-radius:22px;background:var(--c-surface);color:var(--c-text-strong);box-shadow:0 24px 70px #0f172a40}.training-spirit-panel header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--c-border)}.spirit-title{display:flex;align-items:center;gap:10px;min-width:0}.spirit-title img{width:42px;height:42px;border-radius:50%}.spirit-title strong,.spirit-title span{display:block}.spirit-title span{margin-top:3px;color:var(--c-text-muted);font-size:12px}.training-spirit-panel section{padding:16px 18px}.spirit-status{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--spirit-accent) 13%,transparent),transparent);border-bottom:1px solid var(--c-border)}.spirit-orb{position:relative;flex:none;width:78px;height:78px}.spirit-orb img{width:100%;height:100%}.spirit-orb b{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:16px}.spirit-status strong{color:var(--spirit-accent);font-size:18px}.spirit-status p{margin:5px 0;color:var(--c-text-muted);font-size:13px;line-height:1.45}.spirit-status small{color:var(--c-text-subtle)}.spirit-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.spirit-section-head span{color:var(--c-text-subtle);font-size:12px}.spirit-events{overflow:auto;max-height:230px}.spirit-event{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--c-border);background:transparent;color:inherit;text-align:left;cursor:pointer}.spirit-event:last-child{border-bottom:0}.spirit-event-dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--spirit-accent)}.spirit-event span:nth-child(2){flex:1}.spirit-event strong,.spirit-event small{display:block}.spirit-event small{margin-top:4px;color:var(--c-text-muted);line-height:1.45}.spirit-event em{color:var(--c-text-subtle);font-size:23px;font-style:normal}.spirit-empty{color:var(--c-text-muted);font-size:13px}.spirit-chat{border-top:1px solid var(--c-border)}.spirit-chat-head{display:flex;align-items:center;gap:8px;color:var(--c-text-muted);font-size:13px}.spirit-chat-head img{width:26px;height:26px;border-radius:50%}.spirit-chat-head button{margin-left:auto}.spirit-reply{margin:10px 0;padding:10px 12px;border-radius:12px;background:var(--c-surface-alt);color:var(--c-text-muted);font-size:13px;line-height:1.55;max-height:120px;overflow:auto;white-space:pre-wrap}.spirit-quick{display:flex;gap:8px;margin:12px 0;overflow-x:auto}.spirit-quick .ant-btn{flex:none;border-radius:999px;font-size:12px}.spirit-composer{display:flex;gap:8px}.spirit-composer .ant-input{border-radius:12px}.spirit-settings{display:grid;gap:16px}.spirit-settings label{display:flex;align-items:center;justify-content:space-between;gap:16px}.spirit-settings .ant-select{min-width:150px}.spirit-settings p{margin:0;color:var(--c-text-muted);font-size:12px;line-height:1.6}.training-spirit-panel footer{padding:10px 18px;border-top:1px solid var(--c-border);color:var(--c-text-subtle);font-size:11px}@keyframes spirit-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.training-spirit-fab{animation:none}}:root[data-theme=dark] .training-spirit-fab{box-shadow:0 12px 32px #0000006b,0 0 0 5px #0f172acc}@media (max-width:639px){.training-spirit-fab{right:16px;bottom:78px;width:52px;height:52px}.training-spirit-bubble{right:16px;bottom:140px;max-width:calc(100vw - 32px)}.training-spirit-panel{right:0;bottom:0;width:100%;max-height:84vh;border-radius:22px 22px 0 0}}.training-spirit-panel.spirit-panel-status-danger{border-color:#f87171;box-shadow:0 24px 70px #ef444433,0 0 18px #f8717129}@media (max-width:639px){.training-spirit-fab{bottom:calc(78px + env(safe-area-inset-bottom))}.training-spirit-bubble{bottom:calc(140px + env(safe-area-inset-bottom))}.training-spirit-panel{max-height:min(84dvh,calc(100dvh - var(--spirit-keyboard-inset,0px)));padding-bottom:calc(env(safe-area-inset-bottom) + var(--spirit-keyboard-inset,0px))}}.training-spirit-panel.spirit-panel-status-warn{border-color:#f59e0b;box-shadow:0 24px 70px #f59e0b2e,0 0 18px #f59e0b24}.training-spirit-panel.spirit-panel-status-caution{border-color:#facc15}.training-spirit-panel.spirit-panel-status-good,.training-spirit-panel.spirit-panel-status-full{border-color:#34d399;box-shadow:0 24px 70px #10b9812e,0 0 18px #34d39921}@media (max-width: 640px){.training-spirit-fab{z-index:1400}.training-spirit-fab.spirit-fab-open{right:16px;bottom:16px}.training-spirit-panel{right:12px;bottom:72px;width:calc(100vw - 24px);max-height:76vh;border-radius:20px}.training-spirit-panel section{padding:14px 16px}.spirit-events{max-height:190px}.training-spirit-panel footer{padding:8px 16px}.stat-grid{grid-template-columns:1fr}.page-content{padding:20px 16px}.app-header{padding:0 16px}.coach-page{height:auto;min-height:0}.coach-layout{min-height:0}.coach-chat-card{height:560px}.coach-summary{height:auto;max-height:none;overflow-y:visible;padding-right:0}.coach-composer{padding:12px;flex-wrap:wrap}.coach-composer .ant-select,.coach-composer .ant-cascader-picker{width:100%}.coach-composer .ant-input{flex:1}.profile-overview-grid{grid-template-columns:1fr}.profile-overview-footer{flex-direction:column}.dashboard-page .page-head{display:block;margin-bottom:10px}.dashboard-page-head-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;margin-top:8px;gap:7px}.dashboard-page .page-head>.dashboard-page-head-actions{flex:1 0 100%;max-width:none}.dashboard-filter-controls,.dashboard-sync-controls{width:100%}.dashboard-filter-controls>*,.dashboard-sync-controls>*{min-width:0}.dashboard-filter-controls .ant-select{flex:1 1 0;min-width:0}.dashboard-sync-controls{margin-left:0;justify-content:space-between;padding:7px 10px;border:1px solid var(--c-border);border-radius:10px;background:var(--c-bg-subtle)}.dashboard-sync-controls .ant-badge{overflow:hidden;text-overflow:ellipsis}.dashboard-page-head-actions .ant-select,.dashboard-page-head-actions .ant-select-selector{width:100%!important}.dashboard-sync-controls .ant-btn{flex:none}.dashboard-sync-controls .ant-tag{margin-inline-end:0;flex:none}.dashboard-sync-controls .ant-btn-primary{min-width:0}}@media (min-width: 640px) and (max-width: 900px){.page-content{padding:12px 16px 28px}.dashboard-page .page-head{display:block;margin-bottom:10px}.dashboard-page-head-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;margin-top:8px;gap:7px}.dashboard-page .page-head>.dashboard-page-head-actions{flex:1 0 100%;max-width:none}.dashboard-filter-controls,.dashboard-sync-controls{width:100%}.dashboard-filter-controls>*,.dashboard-sync-controls>*{min-width:0}.dashboard-filter-controls .ant-select{flex:1 1 0;min-width:0}.dashboard-page-head-actions .ant-select,.dashboard-page-head-actions .ant-select-selector{width:100%!important}.dashboard-sync-controls{margin-left:0}}.event-center-page .event-hero-count{flex-wrap:wrap}.event-center-page .event-hero-count>em{font-size:13px;font-style:normal;letter-spacing:0;line-height:1.6;opacity:.8}.event-center-page .event-hero-main>h2{color:#fff;font-size:24px;line-height:1.4;margin:16px 0;overflow-wrap:anywhere}.event-center-page .progress-ring{width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}.event-center-page .progress-ring:after{z-index:-1}.event-center-page .progress-ring>b{font-size:26px;line-height:1.2;color:#fff}.event-center-page .progress-ring>small{margin-top:6px;font-size:11px;color:#fffc}.event-center-page .event-hero-side{align-items:center;gap:24px}.event-center-page .event-hero-facts{width:100%}.event-center-page .event-hero-facts>div{min-width:0}.event-center-page .event-hero-facts span{display:block;font-size:11px;color:#ffffffb8}.event-center-page .event-hero-facts b{display:block;margin-top:6px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.event-center-page .event-milestones{margin-top:24px}.event-center-page .event-node>span{position:relative;z-index:1;width:14px;height:14px;margin:0 auto 8px;border:2px solid #93c5fd;border-radius:50%;background:#2563eb;font-size:10px;line-height:10px}.event-center-page .event-node>b,.event-center-page .event-node>small{display:block;font-size:11px;line-height:1.6;overflow-wrap:anywhere;padding-inline:3px}.event-center-page .event-node>i{display:none}.event-center-page .event-node.is-now>span{background:#fbbf24;border-color:#fbbf24;color:#1e3a8a}.event-center-page .event-node.is-done>span{background:#fff;border-color:#fff;color:#2563eb}.event-center-page .event-kpi>b{display:inline-block;margin-top:8px;font-size:25px;line-height:1.2;color:var(--c-text-strong)}.event-center-page .event-kpi>small{margin-left:4px;color:var(--c-text-muted)}.event-center-page .event-cal-cell{display:block;min-height:32px;min-width:0}.event-center-page .event-cal-cell button{max-width:100%}.event-center-page .event-cal-count{display:none}.event-calendar-agenda{margin-top:16px;padding-top:16px;border-top:1px solid var(--c-border)}.event-calendar-agenda h3{margin:0 0 10px;color:var(--c-text-strong);font-size:14px}.event-calendar-agenda>button{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--c-border);border-radius:8px;color:var(--c-text-strong);background:var(--c-bg-subtle);text-align:left;cursor:pointer}.event-calendar-agenda>button span{display:block;overflow-wrap:anywhere;line-height:1.5}.event-calendar-agenda small,.event-calendar-agenda p{display:block;margin:5px 0 0;color:var(--c-text-muted);font-size:12px}@media (max-width: 700px){.event-center-page .event-calendar-wrap .ant-picker-content{table-layout:fixed}.event-center-page .event-calendar-wrap .ant-picker-calendar-date{margin:0 2px;padding:4px 0;min-height:68px!important}.event-center-page .event-calendar-wrap .ant-picker-calendar-date-value{text-align:center}.event-center-page .event-calendar-wrap .ant-picker-calendar-date-content{height:30px!important;min-height:30px;overflow:hidden}.event-center-page .event-cal-cell{min-height:28px;text-align:center;padding:2px 0}.event-center-page .event-cal-name,.event-center-page .event-cal-more{display:none}.event-center-page .event-cal-count{display:inline-block;border-left:0;padding:3px 4px;font-size:11px}}.event-detail-modal .ant-modal-title{padding-right:24px;overflow-wrap:anywhere}.event-detail-modal .ant-modal-title .ant-space{flex-wrap:wrap}.event-detail-modal .ant-modal-title .ant-space-item{min-width:0;max-width:100%}.event-detail-modal .ant-descriptions-item-content{overflow-wrap:anywhere}.event-checklist-item{gap:12px;justify-content:flex-start!important}.event-checklist-item>span{min-width:0;overflow-wrap:anywhere}.event-checklist-item .ant-switch{flex-shrink:0}.event-recognition-modal .ant-modal-footer .ant-space{flex-wrap:wrap}.event-recognition-modal .ant-modal-footer .ant-btn{white-space:normal;height:auto;min-height:36px}.event-recognition-modal .ant-list-item a{overflow-wrap:anywhere}@media (max-width: 700px){.event-center-page .event-table{display:block;min-width:0}.event-center-page .event-table thead{display:none}.event-center-page .event-table tbody{display:grid;gap:12px}.event-center-page .event-table tr{display:block;border-bottom:1px solid var(--c-border);padding:12px 0}.event-center-page .event-table td{display:block;min-width:0;padding:5px 0;border:0;white-space:normal}.event-center-page .event-table-name{max-width:100%;white-space:normal;overflow-wrap:anywhere}.event-center-page .event-table td .ant-space{flex-wrap:wrap}.event-detail-modal .ant-form-inline{display:flex;flex-wrap:wrap;gap:8px}.event-detail-modal .ant-form-inline .ant-form-item{flex:1 1 170px;margin:0}.event-detail-modal .ant-modal-body,.event-form-modal .ant-modal-body,.event-result-modal .ant-modal-body,.event-recognition-modal .ant-modal-body{max-height:72dvh;overflow-y:auto}.event-form-modal .ant-modal-content,.event-detail-modal .ant-modal-content,.event-result-modal .ant-modal-content,.event-recognition-modal .ant-modal-content{padding:18px 14px}}.event-center-page{max-width:1440px;margin:0 auto;padding:28px 32px 56px;color:var(--c-text)}.event-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.event-center-head .page-title{margin:0;color:var(--c-text-strong);font-size:28px;font-weight:750;letter-spacing:-.02em}.event-center-head .page-sub{margin-top:7px;color:var(--c-text-muted);font-size:14px}.event-head-actions{display:flex;gap:10px;flex-wrap:wrap}.event-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);gap:28px;min-height:236px;padding:30px 34px;border:1px solid #315fc7;border-radius:18px;background:linear-gradient(120deg,#1d4ed8,#2563eb 56%,#3b82f6);color:#fff;box-shadow:0 14px 32px #2563eb33}.event-hero-main{min-width:0}.event-hero-eyebrow{display:flex;gap:10px;align-items:center;margin-bottom:12px;color:#ffffffb8;font-size:12px;letter-spacing:.08em}.event-hero-eyebrow b{padding:4px 8px;border-radius:5px;background:#ffffff29;color:#fff;letter-spacing:0}.event-hero-count{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;font-size:44px;line-height:1;letter-spacing:-.04em}.event-hero-count span{font-size:17px;letter-spacing:0;opacity:.85}.event-hero-title{margin:0;color:#fff;font-size:clamp(20px,2.3vw,28px);line-height:1.35;overflow-wrap:anywhere}.event-hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;color:#ffffffbf;font-size:13px}.event-hero-meta span{display:inline-flex;align-items:center;gap:5px}.event-hero-side{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.event-milestones{display:flex;align-items:flex-start;margin-top:2px}.event-node{position:relative;flex:1;min-width:0;text-align:center;color:#ffffffb8;font-size:11px}.event-node:before{content:"";position:absolute;z-index:0;top:6px;left:0;right:0;height:2px;background:#ffffff3d}.event-node:first-child:before{left:50%}.event-node:last-child:before{right:50%}.event-node i{position:relative;z-index:1;display:block;width:13px;height:13px;margin:0 auto 8px;border:2px solid rgba(255,255,255,.58);border-radius:50%;background:#2563eb}.event-node.done{color:#fff}.event-node.done i{border-color:#fff;background:#fff;box-shadow:0 0 0 3px #ffffff2e}.event-node.active{color:#fff;font-weight:650}.event-node.active i{border-color:#fff;background:#fbbf24;box-shadow:0 0 0 4px #fbbf2438}.event-node span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-hero-footer{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:16px}.event-hero-footer small{color:#ffffffb8}.progress-ring{position:relative;width:68px;height:68px;flex:0 0 auto;border-radius:50%;background:conic-gradient(#fbbf24 var(--progress, 0%),rgba(255,255,255,.2) 0)}.progress-ring:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:#2563eb}.progress-ring span{position:relative;z-index:1;display:grid;height:100%;place-items:center;font-size:12px;font-weight:700}.event-hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}.event-hero-facts strong,.event-hero-facts small{display:block}.event-hero-facts strong{color:#fff;font-size:17px}.event-hero-facts small{margin-top:3px;color:#ffffffad;font-size:11px}.event-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0}.event-kpi{min-width:0;padding:16px 18px;border:1px solid var(--c-border);border-radius:12px;background:var(--c-surface);box-shadow:var(--shadow-sm)}.event-kpi strong{display:block;color:var(--c-text-strong);font-size:25px;line-height:1.15}.event-kpi span{display:block;margin-top:5px;color:var(--c-text-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-center-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:18px;align-items:start}.event-center-main{min-width:0}.event-panel,.event-rail-panel{border:1px solid var(--c-border);border-radius:14px;background:var(--c-surface);box-shadow:var(--shadow-sm)}.event-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--c-border)}.event-panel-head h2{margin:0;color:var(--c-text-strong);font-size:18px}.event-panel-head p{margin:4px 0 0;color:var(--c-text-muted);font-size:12px}.event-view-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg-muted)}.event-view-tabs button{border:0;border-radius:6px;padding:7px 10px;color:var(--c-text-muted);background:transparent;cursor:pointer;font-size:12px}.event-view-tabs button.is-active{color:var(--c-text-strong);background:var(--c-surface);box-shadow:var(--shadow-sm);font-weight:650}.event-timeline{padding:20px}.event-timeline-group+.event-timeline-group{margin-top:26px}.event-group-head{display:flex;align-items:center;gap:8px;margin:0 0 12px}.event-group-head h3{margin:0;color:var(--c-text-strong);font-size:14px}.event-group-head span{display:inline-grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--c-bg-muted);color:var(--c-text-muted);font-size:11px}.event-group-head i{height:1px;flex:1;background:var(--c-border)}.event-race-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--c-border);cursor:pointer;transition:background .18s ease,transform .18s ease}.event-race-card:last-child{border-bottom:0}.event-race-card:hover{margin-inline:-10px;padding-inline:10px;border-radius:10px;background:var(--c-bg-subtle)}.event-race-card.is-next{margin:0 -10px 4px;padding:16px 10px;border-left:3px solid var(--event-cat, var(--color-primary));border-radius:8px;background:var(--c-bg-subtle)}.event-race-card.is-past{opacity:.82}.event-race-date{padding-right:14px;border-right:1px solid var(--c-border);text-align:center}.event-race-date b{display:block;color:var(--c-text-strong);font-size:25px;line-height:1}.event-race-date span,.event-race-date em{display:block;margin-top:5px;color:var(--c-text-muted);font-size:11px;font-style:normal}.event-race-body{min-width:0}.event-race-title{display:flex;align-items:center;gap:8px;min-width:0}.event-race-title h4{min-width:0;margin:0;color:var(--c-text-strong);font-size:15px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-status-tag,.event-category-tag,.event-pb-tag{display:inline-flex;align-items:center;flex:0 0 auto;gap:4px;padding:3px 7px;border-radius:5px;font-size:11px;line-height:1.2;white-space:nowrap}.event-status-tag i,.event-filter-chip i{width:6px;height:6px;border-radius:50%;background:currentColor}.event-status-tag.pending{color:#d97706;background:#fffbeb}.event-status-tag.active{color:#2563eb;background:#eff6ff}.event-status-tag.done{color:var(--c-text-muted);background:var(--c-bg-muted)}.event-category-tag{color:var(--event-cat, var(--color-primary));background:var(--event-cat-bg, var(--color-primary-subtle))}.event-pb-tag{color:#ca8a04;background:#fef9c3}.event-race-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;color:var(--c-text-muted);font-size:12px}.event-race-meta span{display:inline-flex;align-items:center;gap:4px}.event-prep{display:flex;align-items:center;gap:8px;margin-top:12px}.event-prep>span{width:120px;height:5px;overflow:hidden;border-radius:99px;background:var(--c-bg-muted)}.event-prep>span i{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.event-prep small{color:var(--c-text-subtle);font-size:11px}.event-race-aside{display:flex;flex-direction:column;align-items:flex-end;gap:11px;color:var(--c-text-muted);font-size:12px;white-space:nowrap}.event-race-aside .urgent{color:var(--c-danger);font-weight:650}.event-result-text{color:var(--c-text-strong);font-weight:700}.event-result-text small{color:#ca8a04}.event-race-actions{display:flex;gap:2px;opacity:0;transition:opacity .18s ease}.event-race-card:hover .event-race-actions,.event-race-card:focus-within .event-race-actions{opacity:1}.event-cat-running{--event-cat: #2563eb;--event-cat-bg: #eff6ff}.event-cat-marathon{--event-cat: #db2777;--event-cat-bg: #fdf2f8}.event-cat-trail{--event-cat: #16a34a;--event-cat-bg: #f0fdf4}.event-cat-swimming{--event-cat: #0891b2;--event-cat-bg: #ecfeff}.event-cat-cycling{--event-cat: #d97706;--event-cat-bg: #fffbeb}.event-cat-triathlon{--event-cat: #7c3aed;--event-cat-bg: #f5f3ff}.event-rail{position:sticky;top:18px;display:grid;gap:14px;min-width:0}.event-rail-panel{overflow:hidden}.event-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 16px;border-bottom:1px solid var(--c-border)}.event-rail-head h3{margin:0;color:var(--c-text-strong);font-size:14px}.event-rail-head>span{display:inline-grid;min-width:21px;height:21px;place-items:center;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);font-size:11px}.event-rail-body{display:grid;gap:4px;padding:10px}.event-filter-chip{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:7px;color:var(--c-text-muted);background:transparent;text-align:left;cursor:pointer}.event-filter-chip b{margin-left:auto;font-size:11px;font-weight:500}.event-filter-chip:hover,.event-filter-chip.is-active{color:var(--c-text-strong);background:var(--c-bg-muted)}.event-filter-chip.is-active i{color:var(--color-primary)}.event-todo-list{display:grid;gap:2px;padding:8px 10px}.event-todo-list button{display:flex;align-items:flex-start;gap:8px;padding:9px 6px;border:0;border-radius:7px;color:var(--c-text-muted);background:transparent;text-align:left;cursor:pointer}.event-todo-list button:hover{background:var(--c-bg-muted)}.event-todo-list button>span{min-width:0}.event-todo-list b,.event-todo-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-todo-list b{color:var(--c-text-strong);font-size:12px}.event-todo-list small{margin-top:3px;color:var(--c-text-subtle);font-size:11px}.event-todo-list>p,.event-distribution>p{margin:10px;color:var(--c-text-subtle);font-size:12px}.event-rail-note{padding:10px 14px;border-top:1px solid var(--c-border);color:var(--c-text-subtle);font-size:11px;line-height:1.6}.event-distribution{display:grid;gap:11px;padding:14px}.event-distribution>div{display:grid;grid-template-columns:56px 1fr 20px;gap:8px;align-items:center;color:var(--c-text-muted);font-size:11px}.event-distribution i{height:5px;overflow:hidden;border-radius:99px;background:var(--c-bg-muted)}.event-distribution i b{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.event-distribution em{color:var(--c-text);font-style:normal;text-align:right}.event-calendar-wrap{padding:18px 20px 20px}.event-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.event-calendar-toolbar b,.event-calendar-toolbar span{display:block}.event-calendar-toolbar b{color:var(--c-text-strong);font-size:16px}.event-calendar-toolbar span{margin-top:4px;color:var(--c-text-muted);font-size:12px}.event-calendar-wrap .ant-picker-calendar{background:transparent}.event-calendar-wrap .ant-picker-calendar-date{min-height:72px!important}.event-calendar-wrap .ant-picker-calendar-date-content{height:auto!important;min-height:42px}.event-cal-cell{display:grid;gap:5px;min-height:56px;padding:2px}.event-cal-cell>span{color:var(--c-text);font-size:12px}.event-cal-cell button{min-width:0;overflow:hidden;border:0;border-left:3px solid var(--event-cat, var(--color-primary));border-radius:4px;padding:4px 5px;color:var(--c-text-strong);background:var(--event-cat-bg, var(--color-primary-subtle));cursor:pointer;font-size:11px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.event-cal-cell small{color:var(--c-text-subtle)}.event-table-scroll{overflow-x:auto;padding:4px 20px 20px}.event-table{width:100%;min-width:700px;border-collapse:collapse}.event-table th,.event-table td{padding:13px 8px;border-bottom:1px solid var(--c-border);color:var(--c-text-muted);font-size:12px;text-align:left;vertical-align:middle}.event-table th{color:var(--c-text-subtle);font-size:11px;font-weight:500}.event-table td:first-child{min-width:210px}.event-table-name{display:block;max-width:280px;overflow:hidden;border:0;padding:0;color:var(--c-text-strong);background:transparent;cursor:pointer;font-size:13px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.event-table td small{display:block;margin-top:4px;color:var(--c-text-subtle)}.event-table-num{color:var(--c-text-strong)!important;font-weight:600;white-space:nowrap}.event-empty{margin-top:18px;padding:54px 24px;border:1px solid var(--c-border);border-radius:16px;background:var(--c-surface);text-align:center}.event-empty-art{position:relative;width:92px;height:76px;margin:0 auto 22px;border-radius:18px;background:linear-gradient(135deg,var(--color-primary-subtle),var(--c-bg-muted))}.event-empty-art:before,.event-empty-art:after{content:"";position:absolute;width:42px;height:8px;border-radius:8px;background:var(--color-primary-border);transform:rotate(-24deg)}.event-empty-art:before{top:20px;left:8px}.event-empty-art:after{right:8px;bottom:18px;transform:rotate(24deg)}.event-empty-art b{position:absolute;top:12px;right:12px;bottom:12px;left:12px;display:grid;place-items:center;border-radius:14px;color:var(--color-primary);background:var(--c-surface);font-size:32px;box-shadow:var(--shadow-md)}.event-empty h2{margin:0;color:var(--c-text-strong);font-size:21px}.event-empty>p{max-width:560px;margin:10px auto 26px;color:var(--c-text-muted);line-height:1.7}.event-empty-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:660px;margin:0 auto 28px}.event-empty-steps>div{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--c-text);text-align:left}.event-empty-steps b{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:var(--color-primary);background:var(--color-primary-subtle);font-size:12px}.event-empty-steps span,.event-empty-steps small{display:block}.event-empty-steps small{margin-top:3px;color:var(--c-text-subtle);font-size:11px}.event-empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}:root[data-theme=dark] .event-status-tag.pending{color:#fbbf24;background:#451a03}:root[data-theme=dark] .event-status-tag.active{color:#93c5fd;background:#172554}:root[data-theme=dark] .event-status-tag.done{background:#1e293b}:root[data-theme=dark] .event-pb-tag{color:#fde68a;background:#422006}:root[data-theme=dark] .event-cat-running{--event-cat-bg: #172554}:root[data-theme=dark] .event-cat-marathon{--event-cat-bg: #500724}:root[data-theme=dark] .event-cat-trail{--event-cat-bg: #052e16}:root[data-theme=dark] .event-cat-swimming{--event-cat-bg: #083344}:root[data-theme=dark] .event-cat-cycling{--event-cat-bg: #451a03}:root[data-theme=dark] .event-cat-triathlon{--event-cat-bg: #2e1065}@media (max-width: 1180px){.event-center-page{padding-inline:24px}.event-center-layout{grid-template-columns:minmax(0,1fr) 260px}.event-kpi-strip{grid-template-columns:repeat(3,1fr)}}@media (max-width: 980px){.event-hero{grid-template-columns:1fr}.event-hero-side{gap:18px}.event-center-layout{grid-template-columns:1fr}.event-rail{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.event-rail-panel:nth-child(2){grid-column:span 2}.event-rail-panel:nth-child(3){grid-column:span 1}}@media (max-width: 700px){.event-center-page{padding:20px 14px 40px}.event-center-head{flex-direction:column}.event-head-actions{width:100%}.event-head-actions .ant-btn{flex:1}.event-hero{padding:24px 20px}.event-hero-count{font-size:38px}.event-kpi-strip{grid-template-columns:repeat(2,1fr)}.event-panel-head{align-items:flex-start;flex-direction:column}.event-view-tabs{width:100%}.event-view-tabs button{flex:1}.event-timeline{padding:14px}.event-race-card{grid-template-columns:48px minmax(0,1fr);gap:11px}.event-race-aside{grid-column:2;align-items:flex-start;flex-direction:row;justify-content:space-between;gap:8px}.event-race-actions{opacity:1}.event-rail{grid-template-columns:1fr}.event-rail-panel:nth-child(2),.event-rail-panel:nth-child(3){grid-column:auto}.event-empty-steps{grid-template-columns:1fr;gap:12px}.event-empty-steps>div{justify-content:flex-start;max-width:220px;margin:auto}.event-calendar-wrap{padding-inline:8px}.event-calendar-wrap .ant-picker-calendar-date{min-height:58px!important}.event-calendar-wrap .ant-picker-calendar-date-content{min-height:30px}.event-cal-cell{min-height:38px}.event-cal-cell button{font-size:10px}}@media (max-width: 480px){.event-center-head .page-title{font-size:23px}.event-center-head .page-sub{font-size:12px}.event-hero-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.event-hero-facts strong{font-size:15px}.event-race-title{align-items:flex-start;flex-direction:column;gap:5px}.event-race-title h4{max-width:100%;white-space:normal}.event-race-meta{gap:5px 9px}.event-prep>span{width:82px}.event-calendar-toolbar{align-items:flex-start;flex-direction:column}.event-table-scroll{padding-inline:10px}}.admin-shell,.admin-shell>.ant-layout,.admin-content{background:var(--c-bg-subtle)!important}.admin-sider,.admin-sider .ant-layout-sider-children{background:var(--c-surface)!important;border-right-color:var(--c-border)}.admin-brand{background:var(--c-surface)!important;border-bottom-color:var(--c-border);color:var(--c-text-strong)!important}.admin-brand-mark{background:var(--color-primary-subtle);color:var(--color-primary)}.admin-brand span,.admin-sider-label{color:var(--c-text-muted)}.admin-sider-bottom{border-top-color:var(--c-border)}.admin-sider-bottom .ant-btn{color:var(--c-text-muted)}.admin-header{background:var(--c-surface)!important;border-bottom-color:var(--c-border)!important}.admin-header .ant-typography{color:var(--c-text-strong)}.admin-header .ant-typography-secondary{color:var(--c-text-muted)!important}.admin-page-title h1{color:var(--c-text-strong)!important}.admin-page-title p{color:var(--c-text-muted)!important}.admin-panel{background:var(--c-surface)!important;border-color:var(--c-border)}.admin-panel .ant-card-head{color:var(--c-text-strong);border-bottom-color:var(--c-border)}.admin-panel .ant-table,.admin-panel .ant-table-container,.admin-panel .ant-table-tbody>tr>td{background:var(--c-surface)}.admin-panel .ant-table-thead>tr>th{background:var(--c-bg-muted);color:var(--c-text);border-bottom-color:var(--c-border)}.admin-panel .ant-table-tbody>tr>td{color:var(--c-text);border-bottom-color:var(--c-border)}.admin-panel .ant-table-tbody>tr:hover>td{background:var(--color-primary-subtle)!important}.admin-panel .ant-pagination-item a{color:var(--c-text)}:root[data-theme=dark] .admin-shell .ant-menu,:root[data-theme=dark] .admin-shell .ant-menu-item{background:var(--c-surface);color:var(--c-text-muted)}:root[data-theme=dark] .admin-shell .admin-brand,:root[data-theme=dark] .admin-shell .admin-header{background:#111827!important}:root[data-theme=dark] .admin-shell .admin-page-title h1{color:#f8fafc!important}:root[data-theme=dark] .admin-shell .admin-page-title p{color:#94a3b8!important}:root[data-theme=dark] .admin-shell .ant-menu-item:hover{color:#dbeafe;background:#172554}:root[data-theme=dark] .admin-shell .ant-menu-item-selected{color:#eff6ff;background:#1e3a8a}:root[data-theme=dark] .admin-shell .ant-menu-item-selected .ant-menu-item-icon{color:#93c5fd}:root[data-theme=dark] .admin-panel .ant-table-tbody>tr:nth-child(2n)>td{background:#131d2d}:root[data-theme=dark] .admin-panel .ant-table-tbody>tr:hover>td{background:#1b315a!important}:root[data-theme=dark] .admin-shell .ant-modal-content,:root[data-theme=dark] .admin-shell .ant-modal-header{background:var(--c-surface)}:root[data-theme=dark] .admin-shell .ant-modal-title,:root[data-theme=dark] .admin-shell .ant-form-item-label>label{color:var(--c-text-strong)}.spirit-message-bubble{padding:13px 16px 14px 18px;border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--c-border));border-radius:16px 16px 6px;background:var(--c-surface);box-shadow:0 10px 24px #0f172a24,0 2px 6px #2563eb14}.spirit-message-bubble:before{content:"";position:absolute;top:12px;bottom:12px;left:8px;width:3px;border-radius:3px;background:var(--color-primary)}.spirit-message-bubble-label{margin-bottom:5px;font-size:12px}.spirit-message-bubble-copy{font-size:13px;line-height:1.6}@media (max-width: 639px){.spirit-message-bubble{padding:11px 12px 12px 15px;border-radius:14px 14px 5px}.spirit-message-bubble:before{top:10px;bottom:10px;left:7px}}.shell-navigation .ant-menu{width:100%}.mobile-nav-button{display:none;flex:none;width:44px;height:44px;margin-right:4px;font-size:20px}.mobile-shell-drawer .ant-drawer-header{display:flex;align-items:center;min-height:88px;padding:14px 16px;border-bottom:1px solid var(--c-border);background:var(--c-surface)}.mobile-shell-drawer .ant-drawer-title{min-width:0;order:1}.mobile-shell-drawer .ant-drawer-close{flex:none;order:2;margin:0 0 0 12px;padding:8px;color:var(--c-text-muted)}.mobile-shell-drawer .ant-drawer-close:hover{color:var(--c-text-strong);background:var(--c-bg-muted)}.mobile-shell-drawer .ant-drawer-body{display:flex;flex-direction:column;padding:14px 16px 18px;background:var(--c-bg)}.mobile-shell-drawer .shell-navigation{flex:1}.mobile-shell-drawer .sider-foot{margin-top:16px}.mobile-brand{min-height:58px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.mobile-brand .brand-mark{width:42px;height:42px;font-size:22px}.mobile-brand .brand-copy strong{font-size:16px}.mobile-brand .brand-copy span{font-size:12px}.mobile-shell-drawer .ant-menu{background:transparent}.mobile-shell-drawer .ant-menu-item-group-title{padding:18px 10px 7px}.mobile-shell-drawer .ant-menu-item{margin:2px 0}.ant-table-wrapper{max-width:100%;overflow-x:auto}.ant-card,.ant-form,.ant-space,.ant-input,.ant-input-number,.ant-picker,.ant-select{max-width:100%}@media (max-width: 639px){body{min-width:0}input,textarea,select,.ant-input,.ant-input-number-input,.ant-picker-input>input,.ant-select-selection-search-input{font-size:16px!important}.app-header{gap:4px;height:56px;padding:0 8px}.mobile-nav-button{display:inline-flex;align-items:center;justify-content:center}.product-brand{min-width:0;gap:6px}.product-brand-name span{font-size:12px;letter-spacing:.06em}.product-brand-name b{font-size:13px;letter-spacing:.04em}.header-actions{margin-left:auto;gap:0}.theme-switcher{width:44px;height:44px;padding:0;overflow:hidden;font-size:0}.theme-switcher .anticon{margin:0;font-size:18px}.header-logout{width:44px;height:44px;padding:0;overflow:hidden;font-size:0}.header-logout .anticon{margin:0;font-size:17px}.page-content{width:100%;max-width:none;padding:12px 12px 28px;overflow-x:hidden}.page-head{align-items:flex-start;gap:8px;margin-bottom:10px}.page-head>:first-child{min-width:0;flex:1 1 100%}.page-title{font-size:20px}.page-sub{line-height:1.55}.page-head>.ant-space,.page-head>.ant-space-horizontal{width:100%;flex-wrap:wrap}.page-head>.ant-space>.ant-btn{flex:1 1 auto;min-width:120px}.dashboard-filter-summary{display:grid;gap:2px;padding:10px 12px}.ant-card{border-radius:10px}.ant-card-head{min-height:48px;padding-inline:14px}.ant-card-head-wrapper{align-items:flex-start;gap:8px}.ant-card-head-title{white-space:normal}.ant-card-extra{max-width:48%;white-space:normal;text-align:right}.ant-card-body{padding:14px}.ant-btn{min-height:40px}.ant-space{row-gap:8px!important}.ant-modal{max-width:calc(100vw - 24px);margin:12px auto}.ant-modal-content{max-height:calc(100dvh - 24px);display:flex;flex-direction:column;padding:18px 16px}.ant-modal-body{min-height:0;overflow-y:auto}.ant-modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.ant-modal-footer .ant-btn{margin-inline-start:0}.ant-form-item{margin-bottom:16px}.ant-picker,.ant-select,.ant-input-number{min-height:40px}.ant-select-selector{min-height:40px!important;align-items:center}.ant-table{font-size:12px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:10px 8px;white-space:nowrap}.ant-pagination{flex-wrap:wrap;justify-content:center}.training-calendar-panel .ant-card-body{padding:12px}.training-calendar-grid{display:block;min-width:0;overflow:visible}.training-calendar-day{min-height:0;margin-bottom:12px;padding:11px 9px}.training-calendar-day:last-child{margin-bottom:0}.training-calendar-toolbar{width:100%}.training-calendar-toolbar strong{font-size:13px}.training-current-plan-summary{gap:12px;padding-left:8px}.training-current-plan-summary .ant-typography h4{font-size:16px}.training-preview-workout{grid-template-columns:1fr auto;gap:5px 8px}.training-preview-date{grid-column:1 / -1}.training-preview-name{min-width:0}.training-preview-workout .ant-tag{justify-self:end}.training-preview-distance{grid-column:1 / -1;text-align:left}.generation-summary{grid-template-columns:1fr}.analytics-page .ant-card-body{padding:12px}.analytics-period-card .ant-card-body{align-items:stretch}.analytics-period-card .ant-space{width:100%}.analytics-period-card .ant-space>*{max-width:100%}.profile-overview-head{flex-wrap:wrap}.profile-overview-head>.ant-btn{margin-left:0;width:100%}.profile-overview-avatar-block{min-width:82px}.profile-overview-name{font-size:18px}.profile-grid{gap:12px}.coach-composer .ant-btn{min-width:44px}.admin-content{overflow-x:hidden}.admin-page-title{gap:14px}.admin-page-title>.ant-btn{width:100%}.admin-panel .ant-card-body{min-height:0;padding:8px}.admin-header{gap:8px;padding:0 14px}.admin-header>div:first-child{min-width:0}.admin-header .ant-tag{flex:none}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (max-width: 639px){.analytics-page .page-head{gap:10px}.analytics-page .page-head>.ant-segmented{align-self:flex-start;max-width:100%}.analytics-page .ant-segmented-item-label{padding-inline:9px}.analytics-today-card .ant-card-body{padding:14px 15px}.analytics-today-title{line-height:1.35}.analytics-today-action{margin:10px 0 14px;line-height:1.55}.analytics-today-buttons{gap:8px}.analytics-today-buttons .ant-btn{min-width:0;flex:1;padding-inline:9px}.analytics-period-card .ant-card-body{padding:11px 13px;gap:7px;font-size:12px}.analytics-period-card .analytics-quality{line-height:1.45}.analytics-page .analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.analytics-page .analytics-metric-card{min-height:112px;border-radius:12px}.analytics-page .analytics-metric-card .ant-card-body{padding:12px 10px 10px}.analytics-page .analytics-metric-head{gap:5px}.analytics-page .analytics-metric-icon{width:25px;height:25px;font-size:13px}.analytics-page .analytics-metric-head .stat-label{font-size:11px}.analytics-page .analytics-metric-card .stat-value{margin-top:10px;font-size:18px}.analytics-page .analytics-metric-card .stat-foot{margin-top:5px;font-size:10px}}:root{--c-text-strong: #162033}.profile-grid-single{max-width:1180px;margin:0 auto}.profile-edit-modal{width:min(900px,calc(100vw - 32px))!important}.profile-edit-modal .ant-modal-content{max-height:min(88vh,900px);display:flex;flex-direction:column}.profile-edit-modal .ant-modal-header{margin-bottom:0;padding:0 0 14px;background:transparent;border-bottom:1px solid var(--c-border)}.profile-edit-modal .ant-modal-title{color:var(--c-text-strong)}.profile-edit-modal .ant-modal-body{overflow-y:auto;padding:18px 24px 24px}.profile-edit-modal .ant-form-item{margin-bottom:16px}.profile-avatar-modal{width:min(420px,calc(100vw - 32px))!important}.profile-avatar-modal .ant-modal-content{text-align:center}.profile-avatar-modal .ant-modal-header{margin-bottom:0;padding:0 0 14px;background:transparent;border-bottom:1px solid var(--c-border)}.profile-avatar-modal .ant-modal-title{color:var(--c-text-strong)}.profile-avatar-preview{display:flex;flex-direction:column;align-items:center;gap:20px;padding:12px 0 4px}.profile-avatar-preview .profile-avatar{width:160px;height:160px;font-size:46px}.profile-avatar-preview-actions{display:flex;justify-content:center;gap:10px}.profile-help-popover{max-width:320px}.profile-help-popover .ant-popover-inner{border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-md)}.profile-help-popover .ant-popover-title{color:var(--c-text-strong)}.profile-help-popover .ant-popover-inner-content{color:var(--c-text)}.conflict-filters{width:100%;justify-content:space-between}.conflict-filter-group{min-width:0}.conflict-list-item{padding:14px 8px!important;border-radius:10px;cursor:pointer;transition:background .18s ease,border-color .18s ease}.conflict-list-item:hover{background:var(--color-primary-subtle)}.conflict-list-item .ant-list-item-meta{min-width:0}.avatar-actions span{color:var(--c-text-subtle);font-size:11px}.profile-overview-head{display:flex;align-items:center;min-height:190px;padding:24px 32px;gap:22px}.profile-head-stats{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;margin-left:auto}.profile-head-stats>div{min-width:92px;padding:12px 14px;border:1px solid var(--color-primary-border);border-radius:12px;background:color-mix(in srgb,var(--c-surface) 62%,transparent);text-align:center}.profile-head-stats b,.profile-head-stats span{display:block}.profile-head-stats b{color:var(--c-text-strong);font-size:18px;line-height:1.2}.profile-head-stats span{margin-top:5px;color:var(--c-text-muted);font-size:11px;white-space:nowrap}.profile-grid-single>div>.ant-card+.ant-card{border-radius:14px}:root[data-theme=dark] .profile-head-stats>div{border-color:#334155;background:#1e293bb8}@media (max-width: 900px){.profile-head-stats{grid-template-columns:repeat(3,minmax(76px,1fr));gap:6px}.profile-head-stats>div{min-width:76px;padding:10px 8px}.profile-head-stats b{font-size:16px}}@media (max-width: 639px){.profile-grid-single{width:100%}.profile-edit-modal{width:calc(100vw - 20px)!important;margin:10px auto}.profile-edit-modal .ant-modal-content{max-height:calc(100dvh - 20px);padding:16px 14px}.profile-edit-modal .ant-modal-header{padding-bottom:12px}.profile-edit-modal .ant-modal-body{padding:12px 2px 4px}.profile-avatar-modal{width:calc(100vw - 32px)!important;margin:16px auto}.profile-avatar-modal .ant-modal-content{padding:16px}.profile-avatar-preview .profile-avatar{width:132px;height:132px;font-size:38px}.profile-avatar-preview-actions{width:100%}.profile-avatar-preview-actions .ant-btn{flex:1}.profile-help-popover{width:min(280px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.profile-help-popover .ant-popover-inner-content{padding:4px 0 0}.conflict-filters-card .ant-card-body{padding:12px}.conflict-filters{align-items:stretch;flex-direction:column;gap:10px!important}.conflict-filter-group{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important}.conflict-filter-group .ant-select{min-width:0;width:100%}.conflict-filters>.ant-btn{align-self:flex-start}.conflict-list-item{align-items:flex-start!important}.conflict-list-item .ant-list-item-actions{margin-left:6px}.conflict-list-item .ant-list-item-actions .ant-btn{padding-inline:4px}.profile-overview-head{min-height:0;padding:18px 16px 16px;gap:12px}.profile-overview-avatar-block{min-width:76px}.profile-avatar{width:72px;height:72px;font-size:20px}.profile-overview-name{font-size:18px}.profile-overview-email{max-width:150px;font-size:12px}.profile-overview-status{margin-top:7px;padding:4px 8px}.profile-head-stats{width:100%;order:4;grid-template-columns:repeat(3,1fr);margin-left:0}.profile-head-stats>div{min-width:0;padding:8px 4px}.profile-head-stats b{font-size:15px}.profile-head-stats span{font-size:10px}.profile-overview-head>.ant-btn{width:auto;min-height:32px;margin-left:auto}.profile-overview>.ant-card-body>.athlete-tags{margin-top:14px}.profile-overview>.ant-card-body>.athlete-section-title{margin-top:17px}.profile-overview>.ant-card-body>.athlete-tags,.profile-overview>.ant-card-body>.athlete-section-title,.profile-overview>.ant-card-body>.athlete-metrics,.profile-overview>.ant-card-body>.athlete-weekly,.profile-overview>.ant-card-body>.athlete-goal,.profile-overview>.ant-card-body>.athlete-goal-track,.profile-overview>.ant-card-body>.profile-overview-footer,.profile-overview>.ant-card-body>.overview-muted{margin-left:16px;margin-right:16px}}.admin-page{position:relative;min-height:100vh;max-width:none;margin:0;padding:52px 56px 56px 292px;background:#f5f7fb}.admin-page:before,.admin-page:after{content:none}.admin-shell{min-height:100vh;background:#f5f7fb}.admin-sider{position:relative;background:#fff!important;border-right:1px solid #e5eaf2}.admin-brand{display:flex;align-items:center;gap:10px;height:74px;padding:0 24px;border-bottom:1px solid #edf0f5;color:#17233b}.admin-brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eaf2ff;color:#2864e8;font-weight:700}.admin-brand b,.admin-brand span{display:block}.admin-brand b{letter-spacing:1.5px;font-size:14px}.admin-brand span{margin-top:3px;color:#8794a9;font-size:11px}.admin-sider-label{padding:26px 24px 10px;color:#9aa6b8;font-size:12px}.admin-sider .ant-menu{border-inline-end:0;padding:0 10px}.admin-sider-bottom{position:absolute;right:0;bottom:20px;left:0;padding:14px;border-top:1px solid #edf0f5}.admin-sider-bottom .ant-btn{width:100%;text-align:left;color:#6d7b91}.admin-header{display:flex;align-items:center;justify-content:space-between;height:74px;padding:0 38px;background:#fff;border-bottom:1px solid #e5eaf2}.admin-mobile-menu{display:none}.admin-header .ant-typography{display:block}.admin-header .ant-typography+.ant-typography{margin-top:4px;font-size:12px}.admin-content{padding:38px}.admin-demo-settings{max-width:1180px;margin:0 auto 20px}.readonly-banner{margin-bottom:16px}@media (max-width: 639px){.readonly-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px}.readonly-banner>.ant-alert-icon{margin:0}.readonly-banner>.ant-alert-action{grid-column:2;margin:0}}.admin-page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto 24px}.admin-page-title h1{margin:0;color:#17233b;font-size:28px}.admin-page-title p{margin:8px 0 0;color:#8491a6}.admin-panel{max-width:1180px;margin:0 auto;border:1px solid #e8edf5}.admin-panel .ant-card-body{min-height:470px;display:flex;flex-direction:column}.admin-panel .ant-table-wrapper,.admin-panel .ant-spin-nested-loading,.admin-panel .ant-spin-container{flex:1;display:flex;flex-direction:column}.admin-panel .ant-table{flex:1}.admin-panel .ant-table-pagination{margin-top:auto!important;padding-top:22px}.admin-page:before{content:"ATHLETICAX\a管理控制台\a\a系统管理";white-space:pre;position:fixed;z-index:0;inset:0 auto 0 0;width:232px;padding:34px 24px;box-sizing:border-box;background:#fff;border-right:1px solid #e5eaf2;color:#17233b;font-size:16px;font-weight:700;line-height:2.15;letter-spacing:1px}.admin-page:after{content:"⚙  大模型管理\a\a♙  用户管理\a\a\a↪  退出后台";white-space:pre;position:fixed;z-index:0;inset:142px auto auto 0;width:232px;padding:20px 24px;color:#64748b;font-size:14px;line-height:2.5;font-weight:500}.admin-page>*{position:relative;z-index:1}.admin-tabs{margin-bottom:24px;padding:5px;border-radius:10px;background:#eaf0f8}.admin-tabs .ant-segmented-item-selected{color:#2563eb;box-shadow:0 1px 3px #0f172a1a}@media (max-width: 800px){.admin-page{padding:28px 20px}.admin-page:before,.admin-page:after{display:none}}@media (max-width: 640px){.admin-content{padding:22px 16px}.admin-header{padding:0 18px}.admin-page-title{align-items:flex-start;flex-direction:column}}@media (max-width: 991px){.admin-mobile-menu{display:inline-flex;flex:none;margin-right:8px}.admin-header{justify-content:flex-start}.admin-header>.ant-tag{margin-left:auto}}@media (max-width: 540px){.auth-center-page{padding:32px 16px}.auth-center-page:after{top:22px;left:20px;font-size:10px}.auth-admin-card{padding:36px 24px 28px;border-radius:20px}.auth-admin-card .head h1{font-size:23px}}.auth-shell{min-height:100vh;display:block;position:relative;overflow:hidden;background:#f5f8ff}.auth-brand-pane{position:relative;overflow:hidden;color:#fff;background:radial-gradient(1100px 600px at -10% -10%,rgba(99,102,241,.35),transparent 55%),radial-gradient(900px 700px at 110% 110%,rgba(37,99,235,.4),transparent 55%),linear-gradient(160deg,#0b1020,#142042 55%,#1d2f6a);padding:42px 48px 44px;display:flex;flex-direction:column;isolation:isolate;display:none}.auth-brand-pane:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at 50% 35%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 35%,#000 30%,transparent 75%);z-index:-1;pointer-events:none}.auth-brand-pane:after{content:"";position:absolute;top:-180px;left:-180px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgba(99,102,241,.45),transparent 70%);filter:blur(20px);z-index:-1;pointer-events:none}.auth-brand-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.auth-brand-mark{display:inline-flex;align-items:center;gap:12px;color:#fff}.auth-brand-glyph{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#60a5fa,#6366f1);box-shadow:0 8px 22px #6366f173;color:#fff}.auth-brand-glyph svg{width:22px;height:22px}.auth-brand-text{display:flex;flex-direction:column;line-height:1.1}.auth-brand-text b{font-size:15px;letter-spacing:.14em;font-weight:700}.auth-brand-text span{font-size:11px;color:#ffffff9e;letter-spacing:.18em}.auth-status-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);font-size:12px;color:#ffffffd9}.auth-status-chip .pulse{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 #34d39999;animation:authPulse 1.8s ease-in-out infinite}@keyframes authPulse{0%,to{box-shadow:0 0 #34d39999}50%{box-shadow:0 0 0 6px #34d39900}}.auth-hero{margin-top:clamp(34px,7vh,72px);max-width:450px}.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#6366f12e;border:1px solid rgba(99,102,241,.32);font-size:12px;color:#c7d2fe;letter-spacing:.04em}.auth-eyebrow:before{content:"";width:5px;height:5px;border-radius:50%;background:#818cf8}.auth-hero h1{margin:22px 0 16px;font-size:clamp(30px,3vw,40px);font-weight:700;line-height:1.2;letter-spacing:-.01em;color:#fff}.auth-hero h1 .accent{background:linear-gradient(120deg,#93c5fd,#818cf8 60%,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-hero p{font-size:15px;color:#ffffffbd;max-width:460px;line-height:1.65}.auth-features{margin-top:32px;display:grid;gap:14px;max-width:460px}.auth-feature{display:flex;align-items:flex-start;gap:12px;color:#ffffffdb}.auth-feature .ic{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#93c5fd}.auth-feature .ic svg{width:17px;height:17px}.auth-feature .body strong{display:block;color:#fff;font-weight:600;font-size:14px;margin-bottom:2px}.auth-feature .body span{font-size:13px;color:#ffffffa8}.auth-feature-row{margin-top:36px;display:grid;gap:14px;max-width:460px}.auth-feature-row .row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.auth-feature-row .row .ic{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;background:#6366f159;color:#c7d2fe}.auth-feature-row .row .ic svg{width:16px;height:16px}.auth-feature-row .row b{display:block;color:#fff;font-weight:600;font-size:14px;margin-bottom:2px}.auth-feature-row .row span{font-size:13px;color:#ffffffa8}.auth-overlay{display:none}.glass-card{position:relative;padding:16px 18px;border-radius:16px;background:linear-gradient(180deg,#ffffff1a,#ffffff0a);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 18px 48px #080f2373;color:#f8fafc}.glass-card .label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#ffffffa8;letter-spacing:.08em;text-transform:uppercase}.glass-card h3{margin:8px 0 4px;font-size:22px;font-weight:700;letter-spacing:-.01em}.glass-card .meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#ffffffa8}.glass-pulse{margin-top:12px;height:56px;width:100%}.glass-pulse path.area{fill:url(#pulseGrad);opacity:.6}.glass-pulse path.line{stroke:#93c5fd;stroke-width:2.2;fill:none}.glass-week{margin-top:12px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:56px}.glass-week .bar{border-radius:4px;background:linear-gradient(180deg,#60a5faf2,#6366f1b3)}.glass-week .bar.muted{background:#ffffff1f}.auth-foot{margin-top:auto;padding-top:32px}.auth-foot .label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80}.auth-sources{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}.source-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);font-size:12px;color:#ffffffdb}.source-chip .dot{width:6px;height:6px;border-radius:50%;background:#34d399}.source-chip.imp .dot{background:#fbbf24}.auth-form-pane{position:relative;background:linear-gradient(135deg,#e9efff,#f7f9ff 52%,#e5edff);display:flex;flex-direction:column;min-height:100vh;padding:30px clamp(24px,5vw,72px)}.auth-form-pane:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(680px 480px at 80% 10%,rgba(99,102,241,.16),transparent 66%),radial-gradient(620px 520px at 8% 100%,rgba(37,99,235,.13),transparent 64%),linear-gradient(rgba(37,99,235,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.065) 1px,transparent 1px);background-size:auto,auto,52px 52px,52px 52px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.8) 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.8) 72%,transparent 100%);pointer-events:none}.auth-form-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}.auth-form-topbar .hint{font-size:13px;color:var(--c-text-muted)}.auth-form-topbar .hint a{color:var(--color-primary);font-weight:600}.auth-brand-compact{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--c-text-strong);font-weight:600;letter-spacing:.06em}.auth-brand-compact .mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--brand-grad);color:#fff;box-shadow:0 4px 12px #2563eb40;font-size:14px;font-weight:800;letter-spacing:-.04em}.auth-form-wrap{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:24px 0;position:relative}.auth-form-card{width:100%;max-width:440px;padding:38px 38px 30px;border:1px solid #e2e8f0;border-radius:22px;background:#fffffff0;box-shadow:0 20px 55px #0f172a12,0 3px 10px #2563eb0a}.auth-form-card .eyebrow{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--color-primary-subtle);color:var(--color-primary);font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap}.auth-form-card .eyebrow svg{width:16px;height:16px;flex:0 0 16px}.auth-form-card h2{margin:18px 0 8px;font-size:26px;font-weight:700;color:var(--c-text-strong);letter-spacing:-.01em}.auth-form-card .lede{margin-bottom:28px;color:var(--c-text-muted);font-size:14px}.auth-form-pane .ant-input,.auth-form-pane .ant-input-affix-wrapper,.auth-form-pane .ant-input-outlined,.auth-form-pane .ant-input-password{height:44px;border-radius:12px;background:var(--c-bg);border:1px solid #cbd5e1;font-size:14px}.auth-form-pane .ant-input-affix-wrapper{padding-inline:14px}.auth-form-pane .ant-input-affix-wrapper:focus-within,.auth-form-pane .ant-input:focus,.auth-form-pane .ant-input-focused{border-color:var(--color-primary);box-shadow:0 0 0 4px #2563eb1f}.auth-form-pane .ant-input-affix-wrapper{border-color:#cbd5e1!important;border-bottom:1px solid #cbd5e1!important;box-shadow:inset 0 0 0 1px #cbd5e12e}.auth-form-pane .ant-input-affix-wrapper>.ant-input{height:100%;box-sizing:border-box}.auth-form-pane .ant-input-affix-wrapper:focus-within{border-color:var(--color-primary)!important;border-bottom-color:var(--color-primary)!important;box-shadow:0 0 0 4px #2563eb1f,inset 0 0 0 1px #2563eb2e}.auth-form-pane .ant-input-prefix{color:var(--c-text-subtle);margin-right:10px}.auth-form-pane .ant-form-item{margin-bottom:16px}.auth-form-pane .ant-form-item-label>label{font-size:13px;font-weight:500;color:var(--c-text-strong)}.auth-form-pane input:-webkit-autofill,.auth-form-pane input:-webkit-autofill:hover,.auth-form-pane input:-webkit-autofill:focus,.auth-admin-card input:-webkit-autofill,.auth-admin-card input:-webkit-autofill:hover,.auth-admin-card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--c-text-strong);-webkit-box-shadow:0 0 0 1000px #ffffff inset;box-shadow:0 0 0 1000px #fff inset;transition:background-color 9999s ease-out}.auth-submit-btn,.auth-submit-btn.ant-btn{height:46px;border-radius:12px;background:var(--brand-grad);border:none;color:#fff;font-weight:600;font-size:15px;letter-spacing:.04em;box-shadow:0 10px 24px #2563eb47;transition:transform .12s ease,box-shadow .15s ease,filter .15s ease}.auth-submit-btn:hover,.auth-submit-btn.ant-btn:hover{filter:brightness(1.05);box-shadow:0 14px 30px #2563eb59}.auth-submit-btn:active,.auth-submit-btn.ant-btn:active{transform:translateY(0)}.auth-submit-btn.ant-btn .anticon{font-size:14px}.auth-link-row{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:22px;border-top:1px solid #d7e0ec;font-size:13px;color:var(--c-text-muted)}.auth-link-row a{font-weight:500}.auth-admin-link{display:inline-flex;align-items:center;gap:6px;color:var(--c-text-muted);transition:color .15s}.auth-admin-link:hover{color:var(--color-primary)}.auth-admin-link svg{width:13px;height:13px}.auth-form-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--c-text-subtle);position:relative}.auth-form-foot .links{display:flex;gap:18px}.auth-form-foot .links a{color:var(--c-text-muted)}.auth-form-foot .links a:hover{color:var(--color-primary)}.auth-strength{display:flex;gap:4px;margin-top:8px;height:4px}.auth-strength i{flex:1;background:var(--c-border);border-radius:999px;transition:background .2s}.auth-strength.s2 i:nth-child(-n+2){background:#f59e0b}.auth-strength.s3 i:nth-child(-n+3){background:#10b981}.auth-strength.s4 i{background:#10b981}.auth-strength-note{margin-top:6px;font-size:12px;color:var(--c-text-muted)}.auth-check-row{display:flex;align-items:flex-start;gap:8px;margin:6px 0 22px;color:var(--c-text-muted);font-size:13px}.auth-check-row input{margin-top:2px;accent-color:var(--color-primary)}.auth-check-row a{color:var(--color-primary)}.auth-center-page{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:56px 24px;background:radial-gradient(760px 520px at 8% 8%,rgba(99,102,241,.18),transparent 62%),radial-gradient(720px 560px at 92% 90%,rgba(37,99,235,.16),transparent 64%),linear-gradient(135deg,#f4f7ff,#f8fafc 52%,#eef4ff)}.auth-center-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.42;background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,transparent 72%)}.auth-center-page:after{content:"ATHLETICAX\a ADMIN CONSOLE";white-space:pre;position:absolute;top:42px;left:52px;color:#94a3b8;font-size:11px;font-weight:700;line-height:1.8;letter-spacing:.2em}.auth-admin-card{position:relative;z-index:1;width:100%;max-width:500px;padding:46px 48px 34px;border-radius:24px;background:#ffffffeb;border:1px solid rgba(203,213,225,.8);box-shadow:0 28px 80px #1e40af24,0 8px 24px #0f172a0d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.auth-admin-card:before{content:"";position:absolute;top:-1px;right:28%;left:28%;height:3px;border-radius:0 0 999px 999px;background:var(--brand-grad);box-shadow:0 4px 14px #2563eb59}.auth-admin-card .head{text-align:center;margin-bottom:34px}.auth-admin-card .mark{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;border-radius:18px;background:linear-gradient(145deg,#eaf2ff,#dce7ff);color:var(--color-primary);box-shadow:0 10px 24px #2563eb2e,inset 0 1px #ffffffe6}.auth-admin-card .mark svg{width:28px;height:28px}.auth-admin-card .head h1{margin:0 0 8px;font-size:26px;font-weight:750;color:var(--c-text-strong);letter-spacing:-.03em}.auth-admin-card .head p{margin:0;color:var(--c-text-muted);font-size:14px}:root[data-theme=dark] .auth-form-pane{background:linear-gradient(135deg,#0b1120,#0f172a 52%,#111827)}:root[data-theme=dark] .auth-form-pane:before{background:radial-gradient(680px 480px at 80% 10%,rgba(99,102,241,.2),transparent 66%),radial-gradient(620px 520px at 8% 100%,rgba(37,99,235,.18),transparent 64%),linear-gradient(rgba(96,165,250,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.08) 1px,transparent 1px)}:root[data-theme=dark] .auth-form-card,:root[data-theme=dark] .auth-admin-card{background:#111827f0;border-color:#334155;box-shadow:0 20px 55px #00000052,0 3px 10px #2563eb14}:root[data-theme=dark] .auth-form-card h2,:root[data-theme=dark] .auth-admin-card .head h1{color:#f8fafc}:root[data-theme=dark] .auth-form-card .lede,:root[data-theme=dark] .auth-form-pane .ant-form-item-label>label{color:#cbd5e1}:root[data-theme=dark] .auth-form-pane .ant-input,:root[data-theme=dark] .auth-form-pane .ant-input-affix-wrapper,:root[data-theme=dark] .auth-form-pane .ant-input-outlined,:root[data-theme=dark] .auth-form-pane .ant-input-password{background:#0f172a;color:#f8fafc;border-color:#475569}:root[data-theme=dark] .auth-form-pane .ant-input-affix-wrapper{border-color:#64748b!important;border-bottom-color:#64748b!important;box-shadow:inset 0 0 0 1px #64748b38}:root[data-theme=dark] .auth-form-pane .ant-input-affix-wrapper:focus-within{border-color:#60a5fa!important;border-bottom-color:#60a5fa!important;box-shadow:0 0 0 4px #60a5fa29,inset 0 0 0 1px #60a5fa38}:root[data-theme=dark] .auth-form-pane .ant-input::placeholder{color:#64748b}:root[data-theme=dark] .auth-form-pane input:-webkit-autofill,:root[data-theme=dark] .auth-form-pane input:-webkit-autofill:hover,:root[data-theme=dark] .auth-form-pane input:-webkit-autofill:focus,:root[data-theme=dark] .auth-admin-card input:-webkit-autofill,:root[data-theme=dark] .auth-admin-card input:-webkit-autofill:hover,:root[data-theme=dark] .auth-admin-card input:-webkit-autofill:focus{-webkit-text-fill-color:#f8fafc;-webkit-box-shadow:0 0 0 1000px #0f172a inset;box-shadow:0 0 0 1000px #0f172a inset;transition:background-color 9999s ease-out}:root[data-theme=dark] .auth-form-pane .ant-input-affix-wrapper input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #0f172a inset;box-shadow:0 0 0 1000px #0f172a inset}:root[data-theme=dark] .auth-center-page{background:radial-gradient(760px 520px at 8% 8%,rgba(99,102,241,.22),transparent 62%),radial-gradient(720px 560px at 92% 90%,rgba(37,99,235,.2),transparent 64%),linear-gradient(135deg,#0b1120,#0f172a 52%,#111827)}:root[data-theme=dark] .auth-center-page:before{background-image:linear-gradient(rgba(96,165,250,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.08) 1px,transparent 1px)}:root[data-theme=dark] .auth-center-page:after{color:#64748b}:root[data-theme=dark] .auth-admin-card .mark{background:linear-gradient(145deg,#172554,#1e3a8a);color:#93c5fd;box-shadow:0 10px 24px #00000047}:root[data-theme=dark] .auth-admin-card .input-row{background:#0f172a;border-color:#475569}:root[data-theme=dark] .auth-admin-card .input-row input{color:#f8fafc}:root[data-theme=dark] .auth-admin-card .input-row input::placeholder{color:#64748b}.auth-admin-card .sub-tag{display:inline-block;margin-top:10px;padding:3px 10px;border-radius:999px;background:var(--color-primary-subtle);color:var(--color-primary);font-size:11px;font-weight:500}.auth-admin-card .field{margin-bottom:20px}.auth-admin-card .field label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--c-text-strong)}.auth-admin-card .input-row{display:flex;align-items:center;height:50px;padding:0 15px;border-radius:13px;background:#fbfdff;border:1px solid #cbd5e1;transition:border-color .15s,box-shadow .15s,background .15s}.auth-admin-card .input-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 4px #2563eb1f}.auth-admin-card .input-row .icon{flex:none;width:16px;height:16px;color:var(--c-text-subtle);margin-right:10px}.auth-admin-card .input-row input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--c-text-strong);font-size:14px;font-family:inherit}.auth-admin-card .auth-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px}.auth-admin-card .back{margin-top:24px;padding-top:22px;border-top:1px solid var(--c-border);font-size:13px;color:var(--c-text-muted);text-align:center}.auth-admin-card .back a{font-weight:500}.auth-admin-card .foot{margin-top:22px;font-size:11px;color:var(--c-text-subtle);text-align:center;letter-spacing:.06em}@media (max-width: 1024px){.auth-shell{grid-template-columns:1fr}.auth-brand-pane{padding:32px 28px 36px;min-height:auto}.auth-overlay{display:none}.auth-hero{margin-top:28px}.auth-form-pane{padding:24px 24px 36px;min-height:auto}.auth-form-wrap{padding:24px 0}}@media (max-width: 540px){.auth-brand-pane{padding:28px 20px 32px}.auth-form-pane{padding:20px 20px 32px}.auth-brand-text b{font-size:13px}.auth-hero h1{font-size:28px}.auth-form-card{padding:30px 24px 26px;border-radius:18px}.auth-form-card h2{font-size:22px}.auth-link-row{flex-direction:column;gap:12px;align-items:flex-start}.auth-form-foot{flex-direction:column;gap:8px;align-items:flex-start}}.spirit-memory{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--c-border)}.spirit-memory>strong{font-size:13px}.spirit-memory-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--c-surface-alt);font-size:12px}.spirit-memory-item span{flex:1}.spirit-chat-scroll{max-height:220px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px 2px 4px 0}.spirit-message{display:flex;flex-direction:column;gap:6px}.spirit-message-meta{display:flex;align-items:center;gap:7px;color:var(--c-text-muted);font-size:12px}.spirit-message-meta img{width:24px;height:24px;border-radius:50%}.spirit-message-meta em{margin-left:auto;color:var(--color-primary);font-style:normal;font-size:11px}.spirit-reply{margin:0;padding:12px 14px;border:1px solid var(--c-border);border-radius:6px 16px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,var(--c-surface-alt)),var(--c-surface-alt));color:var(--c-text);font-size:13px;line-height:1.7;box-shadow:0 4px 12px #0f172a14;max-height:none;overflow:visible}.spirit-reply .markdown-content p{margin:0 0 8px}.spirit-reply .markdown-content p:last-child{margin-bottom:0}.spirit-reply .markdown-content h1,.spirit-reply .markdown-content h2,.spirit-reply .markdown-content h3{margin:0 0 8px;font-size:15px}.spirit-reply .markdown-content ul,.spirit-reply .markdown-content ol{margin:0 0 8px;padding-left:19px}.spirit-reply .markdown-content li{margin:2px 0}.spirit-reply .markdown-content strong{color:var(--c-text-strong)}.spirit-typing{display:flex;align-items:center;gap:4px;width:max-content;min-width:48px}.spirit-typing i{width:6px;height:6px;border-radius:50%;background:var(--color-primary);animation:spirit-typing 1.1s ease-in-out infinite}.spirit-typing i:nth-child(2){animation-delay:.15s}.spirit-typing i:nth-child(3){animation-delay:.3s}@keyframes spirit-typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (max-width:639px){.spirit-chat-scroll{max-height:170px}.spirit-reply{padding:11px 13px;font-size:13px;line-height:1.65}}@media (prefers-reduced-motion:reduce){.spirit-typing i{animation:none}}.training-spirit-fab{isolation:isolate;overflow:visible;transition:left .28s cubic-bezier(.22,.8,.28,1),right .28s cubic-bezier(.22,.8,.28,1),top .28s cubic-bezier(.22,.8,.28,1),filter .25s ease}.training-spirit-fab.spirit-fab-open{z-index:1400}.training-spirit-fab .spirit-halo{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--spirit-accent,#60a5fa) 62%,transparent) 0%,color-mix(in srgb,var(--spirit-accent,#60a5fa) 30%,transparent) 34%,transparent 70%);opacity:.78;filter:blur(4px);animation:spirit-breathe 2.8s ease-in-out infinite;pointer-events:none}.training-spirit-fab .spirit-halo:before,.training-spirit-fab .spirit-halo:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.training-spirit-fab .spirit-halo:before{top:8px;right:8px;bottom:8px;left:8px;border:2px solid color-mix(in srgb,var(--spirit-accent,#60a5fa) 72%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--spirit-accent,#60a5fa) 70%,transparent),inset 0 0 12px color-mix(in srgb,var(--spirit-accent,#60a5fa) 42%,transparent);animation:spirit-orbit 4.5s linear infinite}.training-spirit-fab .spirit-halo:after{top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid color-mix(in srgb,var(--spirit-accent,#60a5fa) 45%,transparent);opacity:.8;animation:spirit-ring 2.8s ease-out infinite}.training-spirit-fab:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:2px solid color-mix(in srgb,var(--spirit-accent,#60a5fa) 75%,transparent);border-radius:50%;box-shadow:0 0 20px color-mix(in srgb,var(--spirit-accent,#60a5fa) 58%,transparent);opacity:.72;pointer-events:none}.training-spirit-fab.spirit-cheer{filter:brightness(1.12)}.training-spirit-fab.spirit-cheer img{animation:spirit-cheer .9s cubic-bezier(.34,1.56,.64,1) 2}.training-spirit-fab.spirit-cheer:after{animation:spirit-ring .9s ease-out 1}.spirit-danger .spirit-halo{animation-duration:1.1s;background:radial-gradient(circle,#f87171 0%,transparent 70%)}.spirit-interaction-hint{position:fixed;right:34px;bottom:104px;z-index:1198;display:flex;align-items:center;gap:8px;max-width:290px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--color-primary) 38%,var(--c-border));border-radius:15px 15px 4px;background:var(--c-surface);color:var(--c-text);font-size:12px;line-height:1.45;box-shadow:0 12px 28px #0f172a33;animation:spirit-hint-in .25s ease-out}.spirit-interaction-hint img{width:24px;height:24px;flex:none;border-radius:50%}.spirit-panel-orb{position:relative;flex:none;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform .2s ease,filter .2s ease}.spirit-panel-orb:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 22%,transparent),transparent 70%);opacity:.75;pointer-events:none}.spirit-panel-orb img{position:relative;width:100%;height:100%;border-radius:50%}.spirit-panel-orb:hover{filter:brightness(1.08);transform:scale(1.06)}.spirit-panel-orb:active{transform:scale(.9)}@keyframes spirit-breathe{0%,to{transform:scale(.9);opacity:.55}50%{transform:scale(1.12);opacity:.95}}@keyframes spirit-orbit{0%{transform:rotate(0) scale(.96)}to{transform:rotate(360deg) scale(.96)}}@keyframes spirit-cheer{0%,to{transform:translateY(0) rotate(0)}35%{transform:translateY(-9px) rotate(-5deg)}70%{transform:translateY(1px) rotate(5deg)}}@keyframes spirit-ring{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}@keyframes spirit-hint-in{0%{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:none}}@media (max-width:639px){.spirit-interaction-hint{right:16px;bottom:138px;max-width:calc(100vw - 32px)}}@media (prefers-reduced-motion:reduce){.training-spirit-fab .spirit-halo,.training-spirit-fab .spirit-halo:before,.training-spirit-fab .spirit-halo:after,.training-spirit-fab.spirit-cheer img,.training-spirit-fab.spirit-cheer:after,.spirit-interaction-hint{animation:none}}.training-spirit-panel{width:min(430px,calc(100vw - 40px));max-height:min(760px,calc(100vh - 120px));border-radius:20px}.training-spirit-fab{touch-action:none;-webkit-user-select:none;user-select:none}.training-spirit-fab-side-left{left:28px;right:auto}.training-spirit-fab-side-right{right:28px;left:auto}.training-spirit-fab.spirit-fab-dragging{animation:none;transition:none;cursor:grabbing}.training-spirit-panel-side-left{left:28px;right:auto}.training-spirit-panel-side-right{right:28px;left:auto}.training-spirit-panel-docked{width:76px;min-height:76px;max-height:76px;border-radius:18px}.training-spirit-panel-docked header{justify-content:center;padding:14px 10px;border-bottom:0}.training-spirit-panel-docked .spirit-title>div,.training-spirit-panel-docked .spirit-head-actions>*:not(:nth-last-child(2)){display:none}.training-spirit-panel-docked .spirit-title{justify-content:center}.training-spirit-panel-docked .spirit-panel-orb{width:46px;height:46px}.training-spirit-panel-docked .spirit-head-actions{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.training-spirit-panel-docked .spirit-head-actions>*:nth-last-child(2){display:flex;width:100%;height:100%;color:var(--c-text-strong)}.training-spirit-panel-docked .spirit-head-actions>*:nth-last-child(2) svg{font-size:20px}.training-spirit-panel-docked .spirit-title .spirit-panel-orb{visibility:hidden}.training-spirit-panel-docked .spirit-title:after{content:"";position:absolute;width:46px;height:46px;border-radius:50%;background:url(/spirit-ip/spirit-orb-64.png) center/cover no-repeat}.training-spirit-panel header{padding:14px 16px 10px}.spirit-title{gap:10px}.spirit-title strong{font-size:15px}.spirit-title span{font-size:11px}.spirit-head-actions{display:flex;align-items:center;gap:2px}.spirit-head-actions .ant-btn{color:var(--c-text-muted)}.spirit-head-actions .ant-btn.is-active{color:var(--color-primary)}.spirit-panel-orb{width:38px;height:38px}.spirit-panel-orb:before{top:-7px;right:-7px;bottom:-7px;left:-7px}.spirit-persona-bar{display:flex;gap:6px;padding:0 16px 10px;border-bottom:1px solid var(--c-border)}.spirit-persona-bar button{flex:1;min-width:0;padding:6px 4px;border:1px solid var(--c-border);border-radius:8px;background:transparent;color:var(--c-text-muted);font-size:11px;white-space:nowrap;transition:.18s ease}.spirit-persona-bar button:hover{border-color:var(--color-primary-border);color:var(--color-primary)}.spirit-persona-bar button.active{border-color:transparent;background:linear-gradient(135deg,#3b82f6,#4f46e5);color:#fff;box-shadow:0 4px 10px #2563eb40}.spirit-metric-row{display:flex;gap:7px;padding:10px 16px;border-bottom:1px solid var(--c-border);overflow-x:auto;background:var(--c-bg-subtle)}.spirit-metric-row span{flex:none;display:flex;align-items:center;gap:5px;padding:6px 10px;border:1px solid var(--c-border);border-radius:999px;background:var(--c-bg);color:var(--c-text-subtle);font-size:11px}.spirit-metric-row b{color:var(--c-text-strong);font-family:var(--font-mono);font-size:12px}.spirit-metric-row .metric-danger{color:#dc2626}.spirit-metric-row .metric-warn{color:#d97706}.spirit-metric-row .metric-good,.spirit-metric-row .metric-full{color:#16a34a}.spirit-panel-body{min-height:0;overflow-y:auto}.spirit-events{max-height:none;padding:14px 16px 4px}.spirit-section-head{margin-bottom:8px}.spirit-section-head strong{font-size:13px}.spirit-event{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;margin:0 0 10px;padding:12px;border:1px solid var(--c-border);border-radius:14px;background:var(--c-bg);box-shadow:var(--shadow-sm);transition:.18s ease}.spirit-event:hover{border-color:var(--color-primary-border);transform:translateY(-1px)}.spirit-event-unread{border-color:#bbf7d0;background:linear-gradient(180deg,color-mix(in srgb,#22c55e 8%,var(--c-bg)),var(--c-bg))}.spirit-sport-chip{padding:2px 7px;border-radius:6px;font-size:10px;font-weight:700}.spirit-sport-strength{color:#b45309;background:#fef3c7}.spirit-sport-ride{color:#1d4ed8;background:#dbeafe}.spirit-sport-run{color:#047857;background:#d1fae5}.spirit-sport-walk{color:#15803d;background:#dcfce7}.spirit-sport-default{color:var(--color-primary);background:var(--color-primary-subtle)}.spirit-event span:nth-child(2){min-width:0}.spirit-event strong{font-size:13px;color:var(--c-text-strong)}.spirit-event small{font-size:11.5px}.spirit-event em{font-size:22px;line-height:1;color:var(--c-text-subtle)}.spirit-event-read{opacity:.62}.spirit-empty{margin:12px 0;color:var(--c-text-muted);font-size:12px}.spirit-chat{margin:8px 16px 14px;padding:14px;border:1px solid color-mix(in srgb,var(--color-primary) 32%,var(--c-border));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--color-primary) 7%,var(--c-surface)),var(--c-surface));box-shadow:inset 0 1px color-mix(in srgb,#fff 7%,transparent),0 8px 24px #0f172a1f}.spirit-chat-head{font-size:12px}.spirit-quick{margin:10px 0;gap:6px}.spirit-quick .ant-btn{padding-inline:11px}.spirit-composer{padding-top:2px}.spirit-composer .ant-input{background:color-mix(in srgb,var(--c-bg) 72%,var(--c-surface));border-color:color-mix(in srgb,var(--color-primary) 22%,var(--c-border))}.spirit-composer .ant-btn{min-width:42px;box-shadow:0 5px 12px #2563eb38}.spirit-chat-head img{cursor:pointer;transition:transform .18s ease,filter .18s ease}.spirit-chat-head img:hover{transform:scale(1.12);filter:brightness(1.08)}.spirit-chat-head img:active{transform:scale(.9)}.spirit-settings{padding:16px}.spirit-settings-title{display:grid;gap:3px;padding-bottom:4px}.spirit-settings-title strong{font-size:15px}.spirit-settings-title span{color:var(--c-text-muted);font-size:11px}.spirit-setting-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.spirit-setting-row span{display:grid;gap:3px}.spirit-setting-row small{color:var(--c-text-subtle);font-size:11px}.spirit-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spirit-setting-grid label{display:grid!important;align-items:start!important;justify-content:stretch!important;gap:5px;font-size:12px;color:var(--c-text-muted)}.spirit-setting-grid .ant-input-number,.spirit-setting-grid .ant-input{width:100%}.spirit-event-controls{display:grid;gap:7px;padding-top:4px;border-top:1px solid var(--c-border)}.spirit-event-controls>strong{font-size:13px}.spirit-event-controls label{display:flex!important;justify-content:space-between!important;font-size:12px;color:var(--c-text-muted)}.spirit-baseline-card{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:var(--c-surface-alt);font-size:12px}.spirit-baseline-card span{color:var(--c-text-muted);line-height:1.45}.spirit-settings-actions{display:flex;gap:8px}.spirit-settings-actions .ant-btn{flex:1}.spirit-memory{display:grid;gap:8px}.spirit-personality-hidden{display:none}.spirit-event-row{display:flex;align-items:stretch;gap:4px}.spirit-event-row .spirit-event{flex:1}.spirit-event i{display:block;margin-top:5px;color:var(--c-text-subtle);font-size:10px;font-style:normal}.spirit-event-dismiss{width:28px;border:0;background:transparent;color:var(--c-text-subtle);font-size:18px;cursor:pointer}.training-spirit-bubble strong{display:flex;align-items:center;justify-content:space-between;gap:8px}.training-spirit-bubble strong small{color:var(--color-primary);font-size:10px;font-weight:600}.spirit-priority-p0{border-color:#fda4af;box-shadow:0 15px 35px #ef444433}.spirit-profile-table small{display:block;color:var(--c-text-muted);font-size:11px;line-height:1.45}.spirit-profile-table strong{font-size:13px}@media (max-width:639px){.training-spirit-panel{right:12px;bottom:72px;width:calc(100vw - 24px);max-height:76vh;border-radius:20px}.training-spirit-panel header{padding:12px 14px 9px}.spirit-persona-bar,.spirit-metric-row,.spirit-events{padding-inline:14px}.spirit-chat{margin-inline:14px;padding:13px;border-radius:16px}.spirit-event{padding:11px 10px}.spirit-event strong{font-size:12.5px}.spirit-event small{font-size:11px}}@media (max-width:639px){.training-spirit-fab-side-left{left:16px;right:auto}.training-spirit-fab-side-right{right:16px;left:auto}.training-spirit-panel-side-left{left:12px;right:auto}.training-spirit-panel-side-right{right:12px;left:auto}.training-spirit-panel-docked{width:64px;min-height:64px;max-height:64px}.training-spirit-panel-docked header{padding:9px 8px}.training-spirit-panel-docked .spirit-panel-orb,.training-spirit-panel-docked .spirit-title:after{width:40px;height:40px}}.training-spirit-panel.training-spirit-panel-docked{width:76px!important;min-height:76px!important;max-height:76px!important}.training-spirit-panel.training-spirit-panel-docked .spirit-persona-bar,.training-spirit-panel.training-spirit-panel-docked .spirit-metric-row,.training-spirit-panel.training-spirit-panel-docked .spirit-panel-body,.training-spirit-panel.training-spirit-panel-docked footer{display:none!important}.training-spirit-panel.spirit-panel-settings{overflow:hidden}.training-spirit-panel.spirit-panel-settings>header,.training-spirit-panel.spirit-panel-settings>footer{flex:0 0 auto}.training-spirit-panel.spirit-panel-settings>.spirit-settings{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y}.training-spirit-fab.spirit-settings-open{opacity:0;pointer-events:none}@media (max-width:639px){.training-spirit-panel.training-spirit-panel-docked{width:64px!important;min-height:64px!important;max-height:64px!important}}.training-spirit-fab:not(.spirit-fab-open),.training-spirit-fab.spirit-fab-panel-docked{right:-8px;width:58px;height:58px;border-radius:30px 0 0 30px;transition:right .22s ease,left .22s ease,transform .2s ease}.training-spirit-fab.spirit-fab-side-left:not(.spirit-fab-open),.training-spirit-fab.spirit-fab-side-left.spirit-fab-panel-docked{left:-8px;right:auto;border-radius:0 30px 30px 0}.training-spirit-fab.spirit-fab-open:not(.spirit-fab-panel-docked){right:28px;border-radius:50%}.training-spirit-fab.spirit-fab-side-left.spirit-fab-open:not(.spirit-fab-panel-docked){left:28px;right:auto}.training-spirit-fab:not(.spirit-fab-open) .spirit-avatar-body,.training-spirit-fab.spirit-fab-panel-docked .spirit-avatar-body{transform:scale(.9)}@media (max-width:639px){.training-spirit-fab:not(.spirit-fab-open),.training-spirit-fab.spirit-fab-panel-docked{right:-7px;width:52px;height:52px}.training-spirit-fab.spirit-fab-side-left:not(.spirit-fab-open),.training-spirit-fab.spirit-fab-side-left.spirit-fab-panel-docked{left:-7px;right:auto}.training-spirit-fab.spirit-fab-open:not(.spirit-fab-panel-docked){right:16px}.training-spirit-fab.spirit-fab-side-left.spirit-fab-open:not(.spirit-fab-panel-docked){left:16px;right:auto}}@media (max-width:639px){.training-spirit-panel.spirit-panel-settings>.spirit-settings{padding-bottom:calc(28px + env(safe-area-inset-bottom))}}@media (max-width:639px){.training-spirit-panel .spirit-composer .ant-input,.training-spirit-panel .spirit-composer textarea{font-size:16px!important;line-height:1.35}.training-spirit-panel .spirit-composer .ant-input::placeholder{font-size:16px}}.spirit-agent-status{display:flex;align-items:center;gap:7px;margin:8px 0;color:var(--color-primary);font-size:12px;line-height:1.4}.spirit-agent-spinner{width:10px;height:10px;flex:none;border:2px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:spirit-agent-spin .8s linear infinite}.spirit-tool-get_activity_detail .spirit-agent-spinner{border-top-color:#8b5cf6}.spirit-tool-get_training_load_history .spirit-agent-spinner,.spirit-tool-get_fitness_history .spirit-agent-spinner{border-top-color:#f59e0b}.spirit-tool-get_recovery_status .spirit-agent-spinner{border-top-color:#22c55e}.spirit-action-bar{display:flex;gap:7px;overflow-x:auto;margin:8px 0;padding:2px 0 4px;scrollbar-width:none}.spirit-action-bar::-webkit-scrollbar{display:none}.spirit-action-bar .ant-btn{flex:none;border-color:var(--color-primary-border);color:var(--color-primary);border-radius:999px;font-size:12px;min-height:36px}.spirit-chat-cancel{display:flex;justify-content:flex-end;margin:6px 0}.spirit-chat-cancel .ant-btn{min-height:36px;border-radius:999px;color:var(--c-text-muted)}@keyframes spirit-agent-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spirit-agent-spinner{animation:none}.spirit-agent-status{color:var(--c-text-muted)}}@media (max-width:639px){.spirit-agent-status{min-height:24px}.spirit-action-bar{margin-inline:-2px}.spirit-action-bar .ant-btn{min-height:44px}}.spirit-chat-cancel .ant-btn{min-width:88px}@media (max-width: 900px){.training-spirit-fab{right:16px;bottom:78px;width:52px;height:52px}.training-spirit-fab-side-left{left:16px;right:auto}.training-spirit-fab-side-right{right:16px;left:auto}.training-spirit-fab.spirit-fab-open{right:16px;bottom:16px}.training-spirit-panel{right:12px;left:12px;bottom:72px;width:calc(100vw - 24px);max-width:none;max-height:min(76dvh,calc(100dvh - var(--spirit-keyboard-inset, 0px)));border-radius:20px}.training-spirit-panel-side-left,.training-spirit-panel-side-right{right:12px;left:12px}.spirit-panel-mask{display:block;position:fixed;z-index:1299;top:0;right:0;bottom:0;left:0;background:#0f172a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.ant-select-dropdown{z-index:1500}.training-spirit-panel.spirit-panel-status-danger{border:2px solid #f87171!important;box-shadow:0 24px 70px #ef444433,0 0 20px #f8717133!important}.training-spirit-panel.spirit-panel-status-warn{border:2px solid #f59e0b!important;box-shadow:0 24px 70px #f59e0b2e,0 0 20px #f59e0b2e!important}.training-spirit-panel.spirit-panel-status-caution{border:2px solid #facc15!important;box-shadow:0 24px 70px #facc1524,0 0 18px #facc151f!important}.training-spirit-panel.spirit-panel-status-good,.training-spirit-panel.spirit-panel-status-full{border:2px solid #34d399!important;box-shadow:0 24px 70px #10b9812e,0 0 20px #34d3992e!important}.spirit-avatar-flip{position:relative;display:block;width:100%;height:100%;perspective:520px}.spirit-avatar-flip img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;border-radius:inherit;backface-visibility:hidden;transform-style:preserve-3d}.spirit-avatar-normal{transform:rotateY(0)}.training-spirit-fab.spirit-cheer{animation:spirit-cheer-glow .9s ease-out both}.training-spirit-fab.spirit-cheer .spirit-halo{animation:spirit-halo-burst .9s ease-out both}@keyframes spirit-cheer-glow{0%,to{filter:drop-shadow(0 0 0 transparent)}45%{filter:drop-shadow(0 0 16px color-mix(in srgb,var(--spirit-accent) 70%,transparent))}}@keyframes spirit-halo-burst{0%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.16)}to{opacity:.55;transform:scale(1)}}.spirit-avatar-flip{overflow:hidden;border-radius:50%;isolation:isolate}.dashboard-analysis-stat{font:inherit;color:inherit;text-align:left;cursor:pointer}.dashboard-analysis-stat:focus-visible,.dashboard-analysis-stat:hover{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:10px}.dashboard-analysis-inline-stat{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:6px;margin:-6px;border-radius:10px;cursor:pointer}.dashboard-analysis-inline-stat:hover,.dashboard-analysis-inline-stat:focus-visible{background:color-mix(in srgb,var(--color-primary) 10%,transparent);outline:0}.dashboard-analysis-stats>.dashboard-analysis-inline-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;margin:0;min-width:0;min-height:78px;text-align:center;border-radius:10px;background:var(--c-bg-subtle)}.lap-row-selected>td{background:var(--color-primary-subtle,#eff6ff)!important}.spirit-chat-error{position:fixed;right:28px;bottom:180px;z-index:1400;display:flex;align-items:center;gap:12px;max-width:min(420px,calc(100vw - 32px));padding:10px 12px;border:1px solid #f87171;border-radius:12px;background:var(--c-surface);color:var(--c-text-strong);box-shadow:0 10px 30px #0f172a2e;font-size:13px}.spirit-chat-error button{border:0;border-radius:8px;padding:5px 9px;background:#ef4444;color:#fff;cursor:pointer}@media (max-width:640px){.spirit-chat-error{right:16px;bottom:calc(148px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}}.training-spirit-bubble{box-sizing:border-box;display:flex;align-items:stretch;gap:10px;right:104px;bottom:104px;width:min(360px,calc(100vw - 120px));max-width:min(360px,calc(100vw - 120px));padding:13px 13px 14px 12px;border-color:color-mix(in srgb,var(--color-primary) 30%,var(--c-border));border-radius:18px 18px 6px;cursor:default;overflow:hidden}.training-spirit-bubble-side-left{right:auto;left:104px;border-radius:18px 18px 18px 6px}.training-spirit-bubble:before{content:"";width:4px;flex:none;border-radius:4px;background:var(--spirit-accent,var(--color-primary))}.training-spirit-bubble-action{display:flex;flex:1;min-width:0;padding:0 25px 0 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.training-spirit-bubble-copy{display:grid;gap:4px;min-width:0;width:100%}.training-spirit-bubble-copy strong{min-width:0;line-height:1.35}.training-spirit-bubble-copy strong:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-spirit-bubble-copy>span{display:-webkit-box;overflow:hidden;color:var(--c-text-muted);font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.training-spirit-bubble-action:focus-visible,.training-spirit-bubble-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:8px}.training-spirit-bubble-action:hover .training-spirit-bubble-copy strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.training-spirit-bubble-close{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--c-text-subtle);cursor:pointer}.training-spirit-bubble-close:hover{background:var(--c-surface-alt);color:var(--c-text-strong)}@media (max-width:639px){.training-spirit-bubble{right:68px;bottom:calc(140px + env(safe-area-inset-bottom));width:min(280px,calc(100vw - 96px));max-width:min(280px,calc(100vw - 96px));padding:12px 11px 13px 10px}.training-spirit-bubble-side-left{right:auto;left:68px}}@media (max-width:640px){.dashboard-analysis-today>button{padding:13px 12px}}.spirit-message-bubble,.spirit-selection-context{box-sizing:border-box;position:fixed;right:104px;bottom:104px;z-index:1390;width:min(320px,calc(100vw - 120px));max-width:min(320px,calc(100vw - 120px));border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--c-border));border-radius:18px 18px 6px;background:color-mix(in srgb,var(--c-surface) 94%,var(--color-primary));color:var(--c-text);box-shadow:0 18px 42px #0f172a33,0 4px 12px color-mix(in srgb,var(--color-primary) 12%,transparent);animation:spirit-hint-in .25s ease-out}.spirit-message-bubble-side-left,.spirit-selection-side-left{left:104px;right:auto;border-radius:16px 16px 16px 5px}.spirit-message-bubble-side-right,.spirit-selection-side-right{right:104px;left:auto}.spirit-message-bubble-floating,.spirit-selection-floating{transform:translateY(-100%)}.spirit-message-bubble-below,.spirit-selection-below{transform:none}.spirit-message-bubble-side-left.spirit-message-bubble-below,.spirit-selection-side-left.spirit-selection-below{border-radius:5px 16px 16px}.spirit-message-bubble-side-right.spirit-message-bubble-below,.spirit-selection-side-right.spirit-selection-below{border-radius:16px 5px 16px 16px}.spirit-message-bubble-label{display:block;margin-bottom:3px;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.02em}.spirit-message-bubble-copy{display:-webkit-box;overflow:hidden;color:var(--c-text);font-size:12px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.spirit-selection-context{display:flex;align-items:stretch;gap:12px;overflow:hidden;padding:12px 14px 14px;text-align:left}.spirit-selection-context-rail{width:3px;flex:none;border-radius:3px;background:linear-gradient(180deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 42%,#a78bfa))}.spirit-selection-context-action{display:flex;flex:1;min-width:0;align-items:stretch;justify-content:center;gap:7px;padding:2px 26px 2px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column}.spirit-selection-context-action:hover .spirit-selection-context-cta{background:var(--color-primary);color:#fff;transform:translate(1px)}.spirit-selection-context-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.spirit-selection-context-close{position:absolute;top:10px;right:10px;z-index:3;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--c-text-muted);font-size:17px;line-height:1;cursor:pointer;transition:background .18s,color .18s}.spirit-selection-context-close:hover{background:var(--c-bg-muted);color:var(--c-text-strong)}.spirit-selection-context-close:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:2px}.spirit-selection-context-progress{position:absolute;right:0;bottom:0;left:0;height:3px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);transform-origin:left;animation:spirit-selection-countdown 5s linear forwards}.spirit-disabled-hint{position:fixed;right:104px;bottom:104px;z-index:1390;display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 10px 9px 13px;border:1px solid color-mix(in srgb,var(--color-primary) 38%,var(--c-border));border-radius:16px 16px 5px;background:var(--c-surface);color:var(--c-text);box-shadow:0 14px 32px #0f172a33;animation:spirit-hint-in .25s ease-out}.spirit-disabled-hint-side-left{left:104px;right:auto;border-radius:16px 16px 16px 5px}.spirit-disabled-hint span{font-size:12px;white-space:nowrap}.spirit-disabled-hint button{min-height:32px;padding:5px 10px;border:1px solid var(--color-primary);border-radius:999px;background:var(--color-primary-subtle);color:var(--color-primary);font:inherit;font-size:12px;cursor:pointer}.spirit-disabled-hint button:last-child{width:30px;padding:0;border-color:transparent;background:transparent;color:var(--c-text-muted);font-size:20px;line-height:28px}.spirit-disabled-hint button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:2px}.spirit-selection-context:hover{border-color:color-mix(in srgb,var(--color-primary) 60%,var(--c-border));box-shadow:0 20px 44px color-mix(in srgb,var(--color-primary) 20%,transparent),0 8px 18px #0f172a29;transform:translateY(-2px)}.spirit-selection-context:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:3px}.spirit-selection-context.spirit-selection-floating:hover{transform:translateY(calc(-100% - 2px))}.spirit-selection-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.spirit-avatar-body{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;animation:spirit-idle 4.8s ease-in-out infinite}@keyframes spirit-idle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.035)}}.spirit-blink{position:absolute;left:50%;top:33%;width:46%;height:26%;transform:translate(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.5),transparent 72%);opacity:0;pointer-events:none;animation:spirit-blink 5.2s ease-in-out infinite}@keyframes spirit-blink{0%,42%,to{opacity:0;transform:translate(-50%) scale(.55)}52%{opacity:.5;transform:translate(-50%) scale(1)}72%{opacity:0;transform:translate(-50%) scale(.55)}}.spirit-ambient-bubble{position:absolute;bottom:calc(100% + 12px);left:0;transform:none;z-index:3;width:max-content;max-width:min(230px,calc(100vw - 32px));padding:7px 12px;border-radius:15px 15px 5px;background:var(--c-surface);color:var(--c-text);font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;box-shadow:0 12px 28px #0f172a33;border:1px solid color-mix(in srgb,var(--color-primary) 30%,var(--c-border));animation:spirit-ambient-in .22s ease-out;pointer-events:none}.spirit-ambient-side-left{left:0;right:auto;bottom:calc(100% + 12px);border-radius:15px 15px 15px 5px}.spirit-ambient-side-right{left:auto;right:0;bottom:calc(100% + 12px);border-radius:15px 15px 5px}@keyframes spirit-ambient-in{0%{opacity:0}to{opacity:1}}.spirit-avatar-body.spirit-look{animation:spirit-look .8s ease}.spirit-avatar-body.spirit-sniff{animation:spirit-sniff .8s ease}.spirit-avatar-body.spirit-fluff{animation:spirit-fluff .9s ease}.spirit-avatar-body.spirit-peek{animation:spirit-peek .8s ease}.spirit-avatar-body.spirit-stretch{animation:spirit-stretch .9s ease}.spirit-avatar-body.spirit-spin-half{animation:spirit-spin-half 1s ease}.spirit-avatar-body.spirit-tilt{animation:spirit-tilt .8s ease}.spirit-avatar-body.spirit-wave{animation:spirit-wave .8s ease}.spirit-avatar-body.spirit-hop{animation:spirit-hop .7s ease}.spirit-avatar-body.spirit-shake{animation:spirit-shake .7s ease}.spirit-avatar-body.spirit-yawn{animation:spirit-yawn .9s ease}.spirit-avatar-body.spirit-groom{animation:spirit-groom .9s ease}.spirit-avatar-body.spirit-spin{animation:spirit-spin 1s ease}.spirit-avatar-body.spirit-bounce{animation:spirit-bounce .7s ease}.spirit-avatar-body.spirit-sniff-ground{animation:spirit-sniff-ground .9s ease}.spirit-avatar-body.spirit-ear-flick{animation:spirit-ear-flick .6s ease}.spirit-avatar-body.spirit-tail-wag{animation:spirit-tail-wag .8s ease}.spirit-avatar-body.spirit-sway{animation:spirit-sway 1s ease-in-out}.spirit-avatar-body.spirit-nod{animation:spirit-nod .8s ease}.spirit-avatar-body.spirit-bow{animation:spirit-bow .9s ease}.spirit-avatar-body.spirit-search{animation:spirit-search 1s ease-in-out}.spirit-avatar-body.spirit-watch{animation:spirit-watch .8s ease}@keyframes spirit-look{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(-4deg) translate(2px)}}@keyframes spirit-sniff{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(3px) scaleY(.96)}}@keyframes spirit-fluff{0%,to{transform:scale(1)}50%{transform:scale(1.06) rotate(1deg)}}@keyframes spirit-peek{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-4px) rotate(-6deg)}}@keyframes spirit-stretch{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.08) translateY(-2px)}}@keyframes spirit-spin-half{0%,to{transform:rotate(0)}50%{transform:rotate(-22deg)}}@keyframes spirit-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg)}}@keyframes spirit-wave{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(-8deg) translate(3px)}}@keyframes spirit-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spirit-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes spirit-yawn{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.05) rotate(2deg)}}@keyframes spirit-groom{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(6deg) translateY(2px)}}@keyframes spirit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spirit-bounce{0%,to{transform:translateY(0) scaleY(1)}40%{transform:translateY(-12px) scaleY(.95)}}@keyframes spirit-sniff-ground{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(5px) rotate(8deg)}}@keyframes spirit-ear-flick{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(-3deg) translate(-2px)}}@keyframes spirit-tail-wag{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}@keyframes spirit-sway{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)}}@keyframes spirit-nod{0%,to{transform:rotateX(0)}50%{transform:rotateX(12deg)}}@keyframes spirit-bow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(4px) rotate(10deg)}}@keyframes spirit-search{0%,to{transform:translate(0) rotate(0)}30%{transform:translate(-3px) rotate(-4deg)}70%{transform:translate(3px) rotate(4deg)}}@keyframes spirit-watch{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}.spirit-avatar-body.spirit-wink{animation:spirit-wink .8s ease}.spirit-avatar-body.spirit-blush{animation:spirit-blush .9s ease}.spirit-avatar-body.spirit-heart-eyes{animation:spirit-heart-eyes .9s ease}.spirit-avatar-body.spirit-roll{animation:spirit-roll 1s ease}.spirit-avatar-body.spirit-paw{animation:spirit-paw .8s ease}.spirit-avatar-body.spirit-hug{animation:spirit-hug .9s ease}.spirit-avatar-body.spirit-shy-hide{animation:spirit-shy-hide .9s ease}.spirit-avatar-body.spirit-spin-cute{animation:spirit-spin-cute 1s ease}.spirit-avatar-body.spirit-blow-kiss{animation:spirit-blow-kiss .9s ease}.spirit-avatar-body.spirit-tilt-cute{animation:spirit-tilt-cute .8s ease}.spirit-avatar-body.spirit-sparkle{animation:spirit-sparkle .9s ease}.spirit-avatar-body.spirit-dance{animation:spirit-dance 1s ease-in-out}.spirit-avatar-body.spirit-peek-cute{animation:spirit-peek-cute .9s ease}.spirit-avatar-body.spirit-offer{animation:spirit-offer .9s ease}.spirit-avatar-body.spirit-rub{animation:spirit-rub .8s ease}@keyframes spirit-wink{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.04) rotate(-3deg)}}@keyframes spirit-blush{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes spirit-heart-eyes{0%,to{transform:scale(1)}50%{transform:scale(1.08) translateY(-2px)}}@keyframes spirit-roll{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spirit-paw{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(2px) rotate(-6deg)}}@keyframes spirit-hug{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.07) translateY(-2px)}}@keyframes spirit-shy-hide{0%,to{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(6px) rotate(8deg) scale(.96)}}@keyframes spirit-spin-cute{0%{transform:rotate(0) scale(1)}to{transform:rotate(-360deg) scale(1.05)}}@keyframes spirit-blow-kiss{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-4px) rotate(-6deg)}}@keyframes spirit-tilt-cute{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(12deg) scale(1.04)}}@keyframes spirit-sparkle{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes spirit-dance{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes spirit-peek-cute{0%,to{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(-5px) rotate(-7deg) scale(1.02)}}@keyframes spirit-offer{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-5deg)}}@keyframes spirit-rub{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(4deg) translate(2px)}}.spirit-avatar-body.spirit-swagger{animation:spirit-swagger .9s ease}.spirit-avatar-body.spirit-flex{animation:spirit-flex .9s ease}.spirit-avatar-body.spirit-pose{animation:spirit-pose .9s ease}.spirit-avatar-body.spirit-flick-hair{animation:spirit-flick-hair .8s ease}.spirit-avatar-body.spirit-chest{animation:spirit-chest .9s ease}.spirit-avatar-body.spirit-thumb-up{animation:spirit-thumb-up .8s ease}.spirit-avatar-body.spirit-victory{animation:spirit-victory 1s ease}@keyframes spirit-swagger{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(-6deg) translate(3px)}}@keyframes spirit-flex{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.08) translateY(-2px)}}@keyframes spirit-pose{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(4deg) scale(1.06)}}@keyframes spirit-flick-hair{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(6deg) translate(2px)}}@keyframes spirit-chest{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.07) translateY(-1px)}}@keyframes spirit-thumb-up{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-5deg)}}@keyframes spirit-victory{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-10deg) scale(1.06)}}.spirit-avatar-body.spirit-tilt-confused{animation:spirit-tilt-confused .8s ease}.spirit-avatar-body.spirit-squint{animation:spirit-squint .8s ease}.spirit-avatar-body.spirit-scratch-head{animation:spirit-scratch-head .9s ease}.spirit-avatar-body.spirit-huh{animation:spirit-huh .8s ease}.spirit-avatar-body.spirit-look-around{animation:spirit-look-around 1s ease-in-out}.spirit-avatar-body.spirit-investigate{animation:spirit-investigate 1s ease-in-out}@keyframes spirit-tilt-confused{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}@keyframes spirit-squint{0%,to{transform:scaleX(1) scaleY(1)}50%{transform:scaleX(1.03) scaleY(.98)}}@keyframes spirit-scratch-head{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(6deg) translateY(2px)}}@keyframes spirit-huh{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-6deg)}}@keyframes spirit-look-around{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes spirit-investigate{0%,to{transform:translate(0) rotate(0)}30%{transform:translate(-3px) rotate(4deg)}70%{transform:translate(3px) rotate(-4deg)}}.spirit-avatar-body.spirit-pout{animation:spirit-pout .8s ease}.spirit-avatar-body.spirit-stomp{animation:spirit-stomp .7s ease}.spirit-avatar-body.spirit-huff{animation:spirit-huff .8s ease}.spirit-avatar-body.spirit-glare{animation:spirit-glare .8s ease}.spirit-avatar-body.spirit-turn-away{animation:spirit-turn-away .9s ease}.spirit-avatar-body.spirit-crossed-arms{animation:spirit-crossed-arms .9s ease}.spirit-avatar-body.spirit-steam{animation:spirit-steam .7s ease}.spirit-avatar-body.spirit-growl{animation:spirit-growl .9s ease}.spirit-avatar-body.spirit-shake-angry{animation:spirit-shake-angry .6s ease}.spirit-avatar-body.spirit-puff{animation:spirit-puff .8s ease}.spirit-avatar-body.spirit-bite{animation:spirit-bite .8s ease}.spirit-avatar-body.spirit-tail-flick-angry{animation:spirit-tail-flick-angry .6s ease}.spirit-avatar-body.spirit-ignore{animation:spirit-ignore .9s ease}.spirit-avatar-body.spirit-stamp{animation:spirit-stamp .7s ease}@keyframes spirit-pout{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(.97) translateY(3px)}}@keyframes spirit-stomp{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes spirit-huff{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.05) rotate(2deg)}}@keyframes spirit-glare{0%,to{transform:rotate(0) scaleX(1)}50%{transform:rotate(-3deg) scaleX(1.03)}}@keyframes spirit-turn-away{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(-18deg) translate(-4px)}}@keyframes spirit-crossed-arms{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(.97) translateY(2px)}}@keyframes spirit-steam{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes spirit-growl{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.06) translateY(-1px)}}@keyframes spirit-shake-angry{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes spirit-puff{0%,to{transform:scale(1)}60%{transform:scale(1.1)}}@keyframes spirit-bite{0%,to{transform:rotate(0) translateY(0)}50%{transform:rotate(6deg) translateY(2px)}}@keyframes spirit-tail-flick-angry{0%,to{transform:rotate(0)}50%{transform:rotate(10deg)}}@keyframes spirit-ignore{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(5px) rotate(6deg)}}@keyframes spirit-stamp{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.spirit-avatar-body.spirit-yawn-big{animation:spirit-yawn-big .9s ease}.spirit-avatar-body.spirit-stretch-lazy{animation:spirit-stretch-lazy 1s ease}.spirit-avatar-body.spirit-rub-eye{animation:spirit-rub-eye .9s ease}.spirit-avatar-body.spirit-curl{animation:spirit-curl 1s ease}.spirit-avatar-body.spirit-zzz{animation:spirit-zzz 1s ease}.spirit-avatar-body.spirit-droop{animation:spirit-droop .9s ease}.spirit-avatar-body.spirit-roll-sleep{animation:spirit-roll-sleep 1.1s ease}@keyframes spirit-yawn-big{0%,to{transform:scale(1) rotate(0) translateY(0)}50%{transform:scale(1.08) rotate(3deg) translateY(-2px)}}@keyframes spirit-stretch-lazy{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.1) translateY(-3px)}}@keyframes spirit-rub-eye{0%,to{transform:rotate(0) translate(0)}50%{transform:rotate(5deg) translate(2px)}}@keyframes spirit-curl{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(.92) rotate(-6deg)}}@keyframes spirit-zzz{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-4deg)}}@keyframes spirit-droop{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(4px) rotate(8deg)}}@keyframes spirit-roll-sleep{0%,to{transform:rotate(0)}50%{transform:rotate(-20deg)}}.spirit-avatar-body.spirit-jump{animation:spirit-jump .7s ease}.spirit-avatar-body.spirit-cheer{animation:spirit-cheer-happy .9s ease-in-out}.spirit-avatar-body.spirit-spin-happy{animation:spirit-spin-happy 1s ease}.spirit-avatar-body.spirit-confetti{animation:spirit-confetti .9s ease}.spirit-avatar-body.spirit-sparkle-happy{animation:spirit-sparkle-happy .9s ease}.spirit-avatar-body.spirit-pump{animation:spirit-pump .8s ease}.spirit-avatar-body.spirit-clap{animation:spirit-clap .8s ease}.spirit-avatar-body.spirit-zoom{animation:spirit-zoom .8s ease}@keyframes spirit-jump{0%,to{transform:translateY(0) scaleY(1)}40%{transform:translateY(-14px) scaleY(.95)}}@keyframes spirit-cheer-happy{0%,to{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-4px)}}@keyframes spirit-spin-happy{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spirit-confetti{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(-5deg)}}@keyframes spirit-sparkle-happy{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes spirit-pump{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-5deg)}}@keyframes spirit-clap{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.05) translateY(-2px)}}@keyframes spirit-zoom{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-6px) rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.spirit-avatar-body,.spirit-blink,.spirit-ambient-bubble{animation:none}}.spirit-selection-kicker i{width:6px;height:6px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent)}.spirit-selection-tap-hint{display:none}.spirit-selection-context-metric{display:flex;min-width:0;width:100%;flex-direction:column;gap:2px}.spirit-selection-context strong{min-width:0;overflow:hidden;color:var(--c-text-strong);font-size:14px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.spirit-selection-context small{min-width:0;overflow:hidden;color:var(--c-text-muted);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.spirit-selection-context-cta{display:inline-flex;align-items:center;gap:4px;margin-top:4px;align-self:flex-start;padding:5px 10px;border-radius:8px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);font-size:11px;font-weight:700;transition:background .2s,color .2s,transform .2s}.spirit-selection-context-cta b{font-size:14px;line-height:1;font-weight:600}.spirit-selection-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}@keyframes spirit-selection-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:639px){.spirit-message-bubble,.spirit-selection-context{right:68px;bottom:140px;width:min(280px,calc(100vw - 96px));max-width:min(280px,calc(100vw - 96px));padding:12px 11px 14px 12px}.spirit-message-bubble-side-left,.spirit-selection-side-left{left:68px;right:auto}.spirit-message-bubble-side-right,.spirit-selection-side-right{right:68px;left:auto}.spirit-selection-context{gap:9px;padding:10px 11px;align-items:center}.spirit-selection-context-action{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 8px;padding:0 23px 0 0}.spirit-selection-context-header{display:contents}.spirit-selection-kicker{grid-column:1;grid-row:1}.spirit-selection-context-metric{grid-column:1;grid-row:2;display:block;width:auto;line-height:1.25}.spirit-selection-context-metric strong{margin-right:6px}.spirit-selection-context-metric small{font-size:12px}.spirit-selection-context-cta{grid-column:2;grid-row:2;margin:0;padding:4px 9px}.spirit-selection-context-close{top:7px;right:7px;width:24px;height:24px}.spirit-selection-context strong{font-size:13px}}@media (max-width:639px){.spirit-disabled-hint{right:68px;bottom:140px;max-width:calc(100vw - 84px);padding:8px 8px 8px 11px}.spirit-disabled-hint-side-left{left:68px;right:auto}.spirit-disabled-hint span{overflow:hidden;text-overflow:ellipsis}.spirit-disabled-hint button{padding-inline:8px}}@media (prefers-reduced-motion:reduce){.spirit-message-bubble,.spirit-selection-context{animation:none;transition:none}.spirit-selection-context-progress{animation:none;transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.spirit-disabled-hint{animation:none;transition:none}}.spirit-vision-authorize-modal .ant-modal-content{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);box-shadow:0 18px 52px #0f172a3d}.spirit-vision-authorize-modal .ant-modal-confirm-title{color:var(--c-text-strong)}.spirit-vision-authorize-modal .ant-modal-confirm-content{color:var(--c-text-muted);line-height:1.7}.spirit-vision-authorize-modal .ant-modal-confirm-btns .ant-btn-default{color:var(--c-text-strong);border-color:var(--c-border-strong);background:var(--c-bg)}.spirit-vision-authorize-modal .ant-modal-confirm-btns .ant-btn-default:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-subtle)}.spirit-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}.spirit-quick .ant-btn{width:100%;min-width:0;height:auto;min-height:40px;padding:8px 10px;white-space:normal;overflow-wrap:anywhere}.spirit-selection-context-header{padding-right:0}.spirit-event-controls .spirit-event-cap{width:72px;margin-left:8px;padding:2px 6px;font-size:11px}.spirit-emotion-happy,.spirit-emotion-celebrating{--spirit-accent:#34d399}.spirit-emotion-worried,.spirit-emotion-tired{--spirit-accent:#f59e0b}.spirit-emotion-surprised{--spirit-accent:#60a5fa}.activity-detail-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.spirit-panel-mask{display:none}.post-activity-feedback,.spirit-vision-card{min-width:0}.post-feedback-summary{color:var(--c-text-subtle);line-height:1.7}.spirit-vision-card p{color:var(--c-text-subtle);margin:0 0 14px;line-height:1.7}.spirit-vision-title{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.spirit-vision-status{margin-top:14px}.spirit-vision-result{margin-top:14px;border:1px solid var(--c-border);border-radius:14px;background:var(--c-bg);overflow:hidden}.spirit-vision-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--c-text-strong);font-weight:600;border-bottom:1px solid var(--c-border)}.spirit-vision-result-head small{color:var(--c-text-subtle);font-size:11px;font-weight:400}.spirit-vision-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.spirit-vision-section{min-width:0;padding:12px;border-radius:11px;background:var(--c-surface);border-left:3px solid var(--c-border-strong)}.spirit-vision-section h4{margin:0 0 6px;color:var(--c-text-strong);font-size:13px}.spirit-vision-section p{margin:0;color:var(--c-text);font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.spirit-vision-section-visual{border-left-color:#3b82f6}.spirit-vision-section-data{border-left-color:#10b981}.spirit-vision-section-insight{border-left-color:#f59e0b}.spirit-vision-section-limit{border-left-color:#94a3b8}.spirit-vision-summary{padding:12px;margin:0!important;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 639px){.spirit-vision-sections{grid-template-columns:1fr}.spirit-vision-result-head{align-items:flex-start;flex-direction:column;gap:3px}}.spirit-long-term{display:grid;gap:12px;margin-top:14px}.spirit-growth-summary{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.spirit-growth-summary strong{font-size:24px;color:var(--c-primary)}.spirit-growth-summary small{flex-basis:100%;color:var(--c-text-subtle)}.spirit-achievements{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.spirit-achievement-item{position:relative;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.spirit-achievement-share-card{position:absolute;left:-99999px;width:320px;min-height:180px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#1f55e5,#7c3aed);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:10px}.spirit-achievement-share-card span{opacity:.86;font-size:13px}.spirit-profile-table{display:grid;gap:6px;margin-top:12px}.spirit-profile-table>div{display:grid;grid-template-columns:80px 1fr auto;gap:8px;align-items:center;color:var(--c-text-subtle);font-size:12px}.spirit-memory-card small{display:block;color:var(--c-text-subtle);margin-top:8px;line-height:1.6}@media (max-width: 639px){.activity-detail-support-grid{grid-template-columns:1fr}.spirit-profile-table>div{grid-template-columns:64px 1fr auto}.post-activity-feedback .ant-space{width:100%}.spirit-panel-mask{display:block;position:fixed;z-index:1299;top:0;right:0;bottom:0;left:0;background:#0f172a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.training-spirit-panel{z-index:1300;right:0;left:0;bottom:0;width:100%;max-height:min(84dvh,calc(100dvh - var(--spirit-keyboard-inset, 0px)));border-radius:22px 22px 0 0}}@media (min-width: 640px) and (max-width: 900px){.spirit-panel-mask{display:block;position:fixed;z-index:1299;top:0;right:0;bottom:0;left:0;background:#0f172a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.training-spirit-panel-side-left{right:auto!important;left:12px!important}.training-spirit-panel-side-right{right:12px!important;left:auto!important}.training-spirit-panel{z-index:1300;right:12px;left:12px;bottom:72px;width:calc(100vw - 24px);max-width:none;max-height:min(76dvh,calc(100dvh - var(--spirit-keyboard-inset, 0px)));border-radius:20px}.training-spirit-panel-docked{z-index:1400;right:12px!important;left:auto!important}.training-spirit-panel.training-spirit-panel-side-right.training-spirit-panel-docked{right:12px!important;left:auto!important}.training-spirit-panel-side-left.training-spirit-panel-docked{right:auto!important;left:12px!important}}
