/*! tailwindcss v4.3.3 | 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-border-style:solid;--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}}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;border-color:var(--border)}html,body,#root{height:100%}body{background:var(--background);color:var(--foreground);font-family:var(--font-ui);font-feature-settings:"calt", "rlig", "ss01";-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--highlight);outline-offset:3px}input::placeholder,textarea::placeholder{color:var(--muted-foreground);opacity:1}h1,h2,h3,p{margin:0}svg{flex-shrink:0}code,pre,kbd{font-family:var(--font-mono)}::selection{background:var(--accent);color:var(--foreground)}*{scrollbar-width:thin;scrollbar-color:var(--input-border) transparent}}@layer components;@layer utilities{.collapse{visibility:collapse}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.\!h-1{height:var(--spacing)!important}.h-full{height:100%}.\!w-1{width:var(--spacing)!important}.w-full{width:100%}.shrink{flex-shrink:1}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.\!bg-transparent{background-color:#0000!important}.italic{font-style:italic}.underline{text-decoration-line:underline}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);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,)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#eef0f4;--foreground:#202735;--muted:#edf0f5;--muted-foreground:#4e596b;--border:#dbe0e8;--input-border:#8993a3;--card:#fcfcfd;--primary:#315fbe;--primary-hover:#284f9f;--primary-foreground:#fcfcfd;--accent:#e8eefb;--destructive:#b02f41;--brand-blue:#315fbe;--canvas-bg:#f3f5f9;--canvas-dot:#cfd6e2;--edge:#5d6d88;--table-header:#edf1f8;--table-header-fg:#2b3b55;--table-body:#fcfcfd;--highlight:#315fbe;--editor-bg:#fcfcfd;--editor-active-line:#edf2fa;--cm-comment:#69768a;--cm-keyword:#315fbe;--cm-string:#4e6577;--cm-expr:#4b596b;--cm-attr:#536987;--cm-operator:#283d60;--cm-number:#315fbe;--cm-name:#283d60;--overlay:#17243f66;--shadow-panel:0 2px 8px #213b6206;--shadow-float:0 8px 24px #213b6212, 0 24px 64px #213b6214;--shadow-node:0 2px 4px #213b6208, 0 8px 20px #213b6208;--font-ui:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", "SFMono-Regular", Menlo, monospace;--radius-control:8px;--radius-panel:12px;--radius-dialog:16px;--layer-inspector:10;--layer-chrome:20;--layer-popover:30;--layer-dialog:50}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#141922;--foreground:#e4e9f2;--muted:#262f3e;--muted-foreground:#9eabc0;--border:#303c50;--input-border:#687992;--card:#1c2431;--primary:#9bbaff;--primary-hover:#b6ccff;--primary-foreground:#152443;--accent:#283b5d;--destructive:#ff9aa8;--brand-blue:#9bbaff;--canvas-bg:#171e29;--canvas-dot:#344156;--edge:#8295b4;--table-header:#283449;--table-header-fg:#e4e9f2;--table-body:#202a39;--highlight:#9bbaff;--editor-bg:#1b2330;--editor-active-line:#26334a;--cm-comment:#95a5bd;--cm-keyword:#9bbaff;--cm-string:#bdc9db;--cm-expr:#b3c3da;--cm-attr:#a6b8d7;--cm-operator:#d0def5;--cm-number:#9bbaff;--cm-name:#dce6f7;--overlay:#0a111caa;--shadow-panel:0 2px 8px #0a111c18;--shadow-float:0 8px 24px #0a111c40, 0 24px 64px #0a111c60;--shadow-node:0 2px 4px #0a111c20, 0 8px 20px #0a111c30}.mono{font-family:var(--font-mono)}.muted{color:var(--muted-foreground)}.ui-button,.icon-button{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card);height:36px;color:var(--foreground);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:12px;font-weight:550;text-decoration:none;transition:transform .12s;display:inline-flex}.ui-button:hover,.icon-button:hover{background:var(--muted);border-color:var(--input-border)}.ui-button:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.98)}.ui-button-primary{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary)}.ui-button-primary:hover{color:var(--primary-foreground);background:var(--primary-hover);border-color:var(--primary-hover)}.ui-button-ghost{background:0 0;border-color:#0000}.icon-button{width:36px;padding:0}.ui-input{border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--card);min-width:0;color:var(--foreground);font:inherit;padding:9px 12px;font-size:13px}.ui-badge{background:var(--muted);color:var(--foreground);font:10px/1.5 var(--font-mono);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.field-label{font-size:12px;font-weight:600}.section-label{color:var(--muted-foreground);font-size:11px;font-weight:600}.dialog-backdrop{z-index:var(--layer-dialog);background:var(--overlay);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ui-dialog{border:1px solid var(--border);border-radius:var(--radius-dialog);background:var(--card);width:min(960px,94vw);max-height:calc(100dvh - 48px);color:var(--foreground);box-shadow:var(--shadow-float);flex-direction:column;display:flex;overflow:hidden}.dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;display:flex}.dialog-title{letter-spacing:-.5px;font-size:20px;font-weight:650}.dialog-subtitle{color:var(--muted-foreground);margin-top:4px;font-size:13px}.dialog-body{min-height:0;padding:24px;overflow:auto}.popover{z-index:var(--layer-popover);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-panel);color:var(--foreground);box-shadow:var(--shadow-float);position:absolute}.menu-item{text-align:left;background:0 0;align-items:center;gap:10px;width:100%;min-height:38px;padding:8px 12px;font-size:12px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--accent)}.workbench{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{background:var(--card);border-bottom:1px solid var(--border);height:64px;z-index:var(--layer-chrome);flex-shrink:0;align-items:center;gap:20px;padding:0 24px;display:flex}.brand{white-space:nowrap;align-items:center;gap:10px;display:flex}.brand img{border-radius:6px;width:30px;height:30px}.brand-name{letter-spacing:-.5px;font-size:15px;font-weight:700}.brand-divider{background:var(--border);width:1px;height:22px}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.header-search{width:225px;color:var(--muted-foreground);background:var(--background);justify-content:flex-start}.header-search kbd{border:1px solid var(--border);background:var(--card);border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px}.workspace-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.heading-identity{min-width:0}.workspace-heading h1{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.8px;font-size:25px;font-weight:650;line-height:1.25;overflow:hidden}.workspace-heading p{color:var(--muted-foreground);margin-top:5px;font-size:12px}.workspace-actions{align-items:center;gap:8px;display:flex}.work-area{flex:1;min-height:0;margin:0 24px;display:flex}.work-panel{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--card);min-height:0;box-shadow:var(--shadow-panel);flex-direction:column;display:flex;overflow:hidden}.editor-panel{flex-shrink:0;min-width:300px;max-width:calc(100% - 334px)}.diagram-panel{flex:1;min-width:0}.panel-header{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;align-items:center;gap:9px;height:48px;padding:0 16px;font-size:12px;display:flex}.panel-header>svg{color:var(--primary)}.panel-heading{font-weight:650}.panel-header-end{align-items:center;gap:8px;margin-left:auto;display:flex}.panel-header .icon-button{border:0;width:30px;height:30px}.panel-body{flex:1;min-height:0;position:relative}.panel-footer{border-top:1px solid var(--border);height:34px;font:10px var(--font-mono);color:var(--muted-foreground);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;display:flex}.panel-footer span{align-items:center;gap:6px;min-width:0;display:inline-flex}.panel-footer>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-grip{cursor:col-resize;touch-action:none;background:0 0;border:0;flex-shrink:0;place-items:center;width:14px;padding:0;display:grid}.editor-grip:after{content:"";background:var(--border);border-radius:4px;width:3px;height:32px}.editor-grip:hover:after,.editor-grip:focus-visible:after{background:var(--primary)}.app-footer{height:38px;color:var(--muted-foreground);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 24px;font-size:11px;display:flex}.app-footer span,.local-status{align-items:center;gap:7px;display:inline-flex}.local-status{color:var(--muted-foreground);white-space:nowrap;margin-right:8px;font-size:11px}.diagnostic-badge{color:var(--destructive);align-items:center;gap:5px;font-size:11px;display:flex}.external-banner{border-bottom:1px solid var(--border);background:var(--accent);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:8px 16px;font-size:12px;display:flex}.export-menu{width:248px;padding:6px;top:calc(100% + 8px);right:0}.export-menu .menu-item{border-radius:var(--radius-control)}.export-menu .section-label{padding:8px 10px;display:block}.empty-canvas{text-align:center;background:var(--canvas-bg);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:24px;display:flex;overflow:auto}.empty-canvas img{width:220px;max-width:100%}.empty-canvas h2{letter-spacing:-.4px;font-size:18px;font-weight:650}.empty-canvas p{max-width:350px;color:var(--muted-foreground);font-size:13px}.dark .empty-canvas img{opacity:.8}.mobile-view-switch{display:none}.erd-table{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--table-body);box-shadow:var(--shadow-node);font-size:11px;overflow:hidden}.erd-table[data-selected=true]{border-color:var(--highlight);outline:2px solid var(--highlight);outline-offset:2px}.erd-table-header{background:var(--table-header);color:var(--table-header-fg);border-bottom:1px solid var(--border);font:600 12px var(--font-mono);align-items:center;gap:8px;padding:0 12px;display:flex}.erd-table-header>svg{color:var(--primary)}.erd-table-header .ui-badge{margin-left:auto;font-size:9px}.erd-table-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.erd-field{font:11px var(--font-mono);justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:flex;position:relative}.erd-field[data-active=true]{background:var(--accent)}.erd-field-name{align-items:center;gap:6px;min-width:0;display:inline-flex}.erd-field-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.erd-field-name svg{color:var(--primary)}.erd-field-symbol{flex-shrink:0;width:12px;height:12px}.erd-field-type{color:var(--muted-foreground);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-size:10px;display:flex}.erd-required{font:8px var(--font-mono);border:1px solid var(--border);border-radius:4px;padding:1px 3px}.react-flow .react-flow__controls{box-shadow:var(--shadow-node);border:1px solid var(--border);border-radius:var(--radius-control);margin:16px;display:flex;overflow:hidden}.react-flow .react-flow__controls-button{background:var(--card);border:0;border-right:1px solid var(--border);width:34px;height:34px;fill:var(--foreground)}.react-flow .react-flow__controls-button:last-child{border-right:0}.react-flow .react-flow__controls-button:hover{background:var(--accent)}.react-flow .react-flow__controls-button svg{width:14px;height:14px}.react-flow .react-flow__attribution{font:9px var(--font-ui);background:var(--card);color:var(--muted-foreground)}.react-flow .react-flow__attribution a{color:var(--muted-foreground)}.react-flow .react-flow__node{box-shadow:none}@media (width<=1023px){.app-header{gap:12px;padding:0 16px}.workspace-heading{padding:18px 16px}.work-area{margin:0 16px}.app-footer{padding:0 16px}.header-search{justify-content:center;width:36px;padding:0}.header-search>span,.header-search kbd,.local-status,.diagram-panel .panel-footer>span:last-child{display:none}}@media (width<=767px){.app-header{gap:10px;height:60px;padding:0 12px}.brand-name,.brand-divider,.header-github{display:none}.brand img{width:28px;height:28px}.header-actions{gap:8px}.workspace-heading{flex-wrap:wrap;gap:12px;padding:16px 12px 12px}.heading-identity{width:100%}.workspace-heading h1{font-size:22px}.workspace-actions{width:100%}.workspace-actions>.relative{margin-left:auto}.mobile-view-switch{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--muted);gap:4px;margin:0 12px 12px;padding:4px;display:flex}.mobile-view-switch button{min-height:44px;color:var(--muted-foreground);border:1px solid #0000;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.mobile-view-switch button[aria-pressed=true]{background:var(--card);color:var(--primary);border-color:var(--border)}.work-area{margin:0 12px}.editor-panel{min-width:0;max-width:none;width:100%!important}.editor-grip,.editor-panel .panel-header-end,.work-area[data-mobile-view=diagram] .editor-panel,.work-area[data-mobile-view=schema] .diagram-panel,.diagram-panel .show-editor{display:none}.panel-header{padding:0 12px}.panel-header-end{gap:4px}.panel-header-end .ui-button{padding:0 8px}.panel-footer{padding:0 10px}.app-footer{height:34px;padding:0 12px;font-size:10px}.app-footer>span:last-child{display:none}.empty-canvas{justify-content:flex-start;padding:24px 16px}.empty-canvas img{width:170px}.ui-button,.icon-button{min-height:44px}.icon-button{width:44px}.panel-header .icon-button{width:36px;min-height:36px}}@media (height<=560px) and (width<=767px){.workbench{height:auto;min-height:100dvh;overflow:visible}.work-area{min-height:360px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation:none!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.import-backdrop,.command-backdrop{z-index:var(--layer-dialog);background:var(--overlay)}.import-dialog{width:min(960px,94vw);min-height:min(600px,100dvh - 48px);max-height:calc(100dvh - 48px)}.import-dialog__header{flex:none;padding:24px}.import-dialog__heading{align-items:center;gap:14px;min-width:0;display:flex}.import-dialog__heading-icon{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--accent);width:42px;height:42px;color:var(--primary);flex:none;place-items:center;display:grid}.import-dialog__body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;min-height:0;padding:24px;display:grid}.import-dialog__pane{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.import-dialog__pane-header{justify-content:space-between;align-items:flex-start;gap:12px;min-height:60px;display:flex}.import-dialog__pane-hint{color:var(--muted-foreground);margin:4px 0 0;font-size:11px}.import-dialog__dialect{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.import-dialog__dialect .field-label{font-size:11px}.import-dialog__select{width:auto;min-width:120px;height:32px;padding:0 24px 0 9px;font-size:12px}.import-dialog__source-wrap{border-radius:var(--radius-control);flex:1;min-height:0;display:flex;position:relative}.import-dialog__source-wrap.is-dragging{outline:2px solid var(--primary);outline-offset:2px}.import-dialog__textarea{resize:none;background:var(--editor-bg);width:100%;min-height:260px;padding:16px;font-size:12px;line-height:1.8}.import-dialog__textarea::placeholder{color:var(--muted-foreground);opacity:1}.import-dialog__drop-note{color:var(--muted-foreground);pointer-events:none;align-items:center;gap:6px;font-size:11px;display:flex;position:absolute;bottom:14px;right:14px}.import-dialog__file{max-width:100%;color:var(--muted-foreground);font:11px var(--font-mono);align-items:center;gap:6px;display:flex}.import-dialog__help{color:var(--muted-foreground);font-size:11px}.import-dialog__help summary{cursor:pointer;width:fit-content;color:var(--primary);font-size:12px}.import-dialog__command{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--background);color:var(--foreground);white-space:pre-wrap;margin-top:8px;padding:10px;font-size:10px;line-height:1.6;display:block;overflow:auto}.import-dialog__privacy{color:var(--muted-foreground);align-items:flex-start;gap:6px;margin:0;font-size:11px;line-height:1.6;display:flex}.import-dialog__privacy svg{margin-top:2px}.import-dialog__preview{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--background);min-height:0;color:var(--foreground);white-space:pre-wrap;flex:1;padding:16px;font-size:12px;line-height:1.8;overflow:auto}.import-dialog__preview.is-error{color:var(--destructive);border-color:var(--destructive)}.import-dialog__preview--empty{color:var(--muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.import-dialog__preview--empty>svg{color:var(--primary)}.import-dialog__preview--empty strong{color:var(--foreground);font-size:14px;font-weight:600}.import-dialog__preview--empty span{max-width:250px;font-size:12px;line-height:1.6}.import-dialog__footer{flex-wrap:wrap;flex:none;padding:16px 24px}.import-dialog__footer .ui-button:first-child{margin-right:auto}.preview-skeleton{flex-direction:column;gap:12px;padding:6px 0 20px;display:flex}.preview-skeleton span{background:var(--border);border-radius:4px;width:78%;height:10px;display:block}.preview-skeleton span:nth-child(2){width:58%;margin-left:14px}.preview-skeleton span:nth-child(3){width:68%;margin-left:14px}.preview-skeleton span:nth-child(4){width:48%;margin-left:14px}.preview-skeleton span:nth-child(5){width:24%}.preview-loading-label{color:var(--muted-foreground);font-size:12px}.command-backdrop{align-items:flex-start;padding-top:min(14dvh,120px)}.command-palette{width:min(640px,100vw - 32px);overflow:hidden}.command-palette__header{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:68px;padding:0 20px;display:flex}.command-palette__search-icon{color:var(--primary);flex:none;display:inline-flex}.command-palette__input{width:100%;min-width:0;color:var(--foreground);background:0 0;border:0;outline:none;font-size:14px}.command-palette__input::placeholder{color:var(--muted-foreground)}.command-palette__input:focus-visible{outline:2px solid var(--primary);outline-offset:5px;border-radius:4px}.command-palette__esc,.command-palette__footer kbd{border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);font:10px/20px var(--font-mono);border-radius:4px;padding:0 6px}.command-palette__esc{flex:none}.command-palette__results{max-height:min(56dvh,520px);padding:8px;overflow:auto}.command-palette__group+.command-palette__group{margin-top:8px}.command-palette__group-label{padding:8px 12px}.command-palette__item{border-radius:var(--radius-control);width:100%;min-height:42px;color:var(--foreground);text-align:left;border:1px solid #0000;font-size:13px}.command-palette__item svg{color:var(--muted-foreground);flex:none}.command-palette__item.is-selected{border-color:var(--primary);background:var(--accent);font-weight:600}.command-palette__item.is-selected svg{color:var(--primary)}.command-palette__item:focus-visible{outline-offset:-2px}.command-palette__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.command-palette__hint{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--muted-foreground);font:10px var(--font-mono);margin-left:auto;overflow:hidden}.command-palette__empty{color:var(--muted-foreground);text-align:center;flex-direction:column;align-items:center;gap:8px;margin:0;padding:36px 16px;font-size:12px;display:flex}.command-palette__empty strong{color:var(--foreground);font-size:14px;font-weight:600}.command-palette__footer{border-top:1px solid var(--border);background:var(--background);color:var(--muted-foreground);align-items:center;gap:16px;padding:12px 20px;font-size:11px;display:flex}.command-palette__footer span{align-items:center;gap:4px;display:inline-flex}@media (width<=767px){.import-backdrop{padding:12px}.import-dialog{width:100%;min-height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.import-dialog__header,.import-dialog__body,.import-dialog__footer{padding:16px}.import-dialog__heading-icon{display:none}.import-dialog__body{grid-template-columns:1fr;gap:24px;overflow:auto}.import-dialog__pane{min-height:280px}.import-dialog__pane+.import-dialog__pane{border-top:1px solid var(--border);padding-top:20px}.import-dialog__footer{grid-template-columns:1fr 1fr;gap:8px;display:grid}.import-dialog__footer .ui-button{width:100%;margin:0;padding:0 8px;font-size:11px}.import-dialog__footer .ui-button:last-child{grid-column:1/-1}.command-backdrop{padding:60px 12px 12px}.command-palette{width:100%;max-height:calc(100dvh - 84px)}.command-palette__header{min-height:60px;padding:0 14px}.command-palette__input{font-size:13px}.command-palette__esc{display:none}.command-palette__results{min-height:0}.command-palette__footer{gap:10px;padding:10px 14px;font-size:10px}}.details-doc-trigger{width:min(240px,30vw);height:38px;color:var(--foreground);text-align:left;border-radius:var(--radius-control);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:0 10px;display:inline-flex}.details-doc-trigger:hover,.details-doc-trigger[aria-expanded=true]{background:var(--muted);border-color:var(--border)}.details-doc-trigger>svg:first-child{color:var(--primary)}.details-doc-trigger-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:550;overflow:hidden}.details-menu{z-index:var(--layer-popover);border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--card);width:360px;max-height:calc(100dvh - 86px);color:var(--foreground);box-shadow:var(--shadow-float);flex-direction:column;display:flex;position:absolute;top:calc(100% + 12px);left:0;overflow:hidden}.details-menu-header{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 12px;display:flex}.details-menu-title{font-size:13px;font-weight:650}.details-menu-count{background:var(--muted);color:var(--muted-foreground);font:11px var(--font-mono);border-radius:4px;padding:2px 6px}.details-menu-search{padding:0 12px 12px;position:relative}.details-menu-search .ui-input{width:100%;height:36px;padding-left:32px}.details-menu-search-icon{color:var(--muted-foreground);pointer-events:none;position:absolute;top:11px;left:22px}.details-menu-list{border-top:1px solid var(--border);min-height:0;max-height:360px;padding:6px;overflow:auto}.details-menu-row{border-radius:var(--radius-control);flex-wrap:wrap;align-items:center;gap:4px;min-height:56px;padding:4px;display:flex}.details-menu-row:hover{background:var(--muted)}.details-menu-row[data-active=true]{background:var(--accent)}.details-menu-row-main{min-width:0;color:var(--foreground);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:6px 4px;display:flex}.details-menu-row-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.details-menu-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.details-menu-row-meta{color:var(--muted-foreground);font-size:10px}.details-menu-row-active{color:var(--primary);flex:0 0 14px;justify-content:center;align-items:center;display:inline-flex}.details-menu-actions{align-items:center;gap:2px;display:inline-flex}.details-menu-actions .icon-button{width:28px;height:30px;color:var(--muted-foreground);background:0 0;border-color:#0000}.details-menu-actions .icon-button:hover{border-color:var(--border);background:var(--card);color:var(--foreground)}.details-menu-actions .icon-button[title=Delete]:hover{color:var(--destructive)}.details-menu-empty{color:var(--muted-foreground);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 12px;font-size:12px;display:flex}.details-menu-new{border:0;border-top:1px solid var(--border);background:var(--background);width:100%;color:var(--primary);text-align:left;padding:14px 16px;font-size:12px;font-weight:600}.details-menu-new:hover{background:var(--accent)}.details-document-edit{flex-direction:column;gap:8px;width:100%;padding:8px;display:flex}.details-document-edit .ui-input{width:100%}.details-document-edit p{overflow-wrap:anywhere;font-size:12px}.details-document-edit-actions{justify-content:flex-end;gap:6px;display:flex}.details-document-delete{color:var(--destructive);border-color:var(--destructive)}.details-inspector{z-index:var(--layer-inspector);border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--card);width:324px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);color:var(--foreground);box-shadow:var(--shadow-float);flex-direction:column;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.details-inspector-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 16px 16px;display:flex}.details-inspector-identity{min-width:0}.details-inspector-identity-label{color:var(--primary);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:600;display:flex}.details-inspector-title{text-overflow:ellipsis;white-space:nowrap;font:600 17px/1.4 var(--font-mono);letter-spacing:-.4px;overflow:hidden}.details-inspector-schema{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font:11px var(--font-mono);margin-top:4px;overflow:hidden}.details-inspector-note{color:var(--muted-foreground);margin-top:10px;font-size:12px;line-height:1.6}.details-inspector-header .icon-button{border-color:#0000;width:28px;height:28px}.details-tabs{border-bottom:1px solid var(--border);gap:12px;padding:0 16px;display:flex}.details-tab{min-height:40px;color:var(--muted-foreground);background:0 0;border-bottom:2px solid #0000;flex:1;padding:8px 0;font-size:12px;font-weight:550}.details-tab:hover{color:var(--foreground)}.details-tab[aria-selected=true]{border-bottom-color:var(--primary);color:var(--primary);font-weight:650}.details-panel{flex:1;min-height:0;overflow:auto}.details-panel-content{flex-direction:column;padding:0 16px;display:flex}.details-column{border-bottom:1px solid var(--border);padding:14px 0}.details-column:last-child{border-bottom:0}.details-column[data-selected=true]{background:var(--accent);box-shadow:-16px 0 var(--accent), 16px 0 var(--accent)}.details-column-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.details-column-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:600 12px var(--font-mono);overflow:hidden}.details-column-type{color:var(--muted-foreground);font:10px var(--font-mono);flex:none}.details-chip-row{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.details-chip-row:empty{display:none}.details-chip-row .ui-badge{line-height:1.4}.details-field{grid-template-columns:68px minmax(0,1fr);gap:8px;margin-top:8px;font-size:11px;display:grid}.details-field-label{color:var(--muted-foreground)}.details-field-value{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono)}.details-column-note{color:var(--muted-foreground);margin-top:8px;font-size:12px;line-height:1.5}.details-section{padding:16px 0}.details-section-heading{color:var(--primary);align-items:center;gap:6px;margin-bottom:10px;display:flex}.details-reference,.details-index{border-bottom:1px solid var(--border);padding:12px 0;font-size:11px}.details-reference:last-child,.details-index:last-child{border-bottom:0}.details-reference-line,.details-index-line{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.details-reference-line+.details-reference-line{margin-top:6px}.details-reference-code,.details-index-columns{overflow-wrap:anywhere;min-width:0;font-family:var(--font-mono)}.details-index-columns{color:var(--muted-foreground);margin-top:8px;display:block}.details-reference-name,.details-index-kind{color:var(--muted-foreground);flex:none;font-size:10px}.details-empty{color:var(--muted-foreground);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 12px;font-size:12px;display:flex}.details-empty svg{width:24px;height:24px;color:var(--primary)}.details-records{padding:12px 16px;overflow:auto}.details-records table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}.details-records th,.details-records td{border-bottom:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;max-width:140px;padding:10px 8px;overflow:hidden}.details-records th{background:var(--muted);color:var(--muted-foreground);font:600 10px var(--font-mono)}.details-records td{font-family:var(--font-mono)}.details-records-note{color:var(--muted-foreground);margin-top:8px;font-size:11px}@media (width<=767px){.details-doc-trigger{gap:6px;width:min(220px,100vw - 152px);padding:0 4px}.details-doc-trigger>svg:first-child{display:none}.details-menu{width:calc(100vw - 24px);position:fixed;top:66px;left:12px}.details-menu-actions .icon-button{width:34px;min-height:38px}.details-inspector{width:calc(100% - 16px);max-width:none;max-height:calc(100% - 16px);top:8px;right:8px}.details-inspector-header{padding:14px}.details-inspector-header .icon-button{width:36px;height:36px}}
