.app-layout{display:flex;width:100%;height:100%;overflow:hidden}.app-sidebar{height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease;position:relative}.app-sidebar.collapsed{border-right:none}.app-main{flex:1;height:100%;position:relative;overflow:hidden}.app-panel{height:100%;background:transparent;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.configure-classes-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);width:90%;max-width:500px;height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;overflow:hidden}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0}.dialog-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0}.dialog-header-actions{display:flex;align-items:center;gap:var(--space-2)}.dialog-close-btn{padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast)}.dialog-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.dialog-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4);min-height:0}.palette-selector{margin-bottom:var(--space-4);padding:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xs)}.palette-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-2)}.palette-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.palette-dropdown{flex:1;min-width:150px;padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast)}.palette-dropdown:hover{border-color:var(--border-secondary)}.palette-dropdown:focus{outline:none;border-color:var(--border-focus)}.palette-dropdown-wrapper{position:relative;flex:1;min-width:200px}.palette-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast)}.palette-dropdown-trigger:hover{border-color:var(--border-secondary)}.palette-dropdown-arrow{flex-shrink:0;color:var(--text-secondary);transition:transform var(--transition-fast)}.palette-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:1000}.palette-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);text-align:left}.palette-dropdown-item:hover{background:var(--bg-hover)}.palette-dropdown-item.active{background:var(--bg-tertiary)}.palette-option-name{flex-shrink:0}.palette-option-swatches{display:flex;gap:2px;align-items:center}.palette-swatch-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.palette-preview{display:flex;gap:2px;border:1px solid var(--border-primary);border-radius:var(--radius-xs);overflow:hidden;height:24px}.palette-preview-swatch{width:20px;height:100%;flex-shrink:0}.palette-reverse-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.palette-reverse-checkbox{cursor:pointer}.categories-list,.breaks-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:400px;overflow-y:auto}.category-item,.break-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);transition:background var(--transition-fast)}.category-item:hover,.break-item:hover{background:var(--bg-hover)}.category-color-picker,.break-color-picker{width:40px;height:40px;border:2px solid var(--border-primary);border-radius:var(--radius-xs);cursor:pointer;transition:border-color var(--transition-fast)}.category-color-picker:hover,.break-color-picker:hover{border-color:var(--border-focus)}.category-label,.break-label{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.category-value{font-size:var(--font-size-xs);color:var(--text-tertiary);font-family:monospace}.steps-control{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);margin-bottom:var(--space-3)}.steps-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.steps-input{width:80px;padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.steps-input:focus{outline:none;border-color:var(--border-focus)}.break-values{display:flex;align-items:center;gap:var(--space-2);flex:1}.break-value-input{flex:1;padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xs);color:var(--text-primary);font-size:var(--font-size-sm);font-family:monospace;transition:border-color var(--transition-fast)}.break-value-input:focus{outline:none;border-color:var(--border-focus)}.break-separator{color:var(--text-secondary);font-weight:500}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0}.dialog-footer .btn-primary,.dialog-footer .btn-secondary{flex:1;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.dialog-footer .btn-primary{background:var(--accent-primary);color:#fff;border:none}.dialog-footer .btn-primary:hover{background:var(--accent-hover)}.dialog-footer .btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.dialog-footer .btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.symbology-panel{display:flex;flex-direction:column;background:var(--bg-secondary)}.symbology-header{padding:var(--space-2) var(--space-3);background:var(--bg-secondary)}.symbology-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.05em}.symbology-type-selector{display:flex;gap:0;padding:0 var(--space-3);background:var(--bg-secondary);margin-bottom:0}.symbology-type-btn{flex:1;padding:var(--space-2) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em;position:relative}.symbology-type-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-secondary)}.symbology-type-btn+.symbology-type-btn{border-left:none}.symbology-type-btn.active{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-subtle);border-bottom:1px solid var(--bg-secondary);z-index:1}.symbology-type-btn:disabled{opacity:.3;cursor:not-allowed}.symbology-section{padding:var(--space-3);border:1px solid var(--border-subtle);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);margin:0 var(--space-3) var(--space-2) var(--space-3);background:var(--bg-secondary)}.properties-section{padding:0 var(--space-3) var(--space-3) var(--space-3);margin:0;background:var(--bg-secondary)}.properties-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0}.symbology-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-2) 0}.symbology-control{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.symbology-control:last-child{margin-bottom:0}.symbology-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);min-width:56px;letter-spacing:-.01em}.symbology-select{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;outline:none;transition:all var(--transition-fast)}.symbology-select:hover{border-color:var(--border-secondary)}.symbology-select:focus{border-color:var(--border-focus);background:var(--bg-secondary)}.symbol-dropdown{position:relative;width:52px}.symbol-dropdown-trigger{display:flex;align-items:center;gap:2px;padding:3px 4px;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.symbol-dropdown-trigger:hover{border-color:var(--border-secondary)}.symbol-dropdown-arrow{color:var(--text-secondary);flex-shrink:0}.symbol-dropdown-list{display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:10000;max-height:200px;overflow-y:auto}.symbol-dropdown-item{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:none;border:none;cursor:pointer;transition:background var(--transition-fast)}.symbol-dropdown-item:hover{background:var(--bg-secondary)}.symbol-dropdown-item.active{background:var(--bg-tertiary)}.symbology-slider{flex:1;height:2px;border-radius:1px;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;background:transparent;border:none}.symbology-slider::-webkit-slider-runnable-track{height:2px;border-radius:1px;background:var(--border-primary)}.symbology-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--bg-secondary);cursor:pointer;transition:all var(--transition-fast);border:2px solid var(--accent-primary);box-shadow:0 1px 2px #0000001a;margin-top:-4px}.symbology-slider::-webkit-slider-thumb:hover{border-color:var(--accent-hover);box-shadow:0 2px 3px #00000026;transform:scale(1.15)}.symbology-slider::-moz-range-track{height:2px;border-radius:1px;background:var(--border-primary)}.symbology-slider::-moz-range-progress{height:2px;border-radius:1px;background:var(--accent-primary)}.symbology-slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--bg-secondary);cursor:pointer;border:2px solid var(--accent-primary);transition:all var(--transition-fast);box-shadow:0 1px 2px #0000001a}.symbology-slider::-moz-range-thumb:hover{border-color:var(--accent-hover);box-shadow:0 2px 3px #00000026;transform:scale(1.15)}.symbology-value{font-size:var(--font-size-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.symbology-info{margin-top:var(--space-2);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.symbology-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:0;line-height:var(--line-height-base)}.symbology-empty{padding:var(--space-4);text-align:center}.symbology-empty p{font-size:var(--font-size-xs);color:var(--text-muted);margin:0}.layer-color-picker-wrapper{display:flex;align-items:center;gap:var(--space-2);flex:1}.layer-color-picker{width:36px;height:20px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;padding:0;background:none;transition:border-color var(--transition-fast)}.layer-color-picker:hover{border-color:var(--border-secondary)}.layer-color-picker::-webkit-color-swatch-wrapper{padding:0}.layer-color-picker::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.layer-color-picker::-moz-color-swatch{border:none;border-radius:var(--radius-sm)}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.confirm-dialog{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:0;box-shadow:0 10px 40px #0000004d;max-width:400px;width:90%;padding:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.confirm-dialog-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.confirm-dialog-icon-danger{background:#ef44441f;color:#ef4444}.confirm-dialog-icon-warning{background:#f59e0b1f;color:#f59e0b}.confirm-dialog-icon-default{background:#3b82f61f;color:#3b82f6}.confirm-dialog-content{text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.confirm-dialog-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.confirm-dialog-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.confirm-dialog-detail{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0;line-height:1.5;padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.confirm-dialog-actions{display:flex;gap:var(--space-2);width:100%}.confirm-dialog-btn{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast)}.confirm-dialog-btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.confirm-dialog-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.confirm-dialog-btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.confirm-dialog-btn-danger:hover{background:#dc2626;border-color:#dc2626}.confirm-dialog-btn-warning{background:#f59e0b;color:#fff;border-color:#f59e0b}.confirm-dialog-btn-warning:hover{background:#d97706;border-color:#d97706}.confirm-dialog-btn-default{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.confirm-dialog-btn-default:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.layer-list{display:flex;flex-direction:column;padding:0 var(--space-3)}.layer-list-actions{padding:var(--space-2);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-1);background:var(--bg-tertiary)}.layer-list-actions button{width:100%}.layer-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden;transition:border-color var(--transition-fast)}.layer-saving-indicator{display:flex;align-items:center;gap:4px;color:var(--accent-primary);font-size:11px}.layer-upload-icon{animation:layer-upload-pulse 1.5s ease-in-out infinite}@keyframes layer-upload-pulse{0%,to{opacity:.4}50%{opacity:1}}.layer-saving-text{font-weight:500}.layer-item:hover{border-color:var(--border-secondary)}.layer-item+.layer-item{margin-top:var(--space-1)}.layer-item-header{display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-2);transition:background var(--transition-fast);cursor:default}.layer-item-header:hover{background:var(--bg-hover)}.layer-item-header:active{cursor:grabbing}.layer-header-actions{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.layer-visibility-btn,.layer-expand-btn,.layer-menu-btn{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;width:16px;height:16px}.layer-menu-btn{margin-left:-2px}.layer-visibility-btn:hover,.layer-expand-btn:hover,.layer-menu-btn:hover{color:var(--text-secondary)}.context-menu-overlay{position:fixed;inset:0;z-index:9999;pointer-events:auto}.layer-context-menu{position:fixed;z-index:10000;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;min-width:140px;padding:var(--space-1) 0;pointer-events:auto}.context-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:none;color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:background var(--transition-fast);pointer-events:auto}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item svg{flex-shrink:0;color:var(--text-secondary)}.context-menu-item-danger{color:var(--error)}.context-menu-item-danger svg{color:var(--error)}.context-menu-item-danger:hover{background:#9c44441a}.layer-color-indicator{width:20px;height:20px;border-radius:var(--radius-sm);flex-shrink:0;border:none;cursor:pointer;padding:0;transition:all var(--transition-fast);position:relative;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden}.layer-color-indicator:hover{transform:scale(1.05)}.layer-color-indicator svg{border-radius:var(--radius-sm)}.layer-color-indicator.pulsing{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #5b7c9966}50%{box-shadow:0 0 0 4px #5b7c9900}}.layer-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.layer-meta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-tertiary)}.layer-action-btn{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;width:16px;height:16px}.layer-action-btn:hover{color:var(--text-secondary)}.layer-action-btn svg{stroke-width:1.5}.layer-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;letter-spacing:-.01em}.layer-name-input{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-focus);border-radius:var(--radius-sm);padding:var(--space-1);width:100%;outline:none}.layer-type{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.layer-item-details{background:var(--bg-secondary)}.url-dialog-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.url-dialog{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0003;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--border-primary)}.url-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary)}.url-dialog-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary)}.url-dialog-content{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.url-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.url-input-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.url-input-group input{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-mono);background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s}.url-input-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5b7c991a}.url-input-group input:disabled{opacity:.6;cursor:not-allowed}.adapter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s;cursor:pointer}.adapter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5b7c991a}.adapter-select:disabled{opacity:.6;cursor:not-allowed}.adapter-select option{background:var(--bg-secondary);color:var(--text-primary)}.auth-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s;cursor:pointer}.auth-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5b7c991a}.auth-select:disabled{opacity:.6;cursor:not-allowed}.auth-select option{background:var(--bg-secondary);color:var(--text-primary)}.url-input-group textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:Courier New,monospace;background:var(--bg-secondary);color:var(--text-primary);resize:vertical;min-height:60px;line-height:1.4}.url-input-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5b7c991a}.url-input-group textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary)}.url-input-group textarea::placeholder{color:var(--text-tertiary);font-style:italic}.url-help-text{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1.5}.url-help-text ul{margin:var(--space-1) 0 0 var(--space-4);padding:0}.url-help-text li{margin:var(--space-1) 0}.url-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#e53e3e1a;border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);font-size:var(--font-size-sm)}.url-error svg{flex-shrink:0}.url-dialog-actions{display:flex;gap:var(--space-2);justify-content:flex-end;padding-top:var(--space-2)}.btn-primary,.btn-secondary{flex:1;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;border:1px solid transparent;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:#4a7ba7}.btn-secondary{background:transparent;color:var(--text-secondary);border-color:var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-secondary)}.loading-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.wms-layer-selection{display:flex;flex-direction:column;gap:var(--space-3);max-height:60vh}.wms-info{padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-primary)}.wms-info strong{display:block;color:var(--text-primary);font-size:var(--font-size-base);margin-bottom:var(--space-1)}.wms-info p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.url-layer-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:400px;overflow-y:auto;padding:var(--space-2);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary)}.layer-checkbox{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s}.layer-checkbox:hover{background:var(--bg-primary)}.layer-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px;flex-shrink:0}.layer-name{font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-mono);word-break:break-word}.source-management-dialog{max-width:900px;max-height:85vh}.dialog-body{display:flex;height:500px;overflow:hidden}.sources-sidebar{width:240px;border-right:1px solid var(--border-primary);background:var(--bg-secondary);display:flex;flex-direction:column}.btn-add-source{display:block;width:calc(100% - var(--space-6));padding:var(--space-2);margin:var(--space-3);border:none;border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;text-align:center}.btn-add-source:hover{background:var(--accent-hover)}.sources-list{flex:1;overflow-y:auto;padding:0 var(--space-2) var(--space-2)}.sidebar-empty-state{padding:var(--space-4) var(--space-3);text-align:center}.sidebar-empty-state p{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.source-list-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-1);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:all .2s;width:100%;text-align:left}.source-list-item:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.source-list-item.active{background:var(--bg-primary);border-color:var(--primary)}.source-list-icon{font-size:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.source-list-logo{width:20px;height:20px;object-fit:contain}.source-list-info{flex:1;min-width:0}.source-list-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.source-list-type{font-size:var(--font-size-xs);color:var(--text-secondary)}.main-content-area{flex:1;overflow-y:auto;padding:var(--space-4);background:var(--bg-primary)}.main-content-title{margin:0 0 var(--space-4) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary)}.main-content-footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.source-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3);padding:var(--space-2) 0}.source-type-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-4) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);cursor:pointer;transition:all .2s;text-align:center}.source-type-card:hover{border-color:var(--primary);background:var(--bg-tertiary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.source-type-icon{font-size:28px;margin-bottom:var(--space-2);display:flex;align-items:center;justify-content:center}.source-type-logo{width:36px;height:36px;object-fit:contain}.source-type-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin-bottom:var(--space-1);color:var(--text-primary)}.source-type-desc{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.3}.source-config-form{display:flex;flex-direction:column;gap:var(--space-3)}.source-details-content{display:flex;flex-direction:column;gap:var(--space-4)}.source-details-header{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-primary)}.source-details-icon{font-size:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.source-details-icon .source-list-logo{width:32px;height:32px}.source-details-name{margin:0 0 var(--space-1) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary)}.source-details-type{font-size:var(--font-size-sm);color:var(--text-secondary)}.source-details-info{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.source-detail-row{display:flex;gap:var(--space-3);font-size:var(--font-size-sm)}.detail-label{font-weight:var(--font-weight-medium);color:var(--text-secondary);min-width:120px;flex-shrink:0}.detail-value{color:var(--text-primary);word-break:break-word;flex:1}.detail-url{font-family:var(--font-mono);font-size:var(--font-size-xs)}.source-add-layer-section{padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.source-add-layer-section h4{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.source-details-actions{display:flex;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.empty-state-icon{font-size:48px;margin-bottom:var(--space-3);opacity:.4}.empty-state-text{margin:0 0 var(--space-1) 0;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.empty-state-hint{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.dialog-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;border:none}.dialog-btn-primary{background:var(--accent-primary);color:#fff}.dialog-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.dialog-btn-primary:disabled{opacity:.5;cursor:not-allowed}.dialog-btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.dialog-btn-secondary:hover{background:var(--bg-quaternary)}.dialog-btn-danger{background:transparent;color:var(--error-text);border:1px solid var(--error-border);padding:var(--space-2);width:36px;height:36px;display:flex;align-items:center;justify-content:center}.dialog-btn-danger:hover{background:var(--error-bg);border-color:var(--error-border-hover)}.dialog-btn-add-layer{background:var(--accent-primary);color:#fff;border:none}.dialog-btn-add-layer:hover:not(:disabled){background:var(--accent-hover)}.dialog-btn-add-layer:disabled{opacity:.5;cursor:not-allowed}.close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s}.close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.error-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);color:var(--error-text);font-size:var(--font-size-sm)}.error-message svg{flex-shrink:0}.aws-auth-toggle{display:flex;gap:0;border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden}.aws-auth-toggle-btn{flex:1;padding:var(--space-2) var(--space-3);border:none;background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.aws-auth-toggle-btn:not(:last-child){border-right:1px solid var(--border-primary)}.aws-auth-toggle-btn:hover{background:var(--bg-hover)}.aws-auth-toggle-btn.active{background:var(--accent-primary);color:#fff}.auth-badge{font-size:9px;padding:1px 4px;border-radius:3px;background:#ffffff40;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.aws-auth-toggle-btn:not(.active) .auth-badge{background:var(--bg-tertiary);color:var(--text-tertiary)}.aws-setup-info{margin-top:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5}.aws-setup-info strong{color:var(--text-primary);display:block;margin-bottom:var(--space-1)}.aws-setup-info p{margin:var(--space-1) 0}.aws-setup-info code{background:var(--bg-tertiary);padding:1px 4px;border-radius:2px;font-size:var(--font-size-xs)}.aws-policy-snippet{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--space-2);font-size:11px;font-family:SF Mono,Consolas,Monaco,monospace;overflow-x:auto;white-space:pre;margin:var(--space-2) 0;line-height:1.4;color:var(--text-primary)}.views-list{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-3)}.views-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted)}.empty-state-title{margin-top:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);letter-spacing:-.01em}.empty-state-description{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted);max-width:240px}.view-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.view-item:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.view-item.active{background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-subtle)}.view-item-header{display:flex;align-items:flex-start;gap:var(--space-2)}.view-item-indicator{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-subtle)}.view-item.active .view-item-indicator{background:var(--accent-primary);border-color:var(--accent-primary)}.view-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary)}.view-item.active .view-number,.view-active-icon{color:var(--bg-secondary)}.view-item-content{flex:1;min-width:0}.view-item-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.view-item-meta{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted)}.view-meta-separator{color:var(--text-tertiary)}.view-anchor-info{display:flex;align-items:center;gap:4px}.view-timestamp{font-family:monospace}.view-item-actions{display:flex;gap:var(--space-1);flex-shrink:0}.view-action-btn{padding:var(--space-1);background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);opacity:0}.view-item:hover .view-action-btn{opacity:1}.view-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-action-btn.view-delete-btn:hover{color:var(--error)}.view-item-details{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.view-detail-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs)}.view-detail-label{color:var(--text-muted)}.view-detail-value{color:var(--text-secondary);font-family:var(--font-mono);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}.upgrade-prompt-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.upgrade-prompt{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:0;box-shadow:0 10px 40px #0000004d;max-width:420px;width:90%;padding:var(--space-5);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.upgrade-prompt-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f59e0b1f;color:#f59e0b}.upgrade-prompt-content{text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.upgrade-prompt-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.upgrade-prompt-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.upgrade-prompt-detail{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0;line-height:1.5;padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.upgrade-prompt-actions{display:flex;gap:var(--space-2);width:100%}.upgrade-prompt-btn{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast)}.upgrade-prompt-btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary)}.upgrade-prompt-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.upgrade-prompt-btn-upgrade{background:#f59e0b;color:#fff;border-color:#f59e0b}.upgrade-prompt-btn-upgrade:hover{background:#d97706;border-color:#d97706}.pricing-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.pricing-dialog{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:0;box-shadow:0 10px 40px #0000004d;max-width:640px;width:92%;padding:var(--space-5);position:relative}.pricing-close{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.pricing-close:hover{color:var(--text-primary)}.pricing-header{text-align:center;margin-bottom:var(--space-5)}.pricing-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-1) 0}.pricing-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0}.pricing-tiers{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.pricing-tier{border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);position:relative;background:var(--bg-secondary);transition:border-color var(--transition-fast)}.pricing-tier.current{border-color:var(--accent-primary)}.pricing-tier.recommended{border-color:#f59e0b}.pricing-badge{position:absolute;top:calc(-1 * var(--space-2));left:50%;transform:translate(-50%);font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--accent-primary);color:#fff;white-space:nowrap}.pricing-badge.recommended{background:#f59e0b}.pricing-tier-header{text-align:center}.pricing-tier-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.pricing-tier-price{display:flex;align-items:baseline;justify-content:center;gap:2px}.pricing-currency{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.pricing-amount{font-size:28px;font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.pricing-period{font-size:var(--font-size-xs);color:var(--text-tertiary)}.pricing-features{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.pricing-feature{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.pricing-feature svg{flex-shrink:0;color:var(--accent-primary)}.pricing-feature-value{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.pricing-feature-label{color:var(--text-tertiary)}.pricing-tier-btn{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);border:1px solid var(--border-primary);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-tertiary);color:var(--text-secondary)}.pricing-tier-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.pricing-tier-btn.current{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:default;border-color:var(--border-subtle)}.pricing-tier-btn.upgrade{background:#f59e0b;color:#fff;border-color:#f59e0b}.pricing-tier-btn.upgrade:hover:not(:disabled){background:#d97706;border-color:#d97706}.pricing-tier-btn:disabled{opacity:.6;cursor:default}.pricing-addons{margin-top:var(--space-4);border:1px dashed var(--border-primary);border-radius:var(--radius-md);padding:var(--space-4);background:var(--bg-secondary);opacity:.85}.pricing-addons-header{text-align:center;margin-bottom:var(--space-3);position:relative}.pricing-addons-badge{display:inline-block;font-size:9px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;padding:2px var(--space-2);border-radius:var(--radius-sm);background:#8b5cf626;color:#8b5cf6;margin-bottom:var(--space-2)}.pricing-addons-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-1) 0}.pricing-addons-subtitle{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}.pricing-addons-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2)}.pricing-addon-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-subtle)}.pricing-addon-item svg{color:#8b5cf6;opacity:.7}.pricing-addon-name{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-align:center}.pricing-addon-price{font-size:10px;color:var(--text-tertiary);text-align:center}.pricing-footer{text-align:center;font-size:var(--font-size-xs);color:var(--text-tertiary);margin:var(--space-4) 0 0 0}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4)}.dialog-content{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.dialog-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.dialog-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.dialog-close:hover{background:var(--bg-hover);color:var(--text-secondary)}.dialog-body{padding:var(--space-4);overflow-y:auto}.form-group{margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.form-group input,.form-group textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);outline:none;transition:all var(--transition-fast);font-family:inherit}.form-group input:hover,.form-group textarea:hover{border-color:var(--border-secondary)}.form-group input:focus,.form-group textarea:focus{border-color:var(--border-focus);background:var(--bg-secondary)}.form-group input:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.error-message{padding:var(--space-3);background:#9c44441a;border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);font-size:var(--font-size-sm);margin-bottom:var(--space-4)}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border-primary);background:var(--bg-tertiary)}.btn-primary,.btn-secondary{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.project-selector{position:relative;flex:1;min-width:0}.project-selector-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0;background:none;border:none;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.project-selector-button:hover{color:var(--text-secondary)}.project-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.project-selector-button svg{flex-shrink:0;color:var(--text-tertiary);transition:transform var(--transition-fast)}.project-selector-button:hover svg{color:var(--text-secondary)}.project-menu-overlay{position:fixed;inset:0;z-index:999}.project-menu{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;max-height:400px;display:flex;flex-direction:column}.project-menu-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.project-menu-header span{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.btn-create-project{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--accent-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;transition:all var(--transition-fast)}.btn-create-project:hover{background:var(--accent-hover);transform:scale(1.05)}.project-list{overflow-y:auto;max-height:320px}.project-empty{padding:var(--space-6) var(--space-4);text-align:center}.project-empty p{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.btn-create-first{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#fff;background:var(--accent-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-create-first:hover{background:var(--accent-hover)}.project-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);background:transparent;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);text-align:left}.project-item:last-child{border-bottom:none}.project-item:hover{background:var(--bg-hover)}.project-item.active{background:var(--accent-subtle)}.project-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.project-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item-description{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item svg{flex-shrink:0;color:var(--accent-primary)}.project-item-readonly{font-size:var(--font-size-xs);color:var(--text-tertiary);padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-xs);border:1px solid var(--border-primary)}.project-selector-header{width:100%}.btn-edit-project{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast);opacity:0}.project-selector-button:hover .btn-edit-project{opacity:1}.btn-edit-project:hover{background:var(--bg-hover);color:var(--text-primary)}.project-name-edit{display:flex;align-items:center;gap:var(--space-1);width:100%}.project-name-input{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;background:var(--bg-secondary);border:1px solid var(--border-focus);border-radius:var(--radius-sm);color:var(--text-primary);outline:none}.project-name-input:focus{border-color:var(--accent-primary)}.btn-edit-action{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast)}.btn-edit-action:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-edit-action:first-of-type:hover{color:var(--accent-primary)}.project-archived-section{border-top:1px solid var(--border-primary)}.project-archived-toggle{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:none;color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.project-archived-toggle:hover{background:var(--bg-hover);color:var(--text-secondary)}.project-archived-chevron{margin-left:auto;transition:transform var(--transition-fast)}.project-archived-chevron.open{transform:rotate(180deg)}.project-archived-list{background:var(--bg-tertiary)}.project-item.archived{cursor:default;opacity:.7;padding:var(--space-2) var(--space-3)}.project-item.archived:hover{opacity:1}.project-item-archived-badge{font-size:10px;color:var(--text-tertiary);padding:1px 5px;background:var(--bg-secondary);border-radius:var(--radius-xs);border:1px solid var(--border-primary)}.btn-unarchive{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast);flex-shrink:0}.btn-unarchive:hover{background:var(--bg-hover);color:var(--accent-primary)}.project-swap-overlay{position:fixed;inset:0;background:#00000080;z-index:10100}.project-swap-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:0 10px 40px #0000004d;width:90%;max-width:360px;z-index:10101;overflow:hidden}.project-swap-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.project-swap-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:18px;padding:2px;line-height:1;border-radius:var(--radius-xs);transition:all var(--transition-fast)}.project-swap-close:hover{background:var(--bg-hover);color:var(--text-primary)}.project-swap-body{padding:var(--space-3) var(--space-4)}.project-swap-message{font-size:var(--font-size-sm);color:#f59e0b;margin:0 0 var(--space-3) 0;line-height:1.5}.project-swap-error{font-size:var(--font-size-xs);color:#ef4444;padding:var(--space-2);background:#ef44441a;border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.project-swap-list{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden}.project-swap-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);border-bottom:1px solid var(--border-subtle)}.project-swap-item:last-child{border-bottom:none}.project-swap-item:hover{background:var(--bg-hover);color:#f59e0b}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);letter-spacing:-.01em}.form-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.form-input:hover{border-color:var(--border-secondary)}.form-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-secondary)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-help-text{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:calc(var(--space-1) * -1)}.auth-error{padding:var(--space-3);background:#9c44441a;border:1px solid var(--error);border-radius:var(--radius-sm);color:var(--error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.auth-submit-btn{width:100%;padding:var(--space-3) var(--space-4);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em}.auth-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.auth-submit-btn:active:not(:disabled){background:var(--accent-active)}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-terms-text{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;margin:0;line-height:var(--line-height-relaxed)}.password-requirements{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.password-req{font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--space-1);transition:color var(--transition-fast)}.password-req.unmet{color:var(--text-muted)}.password-req.met{color:var(--success)}.password-req-icon{font-size:10px;width:12px;text-align:center;flex-shrink:0}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em}.auth-google-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-secondary)}.auth-google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--font-size-xs)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.auth-forgot-link{background:none;border:none;padding:0;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer;text-align:right;transition:color var(--transition-fast)}.auth-forgot-link:hover{color:var(--accent-primary)}.auth-link-btn{background:none;border:none;padding:0;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;text-align:center;transition:color var(--transition-fast)}.auth-link-btn:hover{color:var(--text-primary)}.auth-reset-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:var(--line-height-relaxed)}.auth-success{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center}.auth-success-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--success);color:#fff;border-radius:50%;font-size:24px;font-weight:var(--font-weight-semibold)}.auth-success-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.auth-success-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:var(--line-height-relaxed)}.auth-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.auth-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);width:90%;max-width:420px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.auth-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-subtle);position:relative}.auth-dialog-title{position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:0}.auth-dialog-logo{width:26px;height:26px;opacity:.55;flex-shrink:0}.auth-dialog-close{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.auth-dialog-close:hover{background:var(--bg-hover);color:var(--text-secondary)}.auth-dialog-content{padding:var(--space-4);overflow-y:auto;flex:1;max-height:420px}.auth-dialog-footer{padding:var(--space-4);border-top:1px solid var(--border-subtle);background:var(--bg-tertiary)}.auth-dialog-switch{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;margin:0}.auth-dialog-switch-btn{color:var(--accent-primary);font-weight:var(--font-weight-medium);background:none;border:none;cursor:pointer;padding:0;transition:color var(--transition-fast)}.auth-dialog-switch-btn:hover{color:var(--accent-hover);text-decoration:underline}.signup-success-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);width:90%;max-width:360px;box-shadow:var(--shadow-lg);overflow:hidden}.signup-success-content{display:flex;flex-direction:column;align-items:center;padding:40px 32px 32px;text-align:center}.signup-success-icon{width:56px;height:56px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.signup-success-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 8px;letter-spacing:-.01em}.signup-success-message{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 28px;line-height:1.5}.signup-success-btn{width:100%;padding:10px 24px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.signup-success-btn:hover{background:var(--accent-hover)}.welcome-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.welcome-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;width:90%;max-width:360px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.welcome-header{display:flex;align-items:center;justify-content:center;padding:var(--space-4);border-bottom:1px solid var(--border-subtle);position:relative}.welcome-logo{position:absolute;left:var(--space-4);width:26px;height:26px;opacity:.55}.welcome-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.01em;margin:0}.welcome-content{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.welcome-btn{width:70%;margin:0 auto;padding:var(--space-3) var(--space-4);border-radius:9999px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em}.welcome-btn-primary{background:var(--accent-primary);color:#fff;border:none}.welcome-btn-primary:hover{background:var(--accent-hover)}.welcome-btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-primary)}.welcome-btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.wm-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.wm-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:520px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.wm-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary)}.wm-dialog-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.wm-dialog-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.wm-dialog-close:hover{background:var(--bg-hover);color:var(--text-primary)}.wm-tabs{display:flex;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.wm-tab{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-tertiary);background:none;border:none;cursor:pointer;transition:all var(--transition-fast);position:relative}.wm-tab:hover{color:var(--text-secondary)}.wm-tab.active{color:var(--text-primary)}.wm-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent-primary)}.wm-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:#ef44441a;color:#ef4444;font-size:var(--font-size-sm);border-bottom:1px solid rgba(239,68,68,.2)}.wm-error-dismiss,.wm-success-dismiss{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 var(--space-1);opacity:.7}.wm-error-dismiss:hover,.wm-success-dismiss:hover{opacity:1}.wm-success{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:#10b9811a;color:#10b981;font-size:var(--font-size-sm);border-bottom:1px solid rgba(16,185,129,.2)}.wm-content{flex:1;overflow-y:auto;padding:var(--space-4)}.wm-loading{text-align:center;padding:var(--space-6);color:var(--text-tertiary);font-size:var(--font-size-sm)}.wm-invite-section{margin-bottom:var(--space-4)}.wm-invite-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.wm-invite-form{display:flex;gap:var(--space-2)}.wm-invite-input{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast)}.wm-invite-input:focus{border-color:var(--border-focus)}.wm-invite-input::placeholder{color:var(--text-muted)}.wm-invite-role{padding:var(--space-2) var(--space-2);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;outline:none}.wm-invite-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#fff;background:var(--accent-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.wm-invite-btn:hover:not(:disabled){background:var(--accent-hover)}.wm-invite-btn:disabled{opacity:.5;cursor:not-allowed}.wm-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.wm-members-section{margin-bottom:var(--space-4)}.wm-members-list{border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden}.wm-member-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--border-subtle);position:relative}.wm-member-item:last-child{border-bottom:none}.wm-member-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-subtle);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);flex-shrink:0}.wm-member-info{flex:1;min-width:0}.wm-member-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-you-badge{color:var(--text-tertiary);font-weight:var(--font-weight-normal);margin-left:var(--space-1)}.wm-member-email{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-member-role{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:capitalize;flex-shrink:0}.wm-member-actions{position:relative;flex-shrink:0}.wm-member-menu-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.wm-member-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.wm-menu-overlay{position:fixed;inset:0;z-index:2001}.wm-member-menu{position:absolute;right:0;top:100%;margin-top:var(--space-1);min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:2002;overflow:hidden}.wm-menu-item{width:100%;display:block;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);background:none;border:none;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.wm-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.wm-menu-item-danger{color:#ef4444}.wm-menu-item-danger:hover{background:#ef44441a;color:#ef4444}.wm-suspended-section{margin-bottom:var(--space-4)}.wm-section-label-warning{color:#f59e0b}.wm-member-suspended{opacity:.65}.wm-member-suspended:hover{opacity:1}.wm-avatar-suspended{background:var(--bg-tertiary)!important;color:var(--text-tertiary)!important}.wm-suspended-badge{font-size:10px;font-weight:var(--font-weight-medium);color:#f59e0b;padding:1px 5px;background:#f59e0b0a;border:1px solid #F59E0B40;border-radius:var(--radius-xs);margin-left:var(--space-2)}.wm-unsuspend-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--accent-primary);background:transparent;border:1px solid var(--accent-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.wm-unsuspend-btn:hover{background:var(--accent-primary);color:#fff}.wm-swap-overlay{position:fixed;inset:0;background:#00000080;z-index:10200}.wm-swap-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:0 10px 40px #0000004d;width:90%;max-width:400px;z-index:10201;overflow:hidden}.wm-swap-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.wm-swap-dialog-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:18px;padding:2px;line-height:1;border-radius:var(--radius-xs);transition:all var(--transition-fast)}.wm-swap-dialog-close:hover{background:var(--bg-hover);color:var(--text-primary)}.wm-swap-dialog-body{padding:var(--space-3) var(--space-4)}.wm-swap-dialog-message{font-size:var(--font-size-sm);color:#f59e0b;margin:0 0 var(--space-3) 0;line-height:1.5}.wm-swap-dialog-error{font-size:var(--font-size-xs);color:#ef4444;padding:var(--space-2);background:#ef44441a;border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.wm-swap-dialog-list{display:flex;flex-direction:column;border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden}.wm-swap-dialog-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);border-bottom:1px solid var(--border-subtle)}.wm-swap-dialog-item:last-child{border-bottom:none}.wm-swap-dialog-item:hover{background:var(--bg-hover)}.wm-swap-dialog-item-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);flex-shrink:0}.wm-swap-dialog-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.wm-swap-dialog-item-email{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-invites-section{margin-bottom:var(--space-4)}.wm-invites-list{border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden}.wm-invite-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.wm-invite-item:last-child{border-bottom:none}.wm-invite-icon{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.wm-invite-info{flex:1;min-width:0}.wm-invite-email{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.wm-invite-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.wm-invite-cancel{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.wm-invite-cancel:hover{background:#ef44441a;color:#ef4444}.wm-projects-tab{display:flex;flex-direction:column;gap:var(--space-4)}.wm-projects-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.wm-projects-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--text-tertiary);font-size:var(--font-size-sm)}.wm-projects-empty p{margin-bottom:var(--space-2)}.wm-projects-list{display:flex;flex-direction:column;gap:var(--space-3)}.wm-project-item{border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden}.wm-project-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.wm-project-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.wm-project-viewers{padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.wm-viewer-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);transition:color var(--transition-fast)}.wm-viewer-toggle:hover{color:var(--text-primary)}.wm-viewer-toggle input[type=checkbox]{accent-color:var(--accent-primary);width:16px;height:16px;cursor:pointer}.wm-viewer-name{flex:1}.billing-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.billing-dialog{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:0;box-shadow:0 10px 40px #0000004d;max-width:440px;width:90%;padding:var(--space-5);position:relative}.billing-close{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.billing-close:hover{color:var(--text-primary)}.billing-header{margin-bottom:var(--space-4)}.billing-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.billing-plan-section{display:flex;flex-direction:column;gap:var(--space-3)}.billing-plan-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.billing-plan-info{display:flex;flex-direction:column;gap:var(--space-1)}.billing-plan-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-semibold)}.billing-plan-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.billing-price-free{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.billing-price-paid{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.billing-change-plan{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);border:1px solid #F59E0B;background:transparent;color:#f59e0b;cursor:pointer;transition:all var(--transition-fast)}.billing-change-plan:hover{background:#f59e0b1a}.billing-divider{height:1px;background:var(--border-primary);margin:var(--space-4) 0}.billing-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-3) 0}.billing-usage-section{display:flex;flex-direction:column;gap:var(--space-3)}.billing-usage-item{display:flex;flex-direction:column;gap:var(--space-1)}.billing-usage-header{display:flex;justify-content:space-between;align-items:center}.billing-usage-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.billing-usage-value{font-size:var(--font-size-xs);color:var(--text-tertiary)}.billing-usage-bar{height:4px;background:var(--bg-secondary);border-radius:2px;overflow:hidden}.billing-usage-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .3s ease}.billing-usage-fill.warning{background:#f59e0b}.billing-usage-fill.critical{background:#ef4444}.billing-manage-section{display:flex;flex-direction:column;gap:var(--space-2)}.billing-subscription-info{margin-bottom:var(--space-1)}.billing-sub-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-primary)}.billing-sub-row svg{flex-shrink:0;color:var(--accent-primary)}.billing-sub-row strong{color:var(--text-primary)}.billing-sub-cancelling{border-color:#f59e0b40;background:#f59e0b0a}.billing-sub-cancelling svg{color:#f59e0b}.billing-manage-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.billing-manage-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.billing-manage-note{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}.project-settings-overlay{position:fixed;inset:0;background:#00000080;z-index:10000}.project-settings-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:0;box-shadow:0 10px 40px #0000004d;width:90%;max-width:480px;display:flex;flex-direction:column;overflow:hidden;z-index:10001}.project-settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0}.project-settings-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0}.project-settings-header .btn-close{padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.project-settings-header .btn-close:hover{background:var(--bg-hover);color:var(--text-primary)}.project-settings-content{padding:var(--space-5);flex:1;overflow-y:auto}.project-settings-content .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.project-settings-content label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.project-settings-content input{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;transition:all var(--transition-fast)}.project-settings-content input:focus{border-color:var(--accent-primary);background:var(--bg-secondary)}.project-settings-content input:disabled{opacity:.6;cursor:not-allowed}.project-settings-content .error-message{padding:var(--space-2) var(--space-3);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:#ef4444;font-size:var(--font-size-sm);margin-top:var(--space-3)}.project-settings-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0}.project-settings-footer .btn-primary,.project-settings-footer .btn-secondary{flex:1;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.project-settings-footer .btn-primary{background:var(--accent-primary);color:#fff;border:none}.project-settings-footer .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.project-settings-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed}.project-settings-footer .btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.project-settings-footer .btn-secondary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.project-settings-footer .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.project-settings-archive{margin-top:var(--space-4)}.project-settings-archive-divider{height:1px;background:var(--border-primary);margin-bottom:var(--space-4)}.btn-archive-project{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#f59e0b;background:transparent;border:1px solid #F59E0B40;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-archive-project:hover:not(:disabled){background:#f59e0b0a;border-color:#f59e0b}.btn-archive-project:disabled{opacity:.5;cursor:not-allowed}.project-archive-confirm{padding:var(--space-3);background:#f59e0b0a;border:1px solid #F59E0B40;border-radius:var(--radius-sm)}.project-archive-confirm p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-3) 0;line-height:1.5}.project-archive-confirm-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.project-archive-confirm-actions .btn-secondary,.project-archive-confirm-actions .btn-danger{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.project-archive-confirm-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.project-archive-confirm-actions .btn-danger{background:#f59e0b;color:#fff;border:none}.project-archive-confirm-actions .btn-danger:hover:not(:disabled){background:#d97706}.project-archive-confirm-actions .btn-danger:disabled,.project-archive-confirm-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.project-settings-delete{margin-top:var(--space-4)}.btn-delete-project{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#ef4444;background:transparent;border:1px solid #EF444440;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-delete-project:hover:not(:disabled){background:#ef44440a;border-color:#ef4444}.btn-delete-project:disabled{opacity:.5;cursor:not-allowed}.project-delete-confirm{padding:var(--space-3);background:#ef44440a;border:1px solid #EF444440;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--space-3)}.project-delete-confirm p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.project-delete-confirm-label{font-weight:var(--font-weight-medium);color:var(--text-primary)!important}.project-delete-confirm input{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);outline:none}.project-delete-confirm input:focus{border-color:#ef4444}.btn-danger-delete{background:#ef4444!important}.btn-danger-delete:hover:not(:disabled){background:#dc2626!important}.sidebar{display:flex;flex-direction:column;height:100%;width:100%;position:relative}.sidebar-resize-handle{position:absolute;right:0;top:0;width:3px;height:100%;cursor:ew-resize;background:transparent;z-index:1000;transition:background var(--transition-fast)}.sidebar-resize-handle:hover{background:var(--accent-subtle)}.sidebar-collapse-btn{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);width:20px;height:20px;padding:var(--space-1);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);z-index:999;display:flex;align-items:center;justify-content:center}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--text-secondary);border-color:var(--border-primary)}.sidebar-expand-btn{position:fixed;left:0;top:50%;transform:translateY(-50%);width:28px;height:44px;padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-base);z-index:100;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.sidebar-expand-btn:hover{background:var(--bg-hover);color:var(--text-secondary);width:32px}.sidebar-header{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary)}.user-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;overflow:hidden}.user-avatar:hover{transform:scale(1.05);box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 4px var(--accent-subtle)}.sidebar-edit-project-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast);flex-shrink:0}.sidebar-edit-project-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-settings-btn{position:absolute;bottom:var(--space-3);left:var(--space-3);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);z-index:100}.sidebar-settings-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary);transform:scale(1.05)}.user-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.sidebar-header{position:relative}.sidebar-auth-text{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap}.sidebar-auth-link{background:none;border:none;color:var(--accent-primary);font-size:inherit;font-weight:inherit;cursor:pointer;padding:0;transition:opacity var(--transition-fast)}.sidebar-auth-link:hover{opacity:.8;text-decoration:underline}.user-menu-overlay{position:fixed;inset:0;z-index:999}.user-menu{position:absolute;top:100%;left:var(--space-3);margin-top:var(--space-1);min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.user-menu-header{padding:var(--space-3);border-bottom:1px solid var(--border-primary)}.user-menu-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.user-menu-email{font-size:var(--font-size-xs);color:var(--text-tertiary)}.user-menu-divider{height:1px;background:var(--border-primary)}.user-menu-item{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);text-align:left}.user-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.user-menu-item svg{flex-shrink:0}.user-menu-workspace-section{padding:var(--space-1) 0}.user-menu-workspace-label{padding:var(--space-1) var(--space-3) var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.user-menu-workspace-item{position:relative}.user-menu-workspace-item.active{color:var(--text-primary);background:var(--accent-subtle)}.user-menu-workspace-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-workspace-check{flex-shrink:0;color:var(--accent-primary);margin-left:auto}.user-menu-storage{padding:var(--space-2) var(--space-3)}.user-menu-storage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.user-menu-storage-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.user-menu-storage-value{font-size:var(--font-size-xs);color:var(--text-secondary)}.user-menu-storage-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.user-menu-storage-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .3s ease}.user-menu-storage-fill.warning{background:#f59e0b}.user-menu-storage-fill.critical{background:#ef4444}.sidebar-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.02em;flex:1}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.sidebar-tab{flex:1;padding:var(--space-2);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-tertiary);border:none;background:var(--bg-secondary);cursor:pointer;transition:all var(--transition-fast);position:relative;letter-spacing:-.01em}.sidebar-tab:hover{color:var(--text-secondary)}.sidebar-tab.active{color:var(--text-primary)}.sidebar-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent-primary)}.sidebar-downgrade-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#f59e0b0a;border-bottom:1px solid #F59E0B40;font-size:var(--font-size-xs);color:#f59e0b}.sidebar-downgrade-banner svg{flex-shrink:0}.sidebar-downgrade-banner span{flex:1;min-width:0}.sidebar-downgrade-upgrade{padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fff;background:var(--accent-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all var(--transition-fast)}.sidebar-downgrade-upgrade:hover{background:var(--accent-hover)}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-section{padding:0;border:none;background:transparent}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-3);background:var(--bg-secondary)}.sidebar-section-actions{display:flex;gap:var(--space-1);align-items:center}.sidebar-section-title{display:none}.search-input-inline{width:120px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);outline:none;transition:all var(--transition-fast);margin-right:var(--space-1)}.search-input-inline::placeholder{color:var(--text-muted)}.search-input-inline:hover{border-color:var(--border-secondary)}.search-input-inline:focus{border-color:var(--border-focus);background:var(--bg-secondary)}.btn-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);border:none;background:none;padding:var(--space-0)}.btn-icon:hover{color:var(--text-secondary);background:var(--bg-hover)}.layer-list,.view-list,.library-list{min-height:200px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);text-align:center}.empty-state-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-1);letter-spacing:-.01em}.empty-state-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border-primary);background:var(--bg-tertiary)}.btn-secondary{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em}.btn-secondary:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-secondary)}.btn-secondary:active{background:var(--bg-active)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0,0,0,0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media(hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media(forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media(forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media(forced-colors:active)and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active)and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media(hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.map-legend{position:absolute;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:180px;max-width:280px;max-height:60vh;display:flex;flex-direction:column;z-index:10;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}.map-legend.dragging{cursor:grabbing;box-shadow:var(--shadow-xl)}.map-legend.collapsed{max-width:180px}.legend-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:var(--radius-md) var(--radius-md) 0 0}.legend-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;padding:2px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.legend-drag-handle:hover{background:var(--bg-hover);color:var(--text-secondary)}.legend-drag-handle:active{cursor:grabbing}.legend-title{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.01em}.legend-collapse-btn{padding:4px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.legend-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.legend-content{padding:var(--space-2);overflow-y:auto;flex:1;min-height:0}.legend-content::-webkit-scrollbar{width:6px}.legend-content::-webkit-scrollbar-track{background:transparent}.legend-content::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.legend-content::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}.legend-layer-group+.legend-layer-group{margin-top:2px}.legend-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast);position:relative}.legend-item.expandable{cursor:pointer}.legend-item.expandable:hover{background:var(--bg-hover)}.legend-expand-btn{padding:0;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color var(--transition-fast)}.legend-expand-btn:hover{color:var(--text-primary)}.legend-categories{padding-left:var(--space-4);margin-top:2px}.legend-category-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.legend-category-item:hover{background:var(--bg-hover)}.legend-category-item+.legend-category-item{margin-top:1px}.legend-category-label{flex:1;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.legend-symbol{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.legend-swatch{width:16px;height:16px;border-radius:3px}.legend-line{width:16px;border-radius:1px}.legend-circle{border-radius:50%}.legend-label{flex:1;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.save-indicator{display:flex;align-items:center;justify-content:center}.save-spinner{width:16px;height:16px;border:2px solid #bbb;border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.map-view{width:100%;height:100%;position:relative}.map-container{width:100%;height:100%}.map-loading-indicator{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:10;pointer-events:none}.map-avatar-btn{position:absolute;top:var(--space-3);left:var(--space-3);width:28px;height:28px;padding:0;border:none;border-radius:50%;cursor:pointer;z-index:11;overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-fast);background:none}.map-avatar-btn:hover{box-shadow:var(--shadow-lg);transform:scale(1.05)}.map-controls{position:absolute;top:var(--space-3);left:var(--space-3);display:flex;flex-direction:row;gap:var(--space-1);z-index:10}.map-controls.with-avatar{left:calc(var(--space-3) + 40px)}.map-control-btn{width:36px;height:28px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-control-btn.user-avatar-btn{width:28px;height:28px;padding:0;border:none;border-radius:50%;background:none;overflow:hidden;display:flex;align-items:center;justify-content:center}.map-control-btn.user-avatar-btn:hover{transform:scale(1.05)}.map-control-btn:hover{color:var(--text-primary);border-color:var(--border-secondary);box-shadow:var(--shadow-md);background:var(--bg-hover)}.map-control-btn.active{color:var(--accent-primary);border-color:var(--accent-primary);background:var(--bg-tertiary);box-shadow:var(--shadow-md)}.map-control-btn.active:hover{color:var(--accent-hover);border-color:var(--accent-hover);background:var(--bg-hover)}.capture-view-btn{background:var(--accent-primary)!important;color:#fff!important;border-color:var(--accent-primary)!important}.capture-view-btn:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;box-shadow:var(--shadow-md)!important}.capture-view-btn.pulsing{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 4px #3b82f600}}.details-btn{color:var(--accent-primary)!important;border-color:var(--accent-primary)!important;background:var(--bg-tertiary)!important;box-shadow:var(--shadow-md)}.details-btn:hover{color:var(--accent-hover)!important;border-color:var(--accent-hover)!important;background:var(--bg-hover)!important}.clear-selection-btn{display:flex;align-items:center;justify-content:center;gap:3px;background:var(--error)!important;color:#fff!important;border-color:var(--error)!important;padding:0 6px!important}.clear-selection-btn:hover{background:#c53030!important;border-color:#c53030!important}.selection-count{font-size:11px;font-weight:600;line-height:1}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin-top:4px!important}.maplibregl-ctrl-bottom-left .maplibregl-ctrl:first-child,.maplibregl-ctrl-bottom-left .mapanchor-logo-ctrl{margin-top:0!important}.maplibregl-ctrl-bottom-left .mapanchor-logo-ctrl+.maplibregl-ctrl-group{margin-top:0!important}.mapanchor-logo-ctrl{margin-bottom:0;padding-left:1px}.mapanchor-logo{display:block;width:30px;height:30px;opacity:.4;pointer-events:auto;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.mapanchor-logo:hover{opacity:.7;transform:scale(1.05)}.maplibregl-ctrl-group{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.maplibregl-ctrl-group button{width:28px;height:28px;background:var(--bg-secondary);border:none}.maplibregl-ctrl-group button:hover{background:var(--bg-hover)}.maplibregl-ctrl-group button+button{border-top:1px solid var(--border-subtle)}.maplibregl-ctrl-attrib{background:var(--bg-secondary);font-size:var(--font-size-xs);color:var(--text-muted)}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib.maplibregl-compact.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-scale{background:var(--bg-secondary);border:1px solid var(--border-primary);border-top:2px solid var(--text-secondary);font-size:var(--font-size-xs);color:var(--text-secondary);padding:1px var(--space-1);border-radius:var(--radius-sm)}.drop-zone{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:2px dashed var(--border-secondary);border-radius:var(--radius-md);transition:all var(--transition-base);pointer-events:none;opacity:0;z-index:1000}.drop-zone.dragging{opacity:1;pointer-events:all;background:var(--bg-secondary);border-color:var(--accent-primary);border-width:2px}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text-secondary)}.drop-zone.dragging .drop-zone-content{color:var(--accent-primary)}.drop-zone-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.01em}.drop-zone.dragging .drop-zone-title{color:var(--accent-primary)}.drop-zone-hint{font-size:var(--font-size-sm);color:var(--text-secondary)}.drop-zone-formats{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);margin-top:var(--space-2);letter-spacing:.01em}.feature-table-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.feature-table-container{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);width:90%;max-width:1200px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.feature-table-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary)}.feature-table-title{display:flex;align-items:baseline;gap:var(--space-3)}.feature-table-title h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--text-primary);margin:0}.feature-count{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-mono)}.feature-table-controls{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;gap:var(--space-2)}.feature-table-filter-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.feature-table-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.feature-table-filter-btn.active{background:#5b7c9926;border-color:var(--accent-primary);color:var(--accent-primary)}.feature-search-input{flex:1;min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;transition:border-color var(--transition-fast)}.feature-search-input:focus{outline:none;border-color:var(--accent-primary)}.feature-search-input::placeholder{color:var(--text-tertiary)}.feature-table-scroll{flex:1;overflow:auto}.feature-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.feature-table thead{position:sticky;top:0;background:var(--bg-secondary);z-index:1}.feature-table th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-weight-medium);color:var(--text-secondary);border-bottom:1px solid var(--border-primary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.feature-table th:hover{background:var(--bg-hover)}.feature-table th.sorted{color:var(--text-primary)}.feature-table-header-cell{display:flex;align-items:center;gap:var(--space-1)}.feature-table-index{width:60px;text-align:center!important;font-family:var(--font-mono);color:var(--text-tertiary)}.feature-table-geometry{width:120px}.geometry-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-xs);font-family:var(--font-mono);text-transform:uppercase}.feature-table tbody tr{border-bottom:1px solid var(--border-primary);transition:background var(--transition-fast);cursor:pointer}.feature-table tbody tr:hover{background:var(--bg-hover)}.feature-table tbody tr.selected{background:#5b7c9926}.feature-table tbody tr.selected:hover{background:#5b7c9940}.feature-table td{padding:var(--space-2) var(--space-3);color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-table tbody tr.selected td{color:var(--accent-primary)}.feature-table-scroll::-webkit-scrollbar{width:8px;height:8px}.feature-table-scroll::-webkit-scrollbar-track{background:var(--bg-secondary)}.feature-table-scroll::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.feature-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.feature-panel{position:fixed;right:var(--space-4);top:var(--space-4);width:300px;max-height:calc(100vh - var(--space-8));background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:900}.feature-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-primary);gap:var(--space-2);background:var(--bg-tertiary)}.feature-panel-controls{display:flex;align-items:center;gap:var(--space-2)}.feature-navigation{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.feature-counter{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);min-width:44px;text-align:center;font-variant-numeric:tabular-nums}.feature-panel-title{display:flex;flex-direction:column;gap:var(--space-1)}.feature-panel-title h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;letter-spacing:-.01em}.feature-geometry-type{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.feature-panel-content{flex:1;overflow-y:auto;padding:var(--space-3);background:var(--bg-secondary)}.feature-panel-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-4);color:var(--text-muted);font-size:var(--font-size-sm)}.feature-properties{display:flex;flex-direction:column;gap:var(--space-3)}.feature-property{display:flex;flex-direction:column;gap:var(--space-1)}.feature-property-key{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.feature-property-value{font-size:var(--font-size-sm);color:var(--text-primary);word-break:break-word;font-family:var(--font-mono);background:var(--bg-tertiary);padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.feature-geometry-info{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.feature-geometry-details{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.feature-geometry-details .feature-property{flex-direction:row;align-items:center;justify-content:space-between}.feature-geometry-details .feature-property-key{text-transform:none}.feature-geometry-details .feature-property-value{background:none;padding:0;border:none;font-size:var(--font-size-xs)}.feature-panel-content::-webkit-scrollbar{width:6px}.feature-panel-content::-webkit-scrollbar-track{background:var(--bg-tertiary)}.feature-panel-content::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-sm)}.feature-panel-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.feature-hover-popup{position:fixed;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;padding:var(--space-2);min-width:200px;max-width:300px;z-index:1100;pointer-events:none;font-size:var(--font-size-sm)}.feature-hover-header{padding-bottom:var(--space-2);border-bottom:1px solid var(--border-primary);margin-bottom:var(--space-2)}.feature-hover-type{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;font-weight:var(--font-weight-medium)}.feature-hover-properties{display:flex;flex-direction:column;gap:var(--space-1)}.feature-hover-property{display:flex;gap:var(--space-2);align-items:baseline}.feature-hover-key{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-medium);flex-shrink:0}.feature-hover-value{font-size:var(--font-size-xs);color:var(--text-primary);font-family:var(--font-mono);word-break:break-word}.feature-hover-more{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic;margin-top:var(--space-1)}.feature-hover-empty{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic}.capture-view-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);width:90%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.capture-view-dialog>.dialog-content{padding:var(--space-4);background:none;border:none;border-radius:0;box-shadow:none;max-width:none;max-height:none;width:auto;overflow:visible}.form-group{margin-bottom:var(--space-3)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.01em}.form-input,.form-select{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.form-input:hover,.form-select:hover{border-color:var(--border-secondary)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--border-focus);background:var(--bg-secondary)}.form-input:disabled,.form-select:disabled{opacity:.4;cursor:not-allowed}.form-checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary)}.form-checkbox-label input[type=checkbox]{cursor:pointer}.form-help-text{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--line-height-base)}.radio-group{display:flex;flex-direction:column;gap:var(--space-2)}.radio-label{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.radio-label:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.radio-label input[type=radio]{margin-top:2px;cursor:pointer}.radio-content{display:flex;flex-direction:column;gap:var(--space-1)}.radio-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);letter-spacing:-.01em}.radio-description{font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--line-height-base)}.edit-view-dialog{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.edit-view-dialog>.dialog-content{padding:var(--space-4);background:none;border:none;border-radius:0;box-shadow:none;max-width:none;max-height:none;width:auto;overflow:visible}.name-input-group{display:flex;gap:var(--space-2);align-items:center}.name-input-group .form-input{flex:1}.btn-change-name{flex-shrink:0;padding:var(--space-2) var(--space-3);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-change-name:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-change-name:active{transform:scale(.98)}.btn-recapture{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-recapture:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-recapture:active{transform:scale(.98)}.pdf-viewer{display:flex;flex-direction:column;height:100%;background:var(--background);position:relative}.zoom-indicator{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;z-index:1000;pointer-events:none;animation:zoomFadeIn .15s ease-out}.pdf-viewer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes zoomFadeIn{0%{opacity:0;transform:translate(-50%) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.pdf-viewer-controls{display:flex;align-items:center;justify-content:center;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--background);position:sticky;top:0;z-index:10}.pdf-page-info{font-size:13px;color:var(--text-secondary);font-weight:500}.pdf-zoom-controls{display:flex;align-items:center;gap:8px}.zoom-level{min-width:50px;text-align:center;font-size:13px;font-weight:500;color:var(--text-secondary)}.zoom-btn{padding:6px 12px;background:var(--background-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;min-width:44px}.zoom-btn:hover{background:var(--background-tertiary);border-color:var(--border-hover)}.zoom-btn:active{transform:scale(.98)}.pdf-viewer-container{flex:1;overflow-y:auto;overflow-x:auto;background:var(--background-secondary);position:relative}.pdf-pages-wrapper{padding:20px;min-height:100%;display:flex;flex-direction:column;align-items:center}.pdf-pages-wrapper.single-page-mode{justify-content:center;min-height:100%;padding:0}.pdf-pages-wrapper.single-page-mode .pdf-page{margin:0}.pdf-page{margin:0 auto 20px;background:#fff;box-shadow:0 4px 12px #00000026,0 8px 24px #0000001a,0 1px 3px #0003;border-radius:4px;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease}.pdf-page:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000002e,0 12px 32px #0000001f,0 2px 4px #00000040}.pdf-page canvas{display:block;max-width:none;height:auto}.pdf-page-number{position:absolute;top:8px;right:8px;background:#0009;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1}.pdf-page-anchors{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:6px;z-index:2}.pdf-anchor-badge{display:flex;align-items:center;gap:6px;padding:6px;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000026;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;max-width:32px}.pdf-anchor-badge .anchor-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;margin-left:2px}.pdf-anchor-badge .anchor-label{opacity:0;max-width:0;overflow:hidden;transition:all .2s ease;font-size:12px}.pdf-anchor-badge:hover{filter:brightness(.9);transform:translateY(-1px);box-shadow:0 4px 12px #0003;max-width:300px;padding:6px 12px}.pdf-anchor-badge:hover .anchor-label{opacity:1;max-width:200px;margin-left:4px}.pdf-anchor-badge:active{transform:translateY(0)}.pdf-viewer-container::-webkit-scrollbar{width:8px}.pdf-viewer-container::-webkit-scrollbar-track{background:var(--background)}.pdf-viewer-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.pdf-viewer-container::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.pdf-page.anchor-placement-mode{outline:2px dashed var(--accent-primary);outline-offset:4px}.pdf-page.anchor-placement-mode:hover{outline-color:var(--accent-hover);outline-width:3px;background:#3b82f60d}.context-menu-overlay{position:fixed;inset:0;z-index:9999}.pdf-context-menu{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:var(--space-1);min-width:160px}.context-menu-item{width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;text-align:left;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.context-menu-item:hover{background:var(--bg-hover);color:var(--error)}.document-viewer-wrapper{height:100%;display:flex;flex-direction:column;background:var(--background)}.document-viewer-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center;color:var(--text-secondary)}.placeholder-icon{font-size:64px;margin-bottom:16px;opacity:.5}.document-viewer-placeholder h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.document-viewer-placeholder p{font-size:14px;margin:4px 0;color:var(--text-secondary)}.placeholder-filename{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);margin-top:16px;padding:8px 12px;background:var(--background-secondary);border-radius:6px}.anchor-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.anchor-dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:0 10px 40px #0000004d;width:90%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.anchor-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0}.anchor-dialog-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0}.anchor-dialog-close{padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-xs);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;font-size:24px}.anchor-dialog-close:hover{background:var(--bg-hover);color:var(--text-primary)}.anchor-dialog-content{flex:1;padding:var(--space-4);overflow-y:auto;min-height:0}.anchor-dialog-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-4) 0;line-height:1.5}.anchor-dialog-empty{text-align:center;padding:40px 20px}.anchor-dialog-empty p{font-size:14px;color:var(--text-secondary);margin:0 0 8px}.anchor-dialog-hint{font-size:12px;color:var(--text-tertiary)}.anchor-view-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.anchor-view-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-primary);border-radius:0;cursor:pointer;transition:all var(--transition-fast)}.anchor-view-item:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.anchor-view-item.selected{background:var(--bg-tertiary);border-color:var(--accent-primary)}.anchor-view-item input[type=radio]{cursor:pointer;flex-shrink:0}.anchor-view-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.anchor-view-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.anchor-view-current{font-size:var(--font-size-xs);color:var(--text-tertiary)}.anchor-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0}.anchor-btn-secondary{min-width:80px;padding:var(--space-2) var(--space-4);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.anchor-btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.anchor-btn-primary{min-width:80px;padding:var(--space-2) var(--space-4);border:none;background:var(--accent-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.anchor-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.anchor-btn-primary:disabled{opacity:.5;cursor:not-allowed}.anchor-auto-apply-option{margin-top:var(--space-4);padding:var(--space-3);background:var(--bg-tertiary);border-radius:0;border:1px solid var(--border-primary)}.anchor-checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.anchor-checkbox-label.disabled{opacity:.6;cursor:not-allowed}.anchor-checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.anchor-checkbox-label.disabled input[type=checkbox]{cursor:not-allowed}.anchor-option-hint{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:var(--space-2) 0 0 24px;line-height:1.4}.anchor-option-hint.warning{color:var(--warning);font-weight:500}.anchor-color-picker-section{margin-top:var(--space-4);padding:var(--space-3);background:var(--bg-tertiary);border-radius:0;border:1px solid var(--border-primary)}.anchor-section-label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.anchor-color-options{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.anchor-color-option{width:100%;aspect-ratio:1;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;padding:0;position:relative}.anchor-color-option:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.anchor-color-option.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-tertiary),0 0 0 4px var(--text-primary)}.anchor-color-option svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.document-panel{position:fixed;right:0;top:0;height:100vh;background:var(--bg-secondary);z-index:100;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--border-primary)}.document-panel.closed{width:0!important;border:none}.document-panel-resize-handle{position:absolute;left:0;top:0;width:3px;height:100%;cursor:ew-resize;background:transparent;z-index:101;transition:background var(--transition-fast)}.document-panel-resize-handle:hover{background:var(--accent-subtle)}.document-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);flex-shrink:0}.document-panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.02em}.document-panel-close{padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.document-panel-close:hover{background:var(--bg-hover);color:var(--text-secondary)}.document-panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-secondary)}.document-viewer-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;box-shadow:var(--shadow-sm);will-change:transform}.toolbar-group{display:flex;align-items:center;gap:var(--space-2)}.toolbar-group-left{flex:1 1 0;min-width:0;max-width:40%}.toolbar-group-center{flex:0 0 auto}.toolbar-group-right{flex:1 1 0;justify-content:flex-end;gap:var(--space-3)}.toolbar-divider{width:1px;height:20px;background:var(--border-primary);opacity:.5;flex-shrink:0}.viewer-back-btn{padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6;min-width:24px;height:24px}.viewer-back-btn:hover{background:var(--bg-hover);color:var(--text-primary);opacity:1}.viewer-document-info{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1;overflow:hidden}.viewer-document-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;flex:1;min-width:0}.viewer-page-info{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.viewer-zoom-controls{display:flex;align-items:center;gap:var(--space-1)}.viewer-zoom-controls .zoom-btn{padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.viewer-zoom-controls .zoom-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.viewer-zoom-controls .zoom-btn:active{background:var(--bg-tertiary)}.viewer-page-nav{display:flex;align-items:center;gap:var(--space-1)}.page-nav-btn{padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.page-nav-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.page-nav-btn:active{background:var(--bg-tertiary)}.page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.page-input-form{display:flex;align-items:center;gap:4px}.page-input{width:24px;height:24px;padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:center;transition:all var(--transition-fast);font-variant-numeric:tabular-nums;box-sizing:border-box}.page-input:focus{outline:none;background:var(--bg-hover);color:var(--text-primary)}.page-total{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.viewer-mode-btn{padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:24px;height:24px}.viewer-mode-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.viewer-mode-btn.active{background:var(--accent-primary);color:#fff}.viewer-mode-btn.active:hover{background:var(--accent-hover);color:#fff}.viewer-close-btn{padding:var(--space-1);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6;margin-left:var(--space-3);min-width:24px;height:24px}.viewer-close-btn:hover{background:var(--bg-hover);color:var(--text-primary);opacity:1}.current-document-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.current-document-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-document-pages{font-size:12px;color:var(--text-tertiary)}.toolbar-btn{padding:6px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.document-viewer-container{flex:1;overflow:hidden;background:transparent;position:relative}.document-panel-empty{flex:1;overflow-y:auto;display:flex;flex-direction:column;background:var(--bg-secondary)}.document-list-section{flex:1;padding:20px;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.document-list-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:var(--space-4)}.document-list-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.upload-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--accent-primary);color:var(--bg-secondary);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.01em}.upload-btn:hover{background:var(--accent-hover)}.upload-btn:active{background:var(--accent-active)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state svg{opacity:.3;margin-bottom:16px}.empty-state h4{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-state p{font-size:14px;margin:0 0 24px}.upload-btn-large{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.upload-btn-large:hover{background:var(--accent-hover);transform:translateY(-1px)}.upload-btn-large:active{transform:translateY(0)}.document-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.document-item:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.document-item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-primary);border-radius:6px;color:var(--accent-primary);flex-shrink:0}.document-item-info{flex:1;min-width:0}.document-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px;letter-spacing:-.01em}.document-item-meta{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.document-item-remove{padding:6px;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0}.document-item:hover .document-item-remove{opacity:1}.document-item-remove:hover{background:var(--error-background);color:var(--error)}.notes-section-placeholder{padding:20px;background:var(--bg-tertiary)}.notes-section-placeholder h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.notes-section-placeholder p{font-size:13px;color:var(--text-tertiary);margin:0}.document-panel-toggle{position:fixed;right:20px;top:20px;width:44px;height:44px;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026;transition:all .2s ease;z-index:99}.document-panel-toggle:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 16px #0003}.document-panel-toggle:active{transform:translateY(0)}.document-panel-toggle.hidden{display:none}.document-details-view{display:flex;flex-direction:column;gap:0}.document-details-header{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:0}.document-details-header .doc-col{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.document-details-row{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-primary);cursor:pointer;transition:background var(--transition-fast);background:var(--bg-secondary)}.document-details-row:last-child{border-bottom:none}.document-details-row:hover{background:var(--bg-hover)}.document-details-row:hover .document-item-remove{opacity:1}.doc-col{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-col-name{flex:3;min-width:0;color:var(--text-primary);font-weight:var(--font-weight-medium)}.doc-col-type{flex:.8;font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.02em}.doc-col-date{flex:1.2;font-size:var(--font-size-xs);color:var(--text-tertiary)}.doc-col-size{flex:1;font-size:var(--font-size-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.doc-col-anchors{flex:1;font-size:var(--font-size-xs);color:var(--text-tertiary);justify-content:center;font-variant-numeric:tabular-nums}.doc-col-actions{flex:0 0 32px;justify-content:center}.doc-row-icon{color:var(--text-muted);flex-shrink:0}.doc-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.doc-saving-indicator{display:flex;align-items:center;justify-content:center}.doc-upload-icon{animation:doc-upload-pulse 1.5s ease-in-out infinite;color:var(--accent-primary)}@keyframes doc-upload-pulse{0%,to{opacity:.4}50%{opacity:1}}.document-panel-empty::-webkit-scrollbar{width:8px}.document-panel-empty::-webkit-scrollbar-track{background:var(--bg-primary)}.document-panel-empty::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:4px}.document-panel-empty::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}.migration-toast{position:fixed;bottom:16px;right:16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px 14px;min-width:240px;max-width:300px;z-index:9000;font-size:var(--font-size-sm);animation:migration-toast-in .3s ease}@keyframes migration-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.migration-toast-header{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:var(--font-weight-medium)}.migration-toast-spinner{color:var(--accent-primary);animation:migration-spin 1s linear infinite}@keyframes migration-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.migration-toast-detail{margin-top:8px;display:flex;flex-direction:column;gap:4px}.migration-toast-info{display:flex;justify-content:space-between;align-items:center}.migration-toast-phase{font-size:var(--font-size-xs);color:var(--text-secondary)}.migration-toast-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.migration-toast-current-item{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.migration-bar-container{width:100%;height:3px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.migration-bar-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .3s ease}.migration-toast-done{display:flex;align-items:center;gap:8px;color:#22c55e;font-weight:var(--font-weight-medium)}.migration-toast-error{display:flex;align-items:center;gap:8px;color:#ef4444;font-weight:var(--font-weight-medium)}.loading-toast{position:fixed;bottom:16px;right:16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px 14px;min-width:240px;max-width:300px;z-index:9000;font-size:var(--font-size-sm);animation:loading-toast-in .3s ease}@keyframes loading-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.loading-toast-header{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-weight:var(--font-weight-medium)}.loading-toast-spinner{color:var(--accent-primary);animation:loading-spin 1s linear infinite}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-toast-detail{margin-top:8px;display:flex;flex-direction:column;gap:4px}.loading-toast-info{display:flex;justify-content:space-between;align-items:center}.loading-toast-phase{font-size:var(--font-size-xs);color:var(--text-secondary)}.loading-toast-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.loading-toast-current-item{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-bar-container{width:100%;height:3px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.loading-bar-fill{height:100%;background:var(--accent-primary);border-radius:2px;transition:width .3s ease}.loading-toast-done{display:flex;align-items:center;gap:8px;color:#22c55e;font-weight:var(--font-weight-medium)}.loading-toast-error{display:flex;align-items:center;gap:8px;color:#ef4444;font-weight:var(--font-weight-medium)}:root{--bg-primary: #EAEAEA;--bg-secondary: #F0F0F0;--bg-tertiary: #E5E5E5;--bg-hover: #E0E0E0;--bg-active: #DADADA;--bg-input: #F3F3F3;--border-primary: #C5C5C5;--border-secondary: #B5B5B5;--border-focus: #9D9D9D;--border-subtle: #D5D5D5;--text-primary: #2A2B2D;--text-secondary: #4A4B4D;--text-tertiary: #6B6C6E;--text-disabled: #9A9B9D;--text-muted: #7B7C7E;--accent-primary: #5B7C99;--accent-hover: #4A6B88;--accent-active: #3A5A77;--accent-subtle: #7B9BB8;--success: #4A7C59;--warning: #9C6B2E;--error: #9C4444;--info: #4A7BA7;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Consolas", "Monaco", "Courier New", monospace;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-base: 12px;--font-size-md: 13px;--font-size-lg: 14px;--line-height-tight: 1.25;--line-height-base: 1.35;--line-height-relaxed: 1.45;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--sidebar-width: 260px;--panel-width: 340px;--header-height: 40px;--radius-none: 0px;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--shadow-none: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 2px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 3px 6px rgba(0, 0, 0, .05);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .18s cubic-bezier(.4, 0, .2, 1);--transition-slow: .24s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #1C1C1C;--bg-secondary: #252525;--bg-tertiary: #2C2C2C;--bg-hover: #323232;--bg-active: #383838;--bg-input: #2E2E2E;--border-primary: #3C3C3C;--border-secondary: #4C4C4C;--border-focus: #6D6D6D;--border-subtle: #343434;--text-primary: #E5E6E8;--text-secondary: #C5C6C8;--text-tertiary: #A5A6A8;--text-disabled: #75767A;--text-muted: #8B8C8E;--accent-primary: #6B8BA8;--accent-hover: #7B9BB8;--accent-active: #8BABC8;--accent-subtle: #5B7B98;--success: #5A8C69;--warning: #AC7B3E;--error: #AC5454;--info: #5A8BB7;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 2px 3px rgba(0, 0, 0, .2);--shadow-lg: 0 3px 6px rgba(0, 0, 0, .25)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}button{font-family:inherit;font-size:inherit;line-height:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}input:hover,textarea:hover,select:hover{border-color:var(--border-secondary)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);background:var(--bg-secondary)}code{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--bg-tertiary);padding:2px 4px;border-radius:var(--radius-sm)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-lg)}h2{font-size:var(--font-size-md)}h3{font-size:var(--font-size-base)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}#root{width:100%;height:100%}.anchor-warning-toast{position:fixed;bottom:80px;right:16px;background:var(--bg-secondary);border:1px solid rgba(234,179,8,.4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px 14px;max-width:320px;z-index:9001;display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;animation:anchor-toast-in .3s ease}.anchor-warning-toast svg{color:#eab308;flex-shrink:0;margin-top:1px}.anchor-warning-toast:hover{opacity:.8}@keyframes anchor-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
