/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--color-surface:#fff;--color-border:#dde2ec;--color-accent:#2f4fb8}}@layer base;@layer components{.db-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.db-sidebar{background:var(--db-surface);border-right:1px solid var(--db-border);flex-direction:column;gap:14px;padding:14px 12px;display:flex}.db-main{grid-template-rows:48px 1fr;min-height:100vh;display:grid}.db-topbar{background:var(--db-surface);border-bottom:1px solid var(--db-border);align-items:center;gap:12px;padding:0 16px;display:flex}.db-view{padding:28px;overflow:auto}.db-brand{align-items:center;gap:10px;padding:4px 6px;display:flex}.db-brand .mark{background:var(--db-accent);color:#fff;border-radius:2px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.db-brand .name{letter-spacing:.01em;font-weight:700}.db-brand .version{color:var(--db-text-muted);font-size:11px}.db-nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--db-text-muted);padding:8px 8px 4px;font-size:10px}.db-nav-item{color:var(--db-text);border-radius:2px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;text-decoration:none;display:flex}.db-nav-item:hover{background:var(--db-surface-2)}.db-nav-item.active{background:var(--db-accent-soft);color:var(--db-accent-fg);font-weight:500}.db-nav-item .badge{color:var(--db-text-muted);font-size:11px;font-family:var(--db-font-mono);margin-left:auto}.db-btn{background:var(--db-surface);border:1px solid var(--db-border);height:32px;font:500 12px var(--db-font-sans);color:var(--db-text);cursor:pointer;box-shadow:var(--db-shadow-1);border-radius:2px;align-items:center;gap:6px;padding:7px 13px;text-decoration:none;display:inline-flex}.db-btn:hover{background:var(--db-surface-2)}.db-btn-primary{background:var(--db-accent);border-color:var(--db-accent-strong);color:#fff}.db-btn-primary:hover{background:var(--db-accent-strong)}.db-input{background:var(--db-surface);border:1px solid var(--db-border);height:32px;font:13px var(--db-font-sans);color:var(--db-text);border-radius:2px;width:100%;padding:0 10px}.db-input:focus{outline:2px solid var(--db-accent-soft);border-color:var(--db-accent)}.db-login-screen{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.db-login-card{background:var(--db-surface);border:1px solid var(--db-border);box-shadow:var(--db-shadow-2);border-radius:2px;width:480px;max-width:100%;padding:32px}.db-login-brand{align-items:center;gap:12px;margin-bottom:24px;display:flex}.db-login-brand .mark{background:var(--db-accent);color:#fff;border-radius:2px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.db-login-card h1{margin:0 0 8px;font-size:22px}.db-login-card p.subtitle{color:var(--db-text-muted);margin:0 0 24px;font-size:13px}.db-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.db-field label{font-size:12px;font-weight:500}.db-error{color:var(--db-danger);margin-top:4px;font-size:12px}.db-login-card .footer-hint{border-top:1px solid var(--db-border-2);color:var(--db-text-muted);justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;font-size:12px;display:flex}.db-login-card .footer-hint a{color:var(--db-accent);text-decoration:none}.db-card{background:var(--db-surface);border:1px solid var(--db-border);box-shadow:var(--db-shadow-1);border-radius:2px;overflow:hidden}.db-table{border-collapse:collapse;width:100%;font-size:13px}.db-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--db-text-muted);background:var(--db-surface-2);border-bottom:1px solid var(--db-border);padding:12px 14px;font-size:11px;font-weight:500}.db-table tbody td{border-bottom:1px solid var(--db-border-2);padding:11px 14px}.db-table tbody tr:last-child td{border-bottom:0}.db-table tbody tr:hover{background:var(--db-surface-2)}.db-col-num{text-align:right;font-family:var(--db-font-mono)}.db-pill{font-size:11px;font-family:var(--db-font-mono);background:var(--db-accent-soft);color:var(--db-accent-fg);border-radius:2px;padding:2px 8px;font-weight:500;line-height:1.5;display:inline-block}.db-pill-warn{color:#9a3412;background:#fed7aa}.db-pill-neutral{background:var(--db-surface-2);color:var(--db-text-muted)}.db-view-toggle{background:var(--db-surface);font:500 12px var(--db-font-sans);color:var(--db-text-muted);cursor:pointer;border:none;height:28px;padding:6px 12px}.db-view-toggle:hover{color:var(--db-text);background:var(--db-surface-2)}.db-view-toggle.is-active{background:var(--db-accent-soft);color:var(--db-accent-fg)}.db-view-toggle+.db-view-toggle{border-left:1px solid var(--db-border)}.db-nav-item .icon{width:14px;height:14px;color:var(--db-text-muted);flex-shrink:0}.db-nav-item.active .icon{color:var(--db-accent-fg)}.db-conn-card{background:var(--db-surface-2);border:1px solid var(--db-border);border-radius:2px;padding:10px 12px}.db-conn-card .name{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.db-conn-card .name .dot{background:var(--db-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.db-conn-card .switch{color:var(--db-text-muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:11px}.db-conn-card .switch:hover{color:var(--db-text);text-decoration:underline}.db-conn-card .meta{color:var(--db-text-muted);font-size:11px;font-family:var(--db-font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;overflow:hidden}.db-conn-picker{padding:0}.db-conn-picker>summary{cursor:pointer;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;list-style:none;display:flex}.db-conn-picker>summary::-webkit-details-marker{display:none}.db-conn-picker>summary .dot{background:var(--db-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.db-conn-picker>summary .switch{color:var(--db-text-muted);margin-left:auto;font-size:11px}.db-conn-picker>summary:hover .switch{color:var(--db-text)}.db-conn-picker-meta{color:var(--db-text-muted);font-size:11px;font-family:var(--db-font-mono);text-overflow:ellipsis;white-space:nowrap;padding:0 12px 10px;overflow:hidden}.db-conn-list{border-top:1px solid var(--db-border-2);background:var(--db-surface);padding:6px 0}.db-conn-item{color:var(--db-text);padding:8px 12px;text-decoration:none;display:block}.db-conn-item:hover{background:var(--db-surface-2)}.db-conn-item.is-active{background:var(--db-accent-soft)}.db-conn-item .db-conn-item-row{align-items:center;gap:8px;display:flex}.db-conn-item .db-conn-item-row .dot{background:var(--db-text-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px}.db-conn-item .db-conn-item-row .dot.on{background:var(--db-accent)}.db-conn-item .db-conn-item-row .name{font-family:var(--db-font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.db-conn-item .meta{color:var(--db-text-muted);font-size:11px;font-family:var(--db-font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.db-conn-manage{color:var(--db-accent);text-align:center;border-top:1px solid var(--db-border-2);padding:8px 12px;font-size:12px;text-decoration:none;display:block}.db-conn-manage:hover{background:var(--db-surface-2)}.db-side-footer{border-top:1px solid var(--db-border-2);color:var(--db-text-muted);font-size:11px;font-family:var(--db-font-mono);margin-top:auto;padding-top:10px}.db-side-footer .row{justify-content:space-between;padding:3px 6px;display:flex}.db-side-footer .row .v{color:var(--db-text)}.db-side-footer .row.gate .v{color:var(--db-accent-fg);align-items:center;gap:4px;display:inline-flex}.db-topbar .breadcrumb{align-items:center;gap:8px;font-size:13px;display:flex}.db-topbar .breadcrumb .sep{color:var(--db-text-faint)}.db-topbar .breadcrumb .head{color:var(--db-text-muted);font-family:var(--db-font-mono);font-size:12px}.db-topbar .breadcrumb .tail{color:var(--db-text);font-weight:500}.db-topbar .search{width:280px;height:28px;position:relative}.db-topbar .search .icon{pointer-events:none;color:var(--db-text-faint);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.db-topbar .search input{background:var(--db-surface-2);border:1px solid var(--db-border);width:100%;height:28px;font:12px var(--db-font-sans);color:var(--db-text);border-radius:2px;padding:0 10px 0 30px}.db-topbar .search input:focus{outline:2px solid var(--db-accent-soft);border-color:var(--db-accent);background:var(--db-surface)}.db-topbar .icon-btn{background:var(--db-surface);border:1px solid var(--db-border);width:30px;height:30px;color:var(--db-text-muted);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;display:inline-flex}.db-topbar .icon-btn:hover{color:var(--db-text);background:var(--db-surface-2)}.db-topbar .user-chip{border:1px solid var(--db-border);height:30px;color:var(--db-text);background:var(--db-surface);border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:12px;display:inline-flex}.db-topbar .user-chip .avatar{background:var(--db-accent-soft);width:22px;height:22px;color:var(--db-accent-fg);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.db-split{grid-template-columns:240px 1fr;gap:0;min-height:calc(100vh - 48px);margin:-28px;display:grid}.db-tables-aside{background:var(--db-surface);border-right:1px solid var(--db-border);max-height:calc(100vh - 48px);padding:12px 10px;overflow-y:auto}.db-tables-aside .db-input{height:28px;margin-bottom:8px;padding:0 10px;font-size:12px}.db-aside-group{text-transform:uppercase;letter-spacing:.08em;color:var(--db-text-muted);padding:10px 6px 4px;font-size:10px;font-weight:500}.db-aside-table{cursor:pointer;color:var(--db-text);border-radius:2px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;font-size:13px;text-decoration:none;display:flex}.db-aside-table:hover{background:var(--db-surface-2)}.db-aside-table.is-active{background:var(--db-accent-soft);color:var(--db-accent-fg);font-weight:500}.db-aside-table .name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--db-font-mono);overflow:hidden}.db-aside-table .count{color:var(--db-text-faint);font-size:11px;font-family:var(--db-font-mono);flex-shrink:0}.db-split-main{background:var(--db-bg);max-height:calc(100vh - 48px);overflow-y:auto}.db-tabs{background:var(--db-surface);border-bottom:1px solid var(--db-border);align-items:end;gap:1px;height:40px;padding:0 22px;display:flex}.db-tab{color:var(--db-text-muted);cursor:pointer;border-bottom:2px solid #0000;padding:10px 16px;font-size:13px;line-height:1;text-decoration:none}.db-tab:hover{color:var(--db-text)}.db-tab.is-active{color:var(--db-text);border-bottom-color:var(--db-accent);font-weight:500}.db-tab.is-disabled{color:var(--db-text-faint);cursor:default;pointer-events:none}.db-section-head{text-transform:uppercase;letter-spacing:.08em;color:var(--db-text-muted);margin:0 0 8px;font-size:11px;font-weight:600}.db-data-table thead th{border-bottom:1px solid var(--db-border);background:var(--db-surface-2);vertical-align:top;padding:10px 12px;font-size:11px}.db-data-table tbody td{border-bottom:1px solid var(--db-border-2);padding:7px 12px;font-size:12px}.db-data-table tbody tr:hover td{background:var(--db-surface-2)}.db-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 22px;display:flex}.db-chip{background:var(--db-surface);border:1px solid var(--db-border);color:var(--db-text);border-radius:999px;align-items:center;gap:6px;height:26px;padding:4px 8px;font-size:11px;text-decoration:none;display:inline-flex}.db-chip:hover{background:var(--db-surface-2)}.db-chip-key{color:var(--db-text-muted)}.db-chip-value{font-family:var(--db-font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:500;overflow:hidden}.db-add-filter{display:inline-block;position:relative}.db-add-filter>summary{cursor:pointer;background:var(--db-surface);border:1px dashed var(--db-border);height:26px;color:var(--db-text-muted);border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;list-style:none;display:inline-flex}.db-add-filter>summary::-webkit-details-marker{display:none}.db-add-filter>summary::marker{content:""}.db-add-filter>summary:hover{color:var(--db-text);border-style:solid}.db-add-filter[open]>summary{border-color:var(--db-accent);color:var(--db-accent-fg);border-style:solid}.db-add-filter-menu{background:var(--db-surface);border:1px solid var(--db-border);box-shadow:var(--db-shadow-2);z-index:50;border-radius:2px;min-width:220px;padding:6px 0;position:absolute;top:calc(100% + 4px);left:0}.db-add-filter-section+.db-add-filter-section{border-top:1px solid var(--db-border-2);margin-top:4px;padding-top:4px}.db-add-filter-section .head{text-transform:uppercase;letter-spacing:.06em;color:var(--db-text-muted);padding:6px 14px 4px;font-size:10px;font-weight:500}.db-add-filter-item{color:var(--db-text);align-items:center;gap:8px;padding:7px 14px;font-size:12px;text-decoration:none;display:flex}.db-add-filter-item:hover{background:var(--db-surface-2)}.db-row-menu{display:inline-block;position:relative}.db-row-menu>summary{cursor:pointer;list-style:none}.db-row-menu>summary::-webkit-details-marker{display:none}.db-row-menu>summary::marker{content:""}.db-row-menu-list{background:var(--db-surface);border:1px solid var(--db-border);box-shadow:var(--db-shadow-2);z-index:50;border-radius:2px;min-width:220px;padding:6px 0;position:absolute;top:calc(100% + 4px);right:0}.db-row-menu-item{color:var(--db-text);align-items:center;gap:8px;padding:7px 14px;font-size:12px;text-decoration:none;display:flex}.db-row-menu-item:hover{background:var(--db-surface-2)}.db-row-menu-item.danger{color:var(--db-danger)}.db-row-menu-divider{background:var(--db-border-2);height:1px;margin:4px 6px}.db-th-sort{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.db-th-sort:hover{color:var(--db-text)}.CodeMirror.dbmage-cm{height:auto;min-height:220px;font-family:var(--db-font-mono);background:var(--db-surface);color:var(--db-text);padding:10px 0;font-size:13px;line-height:1.55}.CodeMirror.dbmage-cm .CodeMirror-gutters{background:var(--db-surface-2);border-right:1px solid var(--db-border-2)}.CodeMirror.dbmage-cm .CodeMirror-linenumber{color:var(--db-text-faint);padding:0 8px;font-size:11px}.CodeMirror.dbmage-cm .CodeMirror-cursor{border-left:1.5px solid var(--db-accent)}.CodeMirror.dbmage-cm .CodeMirror-selected{background:var(--db-accent-soft)}.CodeMirror.dbmage-cm .CodeMirror-line{padding:0 14px}.CodeMirror.dbmage-cm .CodeMirror-activeline-background{background:#2f4fb80a}.CodeMirror.dbmage-cm .CodeMirror-matchingbracket{text-decoration:underline;color:var(--db-accent)!important}.cm-s-dbmage-cm .cm-keyword{color:var(--db-accent);font-weight:600}.cm-s-dbmage-cm .cm-builtin{color:var(--db-accent-fg);font-weight:600}.cm-s-dbmage-cm .cm-string,.cm-s-dbmage-cm .cm-string-2{color:var(--db-warn-fg,#9a3412)}.cm-s-dbmage-cm .cm-number{color:var(--db-accent-strong)}.cm-s-dbmage-cm .cm-comment{color:var(--db-text-muted);font-style:italic}.cm-s-dbmage-cm .cm-operator{color:var(--db-text-muted)}.cm-s-dbmage-cm .cm-variable{color:var(--db-text)}.cm-s-dbmage-cm .cm-variable-2{color:var(--db-accent-fg)}.cm-s-dbmage-cm .cm-punctuation{color:var(--db-text-faint)}.cm-s-dbmage-cm .cm-atom{color:var(--db-accent-fg)}.cm-s-dbmage-cm .cm-bracket{color:var(--db-text-muted)}.CodeMirror-hints{background:var(--db-surface);border:1px solid var(--db-border);box-shadow:var(--db-shadow-2);font-family:var(--db-font-mono);z-index:100;border-radius:2px;padding:4px 0;font-size:12px}.CodeMirror-hint{color:var(--db-text);border-radius:2px;margin:0 4px;padding:5px 12px}li.CodeMirror-hint-active{background:var(--db-accent-soft);color:var(--db-accent-fg);font-weight:500}.db-explain-node{font-family:var(--db-font-mono);font-size:12px;line-height:1.55}.db-explain-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:6px;padding:3px 0;list-style:none;display:flex}.db-explain-summary:before{content:"▸ ";color:var(--db-text-faint);margin-right:2px}details[open]>.db-explain-summary:before{content:"▾ "}.db-explain-leaf{align-items:baseline;gap:6px;padding:3px 0 3px 16px;display:flex}.db-explain-leaf:before{content:"·";color:var(--db-text-faint);margin-right:4px}.db-explain-label{color:var(--db-text);font-weight:500}.db-explain-meta{color:var(--db-text-muted);font-size:11px;font-weight:400}.db-explain-hint{color:var(--db-text-muted);background:var(--db-surface-2);border-radius:2px;margin-left:18px;padding:2px 6px;font-size:11px;display:inline-block}.db-explain-children{border-left:1px solid var(--db-border-2);margin-left:4px;padding-left:14px}mark{background:var(--db-accent-soft);color:var(--db-accent-fg);border-radius:2px;padding:0 1px}.db-palette{border:1px solid var(--db-border);width:620px;max-width:92vw;max-height:70vh;box-shadow:var(--db-shadow-2);background:var(--db-surface);border-radius:2px;margin-top:12vh;padding:0;overflow:hidden}.db-palette::backdrop{background:#0f172a66}.db-palette-head{border-bottom:1px solid var(--db-border-2);align-items:center;gap:10px;padding:14px 16px;display:flex}.db-palette-head svg{color:var(--db-text-muted);flex-shrink:0}#dbmage-palette-input{font:14px var(--db-font-sans);color:var(--db-text);background:0 0;border:0;outline:0;flex:1}.db-palette-kbd{font:11px var(--db-font-mono);color:var(--db-text-muted);border:1px solid var(--db-border);background:var(--db-surface-2);border-radius:2px;padding:1px 5px}.db-palette-body{max-height:calc(70vh - 110px);padding:4px 0;overflow:auto}.db-palette-section{text-transform:uppercase;letter-spacing:.06em;color:var(--db-text-muted);padding:8px 16px 4px;font-size:10px;font-weight:500}.db-palette-row{cursor:pointer;color:var(--db-text);align-items:center;gap:12px;padding:7px 16px;font-size:12px;text-decoration:none;display:flex}.db-palette-row:hover,.db-palette-row.is-active{background:var(--db-accent-soft);color:var(--db-accent-fg)}.db-palette-label{font-family:var(--db-font-mono);flex-shrink:0}.db-palette-hint{min-width:0;color:var(--db-text-faint);text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:1;font-size:11px;overflow:hidden}.db-palette-row.is-active .db-palette-hint{color:var(--db-accent-fg);opacity:.7}.db-palette-empty{color:var(--db-text-muted);text-align:center;padding:18px 16px;font-size:12px}.db-palette-foot{border-top:1px solid var(--db-border-2);color:var(--db-text-muted);background:var(--db-surface-2);gap:14px;padding:8px 16px;font-size:11px;display:flex}.db-json-tree-btn{color:var(--db-text-faint);cursor:pointer;opacity:.4;vertical-align:middle;background:0 0;border:0;padding:0 2px;transition:opacity .1s,color .1s}.db-cell-display:hover+.db-json-tree-btn,.db-json-tree-btn:hover{opacity:1;color:var(--db-accent)}.db-json-dialog{border:1px solid var(--db-border);width:720px;max-width:90vw;max-height:80vh;box-shadow:var(--db-shadow-2);background:var(--db-surface);border-radius:2px;padding:0;overflow:hidden}.db-json-dialog::backdrop{background:#0f172a66}.db-json-dialog-head{border-bottom:1px solid var(--db-border-2);background:var(--db-surface-2);align-items:center;gap:8px;padding:10px 14px;display:flex}.db-json-dialog-body{max-height:calc(80vh - 50px);font-family:var(--db-font-mono);padding:12px 14px;font-size:12px;line-height:1.55;overflow:auto}.db-json-summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--db-text-muted);list-style:none}.db-json-summary:before{content:"▸ "}details[open]>.db-json-summary:before{content:"▾ "}.db-json-row{padding:1px 0}.db-json-key{color:var(--db-accent-fg)}.db-json-str{color:#9a3412}.db-json-num{color:#243f9a}.db-json-bool{color:#1e2d7b;font-weight:600}.db-json-null{color:var(--db-text-faint);font-style:italic}.db-json-leaf{word-break:break-word}.db-aside-pin{color:var(--db-text-faint);cursor:pointer;opacity:0;background:0 0;border:0;flex-shrink:0;margin-left:4px;padding:2px;transition:opacity .1s,color .1s}.db-aside-table:hover .db-aside-pin,.db-aside-pin.is-pinned{opacity:1}.db-aside-pin.is-pinned{color:var(--db-accent)}.db-aside-pin.is-pinned svg{fill:currentColor}.db-aside-pin:hover{color:var(--db-accent)}.db-fk-link{color:var(--db-accent-fg);border-bottom:1px dashed var(--db-accent-border);align-items:center;gap:4px;padding-bottom:1px;text-decoration:none;display:inline-flex}.db-fk-link:hover{color:var(--db-accent);border-bottom-color:var(--db-accent)}.db-fk-link svg{color:var(--db-accent);opacity:.7}.db-fk-link:hover svg{opacity:1}.db-cell-editable{cursor:text;position:relative}.db-cell-editable:hover .db-cell-display{background:var(--db-accent-soft);box-shadow:inset 0 -1px 0 var(--db-accent-border);border-radius:2px}.db-cell-editing{background:var(--db-surface-2);padding:4px 6px!important}.db-cell-input{height:22px;font-size:12px;font-family:var(--db-font-mono);width:100%;min-width:80px;padding:2px 6px}textarea.db-cell-input{resize:vertical;height:auto;min-height:60px}.db-cell-flash{font-size:11px;font-family:var(--db-font-sans);white-space:nowrap;z-index:20;box-shadow:var(--db-shadow-2);pointer-events:none;border-radius:2px;margin-top:2px;padding:3px 8px;position:absolute;top:100%;left:6px}.db-cell-flash-ok{background:var(--db-accent-soft);color:var(--db-accent-fg);border:1px solid var(--db-accent-border)}.db-cell-flash-err{color:var(--db-danger);background:#fbe4dc;border:1px solid #f1b5a4}.db-bulk-bar{background:var(--db-accent-soft);color:var(--db-accent-fg);border:1px solid var(--db-accent-border);font-family:var(--db-font-sans);z-index:5;border-radius:2px;align-items:center;gap:10px;margin:0 22px 8px;padding:8px 16px;display:flex;position:sticky;top:0}.db-topbar .search input:not(:disabled){cursor:text}.db-pending-banner{background:#fed7aa;border:1px solid #fdba74;border-radius:2px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 18px;display:flex}.db-pending-banner .icon{color:#9a3412;background:#fdba74;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:-2px;display:flex}.db-pending-banner h2{color:#9a3412;margin:0 0 4px;font-size:14px}.db-pending-banner .files{font-family:var(--db-font-mono);color:#9a3412;flex-direction:column;gap:2px;font-size:12px;display:flex}.db-batch-card{background:var(--db-surface);border:1px solid var(--db-border);border-radius:2px;margin-bottom:14px;overflow:hidden}.db-batch-head{background:var(--db-surface-2);border-bottom:1px solid var(--db-border-2);align-items:center;gap:10px;padding:12px 16px;display:flex}.db-batch-head .label{font-size:13px;font-weight:600}.db-batch-head .meta{color:var(--db-text-muted);font-size:12px;font-family:var(--db-font-mono)}.db-batch-list{padding:6px 0}.db-batch-item{align-items:center;gap:14px;padding:7px 16px;font-size:12px;display:flex}.db-batch-item .date{color:var(--db-text-muted);font-family:var(--db-font-mono);flex-shrink:0;width:90px}.db-batch-item .name{font-family:var(--db-font-mono);flex:1}.db-batch-item .change{color:var(--db-text-muted);font-size:11px}.db-query-tabs{border-bottom:1px solid var(--db-border);gap:1px;padding-left:8px;display:flex}.db-query-tab{height:32px;color:var(--db-text-muted);font-size:12px;font-family:var(--db-font-mono);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.db-query-tab:hover{color:var(--db-text)}.db-query-tab.is-active{color:var(--db-text);border-bottom-color:var(--db-accent);font-weight:500}.db-query-tab .x{color:var(--db-text-faint);margin-left:4px;font-size:12px;line-height:1}.db-query-tab .x:hover{color:var(--db-danger)}.db-query-tab-add{color:var(--db-text-faint);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:14px}.db-query-tab-add:hover{color:var(--db-text)}.db-query-status-bar{background:var(--db-surface-2);border-top:1px solid var(--db-border-2);border-bottom:1px solid var(--db-border-2);color:var(--db-text-muted);align-items:center;gap:14px;padding:8px 16px;font-size:12px;display:flex}.db-query-status-bar .ok:before{content:"● ";color:var(--db-accent)}.db-query-status-bar .err:before{content:"● ";color:var(--db-danger)}.db-settings-shell{grid-template-columns:220px 1fr;gap:22px;display:grid}.db-settings-nav{background:var(--db-surface);border:1px solid var(--db-border);border-radius:2px;height:fit-content;padding:8px}.db-settings-nav-item{color:var(--db-text);cursor:pointer;border-radius:2px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;text-decoration:none;display:flex}.db-settings-nav-item:hover{background:var(--db-surface-2)}.db-settings-nav-item.is-active{background:var(--db-accent-soft);color:var(--db-accent-fg);font-weight:500}.db-settings-section{display:none}.db-settings-section.is-active{display:block}.db-progress-row{border-bottom:1px solid var(--db-border-2);align-items:center;gap:12px;padding:10px 14px;display:flex}.db-progress-row:last-child{border-bottom:0}.db-progress-row .status-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.db-progress-row.is-done .status-icon{background:var(--db-accent-soft);color:var(--db-accent-fg)}.db-progress-row.is-running .status-icon{background:var(--db-accent);color:#fff}.db-progress-row.is-queued .status-icon{background:var(--db-surface-2);color:var(--db-text-faint);border:1px solid var(--db-border)}.db-progress-row.is-error .status-icon{color:var(--db-danger);background:#fbe4dc}.db-progress-row .name{font-family:var(--db-font-mono);flex-shrink:0;min-width:160px;font-size:13px}.db-progress-row .deps{color:var(--db-text-muted);flex-shrink:0;min-width:140px;font-size:11px}.db-progress-row .bar{background:var(--db-surface-2);border-radius:999px;flex:1;height:6px;position:relative;overflow:hidden}.db-progress-row .bar .fill{background:var(--db-accent);border-radius:999px;height:100%}.db-progress-row.is-done .bar .fill{background:var(--db-accent-fg)}.db-progress-row .rows{font-family:var(--db-font-mono);color:var(--db-text);text-align:right;flex-shrink:0;min-width:100px;font-size:12px}.db-progress-row .elapsed{font-family:var(--db-font-mono);color:var(--db-text-muted);text-align:right;flex-shrink:0;min-width:60px;font-size:11px}.db-code-block{background:var(--db-surface);border:1px solid var(--db-border);font-family:var(--db-font-mono);color:var(--db-text);white-space:pre-wrap;word-break:break-word;border-radius:2px;padding:14px 16px;font-size:12px;line-height:1.6;overflow-x:auto}.db-flash{border-radius:2px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.db-flash-success{background:var(--db-accent-soft);color:var(--db-accent-fg);border:1px solid var(--db-accent-border)}.db-flash-error{color:#8c2818;background:#fbe4dc;border:1px solid #e8b5a0}.db-flash-warn{color:#9a3412;background:#fed7aa;border:1px solid #fdba74}.db-shell.is-sidebar-collapsed{grid-template-columns:56px 1fr}.db-shell.is-sidebar-collapsed .db-sidebar{gap:10px;padding:14px 8px}.db-shell.is-sidebar-collapsed .db-brand{justify-content:center;padding:4px 0}.db-shell.is-sidebar-collapsed .db-brand>div:not(.mark),.db-shell.is-sidebar-collapsed .db-conn-card,.db-shell.is-sidebar-collapsed .db-conn-picker,.db-shell.is-sidebar-collapsed .db-side-footer,.db-shell.is-sidebar-collapsed .db-nav-section,.db-shell.is-sidebar-collapsed .db-nav-item>span:not(.icon),.db-shell.is-sidebar-collapsed .db-nav-item .badge{display:none}.db-shell.is-sidebar-collapsed .db-nav-item{justify-content:center;padding:8px;position:relative}.db-shell.is-sidebar-collapsed .db-nav-item[data-tip]:hover:after{content:attr(data-tip);background:var(--db-text);color:var(--db-surface);white-space:nowrap;pointer-events:none;box-shadow:var(--db-shadow-2);z-index:50;border-radius:2px;padding:4px 8px;font-size:11px;font-weight:500;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.db-sidebar-toggle{cursor:pointer;width:28px;height:28px;color:var(--db-text-muted);background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;display:inline-flex}.db-sidebar-toggle:hover{background:var(--db-surface-2);color:var(--db-text)}.db-sidebar-toggle svg{width:14px;height:14px;transition:transform .15s}.db-shell.is-sidebar-collapsed .db-sidebar-toggle svg{transform:rotate(180deg)}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-10{top:calc(var(--spacing) * 10)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-cell{display:table-cell}.h-4{height:calc(var(--spacing) * 4)}.w-4{width:calc(var(--spacing) * 4)}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:2px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.bg-accent{background-color:var(--color-accent)}.text-wrap{text-wrap:wrap}.text-surface{color:var(--color-surface)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.accent-border{accent-color:var(--color-border)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--db-bg:#fbfcfe;--db-surface:#fff;--db-surface-2:#f2f4f8;--db-border:#dde2ec;--db-border-2:#ebedf2;--db-text:#1a2030;--db-text-muted:#6f7585;--db-text-faint:#9ca1b0;--db-accent:#2f4fb8;--db-accent-soft:#e0e4f4;--db-accent-fg:#1e2d7b;--db-accent-strong:#243f9a;--db-accent-border:#b5c0e6;--db-warn:#ea580c;--db-warn-fg:#9a3412;--db-danger:#c25030;--db-info:#5a87c0;--db-font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--db-font-mono:"JetBrains Mono", ui-monospace, monospace;--db-shadow-1:0 1px 2px #0f172a0a;--db-shadow-2:0 4px 12px -2px #0f172a0f}:root[data-theme=dark]{--db-bg:#0d1117;--db-surface:#161b22;--db-surface-2:#1f2630;--db-border:#2a3140;--db-border-2:#232932;--db-text:#e6e9ef;--db-text-muted:#9aa3b2;--db-text-faint:#6b7280;--db-accent:#5070d8;--db-accent-soft:#21304f;--db-accent-fg:#b5c0e6;--db-accent-strong:#6f8ce6;--db-accent-border:#3b4d7a;--db-warn:#f97316;--db-warn-fg:#fdba74;--db-danger:#dc2626;--db-info:#60a5fa;--db-shadow-1:0 1px 2px #0006;--db-shadow-2:0 4px 12px -2px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--db-bg:#0d1117;--db-surface:#161b22;--db-surface-2:#1f2630;--db-border:#2a3140;--db-border-2:#232932;--db-text:#e6e9ef;--db-text-muted:#9aa3b2;--db-text-faint:#6b7280;--db-accent:#5070d8;--db-accent-soft:#21304f;--db-accent-fg:#b5c0e6;--db-accent-strong:#6f8ce6;--db-accent-border:#3b4d7a;--db-warn:#f97316;--db-danger:#dc2626;--db-info:#60a5fa;--db-shadow-1:0 1px 2px #0006;--db-shadow-2:0 4px 12px -2px #00000080}}*{box-sizing:border-box}body{font-family:var(--db-font-sans);color:var(--db-text);background:var(--db-bg);font-feature-settings:"cv11", "ss01";font-variant-numeric:tabular-nums;margin:0;font-size:13px;line-height:1.4}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
/* ── mock radius override (2px): controls / cards / menus / tables. Circles stay round. ── */
.db-btn,.db-input,.db-card,.db-chip,.db-tab,.db-query-tab,.db-query-tab-add,.db-query-tabs,.db-conn-card,.db-conn-item,.db-conn-picker-meta,.db-row-menu,.db-row-menu-list,.db-add-filter,.db-add-filter-menu,.db-tables-aside,.db-aside-table,.db-aside-filter,.db-explain-node,.db-explain-leaf,.db-explain-summary,.db-flash,.db-table,.db-data-table,.db-fk-link,.db-query-status-bar,.db-settings-nav,.db-pill,.db-code-block,.db-bulk-bar,.db-batch-card,.db-batch-head,.db-pending-banner,.db-view-toggle,.db-settings-section,.mark,dialog,input,select,textarea,button{border-radius:2px!important}
.dot,.user-chip .avatar,.db-conn-item .dot,.rounded-full{border-radius:50%!important}
