.PocketGIS{position:relative;height:calc(100vh - 96px);overflow:hidden}@media(min-width:760px){.PocketGIS{display:flex;height:calc(100vh - 48px)}}.PocketGIS__map{flex:1 1;position:relative}.PocketGIS__layer-list{border-top:1px solid #ddd}.PocketGIS__add-point{position:absolute;bottom:10px;right:50%;transform:translate(50%);font-size:1rem;background-color:#fff;border-radius:5px;box-shadow:0 0 25px rgba(0,0,0,.5);transition:all .5s;width:160px;max-height:50px;opacity:1}.PocketGIS__add-point--shown{width:300px;max-height:400px;opacity:1}.PocketGIS__add-point--hidden{width:160px;max-height:1px;opacity:0}.PocketGIS__add-point-form{padding:10px 10px 70px}.PocketGIS__add-point-form select{width:100%;padding:5px;margin-bottom:10px}.PocketGIS__add-point-form label{margin:0 0 3px}.PocketGIS__add-point-btns{position:absolute;bottom:10px;left:10px;display:flex;gap:10px;justify-content:stretch;align-items:center}.PocketGIS__add-point-btn{display:flex;height:100%;width:100%;gap:10px;justify-content:center;align-items:center}.PocketGIS__panel{position:fixed;display:none;flex:0 0 350px;background-color:#eee;flex-direction:column;justify-content:space-between}@media(min-width:760px){.PocketGIS__panel{position:static;display:flex}}.PocketGIS__panel--shown{display:block;top:0;left:0;bottom:0;width:300px;z-index:100;box-shadow:0 0 25px rgba(0,0,0,.5)}.PocketGIS__panel-title{margin:20px 10px 10px;font-size:80%}.PocketGIS__panel-toggle{background-color:#fff;position:fixed;top:110px;left:10px;width:48px;height:48px;z-index:100;color:#000;border-radius:4px;box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media(min-width:760px){.PocketGIS__panel-toggle{display:none}}.PocketGIS__panel-toggle--shown{left:305px}.PocketGIS__panel-actions{margin:10px;display:flex;gap:10px}.PocketGIS__panel-actions>*{display:block;flex:1 1;white-space:unset}.PocketGIS .maplibregl-export-list{max-width:400px;padding:10px}.PocketGIS .maplibregl-export-list button{background-color:#4e578e}.PocketGIS__basemap-btns{padding:10px;display:flex;gap:10px}.PocketGIS__basemap-btn{overflow:visible;margin:0;padding:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text;border-radius:15px;overflow:hidden;border:3px solid #fff}.PocketGIS__basemap-btn::-moz-focus-inner{padding:0;border:0}.PocketGIS__basemap-btn:active,.PocketGIS__basemap-btn:focus,.PocketGIS__basemap-btn:hover{background:none;color:inherit;outline:0}.PocketGIS__basemap-btn svg{vertical-align:middle}.PocketGIS__basemap-btn--active{border:3px solid #4e578e}.PocketGIS__popup .maplibregl-popup-content{max-height:300px;overflow-y:auto;box-shadow:0 0 25px #111}.PocketGIS__draggable{position:absolute;right:100px;top:100px;width:600px;max-width:80%;background-color:#fff;box-shadow:0 0 25px #111}.PocketGIS__draggable--data{width:1000px}.PocketGIS__draggable-handle{padding:5px 10px;color:#fff;background-color:#444;cursor:move}.PocketGIS__close{overflow:visible;padding:0;border:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text;background-color:#4e578e;position:absolute;top:0;right:0;width:40px;height:40px;margin:-20px -20px 0 0;color:#fff;border-radius:20px}.PocketGIS__close::-moz-focus-inner{padding:0;border:0}.PocketGIS__close:active,.PocketGIS__close:focus,.PocketGIS__close:hover{background:none;color:inherit;outline:0}.PocketGIS__close svg{vertical-align:middle}.PocketGIS__close:focus,.PocketGIS__close:hover{background-color:#4e578e;color:#fff}.AttributeTable{position:relative}.AttributeTable__bar{bottom:10px;right:10px;z-index:100;border:1px solid #ddd;padding:5px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;background-color:#f8f9fa}.AttributeTable__download{overflow:visible;margin:0;border:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text;display:inline-flex;gap:10px;align-items:center;padding:10px}.AttributeTable__download::-moz-focus-inner{padding:0;border:0}.AttributeTable__download:active,.AttributeTable__download:focus,.AttributeTable__download:hover{background:none;color:inherit;outline:0}.AttributeTable__download svg{vertical-align:middle;opacity:.5}.AddLayer__layer{display:flex;border-bottom:1px solid #ddd;align-items:center;text-align:left;padding-bottom:10px;margin-bottom:10px}.AddLayer__layer select{flex:0 0 100px;margin:0 0 0 20px;padding:7px}.AddLayer__layer input{flex:1 1}.AddLayer__add{overflow:visible;margin:0;padding:0;border:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text}.AddLayer__add::-moz-focus-inner{padding:0;border:0}.AddLayer__add:active,.AddLayer__add:focus,.AddLayer__add:hover{background:none;color:inherit;outline:0}.AddLayer__add svg{vertical-align:middle}.AddLayer__item{overflow:visible;margin:0;border:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text;width:100%;display:flex;gap:10px;border-bottom:1px solid #ddd;align-items:flex-start;text-align:left;padding:5px 10px;white-space:wrap}.AddLayer__item::-moz-focus-inner{padding:0;border:0}.AddLayer__item:active,.AddLayer__item:focus,.AddLayer__item:hover{background:none;color:inherit;outline:0}.AddLayer__item svg{vertical-align:middle}.AddLayer__item:hover{background-color:#ddd}.AddLayer__item:last-of-type{border-bottom:none}.AddLayer__item-btn{position:absolute;right:0;top:0;overflow:visible;margin:0;border:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text;display:none;padding:5px 10px}.AddLayer__item-btn::-moz-focus-inner{padding:0;border:0}.AddLayer__item-btn:active,.AddLayer__item-btn:focus,.AddLayer__item-btn:hover{background:none;color:inherit;outline:0}.AddLayer__item-btn svg{vertical-align:middle}.AddLayer__item-btn:hover{background-color:#95202d;color:#fff}.AddLayer__item-wrapper{position:relative}.AddLayer__item-wrapper:hover .AddLayer__item-btn{display:block}.AddLayer__btn{margin-top:20px}.LayerControl{display:flex;border-bottom:1px solid #ddd;align-items:center}.LayerControl__name{flex:1 1;padding:0 10px;display:flex;align-items:center}.LayerControl__actions{display:flex}.LayerControl__handle{align-self:stretch;border-right:1px solid #ddd;padding:13px 10px 0;color:#aaa}.LayerControl__action{overflow:visible;margin:0;border:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text;align-self:stretch;border-left:1px solid #ddd;padding:10px;color:#444}.LayerControl__action::-moz-focus-inner{padding:0;border:0}.LayerControl__action:active,.LayerControl__action:focus,.LayerControl__action:hover{background:none;color:inherit;outline:0}.LayerControl__action svg,.LayerControl__dot{vertical-align:middle}.LayerControl__dot{width:10px;height:10px;border-radius:10px;margin-right:10px;display:inline-block}.StyleEditor{padding:10px}.StyleEditor__modes{display:flex;background-color:#e1d9c9;border-radius:5px;overflow:hidden;margin-bottom:20px}.StyleEditor__mode{overflow:visible;margin:0;border:0;display:inline-block;color:inherit;background:rgba(0,0,0,0);border-radius:0;font:inherit;line-height:inherit;text-decoration:none;cursor:pointer;-moz-user-select:text;flex:1 1;padding:10px}.StyleEditor__mode::-moz-focus-inner{padding:0;border:0}.StyleEditor__mode:active,.StyleEditor__mode:focus,.StyleEditor__mode:hover{background:none;color:inherit;outline:0}.StyleEditor__mode svg{vertical-align:middle}.StyleEditor__mode--active,.StyleEditor__mode:active,.StyleEditor__mode:focus,.StyleEditor__mode:hover{background-color:#716d65}.StyleEditor__input{width:100%;display:block}.StyleEditor__input--color{padding:0}.StyleEditor__row{border-bottom:1px solid #ddd;padding:10px;display:flex;align-items:flex-start}.StyleEditor__row:last-of-type{border-bottom:none}.StyleEditor__label{flex:0 0 130px;text-transform:uppercase;padding-top:5px;font-size:70%;font-weight:700;opacity:.5}.StyleEditor__control{flex:1 1}.StyleEditor__sub-row{display:flex;align-items:center;margin-bottom:10px}.StyleEditor__sub-label{flex:0 0 170px}.StyleEditor__sub-control{flex:1 1}.StyleEditor__colorscale-options{display:flex}.StyleEditor__colorscale-options>div{flex:1 1;height:20px}.AttributeTable__downloads{display:flex;gap:.5rem}.AttributeTable__filter-info{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:#666}.AttributeTable__clear-all-filters{background:#dc3545;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem}.AttributeTable__clear-all-filters:hover{background:#c82333}.AttributeTable__title{position:relative;display:flex;align-items:center;gap:.5rem;font-weight:600;z-index:1}.AttributeTable__filter-btn{background:#f8f9fa;border:1px solid #dee2e6;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s ease;color:#444}.AttributeTable__filter-btn:hover{color:#444;background:#e9ecef;border-color:#adb5bd}.AttributeTable__filter-btn.active{background:#007bff;color:#fff;border-color:#007bff}.AttributeTable__filter-dropdown{position:fixed;z-index:1000;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:280px;max-width:400px}.AttributeTable__filter-content{padding:1rem}.AttributeTable__filter-section{margin-bottom:1rem}.AttributeTable__filter-section:last-of-type{margin-bottom:0}.AttributeTable__filter-section label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:#333}.AttributeTable__filter-section input,.AttributeTable__filter-section select{width:100%;padding:.5rem;border:1px solid #dee2e6;border-radius:4px;font-size:.9rem}.AttributeTable__filter-section input:focus,.AttributeTable__filter-section select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.AttributeTable__filter-values{display:flex;flex-wrap:wrap;gap:.25rem;max-height:120px;overflow-y:auto}.AttributeTable__filter-value-btn{background:#f8f9fa;border:1px solid #dee2e6;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all .2s ease;color:#444}.AttributeTable__filter-value-btn:hover{color:#444;background:#007bff;color:#fff;border-color:#007bff}.AttributeTable__filter-more{font-size:.8rem;color:#6c757d;font-style:italic;align-self:center}.AttributeTable__filter-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.AttributeTable__filter-clear{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s ease}.AttributeTable__filter-clear:hover{background:#c82333}.AttributeTable__filter-close{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s ease}.AttributeTable__filter-close:hover{background:#5a6268}@media(max-width:768px){.AttributeTable__filter-info{flex-direction:column;align-items:flex-start;gap:.5rem}.AttributeTable__filter-dropdown{min-width:250px;left:auto;right:0}}