:root{--background-color:#242424;--text-color:#d1d1d1;--app-border:#3a3a3a;--app-bg:#2e2e2e;--app-highlight:#0f92d9;--app-grey:#424242;--layer-item-bg:#2e2e2e;--layer-item-border:#3a3a3a;--brand-green:#359449;--brand-teal:#059bb3;--brand-blue:#0065dd;--brand-grad:linear-gradient(120deg, var(--brand-green), var(--brand-teal) 48%, var(--brand-blue));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Nunito Sans,sans-serif;line-height:1.35}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{background:var(--background-color);margin:0;overflow:hidden}h1,h2,p{margin:0}button,input{font:inherit}::-webkit-scrollbar{border-radius:3px;width:6px;height:6px}::-webkit-scrollbar-thumb{opacity:.8;background:var(--app-grey);border-radius:3px}.storage-indicator{flex-direction:column;gap:8px;display:flex}.storage-indicator--loading{opacity:.6;color:var(--text-color);font-size:12.5px}.storage-bar-row{align-items:center;gap:10px;display:flex}.storage-bar-track{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:5px;flex:1;height:8px;display:flex;overflow:hidden}.storage-bar-seg{height:100%;transition:width .3s}.storage-bar-seg--duck{background:var(--app-highlight)}.storage-bar-seg--tiles{background:#e0813a}.storage-bar-seg--attach{background:#3aa98c}.storage-bar-seg--other{background:var(--text-color);opacity:.28}.storage-bar-pct{font-variant-numeric:tabular-nums;color:var(--text-color);opacity:.8;text-align:right;min-width:34px;font-size:12px;font-weight:600}.storage-summary{color:var(--text-color);opacity:.75;font-size:12.5px}.storage-note{color:var(--text-color);opacity:.5;cursor:help;font-size:11.5px}.storage-breakdown{color:var(--text-color);opacity:.7;align-items:center;gap:7px;font-size:12px;display:flex}.storage-breakdown-dot{background:var(--app-highlight);border-radius:50%;flex-shrink:0;width:8px;height:8px}.storage-breakdown-dot--duck{background:var(--app-highlight)}.storage-breakdown-dot--tiles{background:#e0813a}.storage-breakdown-dot--attach{background:#3aa98c}.storage-breakdown-dot--other{background:var(--text-color);opacity:.35}.storage-clear-btn{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.storage-clear-btn:hover{background:var(--layer-item-border)}.storage-clear-btn:disabled{opacity:.6;cursor:default}.storage-clear-btn .material-symbols-outlined{font-size:18px}.storage-clear-btn--danger{color:#d4503b;border-color:#d4503b66;align-self:flex-start;margin-top:2px}.storage-clear-btn--danger:hover{background:#d4503b1f;border-color:#d4503b99}.storage-clear-confirm{background:#d4503b14;border:1px solid #d4503b66;border-radius:8px;flex-direction:column;gap:10px;margin-top:4px;padding:10px 12px;display:flex}.storage-clear-warning{color:var(--text-color);align-items:flex-start;gap:7px;margin:0;font-size:12.5px;line-height:1.4;display:flex}.storage-clear-warning .material-symbols-outlined{color:#d4503b;flex-shrink:0;font-size:18px}.storage-clear-actions{gap:8px;display:flex}.storage-clear-btn--confirm{color:#fff;background:#d4503b;border-color:#d4503b}.storage-clear-btn--confirm:hover{background:#bf432f;border-color:#bf432f}.storage-clear-zone{flex-direction:column;align-items:stretch;gap:8px;display:flex}.storage-clear-zone .storage-clear-btn{justify-content:flex-start}.storage-clear-zone .storage-clear-btn--danger{align-self:stretch;margin-top:0}.storage-clear-result{opacity:.8;margin:8px 0 0;font-size:12.5px;line-height:1.4}.maps-modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.maps-modal-dialog{background:var(--background-color);border:1px solid var(--layer-item-border);border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:min(80vh,720px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0006}.maps-modal-dialog:before{content:"";background:var(--brand-grad);z-index:2;height:4px;position:absolute;top:0;left:0;right:0}.maps-modal-header{border-bottom:1px solid var(--layer-item-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 18px 16px;display:flex;position:relative;overflow:hidden}.maps-modal-header:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(80% 140% at 0 0,#059bb31a,#0000 60%);position:absolute;inset:0}.maps-modal-header-left{z-index:1;align-items:center;gap:11px;display:flex;position:relative}.maps-modal-logo{filter:drop-shadow(0 4px 10px #0065dd33);flex-shrink:0;width:auto;height:30px}.maps-modal-heading{flex-direction:column;gap:2px;display:flex}.maps-modal-title{letter-spacing:-.2px;color:var(--text-color);margin:0;font-size:16px;font-weight:800}.maps-modal-subtitle{opacity:.55;color:var(--text-color);font-size:11.5px}.maps-modal-close{z-index:1;width:30px;height:30px;color:var(--text-color);opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background .12s;display:flex;position:relative}.maps-modal-close:hover{opacity:.9;background:var(--layer-item-bg)}.maps-modal-close .material-symbols-outlined{font-size:18px}.maps-modal-dialog .side-panel-toolbar{flex-shrink:0}.maps-modal-body{flex-direction:column;min-height:0;padding:4px 12px 12px;display:flex;overflow-y:auto}.maps-storage-section{border-top:1px solid var(--layer-item-border);margin-top:14px;padding-top:14px}.maps-storage-title{color:var(--text-color);opacity:.85;margin:0 0 10px;font-size:13px;font-weight:600}.maps-modal-dialog .map-list-item.is-active{background:color-mix(in srgb, var(--brand-teal) 8%, var(--layer-item-bg));box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-teal) 35%, transparent);border-color:#0000;position:relative}.maps-modal-dialog .map-list-item.is-active:before{content:"";background:var(--brand-grad);border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.maps-modal-dialog .map-list-item.is-active .list-item-primary{color:var(--brand-blue)}.map-sync-row{justify-content:space-between;align-items:center;gap:8px;padding:6px 10px 2px;display:flex}.map-sync-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.map-sync-toggle.is-disabled{cursor:default;opacity:.6}.map-sync-toggle.is-disabled .lsp-switch-track{opacity:.7}.map-sync-status{color:var(--text-color);opacity:.7;align-items:center;gap:5px;font-size:11.5px;display:inline-flex}.map-sync-status .material-symbols-outlined{font-size:15px}.map-sync-status.is-dirty{color:var(--brand-blue);opacity:.95}.map-sync-now{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:3px 9px;font-size:11.5px;transition:background .12s,border-color .12s}.map-sync-now:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue)}.map-sync-now:disabled{opacity:.5;cursor:default}.map-sync-now .material-symbols-outlined{vertical-align:-3px;margin-right:3px;font-size:15px}.maps-cloud-section{margin-top:14px}.maps-cloud-head{opacity:.8;align-items:center;gap:6px;margin:0 2px 8px;font-size:12px;font-weight:600;display:flex}.maps-cloud-head .material-symbols-outlined{font-size:17px}.map-cloud-item{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.settings-modal-dialog{background:var(--background-color);border:1px solid var(--layer-item-border);border-radius:16px;flex-direction:column;width:100%;max-width:520px;height:min(86vh,700px);max-height:86vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0006}.settings-modal-dialog:before{content:"";background:var(--brand-grad);z-index:2;height:4px;position:absolute;top:0;left:0;right:0}.settings-modal-header{border-bottom:1px solid var(--layer-item-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 18px 16px;display:flex;position:relative;overflow:hidden}.settings-modal-header:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(80% 140% at 0 0,#059bb31a,#0000 60%);position:absolute;inset:0}.settings-modal-header-left{z-index:1;align-items:center;gap:11px;display:flex;position:relative}.settings-modal-logo{filter:drop-shadow(0 4px 10px #0065dd33);flex-shrink:0;width:auto;height:30px}.settings-modal-heading{flex-direction:column;gap:2px;display:flex}.settings-modal-title{letter-spacing:-.2px;color:var(--text-color);margin:0;font-size:16px;font-weight:800}.settings-modal-subtitle{opacity:.55;color:var(--text-color);font-size:11.5px}.settings-modal-close{z-index:1;width:30px;height:30px;color:var(--text-color);opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background .12s;display:flex;position:relative}.settings-modal-close:hover{opacity:.9;background:var(--layer-item-bg)}.settings-modal-close .material-symbols-outlined{font-size:18px}.settings-modal-tabs{border-bottom:1px solid var(--layer-item-border);flex-shrink:0;gap:2px;padding:6px 10px 0;display:flex;overflow-x:auto}.settings-tab{color:var(--text-color);opacity:.55;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 8px;font-family:inherit;font-size:11.5px;font-weight:600;transition:color .12s,opacity .12s,border-color .12s;display:flex}.settings-tab .material-symbols-outlined{font-size:20px}.settings-tab:hover{opacity:.85}.settings-tab.active{opacity:1;color:var(--app-highlight);border-bottom-color:var(--app-highlight)}.settings-modal-body{flex-direction:column;flex:1;gap:22px;min-height:0;padding:18px;display:flex;overflow-y:auto}.maps-section{flex-direction:column;gap:12px;display:flex}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section-head{justify-content:space-between;align-items:center;display:flex}.settings-section-title{text-transform:uppercase;letter-spacing:.6px;opacity:.5;color:var(--text-color);margin:0;font-size:11px;font-weight:600}.settings-reset{color:var(--app-highlight);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 6px;font-family:inherit;font-size:12px;transition:background .12s}.settings-reset:hover{background:color-mix(in srgb, var(--app-highlight) 10%, transparent)}.settings-actions{gap:8px;display:flex}.settings-action-btn{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:11px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px 10px;font-family:inherit;font-size:12.5px;font-weight:600;transition:border-color .16s,color .16s,background .16s,transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden}.settings-action-btn:before{content:"";background:var(--brand-grad);transform-origin:0;width:100%;height:3px;transition:transform .25s;position:absolute;top:0;left:0;transform:scaleX(0)}.settings-action-btn{text-decoration:none}.settings-action-btn .material-symbols-outlined{color:var(--brand-teal);opacity:.9;font-size:22px}.settings-action-btn .settings-action-go.material-symbols-outlined{opacity:.4;font-size:15px;position:absolute;top:7px;right:7px}.settings-action-btn:hover{color:var(--text-color);background:var(--layer-item-bg);border-color:#0000;transform:translateY(-2px);box-shadow:0 8px 20px #1428501f}.settings-action-btn:hover:before{transform:scaleX(1)}.settings-install-hint{border:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--app-highlight) 8%, var(--layer-item-bg));color:var(--text-color);border-radius:9px;margin:10px 0 0;padding:10px 12px;font-size:12.5px;line-height:1.5}.settings-install-hint-icon{vertical-align:-3px;opacity:.85;font-size:16px}.settings-controls{flex-direction:column;gap:2px;display:flex}.settings-control-row{border-radius:7px;padding:7px 8px}.settings-control-row:hover{background:color-mix(in srgb, var(--app-highlight) 8%, transparent)}.settings-control-label{opacity:.85;font-size:13px}.acct-signin{flex-direction:column;gap:10px;display:flex}.acct-signin-copy{opacity:.8;margin:0;font-size:13px;line-height:1.45}.acct-signin-btn{border:1px solid var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight);cursor:pointer;border-radius:9px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s;display:inline-flex}.acct-signin-btn:hover:not(:disabled){background:color-mix(in srgb, var(--app-highlight) 20%, transparent)}.acct-signin-btn:disabled{opacity:.6;cursor:default}.acct-signin-btn .material-symbols-outlined{font-size:18px}.acct-signin-email{gap:8px;margin-top:2px;display:flex}.acct-signin-email input{border:1px solid var(--app-border,#80808059);min-width:0;color:var(--text-color);background:0 0;border-radius:9px;flex:1;padding:8px 11px;font-family:inherit;font-size:13px}.acct-signin-email button{border:1px solid var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight);cursor:pointer;border-radius:9px;flex-shrink:0;padding:8px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.acct-signin-email button:disabled{opacity:.6;cursor:default}.acct-signin-sent{color:#2e7d32;margin:2px 0 0;font-size:12.5px;line-height:1.45}.dark-mode .acct-signin-sent{color:#6ddf74}.acct-id-row{align-items:center;gap:12px;display:flex}.acct-id-avatar{background:var(--app-highlight);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:600;display:flex;overflow:hidden}.acct-id-avatar img{object-fit:cover;width:100%;height:100%}.acct-id-text{flex-direction:column;flex:1;min-width:0;display:flex}.acct-id-name{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.acct-id-email{opacity:.65;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.acct-plan-badge{text-transform:uppercase;letter-spacing:.8px;background:var(--layer-item-bg);border:1px solid var(--layer-item-border);color:var(--text-color);opacity:.85;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:700}.acct-plan-note{opacity:.7;margin:2px 0 0;font-size:12.5px;line-height:1.4}.acct-actions{flex-direction:column;gap:8px;display:flex}.acct-action-btn{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);width:100%;color:var(--text-color);text-align:left;cursor:pointer;border-radius:11px;align-items:center;gap:12px;padding:11px 12px;font-family:inherit;text-decoration:none;transition:border-color .14s,background .14s,transform .14s;display:flex}.acct-action-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand-teal) 50%, var(--layer-item-border));transform:translateY(-1px)}.acct-action-btn:disabled{opacity:.5;cursor:default}.acct-action-btn>.material-symbols-outlined{color:var(--brand-teal);flex-shrink:0;font-size:22px}.acct-action-btn--primary{background:color-mix(in srgb, var(--brand-teal) 10%, var(--layer-item-bg));border-color:#0000}.acct-action-btn--primary>.material-symbols-outlined{color:var(--brand-blue)}.acct-action-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.acct-action-label{color:var(--text-color);font-size:13.5px;font-weight:600}.acct-action-sub{opacity:.6;font-size:11.5px}.acct-action-go.material-symbols-outlined{color:var(--text-color);opacity:.4;flex-shrink:0;font-size:18px}.ald-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--text-color);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ald-dialog{background:var(--background-color);border:1px solid var(--layer-item-border);border-radius:16px;flex-direction:column;width:100%;max-width:480px;max-height:calc(100vh - 32px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0006}@supports (height:100dvh){.ald-dialog{max-height:calc(100dvh - 32px)}}.ald-dialog:not(.ald-dialog--embedded):before{content:"";background:var(--brand-grad);z-index:2;height:4px;position:absolute;top:0;left:0;right:0}.ald-dialog--embedded{box-shadow:none;background:0 0;border:none;border-radius:0;max-width:none;padding:40px 28px}.ald-dialog--embedded .ald-header{text-transform:uppercase;border-bottom:none;margin:auto;padding:4px 2px 14px}.ald-dialog--embedded .ald-body{gap:22px;padding:14px 4px}.ald-header{border-bottom:1px solid var(--layer-item-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px 14px;display:flex;position:relative;overflow:hidden}.ald-dialog:not(.ald-dialog--embedded) .ald-header:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(80% 140% at 0 0,#059bb31a,#0000 60%);position:absolute;inset:0}.ald-header-left{z-index:1;align-items:center;gap:6px;display:flex;position:relative}.ald-header>.ald-close,.ald-header>.ald-back{z-index:1;position:relative}.ald-title{color:var(--text-color);margin:0;font-size:15px;font-weight:700}.ald-title-icon{color:var(--brand-teal)}.ald-back,.ald-close{width:30px;height:30px;color:var(--text-color);opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background .12s;display:flex}.ald-back:hover,.ald-close:hover{opacity:.9;background:var(--layer-item-bg)}.ald-back .material-symbols-outlined,.ald-close .material-symbols-outlined{font-size:18px}.ald-body{flex-direction:column;gap:22px;min-height:0;padding:22px 24px 24px;display:flex;overflow-y:auto}.ald-drop-hint{background:color-mix(in srgb, var(--app-highlight) 8%, transparent);border:1px dashed color-mix(in srgb, var(--app-highlight) 40%, transparent);color:var(--app-highlight);border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:500;display:flex}.ald-drop-hint .material-symbols-outlined{flex-shrink:0;font-size:18px}.ald-formats{flex-direction:column;gap:14px;display:flex}.ald-format-group{flex-direction:column;gap:8px;display:flex}.ald-format-label{text-transform:uppercase;letter-spacing:.6px;opacity:.45;color:var(--text-color);font-size:10.5px;font-weight:600}.ald-chips{flex-wrap:wrap;gap:4px;display:flex}.ald-chip{background:color-mix(in srgb, var(--app-highlight) 7%, transparent);border:1px solid color-mix(in srgb, var(--app-highlight) 28%, transparent);color:var(--app-highlight);border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.ald-chip--raster{color:#a855f7;background:#a855f712;border-color:#a855f74d}.dark-mode .ald-chip--raster{color:#c084fc}.ald-actions{flex-direction:column;gap:10px;display:flex}.ald-btn{cursor:pointer;text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:600;transition:opacity .12s,background .12s;display:flex}.ald-btn--primary{background:var(--brand-grad);color:#fff;background-position:0%;background-size:140% 140%;justify-content:center;transition:background-position .3s,box-shadow .2s,opacity .12s;box-shadow:0 4px 14px #0065dd33}.ald-btn--primary:hover:not(:disabled){background-position:100%;box-shadow:0 6px 18px #0065dd47}.ald-btn--primary:disabled{opacity:.45;cursor:not-allowed}.ald-btn--danger{color:#fff;background:#e05555;justify-content:center}.ald-btn--danger:hover:not(:disabled){background:#cf4444}.ald-btn--secondary{background:var(--layer-item-bg);border-color:var(--layer-item-border);color:var(--text-color);justify-content:center}.ald-confirm-message{color:var(--text-color);opacity:.85;margin:0 0 16px;font-size:13px;line-height:1.5}.ald-btn--secondary:hover{background:color-mix(in srgb, var(--app-highlight) 8%, var(--layer-item-bg));border-color:color-mix(in srgb, var(--app-highlight) 35%, var(--layer-item-border));color:var(--app-highlight)}.ald-btn .material-symbols-outlined{flex-shrink:0;font-size:18px}.ald-field{flex-direction:column;gap:5px;display:flex}.ald-field--grow{flex:1}.ald-row{align-items:flex-start;gap:10px;display:flex}.ald-label{opacity:.55;text-transform:uppercase;letter-spacing:.5px;color:var(--text-color);font-size:11px;font-weight:600}.ald-input,.ald-select{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);box-sizing:border-box;border-radius:7px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.ald-input:focus,.ald-select:focus{border-color:var(--app-highlight)}.ald-geom-btns{gap:8px;display:flex}.ald-geom-btn{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;opacity:.7;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:5px;padding:10px 8px;font-size:11px;font-weight:600;transition:all .12s;display:flex}.ald-geom-btn .material-symbols-outlined{font-size:22px}.ald-geom-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight);opacity:1}.ald-geom-btn.active{border-color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 10%, var(--layer-item-bg));color:var(--app-highlight);opacity:1}@keyframes ald-spin{to{transform:rotate(360deg)}}.ald-spin{animation:.8s linear infinite ald-spin}.ald-cat-list{flex-direction:column;gap:14px;max-height:50vh;margin:4px -4px 0;padding:0 4px;display:flex;overflow-y:auto}.ald-cat-group{flex-direction:column;gap:4px;display:flex}.ald-cat-group-head{text-transform:uppercase;letter-spacing:.5px;opacity:.55;align-items:center;gap:5px;padding:2px 2px 4px;font-size:11px;font-weight:600;display:flex}.ald-cat-group-head .material-symbols-outlined{font-size:15px}.ald-cat-item{text-align:left;border:1px solid var(--layer-item-border);background:var(--layer-item-bg);width:100%;color:var(--text-color);border-radius:8px;align-items:center;gap:10px;padding:7px 8px 7px 10px;transition:border-color .12s,background .12s;display:flex}.ald-cat-item:hover{border-color:color-mix(in srgb, var(--app-highlight) 45%, var(--layer-item-border));background:color-mix(in srgb, var(--app-highlight) 6%, var(--layer-item-bg))}.ald-cat-item.is-blocked{opacity:.55}.ald-cat-item-icon{opacity:.7;flex-shrink:0;font-size:20px}.ald-cat-item-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.ald-cat-item-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ald-cat-item-meta{opacity:.6;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ald-cat-acts{flex-shrink:0;align-items:center;gap:4px;display:flex}.ald-cat-act{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:7px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.ald-cat-act .material-symbols-outlined{font-size:16px}.ald-cat-act:hover:not(:disabled){border-color:var(--app-highlight);color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 8%, var(--layer-item-bg))}.ald-cat-act:disabled{opacity:.5;cursor:default}.ald-cat-act--link{border-color:color-mix(in srgb, var(--app-highlight) 55%, var(--layer-item-border));color:var(--app-highlight)}.ald-cat-act--ghost{opacity:.75;padding:5px 7px}.ald-cat-blocked-icon{opacity:.5;flex-shrink:0;font-size:18px}.ald-cat-noresult{opacity:.6;padding:8px 2px;font-size:12.5px}.ald-cat-empty{text-align:center;opacity:.7;flex-direction:column;align-items:center;gap:4px;padding:28px 16px;display:flex}.ald-cat-empty .material-symbols-outlined{opacity:.5;font-size:34px}.ald-cat-empty p{margin:6px 0 0;font-size:13.5px;font-weight:600}.ald-cat-empty-sub{opacity:.7;max-width:280px;font-size:12px;line-height:1.4}.dtb-settings-dialog .ald-header{padding:12px 14px 10px}.dtb-settings-dialog .ald-body{gap:12px;padding:14px 16px 16px}.dtb-settings-dialog .ald-field{gap:4px}.dtb-settings-dialog .draw-section{padding-bottom:10px}.dtb-settings-dialog .draw-style-grid,.dtb-settings-dialog .draw-tools,.dtb-settings-dialog .draw-measure-toggle,.dtb-settings-dialog .panel-section-label,.dtb-settings-dialog .sym-grid--padded,.dtb-settings-dialog .sym-preview-wrap--padded{padding-left:0;padding-right:0}.dtb-settings-dialog .draw-style-grid{row-gap:7px;padding-top:4px}.dtb-settings-dialog .draw-measure-toggle{padding-top:4px}.dtb-settings-dialog .ald-actions{margin-top:2px}.dtb-subsettings-btn{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.dtb-subsettings-btn .material-symbols-outlined{font-size:18px}.ald-url-note{background:color-mix(in srgb, var(--app-highlight) 7%, var(--layer-item-bg));border:1px solid color-mix(in srgb, var(--app-highlight) 22%, var(--layer-item-border));opacity:.95;border-radius:8px;gap:7px;margin:0;padding:9px 11px;font-size:12px;line-height:1.45;display:flex}.ald-url-note .material-symbols-outlined{opacity:.7;flex-shrink:0;margin-top:1px;font-size:17px}.ald-url-note strong{font-weight:700}.sym-preview{flex-direction:column;align-items:center;gap:6px;display:flex}.sym-preview-stage{border:1px solid var(--layer-item-border);background-color:var(--background-color);background-image:linear-gradient(45deg, color-mix(in srgb, var(--text-color) 7%, transparent) 25%, transparent 25%), linear-gradient(-45deg, color-mix(in srgb, var(--text-color) 7%, transparent) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--text-color) 7%, transparent) 75%), linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--text-color) 7%, transparent) 75%);background-position:0 0,0 7px,7px -7px,-7px 0;background-size:14px 14px;border-radius:10px;justify-content:center;align-items:center;width:100%;height:112px;display:flex;overflow:hidden}.sym-preview-svg{width:100%;height:100%;display:block}.sym-preview-kml{opacity:.6;color:var(--text-color);flex-direction:column;align-items:center;gap:4px;font-size:12px;display:flex}.sym-preview-kml .material-symbols-outlined{font-size:30px}.sym-preview-hint{opacity:.6;color:var(--text-color);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11.5px;overflow:hidden}.sym-preview-controls{align-items:center;gap:8px;width:100%;display:flex}.sym-preview-zoom-icon{opacity:.55;color:var(--text-color);flex:none;font-size:17px}.sym-preview-zoom{min-width:0;height:2px;accent-color:var(--app-highlight);flex:1}.sym-preview-zoom-val{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;color:var(--text-color);border:1px solid var(--layer-item-border);cursor:pointer;background:0 0;border-radius:5px;flex:none;padding:1px 5px;font-size:11.5px}.sym-preview-zoom-val:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.sym-preview-size{opacity:.55;color:var(--text-color);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11px}.sym-preview-wrap{padding:0 0 4px}.sym-preview-wrap--padded{padding:2px 14px 8px}.ald-dialog--sm{max-width:380px}.ald-dialog--md{max-width:580px}.ald-dialog--lg{max-width:740px}.ald-dialog--xl{max-width:980px}.ald-dialog--full{width:calc(100vw - 32px);max-width:calc(100vw - 32px);height:calc(100vh - 32px)}.ald-dialog--sm,.ald-dialog--md,.ald-dialog--lg,.ald-dialog--xl,.ald-dialog--full{max-height:calc(100vh - 32px)}.ald-dialog--sm>.ald-body,.ald-dialog--md>.ald-body,.ald-dialog--lg>.ald-body,.ald-dialog--xl>.ald-body,.ald-dialog--full>.ald-body{overflow-y:auto}@media (width<=640px){.ald-dialog--sm,.ald-dialog--md,.ald-dialog--lg,.ald-dialog--xl,.ald-dialog--full{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}}.ald-title-icon{opacity:.7;font-size:18px}.ald-footer{border-top:1px solid var(--layer-item-border);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 18px;display:flex}.ald-footer .ald-btn{width:auto}.lsp-modal-body{gap:0;padding:0}.lsp-modal-body .layer-settings-panel{background:0 0;border-top:none}.lsp-modal-body .lsp-tabs{z-index:1;background:var(--background-color);padding:0 6px;position:sticky;top:0}.lsp-modal-body .lsp-tab{padding:10px 14px;font-size:12px}.lsp-modal-body .lsp-tab .material-symbols-outlined{font-size:16px}.lsp-modal-body .lsp-tab-body{--lsp-label-col:116px;gap:13px;padding:18px 22px 22px}.lsp-modal-body .lsp-row{align-items:center}.lsp-modal-body .lsp-label{min-width:var(--lsp-label-col);text-align:left;font-size:12.5px}.lsp-modal-body .lsp-row--col{grid-template-columns:var(--lsp-label-col) 1fr;align-items:start;gap:8px;display:grid}.lsp-modal-body .lsp-row--col>.lsp-label,.lsp-modal-body .lsp-row--col>.lsp-label-wide{text-align:left;padding-top:4px;font-size:12.5px}.lsp-modal-body .lsp-field-col{flex-direction:column;gap:6px;min-width:0;display:flex}.lsp-modal-body .lsp-field-sub{justify-content:space-between;align-items:center;gap:8px;display:flex}.lsp-modal-body .sym-grid{grid-template-columns:var(--lsp-label-col) 1fr;row-gap:12px}.lsp-modal-body .sym-label{text-align:left}.lsp-modal-body .layer-settings-panel .lsp-markup-note{padding:8px 4px}.ald-body .expb-panel,.lsp-tab-body .expb-panel{background:0 0;border:none;border-radius:0;overflow:visible}.ald-body .expb-body,.lsp-tab-body .expb-body{padding:0}.ald-body .expb-header,.lsp-tab-body .expb-header{border-bottom:none;padding:0 0 6px}.ald-body .atp-move-to-layer{background:0 0;border-bottom:none;max-height:none;padding:0}.ald-dialog:has(.esb-tabs){max-width:920px;max-height:calc(100vh - 32px)}.ald-dialog:has(.esb-tabs) .ald-body{flex:1;gap:14px;min-height:0;overflow:hidden}.ald-dialog:has(.esb-tabs) .ald-cat-list{flex:1;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-content:start;align-items:start;gap:10px 14px;min-height:0;max-height:none;display:grid}:is(.ald-dialog:has(.esb-tabs) .ald-cat-list>.ald-cat-noresult,.ald-dialog:has(.esb-tabs) .ald-cat-list>.esb-loading,.ald-dialog:has(.esb-tabs) .ald-cat-list>.esb-more,.ald-dialog:has(.esb-tabs) .ald-cat-list>.esb-hidden-note){grid-column:1/-1}.esb-intro{opacity:.7;margin:0 0 10px;font-size:12px;line-height:1.45}.esb-tabs{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:9px;gap:4px;margin-bottom:12px;padding:3px;display:flex}.esb-tab{color:var(--text-color);cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:6px;flex:1;padding:6px 10px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .12s,opacity .12s}.esb-tab:hover{opacity:.9}.esb-tab.is-active{opacity:1;background:color-mix(in srgb, var(--app-highlight) 16%, var(--layer-item-bg));color:var(--app-highlight)}.esb-loading{opacity:.7;align-items:center;gap:7px;padding:10px 2px;font-size:12.5px;display:flex}.esb-loading .material-symbols-outlined{font-size:18px}.esb-more{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:7px;align-self:flex-start;margin-top:2px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .12s,color .12s}.esb-more:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.esb-filters{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.esb-chip{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;opacity:.8;border-radius:999px;padding:4px 11px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .12s,background .12s,color .12s,opacity .12s}.esb-chip:hover{opacity:1}.esb-chip.is-active{opacity:1;border-color:var(--app-highlight);color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 10%, var(--layer-item-bg))}.esb-account{margin:0 0 12px}.esb-account-row{align-items:center;gap:8px;display:flex}.esb-portal{flex:1;min-width:0;padding:6px 8px;font-size:12.5px;font-weight:600}.esb-account-status{align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.esb-account-status .material-symbols-outlined{color:var(--app-highlight);font-size:19px}.esb-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.esb-signin{border:1px solid color-mix(in srgb, var(--app-highlight) 55%, var(--layer-item-border));background:color-mix(in srgb, var(--app-highlight) 10%, var(--layer-item-bg));color:var(--app-highlight);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}.esb-signin:hover:not(:disabled){background:color-mix(in srgb, var(--app-highlight) 18%, var(--layer-item-bg))}.esb-signin:disabled{opacity:.5;cursor:default}.esb-signin .material-symbols-outlined{font-size:17px}.esb-gear{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:7px;padding:6px;display:inline-flex}.esb-gear:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.esb-gear .material-symbols-outlined{font-size:18px}.esb-link{color:var(--app-highlight);cursor:pointer;background:0 0;border:none;padding:0 2px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:underline}.esb-signin-form{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);border-radius:8px;flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px;padding:10px;display:flex}.esb-signin-form .ald-input{flex:1;min-width:130px}.esb-signin-note{opacity:.65;flex-basis:100%;margin:2px 0 0;font-size:11px;line-height:1.5}.esb-config{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);border-radius:8px;margin-top:8px;padding:10px}.esb-config-help{opacity:.75;margin:0 0 8px;font-size:11.5px;line-height:1.5}.esb-config-help code{background:color-mix(in srgb, var(--app-highlight) 10%, transparent);word-break:break-all;border-radius:4px;padding:1px 4px;font-size:11px}.esb-config-row{align-items:center;gap:8px;margin-bottom:7px;display:flex}.esb-config-label{flex-direction:column;min-width:110px;font-size:12px;font-weight:600;display:flex}.esb-config-label span{opacity:.55;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:10.5px;font-weight:400;overflow:hidden}.esb-config-row .ald-input{flex:1}.esb-config-add{border-top:1px solid var(--layer-item-border);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding-top:8px;display:flex}.esb-config-add .ald-input{flex:1;min-width:120px}.esb-scope{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.esb-scope-label{text-transform:uppercase;letter-spacing:.5px;opacity:.5;margin-right:2px;font-size:11px;font-weight:700}.esb-controls{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.esb-sort{padding:5px 8px;font-size:12px;font-weight:600}.esb-controls .esb-chip{align-items:center;gap:4px;display:inline-flex}.esb-controls .esb-chip .material-symbols-outlined{font-size:15px}.esb-hidden-note{opacity:.55;padding:4px 2px;font-size:11.5px;font-style:italic}.ald-cat-act.esb-added{border-color:color-mix(in srgb, #3aaf6b 55%, var(--layer-item-border));color:#3aaf6b;background:color-mix(in srgb, #3aaf6b 10%, var(--layer-item-bg))}.ald-cat-act.esb-added:hover:not(:disabled){color:#3aaf6b;background:color-mix(in srgb, #3aaf6b 16%, var(--layer-item-bg));border-color:#3aaf6b}.esb-expand{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:7px;flex-shrink:0;align-items:center;gap:3px;padding:5px 9px 5px 7px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .12s,color .12s;display:inline-flex}.esb-expand .material-symbols-outlined{font-size:18px}.esb-expand:hover:not(:disabled){border-color:var(--app-highlight);color:var(--app-highlight)}.esb-expand:disabled{opacity:.5;cursor:default}.esb-agol{flex-direction:column;display:flex}.esb-sublist{border-left:2px solid color-mix(in srgb, var(--app-highlight) 30%, var(--layer-item-border));flex-direction:column;gap:4px;margin:4px 0 2px 16px;padding-left:10px;display:flex}.esb-subitem{padding-left:8px}.esb-thumb{border:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--app-highlight) 6%, var(--layer-item-bg));border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;overflow:hidden}.esb-thumb img{object-fit:cover;width:100%;height:100%;display:block}.esb-thumb--icon .material-symbols-outlined{opacity:.6;font-size:19px}.lmeta-body{flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.lmeta-summary{border-bottom:1px solid var(--layer-item-border);flex-wrap:wrap;gap:6px 14px;padding-bottom:12px;display:flex}.lmeta-fact{opacity:.7;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;max-width:260px;font-size:12px;display:inline-flex;overflow:hidden}.lmeta-fact .material-symbols-outlined{opacity:.85;font-size:15px}.lmeta-textarea{resize:vertical;min-height:56px;line-height:1.45}.lmeta-chips{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);box-sizing:border-box;border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:6px 8px;display:flex}.lmeta-chips:focus-within{border-color:var(--app-highlight)}.lmeta-chip{background:var(--app-highlight);color:#fff;border-radius:12px;align-items:center;gap:2px;padding:2px 4px 2px 9px;font-size:12px;display:inline-flex}.lmeta-chip-x{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.lmeta-chip-x:hover{opacity:1}.lmeta-chip-x .material-symbols-outlined{font-size:15px}.lmeta-chip-input{min-width:90px;color:var(--text-color);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-family:inherit;font-size:13px}.lmeta-date-row{align-items:stretch;gap:6px;display:flex}.lmeta-today{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:7px;flex-shrink:0;padding:0 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.lmeta-today:hover{border-color:var(--app-highlight)}.fle{flex-direction:column;gap:8px;display:flex}.fle-list{flex-direction:column;gap:1px;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.fle-section-label{text-transform:uppercase;letter-spacing:.04em;opacity:.5;padding:2px;font-size:10.5px;font-weight:600}.fle-section-label--gap{margin-top:8px}.fle-hint{text-transform:none;letter-spacing:0;opacity:.8;font-weight:400}.fle-empty{opacity:.5;padding:2px 4px;font-size:12px}.fle-row{border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;min-height:30px;padding:2px 6px;font-size:12.5px;display:flex}.fle-row:hover{background:color-mix(in srgb, var(--text-color) 6%, transparent)}.fle-row input[type=checkbox]{accent-color:var(--app-highlight);cursor:pointer;flex:none}.fle-row--drag.dragging{opacity:.4}.fle-row--drag.drop-target{border-top-color:var(--app-highlight)}.fle-drag{opacity:.4;cursor:grab;flex:none;font-size:17px}.fle-drag:active{cursor:grabbing}.fle-drag-spacer{flex:0 0 17px;width:17px}.fle-name{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.fle-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fle-badge{text-transform:uppercase;letter-spacing:.03em;opacity:.6;border:1px solid color-mix(in srgb, var(--text-color) 20%, transparent);border-radius:4px;flex:none;padding:0 4px;font-size:9.5px;line-height:15px}.fle-edit{border:1px solid var(--app-highlight);background:var(--background-color,var(--layer-item-bg));min-width:0;color:var(--text-color);font:inherit;border-radius:5px;outline:none;flex:1;padding:3px 6px;font-size:12.5px}.fle-actions{opacity:0;flex:none;align-items:center;gap:2px;margin-left:auto;transition:opacity .1s;display:flex}.fle-row:hover .fle-actions,.fle-row:focus-within .fle-actions{opacity:1}@media (hover:none){.fle-actions{opacity:1}}.fle-action{width:26px;height:26px;color:var(--text-color);cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.fle-action:hover{background:color-mix(in srgb, var(--text-color) 12%, transparent);opacity:1}.fle-action .material-symbols-outlined{font-size:17px}.fle-action--danger:hover{color:#e5484d;background:#e5484d33}.fle-actions--locked{opacity:1}.fle-action.is-active{background:color-mix(in srgb, var(--app-highlight) 22%, transparent);color:var(--app-highlight);opacity:1}.fle-lock{opacity:.35;flex:none;font-size:15px}.fle-format{background:color-mix(in srgb, var(--text-color) 6%, transparent);border:1px solid color-mix(in srgb, var(--text-color) 10%, transparent);border-radius:7px;flex-direction:column;gap:8px;margin:1px 0 5px;padding:9px 10px;display:flex}.fle-format-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fle-format-ctl{flex-direction:column;gap:3px;min-width:0;font-size:12px;display:flex}.fle-format-ctl--check{flex-direction:row;align-self:end;align-items:center;gap:6px;padding-bottom:5px}.fle-format-ctl--check input{accent-color:var(--app-highlight)}.fle-format-lbl{opacity:.6;font-size:11px}.fle-format-ctl select,.fle-format-ctl input[type=text]{border:1px solid color-mix(in srgb, var(--text-color) 20%, transparent);background:var(--background-color,var(--layer-item-bg));color:var(--text-color);font:inherit;border-radius:5px;outline:none;min-width:0;padding:4px 6px;font-size:12px}.fle-format-ctl select:focus,.fle-format-ctl input[type=text]:focus{border-color:var(--app-highlight)}.fle-format-preview{border-top:1px dashed color-mix(in srgb, var(--text-color) 14%, transparent);align-items:baseline;gap:8px;padding-top:7px;display:flex}.fle-format-preview-lbl{text-transform:uppercase;letter-spacing:.04em;opacity:.5;font-size:10.5px}.fle-format-preview-val{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.fle-add{border-top:1px solid color-mix(in srgb, var(--text-color) 12%, transparent);flex-direction:column;gap:6px;padding-top:8px;display:flex}.fle-add-row{gap:6px;display:flex}.fle-add-name,.fle-add-type{border:1px solid color-mix(in srgb, var(--text-color) 20%, transparent);background:var(--background-color,var(--layer-item-bg));color:var(--text-color);font:inherit;border-radius:6px;outline:none;padding:5px 8px;font-size:12.5px}.fle-add-name{width:100%}.fle-add-name:focus,.fle-add-type:focus{border-color:var(--app-highlight)}.fle-add-name--error{border-color:#e5484d}.fle-add-type{cursor:pointer;flex:1;min-width:0}.fle-add-btn{font:inherit;background:var(--app-highlight);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:4px;padding:5px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.fle-add-btn .material-symbols-outlined{font-size:17px}.fle-add-btn:disabled{opacity:.45;cursor:not-allowed}.fle-add-btn:not(:disabled):hover{filter:brightness(1.08)}.fle-add-error{color:#e5484d;font-size:11px}.import-progress{top:calc(var(--header-height) + 12px);left:calc((100% - var(--side-panel-width,0px)) / 2);z-index:41;width:340px;max-width:calc(100% - var(--side-panel-width,0px) - 24px);background:color-mix(in srgb, var(--background-color) 82%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--layer-item-border);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.import-progress.import-progress--with-edit{top:calc(var(--header-height) + 12px + 132px)}.import-row{color:var(--text-color);align-items:center;gap:10px;animation:.2s import-row-in;display:flex}.import-row+.import-row{border-top:1px solid color-mix(in srgb, var(--text-color) 10%, transparent);padding-top:8px}@keyframes import-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.import-icon{flex:none;font-size:20px}.import-loading .import-icon{color:var(--app-highlight)}.import-done .import-icon{color:#2e9d4f}.import-error .import-icon{color:#d9534f}.import-body{flex-direction:column;flex:auto;min-width:0;display:flex}.import-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.import-detail{opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.import-bar{background:color-mix(in srgb, var(--text-color) 15%, transparent);border-radius:2px;height:3px;margin-top:5px;display:block;overflow:hidden}.import-bar-fill{background:var(--app-highlight);border-radius:2px;height:100%;transition:width .3s linear;display:block}.import-dismiss{color:var(--text-color);opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:2px;display:flex}.import-dismiss:hover{opacity:1;background:color-mix(in srgb, var(--text-color) 10%, transparent)}.import-dismiss .material-symbols-outlined{font-size:18px}.wm-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.wm-dialog{background:var(--background-color);border:1px solid var(--layer-item-border);border-radius:18px;flex-direction:column;width:100%;max-width:760px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000073}.wm-dialog:before{content:"";background:var(--brand-grad);z-index:2;height:4px;position:absolute;top:0;left:0;right:0}.wm-close{background:color-mix(in srgb, var(--background-color) 70%, transparent);width:32px;height:32px;color:var(--text-color);opacity:.55;cursor:pointer;z-index:3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;top:14px;right:14px}.wm-close:hover{opacity:.95;background:var(--layer-item-bg)}.wm-close .material-symbols-outlined{font-size:20px}.wm-hero{text-align:center;border-bottom:1px solid var(--layer-item-border);flex-shrink:0;padding:28px 32px 22px;position:relative;overflow:hidden}.wm-hero:before{content:"";z-index:0;background:radial-gradient(55% 60% at 50% -10%,#059bb32e,#0000 70%),radial-gradient(45% 55% at 88% 0,#0065dd29,#0000 70%),radial-gradient(45% 55% at 12% 0,#35944929,#0000 70%);position:absolute;inset:-1px}.wm-hero:after{content:"";z-index:0;background-image:linear-gradient(var(--layer-item-border) 1px, transparent 1px), linear-gradient(90deg, var(--layer-item-border) 1px, transparent 1px);opacity:.4;background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 70% at 50% 0,#000,#0000 78%);mask-image:radial-gradient(75% 70% at 50% 0,#000,#0000 78%)}.wm-hero>*{z-index:1;position:relative}.wm-hero-logo{object-fit:contain;filter:drop-shadow(0 10px 22px #0065dd38);width:auto;max-width:100%;height:clamp(48px,12vw,76px);margin-bottom:0}.wm-hero-text{text-align:center;border-bottom:1px solid var(--layer-item-border);padding:26px 0 24px}.dark-mode .wm-hero-logo--light,.light-mode .wm-hero-logo--dark{display:none}.wm-title{letter-spacing:-.5px;max-width:24ch;color:var(--text-color);margin:8px auto 0;font-size:26px;font-weight:800;line-height:1.22}.wm-gradient-text{background:var(--brand-grad);color:#0000;-webkit-background-clip:text;background-clip:text}.wm-subtitle{opacity:.7;max-width:56ch;color:var(--text-color);margin:14px auto 0;font-size:14px;line-height:1.6}.wm-eyebrow{letter-spacing:1px;text-transform:uppercase;color:var(--brand-teal);font-size:11px;font-weight:800;display:inline-block}.wm-eyebrow--section{margin-bottom:14px}.wm-body{flex:1;padding:0 32px;overflow-y:auto}.wm-section{border-bottom:1px solid var(--layer-item-border);padding:24px 0}.wm-section:last-child{border-bottom:none}.wm-feature-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.wm-feature-card{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:12px;padding:16px;transition:transform .16s,box-shadow .16s,border-color .16s;position:relative;overflow:hidden}.wm-feature-card:before{content:"";background:var(--brand-grad);transform-origin:0;width:100%;height:3px;transition:transform .25s;position:absolute;top:0;left:0;transform:scaleX(0)}.wm-feature-card:hover{border-color:#0000;transform:translateY(-3px);box-shadow:0 12px 28px #1428501f}.wm-feature-card:hover:before{transform:scaleX(1)}.wm-feature-icon{width:40px;height:40px;color:var(--brand-teal);background:color-mix(in srgb, var(--brand-teal) 12%, transparent);border-radius:11px;justify-content:center;align-items:center;margin-bottom:12px;font-size:22px;display:inline-flex}.wm-feature-title{color:var(--text-color);margin:0 0 5px;font-size:14px;font-weight:700}.wm-feature-body{opacity:.68;color:var(--text-color);margin:0;font-size:12.5px;line-height:1.5}.wm-formats-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.wm-formats-grid{grid-template-columns:1fr}}.wm-format-group{flex-direction:column;gap:8px;display:flex}.wm-format-group-label{opacity:.5;text-transform:uppercase;letter-spacing:.6px;color:var(--text-color);font-size:11px;font-weight:600}.wm-chips{flex-wrap:wrap;gap:5px;display:flex}.wm-chip{background:color-mix(in srgb, var(--app-highlight) 6%, transparent);border:1px solid color-mix(in srgb, var(--app-highlight) 25%, transparent);color:var(--app-highlight);border-radius:999px;padding:3px 9px;font-size:11px;display:inline-block}.wm-chip--raster{color:#a855f7;background:#a855f70f;border-color:#a855f74d}.dark-mode .wm-chip--raster{color:#c084fc}.wm-format-note{opacity:.5;color:var(--text-color);margin:0;font-size:11px;line-height:1.55}.wm-privacy{background:color-mix(in srgb, var(--brand-green) 7%, transparent);border:1px solid color-mix(in srgb, var(--brand-green) 25%, transparent);border-radius:12px;gap:14px;padding:16px 18px;display:flex}.wm-privacy-icon{color:var(--brand-green);flex-shrink:0;margin-top:1px;font-size:22px}.wm-privacy strong{color:var(--text-color);margin-bottom:4px;font-size:13px;font-weight:700;display:block}.wm-privacy p{opacity:.72;color:var(--text-color);margin:0;font-size:12.5px;line-height:1.55}.wm-tips{grid-template-columns:1fr 1fr;gap:8px 18px;margin:0;padding:0;list-style:none;display:grid}@media (width<=560px){.wm-tips{grid-template-columns:1fr}}.wm-tips li{color:var(--text-color);opacity:.82;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.wm-tips li .material-symbols-outlined{opacity:.55;color:var(--app-highlight);flex-shrink:0;margin-top:1px;font-size:16px}.wm-footer{border-top:1px solid var(--layer-item-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 32px;display:flex}.wm-dont-show{opacity:.6;cursor:pointer;color:var(--text-color);-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:12px;display:flex}.wm-dont-show input{cursor:pointer;accent-color:var(--app-highlight)}.wm-btn-primary{background:var(--brand-grad);color:#fff;cursor:pointer;letter-spacing:.2px;background-position:0%;background-size:140% 140%;border:none;border-radius:999px;align-items:center;gap:6px;padding:10px 22px;font-size:13px;font-weight:700;transition:background-position .3s,box-shadow .2s,transform .1s;display:inline-flex;box-shadow:0 6px 18px #0065dd47}.wm-btn-primary .material-symbols-outlined{font-size:16px}.wm-btn-primary:hover{background-position:100%;transform:translateY(-1px);box-shadow:0 8px 24px #0065dd5c}.wm-btn-primary:active{transform:translateY(0)}.wm-login-backdrop{background:color-mix(in srgb, var(--background-color) 55%, #00000080);z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:18px;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.login-prompt-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.wm-login{background:var(--background-color);border:1px solid var(--layer-item-border);text-align:center;border-radius:16px;width:100%;max-width:360px;padding:30px 26px 24px;position:relative;box-shadow:0 24px 60px #00000080}.wm-login-title{letter-spacing:-.3px;color:var(--text-color);margin:4px 0 0;font-size:19px;font-weight:800}.wm-login-copy{opacity:.7;max-width:30ch;color:var(--text-color);margin:10px auto 22px;font-size:12.5px;line-height:1.55}.wm-login-google{background:var(--brand-grad);color:#fff;cursor:pointer;background-position:0%;background-size:140% 140%;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 18px;font-size:13px;font-weight:700;transition:background-position .3s,box-shadow .2s,transform .1s;display:inline-flex;box-shadow:0 6px 18px #0065dd47}.wm-login-google .material-symbols-outlined{font-size:17px}.wm-login-google:hover:not(:disabled){background-position:100%;transform:translateY(-1px);box-shadow:0 8px 24px #0065dd5c}.wm-login-google:disabled{opacity:.6;cursor:default}.wm-login-err{color:#d9534f;margin:12px 0 0;font-size:12px;line-height:1.5}.dark-mode .wm-login-err{color:#ff7b72}.wm-login-skip{color:var(--text-color);opacity:.62;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:14px;padding:6px 10px;font-family:inherit;font-size:12.5px;text-decoration:underline;transition:opacity .15s}.wm-login-skip:hover:not(:disabled){opacity:.95}.wm-login-skip:disabled{opacity:.4;cursor:default}.wm-login-divider{letter-spacing:.6px;text-transform:uppercase;opacity:.5;align-items:center;gap:10px;margin:14px 2px 10px;font-size:10.5px;font-weight:600;display:flex}.wm-login-divider:before,.wm-login-divider:after{content:"";opacity:.35;background:currentColor;flex:1;height:1px}.wm-login-form{flex-direction:column;gap:8px;display:flex}.wm-login-form input{color:#1f2530;background:#fff;border:1px solid #00000029;border-radius:9px;width:100%;min-width:0;padding:10px 12px;font-family:inherit;font-size:13px}.dark-mode .wm-login-form input{color:var(--text-color);background:#ffffff0d;border-color:#ffffff2e}.wm-login-submit{background:var(--brand-grad);color:#fff;cursor:pointer;background-position:0%;background-size:140% 140%;border:none;border-radius:9px;width:100%;margin-top:2px;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background-position .3s,box-shadow .2s,transform .1s}.wm-login-submit:hover:not(:disabled){background-position:100%;transform:translateY(-1px);box-shadow:0 8px 24px #0065dd5c}.wm-login-submit:disabled{opacity:.5;cursor:default}.wm-login-meta{flex-wrap:wrap;justify-content:space-between;gap:6px 14px;margin:11px 2px 0;display:flex}.wm-login-link{color:var(--app-highlight);cursor:pointer;opacity:.9;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:12px;font-weight:600}.wm-login-link:hover:not(:disabled){opacity:1;text-decoration:underline}.wm-login-link:disabled{opacity:.4;cursor:default}.wm-login-sent{color:#2e7d32;margin:10px 0 0;font-size:12.5px;line-height:1.5}.dark-mode .wm-login-sent{color:#6ddf74}.ccp-dialog{max-width:440px}.ccp-intro{margin:0}.ccp-file{opacity:1;font-weight:600}.ccp-hint{opacity:.6;color:var(--text-color);margin:6px 0 0;font-size:12px;line-height:1.4}.ccp-warn{color:#e05555;margin:-12px 0 0;font-size:12px;line-height:1.4}.ccp-crs-field,.ccp-crs-input-wrap{position:relative}.ccp-crs-input-wrap .ald-input{padding-right:32px}.ccp-crs-clear{width:22px;height:22px;color:var(--text-color);opacity:.45;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.ccp-crs-clear:hover{opacity:.85;background:var(--layer-item-bg)}.ccp-crs-clear .material-symbols-outlined{font-size:16px}.ccp-crs-results{z-index:5;background:var(--background-color);border:1px solid var(--layer-item-border);border-radius:8px;max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000047}.ccp-crs-status{opacity:.6;padding:8px 10px;font-size:12.5px}.ccp-crs-result{text-align:left;width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:1px;padding:7px 10px;display:flex}.ccp-crs-result:hover{background:color-mix(in srgb, var(--app-highlight) 10%, var(--layer-item-bg))}.ccp-crs-result-code{opacity:.6;font-size:11px;font-weight:600}.ccp-crs-result-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.ccp-table-hint{border-top:1px solid var(--layer-item-border);margin-top:14px;padding-top:12px}.ccp-table-hint strong{opacity:1;font-weight:600}.ccp-actions{flex-flow:wrap;justify-content:flex-end;margin-top:4px}.ccp-actions .ald-btn{width:auto}.ccp-cancel{justify-content:center}.app{--header-height:78px;width:100vw;height:100dvh;color:var(--text-color);background:var(--background-color);overflow:hidden}.light-mode{--background-color:#f5f5f5;--text-color:#2a2a2a;--app-border:#d5d5d5;--app-bg:#fff;--app-highlight:#0f92d9;--app-grey:#9e9e9e;--layer-item-bg:#fff;--layer-item-border:#d5d5d5}#viewDiv{width:100%;height:100%;position:relative}#viewDiv.is-resizing-side-panel{cursor:ew-resize;-webkit-user-select:none;user-select:none}.map-canvas{position:absolute;inset:0}.header{padding:env(safe-area-inset-top) calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));height:calc(var(--header-height) + env(safe-area-inset-top));width:auto;color:var(--text-color);z-index:41;background:linear-gradient(45deg, var(--background-color), transparent);pointer-events:none;background:0 0;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.header-content{pointer-events:auto;-webkit-backdrop-filter:blur(6px);background:linear-gradient(90deg,#f5f5f5d1,#f5f5f566);border-radius:16px;align-items:center;max-width:100%;padding:6px 18px;transition:background .35s;display:inline-flex;overflow:hidden}.header-col{align-items:center;min-width:0;display:flex}.header a{pointer-events:all}.logo{height:50px;display:none}.logo-symbol{height:50px;display:block}.header-logo-wrapper{position:relative}.header-logo{align-items:center;transition:opacity .35s;display:flex}.header-logo-v2{position:absolute;top:0;left:0}.light-mode .header-logo-v1{opacity:1;pointer-events:auto}.light-mode .header-logo-v2,.dark-mode .header-logo-v1{opacity:0;pointer-events:none}.dark-mode .header-logo-v2{opacity:1;pointer-events:auto}.dark-mode .header-content{background:linear-gradient(90deg,#181818c7,#18181852)}.header-map-name{transition:color .35s}.header .divider{transition:border-color .35s}.header-col-name{flex:0 auto;min-width:0}.dark-mode .header-map-name{opacity:1}.header-map-name{opacity:.8;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:32vw;font-size:20px;font-weight:600;overflow:hidden}.divider{border-left:1px solid #d1d1d18c;height:26px;margin:0 12px}.header-sync-meta{text-transform:uppercase;letter-spacing:1.4px;opacity:.7;font-size:12px}.side-panel{width:var(--side-panel-width,min(420px, 100vw));background-color:var(--background-color);z-index:42;border-left:1px solid var(--layer-item-border);flex-direction:column;height:100vh;min-height:100vh;max-height:100vh;transition:transform .18s,width .12s;display:flex;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-2px 0 8px #0003}@supports (height:100dvh){.side-panel{height:100dvh;min-height:100dvh;max-height:100dvh}}.side-panel.collapsed{transform:translate(100%)}.side-panel-resize-handle{cursor:ew-resize;z-index:5;background:0 0;border:0;width:5px;height:100%;margin:0;padding:0;transition:background .2s;position:absolute;top:0;left:0}.side-panel-resize-handle .material-symbols-outlined{display:none}.side-panel-resize-handle:hover{background:color-mix(in srgb, var(--app-highlight) 50%, transparent)}.side-panel-header{border-bottom:1px solid var(--layer-item-border);flex-direction:column;flex-shrink:0;justify-content:center;height:64px;padding:0 8px;display:flex}.side-panel-toolbar{flex-shrink:0;align-items:stretch;gap:8px;padding:10px 12px;display:flex}.side-panel-header-top{align-items:center;gap:4px;display:flex}.side-panel-title-spacer{flex-shrink:0;width:32px}.side-panel-title{text-align:center;text-transform:uppercase;opacity:.6;letter-spacing:1.5px;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.side-panel-actions{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.panel-action-btn{letter-spacing:.2px;border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;opacity:.8;box-sizing:border-box;background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .12s,color .12s,opacity .12s,background .12s;display:inline-flex}.panel-action-btn .material-symbols-outlined{font-size:17px}.panel-action-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 10%, transparent);opacity:1}.panel-action-btn--primary,.panel-action-btn--add{background:var(--brand-grad);color:#fff;opacity:1;background-position:0%;background-size:140% 140%;border-color:#0000;transition:background-position .3s,box-shadow .2s,color .12s,opacity .12s;box-shadow:0 4px 14px #0065dd33}.panel-action-btn--primary:hover,.panel-action-btn--add:hover{color:#fff;opacity:1;background-position:100%;border-color:#0000;box-shadow:0 6px 18px #0065dd47}.dark-mode .panel-action-btn--danger{color:color-mix(in srgb, var(--danger,#d63838) 20%, white)}.panel-action-btn--danger{background:color-mix(in srgb, var(--danger,#d63838) 20%, transparent);opacity:.7;color:color-mix(in srgb, var(--danger,#d63838) 20%, black);border-color:color-mix(in srgb, var(--danger,#d63838) 40%, transparent)}.panel-action-btn--danger:hover{border-color:var(--danger,#d63838);opacity:1;color:var(--danger,#d63838);background:color-mix(in srgb, var(--danger,#d63838) 10%, transparent)}.panel-action-btn--danger:disabled{opacity:.45;pointer-events:none}.panel-close-button{z-index:3;min-width:32px;min-height:32px;position:absolute;top:8px;right:8px}.icon-btn{cursor:pointer;width:32px;height:32px;color:var(--text-color);opacity:.55;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:20px;transition:opacity .15s;display:flex}.icon-btn:hover{opacity:1}.panel-section-body{flex:1;padding:0;overflow:hidden auto}.panel-section-label{letter-spacing:1.2px;text-transform:uppercase;opacity:.45;padding:10px 16px 4px;font-size:11px;font-weight:600;display:block}.panel-note{opacity:.45;padding:10px 16px 14px;font-size:12px;line-height:1.5}.panel-empty{text-align:center;opacity:.6;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.panel-empty-icon{opacity:.4;font-size:40px}.panel-empty-body{margin:0;font-size:14px;line-height:1.5}.panel-empty-formats{opacity:.6;letter-spacing:.2px;margin:0;font-size:11px;line-height:1.8}.panel-form{flex-direction:column;gap:14px;padding:14px 16px;display:flex}.list{flex-direction:column;padding:10px 12px 4px;display:flex}.list-item{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:8px;align-items:center;gap:6px;min-height:54px;margin-bottom:8px;padding:0 10px 0 14px;transition:border-color .15s,background .1s;display:flex;position:relative}.list-item:hover{border-color:var(--app-highlight)}.list-item.is-active{background:color-mix(in srgb, var(--app-highlight) 8%, var(--layer-item-bg));border-color:var(--app-highlight)}.list-item-body{text-align:left;cursor:pointer;min-width:0;color:var(--text-color);font:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:3px;padding:12px 0;display:flex}.list-item-primary{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.is-active .list-item-primary{color:var(--app-highlight)}.map-name-edit{border:1px solid var(--app-highlight);background:var(--layer-item-bg);width:100%;min-width:0;color:var(--text-color);border-radius:4px;padding:3px 6px;font-family:inherit;font-size:14px;font-weight:500}.list-item-secondary{opacity:.45;font-size:12px}.ctx-wrap{flex-shrink:0;position:relative}.ctx-trigger{cursor:pointer;width:30px;height:30px;color:var(--text-color);opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:0;transition:opacity .12s,background .12s;display:flex}.ctx-trigger .material-symbols-outlined{pointer-events:none;font-size:18px}.list-item:hover .ctx-trigger,.layer-item:hover .ctx-trigger,.ctx-trigger.is-open{opacity:.5}.ctx-trigger:hover,.ctx-trigger.is-open{opacity:1;background:color-mix(in srgb, var(--text-color) 10%, transparent)}.ctx-menu{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);z-index:9000;border-radius:10px;flex-direction:column;min-width:164px;padding:4px;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 24px #00000073}.ctx-item{color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;width:100%;padding:9px 11px;font-family:inherit;font-size:13px;transition:background .1s,color .1s;display:flex}.ctx-item:hover{background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight)}.ctx-item.ctx-danger{color:#e05555}.ctx-item.ctx-danger:hover{color:#e05555;background:#e055551a}.ctx-item:disabled{opacity:.35;cursor:default;pointer-events:none}.ctx-item .material-symbols-outlined{opacity:.75;flex-shrink:0;font-size:15px}.ctx-item.ctx-active{color:var(--app-highlight)}.ctx-item .ctx-check{opacity:1;color:var(--app-highlight);margin-left:auto;font-size:16px}.ctx-divider{background:color-mix(in srgb, var(--text-color) 12%, transparent);height:1px;margin:4px 6px}.map-menu-wrap{min-width:0;display:flex}.map-menu-trigger{cursor:pointer;min-width:0;max-width:38vw;color:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:2px;margin:-4px -6px;padding:4px 6px;transition:background .12s;display:flex}.map-menu-trigger:hover,.map-menu-trigger.is-open{background:color-mix(in srgb, var(--app-highlight) 12%, transparent)}.map-menu-trigger .header-map-name{max-width:none}.map-menu-caret{opacity:.6;flex-shrink:0;font-size:20px;transition:transform .15s}.map-menu-trigger.is-open .map-menu-caret{transform:rotate(180deg)}.map-menu-panel{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);z-index:9000;border-radius:10px;flex-direction:column;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #00000073}.map-menu-item{color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;width:100%;padding:9px 11px;font-family:inherit;font-size:13px;transition:background .1s,color .1s;display:flex}.map-menu-item:hover{background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight)}.map-menu-item .material-symbols-outlined{opacity:.75;flex-shrink:0;font-size:15px}.map-menu-section-toggle .map-menu-chevron{margin-left:auto}.map-menu-divider{background:var(--layer-item-border);height:1px;margin:4px 6px}.map-menu-controls{flex-direction:column;gap:2px;max-height:300px;padding:2px 4px 4px;display:flex;overflow-y:auto}.map-menu-control-row{border-radius:6px;padding:6px 7px}.map-menu-control-row:hover{background:color-mix(in srgb, var(--app-highlight) 8%, transparent)}.map-menu-control-label{opacity:.85;font-size:13px}.maps-panel{flex-direction:column;display:flex}.map-list-item{flex-direction:column;align-items:stretch;padding:0;overflow:hidden}.map-list-item-main{align-items:center;gap:6px;min-height:52px;padding:0 8px 0 14px;display:flex}.map-desc-area{align-items:center;gap:4px;padding:0 10px 6px 16px;display:flex}.map-desc-short{min-width:0;color:var(--text-color);opacity:.55;background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:1;padding:2px 0;font-family:inherit;font-size:12px;transition:border-color .15s,opacity .15s}.map-desc-short:focus,.map-desc-short:hover{border-bottom-color:var(--layer-item-border);opacity:.85}.map-desc-short:focus{border-bottom-color:var(--app-highlight)}.map-desc-expand{width:22px;height:22px;color:var(--text-color);opacity:.35;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s;display:flex}.map-desc-expand:hover,.map-desc-expand.open{opacity:.75}.map-desc-expand .material-symbols-outlined{font-size:16px}.map-desc-long{box-sizing:border-box;border:none;border-top:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--text-color) 3%, transparent);width:100%;color:var(--text-color);resize:vertical;opacity:.75;outline:none;padding:8px 16px;font-family:inherit;font-size:12px;line-height:1.55;transition:opacity .15s}.map-desc-long:focus{opacity:1;border-top-color:var(--app-highlight)}.layer-list{box-sizing:border-box;flex-direction:column;min-height:100%;padding:10px 12px 4px;display:flex}.layer-item{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:8px;margin-bottom:8px;transition:border-color .15s;overflow:hidden}.layer-item:hover{border-color:var(--app-highlight)}.layer-item.layer-hidden{opacity:.55}.lsp-card{display:block}.lsp-card.is-drop-target .layer-group,.lsp-card.is-drop-target .layer-item{border-color:var(--app-highlight);box-shadow:inset 0 0 0 1px var(--app-highlight)}.lsp-card.is-drop-target .layer-group{background:color-mix(in srgb, var(--app-highlight) 12%, var(--layer-item-bg))}.lp-tables{border-top:1px solid var(--app-border);margin-top:10px;padding-top:10px}.lp-tables-head{text-transform:uppercase;letter-spacing:.04em;color:var(--app-grey);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.lp-tables-head .material-symbols-outlined{font-size:16px}.lp-tables-count{background:color-mix(in srgb, var(--app-grey) 22%, transparent);border-radius:8px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600}.lp-tables-hint{color:var(--app-grey);margin:4px 0 8px;font-size:11px;line-height:1.35}.lp-table-row{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:6px 8px;transition:border-color .15s;display:flex}.lp-table-row:hover{border-color:var(--app-highlight)}.lp-table-icon{color:var(--app-grey);flex:none;font-size:18px}.lp-table-name{cursor:pointer;text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex-direction:column;flex:auto;align-items:flex-start;gap:1px;padding:0;display:flex}.lp-table-name-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.lp-table-name:hover .lp-table-name-text{color:var(--app-highlight)}.lp-table-meta{color:var(--app-grey);font-size:10px}.lp-table-name-edit{border:1px solid var(--app-highlight);background:var(--app-bg);min-width:0;color:inherit;border-radius:6px;flex:auto;padding:3px 6px;font-size:13px}.lp-table-actions{flex:none;gap:2px;display:flex}.lp-table-btn{width:26px;height:26px;color:var(--app-grey);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.lp-table-btn:hover{background:color-mix(in srgb, var(--app-highlight) 14%, transparent);color:var(--app-highlight)}.lp-table-btn .material-symbols-outlined{font-size:17px}.layer-group{background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:8px;margin-bottom:8px;overflow:hidden}.layer-group--hidden{opacity:.55}.layer-group-row{align-items:center;gap:7px;padding:8px 10px;display:flex}.layer-group-caret{cursor:pointer;color:var(--text-color);background:0 0;border:none;align-items:center;padding:0;display:flex}.layer-group-icon{color:var(--app-highlight);flex:none;font-size:19px}.layer-group-name{white-space:nowrap;text-overflow:ellipsis;cursor:default;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.layer-group-count{opacity:.6;text-align:center;background:var(--app-bg);border-radius:9px;flex:none;min-width:16px;padding:1px 5px;font-size:11px;font-weight:600}.layer-group-scale{border-top:1px solid var(--layer-item-border);padding:4px 12px 10px 32px}.layer-scale-badge{color:var(--text-color);opacity:.55;background:var(--app-bg);white-space:nowrap;cursor:pointer;border:none;border-radius:9px;flex:none;align-items:center;gap:1px;font-size:10px;font-weight:600;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.layer-scale-badge:hover{opacity:.95}.layer-scale-badge.is-open{opacity:1;color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 16%, transparent)}.layer-scale-badge.is-empty{opacity:0;padding:1px 3px}.layer-group:hover .layer-scale-badge.is-empty{opacity:.4}.layer-scale-badge.is-empty:hover{opacity:.85}.layer-scale-badge .material-symbols-outlined{font-size:13px}.layer-scale-badge.is-out{opacity:1;color:#b86b12;background:#f59e0b29}.layer-group--scale-hidden .layer-group-name{opacity:.6;font-style:italic}.layer-group--scale-hidden .layer-group-icon{color:#d08a2c}.layer-item--nested{margin-left:16px}.layer-drop-line{pointer-events:none;height:0;position:relative}.layer-drop-line:before{content:"";background:var(--app-highlight);height:3px;box-shadow:0 0 4px color-mix(in srgb, var(--app-highlight) 60%, transparent);border-radius:2px;position:absolute;top:-5px;left:4px;right:4px}.layer-row{align-items:center;gap:7px;padding:9px 10px 4px 14px;display:flex}.layer-ghost{opacity:.9;border-style:dashed}.layer-ghost:hover{border-color:var(--layer-item-border)}.layer-ghost .layer-row{padding:10px 12px}.layer-ghost-icon{color:var(--app-highlight);flex:none;font-size:20px}.layer-ghost--error .layer-ghost-icon{color:#d9534f}.layer-ghost-body{flex-direction:column;flex:auto;min-width:0;display:flex}.layer-ghost-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.layer-ghost-detail{opacity:.7;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.layer-ghost-bar{background:color-mix(in srgb, var(--text-color) 15%, transparent);border-radius:2px;height:3px;margin-top:6px;display:block;overflow:hidden}.layer-ghost-bar-fill{background:var(--app-highlight);border-radius:2px;height:100%;transition:width .3s linear;display:block}.layer-vis-btn{width:28px;height:28px;color:var(--text-color);cursor:pointer;opacity:.55;background:0 0;border:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s;display:flex}.layer-vis-btn:hover{opacity:1}.layer-vis-btn .material-symbols-outlined{font-size:18px}.layer-type-icon{width:20px;color:var(--text-color);opacity:.85;flex-shrink:0;justify-content:center;align-items:center;display:flex}.layer-type-icon.material-symbols-outlined{font-size:18px}.layer-name{white-space:nowrap;text-overflow:ellipsis;cursor:default;min-width:0;color:var(--text-color);flex:1;font-size:13px;font-weight:500;overflow:hidden}.layer-name-edit{border:1px solid var(--app-highlight);background:var(--layer-item-bg);min-width:0;color:var(--text-color);border-radius:4px;flex:1;padding:3px 6px;font-family:inherit;font-size:13px}.layer-tag{opacity:.38;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;font-size:10px}.layer-ephemeral-badge{color:#f59e0b;cursor:help;flex-shrink:0;align-items:center;display:flex}.layer-ephemeral-badge .material-symbols-outlined{font-size:15px}.layer-item.layer-pending{border-style:dashed;border-color:color-mix(in srgb, #f59e0b 55%, var(--layer-item-border))}.layer-item.layer-pending .layer-name{opacity:.7}.layer-reload-badge{color:#f59e0b;cursor:help;flex-shrink:0;align-items:center;display:flex}.layer-reload-badge .material-symbols-outlined{font-size:16px}.layer-reload-badge.is-storage-full,.layer-ephemeral-badge.is-storage-full{color:#ef4444}.layer-restoring-badge{color:var(--accent,#3b82f6);cursor:default;flex-shrink:0;align-items:center;display:flex}.layer-restoring-badge .material-symbols-outlined{font-size:16px;animation:.9s linear infinite layer-spin}@keyframes layer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layer-checking-row .layer-pending-hint{opacity:.75;font-style:italic}.layer-pending-row{align-items:center;gap:8px;padding:2px 12px 10px 14px;display:flex}.layer-pending-hint{opacity:.6;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;line-height:1.35;overflow:hidden}.layer-pending-hint em{opacity:.85;font-style:normal;font-weight:600}.layer-readd-btn{color:#fff;cursor:pointer;background:#f59e0b;border:1px solid #f59e0b;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .12s;display:inline-flex}.layer-readd-btn:hover{opacity:.88}.layer-readd-btn .material-symbols-outlined{font-size:16px}.layer-zoom-btn{cursor:pointer;width:28px;height:28px;color:var(--text-color);opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:flex}.layer-zoom-btn .material-symbols-outlined{pointer-events:none;font-size:17px}.layer-item:hover .layer-zoom-btn{opacity:.5}.layer-zoom-btn:hover{background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight);opacity:1!important}.layer-style-toggle{cursor:pointer;width:28px;height:28px;color:var(--text-color);opacity:0;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:flex}.layer-style-toggle .material-symbols-outlined{pointer-events:none;font-size:17px}.layer-item:hover .layer-style-toggle{opacity:.5}.layer-style-toggle:hover,.layer-style-toggle.is-open{background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight);opacity:1!important}.layer-style-panel{border-top:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--text-color) 3%, transparent);flex-direction:column;gap:8px;padding:10px 14px 12px;display:flex}.lsp-row{align-items:center;gap:8px;display:flex}.lsp-label{opacity:.55;text-align:right;flex-shrink:0;min-width:62px;font-size:12px}.lsp-color{border:1px solid var(--layer-item-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:28px;height:26px;padding:2px}.lsp-color--alpha{background-color:#fff;background-image:linear-gradient(45deg,#c4c4c4 25%,#0000 25%),linear-gradient(-45deg,#c4c4c4 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#c4c4c4 75%),linear-gradient(-45deg,#0000 75%,#c4c4c4 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;padding:0;display:inline-block;position:relative;overflow:hidden}.lsp-color--alpha:after{content:"";background:var(--swatch-color);opacity:var(--swatch-alpha,1);pointer-events:none;position:absolute;inset:0}.lsp-color--alpha input[type=color]{opacity:0;cursor:pointer;background:0 0;border:none;width:100%;height:100%;margin:0;padding:0}.lsp-color--alpha.is-disabled{cursor:default;opacity:.5}.lsp-color--alpha.is-disabled input[type=color]{cursor:default}.lsp-cat-value{min-width:0;color:var(--text-color);background:0 0;border:1px solid #0000;border-radius:4px;flex:0 64px;padding:3px 6px;font-size:12px}.lsp-cat-value:hover{border-color:var(--layer-item-border)}.lsp-cat-value:focus{border-color:var(--app-highlight);background:var(--layer-item-bg);outline:none}.lsp-range-num{flex:none;width:52px}.lsp-range-dash{opacity:.6;flex:none;font-size:12px}.lsp-slider{accent-color:var(--app-highlight);flex:1;min-width:0}.lsp-number{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);width:56px;color:var(--text-color);font:inherit;text-align:right;border-radius:4px;padding:3px 5px;font-size:12px}.lsp-val{opacity:.5;text-align:right;flex-shrink:0;min-width:28px;font-size:12px}.lsp-unit{opacity:.45;flex-shrink:0;font-size:12px}.lsp-reset{border:1px solid var(--layer-item-border);color:var(--text-color);opacity:.5;cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;margin-top:2px;padding:3px 8px;font-family:inherit;font-size:11px;transition:opacity .12s}.lsp-reset:hover{opacity:1;border-color:var(--app-highlight);color:var(--app-highlight)}.layer-opacity-row{align-items:center;gap:8px;padding:2px 14px 9px;display:flex}.layer-opacity-row input[type=range]{accent-color:var(--app-highlight);flex:1;height:2px}.layer-opacity-val{opacity:.45;text-align:right;min-width:26px;font-size:11px}.layer-drag-handle{opacity:0;cursor:grab;color:var(--text-color);-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:16px;transition:opacity .12s}.layer-item:hover .layer-drag-handle,.layer-group:hover .layer-drag-handle{opacity:.35}.layer-item:hover .layer-drag-handle:hover,.layer-group:hover .layer-drag-handle:hover{opacity:.7}.layer-filter-badge{color:var(--app-highlight);opacity:.7;flex-shrink:0;align-items:center;display:flex}.layer-filter-badge .material-symbols-outlined{font-size:14px}.layer-linked-badge{color:var(--app-highlight);opacity:.7;flex-shrink:0;align-items:center;display:flex}.layer-linked-badge .material-symbols-outlined{font-size:14px}.layer-bulk-badge{color:#b86b12;opacity:.85;flex-shrink:0;align-items:center;display:flex}.layer-bulk-badge .material-symbols-outlined{font-size:14px}.lsp-large-hint{color:#b86b12;background:#f59e0b1f;border-radius:6px;align-items:flex-start;gap:5px;margin:6px 0 0;padding:6px 8px;font-size:11px;line-height:1.4;display:flex}.lsp-large-hint .material-symbols-outlined{flex:none;margin-top:1px;font-size:14px}.lsp-large-hint-btn{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:600}.lsp-large-hint-btn:hover{background:#f59e0b2e}.layer-settings-panel{border-top:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--text-color) 3%, transparent)}.lsp-tabs{border-bottom:1px solid var(--layer-item-border);scrollbar-width:none;display:flex;overflow-x:auto}.lsp-tabs::-webkit-scrollbar{display:none}.lsp-tab{color:var(--text-color);opacity:.5;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-family:inherit;font-size:11px;transition:opacity .12s,border-color .12s;display:flex}.lsp-tab .material-symbols-outlined{font-size:14px}.lsp-tab:hover{opacity:.8}.lsp-tab.active{opacity:1;border-bottom-color:var(--app-highlight);color:var(--app-highlight);border-image:var(--brand-grad) 1}.lsp-tab-label{font-weight:600}.lsp-tab-body{flex-direction:column;gap:8px;padding:10px 14px 12px;display:flex}.lsp-toggle-row{flex:1;gap:4px;display:flex}.lsp-toggle-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;opacity:.6;background:0 0;border-radius:4px;flex:1;padding:3px 6px;font-family:inherit;font-size:11px;transition:all .12s}.lsp-toggle-btn.active{background:var(--app-highlight);border-color:var(--app-highlight);color:#fff;opacity:1}.lsp-none-swatch{background-image:linear-gradient(to bottom right,#0000 calc(50% - 1px),#e5484d calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px))}.lsp-none-swatch.active{outline:2px solid var(--app-highlight);outline-offset:1px}.lsp-dash-btns{flex-wrap:wrap;flex:1;gap:4px;display:flex}.lsp-dash-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;opacity:.6;background:0 0;border-radius:4px;padding:2px 7px;font-family:inherit;font-size:11px;transition:all .12s}.lsp-dash-btn.active{border-color:var(--app-highlight);color:var(--app-highlight);opacity:1}.lsp-dash-btn:hover{opacity:1}.lsp-shape-picker{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.lsp-shape-btn{border:1px solid var(--layer-item-border);width:30px;height:30px;color:var(--text-color);cursor:pointer;opacity:.6;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.lsp-shape-btn .material-symbols-outlined{font-size:18px}.lsp-shape-btn:hover{opacity:1}.lsp-shape-btn.active{border-color:var(--app-highlight);color:var(--app-highlight);opacity:1}.lsp-shape-divider{background:var(--layer-item-border);align-self:stretch;width:1px;margin:2px 3px}.lsp-cat{flex-direction:column;gap:6px;display:flex}.lsp-cat-row{align-items:center;gap:8px;display:flex}.lsp-cat-val{opacity:.75;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.lsp-cat-label{min-width:0;color:var(--text-color);background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:3px 6px;font-size:12px}.lsp-cat-label:hover{border-color:var(--layer-item-border)}.lsp-cat-label:focus{border-color:var(--app-highlight);background:var(--layer-item-bg);outline:none}.lsp-cat-del{cursor:pointer;color:var(--text-color);opacity:.4;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:2px;display:flex}.lsp-cat-del:hover{opacity:1;color:var(--danger,#e06c75)}.lsp-cat-del .material-symbols-outlined{font-size:16px}.lsp-cat-row--other{border-top:1px dashed var(--layer-item-border);margin-top:2px;padding-top:6px}.lsp-cat-row--other.is-hidden{opacity:.5}.lsp-bulk-edit{margin-top:4px;font-size:12px}.lsp-bulk-summary{cursor:pointer;opacity:.65;-webkit-user-select:none;user-select:none;padding:2px 0}.lsp-bulk-body{flex-direction:column;gap:4px;padding:6px 0 0;display:flex}.lsp-ramp-btn{border:1px solid var(--app-border);background:var(--app-surface);color:var(--app-text);cursor:pointer;white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:11px}.lsp-ramp-btn.active{border-color:var(--app-highlight);color:var(--app-highlight)}.lsp-select{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);min-width:0;color:var(--text-color);font:inherit;border-radius:4px;outline:none;flex:1;padding:4px 6px;font-size:12px}.lsp-select:focus{border-color:var(--app-highlight)}.lsp-text{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;border-radius:4px;outline:none;flex:1;padding:4px 6px;font-size:12px}.lsp-text:focus{border-color:var(--app-highlight)}.lsp-text--formula{align-self:stretch;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lsp-row--col{flex-direction:column;align-items:flex-start;gap:4px}.lsp-label-wide{opacity:.55;font-size:12px}.lsp-hint{opacity:.6;font-size:11px}.lsp-switch{cursor:pointer;align-items:center;gap:7px;display:flex}.lsp-switch input{display:none}.lsp-switch-track{background:var(--layer-item-border);border-radius:9px;flex-shrink:0;width:32px;height:18px;transition:background .15s;position:relative}.lsp-switch input:checked+.lsp-switch-track{background:var(--app-highlight)}.lsp-switch-track:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:3px;left:3px}.lsp-switch input:checked~.lsp-switch-track:after{transform:translate(14px)}.lsp-switch-label{opacity:.7;font-size:12px}.lsp-section-label{text-transform:uppercase;letter-spacing:.6px;opacity:.45;margin-bottom:2px;font-size:11px}.lsp-ramp-picker{flex-wrap:wrap;flex:1;gap:4px;display:flex}.lsp-ramp-swatch{cursor:pointer;border:2px solid #0000;border-radius:3px;width:52px;height:14px;padding:0;transition:border-color .12s}.lsp-ramp-swatch.active{border-color:var(--app-highlight)}.lsp-ramp-divider{background:var(--app-border);flex:none;align-self:stretch;width:1px;margin:1px 2px}.lsp-ramp-add{border:1px dashed var(--app-border);width:18px;height:18px;color:var(--app-text);opacity:.7;cursor:pointer;background:0 0;border-radius:3px;flex:none;justify-content:center;align-items:center;display:inline-flex}.lsp-ramp-add:hover{opacity:1;border-color:var(--app-highlight);color:var(--app-highlight)}.lsp-ramp-add .material-symbols-outlined{font-size:14px}.csm-list{flex-direction:column;gap:4px;display:flex}.csm-row{border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:3px 4px;display:flex}.csm-row.active{border-color:var(--app-highlight)}.csm-swatch{border:1px solid var(--layer-item-border);border-radius:3px;flex:none;width:48px;height:16px}.csm-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.csm-kind{opacity:.6;flex:none;font-size:11px}.csm-name-input{min-width:0;font:inherit;border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);border-radius:4px;flex:1;padding:4px 7px;font-size:12px}.csm-colors{flex-direction:column;gap:4px;width:100%;margin-top:4px;display:flex}.csm-color-row{align-items:center;gap:6px;display:flex}.csm-preview{border:1px solid var(--layer-item-border);border-radius:4px;height:22px;margin:4px 0 10px}.csm-save{width:100%}.expb-panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:6px;flex-direction:column;gap:0;display:flex;overflow:hidden}.expb-header{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.expb-title{opacity:.85;font-size:13px;font-weight:600}.expb-close{cursor:pointer;color:var(--app-text);opacity:.5;background:0 0;border:none;align-items:center;padding:0;display:flex}.expb-close:hover{opacity:1}.expb-close .material-symbols-outlined{font-size:16px}.expb-body{flex-direction:column;gap:6px;padding:8px 10px;display:flex}.expb-expr{box-sizing:border-box;resize:vertical;border:1px solid var(--app-border);background:var(--app-bg);width:100%;color:var(--app-text);border-radius:4px;min-height:56px;padding:6px 8px;font-family:monospace;font-size:13px}.expb-section-label{text-transform:uppercase;letter-spacing:.6px;opacity:.45;align-items:center;gap:6px;font-size:11px;display:flex}.expb-field-tag{background:var(--app-highlight);color:#fff;text-transform:none;letter-spacing:0;border-radius:3px;padding:0 4px;font-size:10px}.expb-show-vals{border:1px solid var(--app-border);color:var(--app-highlight);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border-radius:3px;padding:1px 5px;font-size:10px}.expb-chips{flex-wrap:wrap;gap:4px;display:flex}.expb-chip{border:1px solid var(--app-border);cursor:pointer;background:var(--app-surface);color:var(--app-text);white-space:nowrap;border-radius:3px;padding:2px 7px;font-size:12px;transition:background .1s,color .1s}.expb-chip:hover{background:var(--app-highlight);color:#fff;border-color:var(--app-highlight)}.expb-chip--op{border-color:var(--app-highlight);color:var(--app-highlight)}.expb-chip--comb{font-weight:600}.expb-cols{gap:8px;min-height:100px;display:flex}.expb-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.expb-field-list{border:1px solid var(--app-border);background:var(--app-bg);border-radius:4px;gap:2px;max-height:140px;padding:4px;display:block;overflow-y:auto}.expb-field-list--wrap{flex-wrap:wrap;gap:4px;display:flex}.expb-field-list--wrap .expb-field-btn{width:auto;display:inline-block}.expb-builder-hint{color:var(--text-muted,#8a8a8a);margin:6px 0 0;font-size:11px;line-height:1.45}.expb-builder-hint code,.expb-hint-inline code{background:var(--layer-item-bg);border-radius:3px;padding:0 3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.expb-hint-inline{text-transform:none;letter-spacing:0;color:var(--text-muted,#8a8a8a);font-size:10px;font-weight:400}.expb-field-btn{text-align:left;cursor:pointer;color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:3px;padding:3px 6px;font-size:12px;display:block;overflow:hidden}.expb-field-btn:hover{background:var(--app-highlight-dim,#4ad1a926)}.expb-field-btn.active{background:var(--app-highlight);color:#fff}.expb-val-btn{opacity:.85}.lsp-filter-hint{opacity:.5;font-size:12px;line-height:1.45}.lsp-filter-hint code{background:color-mix(in srgb, var(--text-color) 8%, transparent);border-radius:3px;padding:1px 4px;font-size:11px}.lsp-filter-input{box-sizing:border-box;border:1px solid var(--layer-item-border);background:var(--layer-item-bg);width:100%;color:var(--text-color);font:inherit;resize:vertical;border-radius:6px;outline:none;padding:6px 8px;font-size:12px}.lsp-filter-input:focus{border-color:var(--app-highlight)}.lsp-filter-active{color:var(--app-highlight);opacity:.8;font-size:11px}.lsp-export{flex-direction:column;gap:8px;display:flex}.lsp-export-btn{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .12s;display:flex}.lsp-export-btn:hover:not(:disabled){border-color:var(--app-highlight);color:var(--app-highlight)}.lsp-export-btn:disabled{opacity:.35;cursor:not-allowed}.lsp-export-btn .material-symbols-outlined{font-size:16px}.lsp-export-filename{opacity:.5;font-size:11px;font-weight:400;font-family:var(--mono-font,monospace);margin-left:auto}.lsp-export-note{opacity:.45;margin:0;font-size:12px;line-height:1.45}.lsp-export-warn{color:var(--text-color);background:#e0a80024;border:1px solid #e0a80066;border-radius:7px;align-items:flex-start;gap:7px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.4;display:flex}.lsp-export-warn .material-symbols-outlined{color:#e0a800;flex-shrink:0;margin-top:1px;font-size:15px}.lsp-export-back{color:var(--text-color);opacity:.6;cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:2px;padding:4px 2px;font-family:inherit;font-size:12px;font-weight:600}.lsp-export-back:hover:not(:disabled){opacity:1;color:var(--app-highlight)}.lsp-export-back:disabled{opacity:.3;cursor:not-allowed}.lsp-markup-note{border-radius:8px;align-items:flex-start;gap:9px;padding:20px;display:flex}.lsp-markup-note-icon{color:var(--app-highlight);flex-shrink:0;margin-top:1px;font-size:18px}.lsp-markup-note-text{opacity:.8;margin:0;font-size:12px;line-height:1.5}.basemap-panel{flex-direction:column;display:flex}.basemap-group-section{padding:0 0 8px}.basemap-grid{grid-template-columns:repeat(auto-fill,minmax(max(90px,20% + 1px),1fr));gap:8px;padding:4px 14px 8px;display:grid}.basemap-card{cursor:pointer;border:1.5px solid var(--layer-item-border);color:var(--text-color);background:0 0;border-radius:8px;flex-direction:column;gap:5px;padding:4px;transition:border-color .12s;display:flex}.basemap-card:hover{border-color:color-mix(in srgb, var(--app-highlight) 50%, transparent)}.basemap-card.is-active{border-color:var(--app-highlight)}.basemap-thumb{aspect-ratio:16/9;background:var(--layer-item-bg);border-radius:5px;width:100%;overflow:hidden}.basemap-thumb img{object-fit:cover;width:100%;height:100%;display:block}.basemap-name{text-align:center;padding:0 2px 3px;font-size:12px;font-weight:500;display:block}.basemap-card--custom{border:1.5px solid var(--layer-item-border);border-radius:8px;padding:0;position:relative;overflow:hidden}.basemap-card--custom.is-active{border-color:var(--app-highlight)}.basemap-card-inner{cursor:pointer;width:100%;color:var(--text-color);text-align:center;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:flex}.basemap-thumb--custom{background:color-mix(in srgb, var(--app-highlight) 8%, var(--layer-item-bg));justify-content:center;align-items:center;display:flex}.basemap-thumb--custom .material-symbols-outlined{opacity:.4;color:var(--app-highlight);font-size:28px}.basemap-card-remove,.basemap-card-edit{background:color-mix(in srgb, var(--text-color) 12%, transparent);width:18px;height:18px;color:var(--text-color);cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .12s;display:flex;position:absolute;top:3px}.basemap-card-remove{right:3px}.basemap-card-edit{right:24px}.basemap-card--custom:hover .basemap-card-remove,.basemap-card--custom:hover .basemap-card-edit{opacity:.7}.basemap-card-remove:hover,.basemap-card-edit:hover{opacity:1!important}.basemap-card-remove .material-symbols-outlined,.basemap-card-edit .material-symbols-outlined{font-size:13px}.basemap-add-btn{border:1px dashed var(--layer-item-border);width:100%;color:var(--text-color);opacity:.55;cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:opacity .12s,border-color .12s,color .12s;display:flex}.basemap-add-btn:hover{opacity:1;border-color:var(--app-highlight);color:var(--app-highlight)}.basemap-add-btn .material-symbols-outlined{font-size:16px}.basemap-add-form{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);border-radius:8px;flex-direction:column;gap:10px;margin:0 14px 12px;padding:12px;display:flex}.analysis-panel{flex-direction:column;gap:12px;padding:14px;display:flex}.baf-field{flex-direction:column;gap:4px;display:flex}.baf-field--grow{flex:1}.baf-field--row{flex-direction:row;gap:8px}.baf-field--row>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.baf-field--row .baf-select,.baf-field--row .baf-input{width:100%}.baf-row{gap:8px;display:flex}.baf-label{text-transform:uppercase;letter-spacing:.5px;opacity:.45;color:var(--text-color);font-size:11px;font-weight:600}.baf-hint{opacity:.5;color:var(--text-color);font-size:11px}.baf-thumb-row{align-items:center;gap:10px;display:flex}.baf-thumb-preview{aspect-ratio:16/9;border:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--app-highlight) 8%, var(--layer-item-bg));border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:64px;display:flex;overflow:hidden}.baf-thumb-preview img{object-fit:cover;width:100%;height:100%;display:block}.baf-thumb-preview .material-symbols-outlined{opacity:.35;color:var(--app-highlight);font-size:22px}.baf-thumb-actions{flex-direction:column;gap:5px;display:flex}.baf-input,.baf-select{border:1px solid var(--layer-item-border);background:var(--background-color);color:var(--text-color);font:inherit;box-sizing:border-box;border-radius:5px;outline:none;width:100%;padding:6px 8px;font-size:12px}.baf-input:focus,.baf-select:focus{border-color:var(--app-highlight)}.baf-actions{gap:6px;display:flex}.baf-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;opacity:.7;background:0 0;border-radius:6px;flex:1;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .12s}.baf-btn:hover{opacity:1}.baf-btn--primary{background:var(--app-highlight);border-color:var(--app-highlight);color:#fff;opacity:1}.baf-btn--primary:hover{opacity:.88}.baf-btn--primary:disabled{opacity:.4;cursor:not-allowed}.legend-list{flex-direction:column;padding:6px 0;display:flex}.legend-row{align-items:center;gap:10px;padding:8px 16px;display:flex}.legend-dot{border:1px solid #80808033;border-radius:50%;flex-shrink:0;width:12px;height:12px}.legend-swatch{flex-shrink:0;display:block}.kml-icon-img{object-fit:contain;flex-shrink:0;display:block}.kml-icon-img.is-loading{background:#8080802e;border-radius:3px}.kml-icon-cluster{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:1px;display:flex;overflow:hidden}.kml-icon-cluster .kml-icon-img{object-fit:contain}.lsp-kml-icons{margin-top:8px}.lsp-kml-icons-head{text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-bottom:4px;font-size:11px}.lsp-kml-icons-list{flex-direction:column;gap:2px;max-height:180px;display:flex;overflow-y:auto}.lsp-kml-icon-row{align-items:center;gap:8px;display:flex}.lsp-kml-icon-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.lsp-kml-icon-count{opacity:.6;font-variant-numeric:tabular-nums;font-size:11px}.legend-group{flex-direction:column;display:flex}.legend-row-header{padding-bottom:2px}.legend-row-header .legend-name{font-weight:600}.legend-categories{flex-direction:column;display:flex}.legend-cat-row{padding-top:2px;padding-bottom:2px;padding-left:24px}.legend-cat-row .legend-name{opacity:.85;font-size:12px}.legend-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.legend-tag{opacity:.35;text-transform:uppercase;letter-spacing:.4px;font-size:10px}.draw-panel{flex-direction:column;display:flex}.draw-section{border-bottom:1px solid var(--layer-item-border);padding:0 0 12px}.draw-section:last-child{border-bottom:none}.draw-tools{flex-wrap:wrap;gap:6px;padding:4px 14px 0;display:flex}.draw-tool-btn{border:1.5px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;align-items:center;gap:3px;min-width:52px;padding:8px 10px;transition:border-color .12s,color .12s,background .12s;display:flex}.draw-tool-btn .material-symbols-outlined{font-size:20px}.draw-tool-label{opacity:.6;letter-spacing:.3px;font-size:10px}.draw-tool-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.draw-tool-btn.is-active{border-color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight)}.draw-tool-btn:disabled{opacity:.4;cursor:not-allowed}.draw-tool-btn:disabled:hover{border-color:var(--layer-item-border);color:var(--text-color)}.editor-modes{border-bottom:1px solid var(--layer-item-border);justify-content:center;gap:8px;padding:12px 14px;display:flex}.editor-mode-btn{border:1.5px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:12px 6px;font-size:12px;font-weight:600;transition:border-color .12s,color .12s,background .12s;display:flex}.editor-mode-btn .material-symbols-outlined{font-size:24px}.editor-mode-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.editor-mode-btn.is-active{border-color:var(--app-highlight);background:var(--app-highlight);color:#fff}.editor-settings-btn{border:1.5px solid var(--layer-item-border);width:38px;color:var(--text-color);opacity:.7;cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;transition:border-color .12s,color .12s,opacity .12s;display:flex}.editor-settings-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight);opacity:1}.editor-settings-btn .material-symbols-outlined{font-size:20px}.ep-mode-desc{opacity:.6;margin:0;padding:8px 14px 2px;font-size:12px;line-height:1.45}.color-field{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.color-swatches{gap:3px;display:inline-flex}.color-swatch{border:1px solid var(--layer-item-border);cursor:pointer;border-radius:3px;width:16px;height:16px;padding:0}.color-swatch:hover{outline:2px solid var(--app-highlight);outline-offset:1px}.draw-in-progress{gap:6px;padding:8px 14px 0;display:flex}.draw-ctrl-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;opacity:.75;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:12px;transition:opacity .12s,border-color .12s;display:inline-flex}.draw-ctrl-btn:hover{opacity:1;border-color:var(--app-highlight);color:var(--app-highlight)}.draw-ctrl-btn .material-symbols-outlined{font-size:15px}.draw-style-grid{grid-template-columns:52px 1fr;align-items:center;gap:10px 8px;padding:8px 14px 0;display:grid}.draw-style-label{opacity:.55;text-align:right;font-size:12px}.draw-style-controls{align-items:center;gap:7px;display:flex}.sym-fav-bar{align-items:center;gap:6px;padding:4px 0 8px;display:flex}.sym-fav-icon{color:#f5b301;flex:none;font-size:17px}.sym-fav-select{flex:1;min-width:0}.sym-fav-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:4px;display:flex}.sym-fav-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.sym-fav-btn .material-symbols-outlined{font-size:18px}.sym-grid{grid-template-columns:56px 1fr;align-items:center;gap:9px 8px;padding:4px 0 0;display:grid}.sym-grid--padded{padding:8px 14px 0}.sym-label{opacity:.55;text-align:right;font-size:12px}.sym-controls{align-items:center;gap:7px;min-width:0;display:flex}.sym-controls .lsp-toggle-btn{flex:none;padding:3px 9px}.sym-controls .lsp-slider{height:2px}.draw-measure-toggle{cursor:pointer;opacity:.75;align-items:center;gap:8px;padding:8px 14px 0;font-size:13px;display:flex}.draw-measure-toggle:hover{opacity:1}.ep-hint{opacity:.55;margin:0;padding:4px 14px;font-size:12px;line-height:1.5}.ep-select{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;border-radius:6px;outline:none;width:calc(100% - 28px);margin:4px 14px;padding:5px 8px;font-size:13px}.ep-select:focus{border-color:var(--app-highlight)}.ep-attr-row{align-items:center;gap:8px;padding:3px 14px;display:flex}.ep-attr-key{opacity:.55;text-align:right;flex-shrink:0;min-width:70px;font-size:12px}.ep-attr-val{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;border-radius:4px;outline:none;flex:1;padding:3px 6px;font-size:13px}.ep-attr-val:focus{border-color:var(--app-highlight)}.ep-commit-btn{font:inherit;border:1px solid var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 10%, transparent);color:var(--app-highlight);cursor:pointer;border-radius:7px;align-items:center;gap:7px;width:calc(100% - 28px);margin:4px 14px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.ep-commit-btn:hover{background:color-mix(in srgb, var(--app-highlight) 18%, transparent)}.ep-commit-btn .material-symbols-outlined{font-size:16px}.ep-selection-bar{background:#ffcc001f;border:1px solid #fc06;border-radius:7px;align-items:center;gap:8px;margin:4px 14px;padding:6px 10px;display:flex}.ep-selection-count{color:#960;text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:5px;min-width:0;font-size:12px;font-weight:600;display:flex;overflow:hidden}.dark-mode .ep-selection-count{color:#fd5}.ep-selection-count .material-symbols-outlined{flex-shrink:0;font-size:15px}.draw-label-row{gap:7px;padding:4px 14px 0;display:flex}.draw-label-input{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;border-radius:6px;flex:1;padding:7px 10px;font-size:13px}.draw-label-input:focus{border-color:var(--app-highlight);outline:none}.draw-place-btn{border:1.5px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:7px 11px;font-family:inherit;font-size:13px;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.draw-place-btn .material-symbols-outlined{font-size:16px}.draw-place-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.draw-place-btn.is-active{border-color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight)}.style-color{border:1px solid var(--layer-item-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:28px;height:26px;padding:2px}.style-slider{accent-color:var(--app-highlight);flex:1}.style-number{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);width:58px;color:var(--text-color);font:inherit;border-radius:4px;padding:3px 6px;font-size:13px}.style-val{opacity:.55;min-width:22px;font-size:12px}.file-input-hidden{display:none}.map-toolbar{top:calc(var(--header-height) + 10px);z-index:38;flex-direction:column;gap:4px;transition:right .14s;display:flex;position:absolute;right:10px}.map-toolbar.panel-open{right:calc(var(--side-panel-width,0px) + 10px)}#viewDiv.is-resizing-side-panel .map-toolbar{transition:none}.map-toolbar-top{flex-direction:row;justify-content:flex-end;align-items:center;gap:4px;display:flex}.map-toolbar-collapsible{flex-direction:column;gap:4px;display:flex}.map-toolbar .map-toolbar-toggle{display:none}@media (width<=640px),(height<=600px){.map-toolbar .map-toolbar-toggle{display:flex}.map-toolbar-collapsible{display:none}.map-toolbar.tools-open .map-toolbar-collapsible{max-height:calc(100dvh - var(--header-height) - 100px);scrollbar-width:none;display:flex;overflow:hidden auto}.map-toolbar.tools-open .map-toolbar-collapsible::-webkit-scrollbar{display:none}.map-custom-controls{max-height:calc(100dvh - var(--header-height) - 20px);scrollbar-width:none;overflow:hidden auto}.map-custom-controls::-webkit-scrollbar{display:none}}.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{top:calc(var(--header-height) + 10px)!important}.maplibregl-ctrl-bottom-right{transition:right .14s;right:10px!important}#viewDiv.panel-open .maplibregl-ctrl-bottom-right{right:calc(var(--side-panel-width,0px) + 10px)!important}#viewDiv.is-resizing-side-panel .maplibregl-ctrl-bottom-right{transition:none}.map-custom-controls{top:calc(var(--header-height) + 10px);z-index:10;flex-direction:column;gap:5px;display:flex;position:absolute;left:10px}.map-ctrl-btn{background:color-mix(in srgb, var(--layer-item-bg) 78%, transparent);-webkit-backdrop-filter:blur(6px);border:1px solid var(--layer-item-border);width:28px;height:28px;color:var(--text-color);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:flex;box-shadow:0 1px 4px #0000002e}.map-ctrl-btn .material-symbols-outlined{pointer-events:none;font-size:16px}.map-ctrl-btn:hover{background:color-mix(in srgb, var(--app-highlight) 10%, var(--layer-item-bg));border-color:var(--app-highlight);color:var(--app-highlight)}.map-ctrl-btn:disabled{opacity:.3;pointer-events:none}.map-tool-btn{background:color-mix(in srgb, var(--background-color) 78%, transparent);-webkit-backdrop-filter:blur(6px);width:36px;height:36px;color:var(--text-color);border:1px solid var(--layer-item-border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:20px;transition:background .14s,color .14s,border-color .14s;display:flex;box-shadow:0 2px 6px #00000040}.map-tool-btn:hover{background:var(--layer-item-bg);color:var(--app-highlight);border-color:var(--app-highlight)}.map-tool-btn.active{background:var(--app-highlight);color:#fff;border-color:var(--app-highlight)}.map-toolbar-divider{background:var(--layer-item-border);height:1px;margin:2px 4px}.account-avatar{cursor:pointer;border:1px solid var(--layer-item-border);background:var(--app-highlight);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:15px;font-weight:600;transition:border-color .14s,box-shadow .14s;display:flex;overflow:hidden;box-shadow:0 2px 6px #00000040}.account-avatar:hover{border-color:var(--app-highlight);box-shadow:0 0 0 2px color-mix(in srgb, var(--app-highlight) 45%, transparent)}.account-avatar img{object-fit:cover;width:100%;height:100%}.dropmaps-location-dot{background:#1a73e8;border:2px solid #fff;border-radius:50%;width:16px;height:16px;animation:2s ease-out infinite dropmaps-location-pulse;box-shadow:0 0 0 2px #1a73e866}@keyframes dropmaps-location-pulse{0%{box-shadow:0 0 0 2px #1a73e880}70%{box-shadow:0 0 0 12px #1a73e800}to{box-shadow:0 0 0 2px #1a73e800}}.map-tool-btn.locating .material-symbols-outlined{color:#fff;animation:.9s linear infinite dropmaps-spin}@keyframes dropmaps-spin{to{transform:rotate(360deg)}}.geom-edit-bar{top:calc(var(--header-height) + 12px);left:calc((100% - var(--side-panel-width,0px)) / 2);z-index:42;max-width:calc(100% - var(--side-panel-width,0px) - 24px);background:color-mix(in srgb, var(--background-color) 82%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--layer-item-border);border-radius:10px;flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.geom-edit-bar.is-pending{border-color:var(--app-highlight);box-shadow:0 4px 16px #00000059, 0 0 0 2px color-mix(in srgb, var(--app-highlight) 45%, transparent)}.geom-edit-bar-hint{color:var(--text-color);align-items:center;gap:6px;font-size:13px;display:flex}.geom-edit-bar-hint .material-symbols-outlined{opacity:.75;font-size:18px}.geom-edit-bar-controls{align-items:center;gap:16px;display:flex}.geom-edit-bar-parts,.geom-edit-bar-toggle,.geom-edit-bar-actions{align-items:center;gap:8px;display:flex}.geom-edit-bar-actions{margin-left:auto}.geom-edit-bar-parts-label{color:var(--text-color);white-space:nowrap;text-align:center;min-width:64px;font-size:13px}.geom-edit-bar-parts .geom-edit-bar-btn{padding:6px 8px}.geom-edit-bar-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.geom-edit-bar-btn .material-symbols-outlined{font-size:18px}.geom-edit-bar-btn:hover:not(:disabled){border-color:var(--app-highlight);color:var(--app-highlight)}.geom-edit-bar-btn.is-active{border-color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 14%, transparent);color:var(--app-highlight)}.geom-edit-bar-btn.is-danger{border-color:color-mix(in srgb, #e5484d 50%, var(--layer-item-border));color:#e5484d}.geom-edit-bar-btn.is-danger:hover:not(:disabled){color:#e5484d;background:#e5484d24;border-color:#e5484d}.geom-edit-bar-btn.is-confirm{border-color:var(--app-highlight);background:var(--app-highlight);color:#fff}.geom-edit-bar-btn.is-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--app-highlight) 85%, #000);color:#fff}.geom-edit-bar-btn:disabled{opacity:.4;cursor:default}@media (width<=600px){.geom-edit-bar{width:100%;max-width:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0;top:auto;bottom:0;left:0;transform:none}.geom-edit-bar-controls{flex-wrap:wrap;gap:10px 12px}.geom-edit-bar-toggle,.geom-edit-bar-actions{flex:auto}.geom-edit-bar-actions{margin-left:0}.geom-edit-bar-parts{flex:100%;justify-content:center}.geom-edit-bar-btn{flex:auto;justify-content:center}}.draw-tool-bar{z-index:43;background:color-mix(in srgb, var(--background-color) 82%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--layer-item-border);flex-direction:column;align-items:stretch;gap:8px;padding:10px 14px;display:flex;position:absolute;box-shadow:0 4px 16px #00000059}.draw-tool-bar,.geom-edit-bar{top:auto;bottom:var(--bottom-bar-offset,0px);border-radius:0;max-width:none;left:0;right:0;transform:none}#viewDiv.panel-open .draw-tool-bar,#viewDiv.panel-open .geom-edit-bar{right:var(--side-panel-width,0px)}#viewDiv.has-tool-bar .geom-edit-bar{bottom:calc(var(--bottom-bar-offset,0px) + var(--tool-bar-height,0px) + 8px)}#viewDiv.table-maximized .draw-tool-bar,#viewDiv.table-maximized .geom-edit-bar{display:none}@media (width<=980px){#viewDiv.panel-open .draw-tool-bar,#viewDiv.panel-open .geom-edit-bar{display:none}}.dtb-row{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.dtb-modes{gap:8px}.dtb-mode-group{gap:6px;display:inline-flex}.dtb-spacer{flex:auto}.dtb-hint{color:var(--text-color);opacity:.8;font-size:13px}.dtb-measure-hint{align-items:center;gap:4px;display:inline-flex}.dtb-measure-hint .material-symbols-outlined{opacity:.75;font-size:16px}.dtb-mode-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.dtb-mode-btn .material-symbols-outlined{font-size:18px}.dtb-mode-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.dtb-mode-btn.is-active{border-color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 14%, transparent);color:var(--app-highlight)}.dtb-icon-btn{border:1px solid var(--layer-item-border);width:34px;height:34px;color:var(--text-color);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.dtb-icon-btn:hover{border-color:var(--app-highlight);color:var(--app-highlight)}.dtb-icon-btn .material-symbols-outlined{font-size:20px}.draw-tool-bar .draw-tools{flex-wrap:nowrap;padding:0}.draw-tool-bar .draw-tool-btn{min-width:46px;padding:6px 9px}.draw-tool-bar .ep-select{width:auto;min-width:150px;max-width:240px;margin:0}.dtb-text{flex:0 200px}.dtb-result{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;font-weight:600;overflow:hidden}.dtb-sel-chip{border:1px solid var(--layer-item-border);color:var(--text-color);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:inline-flex}.dtb-sel-chip .material-symbols-outlined{font-size:16px}.dtb-seg{border:1px solid var(--layer-item-border);border-radius:6px;display:inline-flex;overflow:hidden}.dtb-seg-btn{border:none;border-left:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;opacity:.7;background:0 0;align-items:center;gap:4px;padding:5px 9px;font-family:inherit;font-size:12px;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.dtb-seg-btn:first-child{border-left:none}.dtb-seg-btn:hover{opacity:1;color:var(--app-highlight)}.dtb-seg-btn.is-active{opacity:1;background:var(--app-highlight);color:#fff}.dtb-seg-btn .material-symbols-outlined{font-size:15px}.dtb-sel-clear{color:var(--text-color);opacity:.6;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.dtb-sel-clear:hover{opacity:1;color:var(--app-highlight)}.dtb-attrs{border-top:1px solid var(--layer-item-border);max-height:240px;padding-top:6px;overflow-y:auto}.dtb-attrs .draw-section{padding:0}@media (width<=600px){.draw-tool-bar{max-width:none;left:8px;right:8px;transform:none}.draw-tool-bar .draw-tools{flex-wrap:wrap}.draw-tool-bar .ep-select{flex:auto;min-width:0}}.coordinate-display{z-index:20;background:color-mix(in srgb, var(--background-color) 78%, transparent);-webkit-backdrop-filter:blur(6px);color:var(--text-color);border:1px solid var(--layer-item-border);pointer-events:none;letter-spacing:.3px;border-radius:4px;min-width:180px;padding:3px 8px;font-family:Nunito Sans,monospace,sans-serif;font-size:11px;position:absolute;bottom:36px;left:10px;box-shadow:0 2px 6px #0000002e}.coordinate-display--btn{pointer-events:all;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.coordinate-display--btn:hover{background:var(--layer-item-bg);border-color:var(--app-highlight)}.maplibregl-ctrl-scale{background:color-mix(in srgb, var(--background-color) 78%, transparent);-webkit-backdrop-filter:blur(6px);color:var(--text-color);border-color:var(--layer-item-border);cursor:pointer;transition:background .15s;box-shadow:0 2px 6px #0000002e}.maplibregl-ctrl-scale:hover{background:var(--layer-item-bg)}.map-ctx-menu{z-index:9000;background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:9px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;box-shadow:0 8px 24px #0006}.map-ctx-menu button{width:100%;font:inherit;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px;transition:background .1s;display:block}.map-ctx-menu button:hover{background:color-mix(in srgb, var(--app-highlight) 12%, transparent);color:var(--app-highlight)}.map-popup{overscroll-behavior:contain;max-height:240px;font-size:13px;overflow-y:auto}.map-popup::-webkit-scrollbar{width:8px}.map-popup::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-color) 22%, transparent);border-radius:4px}.map-popup-head{align-items:flex-start;gap:6px;margin:0 0 7px;padding-right:22px;display:flex}.map-popup-head.has-title{border-bottom:1px solid color-mix(in srgb, var(--text-color) 14%, transparent);padding-bottom:7px}.map-popup-title{letter-spacing:.01em;word-break:break-word;flex:1;min-width:0;font-size:13.5px;font-weight:700}.map-popup-actions{flex-shrink:0;align-items:center;gap:1px;margin-left:auto;display:flex}.map-popup-head .ctx-trigger{opacity:.55;width:24px;height:24px}.map-popup-head .ctx-trigger:hover,.map-popup-head .ctx-trigger.is-open{opacity:1}.map-popup-btn{width:24px;height:24px;color:var(--text-color);opacity:.55;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,opacity .12s,color .12s;display:flex}.map-popup-btn .material-symbols-outlined{pointer-events:none;font-size:17px}.map-popup-btn:hover{opacity:1;background:color-mix(in srgb, var(--text-color) 10%, transparent)}.map-popup-btn.is-active{opacity:1;color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 14%, transparent)}.pop-grid{flex-direction:column;margin:0;display:flex}.pop-row{border-radius:5px;grid-template-columns:minmax(60px,38%) 1fr;align-items:baseline;gap:10px;margin:0 -6px;padding:4px 6px;display:grid}.pop-row:hover{background:color-mix(in srgb, var(--app-highlight) 9%, transparent)}.pop-row+.pop-row{border-top:1px solid color-mix(in srgb, var(--text-color) 7%, transparent)}.pop-key{text-transform:uppercase;letter-spacing:.03em;opacity:.55;word-break:break-word;margin:0;font-size:11.5px;font-weight:600}.pop-val{word-break:break-word;margin:0}.pop-val.is-empty{opacity:.4}.pop-val.is-edited{opacity:1;color:var(--app-highlight);font-weight:600}.pop-val.is-edited .pop-edit-trigger:before{content:"●";vertical-align:middle;margin-right:5px;font-size:9px}.pop-edit-trigger{width:100%;color:inherit;font:inherit;text-align:left;word-break:break-word;cursor:text;background:0 0;border:0;border-radius:4px;margin:-2px -4px;padding:2px 4px;transition:background .1s,box-shadow .1s;display:block}.pop-edit-trigger:hover{background:color-mix(in srgb, var(--app-highlight) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--app-highlight) 35%, transparent)}.pop-input{border:1px solid var(--app-highlight);background:var(--layer-item-bg);width:100%;color:var(--text-color);font:inherit;box-sizing:border-box;border-radius:4px;margin:-2px -4px;padding:2px 4px}.pop-input:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--app-highlight) 30%, transparent);outline:none}.pop-loading{opacity:.6;font-style:italic}.pop-html{border-top:1px solid color-mix(in srgb, var(--text-color) 10%, transparent);margin-top:8px;padding-top:8px;font-size:12px;overflow-x:auto}.pop-html table{border-collapse:collapse;max-width:100%}.pop-html td,.pop-html th{border:1px solid color-mix(in srgb, var(--text-color) 14%, transparent);word-break:break-word;padding:2px 6px}.pop-html img{max-width:100%;height:auto}.pop-html a{color:var(--app-highlight)}.attach{border-top:1px solid color-mix(in srgb, var(--text-color) 10%, transparent);margin-top:8px;padding-top:8px}.attach-strip{flex-wrap:wrap;gap:6px;display:flex}.attach-thumb-wrap{display:inline-flex;position:relative}.attach-thumb-del{background:var(--danger,#d63838);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 4px #0006}.attach-thumb-del .material-symbols-outlined{font-size:14px}.attach-thumb-add{color:var(--app-highlight);border-style:dashed}.attach-thumb-add .material-symbols-outlined{font-size:22px}.attach-doc-del{color:var(--danger,#d63838);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px;display:inline-flex}.attach-doc-del .material-symbols-outlined{font-size:16px}.attach-docs li{align-items:center;gap:2px;display:flex}.attach-docs .attach-doc{flex:1;min-width:0}.attach-thumb{border:1px solid color-mix(in srgb, var(--text-color) 18%, transparent);background:color-mix(in srgb, var(--text-color) 6%, transparent);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:64px;height:64px;padding:0;transition:box-shadow .1s,transform 50ms;display:flex;overflow:hidden}.attach-thumb:hover{box-shadow:0 0 0 2px var(--app-highlight)}.attach-thumb:active{transform:scale(.97)}.attach-thumb img{object-fit:cover;width:100%;height:100%;display:block}.attach-thumb-ph{opacity:.5;font-size:18px}.attach-docs{flex-direction:column;gap:3px;margin:6px 0 0;padding:0;list-style:none;display:flex}.attach-doc{color:var(--app-highlight);border-radius:5px;align-items:center;gap:6px;margin:0 -6px;padding:4px 6px;font-size:12.5px;text-decoration:none;display:flex}.attach-doc:hover{background:color-mix(in srgb, var(--app-highlight) 12%, transparent)}.attach-doc[aria-disabled=true]{opacity:.45;pointer-events:none}.attach-doc .material-symbols-outlined{font-size:18px}.attach-doc-name{word-break:break-all}.attach-lightbox{z-index:10000;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.attach-lb-figure{flex-direction:column;align-items:center;gap:8px;max-width:min(96vw,2000px);max-height:96vh;margin:0;display:flex}.attach-lb-figure img{object-fit:contain;border-radius:4px;max-width:100%;max-height:calc(96vh - 38px);box-shadow:0 8px 40px #00000080}.attach-lb-loading{color:#fff;opacity:.7}.attach-lb-cap{color:#fff;align-items:center;gap:12px;max-width:100%;font-size:13px;display:flex}.attach-lb-cap>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attach-lb-count{opacity:.7;flex-shrink:0}.attach-lb-dl{color:#fff;flex-shrink:0;display:inline-flex}.attach-lb-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .1s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.attach-lb-btn:hover{background:#ffffff40}.attach-lb-prev{left:16px}.attach-lb-next{right:16px}.attach-lb-close{width:40px;height:40px;top:16px;right:16px;transform:none}.atp-th--attach,.atp-td--attach{text-align:center;width:48px;padding:0 4px}.atp-th--attach .material-symbols-outlined{opacity:.7;font-size:18px}.atp-attach-btn{border:1px solid color-mix(in srgb, var(--app-highlight) 35%, transparent);background:color-mix(in srgb, var(--app-highlight) 10%, transparent);color:var(--app-highlight);cursor:pointer;border-radius:12px;align-items:center;gap:3px;padding:2px 6px;font-size:11px;line-height:1;display:inline-flex}.atp-attach-btn:hover{background:color-mix(in srgb, var(--app-highlight) 20%, transparent)}.atp-attach-btn .material-symbols-outlined{font-size:16px}.atp-attach-btn--empty{border-color:color-mix(in srgb, var(--text-color) 20%, transparent);color:color-mix(in srgb, var(--text-color) 55%, transparent);background:0 0}.atp-attach-btn--empty:hover{border-color:var(--app-highlight);color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 10%, transparent)}.atp-td--bool{text-align:center}.atp-add-field-type{border:1px solid var(--layer-item-border);background:var(--background-color);color:var(--text-color);font:inherit;border-radius:6px;padding:4px 6px}.attach-modal-overlay{z-index:9500;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.attach-modal{background:var(--background-color);width:min(680px,94vw);max-height:86vh;color:var(--text-color);border:1px solid var(--layer-item-border);border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 18px 60px #0006}.attach-modal-head{border-bottom:1px solid var(--layer-item-border);align-items:center;gap:8px;padding:10px 14px;display:flex}.attach-modal-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.attach-modal-close{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;display:inline-flex}.attach-modal-close:hover{background:color-mix(in srgb, var(--text-color) 10%, transparent)}.attach-modal-body{padding:14px;overflow-y:auto}.attach-modal-body .attach{border-top:0;margin-top:0;padding-top:0}.attach-modal-body .attach-thumb{width:96px;height:96px}.drag-overlay{z-index:9999;border:3px dashed var(--app-highlight);pointer-events:none;opacity:0;background:#12204980;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:fixed;inset:0}.drag-overlay.active{opacity:1}.drag-overlay-content{color:var(--app-highlight);letter-spacing:1px;text-transform:uppercase;text-align:center;flex-direction:column;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.drag-overlay-content .material-symbols-outlined{font-size:48px}.bottom-panel{background-color:var(--background-color);border-top:1px solid var(--layer-item-border);z-index:40;flex-direction:column;transition:transform .3s ease-in-out;display:flex;position:absolute;bottom:0;left:0;box-shadow:0 -2px 5px #0000001a}@media (width<=900px){.side-panel-resize-handle{display:none}.side-panel{width:min(100vw,420px)!important}}.bottom-panel.collapsed{transform:translateY(100%)}.bottom-panel.maximized{height:calc(100vh - var(--header-height))!important}@supports (height:100dvh){.bottom-panel.maximized{height:calc(100dvh - var(--header-height))!important}}#bottom-panel-resize-handle{cursor:ns-resize;background:0 0;border:0;flex-shrink:0;width:100%;height:6px;margin:0;padding:0;transition:background .2s;position:relative}#bottom-panel-resize-handle .material-symbols-outlined{display:none}#bottom-panel-resize-handle:hover{background:color-mix(in srgb, var(--app-highlight) 50%, transparent)}#bottom-panel-content{flex-grow:1;height:100%;padding:0;overflow-y:auto}.bottom-panel-inner{padding:12px 16px}.bottom-panel-inner h3{letter-spacing:1px;text-transform:uppercase;opacity:.85;margin:0 0 8px;font-size:13px}.bottom-panel-inner p{opacity:.65;margin:0;font-size:13px}.inspect-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.inspect-card{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);border-radius:6px;padding:8px 10px}.inspect-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.inspect-head span{opacity:.6;text-transform:uppercase;letter-spacing:.8px}.inspect-rows{gap:4px;display:grid}.inspect-row{grid-template-columns:130px 1fr;gap:8px;font-size:12px;display:grid}.inspect-key{opacity:.62;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inspect-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=980px){.side-panel{border-left:0;border-top:1px solid var(--layer-item-border);width:100%;height:52%;top:auto;bottom:0}.map-toolbar.panel-open{right:10px}.header-map-name{font-size:18px}.logo{height:34px;display:block}.logo-symbol{display:none}}@media (width>=981px){.logo{display:block}.logo-symbol{display:none}}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{color:#fff;opacity:0;text-align:center;pointer-events:all;background:#333;border-radius:6px;max-width:380px;padding:8px 16px;font-family:Nunito Sans,sans-serif;font-size:14px;transition:opacity .2s,transform .2s;transform:translateY(8px);box-shadow:0 4px 12px #00000059}.toast.show{opacity:1;transform:translateY(0)}.toast-success{background:#1a7a4a}.toast-warning{background:#9a6800}.toast-error{background:#a0321e}.toast-info{background:#1565a8}.atp-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.atp-tab-bar{border-bottom:1px solid var(--layer-item-border);flex-shrink:0;align-items:center;gap:2px;height:36px;padding:0 6px;display:flex;overflow:hidden}.atp-tab-list{scrollbar-width:none;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.atp-tab-list::-webkit-scrollbar{display:none}.atp-tab-list.is-hidden{visibility:hidden;pointer-events:none;height:0}.atp-tab-dropdown{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);border-radius:5px;flex:1;align-items:center;min-width:0;height:26px;padding:0 6px;display:flex;position:relative}.atp-tab-dropdown-icon{opacity:.5;color:var(--text-color);flex-shrink:0;font-size:16px}.atp-tab-dropdown-select{min-width:0;color:var(--text-color);font:inherit;cursor:pointer;appearance:none;background:0 0;border:none;outline:none;flex:1;padding:0 4px;font-size:12px;font-weight:500}.atp-tab-dropdown-caret{opacity:.5;pointer-events:none;color:var(--text-color);flex-shrink:0;font-size:16px}.atp-layer-tab{color:var(--text-color);opacity:.5;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:opacity .12s,border-color .12s}.atp-layer-tab:hover{opacity:.8}.atp-layer-tab.active{opacity:1;border-bottom-color:var(--app-highlight);color:var(--app-highlight);border-image:var(--brand-grad) 1}.atp-tab-bar-actions{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.atp-config-btn{width:28px;height:28px;color:var(--text-color);opacity:.4;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-left:0;transition:opacity .12s;display:flex}.atp-config-btn:hover{opacity:.9}.atp-config-btn .material-symbols-outlined{font-size:16px}.atp-layer-config{border-bottom:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--text-color) 3%, transparent);flex-direction:column;flex-shrink:0;gap:5px;padding:8px 12px;display:flex}.atp-layer-config-row{cursor:pointer;align-items:center;gap:7px;font-size:13px;display:flex}.atp-layer-config-row input{accent-color:var(--app-highlight)}.atp-empty{opacity:.5;flex:1;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:13px;display:flex}.atp-empty .material-symbols-outlined{font-size:22px}.atp-empty--actions{text-align:center;opacity:1;flex-direction:column}.atp-empty-msg{opacity:.5;align-items:center;gap:10px;display:flex}.atp-empty-tools{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.atp-search-bar{border-bottom:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--text-color) 2%, transparent);flex-shrink:0;align-items:center;gap:4px;padding:5px 8px;display:flex}.atp-search-icon{opacity:.4;color:var(--text-color);flex-shrink:0;font-size:15px}.atp-search-input{color:var(--text-color);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:13px}.atp-search-input::placeholder{opacity:.4}.atp-search-count{opacity:.5;white-space:nowrap;flex-shrink:0;font-size:11px}.atp-toolbar{border-bottom:1px solid var(--layer-item-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;display:flex}.atp-count{opacity:.45;font-size:12px}.atp-tool-btn{border:1px solid var(--layer-item-border);color:var(--text-color);cursor:pointer;opacity:.7;white-space:nowrap;background:0 0;border-radius:5px;align-items:center;gap:4px;padding:3px 8px;font-family:inherit;font-size:12px;transition:all .12s;display:inline-flex}.atp-tool-btn:hover{opacity:1;border-color:var(--app-highlight);color:var(--app-highlight)}.atp-tool-btn .material-symbols-outlined{font-size:14px}.atp-tool-btn--danger{color:var(--danger,#d63838);border-color:color-mix(in srgb, var(--danger,#d63838) 40%, transparent)}.atp-tool-btn--danger:hover{border-color:var(--danger,#d63838);color:var(--danger,#d63838);background:color-mix(in srgb, var(--danger,#d63838) 8%, transparent)}.atp-tool-btn--primary{background:var(--app-highlight);border-color:var(--app-highlight);color:#fff;opacity:1}.atp-tool-btn--primary:hover{opacity:.88;color:#fff}.atp-tool-btn--active{border-color:var(--app-highlight);color:var(--app-highlight);opacity:1}.fcalc{flex-direction:column;gap:14px;display:flex}.fcalc-row{flex-direction:column;gap:6px;display:flex}.fcalc-target{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fcalc-target .ald-select,.fcalc-newname{flex:1;min-width:140px}.fcalc-toggle{gap:6px;display:inline-flex}.fcalc-hint{opacity:.65;font-size:11px;font-weight:400}.fcalc-hint code{background:color-mix(in srgb, var(--text-color) 10%, transparent);border-radius:3px;padding:0 3px;font-size:11px}.fcalc-expr{box-sizing:border-box;border:1px solid var(--layer-item-border);background:var(--input-bg,#0000001f);width:100%;color:var(--text-color);resize:vertical;border-radius:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5}.fcalc-expr:focus{border-color:var(--app-highlight);outline:none}.fcalc-sql-toggle{font:inherit;color:var(--text-color);opacity:.7;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:3px;margin-top:6px;padding:2px 4px;font-size:11.5px;display:inline-flex}.fcalc-sql-toggle:hover:not(:disabled){opacity:1;color:var(--app-highlight)}.fcalc-sql-toggle:disabled{opacity:.35;cursor:default}.fcalc-sql-toggle .material-symbols-outlined{font-size:15px}.fcalc-sql{border:1px solid var(--layer-item-border);background:var(--input-bg,#0000002e);color:var(--text-color);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:6px 0 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;overflow-x:auto}.fcalc-helpers{flex-direction:column;gap:8px;display:flex}.fcalc-ref{flex-direction:column;display:flex}.fcalc-ref-body{border:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--text-color) 3%, transparent);border-radius:8px;flex-direction:column;gap:8px;margin-top:6px;padding:10px;display:flex}.fcalc-ref-search{border:1px solid var(--layer-item-border);background:var(--input-bg,#0000001f);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;display:flex}.fcalc-ref-search .material-symbols-outlined{opacity:.6;font-size:16px}.fcalc-ref-search input{color:var(--text-color);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:12.5px}.fcalc-ref-clear{color:var(--text-color);opacity:.6;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.fcalc-ref-clear:hover{opacity:1}.fcalc-ref-clear .material-symbols-outlined{font-size:15px}.fcalc-ref-list{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow-y:auto}.fcalc-ref-group{flex-direction:column;gap:2px;display:flex}.fcalc-ref-cat{text-transform:uppercase;letter-spacing:.05em;opacity:.55;margin:4px 0 2px;font-size:10.5px}.fcalc-ref-item{text-align:left;width:100%;color:var(--text-color);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:5px;grid-template-columns:120px 1fr;grid-template-areas:"name desc""example example";align-items:baseline;gap:1px 10px;padding:5px 7px;display:grid}.fcalc-ref-item:hover{background:color-mix(in srgb, var(--app-highlight) 12%, transparent)}.fcalc-ref-name{color:var(--app-highlight);white-space:nowrap;text-overflow:ellipsis;grid-area:name;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:600;overflow:hidden}.fcalc-ref-desc{opacity:.8;grid-area:desc;font-size:11.5px}.fcalc-ref-example{opacity:.55;white-space:pre-wrap;word-break:break-word;grid-area:example;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.fcalc-ref-foot{opacity:.7;margin:0;font-size:11px;line-height:1.5}.fcalc-ref-foot code{background:color-mix(in srgb, var(--text-color) 10%, transparent);border-radius:3px;padding:0 3px;font-size:10.5px}.fcalc-help-group{flex-direction:column;gap:4px;display:flex}.fcalc-help-label{text-transform:uppercase;letter-spacing:.04em;opacity:.6;font-size:11px}.fcalc-chips{flex-wrap:wrap;gap:5px;display:flex}.fcalc-field-chip{align-items:center;gap:5px;display:inline-flex}.fcalc-field-type{text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb, var(--app-highlight) 16%, transparent);color:var(--app-highlight);opacity:.85;border-radius:3px;padding:1px 4px;font-size:9.5px}.fcalc-error{color:var(--danger,#d63838);background:color-mix(in srgb, var(--danger,#d63838) 10%, transparent);border:1px solid color-mix(in srgb, var(--danger,#d63838) 35%, transparent);border-radius:6px;align-items:flex-start;gap:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;display:flex}.fcalc-error .material-symbols-outlined{font-size:16px}.fcalc-preview{flex-direction:column;gap:6px;display:flex}.fcalc-preview-head{font-size:12px;font-weight:600}.fcalc-preview-table{border-collapse:collapse;width:100%;font-size:12px}.fcalc-preview-table th,.fcalc-preview-table td{text-align:left;border-bottom:1px solid var(--layer-item-border);text-overflow:ellipsis;white-space:nowrap;max-width:240px;padding:4px 8px;overflow:hidden}.fcalc-preview-table th{opacity:.7;font-weight:600}.fcalc-cell-before{opacity:.6}.fcalc-cell-after{color:var(--app-highlight);font-weight:600}.fcalc-note{opacity:.7;align-items:flex-start;gap:6px;margin:0;font-size:11.5px;display:flex}.fcalc-note .material-symbols-outlined{font-size:15px}.atp-select-by-attr{border-bottom:1px solid var(--layer-item-border);flex-direction:column;flex-shrink:0;gap:6px;padding:8px 10px;display:flex}.atp-sba-actions{align-items:center;gap:6px;display:flex}.atp-add-field{border-bottom:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--app-highlight) 4%, transparent);flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;display:flex}.atp-add-field-input{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;border-radius:5px;outline:none;flex:1;padding:4px 8px;font-size:13px}.atp-add-field-input:focus{border-color:var(--app-highlight)}.atp-move-to-layer{border-bottom:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--app-highlight) 4%, transparent);flex-direction:column;flex-shrink:0;gap:8px;padding:8px 10px;display:flex}.atp-move-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.atp-move-label{color:var(--text-color);min-width:84px;font-size:12px;font-weight:600}.atp-move-toggle{align-items:center;gap:6px;display:flex}.atp-move-select{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;border-radius:5px;outline:none;padding:5px 8px;font-size:13px}.atp-move-select:focus{border-color:var(--app-highlight)}.atp-move-newlayer{align-items:center;gap:6px;display:flex}.atp-move-hint{color:var(--text-muted,#8a8a8a);font-size:11px}.atp-table-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.atp-scroll{flex:1;overflow:auto}.atp-pagination{border-top:1px solid var(--layer-item-border);background:color-mix(in srgb, var(--text-color) 2%, transparent);flex-shrink:0;align-items:center;gap:12px;padding:5px 10px;font-size:12px;display:flex}.atp-page-size{opacity:.6;align-items:center;gap:5px;display:inline-flex}.atp-page-size-select{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;cursor:pointer;border-radius:5px;outline:none;padding:2px 4px;font-size:12px}.atp-page-info{opacity:.5;white-space:nowrap}.atp-page-nav{align-items:center;gap:2px;margin-left:auto;display:flex}.atp-page-current{opacity:.6;text-align:center;white-space:nowrap;min-width:52px}.atp-page-select{border:1px solid var(--layer-item-border);background:var(--layer-item-bg);color:var(--text-color);font:inherit;cursor:pointer;border-radius:5px;outline:none;margin:0 2px;padding:2px 4px;font-size:12px}.atp-page-btn{border:1px solid var(--layer-item-border);width:26px;height:26px;color:var(--text-color);opacity:.7;cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.atp-page-btn:hover:not(:disabled){opacity:1;border-color:var(--app-highlight);color:var(--app-highlight)}.atp-page-btn:disabled{opacity:.25;cursor:default}.atp-page-btn .material-symbols-outlined{font-size:18px}.atp-table{border-collapse:collapse;table-layout:auto;min-width:100%;font-size:12px}.atp-th{background:color-mix(in srgb, var(--text-color) 5%, var(--background-color));border-bottom:1px solid var(--layer-item-border);border-right:1px solid var(--layer-item-border);white-space:nowrap;z-index:2;color:var(--text-color);opacity:.8;padding:0;font-weight:600;position:sticky;top:0}.atp-th--check,.atp-th--idx{text-align:center;width:32px;min-width:32px;padding:4px}.atp-th-inner{align-items:center;display:flex;position:relative}.atp-sort-btn{font:inherit;color:var(--text-color);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:3px;width:100%;padding:5px 8px;font-size:12px;font-weight:600;display:flex}.atp-sort-btn:hover{color:var(--app-highlight)}.atp-sort-icon{font-size:13px}.atp-col-edit{border:1px solid var(--app-highlight);background:var(--layer-item-bg);color:var(--text-color);font:inherit;border-radius:3px;outline:none;width:100%;margin:2px 4px;padding:3px 5px;font-size:12px}.atp-col-menu{z-index:100;background:var(--layer-item-bg);border:1px solid var(--layer-item-border);border-radius:7px;flex-direction:column;min-width:120px;padding:4px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 6px 20px #00000059}.atp-col-menu button{width:100%;font:inherit;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;padding:7px 10px;font-size:12px;transition:background .1s;display:block}.atp-col-menu button:hover{background:color-mix(in srgb, var(--app-highlight) 10%, transparent)}.atp-col-menu button.danger{color:var(--danger,#d63838)}.atp-col-menu-note{opacity:.7;align-items:center;gap:5px;padding:7px 10px;font-size:12px;display:flex}.atp-col-menu-note .material-symbols-outlined{font-size:14px}.atp-td--managed{cursor:default;background:color-mix(in srgb, var(--text-color) 4%, transparent);opacity:.85;font-style:italic}.atp-td{border-bottom:1px solid color-mix(in srgb, var(--layer-item-border) 60%, transparent);border-right:1px solid color-mix(in srgb, var(--layer-item-border) 40%, transparent);cursor:text;white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:3px 4px;overflow:hidden}.atp-td--check,.atp-td--idx{text-align:center;cursor:default;color:var(--text-color);opacity:.4;font-size:11px}.atp-td:hover{background:color-mix(in srgb, var(--app-highlight) 6%, transparent)}.atp-row--selected td{background:color-mix(in srgb, var(--app-highlight) 12%, transparent)!important}.atp-row--focused td{transition:background 1.2s 2.8s;background:#f5a62338!important}.atp-row--focused td:first-child{box-shadow:inset 3px 0 #f5a623}.atp-cell-val{min-height:18px;padding:2px 4px;display:block}.atp-cell-edit{border:1px solid var(--app-highlight);background:var(--layer-item-bg);width:100%;color:var(--text-color);font:inherit;box-sizing:border-box;border-radius:3px;outline:none;padding:1px 4px;font-size:12px;display:block}.maplibregl-popup{z-index:150;position:fixed}#viewDiv{--dock-inset-right:56px}#viewDiv.panel-open{--dock-inset-right:calc(var(--side-panel-width,0px) + 56px)}.maplibregl-popup-content{background:var(--background-color);color:var(--text-color);border:1px solid var(--layer-item-border);border-radius:11px;min-width:220px;max-width:min(340px,92vw);padding:12px 14px;box-shadow:0 1px 2px #0003,0 8px 28px #00000047}.maplibregl-popup.popup-expanded .maplibregl-popup-content{max-width:min(480px,92vw)}.maplibregl-popup.popup-expanded .map-popup{max-height:min(60vh,520px)}.maplibregl-popup.popup-docked{max-width:none;position:fixed!important;inset:auto!important;transform:none!important}.maplibregl-popup.popup-dock-tl{top:calc(var(--header-height,78px) + 12px)!important;left:56px!important}.maplibregl-popup.popup-dock-tr{top:calc(var(--header-height,78px) + 12px)!important;right:var(--dock-inset-right,56px)!important}.maplibregl-popup.popup-dock-bl{bottom:64px!important;left:56px!important}.maplibregl-popup.popup-dock-br{bottom:64px!important;right:var(--dock-inset-right,56px)!important}.maplibregl-popup.popup-docked .maplibregl-popup-tip{display:none}.maplibregl-popup.popup-docked .maplibregl-popup-content{width:340px;min-width:0;max-width:92vw}.maplibregl-popup.popup-docked .map-popup{max-height:min(70vh,640px)}.maplibregl-popup.popup-dock-bottom{inset:auto 8px 8px!important}.maplibregl-popup.popup-dock-bottom .maplibregl-popup-content{width:auto;max-width:none}.maplibregl-popup.popup-dock-bottom .map-popup{max-height:50vh}@media (width<=600px){.maplibregl-popup-content{min-width:0;max-width:88vw}.maplibregl-popup.popup-expanded .maplibregl-popup-content{max-width:92vw}.maplibregl-popup.popup-docked{inset:auto 8px 8px!important}.maplibregl-popup.popup-docked .maplibregl-popup-content{width:auto;max-width:none}.maplibregl-popup.popup-docked .map-popup{max-height:50vh}}.maplibregl-popup-close-button{color:var(--text-color);opacity:.5;border-radius:6px;width:24px;height:24px;font-size:17px;line-height:1;transition:background .12s,opacity .12s,color .12s;top:5px;right:5px}.maplibregl-popup-close-button:hover{opacity:1;color:var(--app-highlight);background:color-mix(in srgb, var(--app-highlight) 12%, transparent)}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--background-color)}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--background-color)}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--background-color)}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--background-color)}.elc-backdrop{background:var(--background-color);color:var(--text-color);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.elc-card{text-align:center;border:1px solid var(--layer-item-border);background:var(--app-bg);border-radius:16px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:420px;padding:36px 28px 32px;display:flex;box-shadow:0 12px 40px #00000059}.elc-logo{width:56px;height:56px;margin-bottom:2px}.elc-title{letter-spacing:-.01em;font-size:20px;font-weight:800}.elc-body{opacity:.72;max-width:34ch;font-size:14px;line-height:1.6}.elc-icon{font-size:44px}.elc-icon--ok{color:var(--brand-teal)}.elc-icon--err{color:#e0683f}.elc-spinner{border:3px solid color-mix(in srgb, var(--text-color) 18%, transparent);border-top-color:var(--app-highlight);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite elc-spin}@keyframes elc-spin{to{transform:rotate(360deg)}}.elc-btn{background:var(--brand-grad);color:#fff;cursor:pointer;background-position:0%;background-size:140% 140%;border:none;border-radius:999px;align-items:center;gap:6px;margin-top:4px;padding:10px 22px;font-size:13px;font-weight:700;transition:background-position .3s,box-shadow .2s,transform .1s;display:inline-flex;box-shadow:0 6px 18px #0065dd47}.elc-btn .material-symbols-outlined{font-size:16px}.elc-btn:hover{background-position:100%;transform:translateY(-1px);box-shadow:0 8px 24px #0065dd5c}.elc-btn:active{transform:translateY(0)}
