.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.maplibregl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.maplibregl-canvas{position:absolute;top:0;left:0}.maplibregl-map:fullscreen{width:100%;height:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;z-index:2;position:absolute}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px buttontext}}.maplibregl-ctrl-group button{box-sizing:border-box;cursor:pointer;background-color:#0000;border:0;outline:none;width:29px;height:29px;padding:0;display:block}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:#0000}.maplibregl-ctrl-group button+button{border-top:1px solid buttontext}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:2s linear infinite maplibregl-spin}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg 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{cursor:pointer;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;width:88px;height:23px;margin:0 0 -4px -4px;display:block;overflow:hidden}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:#0000;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg 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{box-sizing:content-box;color:#000;background-color:#fff;border-radius:12px;min-height:20px;margin:10px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{visibility:visible;padding:2px 28px 2px 8px}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{box-sizing:border-box;cursor:pointer;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;outline:none;width:24px;height:24px;display:none;position:absolute;top:0;right:0}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg 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{box-sizing:border-box;color:#333;white-space:nowrap;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.maplibregl-popup{pointer-events:none;will-change:transform;display:flex;position:absolute;top:0;left:0}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{cursor:pointer;background-color:#0000;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:15px 10px;position:relative;box-shadow:0 1px 2px #0000001a}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{will-change:transform;transition:opacity .2s;position:absolute;top:0;left:0}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.maplibregl-user-location-dot:before{content:"";animation:2s infinite maplibregl-user-location-dot-pulse;position:absolute}.maplibregl-user-location-dot:after{box-sizing:border-box;content:"";border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}.maplibregl-cooperative-gesture-screen{color:#fff;opacity:0;pointer-events:none;z-index:99999;background:#0006;justify-content:center;align-items:center;padding:1rem;font-size:1.4em;line-height:1.2;transition:opacity 1s 1s;display:flex;position:absolute;inset:0}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 50ms}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{z-index:99999;width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}:root{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-panel:#141c2b;--bg-panel-hover:#1a2435;--bg-input:#0f172a;--border-color:#1e293b;--border-hover:#334155;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-red:#dc2626;--accent-green:#22c55e;--accent-blue:#3b82f6;--accent-yellow:#eab308;--accent-orange:#f97316;--accent-purple:#a855f7;--accent-cyan:#06b6d4;--accent-gold:#fbbf24;--panel-radius:8px;--header-height:52px;--ticker-height:32px;--font-mono:"SF Mono", "Cascadia Code", "JetBrains Mono", "Fira Code", monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}[data-theme=light]{--bg-primary:#f0f2f5;--bg-secondary:#fff;--bg-panel:#fff;--bg-panel-hover:#f5f7fa;--bg-input:#eef1f6;--border-color:#d1d5db;--border-hover:#9ca3af;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--accent-blue:#2563eb;--accent-red:#dc2626;--accent-green:#16a34a}[data-theme=light] .panel-body,[data-theme=light] .ai-chat-panel,[data-theme=light] .todo-panel{color:var(--text-primary)}[data-theme=light] .app-header,[data-theme=light] .ws-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);background:#fffffff2}[data-theme=light] .ticker-bar{background:var(--bg-secondary);border-top-color:var(--border-color);color:var(--text-primary)}[data-theme=light] .modal-overlay{background:#0000004d}[data-theme=light] .admin-panel,[data-theme=light] .auth-modal{background:var(--bg-panel);box-shadow:0 8px 32px #00000026}[data-theme=light] pre.ai-chat-msg-text{color:var(--text-primary)}[data-theme=light] .todo-schedule-picker{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .panel-header{border-bottom:1px solid var(--border-color);background:#f8f9fb}[data-theme=light] .panel-title{color:#111827}[data-theme=light] .panel-header-btn{color:#374151}[data-theme=light] .panel-header-btn:hover{color:#111827;background:#e5e7eb}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{color:#111827}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#9ca3af}[data-theme=light] .header-btn.secondary,[data-theme=light] .ws-btn{color:#374151;border-color:#d1d5db}[data-theme=light] .header-btn.secondary:hover,[data-theme=light] .ws-btn:hover{color:#111827;background:#e5e7eb}[data-theme=light] .news-item{border-bottom-color:#e5e7eb}[data-theme=light] .news-title{color:#111827}[data-theme=light] .news-meta{color:#6b7280}[data-theme=light] .market-row{color:#111827}[data-theme=light] .app-footer{color:#6b7280;background:#fff;border-top:1px solid #d1d5db}[data-theme=light] .ai-chat-msg-content{color:#111827;background:#f3f4f6}[data-theme=light] .ai-chat-msg-user .ai-chat-msg-content{color:#1e3a5f;background:#dbeafe}[data-theme=light] .kb-sidebar{border-right-color:#d1d5db}[data-theme=light] .kb-content-edit{color:#111827;background:#fff}[data-theme=light] .kb-content-preview,[data-theme=light] .kb-note-title{color:#111827}[data-theme=light] ::-webkit-scrollbar-thumb{background:#c4c9d1}[data-theme=light] ::-webkit-scrollbar-track{background:#f0f2f5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}.app{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.app-header{height:var(--header-height);border-bottom:1px solid var(--border-color);z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#111827 0%,#0f172a 100%);justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:14px;display:flex}.logo{align-items:center;gap:8px;display:flex}.logo-img{object-fit:contain;width:auto;height:36px}.header-subtitle{color:var(--text-muted);border-left:1px solid var(--border-color);padding-left:14px;font-size:12px}.header-center{align-items:center;display:flex}.header-status{background:#22c55e14;border:1px solid #22c55e33;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:flex}.status-dot{background:var(--accent-green);border-radius:50%;width:6px;height:6px}.status-dot.live{animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #22c55e80}50%{opacity:.8;box-shadow:0 0 0 4px #22c55e00}}.status-text{color:var(--accent-green);font-size:12px}.header-right{align-items:center;gap:16px;display:flex}.header-time{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.3px;font-size:12px}.header-actions{gap:8px;display:flex}.header-btn{color:var(--accent-blue);cursor:pointer;font-size:12px;font-family:var(--font-sans);background:#3b82f61a;border:1px solid #3b82f64d;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;transition:all .2s;display:flex}.header-btn:hover{border-color:var(--accent-blue);background:#3b82f633}.header-btn.secondary{color:var(--text-secondary);background:#64748b1a;border-color:#64748b4d}.header-btn.secondary:hover{background:#64748b33}.header-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#3b82f633}.ws-btn.locked-active{color:var(--accent-blue);background:#3b82f633}.ticker-bar{height:var(--ticker-height);background:#dc26260f;border-bottom:1px solid #dc262626;overflow:hidden}.ticker-content{align-items:center;gap:12px;height:100%;padding:0 16px;display:flex}.ticker-label{background:var(--accent-red);color:#fff;letter-spacing:1px;border-radius:3px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.ticker-scroll{white-space:nowrap;flex:1;overflow:hidden}.ticker-scroll span{color:var(--text-secondary);font-size:12px;animation:40s linear infinite ticker-scroll;display:inline-block}@keyframes ticker-scroll{0%{transform:translate(100%)}to{transform:translate(-100%)}}.dashboard{flex:1;padding:10px}.layout{min-height:calc(100vh - var(--header-height) - var(--ticker-height) - 80px)}.panel-wrapper{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--panel-radius);flex-direction:column;height:100%;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.panel-wrapper:hover{border-color:var(--border-hover);box-shadow:0 4px 24px #0000004d}.panel-header{border-bottom:1px solid var(--border-color);cursor:grab;-webkit-user-select:none;user-select:none;background:linear-gradient(#1e293b99 0%,#0000 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.panel-header:active{cursor:grabbing}.panel-title{align-items:center;gap:8px;display:flex}.panel-dot{background:var(--accent-blue);border-radius:50%;flex-shrink:0;width:6px;height:6px}.panel-title h3{color:var(--text-primary);letter-spacing:.2px;font-size:13px;font-weight:600}.panel-refresh-badge{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);background:#64748b26;border-radius:3px;padding:1px 6px}.panel-actions{opacity:0;gap:4px;transition:opacity .2s;display:flex}.panel-wrapper:hover .panel-actions{opacity:1}.panel-action-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:#64748b26;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.panel-action-btn:hover{color:var(--text-primary);background:#64748b4d}.panel-action-remove:hover{color:var(--accent-red);background:#ef444433}.panel-content{flex:1;padding:0;overflow:auto}.panel-settings-dropdown{background:var(--bg-input);border-bottom:1px solid var(--border-color);padding:10px 12px}.panel-setting-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.panel-setting-row label{color:var(--text-muted);flex-shrink:0;width:80px;font-size:11px}.panel-setting-row input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:12px;font-family:var(--font-sans);border-radius:4px;flex:1;padding:4px 8px}.panel-setting-row input:focus{border-color:var(--accent-blue);outline:none}.panel-setting-close{border:1px solid var(--border-color);width:100%;color:var(--text-muted);cursor:pointer;font-size:11px;font-family:var(--font-sans);background:0 0;border-radius:4px;margin-top:4px;padding:4px}.panel-setting-close:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.china-map-container{width:100%;height:100%;min-height:300px;position:relative}.map-overlay-info{border:1px solid var(--border-color);color:var(--text-secondary);z-index:10;background:#0a0e17d9;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:flex;position:absolute;bottom:10px;left:10px}.map-status-dot{background:var(--accent-green);border-radius:50%;width:6px;height:6px}.map-status-dot.live{animation:2s ease-in-out infinite pulse-dot}.map-panel-container{width:100%;height:100%;position:relative}.map-layer-toggle-btn{z-index:20;border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:#0a0e17e6;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:10px;left:10px}.map-layer-toggle-btn:hover,.map-layer-toggle-btn.active{border-color:var(--accent-blue);color:var(--accent-blue);background:#141c2bf2}.layer-badge{background:var(--accent-blue);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.map-layer-control{z-index:25;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0e17f2;border-radius:8px;width:200px;animation:.15s ease-out layerPanelIn;position:absolute;top:10px;left:52px;overflow:hidden}@keyframes layerPanelIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.layer-control-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.layer-control-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.layer-control-close:hover{color:var(--text-primary)}.layer-control-list{padding:4px 0}.layer-control-item{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:6px 12px;transition:background .15s;display:flex}.layer-control-item:hover{background:#ffffff0a}.layer-control-item.active{background:#3b82f614}.layer-item-left{align-items:center;gap:8px;display:flex}.layer-icon{text-align:center;width:20px;font-size:14px}.layer-name{color:var(--text-secondary);font-size:12px}.layer-control-item.active .layer-name{color:var(--text-primary)}.layer-switch{background:var(--border-color);border-radius:7px;flex-shrink:0;width:28px;height:14px;transition:background .2s;position:relative}.layer-switch.on{background:var(--accent-blue)}.layer-switch-thumb{background:#fff;border-radius:50%;width:10px;height:10px;transition:transform .2s;position:absolute;top:2px;left:2px}.layer-switch.on .layer-switch-thumb{transform:translate(14px)}.layer-control-footer{border-top:1px solid var(--border-color);gap:6px;padding:6px 10px 8px;display:flex}.layer-btn-all{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:#ffffff0d;border-radius:4px;flex:1;padding:4px 8px;font-size:11px;transition:all .15s}.layer-btn-all:hover{color:var(--text-primary);border-color:var(--border-hover);background:#ffffff1a}.maplibregl-popup-content{background:var(--bg-panel)!important;border:1px solid var(--border-color)!important;border-radius:6px!important;padding:8px 12px!important;box-shadow:0 4px 16px #00000080!important}.maplibregl-popup-tip{border-top-color:var(--bg-panel)!important}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.news-panel{flex-direction:column;height:100%;display:flex}.news-source-tabs{flex-shrink:0;gap:2px;padding:8px 10px 0;display:flex;overflow-x:auto}.source-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;font-size:12px;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:3px 10px;transition:all .15s}.source-tab:hover{color:var(--text-secondary)}.source-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.news-list{flex:1;padding:6px 0;overflow-y:auto}.news-item{color:var(--text-primary);border-left:2px solid #0000;align-items:center;gap:8px;padding:7px 12px;text-decoration:none;transition:background .15s;display:flex}.news-item:hover{background:var(--bg-panel-hover);border-left-color:var(--accent-blue)}.news-category{color:var(--accent-blue);background:#3b82f61f;border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:10px}.news-category[data-cat=经济]{color:var(--accent-green);background:#22c55e1f}.news-category[data-cat=科技]{color:var(--accent-purple);background:#a855f71f}.news-category[data-cat=军事]{color:var(--accent-red);background:#ef44441f}.news-category[data-cat=社会]{color:var(--accent-orange);background:#f973161f}.news-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;line-height:1.4;overflow:hidden}.news-time{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);flex-shrink:0}.market-panel{flex-direction:column;height:100%;display:flex}.market-tabs{flex-shrink:0;gap:2px;padding:8px 10px 0;display:flex}.market-tab{color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:3px 12px;transition:all .15s}.market-tab.active{color:var(--accent-gold);border-bottom-color:var(--accent-gold)}.market-list{flex:1;padding:4px 0;overflow-y:auto}.market-item{justify-content:space-between;align-items:center;padding:6px 12px;transition:background .15s;display:flex}.market-item:hover{background:var(--bg-panel-hover)}.market-info{flex-direction:column;display:flex}.market-name{font-size:12px;font-weight:500}.market-code{color:var(--text-muted);font-size:10px;font-family:var(--font-mono)}.market-numbers{flex-direction:column;align-items:flex-end;display:flex}.market-price{font-size:13px;font-weight:600;font-family:var(--font-mono)}.market-price.up{color:var(--accent-red)}.market-price.down{color:var(--accent-green)}.market-change{font-size:11px;font-family:var(--font-mono)}.market-change.up{color:var(--accent-red)}.market-change.down{color:var(--accent-green)}.weather-panel{padding:10px 12px}.weather-city-select select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);font-size:12px;font-family:var(--font-sans);border-radius:4px;margin-bottom:8px;padding:4px 8px}.weather-main{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.weather-temp-block{flex-direction:column;display:flex}.weather-temp{background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:300;line-height:1}.weather-condition{color:var(--text-secondary);margin-top:2px;font-size:14px}.weather-details{flex-direction:column;gap:6px;display:flex}.weather-detail-item{align-items:center;gap:8px;display:flex}.weather-detail-label{color:var(--text-muted);font-size:11px}.weather-detail-value{color:var(--text-primary);font-size:12px;font-family:var(--font-mono)}.weather-forecast{border-top:1px solid var(--border-color);gap:4px;padding-top:8px;display:flex}.forecast-item{background:#1e293b66;border-radius:4px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 2px;display:flex}.forecast-day{color:var(--text-muted);font-size:10px}.forecast-condition{font-size:11px}.forecast-temp{color:var(--text-secondary);font-size:10px;font-family:var(--font-mono)}.aqi-panel{padding:10px}.aqi-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;display:grid}.aqi-card{border:1px solid var(--border-color);background:#1e293b66;border-radius:6px;flex-direction:column;align-items:center;padding:8px 6px;transition:border-color .15s;display:flex}.aqi-card:hover{border-color:var(--border-hover)}.aqi-city{color:var(--text-secondary);margin-bottom:4px;font-size:11px}.aqi-value{font-size:22px;font-weight:700;font-family:var(--font-mono);line-height:1}.aqi-level{margin-top:2px;font-size:10px;font-weight:500}.aqi-details{color:var(--text-muted);font-size:9px;font-family:var(--font-mono);gap:6px;margin-top:4px;display:flex}.economic-panel{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;padding:10px;display:grid}.eco-indicator{border:1px solid var(--border-color);background:#1e293b66;border-radius:6px;padding:8px 10px}.eco-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.eco-name{color:var(--text-muted);font-size:11px;font-weight:500}.eco-unit{color:var(--text-muted);background:#64748b1f;border-radius:2px;padding:1px 4px;font-size:9px}.eco-value{color:var(--text-primary);font-size:16px;font-weight:600;font-family:var(--font-mono)}.eco-change{font-size:11px;font-family:var(--font-mono);margin-top:2px}.eco-change.up{color:var(--accent-red)}.eco-change.down{color:var(--accent-green)}.eco-change.stable{color:var(--text-muted)}.eco-arrow{margin-right:2px}.earthquake-panel{padding:6px 0}.eq-item{align-items:center;gap:10px;padding:8px 12px;transition:background .15s;display:flex}.eq-item:hover{background:var(--bg-panel-hover)}.eq-mag{color:#fff;width:38px;height:38px;font-size:14px;font-weight:700;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.eq-info{flex:1;min-width:0}.eq-location{font-size:13px;font-weight:500}.eq-meta{color:var(--text-muted);gap:12px;margin-top:2px;font-size:11px;display:flex}.social-panel{flex-direction:column;height:100%;display:flex}.social-tabs{flex-shrink:0;gap:2px;padding:8px 10px 0;display:flex;overflow-x:auto}.social-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;font-size:12px;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:3px 10px;transition:all .15s}.social-tab.active{border-bottom-color:currentColor}.social-list{flex:1;padding:4px 0;overflow-y:auto}.social-item{color:var(--text-primary);align-items:center;gap:8px;padding:6px 12px;text-decoration:none;transition:background .15s;display:flex}.social-item:hover{background:var(--bg-panel-hover)}.social-rank{width:22px;height:22px;color:var(--text-muted);font-size:11px;font-weight:600;font-family:var(--font-mono);background:#64748b1f;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.social-rank.top{color:var(--accent-red);background:#dc262626}.social-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.social-hot{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);flex-shrink:0}.energy-panel{padding:10px 12px}.energy-section h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:500}.energy-bar-chart{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.energy-bar-item{align-items:center;gap:6px;display:flex}.energy-bar-label{color:var(--text-secondary);text-align:right;flex-shrink:0;width:30px;font-size:11px}.energy-bar-track{background:#1e293b99;border-radius:4px;flex:1;height:8px;overflow:hidden}.energy-bar-fill{border-radius:4px;height:100%;transition:width .5s}.energy-bar-value{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);flex-shrink:0;width:32px}.energy-prices{gap:12px;display:flex}.energy-price-item{background:#1e293b66;border-radius:4px;flex:1;justify-content:space-between;padding:6px 8px;font-size:12px;display:flex}.energy-price-val{font-family:var(--font-mono);color:var(--accent-gold)}.population-panel{padding:10px 12px}.pop-stats{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.pop-stat-card{border:1px solid var(--border-color);background:#1e293b66;border-radius:6px;flex-direction:column;align-items:center;padding:8px;display:flex}.pop-stat-value{color:var(--accent-cyan);font-size:16px;font-weight:700;font-family:var(--font-mono)}.pop-stat-label{color:var(--text-muted);margin-top:2px;font-size:10px}.pop-section-title{color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:500}.pop-province-list{flex-direction:column;gap:3px;display:flex}.pop-province-item{align-items:center;gap:6px;display:flex}.pop-province-rank{width:16px;color:var(--text-muted);text-align:right;font-size:10px;font-family:var(--font-mono)}.pop-province-name{flex-shrink:0;width:30px;font-size:11px}.pop-province-bar-track{background:#1e293b99;border-radius:3px;flex:1;height:6px;overflow:hidden}.pop-province-bar{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-blue));border-radius:3px;height:100%;transition:width .5s}.pop-province-val{color:var(--text-muted);font-size:10px;font-family:var(--font-mono);text-align:right;width:54px}.tech-panel{flex-direction:column;height:100%;display:flex}.tech-tabs{flex-shrink:0;gap:2px;padding:8px 10px 0;display:flex}.tech-tab{color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:3px 10px;transition:all .15s}.tech-tab.active{color:var(--accent-purple);border-bottom-color:var(--accent-purple)}.tech-list{flex:1;padding:6px 0;overflow-y:auto}.tech-item{align-items:center;gap:8px;padding:6px 12px;transition:background .15s;display:flex}.tech-item:hover{background:var(--bg-panel-hover)}.tech-dot{background:var(--accent-purple);border-radius:50%;flex-shrink:0;width:4px;height:4px}.tech-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.tech-time{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);flex-shrink:0}.clock-panel{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;padding:10px;display:grid}.clock-item{border:1px solid var(--border-color);background:#1e293b66;border-radius:6px;flex-direction:column;align-items:center;padding:8px 6px;display:flex}.clock-city{color:var(--text-secondary);align-items:center;gap:4px;margin-bottom:4px;font-size:11px;display:flex}.clock-flag{font-size:14px}.clock-time{font-size:18px;font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.clock-date{color:var(--text-muted);margin-top:2px;font-size:10px}.note-panel{height:100%;padding:6px}.note-textarea{background:var(--bg-input);border:1px solid var(--border-color);width:100%;height:100%;color:var(--text-primary);font-size:12px;font-family:var(--font-sans);resize:none;border-radius:4px;padding:8px 10px;line-height:1.6}.note-textarea:focus{border-color:var(--accent-blue);outline:none}.note-textarea::placeholder{color:var(--text-muted)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:520px;max-height:80vh;padding:20px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2{font-size:16px;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;transition:all .15s;display:flex}.modal-close:hover{color:var(--accent-red);background:#ef444426}.panel-type-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.panel-type-card{background:var(--bg-panel);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);font-family:var(--font-sans);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;transition:all .2s;display:flex}.panel-type-card:hover{border-color:var(--accent-blue);background:var(--bg-panel-hover);transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.panel-type-icon{font-size:24px}.panel-type-label{color:var(--text-secondary);font-size:11px}.panel-type-card.locked{opacity:.55;cursor:not-allowed;position:relative}.panel-type-card.locked:hover{border-color:var(--border-color);box-shadow:none;background:var(--bg-panel);transform:none}.panel-pro-badge{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:8px;padding:1px 5px;font-size:8px;font-weight:700;position:absolute;top:4px;right:4px}.pro-toast{z-index:100;display:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.pro-toast.visible{animation:.3s proToastIn;display:block}.pro-toast.floating{z-index:10000;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.pro-toast-inner{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid #f59e0b;border-radius:12px;align-items:center;gap:10px;padding:12px 20px;display:flex;box-shadow:0 8px 32px #00000080,0 0 0 1px #f59e0b4d}.pro-toast-icon{font-size:22px}.pro-toast-text{flex-direction:column;gap:2px;display:flex}.pro-toast-text strong{color:#fbbf24;font-size:13px}.pro-toast-text span{color:#94a3b8;font-size:11px}@keyframes proToastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.ws-quick-item.locked{opacity:.5;cursor:not-allowed;position:relative}.ws-quick-item.locked:hover{background:var(--bg-panel);border-color:var(--border-color)}.ws-pro-badge{font-size:10px;position:absolute;top:2px;right:2px}.kb-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.kb-toolbar{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;display:flex}.kb-sidebar-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:10px}.kb-search{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;flex:1;padding:3px 8px;font-size:11px}.kb-new-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:3px 10px;font-size:14px}.kb-body{flex:1;display:flex;overflow:hidden}.kb-sidebar{border-right:1px solid var(--border-color);flex-shrink:0;width:120px;padding:4px 0;overflow-y:auto}.kb-folder-item{color:var(--text-secondary);cursor:pointer;align-items:center;gap:4px;padding:5px 8px;font-size:11px;display:flex}.kb-folder-item:hover{background:var(--bg-panel-hover,#ffffff0a)}.kb-folder-item.active{color:var(--accent-blue);background:#3b82f626}.kb-folder-item span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.kb-count{color:var(--text-muted);text-align:center;min-width:14px;font-size:9px}.kb-folder-del{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;font-size:12px}.kb-folder-item:hover .kb-folder-del{opacity:1}.kb-add-folder{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:6px 8px;font-size:10px}.kb-add-folder:hover{color:var(--accent-blue)}.kb-new-folder-form{gap:2px;padding:4px 6px;display:flex}.kb-new-folder-form input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:3px;flex:1;padding:2px 4px;font-size:10px}.kb-new-folder-form button{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:2px 6px;font-size:10px}.kb-main{flex-direction:column;flex:1;display:flex;overflow-y:auto}.kb-note-list{flex:1;overflow-y:auto}.kb-note-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:8px 12px;transition:background .15s}.kb-note-item:hover{background:var(--bg-panel-hover,#ffffff0a)}.kb-note-title{color:var(--text-primary);margin-bottom:3px;font-size:12px;font-weight:600}.kb-note-meta{color:var(--text-muted);gap:8px;font-size:9px;display:flex}.kb-note-folder{background:var(--bg-secondary);border-radius:3px;padding:0 4px}.kb-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.kb-new-btn-lg{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:12px}.kb-editor{flex-direction:column;flex:1;display:flex;overflow:hidden}.kb-editor-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;display:flex}.kb-back{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;font-size:14px}.kb-title-input{color:var(--text-primary);background:0 0;border:none;flex:1;padding:2px 4px;font-size:13px;font-weight:600}.kb-folder-select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:3px;padding:2px 4px;font-size:9px}.kb-edit-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:2px 8px;font-size:10px}.kb-edit-toggle.active{color:var(--accent-blue);border-color:var(--accent-blue);background:#3b82f633}.kb-del-note{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:10px}.kb-del-note:hover{color:var(--accent-red)}.kb-content-edit{background:var(--bg-primary);color:var(--text-primary);resize:none;font-size:13px;line-height:1.7;font-family:var(--font-mono);border:none;flex:1;padding:12px}.kb-content-preview{color:var(--text-primary);flex:1;padding:12px;font-size:13px;line-height:1.7;overflow-y:auto}.kb-content-preview h2{color:var(--text-primary);margin:12px 0 6px;font-size:16px}.kb-content-preview h3{color:var(--text-primary);margin:10px 0 4px;font-size:14px}.kb-content-preview h4{color:var(--text-secondary);margin:8px 0 4px;font-size:13px}.kb-content-preview code{background:var(--bg-secondary);font-size:12px;font-family:var(--font-mono);border-radius:3px;padding:1px 4px}.kb-content-preview a{color:var(--accent-blue)}.kb-content-preview ul{margin:4px 0;padding-left:20px}.kb-content-preview li{margin:2px 0}.kb-empty-hint{color:var(--text-muted);font-style:italic}.ai-chat-save-kb-btn{cursor:pointer;opacity:.3;background:0 0;border:none;padding:2px;font-size:12px;transition:opacity .15s}.ai-chat-save-kb-btn:hover{opacity:1}.ebook-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.ebook-shelf{flex-direction:column;flex:1;display:flex;overflow:hidden}.ebook-shelf-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.ebook-shelf-title{color:var(--text-primary);font-size:13px;font-weight:600}.ebook-upload-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border-radius:4px;padding:4px 12px;font-size:11px}.ebook-error{color:var(--accent-red);padding:6px 12px;font-size:11px}.ebook-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.ebook-empty-icon{margin-bottom:8px;font-size:36px}.ebook-empty p{margin:2px 0;font-size:12px}.ebook-hint{color:var(--text-muted);font-size:10px!important}.ebook-list{flex:1;padding:4px 0;overflow-y:auto}.ebook-item{border-bottom:1px solid var(--border-color);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex;position:relative}.ebook-item:hover{background:var(--bg-panel-hover,#ffffff0a)}.ebook-cover{text-align:center;flex-shrink:0;width:36px;font-size:28px}.ebook-meta{flex:1;min-width:0}.ebook-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ebook-author{color:var(--text-muted);margin-top:2px;font-size:10px}.ebook-info{color:var(--text-muted);gap:8px;margin-top:3px;font-size:9px;display:flex}.ebook-format{background:var(--bg-secondary);border-radius:3px;padding:0 4px;font-weight:600}.ebook-progress-tag{color:var(--accent-blue);font-weight:600}.ebook-item-main{cursor:pointer;align-items:center;gap:10px;display:flex;position:relative}.ebook-title-row{align-items:center;gap:4px;display:flex}.ebook-info-icon{background:var(--accent-blue);color:#fff;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-style:italic;font-weight:700;display:inline-flex}.ebook-enc-tag{color:#f59e0b;font-weight:600}.ebook-today-stats{color:var(--accent-blue);font-size:10px;font-family:var(--font-mono);margin-left:auto;margin-right:8px}.ebook-ask-ai{cursor:pointer;opacity:0;background:0 0;border:none;padding:2px;font-size:16px;transition:opacity .15s}.ebook-item:hover .ebook-ask-ai{opacity:1}.ebook-del-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;font-size:16px;transition:opacity .15s}.ebook-item:hover .ebook-del-btn{opacity:1}.ebook-intro-panel{border-top:1px dashed var(--border-color);padding:6px 12px 10px 48px}.ebook-intro-text{color:var(--text-secondary);margin:0 0 6px;font-size:11px;line-height:1.6}.ebook-intro-loading{color:var(--text-muted);font-style:italic}.ebook-links{gap:8px;display:flex}.ebook-link{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--accent-blue);border-radius:4px;padding:2px 8px;font-size:10px;text-decoration:none}.ebook-link:hover{border-color:var(--accent-blue)}.ebook-link.movie{color:#f59e0b}.ebook-reader{-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.ebook-reader-bar{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:8px;padding:4px 10px;display:flex}.ebook-back-btn{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px}.ebook-reader-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.ebook-page-num{color:var(--text-muted);font-size:10px;font-family:var(--font-mono)}.ebook-txt-page{flex:1;padding:12px 16px;transition:transform .3s,opacity .3s;overflow:hidden}.ebook-txt-page.anim-left{animation:.3s ebookSlideLeft}.ebook-txt-page.anim-right{animation:.3s ebookSlideRight}.ebook-txt-page.anim-up{animation:.3s ebookSlideUp}.ebook-txt-page.anim-down{animation:.3s ebookSlideDown}@keyframes ebookSlideLeft{0%{opacity:.3;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes ebookSlideRight{0%{opacity:.3;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes ebookSlideUp{0%{opacity:.3;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes ebookSlideDown{0%{opacity:.3;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.ebook-txt-content{color:var(--text-primary);white-space:pre-wrap;word-break:break-all;font-size:14px;line-height:22px;font-family:var(--font-sans);margin:0}.ebook-epub-container{flex:1;overflow:hidden}.st-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.st-tabs{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:2px;padding:4px 8px;display:flex}.st-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:11px}.st-tab.active{background:var(--bg-secondary);color:var(--text-primary);font-weight:600}.st-tab-right{gap:4px;margin-left:auto;display:flex}.st-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:3px 10px;font-size:10px}.st-btn.primary{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.st-btn.danger{border-color:var(--accent-red);color:var(--accent-red);background:0 0}.st-btn:disabled{opacity:.4;cursor:not-allowed}.st-btn-sm{border:1px solid var(--border-color);color:var(--accent-blue);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:10px}.st-btn-sm:disabled{opacity:.4}.st-body{flex:1;padding:4px 0;overflow-y:auto}.st-section{border-bottom:1px solid var(--border-color)}.st-section-head{color:var(--text-secondary);cursor:pointer;align-items:center;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.st-config{padding:4px 10px 10px}.st-config-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.st-config-row label{color:var(--text-secondary);min-width:70px;font-size:11px}.st-config-row input[type=number]{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.st-config-row input[type=range]{flex:1}.st-stock-input{flex:1;gap:4px;display:flex}.st-stock-input input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;flex:1;padding:4px 8px;font-size:11px}.st-stock-input button{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:12px}.st-stock-tags{flex-wrap:wrap;gap:4px;padding:2px 0 6px;display:flex}.st-stock-tag{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.st-stock-tag button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px}.st-summary{padding:10px}.st-summary-item.main{text-align:center;margin-bottom:8px}.st-summary-item .st-label{color:var(--text-muted);font-size:10px;display:block}.st-summary-item .st-value{color:var(--text-primary);font-size:20px;font-weight:700;font-family:var(--font-mono);display:block}.st-summary-item .st-value.small{font-size:13px}.st-return{font-size:14px;font-weight:600;font-family:var(--font-mono)}.st-return.up,.up{color:var(--accent-red,#ef4444)}.st-return.down,.down{color:var(--accent-green,#22c55e)}.st-summary-row{gap:8px;display:flex}.st-summary-row .st-summary-item{text-align:center;background:var(--bg-secondary);border-radius:6px;flex:1;padding:6px}.st-positions{padding:4px 10px}.st-pos-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:5px 0;display:flex}.st-pos-name strong{color:var(--text-primary);font-size:12px}.st-pos-code{color:var(--text-muted);margin-left:4px;font-size:9px}.st-pos-info{color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);gap:10px;display:flex}.st-pos-mv{color:var(--text-muted)}.st-ai-stream{background:var(--bg-secondary);border-radius:6px;max-height:120px;margin:4px 10px 10px;padding:6px 10px;overflow-y:auto}.st-ai-stream pre{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;font-size:10px;font-family:var(--font-mono);margin:0}.st-strategy-info{padding:4px 10px 10px}.st-strat-meta{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:10px;display:flex}.st-strat-actions{flex-direction:column;gap:3px;display:flex}.st-action{background:var(--bg-secondary);border-radius:4px;align-items:center;gap:6px;padding:3px 6px;font-size:11px;display:flex}.st-action-dir{min-width:28px;font-weight:700}.st-action.buy .st-action-dir{color:var(--accent-red,#ef4444)}.st-action.sell .st-action-dir{color:var(--accent-green,#22c55e)}.st-action.hold .st-action-dir{color:var(--text-muted)}.st-action-reason{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;margin-left:auto;font-size:10px;overflow:hidden}.st-trades-preview,.st-trades-full{padding:4px 10px}.st-trade-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:4px 0;font-size:11px;display:flex}.st-trade-dir{min-width:28px;font-weight:700}.st-trade-row.buy .st-trade-dir{color:var(--accent-red,#ef4444)}.st-trade-row.sell .st-trade-dir{color:var(--accent-green,#22c55e)}.st-trade-name{color:var(--text-primary)}.st-trade-detail{border-bottom:1px solid var(--border-color);padding:8px 0}.st-trade-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.st-trade-badge{border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.st-trade-badge.buy{color:var(--accent-red);background:#ef444426}.st-trade-badge.sell{color:var(--accent-green);background:#22c55e26}.st-trade-stock{color:var(--text-primary);font-size:12px;font-weight:600}.st-trade-time{color:var(--text-muted);margin-left:auto;font-size:10px}.st-trade-body{color:var(--text-secondary);font-size:10px;font-family:var(--font-mono);gap:12px;display:flex}.st-trade-reason{color:var(--text-muted);margin-top:3px;font-size:10px;font-style:italic}.st-empty{text-align:center;color:var(--text-muted);padding:30px;font-size:12px}.st-exec-log{max-height:100%;padding:6px 10px;overflow-y:auto}.st-log-line{font-size:10px;font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;border-bottom:1px solid #ffffff08;padding:2px 0;line-height:1.5}.st-log-line.buy{color:var(--accent-red,#ef4444)}.st-log-line.sell{color:var(--accent-green,#22c55e)}.st-log-line.error{color:#f59e0b}.ai-digest-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.ai-digest-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.ai-digest-title{color:var(--text-primary);font-size:13px;font-weight:700}.ai-digest-sub{color:var(--text-muted);font-size:10px}.ai-digest-cached{background:var(--bg-secondary);color:var(--text-muted);border-radius:8px;margin-left:auto;padding:1px 6px;font-size:9px}.ai-digest-loading,.ai-digest-error{text-align:center;color:var(--text-muted);padding:24px;font-size:12px}.ai-digest-error{color:var(--accent-red,#ef4444)}.ai-digest-list{flex:1;padding:4px 0;overflow-y:auto}.ai-digest-card{border-bottom:1px solid var(--border-color);color:inherit;padding:10px 12px;text-decoration:none;transition:background .15s;display:block}.ai-digest-card:hover{background:var(--bg-panel-hover,#ffffff0a)}.ai-digest-date{color:var(--accent-blue,#3b82f6);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.ai-digest-stat{color:var(--text-muted);font-size:9px;font-weight:400}.ai-digest-headlines{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ai-digest-headlines li{color:var(--text-secondary);gap:6px;font-size:12px;line-height:1.5;display:flex}.ai-digest-headlines li.lead{color:var(--text-primary);font-weight:600}.ai-digest-num{color:var(--accent-blue,#3b82f6);flex-shrink:0;min-width:16px;font-size:10px;font-weight:700;line-height:1.8}.ai-digest-footer{text-align:center;border-top:1px solid var(--border-color);flex-shrink:0;padding:6px 12px}.ai-digest-footer a{color:var(--accent-blue,#3b82f6);font-size:11px;text-decoration:none}.ai-digest-footer a:hover{text-decoration:underline}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);background:var(--bg-secondary);padding:10px 20px;font-size:11px}.footer-sep{color:var(--border-color);margin:0 8px}.data-source-badge{letter-spacing:.3px;border-radius:3px;flex-shrink:0;align-items:center;margin-left:auto;padding:1px 6px;font-size:9px;font-weight:600;display:inline-flex}.data-source-badge.live{color:var(--accent-green);background:#22c55e26;border:1px solid #22c55e4d}.data-source-badge.mock{color:var(--accent-yellow);background:#eab3081a;border:1px solid #eab30833}.data-source-inline{justify-content:flex-end;padding:4px 12px 0;display:flex}.react-grid-item.react-grid-placeholder{border-radius:var(--panel-radius);background:var(--accent-blue)!important;opacity:.1!important}.react-grid-item>.react-resizable-handle:after{border-color:var(--text-muted)!important}@media (width<=768px){.app-header{flex-wrap:wrap;gap:4px;height:auto;min-height:44px;padding:0 10px}.header-subtitle,.header-center{display:none}.header-time{font-size:10px}.header-actions{flex-wrap:wrap;gap:4px}.header-btn{padding:4px 8px;font-size:11px}.header-btn svg+span,.header-btn svg~:not(svg),.header-divider,.user-name-text,.ticker-bar{display:none}.ws-header{flex-direction:column;gap:6px;height:auto;padding:8px 12px}.ws-header-left,.ws-header-center,.ws-header-right{justify-content:center;width:100%}.ws-header-center{display:none}.ws-actions{flex-wrap:wrap;justify-content:center;gap:4px}.ws-btn{padding:4px 8px;font-size:11px}.ws-greeting-sub{display:none}.ws-quick-add-inner{gap:6px;padding:8px}.ws-quick-item{padding:6px 8px;font-size:11px}.panel-header{padding:6px 8px;font-size:12px}.panel-body{padding:6px}.ai-chat-input-row{flex-wrap:nowrap}.ai-chat-toolbar{gap:2px}.ai-chat-tool-btn{padding:4px}.admin-panel{width:95vw;max-width:95vw;max-height:90vh}.admin-table{font-size:11px}.admin-table th,.admin-table td{padding:4px 6px}.user-date{display:none}.auth-modal{width:90vw;max-width:90vw}.todo-toolbar{flex-wrap:wrap;gap:4px}.app-footer{flex-direction:column;gap:4px;padding:8px;font-size:10px}.dashboard{padding:6px}.react-grid-layout{z-index:1;position:relative}.react-grid-item{z-index:1!important}.react-grid-item.react-draggable-dragging{z-index:10!important}}@media (width<=480px){.app-header{padding:0 6px}.header-logo{font-size:14px}.header-time{font-size:9px}.header-btn{padding:3px 6px;font-size:10px}.header-actions{gap:3px}.ws-user-info{gap:6px}.ws-avatar{width:28px;height:28px;font-size:12px}.ws-greeting-text{font-size:13px}.ws-btn{padding:3px 6px;font-size:10px}.panel-header{padding:4px 6px;font-size:11px}.panel-body{padding:4px;font-size:12px}.ai-chat-msg-text{font-size:12px}.ai-chat-input{font-size:13px}}.header-divider{background:var(--border-color);width:1px;height:20px;margin:0 4px}.header-user{align-items:center;gap:6px;display:flex}.user-avatar{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.user-name-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:12px;overflow:hidden}.header-btn.pro-login{color:#a5b4fc;background:linear-gradient(135deg,#3b82f633,#a855f733);border-color:#6366f166}.header-btn.pro-login:hover{color:#c7d2fe;background:linear-gradient(135deg,#3b82f64d,#a855f74d);border-color:#6366f199}.header-btn.accent{color:var(--accent-blue);border-color:#3b82f64d}.header-btn.accent:hover{background:#3b82f626}.auth-modal{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;width:380px;animation:.2s ease-out modalSlideIn;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-header{text-align:center;border-bottom:1px solid var(--border-color);padding:24px 24px 16px;position:relative}.auth-logo{color:var(--text-primary);justify-content:center;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.auth-logo-icon{background:linear-gradient(135deg, var(--accent-red), var(--accent-orange));color:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:flex}.auth-modal-header h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.auth-modal-header .modal-close{position:absolute;top:12px;right:12px}.auth-form{padding:20px 24px 24px}.auth-error{color:#fca5a5;background:#dc26261a;border:1px solid #dc26264d;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:12px}.auth-field{margin-bottom:14px}.auth-field label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.auth-field input{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:10px 12px;font-size:13px;transition:border-color .15s}.auth-field input:focus{border-color:var(--accent-blue)}.auth-field input::placeholder{color:var(--text-muted)}.auth-submit{background:linear-gradient(135deg, var(--accent-blue), #6366f1);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:4px;padding:10px;font-size:14px;font-weight:600;transition:opacity .15s}.auth-submit:hover{opacity:.9}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.admin-panel{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:820px;max-width:95vw;max-height:80vh;animation:.2s ease-out modalSlideIn;display:flex;overflow:hidden}.admin-users-tab,.admin-ann-section{flex:1;min-height:0;overflow-y:auto}.admin-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.admin-header h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.admin-header-actions{align-items:center;gap:8px;display:flex}.admin-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff0d;border-radius:5px;padding:6px 12px;font-size:12px;transition:all .15s}.admin-btn:hover{color:var(--text-primary);background:#ffffff1a}.admin-btn.primary{color:var(--accent-blue);background:#3b82f626;border-color:#3b82f64d}.admin-btn.primary:hover{background:#3b82f640}.admin-btn.danger{color:var(--accent-red)}.admin-btn.danger:hover{background:#dc262626}.admin-btn.small{padding:3px 8px;font-size:11px}.admin-btn.secondary{color:var(--text-muted)}.admin-add-form{border-bottom:1px solid var(--border-color);background:#0003;padding:12px 20px}.admin-add-row{align-items:center;gap:8px;display:flex}.admin-add-row input,.admin-add-row select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:5px;outline:none;flex:1;padding:7px 10px;font-size:12px}.admin-add-row input:focus,.admin-add-row select:focus{border-color:var(--accent-blue)}.admin-add-row select{flex:.7}.admin-user-list{flex:1;padding:0;overflow-y:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background:#00000026;padding:10px 16px;font-size:11px;font-weight:600;position:sticky;top:0}.admin-table td{color:var(--text-secondary);border-bottom:1px solid #1e293b80;padding:10px 16px;font-size:12px}.admin-table tr:hover td{background:#ffffff05}.user-name{font-weight:600;color:var(--text-primary)!important}.user-date{font-size:11px;font-family:var(--font-mono);color:var(--text-muted)!important}.user-actions{flex-wrap:wrap;gap:4px;display:flex}.inline-edit{align-items:center;gap:4px;display:flex}.inline-edit input{background:var(--bg-input);border:1px solid var(--border-color);width:120px;color:var(--text-primary);border-radius:4px;outline:none;padding:3px 8px;font-size:11px}.role-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.role-badge.admin{color:#c4b5fd;background:#a855f726}.role-badge.user{color:#86efac;background:#22c55e1a}.admin-loading{text-align:center;color:var(--text-muted);padding:40px}.admin-footer{border-top:1px solid var(--border-color);color:var(--text-muted);text-align:right;padding:10px 20px;font-size:11px}.workspace{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.ws-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#111827 0%,#1a1f35 100%);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.ws-header-left{align-items:center;display:flex}.ws-user-info{align-items:center;gap:10px;display:flex}.ws-avatar{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:600;display:flex}.ws-greeting{flex-direction:column;gap:1px;display:flex}.ws-greeting-text{color:var(--text-primary);font-size:14px;font-weight:600}.ws-greeting-sub{color:var(--text-muted);font-size:11px}.ws-header-center{align-items:center;display:flex}.ws-time{font-size:12px;font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.5px}.ws-header-right{align-items:center;display:flex}.ws-actions{align-items:center;gap:6px;display:flex}.ws-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;transition:all .2s;display:inline-flex}.ws-btn:hover{background:var(--bg-panel-hover);color:var(--text-primary);border-color:var(--border-hover)}.ws-btn.primary{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.ws-btn.primary:hover{background:#2563eb;border-color:#2563eb}.ws-btn.secondary{color:var(--text-muted)}.ws-btn.secondary:hover{color:var(--accent-red);border-color:#dc26264d}.ws-btn.accent{color:var(--accent-cyan);border-color:#06b6d44d}.ws-btn.accent:hover{border-color:var(--accent-cyan);background:#06b6d41a}.ws-btn.large{border-radius:8px;padding:10px 24px;font-size:14px}.ws-divider{background:var(--border-color);width:1px;height:24px;margin:0 4px}.ws-quick-add{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:10px 20px;animation:.2s wsSlideDown}@keyframes wsSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ws-quick-add-inner{flex-wrap:wrap;gap:6px;max-width:1200px;margin:0 auto;display:flex}.ws-quick-item{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;transition:all .2s;display:flex}.ws-quick-item:hover{background:var(--bg-panel-hover);border-color:var(--accent-blue);color:var(--text-primary);transform:translateY(-1px)}.ws-content{flex:1;padding:12px;overflow-y:auto}.ws-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:60vh;display:flex}.ws-empty-icon{margin-bottom:8px;font-size:48px}.ws-empty h3{color:var(--text-primary);font-size:18px;font-weight:600}.ws-empty p{color:var(--text-muted);max-width:300px;font-size:13px}.ai-chat-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.ai-persona-header{border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}[data-theme=light] .ai-persona-header{border-bottom-color:#00000014}.ai-persona-label{color:var(--text-muted,#888);font-weight:500}.ai-persona-select{color:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:4px;padding:3px 8px;font-size:12px}[data-theme=light] .ai-persona-select{background:#00000008;border-color:#00000026}.ai-persona-select:disabled{opacity:.5;cursor:not-allowed}.ai-persona-desc{color:var(--text-muted,#888);text-overflow:ellipsis;white-space:nowrap;max-width:60%;margin-left:auto;font-size:11px;overflow:hidden}.ai-persona-picker{flex-wrap:wrap;gap:10px;width:100%;padding:2px 0;display:flex}.ai-persona-chip{cursor:pointer;color:inherit;background:0 0;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:56px;padding:4px 6px;transition:border-color .15s,transform .15s,opacity .15s;display:flex}.ai-persona-chip:hover:not(:disabled){border-color:#ffffff1f;transform:translateY(-1px)}[data-theme=light] .ai-persona-chip:hover:not(:disabled){border-color:#0000001f}.ai-persona-chip.active{border-color:var(--accent,#4a90e2);background:#4a90e214}.ai-persona-chip:disabled{opacity:.5;cursor:not-allowed}.ai-persona-chip-img{object-fit:cover;border-radius:50%;width:44px;height:44px;display:block}.ai-persona-chip-fallback{background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex}.ai-persona-chip-name{color:var(--text-muted,#aaa);text-overflow:ellipsis;white-space:nowrap;max-width:64px;font-size:11px;line-height:1.2;overflow:hidden}.ai-persona-chip.active .ai-persona-chip-name{color:inherit;font-weight:500}.ai-persona-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.ai-persona-avatar-hero{object-fit:cover;border-radius:50%;width:96px;height:96px;margin-bottom:10px;box-shadow:0 2px 12px #0003}.ai-chat-messages{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex;overflow-y:auto}.ai-chat-empty{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.ai-chat-empty-icon{margin-bottom:4px;font-size:36px}.ai-chat-empty p{color:var(--text-secondary);font-size:14px;font-weight:500}.ai-chat-empty span{font-size:11px}.ai-chat-msg{align-items:flex-start;gap:8px;display:flex}.ai-chat-msg-assistant{flex-direction:row}.ai-chat-msg-user{flex-direction:row-reverse}.ai-chat-msg-avatar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.ai-chat-msg-content{border-radius:12px;max-width:80%;padding:8px 12px;font-size:13px;line-height:1.5}.ai-chat-msg-user .ai-chat-msg-content{background:var(--accent-blue);color:#fff;border-bottom-right-radius:4px}.ai-chat-msg-assistant .ai-chat-msg-content{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.ai-chat-msg-text{white-space:pre-wrap;word-break:break-word;font-family:var(--font-sans);background:0 0;border:none;margin:0;padding:0;font-size:13px;line-height:1.5}.ai-chat-typing{gap:4px;padding:4px 0;display:flex}.ai-chat-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite ai-typing}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes ai-typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.ai-chat-streaming{position:relative}.ai-chat-cursor{color:var(--accent-cyan);font-weight:700;animation:.8s step-end infinite ai-blink;display:inline}@keyframes ai-blink{0%,to{opacity:1}50%{opacity:0}}.ai-chat-error{color:var(--accent-red);text-align:center;background:#dc26261a;border:1px solid #dc26264d;border-radius:6px;padding:6px 10px;font-size:12px}.ai-chat-input-area{border-top:1px solid var(--border-color);background:var(--bg-panel);padding:8px}.ai-chat-input-row{align-items:flex-end;gap:6px;display:flex}.ai-chat-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);resize:none;border-radius:8px;outline:none;flex:1;min-height:36px;max-height:80px;padding:8px 12px;line-height:1.4;transition:border-color .15s}.ai-chat-input:focus{border-color:var(--accent-blue)}.ai-chat-input::placeholder{color:var(--text-muted)}.ai-chat-send{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .15s;display:flex}.ai-chat-send:hover{opacity:.85}.ai-chat-send:disabled{opacity:.4;cursor:not-allowed}.ai-chat-footer{justify-content:space-between;align-items:center;margin-top:4px;padding:0 2px;display:flex}.ai-chat-powered{color:var(--text-muted);align-items:center;gap:4px;font-size:10px;display:flex}.ai-chat-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.ai-chat-status-dot.online{background:var(--accent-green);box-shadow:0 0 4px var(--accent-green)}.ai-chat-status-dot.offline{background:var(--accent-red);box-shadow:0 0 4px var(--accent-red);animation:1.5s infinite status-blink}.ai-chat-status-dot.checking{background:var(--accent-yellow);animation:1s infinite status-blink}@keyframes status-blink{0%,to{opacity:1}50%{opacity:.3}}.ai-chat-tts-btn{width:24px;height:24px;color:var(--accent-blue);cursor:pointer;background:#3b82f61a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;transition:all .15s;display:inline-flex}.ai-chat-tts-btn:hover{background:#3b82f640}.ai-chat-tts-btn.playing{color:var(--accent-red);background:#dc262626;animation:1s infinite tts-pulse}@keyframes tts-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.ai-chat-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:10px;transition:color .15s}.ai-chat-clear:hover{color:var(--accent-red)}.ai-chat-toolbar{flex-shrink:0;gap:2px;display:flex}.ai-chat-tool-btn{border:1px solid var(--border-color);background:var(--bg-secondary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.ai-chat-tool-btn:hover{background:var(--bg-panel-hover);color:var(--text-primary);border-color:var(--border-hover)}.ai-chat-tool-btn:disabled{opacity:.4;cursor:not-allowed}.ai-chat-tool-btn.recording{border-color:var(--accent-red);color:var(--accent-red);background:#dc262626;animation:1.2s infinite recording-pulse}.ai-chat-tool-btn.active{color:#667eea;background:#667eea33;border-color:#667eea}@keyframes recording-pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}.ai-chat-attachments{flex-wrap:nowrap;gap:6px;padding:6px 0;display:flex;overflow-x:auto}.ai-chat-attach-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;flex-shrink:0;align-items:center;gap:4px;max-width:140px;padding:4px 6px;display:flex;position:relative}.ai-chat-attach-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:36px;height:36px}.ai-chat-attach-file{flex-shrink:0;font-size:20px}.ai-chat-attach-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:70px;font-size:10px;overflow:hidden}.ai-chat-attach-remove{background:var(--accent-red);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.ai-chat-camera-overlay{z-index:20;border-radius:var(--panel-radius);background:#000000e6;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ai-chat-camera-video{object-fit:contain;border-radius:6px;width:100%;max-height:calc(100% - 60px)}.ai-chat-camera-controls{align-items:center;gap:16px;padding:12px;display:flex}.ai-chat-camera-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:flex}.ai-chat-camera-btn:hover{transform:scale(1.1)}.ai-chat-camera-btn.capture{width:56px;height:56px;color:var(--accent-red);background:#fff;box-shadow:0 0 0 4px #ffffff4d}.ai-chat-camera-btn.close{color:#fff;background:#ffffff26;width:40px;height:40px}.ai-chat-msg-images{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.ai-chat-msg-img{object-fit:cover;cursor:pointer;border-radius:6px;max-width:180px;max-height:120px}.ai-chat-msg-file{color:var(--text-muted);background:var(--bg-input);border-radius:4px;padding:2px 6px;font-size:11px}.todo-panel{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.todo-input-bar{border-bottom:1px solid var(--border-color);gap:6px;padding:8px;display:flex}.todo-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;font-family:var(--font-sans);border-radius:6px;outline:none;flex:1;padding:6px 10px}.todo-input:focus{border-color:var(--accent-blue)}.todo-input::placeholder{color:var(--text-muted)}.todo-add-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.todo-add-btn:disabled{opacity:.4;cursor:not-allowed}.todo-list{flex:1;padding:4px 8px;overflow-y:auto}.todo-empty{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.todo-empty span{font-size:32px}.todo-empty p{color:var(--text-secondary);font-size:14px}.todo-empty small{font-size:11px}.todo-item{border-bottom:1px solid #1e293b80;border-left:3px solid #0000;align-items:flex-start;gap:6px;padding:8px 4px;transition:background .15s;display:flex}.todo-item:hover{background:#ffffff05}.todo-item.todo-running{background:#3b82f60d}.todo-item.todo-error{background:#dc26260d}.todo-check{border:2px solid var(--border-hover);width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:13px;transition:all .15s;display:flex}.todo-check-done{background:var(--accent-green);border-color:var(--accent-green);color:#fff}.todo-check-running{border-color:var(--accent-blue);color:var(--accent-blue);animation:1.2s infinite todo-pulse}.todo-check-error{border-color:var(--accent-red);color:var(--accent-red)}@keyframes todo-pulse{0%,to{opacity:1}50%{opacity:.4}}.todo-item-body{flex:1;min-width:0}.todo-text{color:var(--text-primary);word-break:break-word;font-size:13px;line-height:1.4}.todo-text.done{color:var(--text-muted);text-decoration:line-through}.todo-result-summary{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.todo-result-badge{color:var(--accent-green);background:#22c55e26;border-radius:8px;padding:1px 6px;font-size:10px;font-weight:500}.todo-file-link{color:var(--accent-blue);background:#3b82f61a;border-radius:4px;padding:1px 6px;font-size:11px;text-decoration:none;transition:background .15s}.todo-file-link:hover{background:#3b82f633}.todo-result-error{color:var(--accent-red);margin-top:2px;font-size:11px}.todo-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.todo-action-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.todo-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.todo-action-btn.execute{color:var(--accent-blue)}.todo-action-btn.execute:hover{background:#3b82f626}.todo-action-btn.preview{color:var(--accent-cyan)}.todo-action-btn.preview:hover{background:#06b6d426}.todo-action-btn.delete:hover{color:var(--accent-red);background:#dc26261a}.todo-spinner{border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite todo-spin}@keyframes todo-spin{to{transform:rotate(360deg)}}.todo-preview-overlay{z-index:20;background:var(--bg-panel);border-radius:var(--panel-radius);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.todo-preview-header{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.todo-preview-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.todo-preview-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:18px;display:flex}.todo-preview-close:hover{background:var(--bg-panel-hover);color:var(--text-primary)}.todo-preview-content{flex:1;padding:12px;overflow-y:auto}.todo-preview-md{color:var(--text-primary);font-size:13px;line-height:1.6}.todo-preview-md h1{margin:12px 0 6px;font-size:20px;font-weight:700}.todo-preview-md h2{color:var(--accent-blue);margin:10px 0 4px;font-size:17px;font-weight:600}.todo-preview-md h3{margin:8px 0 4px;font-size:14px;font-weight:600}.todo-preview-md strong{color:var(--accent-gold)}.todo-preview-md code{background:var(--bg-input);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:12px}.todo-preview-md ul{margin:4px 0;padding-left:18px}.todo-preview-md li{margin:2px 0}.todo-preview-files{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:8px;padding:8px 12px;display:flex}.todo-file-download{color:var(--accent-blue);background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;padding:4px 10px;font-size:12px;text-decoration:none;transition:all .15s}.todo-file-download:hover{background:#3b82f633}.todo-result-badge.running{color:var(--accent-blue);background:#3b82f626;animation:1.2s infinite todo-pulse}.todo-stream-peek{color:var(--accent-cyan);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;padding:0;font-size:11px;display:flex}.todo-stream-peek:hover{color:var(--accent-blue)}.todo-stream-overlay{border:1px solid var(--accent-blue);box-shadow:0 0 20px #3b82f626}.todo-stream-footer{border-top:1px solid var(--border-color);color:var(--text-muted);align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:flex}.todo-stream-chars{color:var(--accent-cyan);font-family:var(--font-mono)}.todo-spinner.small{vertical-align:middle;border-width:1.5px;width:12px;height:12px;margin-right:6px;display:inline-block}.todo-priority-picker{cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1;transition:transform .15s}.todo-priority-picker:hover{transform:scale(1.3)}.todo-priority-dot{cursor:pointer;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px;margin-right:4px;transition:transform .15s;display:inline-block}.todo-priority-dot:hover{transform:scale(1.5)}.todo-toolbar{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;font-size:11px;display:flex}.todo-toolbar-left{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.todo-tb-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:1px 8px;font-size:11px;transition:all .15s}.todo-tb-btn.active,.todo-tb-btn:hover{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.todo-tb-sep{color:var(--text-muted);margin:0 2px}.todo-tb-tag{color:var(--accent-blue);cursor:pointer;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:10px;padding:1px 6px;font-size:10px;transition:all .15s}.todo-tb-tag.active{background:var(--accent-blue);color:#fff}.todo-count{color:var(--text-muted);white-space:nowrap}.todo-tags-inline{flex-wrap:wrap;gap:3px;margin-left:4px;display:inline-flex}.todo-tag{color:var(--accent-purple);background:#a855f726;border:1px solid #a855f74d;border-radius:8px;align-items:center;gap:2px;padding:0 5px;font-size:10px;line-height:16px;display:inline-flex}.todo-tag button{color:var(--accent-purple);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 1px;font-size:10px}.todo-tag button:hover{opacity:1}.todo-tag-input-wrap{align-items:center;gap:2px;display:flex}.todo-tag-input{background:var(--bg-input);border:1px solid var(--border-color);width:60px;color:var(--text-primary);border-radius:4px;padding:1px 4px;font-size:11px}.todo-tag-confirm{color:var(--accent-green);cursor:pointer;background:0 0;border:none;font-size:14px}.todo-schedule-badge{color:var(--accent-orange);margin-left:4px;font-size:10px;display:inline-block}.todo-schedule-picker{background:var(--bg-input);border:1px solid var(--border-color);width:140px;color:var(--text-primary);border-radius:4px;padding:1px 2px;font-size:11px}.todo-schedule-picker::-webkit-calendar-picker-indicator{filter:invert(.7)}.todo-batch-bar{color:var(--accent-blue);background:#3b82f61a;border-bottom:1px solid #3b82f64d;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.todo-batch-bar.running{color:var(--accent-orange);background:#f59e0b1a;border-color:#f59e0b4d}.todo-batch-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:2px 10px;font-size:11px;transition:background .15s}.todo-batch-btn:hover{background:#2563eb}.todo-batch-btn.cancel{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0}.todo-checkbox{width:14px;height:14px;accent-color:var(--accent-blue);cursor:pointer;flex-shrink:0;margin-top:3px}.todo-action-btn.tag{color:var(--accent-purple)}.todo-action-btn.tag:hover{color:#9333ea}.todo-action-btn.schedule{color:var(--accent-orange)}.todo-action-btn.schedule:hover{color:#ea580c}.ws-sync-status{border-radius:10px;margin-left:10px;padding:1px 8px;font-size:11px;transition:all .3s}.ws-sync-status.saving{color:var(--accent-orange);background:#f973161a}.ws-sync-status.saved{color:var(--accent-green);background:#22c55e1a}.ws-sync-status.error{color:var(--accent-red);background:#dc26261a}.admin-permissions{border-top:1px solid var(--border-color);background:#0f172a80;padding:16px}.admin-perm-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-perm-header h3{color:var(--text-primary);margin:0;font-size:14px}.admin-perm-actions{gap:6px;display:flex}.admin-perm-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;display:grid}.admin-perm-item{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;transition:all .15s;display:flex}.admin-perm-item:hover{border-color:var(--accent-blue)}.admin-perm-item.checked{color:var(--text-primary);background:#3b82f61a;border-color:#3b82f666}.admin-perm-item input[type=checkbox]{accent-color:var(--accent-blue)}.admin-btn.accent{color:var(--accent-purple);background:#a855f726;border:1px solid #a855f74d}.admin-btn.accent:hover{background:#a855f740}.online-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.online-dot.on{background:var(--accent-green);box-shadow:0 0 6px #22c55e80}.online-dot.off{background:var(--text-muted);opacity:.5}.login-history-row td{padding:0!important}.login-history{border-top:1px solid var(--border-color);background:#0f172a66;padding:8px 12px}.login-history-title{color:var(--text-secondary);margin-bottom:6px;font-size:11px;font-weight:600}.login-history-list{flex-direction:column;gap:2px;max-height:160px;display:flex;overflow-y:auto}.login-history-item{border-bottom:1px solid #1e293b4d;justify-content:space-between;gap:12px;padding:2px 0;font-size:11px;display:flex}.login-history-time{color:var(--text-primary);font-family:var(--font-mono)}.login-history-ip{color:var(--text-muted);font-family:var(--font-mono)}.announcement-bar{flex-direction:column;gap:0;display:flex}.announcement-item{border-bottom:1px solid #3b82f626;align-items:center;gap:8px;padding:6px 16px;font-size:13px;display:flex}.ann-info{color:var(--accent-blue);background:#3b82f614}.ann-warning{color:var(--accent-orange);background:#f9731614}.ann-success{color:var(--accent-green);background:#22c55e14}.ann-icon{flex-shrink:0;font-size:14px}.ann-text{color:var(--text-primary);flex:1}.ann-dismiss{color:var(--text-muted);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 4px;font-size:16px}.ann-dismiss:hover{opacity:1}.header-subtitle-note{color:var(--text-muted);margin-left:6px;font-size:10px;font-weight:400}.admin-tabs{gap:4px;display:flex}.admin-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px;font-size:14px;font-weight:600;transition:all .15s}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}.admin-ann-section{padding:12px}.ann-create{margin-bottom:12px}.ann-create-row{gap:6px;display:flex}.ann-create-row select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:6px 8px;font-size:13px}.ann-create-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;flex:1;padding:6px 10px;font-size:13px}.ann-create-input:focus{border-color:var(--accent-blue);outline:none}.ann-list{flex-direction:column;gap:4px;max-height:400px;display:flex;overflow-y:auto}.ann-row{border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:opacity .15s;display:flex}.ann-row.inactive{opacity:.45}.ann-row-icon{flex-shrink:0;font-size:16px}.ann-row-body{flex:1;min-width:0}.ann-row-content{color:var(--text-primary);font-size:13px;display:block}.ann-row-meta{color:var(--text-muted);margin-top:2px;font-size:10px;display:block}.ann-row-actions{flex-shrink:0;gap:4px;display:flex}.export-btn-wrap{display:inline-flex;position:relative}.export-trigger{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:color .15s;display:flex}.export-trigger:hover{color:var(--accent-blue)}.export-menu{z-index:50;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;min-width:130px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000004d}.export-menu button{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background .15s;display:flex}.export-menu button:hover{background:var(--bg-panel-hover)}.export-menu button+button{border-top:1px solid var(--border-color)}.export-spinner{border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite spin}.theme-toggle{font-size:16px;line-height:1}.sw-panel{flex-direction:column;gap:0;height:100%;display:flex}.sw-input-bar{border-bottom:1px solid var(--border-color);gap:4px;padding:6px 8px;display:flex}.sw-input{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);border-radius:4px;flex:1;padding:4px 8px}.sw-input:focus{border-color:var(--accent-blue);outline:none}.sw-add-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:14px;font-weight:700}.sw-add-btn:disabled{opacity:.4}.sw-tabs{border-bottom:1px solid var(--border-color);scrollbar-width:none;gap:2px;padding:4px 8px;display:flex;overflow-x:auto}.sw-tabs::-webkit-scrollbar{display:none}.sw-tab{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:var(--font-mono);white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;transition:all .15s;display:flex}.sw-tab:hover{border-color:var(--accent-blue);color:var(--text-primary)}.sw-tab.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.sw-tab-x{opacity:.5;cursor:pointer;font-size:12px}.sw-tab-x:hover{opacity:1}.sw-presets{flex-wrap:wrap;gap:4px;display:flex}.sw-preset{color:var(--accent-blue);cursor:pointer;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:4px;padding:2px 8px;font-size:11px;transition:background .15s}.sw-preset:hover{background:#3b82f633}.sw-error{color:var(--accent-red);text-align:center;padding:4px 8px;font-size:11px}.sw-detail{border-bottom:1px solid var(--border-color);padding:6px 8px}.sw-detail-main{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.sw-name{color:var(--text-primary);font-size:14px;font-weight:600}.sw-code{color:var(--text-muted);font-size:11px;font-family:var(--font-mono)}.sw-price{font-size:20px;font-weight:700;font-family:var(--font-mono)}.sw-change{font-size:12px;font-family:var(--font-mono)}.sw-detail-grid{grid-template-columns:repeat(4,1fr);gap:2px 8px;margin-top:4px;font-size:11px;display:grid}.sw-detail-grid div{justify-content:space-between;gap:4px;display:flex}.sw-detail-grid span:first-child{color:var(--text-muted)}.sw-detail-grid span:last-child{color:var(--text-primary);font-family:var(--font-mono)}.sw-klt-bar{gap:4px;padding:4px 8px;display:flex}.sw-klt-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:1px 10px;font-size:11px;transition:all .15s}.sw-klt-btn:hover{border-color:var(--accent-blue);color:var(--text-primary)}.sw-klt-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.sw-klt-btn.refresh{margin-left:auto;font-size:12px}.sw-chart-wrap{flex:1;min-height:120px;padding:4px;position:relative}.sw-canvas{width:100%;height:100%;display:block}.sw-loading{color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.music-player{flex-direction:column;gap:8px;height:100%;padding:8px;display:flex;overflow:hidden}.music-now-playing{background:var(--bg-tertiary,#ffffff08);border-radius:10px;align-items:center;gap:12px;min-height:56px;padding:8px;display:flex}.music-cover{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.music-disc{font-size:20px;display:inline-block}.music-disc.spinning{animation:3s linear infinite discSpin}@keyframes discSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-info{flex:1;min-width:0}.music-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.music-artist{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.music-progress-wrap{align-items:center;gap:6px;padding:0 4px;display:flex}.music-time{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center;min-width:32px;font-size:11px}.music-progress{background:var(--bg-tertiary,#ffffff1a);cursor:pointer;border-radius:2px;flex:1;height:4px;position:relative}.music-progress:hover{height:6px}.music-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px;height:100%;transition:width .1s linear}.music-controls{justify-content:center;align-items:center;gap:8px;display:flex}.music-ctrl-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;transition:all .15s}.music-ctrl-btn:hover{background:var(--bg-tertiary,#ffffff14);color:var(--text-primary)}.music-ctrl-btn.play-btn{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;display:flex}.music-ctrl-btn.play-btn:hover{transform:scale(1.08);box-shadow:0 2px 12px #667eea66}.music-volume{align-items:center;gap:4px;margin-left:auto;font-size:14px;display:flex}.music-volume input[type=range]{appearance:none;background:var(--bg-tertiary,#ffffff26);border-radius:2px;outline:none;width:60px;height:4px}.music-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#667eea;border-radius:50%;width:12px;height:12px}.music-error{color:#ef4444;text-align:center;padding:2px 0;font-size:11px}.music-tracklist{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.music-tracklist-header{color:var(--text-muted);border-bottom:1px solid var(--border-color,#ffffff14);justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.music-upload-btn{border:1px solid var(--border-color,#ffffff26);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px}.music-upload-btn:hover{background:var(--bg-tertiary,#ffffff0d);color:var(--text-primary)}.music-upload-form{border-bottom:1px solid var(--border-color,#ffffff14);flex-direction:column;gap:6px;padding:8px 0;display:flex}.music-file-input{color:var(--text-secondary);font-size:11px}.music-meta-input{background:var(--bg-tertiary,#ffffff0d);border:1px solid var(--border-color,#ffffff1a);color:var(--text-primary);border-radius:4px;outline:none;padding:4px 8px;font-size:12px}.music-meta-input:focus{border-color:#667eea}.music-upload-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;padding:6px;font-size:12px}.music-upload-submit:hover{opacity:.9}.music-upload-submit:disabled{opacity:.5;cursor:not-allowed}.music-tracks{scrollbar-width:thin;flex:1;overflow-y:auto}.music-empty{text-align:center;color:var(--text-muted);padding:20px 0;font-size:12px}.music-track-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 4px;transition:background .15s;display:flex}.music-track-row:hover{background:var(--bg-tertiary,#ffffff0d)}.music-track-row.active{background:#667eea1f}.music-track-row.active .music-track-title{color:#667eea}.music-track-idx{text-align:center;width:20px;color:var(--text-muted);flex-shrink:0;font-size:11px}.music-track-row.active .music-track-idx{color:#667eea;font-weight:700}.music-track-info{flex-direction:column;flex:1;min-width:0;display:flex}.music-track-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.music-track-artist{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.music-track-size{color:var(--text-muted);flex-shrink:0;font-size:10px}.music-track-del{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px;transition:all .15s}.music-track-row:hover .music-track-del{opacity:1}.music-track-del:hover{color:#ef4444;background:#ef44441a}.video-player{flex-direction:column;gap:6px;height:100%;padding:6px;display:flex;overflow:hidden}.video-screen{background:#000;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-height:120px;display:flex;position:relative;overflow:hidden}.video-screen.has-video{aspect-ratio:16/9;max-height:50%}.video-element{object-fit:contain;border-radius:8px;width:100%;height:100%}.video-placeholder{color:#666;flex-direction:column;align-items:center;gap:8px;font-size:13px;display:flex}.video-placeholder-icon{font-size:36px}.video-fullscreen-btn{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:18px;transition:opacity .2s;display:flex;position:absolute;top:6px;right:6px}.video-screen:hover .video-fullscreen-btn{opacity:1}.video-fullscreen-btn:hover{background:#000c}.video-now-info{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.video-now-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.video-now-size{color:var(--text-muted);flex-shrink:0;font-size:11px}.video-error{color:#f59e0b;text-align:center;padding:2px 0;font-size:11px}.video-list-section{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.video-list-header{color:var(--text-muted);border-bottom:1px solid var(--border-color,#ffffff14);justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.video-upload-btn{border:1px solid var(--border-color,#ffffff26);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px}.video-upload-btn:hover{background:var(--bg-tertiary,#ffffff0d);color:var(--text-primary)}.video-upload-form{border-bottom:1px solid var(--border-color,#ffffff14);flex-direction:column;gap:6px;padding:8px 0;display:flex}.video-file-input{color:var(--text-secondary);font-size:11px}.video-meta-input{background:var(--bg-tertiary,#ffffff0d);border:1px solid var(--border-color,#ffffff1a);color:var(--text-primary);border-radius:4px;outline:none;padding:4px 8px;font-size:12px}.video-meta-input:focus{border-color:#667eea}.video-upload-progress{background:var(--bg-tertiary,#ffffff0d);border-radius:4px;height:18px;position:relative;overflow:hidden}.video-upload-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s}.video-upload-progress span{color:#fff;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.video-upload-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;padding:6px;font-size:12px}.video-upload-submit:hover{opacity:.9}.video-upload-submit:disabled{opacity:.5;cursor:not-allowed}.video-format-hint{color:var(--text-muted);font-size:10px;line-height:1.4}.video-tracks{scrollbar-width:thin;flex:1;overflow-y:auto}.video-empty{text-align:center;color:var(--text-muted);padding:20px 0;font-size:12px}.video-track-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 4px;transition:background .15s;display:flex}.video-track-row:hover{background:var(--bg-tertiary,#ffffff0d)}.video-track-row.active{background:#667eea1f}.video-track-row.disabled{opacity:.6}.video-track-icon{text-align:center;flex-shrink:0;width:20px;font-size:13px}.video-track-row.active .video-track-icon{color:#667eea}.video-track-info{flex-direction:column;flex:1;min-width:0;display:flex}.video-track-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.video-track-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.video-track-del{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px;transition:all .15s}.video-track-row:hover .video-track-del{opacity:1}.video-track-del:hover{color:#ef4444;background:#ef44441a}.bb-login-page{background:linear-gradient(135deg,#0a0e1a 0%,#1a1f36 50%,#0d1117 100%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.bb-loading{color:#667eea;font-size:16px}.bb-login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;width:320px;max-width:90vw;padding:32px 28px}.bb-login-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:6px;display:flex}.bb-logo-badge{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:flex}.bb-logo-text{color:#e2e8f0;letter-spacing:1px;font-size:20px;font-weight:700}.bb-login-subtitle{color:#64748b;margin-bottom:24px;font-size:12px}.bb-login-form{flex-direction:column;gap:12px;display:flex}.bb-login-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:8px;font-size:12px}.bb-login-input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .2s}.bb-login-input:focus{border-color:#667eea}.bb-login-input::placeholder{color:#4a5568}.bb-login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:opacity .2s}.bb-login-btn:hover{opacity:.9}.bb-login-btn:disabled{opacity:.5;cursor:not-allowed}.bb-login-footer{color:#4a5568;letter-spacing:1px;margin-top:20px;font-size:11px}.bb-app{background:var(--bg-primary,#0d1117);flex-direction:column;width:100vw;max-width:720px;height:100vh;max-height:720px;margin:0 auto;display:flex;overflow:hidden}.bb-header{background:var(--bg-secondary,#161b22);border-bottom:1px solid var(--border-color,#ffffff14);flex-shrink:0;align-items:center;gap:10px;height:44px;padding:0 12px;display:flex}.bb-menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:3px;padding:6px;display:flex}.bb-menu-btn span{background:var(--text-secondary,#8b949e);border-radius:1px;width:18px;height:2px;display:block}.bb-header-title{color:var(--text-primary,#e2e8f0);flex:1;font-size:15px;font-weight:600}.bb-header-user{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.bb-content{flex:1;position:relative;overflow:hidden}.bb-content .panel-wrapper{border:none;border-radius:0;height:100%}.bb-content .panel-header{min-height:32px;padding:6px 10px}.bb-content .panel-content{height:calc(100% - 32px)}.bb-tabbar{background:var(--bg-secondary,#161b22);border-top:1px solid var(--border-color,#ffffff14);flex-shrink:0;height:52px;display:flex}.bb-tab{color:var(--text-muted,#4a5568);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 0;transition:color .15s;display:flex}.bb-tab:hover{color:var(--text-secondary,#8b949e)}.bb-tab.active{color:#667eea}.bb-tab-icon{font-size:18px;line-height:1}.bb-tab-label{font-size:10px;font-weight:500}.bb-sidebar-overlay{z-index:900;background:#00000080;position:fixed;inset:0}.bb-sidebar{background:var(--bg-secondary,#161b22);border-right:1px solid var(--border-color,#ffffff14);z-index:950;flex-direction:column;width:240px;height:100vh;max-height:720px;transition:left .25s;display:flex;position:fixed;top:0;left:-260px}.bb-sidebar.open{left:0}.bb-sidebar-header{border-bottom:1px solid var(--border-color,#ffffff14);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.bb-sidebar-user{color:var(--text-primary,#e2e8f0);font-size:15px;font-weight:600}.bb-sidebar-close{color:var(--text-muted,#4a5568);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px}.bb-sidebar-nav{flex:1;padding:8px 0}.bb-sidebar-item{width:100%;color:var(--text-secondary,#8b949e);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 20px;font-size:15px;transition:all .15s;display:flex}.bb-sidebar-item:hover{color:var(--text-primary,#e2e8f0);background:#ffffff0a}.bb-sidebar-item.active{color:#667eea;background:#667eea1a;border-left:3px solid #667eea}.bb-sidebar-icon{text-align:center;width:28px;font-size:20px}.bb-sidebar-label{font-weight:500}.bb-sidebar-footer{border-top:1px solid var(--border-color,#ffffff14);padding:12px 16px}.bb-sidebar-logout{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;width:100%;padding:8px;font-size:13px}.bb-sidebar-logout:hover{background:#ef444433}.bb-content .ai-chat-container,.bb-content .music-player,.bb-content .video-player,.bb-content .todo-panel{height:100%}.crm-loading{text-align:center;color:#9ca3af;padding:20px}.crm-empty{text-align:center;color:#6b7280;padding:24px;font-size:13px}.crm-empty-small{color:#9ca3af;padding:8px;font-size:12px}.crm-toolbar{justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.crm-view-tabs{background:#ffffff0f;border-radius:6px;gap:2px;padding:2px;display:flex}.crm-tab{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:12px}.crm-tab.active{color:#60a5fa;background:#3b82f633}.crm-add-btn{color:#60a5fa;cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:6px;padding:4px 10px;font-size:12px}.crm-add-btn:hover{background:#3b82f640}.crm-stats-bar{color:#9ca3af;border-bottom:1px solid #ffffff0f;gap:12px;margin-bottom:6px;padding:6px 0;font-size:12px;display:flex}.crm-stats-bar strong{color:#e5e7eb}.crm-board{flex:1;gap:6px;min-height:0;padding-bottom:4px;display:flex;overflow-x:auto}.crm-column{background:#ffffff08;border-top:3px solid #666;border-radius:6px;flex-direction:column;flex:1;min-width:150px;display:flex}.crm-column-header{justify-content:space-between;align-items:center;padding:6px 8px;font-size:11px;display:flex}.crm-stage-name{color:#e5e7eb;font-weight:600}.crm-stage-count{color:#9ca3af;font-size:10px}.crm-column-body{flex-direction:column;flex:1;gap:4px;padding:4px;display:flex;overflow-y:auto}.crm-card{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;padding:8px;transition:border-color .15s}.crm-card:hover{border-color:#3b82f666}.crm-card[draggable]:active{opacity:.6}.crm-card-name{color:#e5e7eb;margin-bottom:2px;font-size:12px;font-weight:600}.crm-card-customer{color:#9ca3af;margin-bottom:4px;font-size:11px}.crm-card-meta{justify-content:space-between;align-items:center;font-size:11px;display:flex}.crm-card-amount{color:#fbbf24;font-weight:600}.crm-card-forecast{border-radius:3px;padding:1px 5px;font-size:10px}.crm-fc-commit{color:#34d399;background:#10b98133}.crm-fc-bestCase{color:#60a5fa;background:#3b82f633}.crm-fc-pipeline{color:#9ca3af;background:#6b728033}.crm-card-date{color:#6b7280;margin-top:3px;font-size:10px}.crm-list{flex:1;overflow:auto}.crm-table{border-collapse:collapse;width:100%;font-size:12px}.crm-table th{text-align:left;color:#9ca3af;white-space:nowrap;border-bottom:1px solid #ffffff14;padding:6px 8px;font-size:11px;font-weight:500}.crm-table td{color:#d1d5db;border-bottom:1px solid #ffffff0a;padding:6px 8px}.crm-row{cursor:pointer}.crm-row:hover{background:#ffffff0a}.crm-cell-name{color:#e5e7eb;font-weight:600}.crm-stage-badge{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.crm-stats-view{flex:1;overflow-y:auto}.crm-stats-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.crm-stat-card{text-align:center;background:#ffffff0d;border-radius:6px;padding:10px}.crm-stat-label{color:#9ca3af;margin-bottom:4px;font-size:11px}.crm-stat-value{color:#e5e7eb;font-size:16px;font-weight:700}.crm-stat-highlight{color:#fbbf24}.crm-funnel{margin-bottom:12px}.crm-funnel h4,.crm-winrate-section h4{color:#9ca3af;margin:0 0 8px;font-size:12px}.crm-funnel-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.crm-funnel-label{color:#9ca3af;text-align:right;flex-shrink:0;width:60px;font-size:11px}.crm-funnel-bar-bg{background:#ffffff0a;border-radius:4px;flex:1;height:22px}.crm-funnel-bar{color:#fff;border-radius:4px;align-items:center;min-width:0;height:100%;padding:0 6px;font-size:10px;transition:width .3s;display:flex}.crm-winrate-bar{border-radius:4px;height:24px;margin-bottom:4px;display:flex;overflow:hidden}.crm-winrate-won{color:#fff;background:#10b981;justify-content:center;align-items:center;min-width:30px;font-size:11px;display:flex}.crm-winrate-lost{color:#fff;background:#ef4444;justify-content:center;align-items:center;min-width:30px;font-size:11px;display:flex}.crm-winrate-text{color:#9ca3af;font-size:11px}.crm-pipeline{flex-direction:column;height:100%;display:flex}.crm-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.crm-modal{background:#1e1e2e;border:1px solid #ffffff1a;border-radius:10px;width:520px;max-height:85vh;overflow-y:auto}.crm-modal.crm-modal-sm{width:420px}.crm-modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.crm-modal-header h3{color:#e5e7eb;margin:0;font-size:14px}.crm-modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;font-size:16px}.crm-modal-body{padding:12px 16px}.crm-modal-footer{border-top:1px solid #ffffff0f;gap:8px;padding:12px 16px;display:flex}.crm-form-row{margin-bottom:10px}.crm-form-row label{color:#9ca3af;margin-bottom:3px;font-size:11px;display:block}.crm-form-row input,.crm-form-row select,.crm-form-row textarea{color:#e5e7eb;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;outline:none;width:100%;padding:7px 10px;font-size:13px}.crm-form-row input:focus,.crm-form-row select:focus,.crm-form-row textarea:focus{border-color:#3b82f680}.crm-form-row textarea{resize:vertical;font-family:inherit}.crm-form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.crm-btn-primary{color:#60a5fa;cursor:pointer;background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;padding:6px 16px;font-size:12px}.crm-btn-primary:hover{background:#3b82f64d}.crm-btn-primary:disabled{opacity:.5;cursor:not-allowed}.crm-btn-cancel{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:6px;padding:6px 16px;font-size:12px}.crm-btn-danger{color:#f87171;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:6px;padding:6px 16px;font-size:12px}.crm-project{flex-direction:column;height:100%;display:flex;overflow:hidden}.crm-project-list{flex:1;overflow-y:auto}.crm-project-cards{flex-direction:column;gap:6px;display:flex}.crm-project-card{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;padding:10px;transition:border-color .15s}.crm-project-card:hover{border-color:#3b82f64d}.crm-project-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.crm-project-card-name{color:#e5e7eb;font-size:13px;font-weight:600}.crm-project-card-customer{color:#9ca3af;margin-bottom:4px;font-size:12px}.crm-project-card-meta{color:#6b7280;gap:10px;font-size:11px;display:flex}.crm-project-card-competitors{color:#f59e0b;margin-top:4px;font-size:11px}.crm-project-detail{flex-direction:column;height:100%;display:flex;overflow-y:auto}.crm-detail-header{border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;margin-bottom:8px;padding:4px 0;display:flex}.crm-detail-header h4{color:#e5e7eb;margin:0;font-size:14px}.crm-back-btn{color:#60a5fa;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:12px}.crm-back-btn:hover{text-decoration:underline}.crm-detail-info{margin-bottom:12px}.crm-info-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.crm-info-grid>div{flex-direction:column;display:flex}.crm-info-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.crm-info-grid span:not(.crm-info-label){color:#e5e7eb;font-size:13px}.crm-detail-desc{margin-top:8px}.crm-detail-desc p{color:#d1d5db;margin:4px 0 0;font-size:12px}.crm-detail-competitors{margin-top:6px}.crm-tag-list{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.crm-tag{color:#fbbf24;background:#f59e0b26;border-radius:4px;padding:2px 6px;font-size:11px}.crm-detail-section{border-top:1px solid #ffffff0f;margin-top:10px;padding-top:10px}.crm-section-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.crm-section-header h5{color:#9ca3af;margin:0;font-size:12px}.crm-small-btn{color:#60a5fa;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:4px;padding:2px 8px;font-size:11px}.crm-contact-list{flex-direction:column;gap:4px;display:flex}.crm-contact-item{background:#ffffff08;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:flex}.crm-contact-name{color:#e5e7eb;font-weight:500}.crm-contact-title{color:#9ca3af}.crm-contact-role{color:#a78bfa;background:#8b5cf633;border-radius:3px;padding:1px 5px;font-size:10px}.crm-contact-phone{color:#6b7280;margin-left:auto}.crm-timeline{flex-direction:column;gap:8px;display:flex}.crm-timeline-item{gap:8px;display:flex}.crm-timeline-icon{flex-shrink:0;margin-top:2px;font-size:14px}.crm-timeline-content{flex:1;min-width:0}.crm-timeline-meta{color:#6b7280;gap:8px;margin-bottom:2px;font-size:11px;display:flex}.crm-timeline-author{color:#60a5fa}.crm-timeline-text{color:#d1d5db;font-size:12px;line-height:1.5}.crm-timeline-next{color:#f59e0b;margin-top:3px;font-size:11px}.panel-ent-badge{color:#a855f7!important;background:#a855f726!important}.ow-workspace{flex-direction:column;height:100%;display:flex;overflow:hidden}.ow-loading{color:#94a3b8;justify-content:center;align-items:center;height:100%;font-size:13px;display:flex}.ow-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.ow-header-left{align-items:center;gap:6px;display:flex}.ow-tabs{gap:2px;display:flex}.ow-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;transition:all .15s;display:flex}.ow-tab:hover{color:#e2e8f0;background:#ffffff0d}.ow-tab.active{color:#60a5fa;background:#60a5fa1a}.ow-tab-badge{color:#60a5fa;text-align:center;background:#60a5fa33;border-radius:8px;min-width:16px;padding:0 5px;font-size:10px}.ow-tasks-view{flex-direction:column;flex:1;display:flex;overflow:hidden}.ow-skill-picker{position:relative}.ow-skill-trigger{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;transition:all .15s;display:flex}.ow-skill-trigger:hover{color:#e2e8f0;border-color:#60a5fa4d}.ow-skill-trigger.active{color:#60a5fa;background:#60a5fa14;border-color:#60a5fa80}.ow-skill-arrow{margin-left:2px;font-size:8px}.ow-skill-dropdown{z-index:50;background:#1e293b;border:1px solid #ffffff1a;border-radius:8px;min-width:240px;max-height:300px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 8px 32px #0006}.ow-skill-option{cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;transition:background .1s;display:flex}.ow-skill-option:hover{background:#ffffff0f}.ow-skill-option.active{background:#60a5fa1f}.ow-skill-opt-icon{text-align:center;flex-shrink:0;width:24px;font-size:16px}.ow-skill-opt-info{flex-direction:column;min-width:0;display:flex}.ow-skill-opt-name{color:#e2e8f0;white-space:nowrap;font-size:12px}.ow-skill-opt-desc{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.ow-skill-category{margin-top:4px}.ow-skill-cat-label{color:#475569;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px 2px;font-size:10px}.ow-skill-badge{color:#60a5fa;background:#60a5fa1a;border-radius:8px;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;font-size:10px;display:inline-flex}.ow-sessions-view{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.ow-session-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:10px 12px;transition:all .15s}.ow-session-card:hover{background:#ffffff0d;border-color:#60a5fa33}.ow-session-card.done{border-left:3px solid #22c55e}.ow-session-card.error{border-left:3px solid #dc2626}.ow-session-card.running{border-left:3px solid #3b82f6}.ow-session-header{align-items:center;gap:6px;margin-bottom:4px;display:flex}.ow-session-status{font-size:14px}.ow-session-prompt{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.ow-session-meta{color:#64748b;gap:12px;font-size:10px;display:flex}.ow-session-summary{color:#94a3b8;margin-top:4px;font-size:11px;line-height:1.4}.ow-session-detail{flex:1;padding:10px;overflow-y:auto}.ow-session-detail-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ow-session-detail-prompt{color:#e2e8f0;background:#ffffff08;border-radius:6px;margin-bottom:12px;padding:8px 10px;font-size:13px;line-height:1.5}.ow-session-detail-section{margin-bottom:16px}.ow-session-detail-section h4{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:12px}.ow-timeline{padding-left:12px}.ow-timeline-item{align-items:flex-start;gap:10px;padding-bottom:12px;display:flex;position:relative}.ow-timeline-item:last-child{padding-bottom:0}.ow-timeline-dot{text-align:center;z-index:1;flex-shrink:0;width:24px;font-size:14px;position:relative}.ow-timeline-dot.pulse{animation:1.5s ease-in-out infinite ow-pulse}@keyframes ow-pulse{0%,to{opacity:1}50%{opacity:.4}}.ow-timeline-line{background:#ffffff14;width:1px;position:absolute;top:24px;bottom:0;left:23px}.ow-timeline-item:last-child .ow-timeline-line{display:none}.ow-timeline-content{flex:1;min-width:0}.ow-timeline-text{color:#e2e8f0;font-size:12px}.ow-timeline-time{color:#64748b;margin-left:8px;font-size:10px}.ow-stream-split{flex:1;min-height:0;display:flex;overflow:hidden}.ow-stream-timeline{border-right:1px solid #ffffff0f;flex-shrink:0;width:180px;padding:8px;overflow-y:auto}.ow-stream-content,.ow-templates{flex:1;padding:10px;overflow-y:auto}.ow-templates-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ow-templates-title{color:#e2e8f0;font-size:13px;font-weight:500}.ow-template-form{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px;display:flex}.ow-template-form-row{align-items:center;gap:8px;display:flex}.ow-template-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.ow-template-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;padding:10px;transition:all .15s}.ow-template-card:hover{background:#ffffff0d;border-color:#60a5fa4d;transform:translateY(-1px)}.ow-template-card-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.ow-template-icon{font-size:16px}.ow-template-name{color:#e2e8f0;flex:1;font-size:12px;font-weight:500}.ow-template-del{color:#475569;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.ow-template-del:hover{color:#dc2626}.ow-template-prompt{color:#94a3b8;font-size:11px;line-height:1.4}.ow-template-skill{color:#60a5fa;background:#60a5fa1a;border-radius:8px;margin-top:6px;padding:1px 6px;font-size:10px;display:inline-block}.ow-btn-sm{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;padding:3px 8px;font-size:11px;transition:all .15s}.ow-btn-sm:hover{color:#e2e8f0;border-color:#fff3}.ow-btn-primary{color:#60a5fa;cursor:pointer;background:#60a5fa26;border:1px solid #60a5fa4d;border-radius:4px;padding:4px 12px;font-size:11px;transition:all .15s}.ow-btn-primary:hover{background:#60a5fa40}.ow-btn-primary:disabled{opacity:.4;cursor:not-allowed}.ow-input{color:#e2e8f0;background:#0003;border:1px solid #ffffff1a;border-radius:4px;width:100%;padding:6px 8px;font-size:12px}.ow-input:focus{border-color:#60a5fa66;outline:none}.ow-textarea{color:#e2e8f0;resize:vertical;background:#0003;border:1px solid #ffffff1a;border-radius:4px;width:100%;padding:6px 8px;font-family:inherit;font-size:12px}.ow-textarea:focus{border-color:#60a5fa66;outline:none}.ow-select{color:#e2e8f0;background:#0003;border:1px solid #ffffff1a;border-radius:4px;flex:1;padding:4px 6px;font-size:12px}.ow-empty-sm{text-align:center;color:#64748b;padding:24px 0;font-size:12px}[data-theme=light] .ow-workspace{background:#fff}[data-theme=light] .ow-header{border-color:#e5e7eb}[data-theme=light] .ow-tab{color:#6b7280}[data-theme=light] .ow-tab:hover{color:#1f2937;background:#0000000a}[data-theme=light] .ow-tab.active{color:#2563eb;background:#2563eb14}[data-theme=light] .ow-tab-badge{color:#2563eb;background:#2563eb1a}[data-theme=light] .ow-skill-trigger{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}[data-theme=light] .ow-skill-trigger:hover{color:#1f2937;border-color:#93c5fd}[data-theme=light] .ow-skill-trigger.active{color:#2563eb;background:#2563eb0d;border-color:#2563eb}[data-theme=light] .ow-skill-dropdown{background:#fff;border-color:#e5e7eb;box-shadow:0 8px 32px #0000001f}[data-theme=light] .ow-skill-option:hover{background:#f3f4f6}[data-theme=light] .ow-skill-option.active{background:#2563eb14}[data-theme=light] .ow-skill-opt-name{color:#1f2937}[data-theme=light] .ow-skill-opt-desc,[data-theme=light] .ow-skill-cat-label{color:#9ca3af}[data-theme=light] .ow-session-card{background:#fafafa;border-color:#e5e7eb}[data-theme=light] .ow-session-card:hover{background:#f3f4f6;border-color:#93c5fd}[data-theme=light] .ow-session-prompt{color:#1f2937}[data-theme=light] .ow-session-summary{color:#6b7280}[data-theme=light] .ow-session-detail-prompt{color:#1f2937;background:#f9fafb}[data-theme=light] .ow-timeline-text{color:#1f2937}[data-theme=light] .ow-timeline-line{background:#e5e7eb}[data-theme=light] .ow-template-card{background:#fafafa;border-color:#e5e7eb}[data-theme=light] .ow-template-card:hover{background:#f3f4f6;border-color:#93c5fd}[data-theme=light] .ow-template-name{color:#1f2937}[data-theme=light] .ow-template-prompt{color:#6b7280}[data-theme=light] .ow-template-form{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .ow-input,[data-theme=light] .ow-textarea,[data-theme=light] .ow-select{color:#1f2937;background:#fff;border-color:#d1d5db}[data-theme=light] .ow-btn-sm{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}[data-theme=light] .ow-btn-sm:hover{color:#1f2937}[data-theme=light] .ow-stream-timeline{border-color:#e5e7eb}[data-theme=light] .ow-skill-badge{color:#2563eb;background:#2563eb14}.cw-loading{color:#64748b;justify-content:center;align-items:center;height:100%;font-size:13px;display:flex}.cw-root{color:#e2e8f0;flex-direction:column;height:100%;min-height:0;font-size:12px;display:flex}.cw-flex{flex:1}.cw-topbar{background:#00000026;border-bottom:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.cw-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;line-height:1;transition:all .15s;display:inline-flex}.cw-btn:hover{color:#f1f5f9;background:#ffffff14;border-color:#ffffff2e}.cw-btn:disabled{opacity:.4;cursor:not-allowed}.cw-btn.primary{color:#93c5fd;background:#60a5fa2e;border-color:#60a5fa59}.cw-btn.primary:hover{background:#60a5fa47}.cw-btn.danger{color:#fca5a5;background:#ef444426;border-color:#ef444459}.cw-btn.admin{color:#c4b5fd;background:#a855f72e;border-color:#a855f759}.cw-btn.small{padding:2px 6px;font-size:11px}.cw-btn.tall{height:auto;padding:0 16px}.cw-body{flex:1;grid-template-columns:260px 1fr 300px;min-height:0;display:grid}.cw-left,.cw-mid,.cw-right{flex-direction:column;min-height:0;display:flex;overflow:hidden}.cw-left{border-right:1px solid #ffffff0f;overflow-y:auto}.cw-right{border-left:1px solid #ffffff0f}.cw-section{border-bottom:1px solid #ffffff0a;padding:8px 10px 10px}.cw-section-grow{flex-direction:column;flex:1;min-height:0;display:flex}.cw-section-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;display:flex}.cw-count{color:#cbd5e1;background:#ffffff14;border-radius:8px;padding:1px 6px;font-size:10px}.cw-skill-grid{flex-wrap:wrap;gap:4px;display:flex}.cw-skill-chip{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:3px;padding:3px 6px;font-size:11px;transition:all .15s;display:inline-flex}.cw-skill-chip:hover{background:#ffffff12;border-color:#ffffff26}.cw-skill-chip.active{color:#93c5fd;background:#60a5fa2e;border-color:#60a5fa66}.cw-skill-name{font-size:11px}.cw-chip-x{color:#fff6;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px}.cw-chip-x:hover{color:#f1f5f9}.cw-tpl-list,.cw-cron-list{flex-direction:column;gap:3px;display:flex}.cw-tpl-item,.cw-cron-item{background:#ffffff08;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:11px;display:flex}.cw-tpl-item:hover,.cw-cron-item:hover{background:#ffffff0f}.cw-tpl-icon{flex-shrink:0}.cw-tpl-name{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cw-tpl-name:hover{color:#93c5fd}.cw-tpl-edit,.cw-tpl-del,.cw-cron-edit,.cw-cron-del,.cw-cron-toggle{color:#fff6;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:11px}.cw-tpl-edit:hover,.cw-cron-edit:hover{color:#93c5fd}.cw-tpl-del:hover,.cw-cron-del:hover{color:#fca5a5}.cw-cron-toggle{color:#34d399;font-size:14px}.cw-cron-item.disabled .cw-cron-toggle,.cw-cron-item.disabled .cw-cron-name{color:#64748b}.cw-cron-body{flex:1;min-width:0}.cw-cron-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cw-cron-meta{color:#64748b;font-size:10px}.cw-list-toolbar{align-items:center;gap:4px;margin-bottom:6px;display:flex}.cw-search{color:#e2e8f0;background:#00000040;border:1px solid #ffffff14;border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-size:11px}.cw-search:focus{border-color:#60a5fa66;outline:none}.cw-tb-btn{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;padding:2px 6px;font-size:11px}.cw-tb-btn.active{color:#93c5fd;background:#60a5fa2e;border-color:#60a5fa66}.cw-session-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.cw-group-head{color:#64748b;text-transform:uppercase;letter-spacing:.5px;padding:4px 4px 2px;font-size:10px}.cw-session-item{cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:4px;padding:5px 6px;transition:all .15s}.cw-session-item:hover{background:#ffffff0f;border-color:#ffffff1a}.cw-session-item.active{background:#60a5fa26;border-color:#60a5fa4d}.cw-session-item.pinned{border-left:2px solid #f59e0b}.cw-session-item.archived{opacity:.55}.cw-session-row1{align-items:center;gap:4px;display:flex}.cw-session-row2{color:#64748b;align-items:center;gap:4px;margin-top:2px;font-size:10px;display:flex}.cw-session-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.cw-rename-input{color:#e2e8f0;background:#0006;border:1px solid #60a5fa80;border-radius:3px;flex:1;padding:0 4px;font-size:12px}.cw-rename-input:focus{outline:none}.cw-pin{font-size:10px}.cw-status{padding:0 3px;font-size:11px}.cw-status-running{color:#fbbf24}.cw-status-done{color:#34d399}.cw-status-error{color:#fca5a5}.cw-tag-project{color:#c4b5fd;background:#a855f72e;border-radius:3px;padding:0 4px;font-size:10px}.cw-tag-cron{font-size:10px}.cw-session-time{color:#64748b}.cw-session-cost{color:#94a3b8}.cw-session-actions{opacity:0;gap:1px;margin-left:auto;transition:opacity .15s;display:flex}.cw-session-item:hover .cw-session-actions{opacity:1}.cw-session-actions button{color:#fff6;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:10px}.cw-session-actions button:hover{color:#f1f5f9}.cw-mid{background:#0000001a}.cw-mid-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.cw-mid-title{align-items:center;gap:8px;display:flex}.cw-mid-prompt{color:#34d399;font-family:ui-monospace,monospace;font-weight:700}.cw-model-badge{color:#c4b5fd;background:#a855f72e;border-radius:8px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:10px}.cw-mid-meta{color:#94a3b8;align-items:center;gap:8px;font-size:11px;display:flex}.cw-meta{align-items:center;gap:3px;display:inline-flex}.cw-meta.running{color:#fbbf24;animation:1.5s infinite cw-pulse}@keyframes cw-pulse{0%,to{opacity:1}50%{opacity:.55}}.cw-stream{flex:1;padding:12px 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-y:auto}.cw-stream-empty{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;display:flex}.cw-empty-title{color:#94a3b8;font-size:14px}.cw-empty-sub{font-size:12px}.cw-msg{margin-bottom:10px}.cw-msg-prompt{color:#34d399;white-space:pre-wrap;background:#34d3990f;border-left:2px solid #34d399;border-radius:0 4px 4px 0;padding:6px 8px;font-family:ui-monospace,SF Mono,monospace;font-size:12px}.cw-msg-system{color:#64748b;padding:2px 8px;font-size:11px;font-style:italic}.cw-msg-tool{background:#a855f70a;border-radius:4px;align-items:baseline;gap:6px;padding:3px 8px;font-size:11px;display:flex}.cw-tool-tag{color:#c4b5fd;background:#a855f733;border-radius:3px;flex-shrink:0;padding:0 5px;font-family:ui-monospace,monospace;font-size:10px}.cw-tool-arg{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;overflow:hidden}.cw-msg-tool-result{color:#64748b;align-items:baseline;gap:6px;padding:2px 8px 2px 18px;font-size:11px;display:flex}.cw-msg-tool-result.err{color:#fca5a5}.cw-msg-stderr{color:#fca5a5;background:#ef444412;border-radius:4px;padding:4px 8px;font-family:ui-monospace,monospace;font-size:11px}.cw-msg-assistant{color:#e2e8f0;padding:6px 0;font-size:13px;line-height:1.6}.cw-msg-assistant h1,.cw-msg-assistant h2,.cw-msg-assistant h3{color:#f1f5f9;margin:8px 0 4px}.cw-msg-assistant code{background:#ffffff14;border-radius:3px;padding:1px 4px;font-size:12px}.cw-msg-assistant pre.cw-code{background:#0006;border-radius:4px;margin:6px 0;padding:8px 10px;overflow-x:auto}.cw-msg-assistant pre.cw-code code{background:0 0;padding:0}.cw-msg-assistant ul{margin:6px 0 6px 20px}.cw-stream,.cw-msg,.cw-msg-assistant,.cw-msg-tool-result,.cw-msg-prompt,.cw-msg-system{-webkit-user-select:text;user-select:text;cursor:text}.cw-msg-assistant *,.cw-msg-tool-result *{-webkit-user-select:text;user-select:text}.cw-msg-assistant pre,.cw-msg-assistant code{-webkit-user-select:text;user-select:text;cursor:text}.cw-msg-assistant{position:relative}.cw-msg-copy{color:#94a3b8;cursor:pointer;opacity:0;background:#00000059;border:1px solid #ffffff1f;border-radius:3px;padding:2px 5px;font-size:11px;transition:opacity .15s,color .15s;position:absolute;top:2px;right:4px}.cw-msg-assistant:hover .cw-msg-copy{opacity:1}.cw-msg-copy:hover{color:#f1f5f9;background:#0000008c}.cw-copy-toast{color:#f1f5f9;z-index:10000;background:#0f172af2;border:1px solid #34d39966;border-radius:6px;padding:6px 14px;font-size:12px;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0006}.cw-msg-assistant a,.cw-msg-tool-result a{color:#60a5fa;word-break:break-all;text-decoration:underline}.cw-msg-assistant a:hover,.cw-msg-tool-result a:hover{color:#93c5fd;text-decoration-thickness:2px}[data-theme=light] .cw-msg-assistant a,[data-theme=light] .cw-msg-tool-result a{color:#2563eb}[data-theme=light] .cw-msg-assistant a:hover,[data-theme=light] .cw-msg-tool-result a:hover{color:#1d4ed8}.cw-cursor{color:#34d399;animation:1s step-end infinite cw-blink}@keyframes cw-blink{50%{opacity:0}}.cw-input-wrap{background:#0003;border-top:1px solid #ffffff14;flex-shrink:0;padding:8px 10px}.cw-input-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.cw-skill-select,.cw-perm-select{color:#cbd5e1;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;padding:3px 6px;font-size:11px}.cw-bypass{color:#fbbf24;cursor:pointer;background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;display:inline-flex}.cw-bypass.disabled{opacity:.5;cursor:not-allowed}.cw-resume-tag{color:#94a3b8;background:#ffffff0d;border-radius:3px;padding:2px 6px;font-size:10px}.cw-tb-pill{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;transition:all .15s;display:inline-flex}.cw-tb-pill:hover{color:#f1f5f9;background:#ffffff14;border-color:#ffffff2e}.cw-tb-pill:disabled{opacity:.5;cursor:not-allowed}.cw-workdir-wrap{display:inline-block;position:relative}.cw-workdir-btn{max-width:220px;font-family:ui-monospace,monospace}.cw-workdir-popup{z-index:100;background:#1f2937;border:1px solid #ffffff26;border-radius:6px;flex-direction:column;min-width:240px;max-height:280px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 4px 16px #0006}.cw-workdir-list{max-height:220px;padding:4px;overflow-y:auto}.cw-workdir-item{cursor:pointer;color:#cbd5e1;border-radius:4px;padding:5px 8px;font-family:ui-monospace,monospace;font-size:12px}.cw-workdir-item:hover{color:#f1f5f9;background:#ffffff0f}.cw-workdir-item.active{color:#93c5fd;background:#60a5fa2e}.cw-workdir-create{background:#0003;border-top:1px solid #ffffff0f;gap:4px;padding:6px 8px;display:flex}.cw-workdir-create input{color:#e2e8f0;background:#0006;border:1px solid #ffffff1a;border-radius:3px;flex:1;padding:3px 6px;font-size:11px}.cw-workdir-create input:focus{border-color:#60a5fa80;outline:none}.cw-btn-faded{opacity:.55}.cw-btn-faded:hover{opacity:.85}@keyframes cw-shake-anim{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.cw-shake{animation:.5s cw-shake-anim;border-color:#ef444499!important}.cw-upload-result{color:#34d399;background:#34d3990f;border:1px solid #34d39933;border-radius:4px;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;padding:5px 8px;font-size:11px;display:flex}.cw-upload-result code{color:#cbd5e1;background:#ffffff0f;border-radius:3px;padding:0 4px}.cw-upload-tag{color:#34d399;background:#34d39926;border-radius:3px;padding:1px 6px;font-family:ui-monospace,monospace}.cw-upload-tag.err{color:#fca5a5;background:#ef444426}.cw-input-row{align-items:stretch;gap:6px;display:flex}.cw-input{color:#e2e8f0;resize:vertical;background:#00000059;border:1px solid #ffffff1a;border-radius:4px;flex:1;min-height:60px;padding:7px 9px;font-family:ui-monospace,monospace;font-size:13px}.cw-input:focus{border-color:#60a5fa80;outline:none}.cw-stderr{color:#94a3b8;margin-top:4px;font-size:11px}.cw-stderr summary{cursor:pointer}.cw-stderr pre{white-space:pre-wrap;color:#fca5a5;max-height:100px;font-size:10px;overflow-y:auto}.cw-right-tabs{border-bottom:1px solid #ffffff0f;display:flex}.cw-right-tabs .cw-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 6px;font-size:11px;display:inline-flex}.cw-right-tabs .cw-tab:hover{color:#f1f5f9}.cw-right-tabs .cw-tab.active{color:#93c5fd;background:#60a5fa0a;border-bottom-color:#60a5fa}.cw-right-body{flex:1;padding:8px 10px;overflow-y:auto}.cw-checklist{flex-direction:column;gap:4px;display:flex}.cw-check-item{background:#ffffff08;border-radius:4px;align-items:flex-start;gap:6px;padding:5px 8px;display:flex}.cw-check-icon{flex-shrink:0;width:14px;font-size:13px;line-height:1.4}.cw-check-text{word-break:break-word;flex:1;font-size:12px;line-height:1.4}.cw-check-completed{opacity:.65}.cw-check-completed .cw-check-icon{color:#34d399}.cw-check-completed .cw-check-text{text-decoration:line-through}.cw-check-in_progress .cw-check-icon{color:#fbbf24;animation:1.5s linear infinite cw-spin}.cw-check-pending .cw-check-icon{color:#64748b}@keyframes cw-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cw-check-progress{color:#94a3b8;text-align:right;padding:6px 4px;font-size:11px}.cw-files{flex-direction:column;gap:3px;display:flex}.cw-file-item{cursor:pointer;background:#ffffff08;border-radius:4px;align-items:center;gap:6px;padding:5px 8px;display:flex}.cw-file-item:hover{background:#ffffff12}.cw-file-icon{flex-shrink:0}.cw-file-name{text-overflow:ellipsis;white-space:nowrap;color:#cbd5e1;flex:1;font-family:ui-monospace,monospace;font-size:12px;overflow:hidden}.cw-file-dl{color:#93c5fd;padding:0 4px;font-size:14px;text-decoration:none}.cw-file-dl:hover{color:#bfdbfe}.cw-modal-bg{z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cw-modal{background:#1f2937;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;min-width:480px;max-width:90vw;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.cw-modal-wide{width:90vw;min-width:800px;max-width:1100px}.cw-modal-title{color:#f1f5f9;border-bottom:1px solid #ffffff14;padding:12px 16px;font-size:14px;font-weight:600}.cw-form{flex-direction:column;gap:10px;padding:14px 16px;display:flex;overflow-y:auto}.cw-form label{color:#94a3b8;flex-direction:column;gap:4px;font-size:11px;display:flex}.cw-form label.cw-row{flex-direction:row;align-items:center;gap:6px}.cw-form input,.cw-form select,.cw-form textarea{color:#e2e8f0;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.cw-form input:focus,.cw-form textarea:focus{border-color:#60a5fa80;outline:none}.cw-form textarea{resize:vertical;min-height:80px}.cw-modal-actions{border-top:1px solid #ffffff14;align-items:center;gap:8px;padding:12px 16px;display:flex}.cw-preview-pre{color:#cbd5e1;white-space:pre-wrap;word-break:break-word;background:#0006;max-height:60vh;margin:0;padding:12px 16px;font-size:12px;overflow:auto}.cw-admin{width:92vw;min-width:900px;max-width:1200px;height:80vh}.cw-admin-head{border-bottom:1px solid #ffffff14;align-items:center;padding:8px 14px 0;display:flex}.cw-admin-tabs{flex:1;gap:4px;display:flex}.cw-admin-tabs .cw-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px}.cw-admin-tabs .cw-tab:hover{color:#f1f5f9}.cw-admin-tabs .cw-tab.active{color:#93c5fd;border-bottom-color:#60a5fa}.cw-admin-body{flex:1;padding:14px 16px;overflow:auto}.cw-err{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:4px;margin-bottom:10px;padding:8px 12px;font-size:12px}.cw-saved{color:#34d399;font-size:12px}.cw-dirty{color:#fbbf24}.cw-mono{font-family:ui-monospace,SF Mono,monospace}.cw-mem{flex-direction:column;gap:8px;height:100%;display:flex}.cw-mem-toolbar{align-items:center;gap:6px;display:flex}.cw-mem-dir{color:#94a3b8;font-size:11px}.cw-mem-dir-input{color:#e2e8f0;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;flex:1;padding:4px 8px;font-family:ui-monospace,monospace;font-size:11px}.cw-mem-create{background:#60a5fa12;border-radius:4px;gap:6px;padding:6px;display:flex}.cw-mem-create input{color:#e2e8f0;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.cw-mem-body{flex:1;grid-template-columns:240px 1fr;gap:10px;min-height:0;display:grid}.cw-mem-list{border-right:1px solid #ffffff0f;flex-direction:column;gap:2px;padding-right:6px;display:flex;overflow-y:auto}.cw-mem-item{cursor:pointer;background:#ffffff08;border-radius:4px;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 8px;transition:all .15s;display:flex}.cw-mem-item:hover{background:#ffffff12}.cw-mem-item.active{background:#60a5fa26;border-left:3px solid #60a5fa;padding-left:5px}.cw-mem-name{color:#cbd5e1;font-family:ui-monospace,monospace;font-size:12px}.cw-mem-meta{color:#64748b;font-size:10px}.cw-mem-del{color:#ffffff4d;cursor:pointer;background:0 0;border:none;align-self:flex-end;position:absolute}.cw-mem-del:hover{color:#fca5a5}.cw-mem-edit{flex-direction:column;min-height:0;display:flex}.cw-mem-edit-head{align-items:center;gap:8px;padding:4px 0;display:flex}.cw-mem-textarea{color:#e2e8f0;resize:none;background:#0006;border:1px solid #ffffff1a;border-radius:4px;flex:1;min-height:300px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.5}.cw-mem-textarea:focus{border-color:#60a5fa80;outline:none}.cw-api{flex-direction:column;gap:12px;display:flex}.cw-api-meta{color:#94a3b8;font-size:11px}.cw-api-tag-warn{color:#fbbf24}.cw-api-tag-ok{color:#34d399}.cw-preset-bar{background:#60a5fa0f;border:1px solid #60a5fa33;border-radius:6px;align-items:center;gap:8px;padding:10px 12px;display:flex}.cw-preset-lbl{color:#94a3b8;font-size:12px}.cw-preset-select{color:#f1f5f9;background:#0006;border:1px solid #ffffff26;border-radius:4px;min-width:280px;padding:5px 8px;font-family:ui-monospace,monospace;font-size:12px}.cw-preset-active{color:#34d399;background:#34d3991a;border-radius:10px;padding:2px 8px;font-size:11px}.cw-preset-create{background:#60a5fa12;border-radius:4px;align-items:center;gap:6px;padding:8px 10px;display:flex}.cw-api-table{border-collapse:collapse;width:100%;font-size:12px}.cw-api-table th{text-align:left;color:#94a3b8;background:#ffffff0a;padding:6px 8px;font-size:11px;font-weight:500}.cw-api-table td{vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:6px 8px}.cw-input-tight{color:#e2e8f0;box-sizing:border-box;background:#0000004d;border:1px solid #ffffff1a;border-radius:3px;width:100%;padding:4px 6px;font-size:12px}.cw-input-tight:focus{border-color:#60a5fa80;outline:none}.cw-api-actions{border-top:1px solid #ffffff0f;align-items:center;gap:8px;padding-top:8px;display:flex}.cw-api-tips{color:#64748b;padding:6px 0;font-size:11px}.cw-logs{flex-direction:column;gap:10px;display:flex}.cw-logs-toolbar{align-items:center;gap:6px;display:flex}.cw-logs-toolbar select{color:#cbd5e1;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;padding:4px 6px;font-size:11px}.cw-logs-table{border-collapse:collapse;width:100%;font-size:11px}.cw-logs-table th{text-align:left;color:#94a3b8;z-index:1;background:#1f2937;border-bottom:1px solid #ffffff14;padding:6px 8px;font-size:11px;font-weight:500;position:sticky;top:0}.cw-logs-table td{color:#cbd5e1;border-bottom:1px solid #ffffff0a;padding:5px 8px}.cw-log-error{background:#ef44440a}.cw-log-running{background:#f59e0b0a}.cw-usage{flex-direction:column;gap:16px;display:flex}.cw-usage-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.cw-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;padding:12px 14px}.cw-card.highlight{background:#60a5fa14;border-color:#60a5fa4d}.cw-card-num{color:#f1f5f9;font-size:22px;font-weight:600}.cw-card-lbl{color:#94a3b8;margin-top:2px;font-size:11px}.cw-usage-h{color:#94a3b8;margin:4px 0;font-size:13px}.cw-usage-bars{flex-direction:column;gap:4px;display:flex}.cw-bar-row{grid-template-columns:50px 1fr 140px;align-items:center;gap:8px;font-size:11px;display:grid}.cw-bar-day{color:#94a3b8;font-family:ui-monospace,monospace}.cw-bar-track{background:#ffffff0d;border-radius:3px;height:14px;overflow:hidden}.cw-bar-fill{background:linear-gradient(90deg,#60a5fa,#818cf8);border-radius:3px;height:100%;transition:width .3s}.cw-bar-cost{color:#cbd5e1;text-align:right;font-family:ui-monospace,monospace}[data-theme=light] .cw-root{color:#1f2937}[data-theme=light] .cw-topbar{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .cw-btn{color:#374151;background:#fff;border-color:#d1d5db}[data-theme=light] .cw-btn:hover{color:#111827;background:#f3f4f6;border-color:#9ca3af}[data-theme=light] .cw-btn.primary{color:#2563eb;background:#2563eb1a;border-color:#2563eb4d}[data-theme=light] .cw-btn.primary:hover{background:#2563eb2e}[data-theme=light] .cw-left,[data-theme=light] .cw-right{border-color:#e5e7eb}[data-theme=light] .cw-section,[data-theme=light] .cw-section-title{color:#6b7280;border-color:#e5e7eb}[data-theme=light] .cw-skill-chip{color:#374151;background:#f3f4f6;border-color:#e5e7eb}[data-theme=light] .cw-skill-chip.active{color:#2563eb;background:#2563eb1a;border-color:#2563eb4d}[data-theme=light] .cw-search{color:#1f2937;background:#fff;border-color:#d1d5db}[data-theme=light] .cw-tb-btn{color:#6b7280;background:#fff;border-color:#e5e7eb}[data-theme=light] .cw-tb-btn.active{color:#2563eb;background:#2563eb1a;border-color:#2563eb4d}[data-theme=light] .cw-session-item{background:#fff}[data-theme=light] .cw-session-item:hover{background:#f9fafb}[data-theme=light] .cw-session-item.active{background:#2563eb14;border-color:#2563eb4d}[data-theme=light] .cw-session-name{color:#1f2937}[data-theme=light] .cw-msg-prompt{color:#166534;background:#22c55e0f;border-left-color:#16a34a}[data-theme=light] .cw-msg-assistant{color:#1f2937}[data-theme=light] .cw-msg-assistant code{background:#f3f4f6}[data-theme=light] .cw-msg-assistant pre.cw-code{color:#f1f5f9;background:#1f2937}[data-theme=light] .cw-mid{background:#fff}[data-theme=light] .cw-input-wrap{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .cw-input{color:#1f2937;background:#fff;border-color:#d1d5db}[data-theme=light] .cw-modal{background:#fff;border-color:#e5e7eb}[data-theme=light] .cw-modal-title{color:#111827;border-color:#e5e7eb}[data-theme=light] .cw-form input,[data-theme=light] .cw-form textarea,[data-theme=light] .cw-form select,[data-theme=light] .cw-mem-textarea,[data-theme=light] .cw-mem-dir-input,[data-theme=light] .cw-input-tight{color:#1f2937;background:#fff;border-color:#d1d5db}[data-theme=light] .cw-logs-table th{color:#6b7280;background:#f9fafb}[data-theme=light] .cw-logs-table td{color:#374151}[data-theme=light] .cw-card{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .cw-card-num{color:#111827}
