:root{--app-bg:#faf9f8;--app-surface:#fff;--app-fg:#242424;--app-muted:#605e5c;--app-border:#e1dfdd;--app-border-strong:#c8c6c4;--app-accent:#0f6cbd;--app-accent-hover:#115ea3;--app-accent-pressed:#0c3b5e;--app-accent-soft:#ebf3fc;--app-accent-soft-hover:#dceaf7;--app-neutral-hover:#f3f2f1;--app-neutral-pressed:#ededeb;--app-shadow-2:0 1px 2px #0000000a, 0 0 2px #0000000f;--app-shadow-4:0 2px 4px #0000000f, 0 0 2px #00000014}:root[data-theme=dark]{--app-bg:#1a1a1a;--app-surface:#242424;--app-fg:#e6e6e6;--app-muted:#a6a6a6;--app-border:#3d3d3d;--app-border-strong:#555;--app-accent:#4cc2ff;--app-accent-hover:#76d1ff;--app-accent-pressed:#2d8fcc;--app-accent-soft:#1a3a52;--app-accent-soft-hover:#234c6a;--app-neutral-hover:#2e2e2e;--app-neutral-pressed:#383838;--app-shadow-2:0 1px 2px #0006, 0 0 2px #00000080;--app-shadow-4:0 2px 4px #0006, 0 0 2px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--app-bg);height:100%;color:var(--app-fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font:14px/1.4 Segoe UI Variable,Segoe UI,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}body{flex-direction:column;display:flex}.app-header{background:var(--app-surface);border-bottom:1px solid var(--app-border);height:48px;box-shadow:var(--app-shadow-2);z-index:2;align-items:center;gap:.75rem;padding:0 1rem;display:flex;position:relative}.app-header-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.status{color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:.8rem;overflow:hidden}.file-group{flex-shrink:0;align-items:stretch;height:30px;display:inline-flex;position:relative}.file-button{border:1px solid var(--app-border-strong);background:var(--app-surface);cursor:pointer;font:inherit;color:var(--app-fg);border-right:none;align-items:center;gap:.45rem;max-width:280px;padding:0 .75rem;font-size:.85rem;font-weight:600;transition:background 80ms,border-color 80ms;display:inline-flex}.file-button:hover{background:var(--app-neutral-hover)}.file-button:active{background:var(--app-neutral-pressed)}.file-button-icon{width:16px;height:16px;color:var(--app-accent);flex-shrink:0}.file-button-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-dropdown-trigger{border:1px solid var(--app-border-strong);border-left:1px solid var(--app-border);background:var(--app-surface);cursor:pointer;color:var(--app-muted);flex-shrink:0;justify-content:center;align-items:center;padding:0 .4rem;transition:background 80ms,color 80ms;display:inline-flex}.file-dropdown-trigger:hover{background:var(--app-neutral-hover);color:var(--app-fg)}.file-dropdown-trigger:active,.file-dropdown-trigger[aria-expanded=true]{background:var(--app-neutral-pressed);color:var(--app-fg)}.file-dropdown-chevron{width:12px;height:12px}.file-dropdown{background:var(--app-surface);border:1px solid var(--app-border-strong);min-width:260px;max-width:420px;box-shadow:var(--app-shadow-4);z-index:100;padding:3px 0;position:absolute;top:calc(100% + 3px);left:0}.file-dropdown-item{cursor:pointer;width:100%;font:inherit;color:var(--app-fg);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:.35rem .75rem;font-size:.85rem;transition:background 80ms;display:block;overflow:hidden}.file-dropdown-item:hover{background:var(--app-neutral-hover)}.file-dropdown-item:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px;background:var(--app-neutral-hover)}.file-dropdown-section{text-transform:uppercase;letter-spacing:.05em;color:var(--app-muted);-webkit-user-select:none;user-select:none;padding:.3rem .75rem .15rem;font-size:.7rem;font-weight:600}.file-dropdown-divider{background:var(--app-border);height:1px;margin:3px 0}.view-toggles{border:1px solid var(--app-border-strong);background:var(--app-surface);height:30px;display:inline-flex;overflow:hidden}.view-toggles button{cursor:pointer;font:inherit;color:var(--app-fg);background:0 0;border:none;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.85rem;font-weight:600;transition:background 80ms,color 80ms;display:inline-flex}.view-toggles button+button{border-left:1px solid var(--app-border)}.view-toggles button:hover:not(.is-active):not([disabled]){background:var(--app-neutral-hover)}.view-toggles button.is-active{background:var(--app-accent-soft);color:var(--app-accent)}.view-toggles button.is-active:hover{background:var(--app-accent-soft-hover)}.view-toggles button:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px;z-index:1}.view-toggles button[disabled]{opacity:.4;cursor:not-allowed}.view-toggle-icon{flex-shrink:0;width:16px;height:16px}#app{flex-direction:column;flex:1;min-height:0;padding:12px;display:flex}#app>.views,#app>.dropzone{flex:1;min-height:0}.views{flex-direction:row;min-width:0;display:flex}.views>.view{flex-direction:column;min-width:0;min-height:0;display:flex}.views>.view.is-solo{max-width:480px}.app-splitter{background:var(--app-border);cursor:col-resize;touch-action:none;flex:0 0 6px;transition:background 80ms;position:relative}.app-splitter:before{content:"";position:absolute;inset:0 -3px}.app-splitter:hover,.app-splitter.is-dragging,.app-splitter:focus-visible{background:var(--app-accent);outline:none}.dropzone{border:2px dashed var(--app-border-strong);background:var(--app-surface);cursor:pointer;min-height:240px;color:var(--app-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;transition:border-color .12s,background .12s,color .12s;display:flex}.dropzone:hover{border-color:var(--app-accent);color:var(--app-fg)}.dropzone.is-over{border-color:var(--app-accent);color:var(--app-accent);background:var(--app-accent-soft)}.dropzone p{margin:0}.dropzone code{background:var(--app-neutral-hover);color:var(--app-fg);padding:.05rem .35rem;font-family:Cascadia Code,ui-monospace,Cascadia Mono,Menlo,monospace;font-size:.85em}.settings-group{flex-shrink:0;position:relative}.settings-trigger{cursor:pointer;width:30px;height:30px;color:var(--app-fg);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background 80ms,border-color 80ms;display:inline-flex}.settings-trigger:hover{background:var(--app-neutral-hover);border-color:var(--app-border)}.settings-trigger:active,.settings-trigger[aria-expanded=true]{background:var(--app-neutral-pressed)}.settings-trigger-icon{width:16px;height:16px}.settings-dropdown{background:var(--app-surface);border:1px solid var(--app-border-strong);min-width:220px;box-shadow:var(--app-shadow-4);z-index:100;flex-direction:column;gap:.45rem;padding:.5rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.settings-toggle{border:1px solid var(--app-border-strong);background:var(--app-surface);display:flex;overflow:hidden}.settings-toggle-btn{cursor:pointer;font:inherit;color:var(--app-fg);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.85rem;transition:background 80ms,color 80ms;display:inline-flex}.settings-toggle-btn+.settings-toggle-btn{border-left:1px solid var(--app-border)}.settings-toggle-btn:hover:not([aria-pressed=true]){background:var(--app-neutral-hover)}.settings-toggle-btn[aria-pressed=true]{background:var(--app-accent-soft);color:var(--app-accent)}.settings-toggle-btn[aria-pressed=true]:hover{background:var(--app-accent-soft-hover)}.settings-toggle-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px;z-index:1}.settings-toggle-icon{flex-shrink:0;width:14px;height:14px}.settings-select{font:inherit;background:var(--app-surface);color:var(--app-fg);border:1px solid var(--app-border-strong);cursor:pointer;width:100%;padding:.35rem .5rem;font-size:.85rem;transition:border-color 80ms}.settings-select:hover{border-color:var(--app-accent)}.settings-select:focus-visible{outline:2px solid var(--app-accent);outline-offset:-1px}.settings-footer{border-top:1px solid var(--app-border);color:var(--app-muted);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.15rem;padding-top:.5rem;font-size:.75rem;display:flex}.settings-version{font-variant-numeric:tabular-nums;word-break:break-all;flex:auto;min-width:0}.settings-github{color:var(--app-muted);flex:none;align-items:center;gap:.3rem;padding:.15rem .3rem;text-decoration:none;transition:color 80ms;display:inline-flex}.settings-github:hover,.settings-github:focus-visible{color:var(--app-accent)}.settings-github:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}.settings-github-icon{flex-shrink:0;width:14px;height:14px}.error-modal{border:1px solid var(--app-border-strong);background:var(--app-surface);color:var(--app-fg);box-shadow:var(--app-shadow-4);width:100%;max-width:min(680px,90vw);max-height:80vh;padding:0;overflow:hidden}.error-modal[open]{flex-direction:column;display:flex}.error-modal::backdrop{background:#00000073}.error-modal-header{border-bottom:1px solid var(--app-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.error-modal-title{margin:0;font-size:1rem;font-weight:600}.error-modal-close{cursor:pointer;width:28px;height:28px;color:var(--app-muted);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:background 80ms,border-color 80ms,color 80ms;display:inline-flex}.error-modal-close:hover{background:var(--app-neutral-hover);border-color:var(--app-border);color:var(--app-fg)}.error-modal-close:focus-visible{outline:2px solid var(--app-accent);outline-offset:-1px}.error-modal-close svg{width:14px;height:14px}.error-modal-body{flex-direction:column;gap:1.25rem;padding:1rem;display:flex;overflow-y:auto}.error-modal-item{flex-direction:column;gap:.5rem;display:flex}.error-modal-message{color:var(--app-fg);margin:0;font-size:.875rem;line-height:1.5}.error-modal-pos{color:var(--dv-error-pos-fg,#c50f1f);font-family:Cascadia Code,ui-monospace,Cascadia Mono,Menlo,monospace;font-weight:600}.error-modal-code{border:1px solid var(--app-border);border-left:3px solid var(--dv-error-fg,#a4262c);background:var(--app-bg);margin:0;padding:.4rem 0;font-family:Cascadia Code,ui-monospace,Cascadia Mono,Menlo,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto}.error-modal-line{white-space:pre;padding:0 .75rem;display:flex}.error-modal-line.is-error{background:color-mix(in srgb, var(--dv-error-fg,#a4262c) 8%, transparent)}.error-modal-lineno{text-align:right;min-width:2.75rem;color:var(--app-muted);-webkit-user-select:none;user-select:none;flex-shrink:0;margin-right:1.25rem;display:inline-block}.error-modal-linecode{color:var(--app-fg);overflow-x:visible}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:where(dbml-structure,dbml-detail,dbml-diagram){--dv-bg:#fff;--dv-fg:#242424;--dv-muted:#605e5c;--dv-border:#e1dfdd;--dv-border-strong:#c8c6c4;--dv-accent:#0f6cbd;--dv-accent-hover:#115ea3;--dv-accent-soft:#ebf3fc;--dv-table-bg:#fff;--dv-table-header-bg:#f5f5f5;--dv-edge:#8a8886;--dv-edge-hover:#0f6cbd;--dv-canvas-bg:#faf9f8;--dv-canvas-dot:#d2d0ce;--dv-rail-bg:#faf9f8;--dv-input-bg:#fff;--dv-input-border-hover:#8a8886;--dv-hover-bg:#f3f2f1;--dv-row-hover-bg:#faf9f8;--dv-row-border:#f3f2f1;--dv-toolbar-bg:#fff;--dv-toolbar-hover-bg:#f3f2f1;--dv-toolbar-pressed-bg:#ededeb;--dv-type-color:#8764b8;--dv-flag-muted:#a19f9d;--dv-error-fg:#a4262c;--dv-error-pos-fg:#c50f1f;--dv-note-bg:#fff4ce;--dv-note-fg:#614a19;--dv-note-border:#f7b502;--dv-badge-bg:#f3f2f1;--dv-badge-fg:#323130;--dv-badge-pk-bg:#fff4ce;--dv-badge-pk-fg:#614a19;--dv-badge-fk-bg:#ebf3fc;--dv-badge-fk-fg:#115ea3;--dv-badge-unique-bg:#e9d8fd;--dv-badge-unique-fg:#5c2e91;--dv-badge-auto-bg:#dff6dd;--dv-badge-auto-fg:#0e6b25;--dv-badge-notnull-bg:#fde7e9;--dv-badge-notnull-fg:#a4262c;--dv-code-font:"Cascadia Code", ui-monospace, "Cascadia Mono", Menlo, monospace;color:var(--dv-fg);background:var(--dv-bg);-webkit-font-smoothing:antialiased;font:13px/1.4 Segoe UI Variable,Segoe UI,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;display:block}:root[data-theme=dark] :where(dbml-structure,dbml-detail,dbml-diagram){--dv-bg:#242424;--dv-fg:#e6e6e6;--dv-muted:#a6a6a6;--dv-border:#3d3d3d;--dv-border-strong:#555;--dv-accent:#4cc2ff;--dv-accent-hover:#76d1ff;--dv-accent-soft:#1a3a52;--dv-table-bg:#2a2a2a;--dv-table-header-bg:#333;--dv-edge:#6b6b6b;--dv-edge-hover:#4cc2ff;--dv-canvas-bg:#1a1a1a;--dv-canvas-dot:#3a3a3a;--dv-rail-bg:#1f1f1f;--dv-input-bg:#2a2a2a;--dv-input-border-hover:#6b6b6b;--dv-hover-bg:#2e2e2e;--dv-row-hover-bg:#2e2e2e;--dv-row-border:#333;--dv-toolbar-bg:#2a2a2a;--dv-toolbar-hover-bg:#333;--dv-toolbar-pressed-bg:#3a3a3a;--dv-type-color:#c8a8f0;--dv-flag-muted:#6b6b6b;--dv-error-fg:#ff8080;--dv-error-pos-fg:#ff6060;--dv-note-bg:#3d3320;--dv-note-fg:#f0d68c;--dv-note-border:#d4a017;--dv-badge-bg:#3a3a3a;--dv-badge-fg:#d4d4d4;--dv-badge-pk-bg:#3d3320;--dv-badge-pk-fg:#f0c674;--dv-badge-fk-bg:#1a3142;--dv-badge-fk-fg:#73aef0;--dv-badge-unique-bg:#2e1f42;--dv-badge-unique-fg:#c7a0f0;--dv-badge-auto-bg:#1a2e1a;--dv-badge-auto-fg:#7ec07e;--dv-badge-notnull-bg:#3d1f1f;--dv-badge-notnull-fg:#f08080}:root[data-font=proportional] :where(dbml-structure,dbml-detail,dbml-diagram){--dv-code-font:"Aptos", "Calibri", "Segoe UI Variable", "Segoe UI", sans-serif}dbml-structure{border:1px solid var(--dv-border);background:var(--dv-rail-bg);flex-direction:column;height:100%;min-height:320px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 0 2px #0000000f}.dv-tree-wrap{flex:1;min-height:0;overflow:auto}.dv-search{z-index:1;background:var(--dv-input-bg);border-bottom:1px solid var(--dv-border-strong);align-items:center;transition:border-color 80ms,box-shadow 80ms;display:flex;position:sticky;top:0}.dv-search:hover{border-bottom-color:var(--dv-input-border-hover)}.dv-search:focus-within{border-bottom-color:var(--dv-accent);box-shadow:0 1px 0 0 var(--dv-accent)}.dv-search-icon{width:14px;height:14px;color:var(--dv-muted);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}.dv-search-icon svg{width:14px;height:14px}.dv-search:has(input:not(:placeholder-shown)) .dv-search-icon{display:none}.dv-search input{min-width:0;font:inherit;color:var(--dv-fg);background:0 0;border:0;flex:1;padding:.45rem .5rem .45rem 1.85rem}.dv-search:has(input:not(:placeholder-shown)) input{padding-left:.5rem}.dv-search input::-webkit-search-cancel-button{appearance:none;display:none}.dv-search input::placeholder{color:var(--dv-muted)}.dv-search input:focus{outline:none}.dv-search-clear{width:20px;height:20px;color:var(--dv-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-right:.35rem;padding:0;transition:color 80ms,background 80ms;display:inline-flex}.dv-search-clear[hidden]{display:none}.dv-search-clear:hover,.dv-search-clear:focus-visible{color:var(--dv-accent);background:var(--dv-hover-bg);outline:none}.dv-search-clear svg{width:12px;height:12px}.dv-tree-match{background:var(--dv-search-match-bg,#facc1573);color:inherit;border-radius:2px;padding:0}.dv-tree-node.is-search-active,.dv-tree-node.is-search-active:hover{background:var(--dv-accent-soft);border-left-color:var(--dv-accent);outline:1px solid var(--dv-accent);outline-offset:-1px}.dv-tree,.dv-tree-children{margin:0;padding:0;list-style:none}.dv-tree-children{padding-left:.85rem;position:relative}.dv-tree-children:before{content:"";background:var(--dv-border);width:1px;position:absolute;top:0;bottom:0;left:.4rem}.dv-tree-node{text-align:left;width:100%;font:inherit;color:var(--dv-fg);cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:.4rem;padding:.25rem .5rem .25rem .25rem;transition:background 80ms;display:flex}.dv-tree-node:hover,.dv-tree-node.is-hovered{background:var(--dv-hover-bg)}.dv-tree-chevron{width:.85rem;color:var(--dv-muted);text-align:center;flex-shrink:0;font-size:.7rem;display:inline-block}.dv-tree-count{color:var(--dv-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.7rem}.dv-tree-node-group{font-weight:600}.dv-tree-node-icon{width:12px;height:12px;color:var(--dv-muted);flex-shrink:0}.dv-tree-group-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dv-tree-node-table .dv-tree-table-name{font-family:var(--dv-code-font);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dv-tree-node-table.is-active{background:var(--dv-accent-soft);border-left-color:var(--dv-accent);color:var(--dv-accent-hover);font-weight:600}.dv-tree-node-table.is-active:hover,.dv-tree-node-table.is-active.is-hovered{background:var(--dv-accent-soft)}.dv-tree-section{pointer-events:none;align-items:center;gap:.4rem;padding:.2rem .5rem .1rem .25rem;display:flex}.dv-tree-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--dv-muted);padding-left:.85rem;font-size:.6rem;font-weight:600}.dv-tree-node-column{font-family:var(--dv-code-font);padding-left:1.1rem;font-size:12px}.dv-tree-column-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dv-tree-column-type{color:var(--dv-type-color);white-space:nowrap;margin-left:auto;font-size:11px}.dv-tree-flag{letter-spacing:.05em;flex-shrink:0;padding:0 .25rem;font-family:Segoe UI Variable,Segoe UI,-apple-system,system-ui,sans-serif;font-size:.6rem;font-weight:600}.dv-tree-flag-pk{background:var(--dv-badge-pk-bg);color:var(--dv-badge-pk-fg)}.dv-tree-node-column.is-active,.dv-tree-node-column.is-active.is-hovered{background:var(--dv-accent-soft);border-left-color:var(--dv-accent)}.dv-tree-node-relation{font-family:var(--dv-code-font);color:var(--dv-fg);padding-left:1.1rem;font-size:12px}.dv-tree-rel-arrow{color:var(--dv-muted);text-align:center;flex-shrink:0;width:.9rem}.dv-tree-rel-target{white-space:nowrap;text-overflow:ellipsis;color:var(--dv-accent);overflow:hidden}.dv-tree-rel-fields{color:var(--dv-muted);white-space:nowrap;margin-left:auto;font-size:11px}.dv-tree-node-enum .dv-tree-enum-name{font-family:var(--dv-code-font);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dv-tree-node-enum.is-active{background:var(--dv-accent-soft);border-left-color:var(--dv-accent);color:var(--dv-accent-hover);font-weight:600}.dv-tree-node-enum.is-active:hover,.dv-tree-node-enum.is-active.is-hovered{background:var(--dv-accent-soft)}.dv-tree-row{align-items:center;gap:.25rem;padding-right:.5rem;display:flex}.dv-tree-row>.dv-tree-node{flex:1;min-width:0}.dv-tree-row>.dv-tree-count{text-align:right;min-width:1.5em;color:var(--dv-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.7rem}.dv-tree-hide-toggle{width:20px;height:20px;color:var(--dv-muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity 80ms,color 80ms,background 80ms;display:inline-flex}.dv-tree-hide-toggle svg{width:14px;height:14px}.dv-tree-row:hover .dv-tree-hide-toggle,.dv-tree-hide-toggle:focus-visible{opacity:1}.dv-tree-hide-toggle:hover{color:var(--dv-accent);background:var(--dv-toolbar-hover-bg)}.dv-tree-hide-toggle.is-hidden-target{opacity:1;color:var(--dv-accent)}.dv-tree-hide-toggle.is-disabled{cursor:default;opacity:.5}.dv-tree-hide-toggle.is-disabled:hover{background:0 0}.dv-tree-group.is-hidden>.dv-tree-row>.dv-tree-node,.dv-tree-table.is-hidden>.dv-tree-row>.dv-tree-node{opacity:.55}.dv-tree-node-enum-value{font-family:var(--dv-code-font);cursor:default;padding-left:1.1rem;font-size:12px}.dv-tree-enum-value-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dv-tree-enum-value-note{color:var(--dv-muted);white-space:nowrap;text-overflow:ellipsis;max-width:60%;margin-left:auto;font-size:11px;overflow:hidden}dbml-detail{border:1px solid var(--dv-border);background:var(--dv-bg);flex-direction:column;height:100%;min-height:320px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 0 2px #0000000f}.dv-pane{background:var(--dv-bg);flex:1;min-width:0;padding:1rem 1.25rem;overflow:auto}.dv-empty{color:var(--dv-muted);padding:1rem 0}.dv-error{color:var(--dv-error-fg)}.dv-error h2{margin:0 0 .5rem;font-size:1rem}.dv-error ul{margin:0;padding-left:1.25rem}.dv-error-pos{min-width:3.5rem;font-family:var(--dv-code-font);color:var(--dv-error-pos-fg);display:inline-block}.dv-detail-header{margin-bottom:1rem}.dv-detail-schema{text-transform:uppercase;letter-spacing:.05em;color:var(--dv-muted);font-size:.7rem;font-weight:600}.dv-detail-name{letter-spacing:-.01em;color:var(--dv-fg);align-items:baseline;gap:.5rem;margin:.1rem 0 .25rem;font-size:1.35rem;font-weight:600;display:flex}.dv-detail-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--dv-muted);background:var(--dv-table-header-bg);padding:.1rem .4rem;font-size:.65rem;font-weight:600}.dv-col-type-enum{color:#8764b8;border-bottom:1px dashed;text-decoration:none}.dv-col-type-enum:hover{color:var(--dv-accent-hover)}.dv-empty-inline{color:var(--dv-muted);margin:.5rem 0}.dv-detail-id{color:var(--dv-muted);font-size:.75rem}.dv-note{background:var(--dv-note-bg);border-left:3px solid var(--dv-note-border);color:var(--dv-note-fg);margin:.5rem 0 0;padding:.6rem .75rem}.dv-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--dv-muted);margin:1.25rem 0 .5rem;font-size:.7rem;font-weight:600}.dv-columns{border-collapse:collapse;width:100%}.dv-columns thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--dv-muted);border-bottom:1px solid var(--dv-border);background:var(--dv-rail-bg);padding:.4rem .5rem;font-size:.7rem;font-weight:600}.dv-columns tbody td{border-bottom:1px solid var(--dv-border);vertical-align:top;padding:.4rem .5rem}.dv-columns tbody tr:last-child td{border-bottom:none}.dv-columns tbody tr:hover td{background:var(--dv-row-hover-bg)}.dv-columns tbody tr.is-hovered td{background:var(--dv-hover-bg)}.dv-columns tbody tr.is-highlighted td{background:var(--dv-accent-soft)}.dv-col-name{font-weight:600;font-family:var(--dv-code-font)}.dv-col-type{font-family:var(--dv-code-font);color:var(--dv-type-color)}.dv-col-flags{white-space:nowrap}.dv-col-default,.dv-col-note{color:var(--dv-muted)}.dv-badge{letter-spacing:.04em;background:var(--dv-badge-bg);color:var(--dv-badge-fg);text-transform:uppercase;margin-right:.25rem;padding:.05rem .4rem;font-size:.65rem;font-weight:600;display:inline-block}.dv-badge-pk{background:var(--dv-badge-pk-bg);color:var(--dv-badge-pk-fg)}.dv-badge-fk{background:var(--dv-badge-fk-bg);color:var(--dv-badge-fk-fg)}.dv-badge-unique{background:var(--dv-badge-unique-bg);color:var(--dv-badge-unique-fg)}.dv-badge-auto{background:var(--dv-badge-auto-bg);color:var(--dv-badge-auto-fg)}.dv-badge-not-null{background:var(--dv-badge-notnull-bg);color:var(--dv-badge-notnull-fg)}.dv-indexes,.dv-refs{margin:0;padding:0;list-style:none}.dv-indexes li,.dv-refs li{border-bottom:1px solid var(--dv-border);padding:.35rem 0}.dv-indexes li:last-child,.dv-refs li:last-child{border-bottom:none}.dv-refs code{font-family:var(--dv-code-font);font-size:.8rem}.dv-refs a{color:var(--dv-accent);text-decoration:none}.dv-refs a:hover{color:var(--dv-accent-hover);text-decoration:underline}.dv-ref-arrow{color:var(--dv-muted);margin:0 .5rem}.dv-muted{color:var(--dv-muted);font-size:.75rem}dbml-diagram{border:1px solid var(--dv-border);background:var(--dv-canvas-bg);flex-direction:column;height:100%;min-height:320px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 0 2px #0000000f}.dv-diagram-toolbar{background:var(--dv-toolbar-bg);border-bottom:1px solid var(--dv-border);flex-shrink:0;align-items:center;gap:.25rem;padding:.35rem .5rem;display:flex}.dv-diagram-toolbar button{cursor:pointer;height:26px;font:inherit;color:var(--dv-fg);background:0 0;border:1px solid #0000;min-width:2rem;padding:0 .5rem;font-size:.8rem;font-weight:600;transition:background 80ms,border-color 80ms,color 80ms}.dv-diagram-toolbar button:hover{background:var(--dv-toolbar-hover-bg);border-color:var(--dv-border);color:var(--dv-accent)}.dv-diagram-toolbar button:active{background:var(--dv-toolbar-pressed-bg)}.dv-diagram-toolbar button.is-active{background:var(--dv-toolbar-pressed-bg);border-color:var(--dv-border);color:var(--dv-accent)}.dv-diagram-toolbar button.is-active:hover{background:var(--dv-toolbar-pressed-bg)}.dv-diagram-toolbar-icon-btn{justify-content:center;align-items:center;display:inline-flex}.dv-diagram-toolbar-icon-btn svg{width:14px;height:14px}.dv-diagram-toolbar-sep{background:var(--dv-border);align-self:stretch;width:1px;margin:0 .25rem}.dv-diagram-toolbar button[data-act=zoom-in]{margin-left:auto}.dv-diagram-status{color:var(--dv-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.dv-diagram-status .dv-error{color:var(--dv-error-fg);margin-left:.5rem}.dv-diagram-viewport{cursor:grab;background-color:var(--dv-canvas-bg);background-image:radial-gradient(var(--dv-canvas-dot) 1px, transparent 1px);-webkit-user-select:none;user-select:none;background-size:16px 16px;flex:1;position:relative;overflow:hidden}.dv-diagram-viewport.is-panning{cursor:grabbing}.dv-canvas{transform-origin:0 0;position:absolute;top:0;left:0}.dv-canvas.is-panning-to{transition:transform .35s ease-out}.dv-groups{pointer-events:none;position:absolute;top:0;left:0}.dv-group{box-sizing:border-box;--dv-group-color:var(--dv-border-strong);background:color-mix(in srgb, var(--dv-group-color) 7%, transparent);border:1px dashed color-mix(in srgb, var(--dv-group-color) 60%, transparent);border-radius:6px;position:absolute;top:0;left:0}.dv-group-label{text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb, var(--dv-group-color) 80%, var(--dv-fg));background:color-mix(in srgb, var(--dv-group-color) 18%, var(--dv-bg));border:1px solid color-mix(in srgb, var(--dv-group-color) 50%, transparent);pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:4px;padding:.1rem .45rem;font-size:.65rem;font-weight:600;position:absolute;top:4px;left:8px}.dv-group-label.is-dragging{cursor:grabbing}.dv-edges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.dv-nodes{pointer-events:none;width:100%;height:100%;position:relative}.dv-table{box-sizing:border-box;pointer-events:auto;background:var(--dv-table-bg);border:1px solid var(--dv-border);min-width:200px;max-width:320px;transition:box-shadow .12s,border-color .12s,transform .12s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 0 2px #00000014}.dv-table.is-hovered{border-color:var(--dv-accent);z-index:2;box-shadow:0 4px 8px #0f6cbd29,0 0 2px #0f6cbd33}.dv-table.is-selected{border-color:var(--dv-accent);box-shadow:0 0 0 2px var(--dv-accent-soft), 0 4px 8px #0f6cbd33;z-index:2}.dv-table.is-dragging{box-shadow:0 8px 16px #0000002e, 0 0 0 2px var(--dv-accent-soft);z-index:3;transition:box-shadow .12s,border-color .12s}.dv-table-header{background:var(--dv-table-header-bg);border-bottom:1px solid var(--dv-border);cursor:grab;touch-action:none;padding:.45rem .65rem;font-weight:600}.dv-table.has-header-color>.dv-table-header{background:color-mix(in srgb, var(--dv-table-header-color) 22%, var(--dv-table-header-bg));border-bottom-color:color-mix(in srgb, var(--dv-table-header-color) 60%, var(--dv-border))}.dv-table.has-header-color>.dv-table-header .dv-table-name{color:color-mix(in srgb, var(--dv-table-header-color) 75%, var(--dv-fg))}.dv-table.is-dragging .dv-table-header,.dv-canvas.is-dragging-table .dv-table-header{cursor:grabbing}.dv-table-schema{color:var(--dv-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.62rem;font-weight:600;display:block}.dv-table-name{font-family:var(--dv-code-font);color:var(--dv-fg)}.dv-row{border-top:1px solid var(--dv-row-border);font-family:var(--dv-code-font);grid-template-columns:1fr auto auto;align-items:baseline;gap:.5rem;padding:.28rem .65rem;font-size:12px;line-height:1.4;display:grid}.dv-row-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dv-row-type{color:var(--dv-type-color);font-size:11px}.dv-row-flags{color:var(--dv-flag-muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.dv-edge-group{color:var(--dv-edge);pointer-events:auto;cursor:pointer;transition:color .12s}.dv-edge-group.has-color{color:var(--dv-edge-color)}.dv-edge-group.is-related,.dv-edge-group.is-hovered{color:var(--dv-edge-hover)}.dv-edge{fill:none;stroke:currentColor;stroke-width:1.5px;transition:stroke-width .12s}.dv-edge-group.is-related .dv-edge{stroke-width:2px}.dv-edge-group.is-hovered .dv-edge{stroke-width:2.75px}.dv-edge-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke}.dv-marker,.dv-arrow{fill:currentColor;stroke:currentColor}.dv-row.is-edge-endpoint{background:var(--dv-accent-soft)}@keyframes dv-table-reveal{0%{box-shadow:0 0 0 4px var(--dv-accent), 0 8px 24px #0f6cbd73}to{box-shadow:0 0 0 2px var(--dv-accent-soft), 0 4px 8px #0f6cbd33}}.dv-table.is-revealed{animation:.6s ease-out dv-table-reveal}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
