:root{--bg-primary: #1e1e1e;--bg-secondary: #2a2a2a;--bg-tertiary: #333;--bg-hover: #3a3a3a;--text-primary: #e0e0e0;--text-secondary: #aaa;--text-muted: #777;--border-primary: #444;--border-secondary: #555;--accent-blue: #0f62fe;--accent-blue-hover: #0353e9;--accent-green: #42be65;--accent-red: #da1e28;--accent-yellow: #f1c21b;--accent-orange: #ff832b;--input-bg: #000;--input-check-color: #fff;--nav-bg: #161616;--nav-text: #fff;--nav-text-secondary: #a8a8a8;--nav-hover: #393939;--nav-active-bg: #0f62fe;--nav-active-text: #fff;--nav-border: #333;--nav-shadow: 0 2px 8px rgba(0, 0, 0, .3);--viewer-bg: linear-gradient(135deg, #0f62fe 0%, #001d6c 100%);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--z-dropdown: 100;--z-tooltip: 200;--z-context-menu: 300;--z-dialog: 1000;--z-notification: 1100;--z-dialog-above-operation-view: 10150;color-scheme:dark}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--bg-hover: #f0f0f0;--text-primary: #161616;--text-secondary: #6e6e6e;--text-muted: #9e9e9e;--border-primary: #e5e5e5;--border-secondary: #d0d0d0;--accent-blue: #0f62fe;--accent-blue-hover: #0043ce;--accent-green: #28a745;--accent-red: #da1e28;--accent-yellow: #f1c21b;--accent-orange: #ff832b;--input-bg: #ffffff;--input-check-color: #fff;--nav-bg: #ffffff;--nav-text: #161616;--nav-text-secondary: #6e6e6e;--nav-hover: #f0f0f0;--nav-active-bg: #0f62fe;--nav-active-text: #fff;--nav-border: #e5e5e5;--nav-shadow: 0 1px 4px rgba(0, 0, 0, .08);--viewer-bg: linear-gradient(135deg, #e8f0fe 0%, #c2d9ff 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);color-scheme:light}*{scrollbar-color:var(--border-primary) var(--bg-primary);scrollbar-width:thin}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--bg-primary)}*::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--radius-sm)}*::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-primary)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}.input,input[type=text],input[type=search],input[type=number],input[type=url],input[type=email],input[type=password],select,textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--input-bg)!important;color:var(--text-primary);font-size:13px;line-height:1.4;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,input[type=text]:focus,input[type=search]:focus,input[type=number]:focus,input[type=url]:focus,input[type=email]:focus,input[type=password]:focus,select:focus,textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px #0f62fe4d;background:var(--input-bg)!important}.input:-webkit-autofill,input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-primary)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-muted)}.input:disabled,input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23aaa'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}textarea{resize:vertical;min-height:60px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:1px solid transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:500;line-height:1.4;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.btn-primary:hover{background:var(--accent-blue-hover);border-color:var(--accent-blue-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-primary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.btn-danger{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}.btn-danger:hover{background:#a2191f;border-color:#a2191f}.btn-icon{padding:var(--spacing-sm);background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-text{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;color:var(--accent-blue);border:none}.btn-text:hover{color:var(--accent-blue-hover);text-decoration:underline}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-dialog)}.dialog{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:400px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.dialog.dragging{-webkit-user-select:none;user-select:none;pointer-events:auto}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-primary)}.dialog-header.draggable-handle{cursor:move}.dialog-header.draggable-handle :is(h1,h2,h3,h4,h5,h6){cursor:text;-webkit-user-select:text;user-select:text}.dialog-header h2,.dialog-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.source-viewer-dialog.draggable-handle .source-viewer-titles,.bms-viewer-dialog.draggable-handle .bms-viewer-titles,.table-metadata-dialog.draggable-handle .table-metadata-titles,.dataset-file-dialog.draggable-handle .dataset-file-titles{cursor:text;-webkit-user-select:text;user-select:text}.dialog-body{padding:var(--spacing-xl);overflow-y:auto;flex:1;color:var(--text-primary)}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--border-primary)}.resizing{-webkit-user-select:none;user-select:none}.resize-handle{position:absolute;z-index:10}.resize-handle-n{top:-3px;left:10px;right:10px;height:6px;cursor:n-resize}.resize-handle-s{bottom:-3px;left:10px;right:10px;height:6px;cursor:s-resize}.resize-handle-e{right:-3px;top:10px;bottom:10px;width:6px;cursor:e-resize}.resize-handle-w{left:-3px;top:10px;bottom:10px;width:6px;cursor:w-resize}.resize-handle-ne{top:-3px;right:-3px;width:12px;height:12px;cursor:ne-resize}.resize-handle-nw{top:-3px;left:-3px;width:12px;height:12px;cursor:nw-resize}.resize-handle-se{bottom:-3px;right:-3px;width:12px;height:12px;cursor:se-resize}.resize-handle-sw{bottom:-3px;left:-3px;width:12px;height:12px;cursor:sw-resize}.custom-checkbox{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:var(--text-primary)}.custom-checkbox input[type=checkbox]{appearance:none;width:16px;height:16px;border:1px solid var(--border-secondary);border-radius:3px;background:var(--input-bg)!important;cursor:pointer;position:relative;flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast)}.custom-checkbox input[type=checkbox]:checked{background:var(--accent-blue)!important;border-color:var(--accent-blue)}.custom-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--input-check-color);border-width:0 2px 2px 0;transform:rotate(45deg)}.custom-checkbox input[type=checkbox]:focus-visible{box-shadow:0 0 0 2px #0f62fe4d}.custom-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.custom-checkbox input[type=checkbox]:disabled+span{opacity:.5;cursor:not-allowed}.highlight-base{transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);border-left:3px solid transparent}.ol-bridge-highlighted{--highlight-color: #0f62fe;--highlight-color-hover: #0043ce;--highlight-color-dark: #002d9c;background:var(--highlight-color);border-left-color:var(--highlight-color-hover);color:#fff;box-shadow:0 0 8px #0f62fe99}.ol-bridge-highlighted:hover{background:var(--highlight-color-hover);border-left-color:var(--highlight-color-dark);box-shadow:0 0 12px #0f62fecc}.target-resource-highlighted{--highlight-color: #0f62fe;--highlight-color-hover: #0043ce;--highlight-color-dark: #002d9c;background:var(--highlight-color);border-left-color:var(--highlight-color-hover);color:#fff;box-shadow:0 0 8px #0f62fe99}.target-resource-highlighted:hover{background:var(--highlight-color-hover);border-left-color:var(--highlight-color-dark);box-shadow:0 0 12px #0f62fecc}.calling-twin-highlighted{--highlight-color: #24a148;--highlight-color-hover: #198038;--highlight-color-dark: #0e6027;background:var(--highlight-color);border-left-color:var(--highlight-color-hover);color:#fff;box-shadow:0 0 8px #24a14899}.calling-twin-highlighted:hover{background:var(--highlight-color-hover);border-left-color:var(--highlight-color-dark);box-shadow:0 0 12px #24a148cc}.original-paired-highlighted{--highlight-color: #525252;--highlight-color-hover: #393939;--highlight-color-dark: #262626;background:var(--highlight-color);border-left-color:var(--highlight-color-hover);color:#a8a8a8;box-shadow:0 0 8px #52525266}.original-paired-highlighted:hover{background:var(--highlight-color-hover);border-left-color:var(--highlight-color-dark);box-shadow:0 0 12px #52525299}.outgoing-ol-bridge-highlighted{--highlight-color: #ff9800;--highlight-color-hover: #f57c00;--highlight-color-dark: #e65100;background:var(--highlight-color);border-left-color:var(--highlight-color-hover);color:#fff;box-shadow:0 0 8px #ff980099}.outgoing-ol-bridge-highlighted:hover{background:var(--highlight-color-hover);border-left-color:var(--highlight-color-dark);box-shadow:0 0 12px #ff9800cc}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary)}input,input[type=text],input[type=search],input[type=number],input[type=url],input[type=email],input[type=password],input[type=checkbox],input[type=radio],select,textarea{background:var(--input-bg)!important}input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--input-bg)!important;position:relative}input[type=checkbox]:checked{background:var(--accent-blue)!important}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--input-check-color);border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:16px;height:16px;border:1px solid var(--border-secondary);border-radius:50%;background:var(--input-bg)!important;position:relative}input[type=radio]:checked{background:var(--accent-blue)!important;border-color:var(--accent-blue)}input[type=radio]:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:var(--input-check-color)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active,select:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-primary)!important;caret-color:var(--text-primary)}
