.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url(/assets/spritesheet-DpIxuf5L.svg);background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url(/assets/spritesheet-DpIxuf5L.svg)}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#fff;font:11px/19px Helvetica Neue,Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:#00000080;border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:#00000080;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:#fe57a11a;border:4px dashed rgba(254,87,161,.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#e0e0e0;background-color:#1a1a2e;--chat-panel-width: 400px;--header-height: 60px;--mobile-nav-height: 60px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--touch-target-min: 44px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-xs: .7rem;--font-sm: .8rem;--font-md: .9rem;--font-lg: 1rem;--font-xl: 1.2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0f34604d;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#0f3460,#1a1a2e);border-radius:4px;border:1px solid rgba(0,212,255,.2)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#00d4ff,#0f3460);border-color:#00d4ff80}::-webkit-scrollbar-corner{background:#1a1a2e}*{scrollbar-width:thin;scrollbar-color:#0f3460 rgba(15,52,96,.3)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}body{padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}.app-container{display:flex;height:100vh;height:100dvh;width:100vw;position:relative;overflow:hidden}.map-container{flex:1;height:100%;position:relative}.map-container.drawing-mode-active{animation:map-border-glow 2s ease-in-out infinite}.map-container.drawing-mode-active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1000;border:3px solid rgba(255,165,0,.6);border-radius:0;animation:map-border-pulse 2s ease-in-out infinite}@keyframes map-border-glow{0%,to{box-shadow:inset 0 0 30px #ffa50033}50%{box-shadow:inset 0 0 60px #ffa50059}}@keyframes map-border-pulse{0%,to{border-color:#ffa50080;box-shadow:0 0 15px #ffa5004d,inset 0 0 15px #ffa5001a}50%{border-color:#ffa500e6;box-shadow:0 0 30px #ffa50080,inset 0 0 30px #ffa50033}}.drawing-mode-notification{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:10px;padding:12px 24px;background:linear-gradient(135deg,#ffa500f2,#ff7800f2);border-radius:30px;box-shadow:0 4px 20px #ffa50066,0 0 40px #ffa50033,inset 0 1px #fff3;animation:notification-pulse 2s ease-in-out infinite,notification-float 3s ease-in-out infinite;font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#000;letter-spacing:.3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,200,100,.5);pointer-events:none}.leaflet-draw-tooltip,.leaflet-draw-tooltip-subtext{display:none!important}.drawing-mode-notification svg{stroke:#000;animation:pen-wiggle 1s ease-in-out infinite}@keyframes notification-pulse{0%,to{box-shadow:0 4px 20px #ffa50066,0 0 40px #ffa50033}50%{box-shadow:0 4px 30px #ffa50099,0 0 60px #ffa50066}}@keyframes notification-float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}@keyframes pen-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.chat-panel{width:var(--chat-panel-width);height:100%;background:#16213e;border-left:1px solid #0f3460;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);will-change:transform}.chat-panel-content{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:75px;min-height:0}.chat-header{padding:16px;background:#0f3460;border-bottom:1px solid #1a1a2e;flex-shrink:0}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{width:48px;height:48px;object-fit:contain;border-radius:8px}.header-text h2{font-size:1.1rem;color:#00d4ff;margin-bottom:2px}.header-text p{font-size:.75rem;color:#888}.ai-bottom-sheet{position:absolute;left:0;right:0;background:linear-gradient(180deg,#0a1628,#0d1b2a);border-top:1px solid rgba(0,212,255,.3);border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #00000080,0 -2px 20px #00d4ff1a;z-index:100;display:flex;flex-direction:column;transition:height .5s cubic-bezier(.32,.72,0,1);bottom:0;top:auto;height:70px;overflow:hidden;will-change:height}.ai-bottom-sheet.dragging{transition:none}.ai-bottom-sheet.open{height:70%;overflow:visible}.ai-bottom-sheet:not(.open):not(.dragging) .ai-sheet-content{display:none}.ai-bottom-sheet.open .ai-sheet-content,.ai-bottom-sheet.dragging .ai-sheet-content{display:flex}.ai-sheet-handle{cursor:grab;-webkit-user-select:none;user-select:none}.ai-sheet-handle:active{cursor:grabbing}.analysis-loading-card{background:linear-gradient(135deg,#00d4ff1a,#e945601a);border:2px solid rgba(0,212,255,.3);border-radius:12px;padding:16px;margin:8px;animation:pulse-glow 2s ease-in-out infinite;position:relative;overflow:hidden}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #00d4ff4d,0 0 10px #00d4ff33,inset 0 0 10px #00d4ff1a;border-color:#00d4ff66}50%{box-shadow:0 0 10px #00d4ff80,0 0 20px #00d4ff4d,inset 0 0 20px #00d4ff26;border-color:#00d4ffcc}}.analysis-loading-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.analysis-loading-icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#e94560);display:flex;align-items:center;justify-content:center;animation:spin-slow 3s linear infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.analysis-loading-title{font-size:.95rem;font-weight:600;color:#00d4ff}.analysis-loading-subtitle{font-size:.75rem;color:#888}.analysis-loading-progress{display:flex;flex-direction:column;gap:8px}.analysis-loading-step{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#aaa;opacity:.5;transition:opacity .3s,color .3s}.analysis-loading-step.active{opacity:1;color:#00d4ff}.analysis-loading-step.done{opacity:1;color:#0f8}.analysis-loading-step svg{flex-shrink:0}.analysis-step-spinner{width:16px;height:16px;border:2px solid rgba(0,212,255,.3);border-top-color:#00d4ff;border-radius:50%;animation:spinner .8s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.ai-sheet-handle{padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.handle-bar{width:40px;height:4px;background:#00d4ff66;border-radius:2px;margin:0 auto 12px;transition:background .2s}.ai-sheet-handle:hover .handle-bar{background:#00d4ffb3}.handle-content{display:flex;align-items:center;gap:12px}.handle-icon{width:36px;height:36px;background:linear-gradient(135deg,#00d4ff33,#00d4ff0d);border:1px solid rgba(0,212,255,.3);border-radius:10px;display:flex;align-items:center;justify-content:center}.handle-icon svg{stroke:#00d4ff}.handle-text{flex:1;display:flex;flex-direction:column;gap:2px}.handle-title{font-size:.8rem;font-weight:700;color:#00d4ff;letter-spacing:1px;text-transform:uppercase}.handle-subtitle{font-size:.7rem;color:#667}.handle-chevron{width:28px;height:28px;background:#00d4ff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,background .2s}.handle-chevron svg{stroke:#00d4ff;transition:transform .3s ease}.ai-sheet-handle:hover .handle-chevron{background:#00d4ff33}.ai-bottom-sheet:not(.open) .handle-chevron svg{transform:rotate(0)}.ai-bottom-sheet.open .handle-chevron svg{transform:rotate(180deg)}.ai-sheet-content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 16px 16px}.ai-sheet-content .chat-messages{flex:1;overflow-y:auto;padding:0;margin-bottom:12px}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.chat-welcome .welcome-icon{width:60px;height:60px;background:linear-gradient(135deg,#00d4ff26,#00d4ff0d);border:1px solid rgba(0,212,255,.2);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.chat-welcome .welcome-title{font-size:.9rem;font-weight:600;color:#e0e0e0;margin-bottom:8px}.chat-welcome .welcome-text{color:#667;font-size:.8rem;line-height:1.5;max-width:260px}.message{margin-bottom:16px;padding:12px;border-radius:12px;font-size:.85rem;line-height:1.6;background:#0000004d;border:1px solid rgba(255,255,255,.05);margin-right:8px}.message.user{background:#0f346099;border-color:#0f3460cc;margin-left:24px;margin-right:8px}.message.ai{background:linear-gradient(135deg,#00d4ff14,#0000004d);border-left:3px solid #00d4ff;margin-right:8px}.message.system,.message.simulation{margin-right:8px}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888}.message.ai .message-header{color:#00d4ff}.message-content{color:#e0e0e0;white-space:pre-wrap}.ai-loading{display:flex;align-items:center;gap:12px;padding:16px;color:#667;font-size:.8rem}.ai-loading-dots{display:flex;gap:4px}.ai-loading-dots span{width:6px;height:6px;background:#00d4ff;border-radius:50%;animation:aiDotPulse 1.4s ease-in-out infinite}.ai-loading-dots span:nth-child(1){animation-delay:0s}.ai-loading-dots span:nth-child(2){animation-delay:.2s}.ai-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes aiDotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.neural-processing{flex-direction:column;align-items:center;background:linear-gradient(135deg,#001e3ce6,#001428f2);border:1px solid rgba(0,212,255,.3);border-radius:12px;padding:20px;margin:10px 0}.neural-indicator{position:relative;width:50px;height:50px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.neural-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.3) 0%,transparent 70%);animation:neuralPulse 2s ease-in-out infinite}@keyframes neuralPulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.5);opacity:0}}.neural-text{text-align:center;margin-bottom:12px}.neural-status{display:block;color:#00d4ff;font-size:.9rem;font-weight:600;margin-bottom:4px;animation:neuralTextGlow 2s ease-in-out infinite}@keyframes neuralTextGlow{0%,to{text-shadow:0 0 5px rgba(0,212,255,.5)}50%{text-shadow:0 0 20px rgba(0,212,255,.8)}}.neural-hint{display:block;color:#667;font-size:.7rem;text-transform:uppercase;letter-spacing:1px}.neural-progress{width:100%;height:3px;background:#00d4ff1a;border-radius:2px;overflow:hidden}.neural-bar{height:100%;width:30%;background:linear-gradient(90deg,transparent,#00d4ff,transparent);animation:neuralProgress 1.5s ease-in-out infinite}@keyframes neuralProgress{0%{transform:translate(-100%)}to{transform:translate(400%)}}.simulation-hud{background:linear-gradient(135deg,#ffa5001a,#ff64000d);border:1px solid rgba(255,165,0,.3);border-radius:10px;padding:12px;margin-top:10px}.sim-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,165,0,.2);gap:8px}.sim-clear-btn{background:#ff646426;border:1px solid rgba(255,100,100,.3);color:#ff6b6b;width:24px;height:24px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:auto}.sim-clear-btn svg{stroke:#ff6b6b;transition:stroke .2s ease}.sim-clear-btn:hover{background:#ff64644d;border-color:#ff6b6b}.sim-clear-btn:hover svg{stroke:#fff}.sim-badge{background:linear-gradient(135deg,orange,#f60);color:#000;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;animation:simBadgePulse 2s ease-in-out infinite}@keyframes simBadgePulse{0%,to{box-shadow:0 0 5px #ffa50080}50%{box-shadow:0 0 15px #ffa500cc}}.sim-type{color:orange;font-size:.75rem;font-weight:500}.sim-comparison{display:flex;flex-direction:column;gap:10px}.sim-metric{background:#0000004d;border-radius:8px;padding:10px}.sim-label{color:#888;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.sim-values{display:flex;align-items:center;gap:8px;margin-bottom:4px}.sim-before{color:#ff6b6b;font-size:.9rem;font-weight:600}.sim-arrow{color:#555;font-size:.8rem}.sim-after{color:#4ecdc4;font-size:.9rem;font-weight:600}.sim-delta{font-size:.8rem;font-weight:700;padding:2px 6px;border-radius:4px;display:inline-block}.sim-delta.positive{background:#4ecdc433;color:#4ecdc4}.sim-delta.negative{background:#ff6b6b33;color:#ff6b6b}.thought-accordion{margin-top:10px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}.thought-toggle{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:#667;font-size:.7rem;cursor:pointer;padding:4px 0;transition:color .2s}.thought-toggle:hover{color:#00d4ff}.thought-toggle svg{transition:transform .2s}.thought-toggle.expanded svg{transform:rotate(90deg)}.thought-content{background:#0000004d;border-radius:6px;padding:10px;margin-top:6px;color:#889;font-size:.75rem;line-height:1.5;white-space:pre-wrap;border-left:2px solid rgba(0,212,255,.3)}.action-badge{background:#00d4ff33;color:#00d4ff;font-size:.6rem;padding:2px 6px;border-radius:3px;margin-left:auto;text-transform:uppercase;letter-spacing:.5px}.governor-custom-ui{margin:12px 0;background:linear-gradient(135deg,#001428e6,#00283ccc);border:1px solid rgba(0,212,255,.3);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000004d,inset 0 1px #ffffff0d}.custom-ui-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#00d4ff1a;border-bottom:1px solid rgba(0,212,255,.2);font-size:.75rem;color:#00d4ff;font-weight:600}.custom-ui-header svg{flex-shrink:0}.ui-type-badge{margin-left:auto;background:#00d4ff33;padding:2px 8px;border-radius:4px;font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.custom-ui-content{padding:12px;font-size:.8rem;color:#e0e0e0!important;line-height:1.5;background:transparent}.custom-ui-content,.custom-ui-content *{color:#e0e0e0!important;background-color:transparent!important}.custom-ui-content h1,.custom-ui-content h2,.custom-ui-content h3,.custom-ui-content h4{color:#00d4ff!important;margin:8px 0 4px}.custom-ui-content strong,.custom-ui-content b,.custom-ui-content a{color:#00d4ff!important}.custom-ui-content hr{border-color:#00d4ff4d!important;margin:8px 0}.custom-ui-content ul,.custom-ui-content ol{padding-left:16px;margin:4px 0}.custom-ui-content li{margin:2px 0}.custom-ui-content table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.75rem}.custom-ui-content th,.custom-ui-content td{padding:8px 10px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.custom-ui-content th{background:#00d4ff1a;color:#00d4ff;font-weight:600;text-transform:uppercase;font-size:.65rem;letter-spacing:.5px}.custom-ui-content tr:hover{background:#00d4ff0d}.custom-ui-content .gov-card{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:12px;margin:8px 0}.custom-ui-content .gov-card-title{color:#00d4ff;font-weight:600;margin-bottom:8px;font-size:.85rem}.custom-ui-content .gov-progress{height:8px;background:#0006;border-radius:4px;overflow:hidden;margin:8px 0}.custom-ui-content .gov-progress-fill{height:100%;background:linear-gradient(90deg,#00d4ff,#0f8);border-radius:4px;transition:width .5s ease}.custom-ui-content .gov-alert{padding:10px 12px;border-radius:6px;margin:8px 0;display:flex;align-items:center;gap:10px}.custom-ui-content .gov-alert.critical{background:#f003;border:1px solid rgba(255,0,0,.4);color:#f66}.custom-ui-content .gov-alert.warning{background:#f803;border:1px solid rgba(255,136,0,.4);color:#fa6}.custom-ui-content .gov-alert.success{background:#0f83;border:1px solid rgba(0,255,136,.4);color:#6fa}.custom-ui-content .gov-alert.info{background:#00d4ff33;border:1px solid rgba(0,212,255,.4);color:#6df}.custom-ui-content .gov-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin:10px 0}.custom-ui-content .gov-metric{background:#0000004d;border-radius:6px;padding:10px;text-align:center}.custom-ui-content .gov-metric-value{font-size:1.2rem;font-weight:700;color:#00d4ff}.custom-ui-content .gov-metric-label{font-size:.65rem;color:#888;text-transform:uppercase;margin-top:4px}.custom-ui-content .gov-comparison{display:flex;align-items:center;gap:12px;margin:10px 0}.custom-ui-content .gov-before,.custom-ui-content .gov-after{flex:1;padding:10px;border-radius:6px;text-align:center}.custom-ui-content .gov-before{background:#ff646433;border:1px solid rgba(255,100,100,.3)}.custom-ui-content .gov-after{background:#64ff6433;border:1px solid rgba(100,255,100,.3)}.custom-ui-content .gov-arrow{color:#00d4ff;font-size:1.2rem}.style-mode-indicator{position:fixed;top:10px;right:10px;background:#000c;border:1px solid currentColor;padding:6px 12px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;z-index:1000;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}body.alert-red{--alert-glow: rgba(255, 0, 0, .3)}body.alert-orange{--alert-glow: rgba(255, 136, 0, .3)}body.alert-green{--alert-glow: rgba(0, 255, 136, .3)}.sovereign-highlight-pulse{animation:sovereignPulse 1.5s ease-in-out infinite}@keyframes sovereignPulse{0%,to{stroke-opacity:1;fill-opacity:.2}50%{stroke-opacity:.5;fill-opacity:.4}}.ai-drawing{transition:all .3s ease}.ai-drawing:hover{filter:brightness(1.2)}.ai-drawing-exclusion_zone{animation:dangerPulse 2s ease-in-out infinite}@keyframes dangerPulse{0%,to{stroke-opacity:1;fill-opacity:.3}50%{stroke-opacity:.6;fill-opacity:.5}}.ai-drawing-impact_radius{animation:impactPulse 1.5s ease-in-out infinite}@keyframes impactPulse{0%,to{stroke-width:2;fill-opacity:.2}50%{stroke-width:4;fill-opacity:.35}}.ai-drawing-proposed_infra{animation:constructPulse 2s ease-in-out infinite}@keyframes constructPulse{0%,to{stroke-dashoffset:0}to{stroke-dashoffset:50}}.ai-drawing-evacuation_route{animation:evacDash 1s linear infinite}@keyframes evacDash{to{stroke-dashoffset:-25}}.ai-drawing-label{background:#001428e6!important;border:1px solid rgba(0,212,255,.5)!important;color:#00d4ff!important;font-size:.7rem!important;font-weight:600!important;padding:4px 8px!important;border-radius:4px!important;box-shadow:0 2px 10px #00000080!important}.ai-drawing-label:before{border-top-color:#00d4ff80!important}.ai-popup{font-size:.8rem;color:#e0e0e0;line-height:1.5}.ai-popup table{width:100%;border-collapse:collapse;margin:8px 0}.ai-popup th,.ai-popup td{padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.ai-popup th{color:#00d4ff;font-weight:600}.ai-input-container{display:flex;gap:10px;background:#0000004d;border:1px solid rgba(0,212,255,.2);border-radius:14px;padding:8px 8px 8px 16px;align-items:flex-end}.ai-input-container textarea{flex:1;background:transparent;border:none;color:#e0e0e0;font-size:.85rem;resize:none;outline:none;max-height:100px;line-height:1.5;padding:6px 0}.ai-input-container textarea::placeholder{color:#556}.ai-send-btn{width:40px;height:40px;background:linear-gradient(135deg,#00d4ff,#09c);border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ai-send-btn svg{stroke:#0a1628}.ai-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #00d4ff66}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed}.stats-panel{padding:16px;background:#0f3460;border-bottom:1px solid #1a1a2e;overflow-y:auto;flex:1;min-height:0;position:relative;z-index:1}.stats-panel.global-stats{background:linear-gradient(135deg,#0a1628,#16213e);border-left:3px solid #00d4ff;padding:12px}.stats-panel.polygon-stats{background:linear-gradient(135deg,#0f3460,#1a1a2e);border-left:3px solid #e94560}.stats-header-enhanced{display:flex;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(0,212,255,.2)}.stats-header-enhanced h3{font-size:.8rem;color:#e0e0e0;margin:0;text-transform:uppercase;letter-spacing:.5px;flex:1}.commune-badge{font-size:.65rem;background:linear-gradient(135deg,#00d4ff,#09c);color:#0a1628;padding:3px 8px;border-radius:10px;font-weight:700;text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-card{background:#00000040;border-radius:8px;padding:10px;border:1px solid rgba(255,255,255,.05);display:flex;gap:10px;transition:all .2s ease}.stat-card:hover{background:#00d4ff14;border-color:#00d4ff33;transform:translateY(-1px)}.stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card.thermal .stat-icon{background:#ff450033;color:#ff4500}.stat-card.landcover .stat-icon{background:#9370db33;color:#9370db}.stat-card.topo .stat-icon{background:#8b5a2b33;color:peru}.stat-card.roads .stat-icon{background:#6495ed33;color:#6495ed}.stat-card.population .stat-icon{background:#ffa50033;color:orange}.stat-card.airquality .stat-icon{background:#4682b433;color:#4682b4}.stat-card.vegetation .stat-icon{background:#2ecc7133;color:#2ecc71}.stat-card.permeability .stat-icon{background:#00bfff33;color:#00bfff}.stat-card.buildings .stat-icon{background:#a9a9a933;color:#a9a9a9}.stat-card.solar .stat-icon{background:#ffd70033;color:gold}.stat-card.matrix .stat-icon{background:#da70d633;color:orchid}.stat-card.infrastructure .stat-icon{background:#e9456033;color:#e94560}.stat-card.electric .stat-icon{background:#ffd70033;color:gold}.stat-content{flex:1;min-width:0}.stat-label{font-size:.65rem;color:#888;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.stat-value{font-size:1rem;font-weight:700;color:#fff;line-height:1.2}.stat-range{font-size:.65rem;color:#666;margin-top:2px}.stat-badge{display:inline-block;font-size:.55rem;padding:2px 6px;border-radius:8px;font-weight:600;text-transform:uppercase;margin-top:4px}.stat-badge.critical{background:#ff450033;color:#ff4500}.stat-badge.warning{background:#ffa50033;color:orange}.stat-badge.good{background:#2ecc7133;color:#2ecc71}.stat-badge.info{background:#00d4ff33;color:#00d4ff}.stats-panel h3{font-size:.85rem;color:#00d4ff;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.stat-group{background:#00d4ff0d;border-radius:6px;padding:8px 10px;margin-bottom:8px;border:1px solid rgba(0,212,255,.1)}.stat-group:hover{background:#00d4ff1a;border-color:#00d4ff33}.stat-header{font-size:.75rem;color:#00d4ff;font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.stat-row{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#e0e0e0}.stat-row span{background:#0003;padding:2px 6px;border-radius:3px}.stat-row strong{color:#fff}.stat-interpretation{font-size:.7rem;margin-top:4px;color:#888}.stats-hint{font-size:.75rem;color:#666;text-align:center;margin-top:12px;font-style:italic}.stat-item{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #16213e;font-size:.85rem}.stat-item .label{color:#888}.stat-item .value{color:#e0e0e0;font-weight:500}.stat-item-detailed{margin-bottom:12px;padding:10px;background:#0f34604d;border-radius:6px;border-left:3px solid #00d4ff}.stat-item-detailed .stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(0,212,255,.2)}.stat-item-detailed .stat-header .label{color:#00d4ff;font-weight:600;font-size:.85rem}.stat-item-detailed .stat-header .value{color:#fff;font-weight:700;font-size:1rem}.stat-details{padding:6px 0;font-size:.75rem}.detail-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:#aaa}.detail-row span{flex:1;padding:4px 6px;background:#1a1a2e80;border-radius:3px;text-align:center}.detail-zones{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,212,255,.1)}.detail-zones span{display:block;padding:4px 8px;border-radius:4px;font-size:.7rem}.zone-critical{background:#ff6b6b33;color:#ff6b6b;border-left:3px solid #ff6b6b}.zone-hot{background:#ffa72633;color:#ffa726;border-left:3px solid #ffa726}.zone-moderate{background:#ffd93d33;color:#ffd93d;border-left:3px solid #ffd93d}.zone-cool{background:#00bfff33;color:#00bfff;border-left:3px solid #00bfff}.zone-info{background:#64b4ff26;color:#64b4ff;border-left:3px solid #64b4ff}.scenario-buttons{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid #0f3460}.scenario-btn{padding:8px 12px;background:#0f3460;border:1px solid #1a1a2e;border-radius:4px;color:#e0e0e0;font-size:.75rem;cursor:pointer;transition:all .2s}.scenario-btn:hover{background:#16213e;border-color:#00d4ff}.scenario-btn.active{background:#00d4ff;color:#1a1a2e;border-color:#00d4ff}.clear-zone-btn{margin-top:12px;padding:8px 16px;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;width:100%;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.clear-zone-btn:hover{background:#c82333}.loading{display:flex;align-items:center;gap:8px;padding:12px;color:#00d4ff}.loading-spinner{width:20px;height:20px;border:2px solid #0f3460;border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.map-controls{position:absolute;top:16px;left:16px;z-index:1000;display:flex;flex-direction:column;gap:8px}.map-control-btn{padding:10px 16px;background:#0f3460f2;border:1px solid #00d4ff;border-radius:4px;color:#e0e0e0;font-size:.85rem;cursor:pointer;transition:all .2s}.map-control-btn:hover{background:#00d4ff;color:#1a1a2e}.polygon-loading{padding:24px 16px!important}.analysis-progress{display:flex;flex-direction:column;align-items:center;gap:16px}.progress-icon{animation:rotate-layers 2s ease-in-out infinite}@keyframes rotate-layers{0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.progress-text{text-align:center}.progress-title{display:block;color:#00d4ff;font-weight:600;font-size:.95rem;margin-bottom:4px}.progress-subtitle{display:block;color:#8ab4f8;font-size:.8rem}.progress-bar{width:100%;height:3px;background:#00d4ff33;border-radius:2px;overflow:hidden}.progress-fill{height:100%;width:30%;background:linear-gradient(90deg,#00d4ff,#8ab4f8);border-radius:2px;animation:progress-slide 1.5s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%);width:30%}50%{width:60%}to{transform:translate(400%);width:30%}}.leaflet-tooltip.matrix-tooltip{background:#0f3460f2;border:1px solid #00d4ff;color:#e0e0e0;font-size:.8rem;padding:8px 12px}.leaflet-draw-toolbar a{background-color:#0f3460!important;border-color:#00d4ff!important}.leaflet-draw-toolbar a:hover{background-color:#00d4ff!important}.layer-control-panel{position:absolute;top:16px;right:16px;z-index:1200;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.layer-control-toggle{width:44px;height:44px;background:linear-gradient(135deg,#0a1628fa,#0f3460fa);border:1px solid rgba(0,212,255,.5);border-radius:12px;color:#00d4ff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 4px 20px #0006,0 0 15px #00d4ff1a}.layer-control-toggle:hover{background:linear-gradient(135deg,#00d4ff,#00a8cc);color:#0a1628;border-color:#00d4ff;transform:scale(1.05);box-shadow:0 6px 25px #00d4ff66}.layer-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#e94560,#c73659);color:#fff;font-size:10px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #e9456080;border:2px solid rgba(10,22,40,.9)}.layer-control-list{position:absolute;top:54px;right:0;width:280px;background:linear-gradient(180deg,#0a1628fa,#0f1e32fa);border:1px solid rgba(0,212,255,.3);border-radius:16px;overflow:hidden;box-shadow:0 10px 40px #00000080,0 0 30px #00d4ff1a;display:flex;flex-direction:column;max-height:calc(100vh - 120px);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.layer-search-container{position:relative;padding:12px 14px;background:#0f1e3299;border-bottom:1px solid rgba(0,212,255,.15);flex-shrink:0}.layer-search-icon{position:absolute;left:24px;top:50%;transform:translateY(-50%);color:#4a5568;pointer-events:none;transition:color .2s}.layer-search-container:focus-within .layer-search-icon{color:#00d4ff}.layer-search-input{width:100%;padding:10px 36px;background:#0a1628cc;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#e0e0e0;font-size:.82rem;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.layer-search-input::placeholder{color:#4a5568}.layer-search-input:focus{border-color:#00d4ff80;box-shadow:0 0 0 3px #00d4ff1a,inset 0 0 10px #00d4ff0d;background:#0a1628f2}.layer-search-clear{position:absolute;right:22px;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#888;font-size:.9rem;cursor:pointer;padding:2px 6px;border-radius:50%;line-height:1;transition:all .2s}.layer-search-clear:hover{background:#e945604d;color:#e94560}.layer-list-scrollable{overflow-y:auto;overflow-x:hidden;max-height:380px;flex:1;padding:8px 0}.layer-list-scrollable::-webkit-scrollbar{width:6px}.layer-list-scrollable::-webkit-scrollbar-track{background:#0003;border-radius:3px}.layer-list-scrollable::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:3px}.layer-list-scrollable::-webkit-scrollbar-thumb:hover{background:#00d4ff80}.layer-control-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;margin:0 10px 6px;background:linear-gradient(90deg,rgba(0,212,255,.15) 0%,transparent 100%);font-size:.75rem;font-weight:700;color:#00d4ff;border-radius:8px;text-transform:uppercase;letter-spacing:.08em}.layer-count{font-size:.65rem;color:#ffffff80;font-weight:500;background:#00d4ff33;padding:3px 8px;border-radius:10px}.layer-item{padding:10px 16px;margin:2px 10px;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.layer-item:hover{background:#00d4ff14;border-color:#00d4ff33}.layer-item.active{background:linear-gradient(90deg,#00d4ff26,#00d4ff0d);border-color:#00d4ff4d}.layer-checkbox-wrapper{display:flex;align-items:center;cursor:pointer;gap:12px;width:100%}.layer-checkbox{display:none}.layer-checkbox-custom{width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;background:#0a162880}.layer-item:hover .layer-checkbox-custom{border-color:#00d4ff66}.layer-checkbox:checked+.layer-checkbox-custom{background:linear-gradient(135deg,#00d4ff,#00a8cc);border-color:#00d4ff;box-shadow:0 0 10px #00d4ff66}.layer-checkbox:checked+.layer-checkbox-custom:after{content:"";width:5px;height:9px;border:solid #0a1628;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.layer-name{font-size:.82rem;color:#fffc;font-weight:500;transition:color .2s}.layer-item:hover .layer-name{color:#e0e0e0}.layer-item.active .layer-name{color:#00d4ff;font-weight:600}.layer-opacity-control{display:flex;align-items:center;gap:8px;margin-top:8px;padding-left:26px}.opacity-slider{flex:1;height:4px;-webkit-appearance:none;background:#333;border-radius:2px;outline:none}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#00d4ff;cursor:pointer}.opacity-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#00d4ff;cursor:pointer;border:none}.opacity-value{font-size:.7rem;color:#888;min-width:32px;text-align:right}.simulation-section{border-top:1px solid rgba(233,69,96,.3);margin-top:12px;padding-top:12px}.simulation-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;margin:0 10px 6px;background:linear-gradient(90deg,rgba(233,69,96,.2) 0%,transparent 100%);font-size:.75rem;font-weight:700;color:#e94560;border-radius:8px;text-transform:uppercase;letter-spacing:.08em}.clear-simulations-btn{background:#e945604d;border:1px solid #e94560;color:#e94560;padding:2px 6px;font-size:.65rem;border-radius:3px;cursor:pointer;transition:all .2s}.clear-simulations-btn:hover{background:#e94560;color:#fff}.virtual-layer{background:#e945600d;border-left:3px solid transparent;border-image:linear-gradient(180deg,#e94560,#ff6b8a) 1}.virtual-layer:hover{background:#e945601f;border-color:#e9456080}.virtual-layer.active{background:linear-gradient(90deg,#e945602e,#e945600d);border-color:#e9456099}.virtual-layer-content{display:flex;justify-content:space-between;align-items:center;width:100%}.virtual-layer-delete{background:transparent;border:none;color:#888;font-size:.8rem;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .2s;opacity:.6}.virtual-layer-delete:hover{background:#e945604d;color:#e94560;opacity:1}.compare-mode-button{display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 24px);margin:12px auto;padding:12px 16px;background:linear-gradient(135deg,#ffa5001f,#ffc8000f);border:1px solid rgba(255,165,0,.35);border-radius:12px;color:orange;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.05em}.compare-mode-button:hover{background:linear-gradient(135deg,#ffa50038,#ffc8001f);border-color:#ffa50099;box-shadow:0 4px 20px #ffa50033;transform:translateY(-1px)}.compare-mode-button.active{background:linear-gradient(135deg,#ffa50047,#ffc80026);border-color:orange;box-shadow:0 0 25px #ffa50040,inset 0 0 15px #ffa50014}.compare-mode-button svg{flex-shrink:0;opacity:.9}.compare-selection{display:flex;flex-direction:column;gap:12px;padding:14px;margin:0 12px 12px;background:linear-gradient(135deg,#ffa50014,#ffc80008);border:1px solid rgba(255,165,0,.25);border-radius:12px}.compare-side{display:flex;flex-direction:column;gap:6px}.compare-side label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:6px}.compare-side.left label{color:#00d4ff}.compare-side.left label:before{content:"";width:8px;height:8px;background:#00d4ff;border-radius:50%;box-shadow:0 0 8px #00d4ff99}.compare-side.right label{color:#0f8}.compare-side.right label:before{content:"";width:8px;height:8px;background:#0f8;border-radius:50%;box-shadow:0 0 8px #0f89}.compare-side select{width:100%;padding:10px 36px 10px 12px;background:#0a1628e6;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#e0e0e0;font-size:.78rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.compare-side select:hover{border-color:#ffffff4d;background-color:#0f1e32e6}.compare-side select:focus{outline:none}.compare-side.left select:focus{border-color:#00d4ff99;box-shadow:0 0 0 3px #00d4ff26}.compare-side.right select:focus{border-color:#0f89;box-shadow:0 0 0 3px #00ff8826}.layer-item.compare-left{background:#00d4ff33;border-left:3px solid #00d4ff}.layer-item.compare-right{background:#0f83;border-left:3px solid #00ff88}.layer-item.compare-left .layer-name{color:#00d4ff}.layer-item.compare-right .layer-name{color:#0f8}.layer-checkbox:disabled+.layer-checkbox-custom{opacity:.5;cursor:not-allowed}.layer-item .layer-checkbox-wrapper{cursor:pointer}.layer-item .layer-checkbox:disabled~.layer-name{opacity:.6}.virtual-layer-name{font-size:.75rem;color:#e0e0e0;font-style:italic}.virtual-layer.active .virtual-layer-name{color:#e94560}.leaflet-draw-actions a{background-color:#0f3460f2!important;color:#e0e0e0!important}.kaleidoscope-vertex{background:#e94560!important;border:2px solid #fff!important;border-radius:50%!important;box-shadow:0 0 4px #00000080!important}.leaflet-draw-guide-dash{stroke:#e94560!important;stroke-width:1!important}.leaflet-draw-tooltip{background:#0f3460f2!important;border:1px solid #00d4ff!important;color:#e0e0e0!important;font-size:.8rem!important}.leaflet-draw-tooltip-single{margin-top:-10px!important}.leaflet-draw-tooltip-subtext{color:#888!important}.drawing-controls{position:absolute;top:16px;left:16px;z-index:1000}.draw-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#0f3460fa;border:2px solid #00d4ff;border-radius:6px;color:#00d4ff;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #0000004d}.draw-btn:hover{background:#00d4ff;color:#1a1a2e;transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.draw-btn svg{width:18px;height:18px}.draw-active{background:#0f3460fa;border:2px solid #e94560;border-radius:6px;padding:14px;min-width:220px;box-shadow:0 4px 16px #e945604d}.draw-info{font-size:.85rem;color:#e94560;margin-bottom:12px;text-align:center;font-weight:500}.draw-actions{display:flex;gap:10px;justify-content:center}.draw-finish,.draw-cancel{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.draw-finish{background:#28a745;color:#fff}.draw-finish:hover{background:#218838;transform:translateY(-1px)}.draw-cancel{background:#6c757d;color:#fff}.draw-cancel:hover{background:#5a6268}.commune-shimmer{animation:shimmerPulse 1.5s ease-in-out infinite;z-index:9999!important}.leaflet-overlay-pane .commune-shimmer{z-index:9999!important}@keyframes shimmerPulse{0%,to{fill-opacity:.1;stroke-opacity:.6}50%{fill-opacity:.25;stroke-opacity:1}}.layer-checkbox-custom.shimmer{background:linear-gradient(90deg,#333 25%,#00d4ff,#333 75%);background-size:200% 100%;animation:shimmerSlide 1.5s infinite}@keyframes shimmerSlide{0%{background-position:200% 0}to{background-position:-200% 0}}.layer-loading-indicator{width:8px;height:8px;background:#00d4ff;border-radius:50%;margin-left:auto;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.layer-item.loading{opacity:.7}.layer-item.loading .layer-name{color:#00d4ff}.legends-container{position:absolute;bottom:25px;left:10px;z-index:1000;display:flex;flex-direction:column;gap:6px;pointer-events:none;max-height:calc(100vh - 150px);overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(0,212,255,.3) transparent}.legends-container::-webkit-scrollbar{width:4px}.legends-container::-webkit-scrollbar-track{background:transparent}.legends-container::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:2px}.legend{background:#0f3460eb;border-radius:8px;padding:8px 10px;border:1px solid rgba(0,212,255,.25);max-width:160px;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease}.legend:hover{border-color:#00d4ff80}.legend h4{font-size:.65rem;color:#888;margin-bottom:5px;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-gradient{width:140px;height:8px;border-radius:2px}.legend-labels{display:flex;justify-content:space-between;font-size:.6rem;color:#888;margin-top:2px}.legend-items{font-size:.6rem}.legend-item{display:flex;align-items:center;gap:4px;margin:2px 0;color:#e0e0e0}.color-box{width:10px;height:10px;border-radius:2px;flex-shrink:0}.leaflet-draw-toolbar a{background-color:#0f3460f2!important;border:1px solid #00d4ff!important;color:#00d4ff!important}.leaflet-draw-toolbar a:hover{background-color:#00d4ff!important;color:#1a1a2e!important}.leaflet-draw-section{border-left:1px solid #00d4ff!important}.leaflet-draw-toolbar .leaflet-draw-draw-polygon,.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-image:none!important}.leaflet-draw-toolbar .leaflet-draw-draw-polygon:before{content:"⬡";font-size:16px;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle:before{content:"▢";font-size:16px;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.leaflet-draw-actions{background-color:#0f3460f2!important;border:1px solid #00d4ff!important}.leaflet-draw-actions li:first-child a{border-radius:4px 0 0 4px!important}.leaflet-draw-actions li:last-child a{border-radius:0 4px 4px 0!important}.leaflet-draw-actions a{background-color:#0f3460f2!important;color:#e0e0e0!important;border:none!important}.leaflet-draw-actions a:hover{background-color:#00d4ff!important;color:#1a1a2e!important}.leaflet-marker-icon.leaflet-div-icon{width:8px!important;height:8px!important;margin-left:-4px!important;margin-top:-4px!important;background:transparent!important;border:none!important;box-shadow:none!important}.leaflet-marker-icon.leaflet-div-icon:before{content:"";position:absolute;width:8px;height:8px;background:#00d4ff;border:1px solid #fff;border-radius:50%;box-shadow:0 0 8px #00d4ff,0 0 16px #00d4ff80;animation:vertex-pulse 1.5s ease-in-out infinite}@keyframes vertex-pulse{0%,to{box-shadow:0 0 8px #00d4ff,0 0 16px #00d4ff80}50%{box-shadow:0 0 12px #00d4ff,0 0 24px #00d4ffb3}}.leaflet-draw-guide-dash{stroke:#00d4ff!important;stroke-width:1px!important;stroke-dasharray:6,4!important;opacity:.8!important}.poi-marker{background:transparent!important;border:none!important}.leaflet-draw-tooltip{background:linear-gradient(135deg,#0f3460fa,#1a1a2efa)!important;border:1px solid rgba(0,212,255,.6)!important;color:#e0e0e0!important;padding:10px 14px!important;border-radius:8px!important;font-size:.8rem!important;font-family:Segoe UI,system-ui,sans-serif!important;box-shadow:0 4px 20px #0006,0 0 20px #00d4ff26!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.leaflet-draw-tooltip-single{margin-top:-20px!important}.leaflet-draw-tooltip span{color:#00d4ff!important;font-weight:600!important}.theme-alert-red{--primary-color: #ff3333 !important;--bg-overlay: rgba(255, 0, 0, .08) !important;--border-glow: rgba(255, 0, 0, .4) !important}.theme-alert-red .chat-panel{background:linear-gradient(180deg,#2a1a1a,#1a0f0f)!important;border-left:2px solid #ff3333!important;box-shadow:inset 0 0 30px #ff00001a!important}.theme-alert-red .chat-header{background:linear-gradient(135deg,#3d1a1a,#2a0f0f)!important;border-bottom:1px solid rgba(255,51,51,.3)!important}.theme-alert-red .header-text h2,.theme-alert-red .ai-bottom-sheet .sheet-header h3{color:#f33!important;text-shadow:0 0 10px rgba(255,51,51,.5)!important}.theme-alert-red .ai-bottom-sheet{background:linear-gradient(180deg,#2a1a1a,#1a0a0a)!important;border-top:1px solid rgba(255,51,51,.4)!important;box-shadow:0 -10px 40px #f003!important}.theme-alert-orange{--primary-color: #ff8c00 !important;--bg-overlay: rgba(255, 140, 0, .08) !important;--border-glow: rgba(255, 140, 0, .4) !important}.theme-alert-orange .chat-panel{background:linear-gradient(180deg,#2a2010,#1a150a)!important;border-left:2px solid #ff8c00!important;box-shadow:inset 0 0 30px #ff8c001a!important}.theme-alert-orange .chat-header{background:linear-gradient(135deg,#3d2a10,#2a1f0a)!important;border-bottom:1px solid rgba(255,140,0,.3)!important}.theme-alert-orange .header-text h2,.theme-alert-orange .ai-bottom-sheet .sheet-header h3{color:#ff8c00!important;text-shadow:0 0 10px rgba(255,140,0,.5)!important}.theme-alert-orange .ai-bottom-sheet{background:linear-gradient(180deg,#2a2010,#1a100a)!important;border-top:1px solid rgba(255,140,0,.4)!important;box-shadow:0 -10px 40px #ff8c0033!important}.theme-alert-green{--primary-color: #00ff88 !important;--bg-overlay: rgba(0, 255, 136, .08) !important;--border-glow: rgba(0, 255, 136, .4) !important}.theme-alert-green .chat-panel{background:linear-gradient(180deg,#1a2a1a,#0f1a0f)!important;border-left:2px solid #00ff88!important;box-shadow:inset 0 0 30px #00ff881a!important}.theme-alert-green .chat-header{background:linear-gradient(135deg,#1a3d1a,#0f2a0f)!important;border-bottom:1px solid rgba(0,255,136,.3)!important}.theme-alert-green .header-text h2,.theme-alert-green .ai-bottom-sheet .sheet-header h3{color:#0f8!important;text-shadow:0 0 10px rgba(0,255,136,.5)!important}.theme-alert-green .ai-bottom-sheet{background:linear-gradient(180deg,#1a2a1a,#0a1a0a)!important;border-top:1px solid rgba(0,255,136,.4)!important;box-shadow:0 -10px 40px #0f83!important}.theme-night-ops{--primary-color: #666666 !important;--bg-overlay: rgba(0, 0, 0, .3) !important;--border-glow: rgba(100, 100, 100, .2) !important}.theme-night-ops .chat-panel,.theme-night-ops .ai-bottom-sheet{background:#0a0a0a!important;border-color:#222!important}.theme-night-ops .header-text h2,.theme-night-ops .ai-bottom-sheet .sheet-header h3{color:#666!important}.theme-thermal-view{--primary-color: #ff6600 !important;--bg-overlay: rgba(255, 102, 0, .05) !important}.theme-thermal-view .chat-panel{background:linear-gradient(180deg,#1a0a1a,#0a0510)!important;border-left:2px solid #ff6600!important}.theme-thermal-view .header-text h2{color:#f60!important;text-shadow:0 0 15px rgba(255,102,0,.6)!important}.theme-eco-mode{--primary-color: #00cc66 !important;--bg-overlay: rgba(0, 204, 102, .05) !important}.theme-eco-mode .chat-panel{background:linear-gradient(180deg,#0f2a1a,#051a0f)!important;border-left:2px solid #00cc66!important}.theme-eco-mode .header-text h2{color:#0c6!important;text-shadow:0 0 10px rgba(0,204,102,.5)!important}.chat-panel,.chat-header,.ai-bottom-sheet,.header-text h2{transition:all .5s ease-in-out}.comparison-slider-overlay,.comparison-slider-overlay *{-webkit-user-select:none;user-select:none}.comparison-slider-overlay [style*="cursor: ew-resize"]:active{transform:translate(-50%) scale(1.1)}@keyframes comparisonPulse{0%,to{box-shadow:0 4px 20px #ffa5004d;border-color:#ffa50080}50%{box-shadow:0 4px 30px #ffa50080,0 0 50px #ffa50033;border-color:#ffa500cc}}.leaflet-overlay-pane .ai-drawing{z-index:450!important}.leaflet-overlay-pane .ai-drawing path{filter:drop-shadow(0 0 8px rgba(0,212,255,.6))}.ai-drawing-label{z-index:500!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}.leaflet-image-layer{transition:clip-path .1s ease-out;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.leaflet-container.leaflet-drag-target .leaflet-image-layer,.leaflet-container.leaflet-zoom-anim .leaflet-image-layer{opacity:.85!important;image-rendering:optimizeSpeed}.leaflet-container:not(.leaflet-drag-target):not(.leaflet-zoom-anim) .leaflet-image-layer{image-rendering:auto}.leaflet-tile-container{will-change:transform;transform:translateZ(0)}.leaflet-tile{will-change:auto;backface-visibility:hidden;border:none!important;outline:none!important;margin:0!important;padding:0!important}.leaflet-container.leaflet-moving .leaflet-image-layer,.leaflet-container.leaflet-zooming .leaflet-image-layer{transition:none!important;image-rendering:-webkit-optimize-contrast}.leaflet-image-layer.satellite-layer{contain:strict;isolation:isolate}.leaflet-container.leaflet-moving .satellite-layer,.leaflet-container.leaflet-zooming .satellite-layer{filter:none!important;opacity:.8!important}.satellite-tiles{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.leaflet-esri-satellite-pane{will-change:clip-path,transform;transform:translateZ(0);backface-visibility:hidden}.leaflet-container.leaflet-moving .satellite-tiles img,.leaflet-container.leaflet-zooming .satellite-tiles img{image-rendering:optimizeSpeed}.commune-glow-border{filter:drop-shadow(0 0 8px rgba(0,212,255,.8)) drop-shadow(0 0 16px rgba(0,212,255,.5))}.background-mode-toggle{position:absolute;top:160px;left:10px;z-index:1000}.bg-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid rgba(0,212,255,.4);border-radius:8px;background:#0a0a1ae6;color:#a0aec0;font-size:12px;font-weight:500;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000004d}.bg-toggle-btn:hover{background:#00d4ff26;border-color:#00d4ff99;color:#00d4ff;transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff33}.bg-toggle-btn.dark-mode{border-color:#64647880}.bg-toggle-btn.dark-mode .bg-toggle-label{color:#8892a0}.bg-toggle-btn.esri-mode{border-color:#00ff8880;background:linear-gradient(135deg,#00ff881a,#0a0a1ae6)}.bg-toggle-btn.esri-mode .bg-toggle-label{color:#0f8}.bg-toggle-icon{font-size:16px}.bg-toggle-label{white-space:nowrap}.comparison-slider-overlay>div:first-child{animation:sliderGlow 2s ease-in-out infinite}@keyframes sliderGlow{0%,to{box-shadow:0 0 20px #00d4ffcc,0 0 40px #00d4ff66}50%{box-shadow:0 0 30px #00d4ff,0 0 60px #00d4ff99,0 0 80px #00ff884d}}.simulation-legends-container{position:absolute;bottom:25px;right:420px;z-index:1000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.simulation-legend{background:linear-gradient(135deg,#0a1628fa,#0f3460f2);border:1px solid rgba(0,255,136,.5);box-shadow:0 4px 20px #0f83,inset 0 0 20px #00ff880d;max-width:220px;animation:simLegendGlow 3s ease-in-out infinite}.simulation-legend h4{color:#0f8;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.simulation-legend .legend-gradient{width:180px;height:12px;border-radius:4px;border:1px solid rgba(0,255,136,.3)}.simulation-legend .legend-labels{color:#a0a0a0;font-size:.7rem}.simulation-legend .simulation-stats{margin-top:6px;padding-top:6px;border-top:1px solid rgba(0,255,136,.2)}.simulation-legend .simulation-stats small{color:#0f8;font-size:.65rem;font-weight:500}@keyframes simLegendGlow{0%,to{box-shadow:0 4px 20px #0f83,inset 0 0 20px #00ff880d}50%{box-shadow:0 4px 30px #00ff8859,inset 0 0 30px #00ff8814}}.drawing-notification{position:absolute;top:80px;left:50%;transform:translate(-50%);z-index:2000;display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#0a1628fa,#16213ef2);border:2px solid rgba(255,165,0,.6);border-radius:16px;padding:16px 20px;box-shadow:0 8px 32px #ffa5004d,0 0 60px #ffa50026,inset 0 0 30px #ffa5000d;animation:drawNotificationPulse 2s ease-in-out infinite;max-width:450px}.drawing-notification-icon{flex-shrink:0;width:48px;height:48px;background:#ffa50026;border-radius:12px;display:flex;align-items:center;justify-content:center;animation:iconPulse 1.5s ease-in-out infinite}.drawing-notification-content{flex:1}.drawing-notification-content h4{color:orange;font-size:.95rem;font-weight:700;margin-bottom:6px;text-transform:uppercase;letter-spacing:.1em}.drawing-notification-reason{color:#e0e0e0;font-size:.85rem;margin-bottom:8px;line-height:1.4}.drawing-notification-action{color:#00d4ff;font-size:.8rem;font-weight:500;padding:8px 12px;background:#00d4ff1a;border-radius:8px;border:1px solid rgba(0,212,255,.3)}.drawing-notification-close{flex-shrink:0;width:28px;height:28px;border:none;background:#ffffff1a;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.drawing-notification-close svg{stroke:#888;transition:stroke .2s}.drawing-notification-close:hover{background:#ff64644d}.drawing-notification-close:hover svg{stroke:#ff6b6b}@keyframes drawNotificationPulse{0%,to{box-shadow:0 8px 32px #ffa5004d,0 0 60px #ffa50026,inset 0 0 30px #ffa5000d}50%{box-shadow:0 8px 40px #ffa50073,0 0 80px #ffa50040,inset 0 0 40px #ffa50014}}@keyframes iconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}.mobile-chat-fab{display:none;position:fixed;bottom:20px;right:20px;z-index:1500;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#00d4ff,#07a);border:none;box-shadow:0 4px 20px #00d4ff66,0 0 30px #00d4ff33;cursor:pointer;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.mobile-chat-fab svg{stroke:#fff;fill:none}.mobile-chat-fab:active{transform:scale(.9);box-shadow:0 2px 10px #00d4ff4d}.mobile-chat-fab.hidden{transform:scale(0) rotate(90deg);opacity:0;pointer-events:none}.mobile-chat-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1600;opacity:0;animation:fadeIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-chat-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;z-index:1700;background:linear-gradient(180deg,#0a1628,#0d1b2a);box-shadow:-4px 0 30px #00000080;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1),visibility .4s cubic-bezier(.4,0,.2,1);overflow:hidden;visibility:hidden}.mobile-chat-panel.open{transform:translate(0);visibility:visible}.mobile-chat-close{position:absolute;top:12px;right:12px;z-index:100;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:50%;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.mobile-chat-close svg{stroke:#aaa;transition:stroke .2s ease}.mobile-chat-close:active{background:#e945604d;border-color:#e9456080}.mobile-chat-close:active svg{stroke:#e94560}.mobile-chat-panel .chat-panel{width:100%;height:100%;border:none;border-radius:0}.mobile-chat-panel .ai-bottom-sheet{transition:transform .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1)}@media screen and (max-width: 1024px){:root{--chat-panel-width: 350px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:8px}.stat-icon{width:32px;height:32px}.stat-value{font-size:.9rem}.layer-control-panel{max-width:280px}}@media screen and (max-width: 768px){:root{--chat-panel-width: 100%;--font-xs: .65rem;--font-sm: .75rem;--font-md: .85rem;--font-lg: .95rem}.app-container{flex-direction:column}.map-container{width:100%;height:100%;touch-action:pan-x pan-y pinch-zoom}.leaflet-container{touch-action:pan-x pan-y pinch-zoom!important}.chat-panel:not(.mobile-chat-panel .chat-panel){display:none}.layer-control-panel{max-width:240px}.layer-control-list{max-height:55vh;width:240px}.legends-container{max-height:calc(100vh - 180px);bottom:20px;left:8px}.legend{max-width:140px;padding:6px 8px}.legend h4{font-size:.6rem}.legend-gradient{width:120px;height:6px}.legend-labels{font-size:.55rem}.mobile-chat-fab{display:flex}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:10px}.stat-icon{width:32px;height:32px}.stat-value{font-size:.9rem}.ai-input-container{padding:var(--spacing-sm);border-radius:var(--radius-lg);margin:var(--spacing-sm)}.ai-input-container textarea{font-size:16px}.ai-send-btn{width:44px;height:44px}.scenario-buttons{overflow-x:auto;flex-wrap:nowrap;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none}.scenario-buttons::-webkit-scrollbar{display:none}.scenario-btn{flex-shrink:0;min-height:36px;padding:8px 14px}.message{margin-bottom:var(--spacing-md);padding:var(--spacing-md);font-size:var(--font-md)}.message.user{margin-left:var(--spacing-md)}.drawing-mode-notification{top:70px;left:var(--spacing-md);right:var(--spacing-md);transform:none;font-size:var(--font-sm);padding:var(--spacing-sm) var(--spacing-md)}.leaflet-control-zoom{margin-left:10px!important;margin-top:10px!important}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important;font-size:18px!important}.simulation-hud{padding:var(--spacing-sm)}.sim-values{flex-wrap:wrap}.neural-processing{padding:var(--spacing-md);margin:var(--spacing-sm) 0}.neural-indicator{width:40px;height:40px}.drawing-notification{left:var(--spacing-sm);right:var(--spacing-sm);bottom:100px;max-width:none;padding:var(--spacing-md)}.drawing-notification-icon{width:40px;height:40px}}@media screen and (max-width: 480px){:root{--font-xs: .6rem;--font-sm: .7rem;--font-md: .8rem;--font-lg: .9rem}.mobile-chat-fab{width:54px;height:54px;bottom:16px;right:16px}.mobile-chat-fab svg{width:20px;height:20px}.mobile-chat-fab span{font-size:.6rem}.layer-control-panel{max-width:240px}.layer-control-list{max-height:50vh}.stat-card{padding:var(--spacing-sm);gap:var(--spacing-sm)}.stat-icon{width:28px;height:28px}.stat-label{font-size:var(--font-xs)}.stat-value{font-size:var(--font-md)}.stat-range{font-size:var(--font-xs)}}@media screen and (max-width: 900px) and (orientation: landscape){.mobile-chat-fab{bottom:12px;right:12px;width:50px;height:50px}.mobile-chat-panel{max-width:50%}.layer-control-list{max-height:70vh}}@media screen and (min-width: 1400px){:root{--chat-panel-width: 450px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat-card{padding:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.chat-panel{transition:none}.mobile-nav-toggle svg{transition:none}}@media (prefers-color-scheme: dark){:root{color-scheme:dark}}@media (prefers-contrast: high){.stat-card{border:2px solid rgba(255,255,255,.3)}.message{border:1px solid rgba(255,255,255,.3)}.ai-input-container{border:2px solid rgba(0,212,255,.5)}}@media print{.chat-panel,.mobile-chat-fab,.mobile-chat-panel,.mobile-chat-overlay,.map-controls{display:none!important}.map-container{width:100%!important;height:auto!important}}@media screen and (min-width: 769px){.mobile-chat-fab,.mobile-chat-panel,.mobile-chat-overlay{display:none!important}}.chat-panel-content,.stats-panel,.layer-control-list,.chat-messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.touch-feedback:active{opacity:.7;transform:scale(.98)}.mobile-nav-toggle,.quick-action-btn,.scenario-btn,.map-control-btn,.layer-item,.stat-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,a,.stat-card,.layer-item{transition:transform .15s ease,opacity .15s ease,background .2s ease}.scroll-indicator{position:absolute;right:2px;width:4px;background:#00d4ff4d;border-radius:2px;opacity:0;transition:opacity .3s ease}.scroll-container::-webkit-scrollbar{width:4px}.scroll-container.scrolling .scroll-indicator{opacity:1}.gesture-hint{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:.75rem;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:3000}.gesture-hint.visible{opacity:1}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.pull-indicator{position:absolute;top:-50px;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:#00d4ff33;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.pull-indicator.pulling{transform:translate(-50%) translateY(60px)}.pull-indicator svg{stroke:#00d4ff;transition:transform .3s ease}.pull-indicator.pulling svg{transform:rotate(180deg)}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.notification-badge{animation:badge-pulse 2s ease-in-out infinite}.drag-indicator{width:36px;height:5px;background:#ffffff4d;border-radius:3px;margin:8px auto}.drag-indicator:active{background:#00d4ff99}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s}.ripple:active:after{width:200%;height:200%}
