drixio 1.1.4 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +3907 -142
- package/dist/studio/assets/index-BYN38H7U.css +1 -0
- package/dist/studio/assets/index-iu78q-Xp.js +496 -0
- package/dist/studio/index.html +4 -10
- package/package.json +4 -1
- package/dist/studio/assets/index-CCy0fVAv.css +0 -1
- package/dist/studio/assets/index-DrR5jotT.js +0 -254
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";.hidden{display:none!important}.flex-1{flex:1}.text-soft{color:var(--color-text-soft)}.text-error{color:var(--color-error)}.items-center{align-items:center;display:flex}.justify-center{justify-content:center;display:flex}.justify-end{justify-content:flex-end;display:flex}.justify-between{justify-content:space-between;display:flex}.flex-col{flex-direction:column;display:flex}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.p-2{padding:8px}.p-4{padding:16px}.p-6{padding:24px}.text-center{text-align:center}.erd-workspace-container{background-color:var(--color-bg-secondary);-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:auto}.erd-workspace-canvas{transform-origin:0 0;width:4000px;height:4000px;position:relative}.erd-svg-layer{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.erd-nodes-layer{z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.erd-controls-container{z-index:100;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:24px;right:24px}.erd-controls-group{pointer-events:auto;justify-content:flex-end;gap:8px;display:flex}.erd-zoom-btn{border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:4px;display:flex}.erd-zoom-text-btn{border-radius:4px;min-width:32px;height:32px;padding:4px;font-size:13px;font-weight:700}.animate-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.icon-14{font-size:14px}.icon-16{font-size:16px}.icon-18{font-size:18px}.icon-20{font-size:20px}.icon-36{font-size:36px}.mt-2px{margin-top:2px}.mt-2{margin-top:8px}.ml-2{margin-left:8px}.pl-6{padding-left:24px}.text-success{color:#10b981}.text-10{font-size:10px}.text-11{font-size:11px}.text-12{font-size:12px}.text-13{font-size:13px}.text-right{text-align:right}.text-secondary{color:var(--color-text-secondary)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.transition-opacity{transition:opacity .2s}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-mono{font-family:monospace}.cursor-pointer{cursor:pointer}.cursor-grab{cursor:grab}.select-none{-webkit-user-select:none;user-select:none}.pointer-events-auto{pointer-events:auto}.w-12{width:12px}.w-250{width:250px}.w-400{width:400px}.w-500{width:500px}.w-full{width:100%}.h-80{height:80px}.align-middle{vertical-align:middle}.border-l{border-left:1px solid var(--color-border)}.gap-6px{gap:6px}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.text-brand{color:var(--color-brand-500)}.italic{font-style:italic}aside{border-right:1px var(--color-border) solid;flex-direction:column;width:256px;height:100vh;display:flex}#sidebar-header{border-bottom:1px var(--color-border-soft) solid;align-items:center;gap:8px;height:64px;padding:0 16px;display:flex}#database-icon{color:var(--color-primary);font-size:26px}#brand-title{letter-spacing:.5px;align-items:center;gap:4px;margin:0;padding:0;font-size:16px;font-weight:bolder;line-height:1;display:flex}#brand-subtitle{background-color:var(--color-primary);color:#fff;border-radius:5px;align-items:center;height:100%;padding:4px 6px;font-size:12px;font-weight:600;line-height:1;display:flex}#sidebar-content{flex-direction:column;flex:1;gap:24px;padding:16px;display:flex}#search-bar{background-color:var(--color-bg-secondary);border:1px var(--color-border) solid;border-radius:8px;outline:none;align-items:center;padding:0 4px;transition:all .1s linear;display:flex;overflow:hidden}#search-bar:focus-within{border:1px var(--color-primary) solid;box-shadow:var(--ring-primary-2);background-color:var(--color-bg-primary);transform:scale(1.02)}#search-icon{color:var(--color-text-soft);margin:0 3px 0 6px;font-size:20px;transition:all .1s linear}#search-bar:focus-within #search-icon{color:var(--color-primary);transform:scale(1.15)}#search-input{width:100%;height:34px;color:var(--color-text);background-color:#0000;border:none;outline:none;font-size:12px}#search-input::placeholder{color:var(--color-text-soft)}#table-nav{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}#table-nav::-webkit-scrollbar{width:4px}#table-nav::-webkit-scrollbar-track{background:0 0}#table-nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}#table-nav::-webkit-scrollbar-thumb:hover{background:var(--color-text-soft)}.table-btn{color:var(--color-text-secondary);cursor:pointer;letter-spacing:.5px;background-color:#0000;border:1px solid #0000;border-radius:8px;outline:none;justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.table-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.table-btn:active{transform:scale(.97)}.table-btn.active{background-color:var(--color-primary-active);border:1px var(--color-primary) solid;color:var(--color-btn-active-text);font-weight:600}.table-btn-badge{background-color:var(--color-bg-secondary-dark);color:var(--color-text-secondary);border-radius:10px;justify-content:center;align-items:center;min-width:16px;min-height:16px;padding:1px;font-size:8px;font-weight:600;line-height:1;display:flex}.table-btn.active .table-btn-badge{background-color:var(--color-primary);color:#fff}#not-found-msg{color:var(--color-text-soft);flex:1;justify-content:center;align-items:center;font-size:12px;font-weight:400;display:flex}#sidebar-footer{border-top:1px var(--color-border-soft) solid;justify-content:center;align-items:center;max-height:fit-content;margin-top:auto;padding:16px;display:flex}#theme-toggle{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}#theme-toggle:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}#theme-toggle:active{transform:scale(.9)}header{border-bottom:1px var(--color-border) solid;box-sizing:border-box;z-index:1000;background-color:var(--color-bg-primary);justify-content:space-between;align-items:center;width:100%;height:64px;padding:0 32px;font-size:14px;font-weight:300;display:flex;position:sticky;top:0}#current-path{text-transform:lowercase;align-items:center;gap:10px;display:flex}#db-name{color:var(--color-text-secondary)}#slash{color:var(--color-text-soft);font-size:18px;font-weight:lighter}#current-table{align-items:center;gap:4px;display:flex}#table-icon{color:var(--color-primary);font-size:20px}#table-name{color:var(--color-text);font-weight:600}.header-actions{align-items:center;gap:12px;display:flex}#export-btn{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;height:36px;padding:0 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}#export-icon,#import-icon{margin:0 6px 0 0;font-size:20px}#export-arrow-icon{margin:0 0 0 8px;font-size:20px}#export-btn:hover{background-color:var(--color-primary-dark)}#import-btn{color:var(--color-text-secondary);cursor:pointer;background-color:#0000;border:none;border-radius:6px;align-items:center;height:36px;padding:0 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}#import-btn:hover{color:var(--color-text)}.dropdown-menu{background:var(--color-bg-primary);border:1px solid var(--color-border);z-index:100;border-radius:8px;flex-direction:column;min-width:180px;margin:0;padding:4px 0;list-style:none;display:flex;position:absolute;top:44px;right:0;box-shadow:0 4px 12px #0000001a}.dropdown-menu.hidden{display:none}.dropdown-menu li{position:relative}.dropdown-item{text-align:left;cursor:pointer;color:var(--color-text);box-sizing:border-box;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.dropdown-item .material-symbols-outlined{font-size:16px}.dropdown-item .caret{color:var(--color-text-soft);margin-left:auto;font-size:16px}.dropdown-item:hover,.dropdown-submenu:hover>.dropdown-item{background:var(--color-bg-secondary-dark)}.dropdown-submenu .sub-menu{margin-right:4px;display:none;top:-4px;right:100%}.dropdown-submenu:hover .sub-menu{display:flex}.dropdown-divider{background:var(--color-border-soft);height:1px;margin:4px 0}#tab-nav{border-bottom:1px var(--color-border) solid;gap:24px;height:48px;padding:0 32px;display:flex}.tab-btn{height:100%;color:var(--color-text-secondary);cursor:pointer;background-color:#0000;border:none;border-bottom:2px solid #0000;outline:none;align-items:center;gap:8px;padding:0 6px;font-size:12px;font-weight:300;line-height:1;transition:all .1s linear;display:flex}.tab-btn:hover{border-bottom:2px var(--color-border) solid;color:var(--color-text)}.tab-btn.isCurrentTab{border-bottom:2px var(--color-primary) solid;color:var(--color-primary)}.tab-btn .material-symbols-outlined{font-size:16px}#main-content{background-color:var(--color-bg-primary);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.toolbar{border-bottom:1px var(--color-border) solid;background-color:var(--color-bg-secondary);flex-shrink:0;align-items:center;height:48px;display:flex}.filter-group{flex:1;align-items:center;height:100%;transition:all .15s;display:flex;overflow:hidden}.filter-icon-container{background-color:var(--color-bg-secondary);border-right:1px var(--color-border) solid;align-items:center;gap:6px;height:100%;padding:0 16px;font-size:16px;display:flex}.filter-icon-container .material-symbols-outlined{color:var(--color-text-secondary);font-size:18px}.filter-icon-container span:not(.material-symbols-outlined){text-transform:uppercase;color:var(--color-text-secondary);font-size:13px;font-weight:500}.filter-select{height:100%;color:var(--color-text-secondary);border:none;border-right:1px var(--color-border) solid;cursor:pointer;background-color:#0000;outline:none;padding:0 16px;font-size:13px;font-weight:500}.filter-select:hover{background-color:var(--color-bg-secondary)}.filter-input{height:100%;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:0 20px;font-size:13px;font-weight:200}.filter-input::placeholder{color:var(--color-text-soft)}#btn-run-query{background-color:var(--color-primary);color:#fff;border:none;border-right:1px var(--color-border) solid;cursor:pointer;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:10px;font-weight:700;transition:all .1s linear;display:flex}#btn-run-query:hover{background-color:var(--color-primary-dark)}#btn-run-query .material-symbols-outlined{margin-bottom:.5px;font-size:16px}#btn-clear-query{background-color:var(--color-bg-primary);color:var(--color-text-secondary);border:none;border:1px var(--color-border) solid;cursor:pointer;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:8px;margin-left:16px;padding:8px 12px;font-size:10px;font-weight:700;transition:all .1s linear;display:flex}#btn-clear-query:hover{background-color:var(--color-bg-secondary-dark);color:var(--color-text)}#btn-run-query:active,#btn-clear-query:active,.btn-primary:active,.btn-secondary:active,.table-btn:active{transform:scale(.96)}#btn-clear-query .material-symbols-outlined{margin-bottom:.5px;font-size:16px}.refresh-btn{background-color:var(--color-bg-secondary);border:1px var(--color-border) solid;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:8px;margin:16px;padding:6px;font-size:10px;font-weight:700;transition:all .1s linear;display:flex}.refresh-btn:hover{background-color:var(--color-bg-secondary-dark);color:var(--color-text)}.refresh-btn .material-symbols-outlined{margin-bottom:.5px;font-size:18px}.sql-console-wrapper{background-color:var(--color-bg-secondary);text-wrap:nowrap;flex-direction:column-reverse;height:100%;display:flex}#console-welcome-msg{color:var(--color-text-soft);text-align:center;letter-spacing:.5px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:auto 0;font-family:monospace;display:flex}#console-welcome-title{color:var(--color-text);flex-direction:column;align-items:center;gap:36px;font-size:24px;font-weight:bolder;display:flex}#console-welcome-title #icon-container{background-color:var(--color-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:fit-content;padding:14px;display:flex}#console-welcome-description{text-wrap:wrap;max-width:50%;font-size:14px;line-height:2}#console-welcome-description b{color:var(--color-primary);background-color:var(--color-bg-secondary);border-radius:4px;padding:2px 6px;font-size:16px}#console-welcome-hint{opacity:.65;margin-top:24px;font-size:12px}.sql-console-wrapper{background-color:var(--color-bg-primary);flex-direction:column;height:100%;display:flex;overflow:hidden}.sql-console-wrapper ::-webkit-scrollbar{display:none}.sql-console-wrapper{-ms-overflow-style:none;scrollbar-width:none}#console-history-pane{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}#console-input-pane{border-top:1px solid var(--color-border);background-color:var(--color-bg-secondary);flex-direction:column;flex-shrink:0;padding:16px 24px;display:flex;position:relative;box-shadow:0 -4px 12px #00000005}.sql-editor-wrapper{align-items:flex-start;gap:8px;display:flex}.sql-prompt{color:var(--color-primary);-webkit-user-select:none;user-select:none;margin-top:1.5px;font-family:monospace;font-size:14px;font-weight:700}.sql-editor-layer-container{flex:1;height:fit-content;min-height:128px;position:relative}#sql-highlight-layer{pointer-events:none;white-space:pre-wrap;word-break:break-all;z-index:1;margin:0;padding:0;position:absolute;inset:1.5px 0 0;overflow:hidden}.sql-editor{resize:none;width:100%;height:fit-content;min-height:128px;color:var(--color-text);letter-spacing:.8px;background-color:#0000;border:none;outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:normal}textarea#sql-editor{z-index:2;width:100%;height:100%;caret-color:var(--color-text);margin:0;padding:0;position:absolute;top:0;left:0;color:#0000!important}.console-history-block{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px #0000000d}.console-history-header{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 16px;display:flex}.console-history-sql{color:var(--color-text);white-space:pre-wrap;word-break:break-all;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5}.console-history-actions{flex-shrink:0;gap:4px;display:flex}.console-history-actions .icon-btn{cursor:pointer;color:var(--color-text-soft);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.console-history-results{max-height:400px;padding:16px;overflow:auto}.console-msg-executing,.console-msg-error,.console-msg-success{align-items:center;gap:8px;font-family:monospace;font-size:13px;display:flex}.console-msg-executing{color:var(--color-text-soft)}.console-msg-error{color:var(--color-error);white-space:pre-wrap;align-items:flex-start}.console-msg-success{color:#10b981}.console-stats-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.console-stats-info{color:var(--color-text-soft);align-items:center;gap:6px;font-family:monospace;font-size:12px;display:flex}.console-export-btn{border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:0 0;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;display:flex}.hl-string{color:#98c379}.hl-number{color:#d19a66}.hl-keyword{color:#c678dd;font-weight:700}.hl-placeholder{color:var(--color-text-soft);opacity:.5}.data-cell-truncate{white-space:nowrap;text-overflow:ellipsis;max-width:300px;overflow:hidden}.table-container{background-color:var(--color-bg-primary);scrollbar-width:none;-ms-overflow-style:none;flex:1;width:100%;min-width:0;overflow:auto}.table-container::-webkit-scrollbar{display:none}.data-table{border-collapse:separate;border-spacing:0;-webkit-user-select:none;user-select:none;width:max-content;min-width:100%}.data-table input,.data-table select{-webkit-user-select:text;user-select:text;box-sizing:border-box}.data-table th,.data-table td{text-align:left;border-bottom:1px var(--color-border-soft) solid;border-right:1px var(--color-border-soft) solid;white-space:nowrap;cursor:cell;height:24px;padding:8px 16px;font-size:13px;position:relative}.data-table th{background-color:var(--color-primary);color:#fff;text-transform:uppercase;letter-spacing:.5px;z-index:10;border-bottom:1px var(--color-border) solid;box-shadow:0 1px 0 var(--color-border);cursor:default;border-right:1px solid #fff3;font-size:11px;font-weight:600;position:sticky;top:0}.data-table td.cell-in-range{background-color:var(--color-cell-range-bg)}.data-table td.cell-in-range:after{content:"";box-sizing:border-box;pointer-events:none;border-top:var(--border-t,0);border-bottom:var(--border-b,0);border-left:var(--border-l,0);border-right:var(--border-r,0);position:absolute;inset:0}.data-table td.range-top{--border-t:2px solid var(--color-primary)}.data-table td.range-bottom{--border-b:2px solid var(--color-primary)}.data-table td.range-left{--border-l:2px solid var(--color-primary)}.data-table td.range-right{--border-r:2px solid var(--color-primary)}.data-table td.cell-selected{background-color:var(--color-bg-primary);z-index:5;box-shadow:inset 0 0 0 2px var(--color-primary)}.data-table td.row-header,.data-table th.row-header{z-index:9;background-color:var(--color-bg-secondary);color:var(--color-text-soft);text-align:center;border-right:1px var(--color-border) solid;width:32px;min-width:32px;padding:8px 4px;font-weight:500;position:sticky;left:0}.data-table th.row-header{z-index:11;background-color:var(--color-primary);color:#fff}.data-table td.cell-edited{background-color:var(--color-cell-edited-bg);color:var(--color-cell-edited-text);font-weight:700}.data-table td.cell-error{background-color:var(--color-cell-error-bg)}.data-table td.cell-error:not(.cell-in-range):not(.cell-selected){box-shadow:inset 0 0 0 2px #ef4444}.data-table tr.row-deleted td{text-decoration:line-through;background-color:var(--color-row-deleted-bg)!important;color:var(--color-row-deleted-text)!important}.data-table td.ghost-row{color:var(--color-text-soft);background-color:var(--color-ghost-row-bg);font-style:italic}.data-table td input,.data-table td select{box-sizing:border-box;width:100%;height:100%;color:var(--color-text);background-color:var(--color-bg-primary);box-shadow:var(--ring-primary-2);border:none;outline:none;padding:0 16px;font-family:inherit;font-size:13px;position:absolute;top:0;left:0}.data-table tbody tr:hover:not(:has(.manage-indexes-cell:hover)){background-color:var(--color-bg-secondary)}.manage-indexes-cell{background-color:var(--color-bg-primary)!important}.manage-indexes-cell:hover{background-color:var(--color-bg-secondary)!important}.cell-expand-btn{cursor:pointer;color:var(--color-text-soft);background-color:var(--color-bg-primary);border:1px var(--color-border) solid;z-index:10;border-radius:4px;justify-content:center;align-items:center;padding:3px;font-size:14px;transition:all .1s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%);box-shadow:0 2px 4px #0000000d}.cell-expand-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}#modal-editor-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#0f172a66;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-editor-container{background-color:var(--color-bg-primary);background-color:rgba(var(--color-bg-primary), .85);background:var(--color-bg-primary);border-radius:12px;flex-direction:column;width:600px;max-width:90vw;height:500px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.modal-header{border-bottom:1px var(--color-border) solid;color:var(--color-text);align-items:center;gap:8px;padding:16px 20px;display:flex}.modal-header h3{margin:0;font-size:16px;font-weight:600}.modal-header .material-symbols-outlined{color:var(--color-primary)}#modal-textarea{resize:none;color:var(--color-text);background-color:var(--color-bg-secondary-dark);border:none;outline:none;flex:1;padding:20px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px}#modal-textarea:focus{background-color:var(--color-bg-primary)}.modal-footer{border-top:1px var(--color-border) solid;background-color:var(--color-bg-secondary);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.modal-footer button{cursor:pointer;border:1px var(--color-border) solid;background-color:var(--color-bg-primary);color:var(--color-text);border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.modal-footer button:active{transform:scale(.97)}.modal-footer button:hover{background-color:var(--color-bg-secondary-dark)}.modal-footer button.primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.modal-footer button.primary:hover{background-color:var(--color-primary-dark)}.empty-state{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-state .icon-container{background-color:var(--color-primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.empty-state .material-symbols-outlined{font-size:36px}.empty-state h2{color:var(--color-text);margin-top:32px;margin-bottom:10px;font-size:24px;font-weight:700}.empty-state p{color:var(--color-text-secondary);text-align:center;max-width:500px;margin:0;font-size:16px;line-height:1.5}.modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-container{background:var(--color-bg-primary);border-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 12px #0003}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px;display:flex}.modal-close-btn{color:var(--color-text-primary);cursor:pointer;background:0 0;border:none}.modal-body-scroll{max-height:300px;padding:16px;overflow-y:auto}.modal-body{flex-direction:column;gap:16px;padding:16px;display:flex}.modal-section-bg{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);padding:16px}.modal-input{border:1px solid var(--color-border);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:4px;padding:6px}.btn-primary{cursor:pointer;background:var(--color-primary);color:#fff;border:none;border-radius:4px;padding:6px 16px}.btn-secondary{border:1px solid var(--color-border);cursor:pointer;background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:4px;padding:6px 16px}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;padding:16px;display:flex}.index-row-container{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px;align-items:center;gap:8px;margin-bottom:8px;padding:8px;display:flex}.resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:10;width:8px;height:100%;position:absolute;top:0;right:-4px}.resizer:hover,.resizer:active{background-color:var(--color-primary);opacity:.5}#toast-container{z-index:10000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background-color:var(--color-bg-primary);color:var(--color-text);border-left:4px solid var(--color-primary);opacity:0;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;animation:.3s ease-out forwards slideIn,.3s ease-in 2.7s forwards fadeOut;display:flex;transform:translate(100%);box-shadow:0 4px 12px #00000026}.toast.error{border-left-color:#ef4444}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.erd-node{border:1px solid var(--color-border);background:var(--color-bg-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;flex-direction:column;width:300px;transition:box-shadow .2s,transform .1s;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 12px #0000001a}.erd-node:hover{box-shadow:0 8px 24px #00000026}.erd-node.is-selected{border:1px solid var(--color-primary);box-shadow:0 0 0 3px var(--color-cell-range-bg)}.erd-node-header{background-color:var(--color-primary);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 14px;font-size:16px;display:flex}.erd-node-header:active{cursor:grabbing}.erd-node-body{flex-direction:column;display:flex}.erd-column{border-bottom:1px solid var(--color-border);background-color:#0000;justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;transition:background-color .15s;display:flex}.erd-column:last-child{border-bottom:none}.erd-column:hover{background-color:var(--color-bg-secondary)}.erd-col-left{align-items:center;gap:8px;display:flex}.erd-col-name{color:var(--color-text);font-family:JetBrains Mono,Fira Code,monospace;font-size:12px}.erd-col-right{align-items:center;display:flex}.erd-col-type{color:var(--color-text-soft);background-color:var(--color-bg-secondary);border-radius:4px;padding:4px 6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:10px}#erd-wrapper{scrollbar-width:none;-ms-overflow-style:none;background-color:var(--color-bg-secondary)}#erd-wrapper::-webkit-scrollbar{display:none}.erd-node.is-draft{border:2px dashed var(--color-primary);box-shadow:0 0 15px rgba(var(--color-primary-rgb), .2)}.erd-column.is-draft{background-color:rgba(var(--color-primary-rgb), .05)}.erd-add-col-btn{text-align:center;color:var(--color-primary);cursor:pointer;border-top:1px dashed var(--color-border);background-color:#0000;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:12px;font-weight:500;transition:background-color .15s;display:flex}.erd-add-col-btn:hover{background-color:var(--color-bg-secondary)}.drixio-context-menu{background-color:var(--color-bg-primary);border:1px solid var(--color-border);z-index:9999;border-radius:8px;min-width:180px;padding:6px 0;font-family:inherit;display:none;position:fixed;box-shadow:0 8px 24px #00000026}.drixio-context-menu.visible{display:block}.drixio-context-menu-item{cursor:pointer;color:var(--color-text);align-items:center;gap:12px;padding:8px 16px;font-size:13px;transition:background-color .1s;display:flex}.drixio-context-menu-item:hover{background-color:var(--color-cell-range-bg)}.drixio-context-menu-item.danger,.drixio-context-menu-item.danger .material-symbols-outlined{color:#ef4444}.drixio-context-menu-item.danger:hover{background-color:#ef44441a}.drixio-context-menu-item .material-symbols-outlined{color:var(--color-text-soft);font-size:18px}.drixio-menu-label{flex:1}.drixio-menu-shortcut{color:var(--color-text-soft);opacity:.7;font-size:11px}.drixio-context-menu-divider{background-color:var(--color-border);height:1px;margin:4px 0}.erd-inline-input{background:var(--color-bg-primary);border:1px solid var(--color-primary);color:var(--color-text);font:inherit;border-radius:4px;outline:none;width:100%;padding:2px 6px}.erd-drag-handle{border:2px solid var(--color-primary);background:var(--color-bg-primary);cursor:crosshair;opacity:.4;border-radius:50%;width:14px;height:14px;margin-left:8px;transition:opacity .2s,transform .2s}.erd-drag-handle:hover{transform:scale(1.2)}.erd-column:hover .erd-reorder-handle{opacity:1}.erd-drag-line{pointer-events:none;z-index:50;width:100%;height:100%;position:absolute;top:0;left:0}.erd-grid-bg{background-image:linear-gradient(90deg,#0000000d 1px,#0000 1px),linear-gradient(#0000000d 1px,#0000 1px);background-position:50%;background-size:20px 20px}.erd-ui-overlay{pointer-events:none;z-index:100;justify-content:space-between;padding:16px;display:flex;position:fixed;top:60px;left:320px;right:0}.erd-toolbar{pointer-events:auto;gap:8px;display:flex}.erd-search-container{pointer-events:auto;align-items:center;display:flex;position:relative}.erd-search-container .search-icon{color:var(--color-text-soft);font-size:18px;position:absolute;left:8px}.erd-search-container input{background-color:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;width:250px;padding:8px 12px 8px 32px;font-family:inherit;font-size:13px;box-shadow:0 4px 6px #0000000d}.erd-search-container input:focus{border-color:var(--color-primary);outline:none}.erd-search-results{background-color:var(--color-bg-primary);border:1px solid var(--color-border);z-index:110;border-radius:6px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 16px #0000001a}.erd-search-item{cursor:pointer;color:var(--color-text);padding:8px 12px;font-size:13px}.erd-search-item:hover{background-color:var(--color-bg-secondary)}.erd-minimap{background-color:var(--color-bg-primary);border:1px solid var(--color-border);z-index:100;pointer-events:auto;border-radius:8px;width:180px;height:130px;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000001a}.erd-minimap-content{width:100%;height:100%;position:relative}.erd-minimap-viewport{border:2px solid var(--color-primary);box-sizing:border-box;pointer-events:none;background-color:#3b82f61a;position:absolute}.status-dashboard{background:var(--color-bg-primary);height:100%;color:var(--color-text);flex-direction:column;gap:24px;padding:32px;display:flex;overflow-y:auto}.hero-overview-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:20px;align-items:center;gap:24px;padding:28px 24px;display:flex;box-shadow:0 4px 24px #0000000a}.hero-info{flex-direction:column;gap:8px;display:flex}.hero-db-name{letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:32px;font-weight:700;line-height:normal}.hero-subinfo{color:var(--color-text-secondary);text-transform:capitalize;align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.hero-dot-separator{color:var(--color-text-soft);font-size:10px}.status-db-icon-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;display:inline-flex;position:relative;box-shadow:inset 0 2px 10px #0000000d}.status-db-icon{color:var(--color-text);font-size:36px}.connection-dot{border:1px solid var(--color-border);background-color:currentColor;border-radius:50%;width:16px;height:16px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 0 8px}.connection-dot.yellow{color:#f59e0b;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-dot}.connection-dot.green{color:#10b981;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-dot}.connection-dot.red{color:#ef4444;animation:none}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.status-grid{grid-template-columns:repeat(6,1fr);gap:24px;display:grid}.status-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;grid-column:span 2;gap:16px;padding:28px 24px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 12px #00000005}.status-card:nth-child(4):nth-last-child(2),.status-card:nth-child(5):last-child{grid-column:span 3}.status-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 32px #00000014}.status-card-header{color:var(--color-text-secondary);justify-content:space-between;align-items:start;font-size:14px;font-weight:500;display:flex;position:relative}.status-card-icon{border-radius:8px;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;top:-5px;right:0}.status-card-value{letter-spacing:-.03em;color:var(--color-text);font-size:30px;font-weight:700}.status-card-subtext{color:var(--color-text-soft);font-size:12px}.card-primary .status-card-icon{color:#3b82f6;background:#3b82f61a}.card-success .status-card-icon{color:#10b981;background:#10b9811a}.card-warning .status-card-icon{color:#f59e0b;background:#f59e0b1a}.card-purple .status-card-icon{color:#8b5cf6;background:#8b5cf61a}.feature-prompt{color:var(--color-text-secondary);background:#3b82f60d;border:1px dashed #3b82f64d;border-radius:8px;align-items:flex-start;gap:12px;padding:24px;font-size:12px;line-height:1.5;display:flex}.feature-prompt .icon{color:#3b82f6;flex-shrink:0}.analytics-split-view{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=1024px){.analytics-split-view{grid-template-columns:1fr 1fr}}.top-tables-container,.distribution-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:16px;padding:24px;box-shadow:0 2px 12px #00000005}.top-tables-title,.distribution-title{color:var(--color-text);margin-top:0;margin-bottom:20px;font-size:20px;font-weight:600}.top-tables-list{flex-direction:column;gap:8px;display:flex}.top-table-item{background:var(--color-bg-primary);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;transition:background .2s;display:flex}.top-table-item:hover{background:var(--color-bg-secondary-dark);border-color:#ffffff0d}.top-table-name{color:var(--color-text);font-weight:500}.top-table-rows{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-weight:500}.distribution-pie{border-radius:50%;flex-shrink:0;width:210px;height:210px;position:relative;box-shadow:0 4px 12px #0000001a}.distribution-pie:after{content:"";background:var(--color-bg-secondary);border-radius:50%;width:80%;height:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 2px 8px #0000000d}.distribution-legend{letter-spacing:.5px;flex-direction:column;gap:12px;font-size:12px;display:flex}.legend-item{color:var(--color-text-secondary);align-items:center;gap:8px;font-weight:500;display:flex}.legend-color{border-radius:4px;flex-shrink:0;width:12px;height:12px}:root{--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-secondary-dark:#f1f5f9;--color-primary:#2c68ec;--color-primary-active:#eff6ff;--color-primary-dark:#285bb8;--color-text:#0f172a;--color-text-soft:#94a3b8;--color-text-secondary:#64748b;--color-border:#e2e8f0;--color-border-soft:#f1f5f9;--ring-primary-2:0 0 0 2px #2c68ec33;--font-inter:"Inter", sans-serif;--color-btn-active-text:var(--color-primary);--color-cell-range-bg:#dbeafe;--color-cell-edited-bg:#fffbeb;--color-cell-edited-text:#b45309;--color-cell-error-bg:#fef2f2;--color-row-deleted-bg:#fee2e2;--color-row-deleted-text:#ef4444;--color-ghost-row-bg:#f8fafc}[data-theme=dark]{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-secondary-dark:#334155;--color-primary:#3b82f6;--color-primary-active:#1e3a8a;--color-primary-dark:#60a5fa;--color-text:#f8fafc;--color-text-soft:#64748b;--color-text-secondary:#cbd5e1;--color-border:#334155;--color-border-soft:#1e293b;--ring-primary-2:0 0 0 2px #3b82f633;--color-btn-active-text:#fff;--color-cell-range-bg:#3b82f626;--color-cell-edited-bg:#f59e0b26;--color-cell-edited-text:#fbbf24;--color-cell-error-bg:#ef444426;--color-row-deleted-bg:#ef444426;--color-row-deleted-text:#f87171;--color-ghost-row-bg:var(--color-bg-secondary)}body,html{background-color:var(--color-bg-primary);width:100vw;height:100vh;color:var(--color-text);font-family:var(--font-inter);margin:0;padding:0;display:flex;overflow:hidden}main{flex-direction:column;flex:1;min-width:0;display:flex}
|