:root{--accent-color: #4C6985;--accent-color-hover: #3d556c;--accent-color-light: #e0e7ed;--accent-color-lighter: #eef2f6;--accent-color-rgb: 76, 105, 133;--text-red-color: #ab5454;--error-color: #ef4444;--error-bg: #fee2e2;--error-color-dark: #dc2626;--border-color: #e2e8f0;--border-color-hover: #cbd5e1;--text-primary: #1e293b;--text-hover: #0b131a;--text-secondary: #334155;--text-muted: #64748b;--text-faint: #94a3b8;--bg-subtle: #f8fafc;--bg-hover: #f1f5f9}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:#f0f0f0;color:#333;overflow:hidden;height:100vh}.hidden{display:none!important}.icon-sidebar{position:fixed;top:0;left:0;width:45px;height:100vh;background:#fff;border-right:1px solid var(--border-color);z-index:60;display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px;background-color:#f8fafc}.icon-btn{width:36px;height:36px;border:none;background:transparent;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;position:relative;color:#888}.icon-btn:hover{background:#f0f0f0;color:#333}.icon-btn.active{background:var(--accent-color-lighter);color:var(--accent-color)}.icon-btn svg{width:18px;height:18px}i[data-icon]{display:contents;font-style:normal}.icon-btn[data-panel=kii] svg{width:25px;height:25px}.icon-btn[data-panel=intersections] svg{width:calc(18px * 1.05);height:calc(18px * 1.05)}.icon-btn svg,.icon-btn.brand-btn img{transition:transform .15s}.icon-btn:hover svg,.icon-btn.brand-btn:hover img{transform:scale(1.1)}.icon-btn[data-panel=kii]{color:#000}.icon-btn[data-panel=tutorial] svg{width:24px;height:24px}.icon-btn .tooltip{display:none;position:absolute;left:44px;background:#2c2c2c;color:#fff;padding:4px 8px;border-radius:3px;font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none}.icon-btn:hover .tooltip{display:block}.app-title{position:fixed;top:8px;right:8px;height:36px;display:flex;align-items:center;z-index:45;color:#4c6985;font-size:17px;font-weight:600;letter-spacing:.3px;white-space:nowrap;pointer-events:none;background-color:#f8fafce8;padding:10px}.icon-btn.brand-btn img{width:28px;height:auto;display:block}.main-layout{position:fixed;inset:0 0 0 45px;background-color:#555}.canvas-area,#map{width:100%;height:100%}#map,#map .ol-viewport,#map.is-blank-layer,#map.is-blank-layer .ol-viewport{background-color:#f8f8f8!important}.resize-handle-h{position:fixed;top:0;height:100vh;width:3px;cursor:col-resize;z-index:55;background:#cbd5e1;transition:background .15s,opacity .2s ease-out;opacity:0;pointer-events:none}.resize-handle-h.visible{opacity:1;pointer-events:auto}.resize-handle-h:hover,.resize-handle-h.active{background:var(--accent-color)}.resize-handle-h:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1px;height:24px;background:#fff;border-radius:3px;opacity:0;transition:opacity .15s}.resize-handle-h:hover:after,.resize-handle-h.active:after{opacity:1}#handleLeft{left:376px}#handleResults{left:682px}#handleProperties{right:360px}.content-panel{position:fixed;top:0;left:45px;height:100vh;width:320px;min-width:350px;max-width:600px;background:#fff;border-right:1px solid var(--border-color);box-shadow:2px 0 12px #0000000f;z-index:50;display:flex;flex-direction:column;transition:transform .25s ease-out}.content-panel.hidden{transform:translate(-110%);pointer-events:none}.results-panel{position:fixed;top:0;left:382px;height:100vh;width:315px;min-width:315px;max-width:600px;background:#fff;border-right:1px solid var(--border-color);box-shadow:2px 0 12px #0000000f;z-index:49;display:flex;flex-direction:column;transition:transform .25s ease-out}.results-panel.hidden{transform:translate(-110%);pointer-events:none}.properties-panel{position:fixed;top:0;right:0;height:100vh;width:360px;min-width:350px;max-width:600px;background:#fff;border-left:1px solid var(--border-color);box-shadow:-4px 0 16px #00000014;z-index:100;display:flex;flex-direction:column;transition:transform .25s ease-out}.properties-panel.hidden{transform:translate(100%);pointer-events:none}.panel-header{padding:12px 14px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;min-height:44px;flex-shrink:0}.panel-header h3{font-size:14px;font-weight:600;color:#333}.panel-header-actions{display:flex;align-items:center;gap:4px}.btn-icon-action{width:24px;height:24px;border:none;background:transparent;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s;padding:0}.btn-icon-action:hover{background:var(--bg-hover);color:var(--text-secondary)}.btn-icon-action svg{width:16px;height:16px}.btn-icon-action.btn-guide-link{width:auto;padding:0 5px;font-size:10px;font-weight:600;letter-spacing:.3px;text-decoration:none}.panel-header-actions .btn-icon-action.active{background:var(--accent-color-lighter);color:var(--accent-color)}.btn-export-report:disabled{opacity:.4;cursor:wait}.cross-show-geometry{width:auto;gap:4px;padding:0 4px;cursor:pointer}.cross-show-geometry .eye-slash{display:none}.cross-show-geometry.eye-hidden .eye-slash{display:block}.btn-filter-toggle.active{background:var(--accent-color-lighter);color:var(--accent-color)}.btn-filter-toggle .funnel-body{transition:fill .15s}.btn-filter-toggle.active .funnel-body{fill:currentColor}.results-filter{display:flex;align-items:center;position:relative;flex-shrink:0;padding:0 0 8px}.results-filter-input{flex:1;min-width:0;height:30px;padding:0 30px 0 10px;font-size:12px;color:var(--text-primary);background:#fff;border:1px solid var(--border-color);border-radius:4px;outline:none;transition:border-color .15s,box-shadow .15s}.results-filter-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(var(--accent-color-rgb),.12)}.results-filter-input::placeholder{color:var(--text-faint)}.results-filter-clear{position:absolute;right:13px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:3px;padding:0;cursor:pointer;color:var(--text-muted);transition:background-color .15s,color .15s}.results-filter-clear:hover{background:var(--bg-hover);color:var(--text-secondary)}.results-filter-clear svg{width:10px;height:10px}.results-filter-empty{padding:16px 12px;text-align:center;font-size:12px;font-style:italic;color:var(--text-faint)}.item-cross-layer{font-size:11px;color:var(--text-faint);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.btn-close-content:hover,.btn-close-results:hover,.btn-close-properties:hover{background:var(--error-bg);color:var(--error-color)}.panel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:12px}.properties-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--bg-subtle);flex-shrink:0;overflow-x:auto}.properties-tabs::-webkit-scrollbar{height:0}.properties-tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.properties-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.properties-tab.active{color:var(--accent-color);border-bottom-color:var(--accent-color);background:#fff}.properties-content{flex:1;min-height:0;overflow-y:auto;padding:16px}.properties-content::-webkit-scrollbar{width:6px}.properties-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.props-list{display:flex;flex-direction:column;gap:2px}.props-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.props-row:last-child{border-bottom:none}.props-label{flex:0 0 40%;color:var(--text-muted);font-size:12px;line-height:1.4}.props-value{flex:1;color:var(--text-primary);line-height:1.4;word-break:break-word}.reports-header{padding:0 0 12px;font-size:12px;color:var(--text-muted)}.reports-header strong{color:var(--text-primary);font-weight:600}.reports-accordion{display:flex;flex-direction:column;gap:8px}.reports-accordion-item{border:1px solid var(--border-color);border-radius:3px;overflow:hidden;background:#fff;transition:all .2s}.reports-accordion-item:hover{border-color:var(--border-color-hover)}.reports-accordion-header{width:100%;padding:10px 12px;background:var(--bg-subtle);border:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-red-color);transition:background .15s;text-align:left}.reports-accordion-header:hover{background:var(--bg-hover)}.reports-accordion-title{flex:1;line-height:1.4}.reports-accordion-count{background:var(--accent-color-light);color:var(--accent-color);font-size:11px;font-weight:600;padding:2px 8px;border-radius:3px;flex-shrink:0}.reports-accordion-arrow{font-size:10px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.reports-accordion-item.open .reports-accordion-arrow{transform:rotate(180deg)}.reports-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.reports-accordion-item.open .reports-accordion-content{max-height:2000px;transition:max-height .5s ease-in}.report-item{padding:12px;border-top:5px solid #f1f5f9;background:#fff}.report-item:hover{background:#f1f5f9}.report-item:first-child{border-top:none}.report-item-row{display:flex;gap:8px;margin-bottom:6px;font-size:12.5px;line-height:1.4}.report-item-row:last-child{margin-bottom:0}.report-item-label{flex:0 0 90px;color:var(--text-muted);font-weight:500}.report-item-value{flex:1;color:var(--text-primary);word-break:break-word}.report-item-meta{padding-left:98px;margin-top:-2px}.reports-meta{font-size:11.5px;color:var(--text-faint)}.reports-muted{color:var(--text-faint);font-style:italic}.reports-link{color:var(--accent-color);text-decoration:none;font-weight:500;transition:color .15s}.reports-link:hover{color:var(--accent-color-hover);text-decoration:underline}.tab-loading,.tab-empty,.tab-error{padding:24px 12px;text-align:center;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:10px}.tab-loading{color:var(--text-muted)}.tab-loading--inline{flex-direction:row;padding:10px 12px;gap:8px;font-size:12px}.tab-loading--inline .tab-spinner{width:14px;height:14px}.tab-empty{color:var(--text-faint);font-style:italic}.tab-error{color:var(--error-color-dark)}.tab-spinner,.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.legend-list{list-style:none;padding:0;margin:0}.legend-layer-group{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.legend-layer-group:last-child{border-bottom:none;margin-bottom:0}.legend-layer-header{font-size:13px;font-weight:600;color:var(--text-primary);padding:4px 12px;margin-bottom:4px}.legend-rules{display:flex;flex-direction:column;gap:2px}.legend-rule{display:flex;align-items:center;gap:8px;padding:3px 12px 3px 20px;font-size:12.5px;color:#475569;line-height:1.3}.legend-icon{width:20px;height:20px;flex-shrink:0;border-radius:3px;box-sizing:border-box}.legend-icon[style*="background-color: transparent"]{background-color:#fff!important}.legend-icon-placeholder{width:20px;height:20px;background:var(--border-color);border-radius:3px;flex-shrink:0}.legend-rule-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-error{padding:8px 12px;color:var(--error-color);font-size:12px;font-style:italic}.stats-widget{display:flex;flex-direction:column;gap:12px;padding:4px 0;height:100%;min-height:0}.stats-region-selector{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.stats-table-wrapper{flex:1;min-height:0;border:1px solid var(--border-color);border-radius:3px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.stats-table{width:100%;flex:1;min-height:0;border-collapse:collapse;font-size:13px;display:flex;flex-direction:column;table-layout:auto}.stats-table thead{flex-shrink:0;background:var(--bg-subtle);box-shadow:0 1px 0 var(--border-color)}.stats-table thead,.stats-table tbody tr,.stats-table tfoot tr{display:table;width:100%;table-layout:auto}.stats-table thead th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.stats-table thead th.stats-col-count{text-align:right;width:1%;white-space:nowrap}.stats-table tbody{flex:1;min-height:0;overflow-y:auto;display:block}.stats-table tbody td{padding:9px 12px;border-bottom:1px solid #f1f5f9;color:var(--text-secondary);vertical-align:top}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table tbody tr:hover{background:var(--bg-subtle)}.stats-cell-name{line-height:1.4;width:100%}.stats-cell-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-primary);white-space:nowrap;width:1%}.stats-table tfoot{flex-shrink:0}.stats-table tfoot tr.stats-total-row td{padding:10px 12px;background:var(--bg-subtle);border-top:2px solid var(--border-color);font-weight:600;color:#0f172a;font-size:13px}.stats-table tfoot tr.stats-total-row:first-child td{border-top:2px solid #cbd5e1}.stats-cell-center{text-align:center!important;padding:24px 12px!important}.stats-cell-center td{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;min-height:120px}.stats-muted{color:var(--text-faint)!important;font-style:italic;font-size:12.5px}.stats-error{color:var(--error-color-dark)!important;font-size:12.5px}.stats-error-icon{font-size:16px}.stats-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:stats-spin .8s linear infinite}@keyframes stats-spin{to{transform:rotate(360deg)}}.stats-table tbody::-webkit-scrollbar{width:8px}.stats-table tbody::-webkit-scrollbar-track{background:var(--bg-subtle)}.stats-table tbody::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.stats-table tbody::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.kii-panel{padding:4px 0}.kii-toggle{display:flex;align-items:center;gap:10px;margin-bottom:16px;cursor:pointer;user-select:none}.kii-toggle input{display:none}.toggle-slider{width:36px;height:20px;background:#cbd5e1;border-radius:10px;position:relative;transition:background .2s;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.kii-toggle input:checked+.toggle-slider{background:var(--accent-color)}.kii-toggle input:checked+.toggle-slider:after{transform:translate(16px)}.toggle-label{font-size:13px;font-weight:500;color:var(--text-primary)}.kii-filters{transition:opacity .2s}.form-label{display:block;font-size:12px;color:var(--text-primary);margin-bottom:4px;font-weight:500}.form-row{display:flex;gap:8px;align-items:stretch}.form-col{flex:1}.form-input{width:100%;height:32px;border:1px solid var(--border-color);border-radius:3px;padding:0 8px;font-size:12.5px;outline:none;background:#fff;transition:border-color .15s}.form-input:focus{border-color:var(--accent-color)}.form-textarea{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:3px;font-size:12.5px;resize:vertical;font-family:inherit;outline:none;transition:border-color .15s}.form-textarea:focus{border-color:var(--accent-color)}.form-range{width:100%;accent-color:var(--accent-color);cursor:pointer}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;position:relative;width:100%;height:36px;border:none;background:var(--accent-color);color:#fff;font-size:13px;font-weight:600;border-radius:3px;cursor:pointer;transition:background .15s;margin-top:8px}.btn-primary:hover{background:var(--accent-color-hover)}.btn-primary:has(.kii-loader.active){pointer-events:none;opacity:.8}.btn-full{width:100%;margin-top:8px}.input-with-prefix{position:relative;flex:1;display:flex;align-items:center}.input-prefix{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:12.5px;font-weight:500;pointer-events:none;user-select:none;z-index:2;transition:color .15s}.input-prefixed{width:100%;height:32px;padding:0 8px 0 24px;border:1px solid var(--border-color);border-radius:3px;font-size:12.5px;color:var(--text-secondary);background:#fff;box-sizing:border-box;outline:none;transition:border-color .15s,background .15s}.input-prefixed:focus{border-color:var(--accent-color);background:#fafcff}.input-prefixed::-webkit-calendar-picker-indicator{margin-left:auto;cursor:pointer;opacity:.6;transition:opacity .15s}.input-prefixed::-webkit-calendar-picker-indicator:hover{opacity:1}.input-prefixed::-moz-focus-inner{border:0;padding:0}.kii-filters[style*="pointer-events: none"] .input-prefix{color:var(--text-faint)}.kii-filters[style*="pointer-events: none"] .input-prefixed{background:var(--bg-subtle);color:var(--text-faint)}.input-with-clear{position:relative;display:flex;align-items:center}.input-with-clear .form-input{width:100%;padding:5px 28px 5px 8px;border:1px solid var(--border-color);border-radius:3px;font-size:12.5px;outline:none;transition:border-color .15s}.input-with-clear .form-input:focus{border-color:var(--accent-color)}.input-clear-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--text-faint);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;transition:all .15s}.input-clear-btn:hover{background:var(--bg-hover);color:#475569}.color-picker-row{display:flex;align-items:center;gap:8px;height:32px}.color-picker-input{width:40px;height:32px;padding:2px;border:1px solid var(--border-color);border-radius:3px;background:#fff;cursor:pointer;flex-shrink:0}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:none;border-radius:3px}.color-picker-input::-moz-color-swatch{border:none;border-radius:3px}.color-picker-value{font-family:SF Mono,Consolas,Monaco,monospace;font-size:12px;color:#475569;letter-spacing:.5px;flex:1}.header-color-picker{width:22px;height:22px;padding:0;border:1px solid var(--border-color);border-radius:4px;background:none;cursor:pointer;flex-shrink:0}.header-color-picker::-webkit-color-swatch-wrapper{padding:0}.header-color-picker::-webkit-color-swatch{border:none;border-radius:3px}.header-color-picker::-moz-color-swatch{border:none;border-radius:3px}.color-reset-btn{width:28px;height:28px;padding:0;border:1px solid var(--border-color);border-radius:3px;background:#fff;color:var(--text-muted);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.color-reset-btn:hover{background:var(--bg-hover);color:var(--text-secondary);border-color:var(--border-color-hover)}.kii-loader{display:none;width:16px;height:16px;border:2px solid rgba(var(--accent-color-rgb),.2);border-top-color:var(--accent-color);border-radius:50%;animation:kii-spin .8s linear infinite;margin-left:8px;flex-shrink:0}.kii-loader.active{display:inline-block}.kii-loader-btn{border-color:#ffffff4d;border-top-color:#fff}@keyframes kii-spin{to{transform:rotate(360deg)}}.layers-panel{display:flex;flex-direction:column;flex:1;min-height:0}.layers-controls{display:flex;flex-direction:column;margin-bottom:8px;flex-shrink:0}.layers-tree-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;border:0px solid var(--border-color);padding:4px 0;background:#fafafa}.layers-tree-container::-webkit-scrollbar{width:6px}.layers-tree-container::-webkit-scrollbar-track{background:transparent}.layers-tree-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.layers-tree-container::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.legend-scrollable{overflow-y:auto;overflow-x:hidden}.legend-scrollable::-webkit-scrollbar{width:6px}.legend-scrollable::-webkit-scrollbar-track{background:transparent}.legend-scrollable::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.legend-scrollable::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.tree-node{contain:layout style paint;content-visibility:auto;contain-intrinsic-size:auto 22px;margin-bottom:0}.tree-node-header{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:3px;min-height:26px;line-height:1.2}.tree-node-header:hover{background:var(--bg-hover)}.tree-group>.tree-node-header{cursor:pointer;user-select:none}.tree-group>.tree-node-header .group-title{font-weight:600;font-size:12.5px;color:var(--text-primary)}.group-counter{background:var(--border-color);color:#475569;font-size:9.5px;padding:0 5px;border-radius:3px;margin-left:auto;height:14px;display:inline-flex;align-items:center}.tree-leaf .tree-node-header{padding-left:2px;cursor:default}.tree-toggle{width:14px;height:14px;font-size:9px;color:var(--text-muted);cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:3px}.tree-toggle:hover{background:var(--border-color);color:var(--text-secondary)}.tree-children{margin-left:9px;border-left:2px solid var(--border-color);padding-left:2px}.tree-children.collapsed,.tree-node.tree-hidden{display:none}.tree-checkbox{position:relative;display:inline-flex;width:14px;height:14px;cursor:pointer;flex-shrink:0}.tree-checkbox input{opacity:0;width:0;height:0;position:absolute}.checkmark{position:absolute;top:0;left:0;width:14px;height:14px;background:#fff;border:1px solid #cbd5e1;border-radius:3px}.tree-checkbox input:checked~.checkmark{background:var(--accent-color);border-color:var(--accent-color)}.tree-checkbox input:checked~.checkmark:after{content:"✓";position:absolute;left:2px;top:-2px;color:#fff;font-size:12px;font-weight:700}.tree-node-title{flex:1;font-size:12.5px;color:var(--text-secondary);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node-controls{display:flex;align-items:center;gap:4px;flex-shrink:0;opacity:.4;transition:opacity .1s}.tree-node-header:hover .tree-node-controls{opacity:1}.opacity-slider{width:40px;height:2px;cursor:pointer;accent-color:var(--accent-color)}.opacity-slider:disabled{opacity:.3;cursor:not-allowed}.favorite-btn{background:transparent;border:none;cursor:pointer;font-size:14.3px;color:#94a3b8;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;line-height:1}.favorite-btn:hover{color:#ffa200;background:#f7eab4}.favorite-btn.active{color:#ffa200}.layers-tree-container .favorite-btn{font-size:16.4px;width:20.7px;height:20.7px;border-radius:3.5px}.bases-list-flat{display:flex;flex-direction:column;gap:6px}.base-item{display:flex;align-items:center;padding:8px 12px;background:transparent;border-radius:3px;cursor:pointer;transition:all .2s;gap:10px;border:1px solid var(--border-color)}.base-item:hover{background:var(--bg-hover);border-color:var(--accent-color)}.base-item.active{background:var(--bg-hover);box-shadow:0 0 0 2px rgba(var(--accent-color-rgb),.2)}.base-item-icon{width:40px;height:40px;background-color:var(--bg-subtle);background-size:cover;background-position:center;border:1px solid var(--border-color);border-radius:3px;flex-shrink:0}.base-item-name{flex:1;font-size:13px;color:var(--text-secondary);line-height:1.4}.base-item.active .base-item-name{color:#0f172a}.ss-main{width:100%;min-height:36px;border:1px solid var(--border-color);border-radius:3px;background:#fff;font-size:13px;--ss-primary-color: #4c6985ba}.ss-main .ss-single-selected{padding:6px 10px;min-height:34px}.ss-main .ss-single-selected .ss-values{color:var(--text-secondary);font-size:13px}.ss-main .ss-arrow{width:24px}.ss-main .ss-arrow path{stroke:var(--text-muted)}.ss-search input{font-size:small}.ss-content{border:1px solid var(--border-color);border-radius:3px;box-shadow:0 4px 12px #0000001a}.ss-content .ss-list .ss-option{padding:8px 12px;font-size:13px;color:var(--text-secondary);transition:background .15s}.ss-content .ss-list .ss-option:hover{background:var(--bg-hover)}.ss-content .ss-list .ss-option.ss-selected{background:var(--accent-color-light);color:var(--accent-color);font-weight:500}.stats-region-selector .ss-main:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.1)}.search-panel{display:flex;flex-direction:column;gap:16px;padding:4px 0}.toggle-switch{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.toggle-switch input{display:none}.toggle-track{width:36px;height:20px;background:#cbd5e1;border-radius:10px;position:relative;transition:background .2s;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.toggle-track{background:var(--accent-color)}.toggle-switch input:checked+.toggle-track:after{transform:translate(16px)}.toggle-label-text{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.3}.search-results-widget{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.search-section-header{display:flex;align-items:center;gap:8px;padding:0 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.search-section-title{flex:1}.search-section-count{background:var(--accent-color-light);color:var(--accent-color);font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px}.results-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding-right:4px}.search-result-item{padding:12px;border:1px solid var(--border-color);border-radius:4px;background:#fff;cursor:pointer;transition:all .15s;flex-shrink:0}.search-result-item:hover{border-color:var(--accent-color);box-shadow:0 2px 4px rgba(var(--accent-color-rgb),.1)}.search-result-item.active{border-color:var(--accent-color);background:var(--accent-color-lighter);box-shadow:0 0 0 2px rgba(var(--accent-color-rgb),.2)}.result-items{display:flex;flex-direction:column;gap:4px}.item-name{font-size:14px;font-weight:600;color:var(--text-primary)}.item-subname{font-size:12px;color:var(--text-muted);line-height:1.3}.result-actions{display:flex;gap:8px}.result-action-btn{width:28px;height:28px;border:1px solid var(--border-color);background:#fff;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s}.result-action-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.result-action-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.favorite-btn.active{color:#f59e0b!important;border-color:#fcd34d;background:#f7eab4}.favorite-btn:hover{color:#f59e0b!important}.bottom-toolbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#fff;border-radius:4px;border:1px solid var(--border-color);box-shadow:0 6px 20px #28374561,0 2px 6px #28374561;padding:4px;display:flex;align-items:center;justify-content:flex-end;gap:4px;z-index:1000}.toolbar-btn{width:36px;height:36px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:#555;position:relative}.toolbar-btn:hover{background:#f0f0f0}.toolbar-btn.active{background:var(--accent-color);color:#fff}.toolbar-btn svg{width:18px;height:18px}.toolbar-btn svg{transition:transform .15s}.toolbar-btn:not(:disabled):hover svg{transform:scale(1.1)}.toolbar-divider{width:1px;height:24px;background:#e0e0e0;margin:0 4px}.toolbar-btn .tooltip,.toolbar-color-control .tooltip{display:none;position:absolute;bottom:44px;background:#2c2c2c;color:#fff;padding:4px 8px;border-radius:3px;font-size:12px;white-space:nowrap;z-index:1010;pointer-events:none}.toolbar-btn:hover .tooltip,.toolbar-color-control:hover .tooltip{display:block}.bottom-toolbar.collapsed>*:not(.toolbar-collapse-btn){display:none}.bottom-toolbar>*{flex-shrink:0}.bottom-toolbar .toolbar-collapse-btn .icon-expand,.bottom-toolbar.collapsed .toolbar-collapse-btn .icon-collapse{display:none}.bottom-toolbar.collapsed .toolbar-collapse-btn .icon-expand{display:block}.toolbar-collapse-btn.is-blocked{cursor:not-allowed;opacity:.45}.toolbar-collapse-btn.is-blocked:hover{background:transparent}.empty-message{padding:14px;text-align:center;color:var(--text-faint);font-size:13px;font-style:italic}.loading-placeholder{padding:30px 0;text-align:center;color:var(--text-muted)}.ol-zoom{top:10px;right:10px;left:auto}.toast-container{position:fixed;left:0;bottom:132px;width:45px;z-index:10000;display:flex;flex-direction:column-reverse;align-items:center;gap:6px;pointer-events:none}.toast{position:relative;width:30px;height:30px;border:none;padding:0;border-radius:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:#64748b;box-shadow:0 2px 8px #00000040,0 0 0 1px #0000000f;pointer-events:auto;animation:toast-pop .25s ease-out;transition:transform .15s}.toast:hover{transform:scale(1.12)}.toast-info{background:#3b82f6}.toast-success{background:#10b981}.toast-warning{background:#f59e0b}.toast-error{background:#ef4444}.toast-icon{font-size:13px;font-weight:700;line-height:1;user-select:none}.toast-badge{font-size:13px;font-weight:700;line-height:1;letter-spacing:-.3px;user-select:none}.toast-badge-sm{font-size:9px;letter-spacing:-.5px}.toast-tooltip{position:absolute;left:40px;top:0;bottom:0;margin:auto 0;height:max-content;background:#2c2c2c;color:#fff;padding:5px 9px;border-radius:4px;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:normal;text-align:left;white-space:pre-line;word-break:break-word;max-width:320px;width:max-content;opacity:0;visibility:hidden;transform:translate(-4px);transition:opacity .15s,visibility .15s,transform .15s;z-index:10001;pointer-events:none;box-shadow:0 4px 12px #0003}.toast:hover .toast-tooltip{opacity:1;visibility:visible;transform:translate(0)}.toast-ring{position:absolute;top:0;left:0;width:30px;height:30px;pointer-events:none}.toast-ring circle{fill:none;stroke:#ffffffd9;stroke-width:2;stroke-dasharray:var(--ring-length);stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:center;animation:toast-ring linear forwards}.toast:hover .toast-ring circle{animation-play-state:paused}@keyframes toast-ring{to{stroke-dashoffset:var(--ring-length)}}.toast-exit{animation:toast-exit .2s ease-in forwards}@keyframes toast-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes toast-exit{to{opacity:0;transform:scale(.5)}}.layers-panel.disabled-panel{position:relative;filter:grayscale(80%) opacity(.7);pointer-events:none;user-select:none}.layers-panel.disabled-panel .disabled-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#dc2626;padding:16px 24px;border-radius:4px;width:80%;box-shadow:0 8px 24px #00000026;font-weight:600;font-size:14px;z-index:100;pointer-events:auto;display:flex;align-items:center;gap:8px}.layers-panel.disabled-panel select,.layers-panel.disabled-panel input,.layers-panel.disabled-panel button{cursor:not-allowed!important}.intersections-tab{display:flex;flex-direction:column;height:100%}.intersections-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-color);flex-shrink:0}.intersections-color-picker{flex:1;min-width:0}.intersections-color-label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.intersections-color-row{display:flex;align-items:center;gap:8px;height:32px}.btn-refresh-intersections{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);transition:all .15s;flex-shrink:0;white-space:nowrap}.btn-refresh-intersections:hover{background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.btn-refresh-intersections:disabled{opacity:.5;cursor:not-allowed}.btn-refresh-intersections svg{width:14px;height:14px}.intersections-content{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.intersections-content::-webkit-scrollbar{width:6px}.intersections-content::-webkit-scrollbar-track{background:transparent}.intersections-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.intersections-list{display:flex;flex-direction:column;gap:12px;padding:4px 0}.intersections-group{border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.intersections-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-subtle);border-bottom:1px solid var(--border-color)}.intersections-group-title{font-size:13px;font-weight:600;color:var(--text-red-color)}.intersections-group-count{background:var(--accent-color-light);color:var(--accent-color);font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.intersections-items{display:flex;flex-direction:column}.intersection-item{padding:12px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s}.intersection-item:last-child{border-bottom:none}.intersection-item:hover{background:var(--bg-hover)}.intersection-item.expanded{background:var(--accent-color-lighter);border-left:3px solid var(--accent-color);padding-left:9px}.intersection-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.intersection-item-key{font-size:13px;font-weight:600;color:var(--text-primary);font-family:SF Mono,Consolas,monospace;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.intersection-item-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.intersection-item-percent{font-size:11px;font-weight:600;color:var(--accent-color);background:var(--accent-color-light);padding:2px 8px;border-radius:10px;white-space:nowrap}.intersection-item-arrow{font-size:10px;color:var(--text-faint);transition:transform .2s;width:12px;text-align:center}.intersection-item.expanded .intersection-item-arrow{transform:rotate(0);color:var(--accent-color)}.intersection-item-address{font-size:12px;color:var(--text-muted);margin-bottom:8px;line-height:1.4}.intersection-item-meta{display:flex;gap:16px;flex-wrap:wrap}.intersection-meta-item{display:flex;gap:4px;font-size:11px}.meta-label{color:var(--text-faint)}.meta-value{color:var(--text-secondary);font-weight:500}.intersection-details{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-color);animation:details-expand .2s ease-out}@keyframes details-expand{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.intersection-details .props-list{display:flex;flex-direction:column;gap:0}.intersection-details .props-row{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid #f1f5f9;font-size:12.5px}.intersection-details .props-row:last-child{border-bottom:none}.intersection-details .props-label{flex:0 0 42%;color:var(--text-muted);font-size:11.5px;line-height:1.4;font-weight:500}.intersection-details .props-value{flex:1;color:var(--text-primary);line-height:1.4;word-break:break-word;font-size:12.5px}.intersections-panel{display:flex;flex-direction:column;gap:16px;padding:4px 0}.tool-group{padding:8px 12px;background:var(--bg-subtle);border-radius:4px;border:1px solid var(--border-color)}.polygon-skeleton{display:flex;flex-direction:column;gap:12px;margin-top:8px;padding:12px;background:#fff;border:1px dashed var(--border-color-hover);border-radius:4px;transition:all .3s ease}.polygon-skeleton.hidden{display:none}.btn-sm{height:28px;padding:0 10px;font-size:12px;margin-top:0}.skeleton-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto}.skeleton-list::-webkit-scrollbar{width:4px}.skeleton-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.polygon-group-header{display:flex;align-items:center;gap:5px;padding:6px 2px 0;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted, #94a3b8)}.polygon-group-header svg{flex-shrink:0}.polygon-group-header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:3px;cursor:pointer;transition:all .15s}.skeleton-item:hover{border-color:var(--accent-color);background:var(--bg-hover)}.skeleton-item.active{border-color:var(--accent-color);background:var(--accent-color-lighter)}.skeleton-item-color{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.skeleton-color-input{width:16px;height:16px;padding:0;border-radius:3px;border:1px solid rgba(0,0,0,.1);background:none;cursor:pointer;flex-shrink:0}.skeleton-color-input::-webkit-color-swatch-wrapper{padding:0}.skeleton-color-input::-webkit-color-swatch{border:none;border-radius:3px}.skeleton-color-input::-moz-color-swatch{border:none;border-radius:3px}.skeleton-item-name{flex:1;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton-actions{display:flex;gap:4px}.skeleton-draw-tools{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.poke-color-picker{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.results-widget .search-results-section{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.results-widget .results-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding-right:0}.results-widget .results-list::-webkit-scrollbar{width:6px}.results-widget .results-list::-webkit-scrollbar-track{background:transparent}.results-widget .results-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.results-widget .results-list::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.results-widget .search-results-section:has(>.results-list:empty){flex:0 0 auto}.results-widget-loading{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 12px;color:var(--text-faint);font-size:13px;font-style:italic}.results-widget-loading.hidden{display:none}.search-section-header{display:flex;align-items:center;gap:8px}.header-action-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:3px;color:var(--text-muted, #64748b);cursor:pointer;transition:background-color .15s ease,color .15s ease}.header-action-btn:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .06));color:var(--text-primary, #1e293b)}.header-action-btn:active{background-color:var(--active-bg, rgba(0, 0, 0, .12))}.favorites-panel{position:fixed;top:0;left:45px;height:100vh;width:320px;min-width:240px;max-width:500px;background:#fff;border-right:1px solid var(--border-color);box-shadow:2px 0 12px #0000000f;z-index:50;display:flex;flex-direction:column;transition:transform .25s ease-out}.favorites-panel.hidden{transform:translate(-110%);pointer-events:none}.favorites-panel-content{display:flex;flex-direction:column;height:100%;gap:12px}.favorites-list-container{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.favorites-list-container::-webkit-scrollbar{width:6px}.favorites-list-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.favorites-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.favorite-item{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#fff;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s}.favorite-item:hover{border-color:var(--accent-color);background:var(--bg-hover)}.favorite-item.active{border-color:var(--accent-color);background:var(--accent-color-lighter)}.favorite-item-row{display:flex;align-items:center;justify-content:space-between}.favorite-comment{width:100%;box-sizing:border-box;font-size:12px;line-height:1.4;font-family:inherit;color:#333;padding:5px 7px;border:1px solid var(--border-color);border-radius:4px;background:#fff;resize:vertical;cursor:text;transition:border-color .15s,box-shadow .15s}.favorite-comment:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #0000000a}.favorite-comment::placeholder{color:var(--text-muted)}.fav-item-actions{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.fav-action-btn{width:28px;height:28px;border:1px solid var(--border-color);background:#fff;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s;padding:0}.fav-action-btn svg{width:16px;height:16px}.fav-action-btn.btn-pin:hover{background:#e0f2fe;color:#0284c7;border-color:#7dd3fc}.fav-action-btn.btn-trash:hover{background:#fee2e2;color:#ef4444;border-color:#fca5a5}.fav-action-btn.more-trigger:hover{background:var(--accent-color-lighter);color:var(--accent-color);border-color:var(--accent-color)}.fav-action-btn.btn-pin.active{background:#e0f2fe;color:#0284c7;border-color:#7dd3fc}.fav-action-btn.btn-pin.active:hover{background:#bae6fd;color:#0369a1}.toolbar-layers-control{display:flex;align-items:center}#toolbar-layers-btn{position:relative}.toolbar-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--accent-color, #2563eb);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.toolbar-badge.hidden{display:none}.kii-state-badge{top:3px;right:3px;min-width:8px;width:8px;height:8px;padding:0;border-radius:50%;background:#1e69af}.toolbar-popovers{position:absolute;bottom:calc(100% + 8px);left:0;right:0;display:flex;flex-direction:column;gap:8px;z-index:1001;pointer-events:none}.toolbar-popovers>*{pointer-events:auto;box-shadow:0 6px 20px #28374561,0 2px 6px #28374561}.active-layers-popover{display:none;max-height:360px;background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;overflow:hidden;flex-direction:column}.active-layers-popover.open{display:flex}.active-layers-popover-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--text-muted, #64748b);border-bottom:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-subtle, #f8fafc)}.active-layers-popover-title{font-size:12.5px;font-weight:600;color:var(--text-muted, #64748b);white-space:nowrap}.active-layers-popover-actions{display:flex;align-items:center;gap:10px}.al-popover-select{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:none;cursor:pointer;color:var(--accent-color, #2563eb);transition:background-color .15s ease,color .15s ease}.al-popover-select svg{width:14px;height:14px}.al-popover-select:hover{background-color:var(--bg-accent-hover, rgba(37, 99, 235, .12));color:var(--accent-color-hover, #1d4ed8)}.al-popover-select:focus-visible{outline:2px solid var(--accent-color, #2563eb);outline-offset:1px}.al-popover-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:none;cursor:pointer;font-size:13px;line-height:1;color:var(--text-muted, #64748b);transition:background-color .15s ease,color .15s ease}.al-popover-close:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-color, #334155)}.al-popover-close:focus-visible{outline:2px solid var(--accent-color, #2563eb);outline-offset:1px}.active-layers-popover-list{overflow-y:auto;padding:4px 0;max-height:320px}.al-popover-item{display:flex;align-items:center;gap:8px;padding:4px 12px}.al-popover-item .al-title{flex:1;font-size:12.5px;color:var(--text-color, #334155);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-popover-item .opacity-slider{width:70px;flex-shrink:0}.al-drag-handle{display:flex;align-items:center;flex-shrink:0;color:var(--text-faint, #94a3b8);cursor:grab}.al-drag-handle:hover{color:var(--text-color, #334155)}.al-popover-item:has(.al-drag-handle:hover){background:var(--bg-hover)}.al-popover-item.dragging{opacity:.5;box-shadow:0 4px 12px #00000040}.active-layers-popover-empty{padding:18px 12px;text-align:center;color:var(--text-faint, #94a3b8);font-size:12.5px;font-style:italic}.ruler-tooltip{pointer-events:none;background:#1c1c20eb;color:#fff;border-radius:4px;padding:4px 8px;font-size:12px;line-height:1.35;white-space:nowrap;box-shadow:0 2px 8px #0000004d}.ruler-tooltip-km{font-weight:700}.ruler-tooltip-m{font-size:11px;opacity:.85}.toolbar-opacity-control{display:flex;align-items:center;gap:8px;padding:0 8px;height:36px}.toolbar-opacity-slider{width:100px;height:4px;cursor:pointer;accent-color:var(--accent-color);background:#e0e0e0;border-radius:2px;outline:none;-webkit-appearance:none;appearance:none}.toolbar-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent-color);border-radius:50%;cursor:pointer;transition:transform .15s}.toolbar-opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.toolbar-opacity-slider::-moz-range-thumb{width:14px;height:14px;background:var(--accent-color);border-radius:50%;cursor:pointer;border:none;transition:transform .15s}.toolbar-opacity-slider::-moz-range-thumb:hover{transform:scale(1.2)}.toolbar-color-control{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px}.toolbar-color-control:hover{background:#f0f0f0}.toolbar-draw-color{width:22px;height:22px;padding:0;border:2px solid #fff;border-radius:11px;background:none;cursor:pointer;box-shadow:0 0 0 1px var(--border-color);transition:transform .15s}.toolbar-draw-color:hover{transform:scale(1.1)}.toolbar-draw-color::-webkit-color-swatch-wrapper{padding:0}.toolbar-draw-color::-webkit-color-swatch{border:none;border-radius:9px}.toolbar-draw-color::-moz-color-swatch{border:none;border-radius:9px}.toolbar-geocoder-control{display:flex;align-items:center;gap:2px}.geocoder-input{width:220px;height:32px;padding:0 26px 0 10px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;font-size:13px;color:var(--text-color, #334155);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.geocoder-input:focus{border-color:var(--accent-color, #2563eb);box-shadow:0 0 0 2px #2563eb26}.geocoder-input::placeholder{color:var(--text-faint, #94a3b8)}.geocoder-input-wrap{position:relative;display:flex;align-items:center}.geocoder-clear{display:none;position:absolute;right:5px;width:18px;height:18px;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:none;cursor:pointer;color:var(--text-faint, #94a3b8);transition:background-color .15s,color .15s}.geocoder-input:not(:placeholder-shown)+.geocoder-clear{display:flex}.geocoder-clear:hover{background:var(--bg-hover, #e2e8f0);color:var(--text-color, #334155)}#toolbar-geocoder-btn{position:relative}#toolbar-geocoder-btn .geocoder-loader{display:none}#toolbar-geocoder-btn.loading svg{display:none}#toolbar-geocoder-btn.loading .geocoder-loader{display:block;width:14px;height:14px;border:2px solid rgba(37,99,235,.25);border-top-color:var(--accent-color, #2563eb);border-radius:50%;animation:geocoder-spin .7s linear infinite}@keyframes geocoder-spin{to{transform:rotate(360deg)}}#toolbar-geocoder-btn:disabled{cursor:default;opacity:.9}.geocoder-popover{display:none;max-height:380px;background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;overflow:hidden;flex-direction:column}.geocoder-popover.open{display:flex}.geocoder-popover-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-subtle, #f8fafc)}.geocoder-popover-title{font-size:12.5px;font-weight:600;color:var(--text-muted, #64748b);white-space:nowrap}.geocoder-popover-count{margin-left:auto;font-size:11px;font-weight:600;color:var(--text-faint, #94a3b8);font-family:SF Mono,Consolas,Monaco,monospace}.geocoder-popover-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:none;cursor:pointer;font-size:13px;line-height:1;color:var(--text-muted, #64748b);transition:background-color .15s ease,color .15s ease}.geocoder-popover-close:hover{background-color:var(--bg-hover, #e2e8f0);color:var(--text-color, #334155)}.geocoder-popover-filter{padding:8px 12px 4px}.geocoder-filter-input{width:100%;height:28px;padding:0 8px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;font-size:12px;color:var(--text-color, #334155);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.geocoder-filter-input:focus{border-color:var(--accent-color, #2563eb);box-shadow:0 0 0 2px #2563eb1f}.geocoder-filter-input::placeholder{color:var(--text-faint, #94a3b8)}.geocoder-popover-list{overflow-y:auto;padding:4px 0;max-height:300px}.geocoder-item{display:flex;align-items:flex-start;gap:10px;padding:7px 12px;cursor:pointer;transition:background-color .12s ease}.geocoder-item:hover,.geocoder-item.active{background:var(--bg-subtle, #f8fafc)}.geocoder-item.active{background:#2563eb14}.geocoder-item-icon{flex-shrink:0;width:15px;height:15px;margin-top:1px;color:var(--accent-color, #2563eb)}.geocoder-item-body{flex:1;min-width:0}.geocoder-item-title{font-size:12.5px;line-height:1.35;color:var(--text-color, #334155);word-break:break-word}.geocoder-item-subtitle{margin-top:2px;font-size:11.5px;color:var(--text-faint, #94a3b8);word-break:break-word}.geocoder-popover-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 12px;color:var(--text-faint, #94a3b8);font-size:12.5px}.geocoder-popover-loading.hidden{display:none}.geocoder-spinner{width:14px;height:14px;border:2px solid rgba(37,99,235,.25);border-top-color:var(--accent-color, #2563eb);border-radius:50%;animation:geocoder-spin .7s linear infinite}.geocoder-popover-empty{padding:18px 12px;text-align:center;color:var(--text-faint, #94a3b8);font-size:12.5px;font-style:italic}.geocoder-popover-empty.hidden{display:none}.polygon-tool-ui{display:flex;flex-direction:column;gap:12px;margin-top:8px}.draw-buttons-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.btn-draw-type{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s;color:var(--text-secondary);font-size:11px;font-weight:500}.btn-draw-type:hover{background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color)}.btn-draw-type svg{stroke:currentColor}.polygon-list-section{display:flex;flex-direction:column;gap:6px}.skeleton-actions{display:flex;gap:2px;align-items:center}.btn-icon-action{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;color:var(--text-muted);transition:all .15s ease}.btn-icon-action:hover{background:var(--bg-hover);border-color:var(--border-color);color:var(--accent-color)}.btn-icon-action:active{background:var(--accent-color-lighter)}.btn-icon-action svg{display:block}.btn-open-results .icon-legend,.btn-open-results[data-widget=legend] .icon-list{display:none}.btn-open-results[data-widget=legend] .icon-legend{display:block}.btn-icon-action[data-action=intersect]{color:var(--accent-color)}.btn-icon-action[data-action=intersect]:hover{background:var(--accent-color-lighter);border-color:var(--accent-color);color:var(--accent-color-hover)}.btn-icon-action[data-action=delete]:hover,#btn-clear-all-polygons:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.more-menu{position:fixed;z-index:1200;display:flex;flex-direction:row;gap:2px;padding:4px;background:var(--bg-panel, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0003}.more-trigger.active{background:var(--bg-hover);border-color:var(--border-color);color:var(--accent-color)}.coords-input-section{margin-top:12px;display:flex;flex-direction:column;gap:10px}.coords-input-card{margin-top:0;padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--panel-card-bg, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:4px}.coords-input-card .form-group{margin:0}.kii-filters .form-group{margin-top:10px}.coords-input-card .form-label{display:block;margin-bottom:6px;font-size:12px;color:var(--text-muted, #64748b)}.coords-input-card .ss-main{width:100%;font-size:13px}.coords-textarea{width:100%;min-height:60px;resize:vertical;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;color:var(--text-color, #1e293b);background:#fff;border:1px solid var(--border-color, #d1d5db);border-radius:4px}.coords-textarea:focus{outline:none;border-color:var(--accent-color, #1e69af);box-shadow:0 0 0 2px #1e69af33}.coords-input-card .btn-full{margin-top:2px}.coords-actions-row{display:flex;gap:8px}.coords-actions-row .btn-full{flex:1;margin-top:0}.corridor-width-input{max-width:140px}.corridor-width-input.invalid{border-color:#dc2626;box-shadow:0 0 0 2px #dc262626}.corridor-width-hint{display:block;margin-top:6px;font-size:11.5px;line-height:1.45;color:var(--text-muted, #64748b)}.results-widget{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;gap:8px}.search-favorites-section,.search-results-section{display:flex;flex-direction:column;gap:8px}.search-favorites-section{flex-shrink:0;margin-bottom:12px;padding-bottom:12px;border-bottom:1px dashed #cbd5e1}.search-results-section{flex:1;min-height:0;display:flex;flex-direction:column}.search-section-header{display:flex;align-items:center;gap:8px;padding:0 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);flex-shrink:0}.search-section-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-section-count{background:var(--accent-color-light);color:var(--accent-color);font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;flex-shrink:0}.header-action-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:3px;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.header-action-btn:hover{background-color:#0000000f;color:var(--text-primary)}.header-action-btn:active{background-color:#0000001f}.results-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px;padding-right:4px}.results-list::-webkit-scrollbar{width:6px}.results-list::-webkit-scrollbar-track{background:transparent}.results-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.results-list::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.search-result-item{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-color);border-radius:3px;background:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0}.search-result-item:hover{border-color:var(--accent-color);background-color:var(--bg-hover);box-shadow:0 2px 4px rgba(var(--accent-color-rgb),.1)}.search-result-item.active{border-color:var(--accent-color);background-color:var(--accent-color-lighter);box-shadow:0 0 0 2px rgba(var(--accent-color-rgb),.2)}.search-result-item.favorite{background:#fffbeb;border-color:#fcd34d}.search-result-item.favorite:hover{border-color:#f59e0b;box-shadow:0 2px 4px #f59e0b26}.favorite-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#b45309;background:#fef3c7;padding:2px 8px;border-radius:10px;margin-bottom:6px;letter-spacing:.3px}.result-items{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}.item-name{font-weight:600;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.item-subname{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.result-actions{flex-shrink:0;display:flex;align-items:center;gap:4px}.result-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color);border-radius:3px;background:#fff;cursor:pointer;color:var(--text-muted);transition:all .15s ease;padding:0;flex-shrink:0}.result-action-btn:hover{background-color:var(--bg-hover);color:var(--text-secondary);border-color:var(--border-color-hover)}.result-action-btn svg{width:16px;height:16px}.result-action-btn.favorite-btn.active{color:#f59e0b;border-color:#fcd34d;background:#fffbeb}.result-action-btn.favorite-btn.active:hover{color:#d97706;background:#fef3c7}.result-action-btn.zoom-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background:var(--accent-color-lighter)}.results-widget .btn-secondary{flex-shrink:0;margin-top:8px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;height:32px;border:1px solid var(--accent-color);background:#fff;color:var(--accent-color);font-size:13px;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s;margin-top:8px;flex-shrink:0}.btn-secondary:hover{background:var(--accent-color-lighter)}.results-widget .empty-message{flex-shrink:0;padding:24px;text-align:center;color:var(--text-faint);font-size:13px;font-style:italic}.intersections-stub{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color)}#resultsPanelBody{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.search-results-group{margin-bottom:12px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;overflow:hidden;background:var(--bg-panel, #fff)}.search-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-subtle, #f8fafc);border-bottom:1px solid var(--border-color, #e2e8f0);font-size:12px;font-weight:600;color:var(--text-secondary, #475569);text-transform:uppercase;letter-spacing:.3px}.search-group-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.search-group-count{background:var(--accent-color-light, #e0e7ed);color:var(--accent-color, #4C6985);font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;flex-shrink:0}.search-group-items .search-result-item{border:none;border-bottom:1px solid var(--border-color, #f1f5f9);border-radius:0;margin:0}.search-group-items .search-result-item:last-child{border-bottom:none}.active-layers-block{margin-bottom:8px;background:var(--panel-background, #ffffff)}.active-layers-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-subtle)}.active-layers-title{font-size:12.5px;font-weight:600;color:var(--text-red-color, #64748b)}.active-layers-list{overflow-y:auto;padding:4px 0}.active-layer-item{margin:0}.layer-search-block .active-layers-header{padding:6px 8px;border-bottom:none}.layer-search-block .active-layers-list,.layer-search-block .layer-search-controls{max-height:none;overflow:visible;padding:0;display:flex;flex-direction:column;gap:0}.layer-search-block #categorySelect{width:100%;margin:0;border:0;border-bottom:0;box-shadow:none;outline:none}.layer-search-block .ss-main{width:100%;margin:0;border-radius:0;border-left:0;border-right:0;border-top:0;border-bottom:0;box-shadow:none}.layer-search-block .ss-main:focus-within{box-shadow:none}.layer-search-block .active-layers-list{margin-bottom:8px}.layer-search-block .input-with-clear{margin:0 0 10px}.layer-search-block .input-with-clear .form-input{width:100%;margin:0;border-radius:0;box-shadow:none}.layer-search-block .input-with-clear .form-input:focus{border-color:var(--accent-color);box-shadow:none}.layer-search-block .layers-tree-container{padding:0}.layer-search-block .input-clear-btn{right:4px}.panel-body:has(#layersPanelWrapper){display:block;overflow-y:auto;overflow-x:hidden}.panel-body:has(#layersPanelWrapper)::-webkit-scrollbar{width:6px}.panel-body:has(#layersPanelWrapper)::-webkit-scrollbar-track{background:transparent}.panel-body:has(#layersPanelWrapper)::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.panel-body:has(#layersPanelWrapper)::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.panel-body:has(#layersPanelWrapper) .layers-panel{height:auto;min-height:100%;flex:none}.panel-body:has(#layersPanelWrapper) .layers-controls{flex-shrink:0;min-height:0}.panel-body:has(#layersPanelWrapper) .layer-search-block{display:flex;flex-direction:column;min-height:0}.panel-body:has(#layersPanelWrapper) .layer-search-block .layers-tree-container{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}.panel-body:has(.intersections-panel){display:block;overflow-y:auto;overflow-x:hidden}.panel-body:has(.intersections-panel)::-webkit-scrollbar{width:6px}.panel-body:has(.intersections-panel)::-webkit-scrollbar-track{background:transparent}.panel-body:has(.intersections-panel)::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.panel-body:has(.intersections-panel)::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.panel-body:has(.intersections-panel) .intersections-panel{height:auto;min-height:100%;flex:none}.result-layer-title{display:block;font-size:11px;font-weight:500;color:var(--accent-color, #4C6985);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;letter-spacing:.2px}.search-result-item.active .result-layer-title{color:var(--accent-color-hover, #3d556c)}#map-busy-cursor{position:fixed;top:0;left:0;z-index:1200;pointer-events:none;display:none}#map-busy-cursor.visible{display:block}.map-busy-spinner{display:block;width:18px;height:18px;border:2px solid rgba(37,99,235,.25);border-top-color:var(--accent-color, #2563eb);border-radius:50%;transform:translate(-50%,-50%);animation:map-busy-spin .8s linear infinite}@keyframes map-busy-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.toolbar-cross-control{display:flex;align-items:center}.cross-draw-popover{display:none;background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;overflow:hidden}.cross-draw-popover.open{display:grid;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);width:50%}.cross-draw-popover.open.with-mode{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.cross-draw-popover-header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color, #e2e8f0);background-color:var(--bg-subtle, #f8fafc)}.cross-draw-popover-title{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:600;color:var(--text-muted, #64748b);white-space:nowrap}#crossDrawIntersectionsBtn{width:auto;gap:5px;padding:0 6px}.cross-draw-modes{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr;align-content:start;gap:6px;padding:8px}.cross-draw-mode-btn{min-width:0;display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;background:#fff;cursor:pointer;font-size:12.5px;color:var(--text-color, #1e293b);transition:background .12s,border-color .12s;text-align:left}.cross-draw-mode-btn svg{width:16px;height:16px;flex:0 0 auto}.cross-draw-mode-label{min-width:0}.cross-draw-mode-btn:hover{background:var(--bg-subtle, #f8fafc)}.cross-draw-mode-btn.active{background:var(--accent-soft, #eef2ff);border-color:var(--accent-color, #2563eb);color:var(--accent-color, #2563eb);font-weight:600}.cross-draw-mode-slot{grid-column:2;grid-row:2;display:flex;flex-direction:column;padding:8px;border-left:1px dashed var(--border-color, #e2e8f0)}.cross-draw-mode-slot.hidden{display:none}.pdf-import-card{gap:8px;flex:1}.pdf-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:3px;padding:16px 10px;border:1.5px dashed var(--border-color-hover, #94a3b8);border-radius:4px;background:var(--bg-subtle, #f8fafc);color:var(--text-secondary, #64748b);text-align:center;cursor:pointer;user-select:none;transition:border-color .15s,background-color .15s,color .15s}.pdf-drop-zone:hover,.pdf-drop-zone:focus-visible,.pdf-drop-zone.dragover{border-color:var(--accent-color, #1e69af);background:var(--accent-color-lighter, #eaf2fb);color:var(--accent-color, #1e69af);outline:none}.pdf-drop-zone .pdf-drop-title{font-size:12.5px;font-weight:600}.pdf-drop-zone .pdf-drop-hint{font-size:11.5px;opacity:.85}.pdf-drop-zone .pdf-drop-icon{margin-bottom:2px}.pdf-drop-zone .kii-loader,.pdf-drop-zone .pdf-drop-status{display:none}.pdf-drop-zone.is-loading{cursor:wait;pointer-events:none}.pdf-drop-zone.is-loading .pdf-drop-icon,.pdf-drop-zone.is-loading .pdf-drop-title,.pdf-drop-zone.is-loading .pdf-drop-hint{display:none}.pdf-drop-zone.is-loading .kii-loader{display:inline-block;margin:0 0 4px}.pdf-drop-zone.is-loading .pdf-drop-status{display:block;font-size:11.5px}.cross-draw-popover.is-busy{pointer-events:none;cursor:wait;filter:grayscale(1);opacity:.65}.coords-name-input{width:100%;padding:6px 8px;font-size:13px;color:var(--text-secondary, #475569);background:#fff;border:1px solid var(--border-color, #e2e8f0);border-radius:3px;box-sizing:border-box;font-family:inherit}.coords-name-input:focus{outline:none;border-color:var(--accent-color, #1e69af)}.polygon-item-wrap{min-width:0}.polygon-details{margin:6px 0 10px;padding:10px 12px;border:1px solid var(--border-color, #e2e8f0);border-radius:3px;background:var(--bg-subtle, #f8fafc);display:flex;flex-direction:column;gap:8px}.polygon-details .form-group{margin:0}.polygon-details .form-label{margin-bottom:4px}.polygon-details .coords-textarea{min-height:90px}.polygon-details .ss-main{width:100%;font-size:13px}.polygon-details-actions{display:flex;gap:8px;margin-top:10px}.polygon-details-actions .btn-secondary{flex:1;margin-top:0;gap:6px}.polygon-apply-btn:hover{border-color:var(--accent-color)}.polygon-apply-btn:disabled{opacity:.6;cursor:wait}.polygon-apply-btn .kii-loader{margin-left:0;width:12px;height:12px;border-width:2px}.btn-icon-action[data-action=details].active{color:var(--accent-color, #1e69af);background:var(--accent-color-lighter, #eaf2fb)}.report-overlay{display:none;position:fixed;inset:0;z-index:10000;background:#ffffffbf;align-items:center;justify-content:center;cursor:wait}.report-overlay.visible{display:flex}.report-overlay-card{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:260px;max-width:340px;padding:24px 32px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f}.report-overlay-spinner{width:22px;height:22px;border:3px solid #e2e8f0;border-top-color:var(--accent-color, #1e69af);border-radius:50%;animation:report-overlay-spin .8s linear infinite}@keyframes report-overlay-spin{to{transform:rotate(360deg)}}.report-overlay-text{font-size:14px;font-weight:500;color:var(--text-primary, #0f172a);text-align:center}.report-overlay-progress{width:100%;height:4px;background:var(--bg-subtle, #f1f5f9);border-radius:2px;overflow:hidden}.report-overlay-bar{height:100%;width:0%;background:var(--accent-color, #1e69af);border-radius:2px;transition:width .2s ease}.confirm-popover{position:fixed;z-index:1200;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg-panel, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;box-shadow:0 4px 12px #0003}.confirm-popover-text{font-size:12.5px;color:var(--text-primary, #0f172a);white-space:nowrap}.confirm-popover-actions{display:flex;justify-content:flex-end;gap:6px}.confirm-popover-btn{padding:3px 14px;font-size:12px;font-weight:600;border-radius:4px;border:1px solid var(--border-color, #e2e8f0);background:#fff;color:var(--text-primary, #0f172a);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.confirm-popover-btn:hover{background:var(--bg-hover, #f1f5f9)}.confirm-popover-btn.yes{border-color:#fca5a5;color:#dc2626}.confirm-popover-btn.yes:hover{background:#fee2e2;border-color:#ef4444}.tutorial-overlay{position:fixed;inset:0;z-index:9400;pointer-events:none;opacity:0;transition:opacity .22s ease}.tutorial-overlay.visible{opacity:1}.tutorial-blocker{position:absolute;background:#0f172a8c;pointer-events:auto;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease}.tutorial-spotlight-ring{position:absolute;border:2px solid rgba(255,255,255,.9);border-radius:8px;box-shadow:0 0 0 4px #4c698559;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease}.tutorial-overlay.fullscreen .tutorial-spotlight-ring{display:none}.tutorial-pointer{position:fixed;left:0;top:0;width:36px;height:36px;border:3px solid var(--accent-color);border-radius:50%;background:#ffffff59;box-shadow:0 0 0 3px #ffffff8c;z-index:9600;pointer-events:none;display:flex;align-items:center;justify-content:center}.tutorial-pointer.hidden{display:none}.tutorial-pointer.animated{transition:transform .5s cubic-bezier(.4,0,.2,1)}.tutorial-pointer-core{width:6px;height:6px;border-radius:50%;background:var(--accent-color);animation:tutorial-pointer-pulse 1.4s ease-in-out infinite}@keyframes tutorial-pointer-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.8);opacity:.6}}.tutorial-pointer.clicking:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid var(--accent-color);animation:tutorial-pointer-click .45s ease-out forwards}@keyframes tutorial-pointer-click{0%{transform:scale(1);opacity:.9}to{transform:scale(2.1);opacity:0}}.tutorial-tooltip{position:fixed;z-index:9500;width:340px;max-width:calc(100vw - 16px);background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 28px #0f172a40;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:left .25s ease-out,top .25s ease-out}.tutorial-tooltip.hidden{display:none}.tutorial-tooltip-header{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.tutorial-tooltip-step{font-weight:600;letter-spacing:.02em}.tutorial-tooltip-mode{padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;background:var(--accent-color-lighter);color:var(--accent-color)}.tutorial-tooltip-mode[data-mode=practice]{background:#ecfdf5;color:#047857}.tutorial-tooltip-close{margin-left:auto;border:none;background:transparent;cursor:pointer;color:var(--text-faint);font-size:13px;line-height:1;padding:2px 4px;border-radius:4px}.tutorial-tooltip-close:hover{color:var(--text-primary);background:var(--bg-hover)}.tutorial-tooltip-title{font-size:14px;font-weight:600;color:var(--text-primary)}.tutorial-tooltip-text{font-size:12.5px;line-height:1.5;color:var(--text-secondary);white-space:pre-line}.tutorial-tooltip-ready{align-self:flex-start;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#ecfdf5;color:#047857}.tutorial-tooltip-actions{display:flex;align-items:center;gap:6px;margin-top:2px}.tutorial-tooltip-spacer{flex:1}.tutorial-btn{border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);font-size:12px;padding:5px 10px;border-radius:6px;cursor:pointer;transition:all .15s}.tutorial-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.tutorial-btn:disabled{opacity:.45;cursor:not-allowed}.tutorial-btn-primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.tutorial-btn-primary:hover:not(:disabled){background:var(--accent-color-hover);color:#fff}.tutorial-firstrun-card{position:fixed;z-index:9550;width:300px;max-width:calc(100vw - 80px);background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 28px #0f172a40;padding:12px 14px;display:flex;flex-direction:column;gap:8px;animation:tutorial-firstrun-card-in .25s ease-out}@keyframes tutorial-firstrun-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tutorial-firstrun-card-title{font-size:14px;font-weight:600;color:var(--text-primary)}.tutorial-firstrun-card-text{font-size:12.5px;line-height:1.5;color:var(--text-secondary)}.tutorial-firstrun-trail{position:fixed;z-index:9450;display:flex;align-items:center;transform-origin:0 50%;pointer-events:none;animation:tutorial-firstrun-trail-in .25s ease-out}@keyframes tutorial-firstrun-trail-in{0%{opacity:0}to{opacity:1}}.tutorial-firstrun-dot{flex:none;border-radius:50%;background:#fff;box-shadow:0 0 14px #ffffff73;opacity:.5;animation:tutorial-firstrun-dot-pulse 1.6s ease-in-out infinite}.tutorial-firstrun-dot:nth-child(1){opacity:.95}.tutorial-firstrun-dot:nth-child(2){opacity:.84;animation-delay:.1s}.tutorial-firstrun-dot:nth-child(3){opacity:.73;animation-delay:.2s}.tutorial-firstrun-dot:nth-child(4){opacity:.61;animation-delay:.3s}.tutorial-firstrun-dot:nth-child(5){opacity:.5;animation-delay:.4s}@keyframes tutorial-firstrun-dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.tutorial-tooltip.shake{animation:tutorial-shake .35s ease}@keyframes tutorial-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.tutorial-timeline{position:relative;height:18px;margin:2px 0}.tutorial-timeline-rail{position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);background:var(--bg-hover);border-radius:2px}.tutorial-timeline-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent-color);border-radius:2px}.tutorial-timeline-tick{position:absolute;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--accent-color);background:#fff;cursor:pointer;padding:0;z-index:2;transition:transform .15s}.tutorial-timeline-tick:hover{transform:translate(-50%,-50%) scale(1.3)}.tutorial-timeline-thumb{position:absolute;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--accent-color);background:var(--accent-color);box-shadow:0 1px 4px #0f172a59;cursor:grab;z-index:3;touch-action:none}.tutorial-timeline-thumb.dragging{cursor:grabbing}.tutorial-timeline-thumb:focus-visible{outline:2px solid var(--accent-color-light);outline-offset:2px}.tutorial-panel{display:flex;flex-direction:column;gap:8px;padding:2px}.tutorial-panel-subtitle{font-size:11.5px;line-height:1.45;color:var(--text-muted)}.tutorial-panel-list{display:flex;flex-direction:column;gap:6px}.tutorial-panel-card{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:1px solid var(--border-color);background:var(--bg-subtle);border-radius:8px;padding:9px 10px;cursor:pointer;transition:all .15s;font:inherit}.tutorial-panel-card:hover:not(:disabled){border-color:var(--accent-color);background:var(--accent-color-lighter)}.tutorial-panel-card:disabled{opacity:.6;cursor:not-allowed}.tutorial-panel-card-icon{flex:0 0 auto;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--accent-color);color:#fff}.tutorial-panel-card-icon svg{width:16px;height:16px}.tutorial-panel-card-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.tutorial-panel-card-title{font-size:12.5px;font-weight:600;color:var(--text-primary)}.tutorial-panel-card-desc{font-size:11px;line-height:1.4;color:var(--text-muted)}.tutorial-panel-card-note{font-size:10.5px;color:var(--text-red-color)}.tutorial-panel-card-state{flex:0 0 auto;align-self:center;font-size:10.5px;font-weight:600;color:var(--accent-color);padding:2px 8px;border-radius:10px;background:var(--accent-color-lighter)}.tutorial-panel-card-state.done{background:#ecfdf5;color:#047857}.cross-area-overlay,.result-object-overlay{z-index:1100}.cross-area-panel,.result-object-panel{position:relative;isolation:isolate;display:flex;gap:2px;align-items:center;padding:4px;background:#fff;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 16px #00000029}.result-object-panel.is-pin{background:#fffbeb;border-color:#f59e0b}.cross-area-panel:after,.result-object-panel:after{content:"";position:absolute;z-index:-1;inset:-6px}.cross-area-panel .btn-icon-action,.result-object-panel .btn-icon-action{width:28px;height:28px;color:var(--text-secondary)}.cross-area-panel .btn-icon-action.active,.result-object-panel .btn-icon-action.active{color:var(--accent-color);background:var(--accent-color-lighter);border-color:var(--accent-color)}:root{--ss-primary-color: #5897fb;--ss-bg-color: #ffffff;--ss-font-color: #4d4d4d;--ss-font-placeholder-color: #8d8d8d;--ss-disabled-color: #dcdee2;--ss-border-color: #dcdee2;--ss-highlight-color: #fffb8c;--ss-success-color: #00b755;--ss-error-color: #dc3545;--ss-focus-color: #5897fb;--ss-main-height: 30px;--ss-content-height: 300px;--ss-spacing-l: 7px;--ss-spacing-m: 5px;--ss-spacing-s: 3px;--ss-animation-timing: .2s;--ss-border-radius: 4px}@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.ss-hide{display:none!important}.ss-main{display:flex;flex-direction:row;position:relative;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;box-sizing:border-box;transition:background-color var(--ss-animation-timing);overflow:hidden}.ss-main:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-main.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0;border-top-right-radius:0}.ss-main.ss-open-below{border-bottom-left-radius:0;border-bottom-right-radius:0}.ss-main .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%}.ss-main .ss-values .ss-placeholder{display:flex;padding:var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);margin:auto 0;line-height:1em;align-items:center;width:100%;color:var(--ss-font-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-main .ss-values .ss-max{display:flex;user-select:none;align-items:center;width:fit-content;font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m);background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius)}.ss-main .ss-values .ss-single{display:flex;margin:auto 0px auto var(--ss-spacing-s)}.ss-main .ss-values .ss-value{display:flex;user-select:none;align-items:center;width:fit-content;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out;animation-fill-mode:both}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value .ss-value-text{font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m)}.ss-main .ss-values .ss-value .ss-value-delete{display:flex;align-items:center;height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s) var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color);box-sizing:content-box}.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-deselect{flex:0 1 auto;display:flex;align-items:center;justify-content:center;width:fit-content;height:auto;padding:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}.ss-main .ss-deselect svg{width:8px;height:8px}.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-arrow{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content{position:absolute;display:flex;height:auto;flex-direction:column;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform:scaleY(0);transform-origin:center top;overflow:hidden;z-index:10000}.ss-content.ss-relative{position:relative;height:100%}.ss-content.ss-fixed{position:fixed}.ss-content.ss-open-above{flex-direction:column-reverse;opacity:1;transform:scaleY(1);transform-origin:center bottom;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius)}.ss-content.ss-open-below{opacity:1;transform:scaleY(1);transform-origin:center top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius)}.ss-content .ss-search{flex:0 1 auto;display:flex;flex-direction:row;padding:var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;padding:var(--ss-spacing-m) var(--ss-spacing-l);margin:0;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;text-align:left;box-sizing:border-box}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px var(--ss-focus-color)}.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;flex:0 0 auto;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius)}.ss-content .ss-search .ss-addable svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list{flex:1 1 auto;height:auto;overflow-x:hidden;overflow-y:auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup.ss-close .ss-option{display:none!important}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{flex:1 1 auto;font-weight:700;color:var(--ss-font-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ss-spacing-m)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{flex:0 0 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{flex:0 1 auto;display:flex;align-items:center;justify-content:center;font-size:60%;text-align:center;padding:0 var(--ss-spacing-s) 0 0}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{flex:0 1 auto;width:13px;height:13px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{flex:0 1 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{flex:1 1 auto;width:10px;height:10px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-option{display:block;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);white-space:normal;color:var(--ss-font-color);cursor:pointer;user-select:none}.ss-content .ss-list .ss-option:hover{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-highlighted,.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;background-color:var(--ss-disabled-color)}.ss-content .ss-list .ss-option.ss-disabled:hover{color:var(--ss-font-color)}.ss-content .ss-list .ss-option .ss-search-highlight{display:inline-block;background-color:var(--ss-highlight-color)}
