:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-subtle:#f9fafb;--color-surface-muted:#f2f4f7;--color-node-header:#52689a;--color-node-header-text:#fff;--color-border:#e4e7ec;--color-border-strong:#d0d5dd;--color-text:#101828;--color-text-secondary:#344054;--color-text-muted:#475467;--color-text-faint:#98a2b3;--color-canvas-grid:#d8dde6;--color-minimap-mask:#1018281f;--color-accent:#2563eb;--color-accent-strong:#1d4ed8;--color-accent-subtle:#eff4ff;--color-accent-border:#bfd4fe;--color-danger:#f04438;--color-danger-subtle:#fef3f2;--color-warning:#f79009;--color-warning-subtle:#fffaeb;--color-success:#12b76a;--color-warning-text:#713f12;--color-pk:#b54708;--color-fk:#047857;--color-fk-subtle:#ecfdf3;--color-fk-border:#86efac;--font-sans:"Pretendard", "Segoe UI", "Apple SD Gothic Neo", sans-serif;--font-mono:"JetBrains Mono", "Consolas", monospace;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-lg:15px;--text-xl:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 1px 3px #1018281a, 0 1px 2px #1018280f;--shadow-lg:0 4px 12px #1018281f;--shadow-focus:0 0 0 3px #2563eb40;--duration-fast:.12s;--duration-normal:.2s;--ease-out:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#121212;--color-surface:#18181b;--color-surface-subtle:#222225;--color-surface-muted:#2c2c31;--color-node-header:#46597f;--color-node-header-text:#f7f7f8;--color-border:#3a3a40;--color-border-strong:#52525b;--color-text:#f7f7f8;--color-text-secondary:#e4e4e7;--color-text-muted:#c7c7cf;--color-text-faint:#9ca3af;--color-canvas-grid:#4b4b52;--color-minimap-mask:#00000073;--color-accent:#60a5fa;--color-accent-strong:#93c5fd;--color-accent-subtle:#172554;--color-accent-border:#2563eb;--color-danger:#fb7185;--color-danger-subtle:#4c0519;--color-warning:#fbbf24;--color-warning-subtle:#451a03;--color-success:#34d399;--color-warning-text:#fde68a;--color-pk:#fbbf24;--color-fk:#6ee7b7;--color-fk-subtle:#052e1b;--color-fk-border:#047857;--shadow-sm:0 1px 2px #00000047;--shadow-md:0 1px 3px #00000057, 0 1px 2px #0000003d;--shadow-lg:0 8px 24px #0000006b;--shadow-focus:0 0 0 3px #60a5fa52}:root{color:var(--color-text);background-color:var(--color-bg);font-family:var(--font-sans)}*,:before,:after{box-sizing:border-box}body{margin:0}button{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-resizing-inspector{cursor:col-resize;-webkit-user-select:none;user-select:none}.key-badges{vertical-align:middle;align-items:center;gap:3px;margin-right:5px;display:inline-flex}.key-badge{letter-spacing:0;border-radius:3px;justify-content:center;align-items:center;min-width:24px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.key-badge-primary{background:var(--color-accent-subtle);color:var(--color-accent-strong);border:1px solid var(--color-accent-border)}.key-badge-foreign{background:var(--color-fk-subtle);color:var(--color-fk);border:1px solid var(--color-fk-border)}.key-badge-index,.key-badge-notnull{background:var(--color-surface-muted);color:var(--color-text-muted);border:1px solid var(--color-border)}.error-fallback{justify-content:center;align-items:center;gap:var(--space-3);min-height:100vh;padding:var(--space-5);text-align:center;background:var(--color-bg);flex-direction:column;display:flex}.error-fallback h1{font-size:var(--text-xl);color:var(--color-text);margin:0}.error-fallback p{color:var(--color-text-muted);font-size:var(--text-md);margin:0;line-height:1.7}.error-fallback button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-surface);font-size:var(--text-md);cursor:pointer;border:none;font-weight:600}.error-fallback button:hover{background:var(--color-accent-strong)}.app-shell{grid-template-rows:auto minmax(0,1fr) auto;height:100vh;display:grid;overflow:hidden}.app-header{flex-direction:column;min-height:0;display:flex}.workspace-grid{grid-template-columns:var(--list-width,260px) minmax(0, 1fr) var(--inspector-width,400px);grid-template-areas:"list canvas inspector";min-height:0;display:grid}@media (width<=1366px){.workspace-grid{grid-template-columns:var(--list-width,260px) minmax(0, 1fr) min(var(--inspector-width,400px), max(280px, 30vw))}}.workspace-panel{border-right:1px solid var(--color-border);background:var(--color-surface);min-width:0;padding:12px}.list-panel,.inspector-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-head{flex-shrink:0;margin-bottom:4px;display:flex}.list-panel .panel-head{justify-content:flex-end}.inspector-panel .panel-head{justify-content:flex-start}.workspace-panel.is-collapsed{padding:12px 6px}.workspace-panel.is-collapsed .panel-head{justify-content:center}.panel-collapse-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.panel-collapse-toggle:hover{background:var(--color-surface-subtle);color:var(--color-text)}.panel-scroll{flex:1;min-height:0;overflow-y:auto}.list-panel .panel-scroll{flex-direction:column;display:flex;overflow:hidden}.list-panel .entity-list-panel{flex:1;height:auto;min-height:0}.canvas-panel{background:var(--color-surface-subtle);flex-direction:column;grid-area:canvas;min-height:0;display:flex}.canvas-panel .view-panel{flex:1;min-height:0}.canvas-view-tabs{align-items:stretch;gap:var(--space-1);padding:0 var(--space-2);border-bottom:1px solid var(--color-border);flex:none;display:flex;overflow-x:auto}.canvas-view-tab{color:var(--color-text-muted);white-space:nowrap;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px}.canvas-view-tab:hover{color:var(--color-text)}.canvas-view-tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-accent)}.canvas-view-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.view-panel{gap:var(--space-3);flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.canvas-panel>.view-panel{flex:1;min-height:0;position:relative}.canvas-host{flex:1;min-height:0;display:flex}.canvas-host.is-hidden{visibility:hidden;position:absolute;inset:0}.canvas-host.is-hidden *{visibility:hidden!important}.canvas-panel>.view-panel .erd-canvas{flex:1;min-height:0;margin-top:0;display:flex}.canvas-panel>.view-panel .erd-canvas>.erd-flow{flex:1;height:auto;min-height:0}@media (width<=900px){.erd-canvas{overflow:auto}.node-layer{gap:12px}.app-shell{grid-template-rows:auto 1fr auto;height:auto;min-height:100vh;overflow:visible}.app-toolbar{justify-content:flex-start}.workspace-grid{grid-template-columns:1fr;grid-template-areas:"canvas""list""inspector"}.workspace-panel{border-right:0;border-bottom:1px solid var(--color-border)}.list-panel,.inspector-panel{overflow:visible}.inspector-panel{border-bottom:0;padding-left:12px}.inspector-resize-handle{display:none}}.app-statusbar{align-items:center;gap:var(--space-4);padding:4px var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;display:flex;overflow-x:clip}.statusbar-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);padding:2px var(--space-1)}.statusbar-icon-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;place-items:center;padding:0;display:inline-grid}.statusbar-icon-button:hover:not(:disabled){border-color:var(--color-accent-border);color:var(--color-accent)}.statusbar-icon-button:disabled{opacity:.45;cursor:default}.statusbar-icon-button+.statusbar-icon-button{margin-left:calc(var(--space-4) * -1 + var(--space-1))}.statusbar-toggle{align-items:center;gap:var(--space-1);cursor:pointer;display:inline-flex}.statusbar-display-menu{flex:none;position:relative}.statusbar-display-menu summary{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:22px;color:var(--color-text-muted);padding:1px var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;list-style:none;display:inline-flex}.statusbar-display-menu summary::-webkit-details-marker{display:none}.statusbar-display-panel{z-index:20;gap:var(--space-3);box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:min(360px,100vw - 24px);min-width:0;box-shadow:var(--shadow-md);color:var(--color-text);padding:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:absolute;bottom:calc(100% + 6px);right:0}.statusbar-display-panel fieldset{gap:var(--space-1);border:0;min-width:0;margin:0;padding:0;display:grid}.statusbar-display-panel legend{margin-bottom:var(--space-1);color:var(--color-text-muted);font-weight:600}.statusbar-display-panel .statusbar-toggle{white-space:nowrap}@media (width<=900px){.statusbar-display-panel{grid-template-columns:1fr;width:auto;position:fixed;bottom:36px;left:12px;right:12px}}.statusbar-density-toggle{flex:none}.statusbar-density-toggle .segment-button{min-width:0;padding:1px var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.statusbar-density-toggle .segment-button[aria-pressed=true]{color:var(--color-surface)}.statusbar-layout-copy{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);padding:1px var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;flex:none}.statusbar-layout-copy:hover{color:var(--color-text)}.statusbar-unsaved-hint{align-items:center;gap:var(--space-1);padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-warning-subtle);color:var(--color-warning-text);font-size:var(--text-xs);white-space:nowrap;font-weight:600;display:inline-flex}.statusbar-hint{align-items:center;gap:var(--space-1);margin-left:auto;display:inline-flex}.statusbar-hint kbd{border:1px solid var(--color-border);background:var(--color-surface-subtle);font-size:10px;font-family:var(--font-mono);border-radius:3px;padding:0 5px}.statusbar-hint-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.statusbar-hint-button:hover{color:var(--color-text)}.app-toolbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex;overflow:auto visible}.toolbar-left{align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.app-toolbar h1{white-space:nowrap;margin:0;font-size:1.05rem}.toolbar-select{border:1px solid var(--color-border-strong);background:var(--color-surface);min-width:170px;height:32px;color:var(--color-text);border-radius:4px;padding:0 8px}.toolbar-group{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.toolbar-actions{flex-shrink:0}.segmented-buttons{border:1px solid var(--color-border-strong);white-space:nowrap;border-radius:4px;min-width:0;display:inline-flex;overflow-x:auto}.segment-button{border:0;border-right:1px solid var(--color-border-strong);background:var(--color-surface);min-width:84px;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;overflow:hidden}.segment-button:last-child{border-right:0}.segment-button[aria-pressed=true],.segment-button[aria-selected=true]{background:var(--color-accent);color:var(--color-surface)}.segment-button:focus-visible,.toolbar-icon-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.toolbar-icon-button{border:1px solid var(--color-border-strong);background:var(--color-surface);width:32px;min-width:32px;max-width:32px;height:32px;color:var(--color-text);border-radius:4px;place-items:center;padding:0;display:inline-grid}.toolbar-icon-button svg{width:16px;height:16px}.toolbar-icon-button+.toolbar-icon-button{margin-left:0}.toolbar-mcp-button{align-items:center;gap:var(--space-1);border:1px solid var(--color-border-strong);background:var(--color-surface);height:32px;color:var(--color-text);font-size:var(--text-sm);border-radius:4px;padding:0 10px;display:inline-flex}.toolbar-new-project{align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-3);border:1px solid var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent-strong);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);border-radius:4px;font-weight:600;display:inline-flex}.toolbar-new-project:hover{background:var(--color-accent);color:var(--color-surface)}.toolbar-new-project:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.toolbar-new-project svg{width:16px;height:16px}.toolbar-brand{align-items:center;gap:var(--space-2);color:inherit;text-decoration:none;display:flex}.toolbar-brand:hover h1{color:var(--color-accent)}.toolbar-brand-icon{border-radius:var(--radius-sm);background:var(--color-accent);width:24px;height:24px;color:var(--color-surface);justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.project-name-button{padding:4px var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #0000}.project-name-button:hover{border-color:var(--color-border);background:var(--color-surface-subtle)}.project-name-input{padding:4px var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text);box-shadow:var(--shadow-focus);outline:none}.save-status{padding:4px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;display:inline-flex}.save-status:hover{background:var(--color-surface-subtle)}.save-status-dot{background:var(--color-success);border-radius:50%;width:7px;height:7px}.save-status-saving .save-status-dot{background:var(--color-warning)}.save-status-error{color:var(--color-danger)}.save-status-error .save-status-dot{background:var(--color-danger)}.toolbar-divider{background:var(--color-border);width:1px;height:18px;margin:0 var(--space-2)}.language-select{min-width:88px}.list-panel{background:var(--color-surface-subtle);grid-area:list}.list-panel ul{margin:0;padding-left:18px}.list-panel li+li{margin-top:4px}.entity-list li+li{margin-top:1px}.entity-list-button{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 8px;font-size:13px;line-height:1.4}.entity-list-button:hover,.entity-list-button:focus-visible{background:var(--color-accent-subtle);outline-offset:1px;outline:2px solid #1f6feb29}.entity-list-button[aria-current=true]{background:var(--color-accent-subtle);color:var(--color-accent-strong);font-weight:700}.entity-list-panel{flex-direction:column;height:100%;min-height:0;display:flex}.entity-list-search{align-items:center;gap:var(--space-1);margin:var(--space-2);padding:5px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-faint);display:flex}.entity-list-search input{width:100%;font-size:var(--text-xs);color:var(--color-text);background:0 0;border:none;outline:none}.entity-list-scroll{min-height:0;padding-bottom:var(--space-2);flex:1;overflow-y:auto}.entity-list-section+.entity-list-section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.entity-list-count{padding:var(--space-1) var(--space-3);letter-spacing:0;color:var(--color-text-faint);text-transform:uppercase;font-size:10px;font-weight:700}.entity-list,.subject-area-list{margin:0;padding:0;list-style:none}.subject-area-list-item+.subject-area-list-item{margin-top:2px}.subject-area-list-row{padding:0 var(--space-1);grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:2px;display:grid}.subject-area-list-button,.subject-area-member-button,.subject-area-delete-button{color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:4px}.subject-area-list-button{text-align:left;grid-template-columns:14px 10px minmax(0,1fr);align-items:center;gap:5px;min-width:0;padding:4px 5px;display:grid}.subject-area-list-button:hover,.subject-area-list-button:focus-visible,.subject-area-member-button:hover,.subject-area-member-button:focus-visible,.subject-area-delete-button:hover,.subject-area-delete-button:focus-visible{background:var(--color-accent-subtle);outline-offset:1px;outline:2px solid #1f6feb29}.subject-area-list-button[aria-current=true],.subject-area-member-button[aria-current=true]{background:var(--color-accent-subtle);color:var(--color-accent-strong);font-weight:700}.subject-area-list-swatch{border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 1px #0000001f}.subject-area-list-name,.subject-area-member-button{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subject-area-delete-button{width:26px;height:26px;color:var(--color-text-faint);justify-content:center;align-items:center;display:inline-flex}.subject-area-delete-button:hover,.subject-area-delete-button:focus-visible{color:var(--color-danger)}.subject-area-member-panel{margin:1px var(--space-2) var(--space-1) 30px;padding-left:var(--space-2);border-left:1px solid var(--color-border)}.subject-area-member-count{color:var(--color-text-faint);padding:2px 0 3px;font-size:10px}.subject-area-member-list{margin:0;padding:0;list-style:none}.subject-area-member-button{text-align:left;width:100%;font-size:var(--text-xs);color:var(--color-text-secondary);padding:3px 5px}.subject-area-empty{font-size:var(--text-xs);color:var(--color-text-faint);margin:0;padding:3px 0 5px}.shared-erd-section{max-height:32vh;padding:var(--space-2) 0;border-top:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;margin-top:auto;display:flex}.shared-erd-list{min-height:0;padding:0 var(--space-1);flex:1;overflow-y:auto}.shared-erd-item{padding:0 var(--space-1);grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:2px;display:grid}.shared-erd-item+.shared-erd-item{margin-top:1px}.shared-erd-open-button{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.shared-erd-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;overflow:hidden}.shared-erd-date{color:var(--color-text-faint);font-variant-numeric:tabular-nums;font-size:10px}.shared-erd-leave-button{width:26px;height:26px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.shared-erd-leave-button:hover,.shared-erd-leave-button:focus-visible{background:var(--color-danger-subtle);color:var(--color-danger);outline-offset:1px;outline:2px solid #f0443829}.lint-dock{border-top:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;display:flex}.lint-dock .lint-summary{width:100%}.lint-dock .lint-summary-label{color:var(--color-text-muted);margin-left:0;font-weight:600}.lint-dock-body{border-top:1px solid var(--color-border);max-height:35vh;overflow-y:auto}.lint-dock .lint-list{padding:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px;display:grid;overflow:visible}.lint-summary{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--text-xs);color:var(--color-text-muted);background:0 0;border:none;display:flex}.lint-summary:hover{background:var(--color-surface-subtle)}.lint-summary-badge{align-items:center;gap:3px;display:inline-flex}.lint-summary-error{color:var(--color-danger)}.lint-summary-warning{color:var(--color-warning)}.lint-summary-label{color:var(--color-text-faint);margin-left:auto}.lint-compliance{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);display:flex}.lint-compliance-label{color:var(--color-text-secondary)}.lint-compliance-value{font-variant-numeric:tabular-nums;font-weight:600}.lint-compliance-high .lint-compliance-value{color:var(--color-success)}.lint-compliance-medium .lint-compliance-value{color:var(--color-warning)}.lint-compliance-low .lint-compliance-value{color:var(--color-danger)}.lint-compliance-empty .lint-compliance-value{color:var(--color-text-faint);font-weight:400}.lint-drift-header{justify-content:space-between;align-items:center;gap:8px;padding:6px 10px 2px;display:flex}.lint-drift-title{font-size:12px;font-weight:600}.lint-drift-apply{padding:2px 8px;font-size:11px}.lint-empty{padding:var(--space-3);font-size:var(--text-xs);color:var(--color-text-faint);text-align:center;margin:0}.lint-list{padding:0 var(--space-1) var(--space-2);margin:0;list-style:none;overflow-y:auto}.lint-item{align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-align:left;cursor:pointer;font-size:var(--text-xs);color:var(--color-text-secondary);background:0 0;border:none;line-height:1.4;display:flex}.lint-item:hover{background:var(--color-surface-muted)}.lint-item svg{flex-shrink:0;margin-top:1px}.lint-item-error svg{color:var(--color-danger)}.lint-item-warning svg{color:var(--color-warning)}.lint-item-info svg{color:var(--color-text-faint)}.glossary-sync-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);display:flex}.glossary-sync-label{color:var(--color-text-secondary);flex:1}.glossary-sync-outdated{background:var(--color-warning-subtle,var(--color-surface-muted))}.glossary-sync-outdated .glossary-sync-label{color:var(--color-warning);font-weight:600}.glossary-sync-outdated svg{color:var(--color-warning);flex-shrink:0}.glossary-sync-deleted{background:var(--color-error-subtle,var(--color-surface-muted))}.glossary-sync-deleted .glossary-sync-label{color:var(--color-error,var(--color-danger));font-weight:600}.glossary-sync-synced .glossary-sync-label{color:var(--color-success)}.glossary-sync-action{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.glossary-sync-action:hover{background:var(--color-surface-muted)}.glossary-sync-primary{border-color:var(--color-warning);background:var(--color-warning);color:var(--color-on-accent,#fff);font-weight:600}.glossary-sync-primary:hover{filter:brightness(.95);background:var(--color-warning)}.glossary-sync-danger{color:var(--color-danger)}.glossary-sync-danger:hover{background:var(--color-danger-subtle,var(--color-surface-muted))}.dictionary-readonly-hint{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-surface-muted);border-radius:var(--radius-sm);margin:0}.dictionary-master-footer{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);display:flex}.dictionary-master-hint{font-size:var(--text-xs);color:var(--color-text-secondary);flex:1}.dictionary-master-save{border:1px solid var(--color-accent-strong,var(--color-accent));border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent,#fff);font-size:var(--text-xs);cursor:pointer;padding:4px 12px;font-weight:600}.dictionary-master-save:hover{filter:brightness(.97)}.dictionary-master-cancel{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;background:0 0;padding:4px 12px}.dictionary-master-cancel:hover{background:var(--color-surface-muted)}.erd-canvas{min-width:0;min-height:0;margin-top:12px;position:relative;overflow:visible}.erd-flow{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:4px;width:100%;height:min(62vh,640px);min-height:460px;overflow:hidden}.erd-flow .react-flow__controls{box-shadow:var(--shadow-md);border-radius:var(--radius-sm);overflow:hidden}.erd-flow .react-flow__controls-button{background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);fill:currentColor}.erd-flow .react-flow__controls-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.erd-flow .react-flow__controls-button svg{fill:currentColor}.erd-flow .react-flow__minimap{border:1px solid var(--color-border);border-radius:var(--radius-sm)}.erd-flow .react-flow__nodes{pointer-events:none;z-index:3}.erd-flow .react-flow__viewport,.erd-flow .react-flow__nodesselection-rect,.erd-flow .react-flow__viewport-portal{pointer-events:none}.erd-flow .react-flow__node,.erd-flow .react-flow__node.selectable,.erd-flow .react-flow__node.draggable{pointer-events:auto;z-index:3}.erd-flow .react-flow__node.selected{z-index:12}.erd-marker-defs path,.erd-marker-defs circle{fill:none;stroke:var(--color-text-muted);stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.erd-relationship-layer{pointer-events:none;z-index:2;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.erd-relationship{cursor:pointer;pointer-events:visibleStroke}.erd-relationship:focus{outline:none}.erd-relationship-lod{pointer-events:none}.erd-relationship-hitbox{fill:none;stroke:#0000;stroke-width:18px;pointer-events:stroke;cursor:pointer}body.is-dragging-relationship{cursor:grabbing}.erd-relationship-segment-handle{fill:var(--color-surface);stroke:var(--color-accent);stroke-width:1.5px;pointer-events:all}.erd-relationship-segment-handle-v{cursor:ew-resize}.erd-relationship-segment-handle-h{cursor:ns-resize}.erd-relationship-segment-handle:hover,body.is-dragging-relationship .erd-relationship-segment-handle{fill:var(--color-accent-subtle)}.erd-relationship-path{fill:none;stroke:var(--color-text-muted);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.erd-relationship-path-nonIdentifying{stroke-dasharray:5 4}.erd-relationship-selected .erd-relationship-path,.erd-relationship:focus .erd-relationship-path{stroke:var(--color-accent);stroke-width:2px}.erd-relationship-label-layer{pointer-events:none;z-index:13;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.erd-relationship-label{fill:var(--color-text-muted);paint-order:stroke;pointer-events:auto;cursor:pointer;stroke:var(--color-surface);stroke-linejoin:round;stroke-width:4px;text-anchor:middle;font-size:11px;font-weight:600}.erd-relationship-label-selected{fill:var(--color-accent)}.subject-area-layer{pointer-events:none;z-index:1;position:absolute;inset:0}.subject-area-box{pointer-events:none;border:2px dashed;border-radius:8px;position:absolute}.subject-area-box-selected{box-shadow:var(--shadow-focus)}.subject-area-label{color:#fff;cursor:pointer;max-width:180px;min-height:20px;font-size:var(--text-xs);pointer-events:auto;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:6px;padding:2px 8px;font-weight:700;line-height:1.3;position:absolute;top:-11px;left:12px;overflow:hidden}.node-layer{flex-wrap:wrap;align-content:flex-start;gap:16px;min-width:0;display:flex}.erd-node{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-lg);word-break:break-word;box-sizing:border-box;width:100%;min-width:220px;max-width:720px;min-height:100%;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);position:relative;overflow:visible}.erd-node-selected{border-color:var(--color-accent);box-shadow:0 0 0 2px #1f6feb2e}.erd-node-reference{border-style:solid;border-color:var(--color-border-strong);min-height:96px;box-shadow:inset 3px 0 0 var(--color-accent-border), var(--shadow-sm)}.erd-node-reference header{box-sizing:border-box;min-height:34px}.erd-node-reference .erd-node-title{align-items:center;gap:6px;min-width:0;display:inline-flex}.erd-node-reference-icon{color:inherit;flex:none;font-size:12px;line-height:1}.erd-node-reference-badge{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);flex:none;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.erd-node-header-colored .erd-node-reference-icon{color:#fff}.erd-node-header-colored .erd-node-reference-badge{color:#fff;background:#ffffff2e;border-color:#ffffff6b}.erd-node-reference-meta{align-items:baseline;gap:var(--space-2);flex-shrink:0;min-width:0;display:inline-flex}.erd-node-handle{pointer-events:auto;z-index:8;background:0 0;border:0;width:24px;height:24px}.erd-node-source-handle{pointer-events:none;z-index:7}.erd-node-target-handle{z-index:9}.erd-node-handle:after{content:"";border:2px solid var(--color-surface);background:var(--color-accent);border-radius:999px;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.erd-node-handle:hover:after,.erd-node-handle.connectingfrom:after,.erd-node-handle.connectingto:after,.erd-node-handle.valid:after{box-shadow:0 0 0 4px #1f6feb2e}.erd-flow .react-flow__connectionline{pointer-events:none}.erd-node header{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:1px solid var(--color-border-strong);background:var(--color-node-header);color:var(--color-node-header-text);word-break:break-word;white-space:normal;justify-content:flex-start;align-items:baseline;gap:var(--space-2);padding:8px 10px;font-weight:700;line-height:1.3;display:flex}.erd-node-reference .erd-node-reference-meta{margin-left:auto}.erd-node-header-colored .erd-node-title,.erd-node-header-colored .erd-node-subtitle{color:#fff}.erd-node-subtitle{color:inherit;opacity:.75;letter-spacing:.3px;flex-shrink:0;font-size:10px;font-weight:400}.erd-node-header-meta{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:inline-flex}.erd-node-edit-toggle{border-radius:var(--radius-sm);width:22px;height:22px;color:inherit;cursor:pointer;opacity:0;transition:opacity var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.erd-node:hover .erd-node-edit-toggle,.erd-node-selected .erd-node-edit-toggle,.erd-node-edit-toggle:focus-visible,.erd-node-edit-toggle-active{opacity:1}.erd-node-edit-toggle:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.erd-node-edit-toggle-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.erd-node-header-colored .erd-node-edit-toggle{color:#fff}.erd-node-collapse-toggle{border-radius:var(--radius-sm);width:22px;height:22px;color:inherit;cursor:pointer;opacity:0;transition:opacity var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.erd-node:hover .erd-node-collapse-toggle,.erd-node-selected .erd-node-collapse-toggle,.erd-node-collapse-toggle:focus-visible{opacity:1}.erd-node-collapse-toggle:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.erd-node-header-colored .erd-node-collapse-toggle{color:#fff}.erd-node-collapsed-more{width:100%;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);text-align:left;background:0 0;border:0;grid-column:1/-1;padding:4px 0}.erd-node-collapsed-more:hover{background:var(--color-surface);color:var(--color-text)}.erd-node-body{grid-template-columns:max-content minmax(0,max-content) minmax(0,1fr);align-content:start;gap:2px 6px;min-width:0;padding:8px 10px;display:grid}.erd-node-body-has-secondary{grid-template-columns:max-content minmax(0,max-content) max-content minmax(0,1fr)}.erd-node-body-has-domain{grid-template-columns:max-content minmax(0,max-content) minmax(0,1fr) max-content}.erd-node-body-has-secondary.erd-node-body-has-domain{grid-template-columns:max-content minmax(0,max-content) max-content minmax(0,1fr) max-content}.erd-node-body-has-type{grid-template-columns:max-content minmax(0,max-content) minmax(0,1fr) max-content}.erd-node-body-has-secondary.erd-node-body-has-type{grid-template-columns:max-content minmax(0,max-content) max-content minmax(0,1fr) max-content}.erd-node-body-has-domain.erd-node-body-has-type{grid-template-columns:max-content minmax(0,max-content) minmax(0,1fr) max-content max-content}.erd-node-body-has-secondary.erd-node-body-has-domain.erd-node-body-has-type{grid-template-columns:max-content minmax(0,max-content) max-content minmax(0,1fr) max-content max-content}.erd-node-body-editing.erd-node-body-has-domain.erd-node-body-has-type{grid-template-columns:max-content minmax(0,max-content) minmax(0,1fr) minmax(64px,max-content) minmax(80px,max-content)}.erd-node-body-editing.erd-node-body-has-type:not(.erd-node-body-has-domain){grid-template-columns:max-content minmax(0,max-content) minmax(0,1fr) minmax(80px,max-content)}.erd-node-attribute-row{grid-column:1/-1;grid-template-columns:subgrid;word-break:break-word;overflow-wrap:anywhere;align-items:center;min-width:0;padding:2px 0;font-size:13px;line-height:1.3;display:grid}.erd-node-empty,.erd-node-add-attribute{grid-column:1/-1}.erd-node-attribute-row-drop-above{box-shadow:0 -2px 0 0 var(--color-accent)}.erd-node-attribute-row-drop-below{box-shadow:0 2px 0 0 var(--color-accent)}.erd-node-attribute-spacer{min-width:0}.erd-node-attribute-row[role=button]{cursor:pointer;border-radius:var(--radius-sm);outline:none}.erd-node-attribute-row[role=button]:hover{background:var(--color-surface-subtle)}.erd-node-attribute-row-selected{background:var(--color-accent-subtle);box-shadow:inset 0 0 0 1px var(--color-accent-border)}.erd-node-attribute-row[role=button]:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent)}.erd-node-attribute-primary-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.erd-node-attribute-row-pk .erd-node-attribute-primary-name{font-weight:600}.erd-node-attribute-secondary-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-muted);justify-self:start;font-size:11px;line-height:1.2;overflow:hidden}.erd-node-attribute-key{justify-content:flex-start;align-items:center;min-width:18px;display:flex}.erd-node-attribute-key .key-badges{margin-right:0}.key-icon{flex-shrink:0}.key-icon-primary{color:var(--color-warning,#d9a400)}.key-icon-foreign{color:var(--color-fk,#2f6feb)}.key-icon-unique{color:var(--color-accent-strong,#6938ef)}.key-icon-notnull{color:var(--color-text-muted)}.erd-node-key-editor{position:relative}.erd-node-key-summary{border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);cursor:pointer;justify-content:center;align-items:center;min-width:20px;min-height:20px;padding:1px 2px;list-style:none;display:flex}.erd-node-key-summary::-webkit-details-marker{display:none}.erd-node-key-summary:hover,.erd-node-key-summary:focus-visible,.erd-node-key-editor[open] .erd-node-key-summary{border-style:solid;border-color:var(--color-accent);background:var(--color-accent-subtle)}.erd-node-key-placeholder{width:13px;height:13px;color:var(--color-text-muted);opacity:.9;justify-content:center;align-items:center;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.erd-node-key-placeholder:before{content:"+"}.erd-node-key-summary:hover .erd-node-key-placeholder,.erd-node-key-editor[open] .erd-node-key-placeholder{color:var(--color-accent);opacity:1}.erd-node-key-panel{z-index:40;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:150px;box-shadow:var(--shadow-lg);gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.erd-node-key-panel-header{justify-content:flex-end;margin-bottom:2px;display:flex}.erd-node-key-close{border-radius:var(--radius-sm);width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.erd-node-key-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.erd-node-key-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.erd-node-key-option{color:var(--color-text);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.erd-node-key-option input[type=checkbox]{margin:0}.erd-node-attribute-name,.erd-node-attribute-domain-edit,.erd-node-attribute-type-edit{min-width:0}.erd-node-attribute-domain-edit,.erd-node-attribute-type-edit{display:block}.erd-node-body .domain-type-input,.erd-node-body .physical-type-input{width:100%}.erd-node-body .inline-edit-input{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;background:0 0;border:1px solid #0000;padding:2px 4px}.erd-node-body .inline-edit-input,.erd-node-title-edit .inline-edit-input{field-sizing:content;min-width:6ch}@supports not (field-sizing:content){.erd-node-body .inline-edit-input,.erd-node-title-edit .inline-edit-input{max-width:12ch}}.erd-node-attribute-domain-edit .inline-edit-input{color:var(--color-text-muted);text-align:right;font-size:12px}.erd-node-attribute-type-edit .inline-edit-input{color:var(--color-text-secondary);font-family:var(--font-mono);text-align:right;font-size:11.5px}.erd-node-body .inline-edit-input:hover{border-color:var(--color-border)}.erd-node-body .inline-edit-input:focus{border-color:var(--color-accent);background:var(--color-surface);text-align:left;outline:none;box-shadow:0 0 0 2px #1f6feb24}.erd-node-title-edit{flex:auto;min-width:0;display:inline-flex}.erd-node-title-edit .inline-edit-input{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;background:0 0;border:1px solid #0000;padding:1px 4px}.erd-node-title-edit .inline-edit-input:hover{border-color:var(--color-border)}.erd-node-title-edit .inline-edit-input:focus{border-color:var(--color-accent);background:var(--color-surface);color:var(--color-text);outline:none;box-shadow:0 0 0 2px #1f6feb24}.erd-node-add-attribute{align-items:center;gap:var(--space-1);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;margin-top:2px;padding:4px 6px;font-size:12px;display:inline-flex}.erd-node-add-attribute:hover{border-color:var(--color-accent-border);color:var(--color-accent-strong);background:var(--color-accent-subtle)}.erd-node-add-attribute-hint{border:1px solid var(--color-border);color:var(--color-text-muted);opacity:.75;white-space:nowrap;border-radius:3px;padding:0 3px;font-family:inherit;font-size:10px;line-height:1.4}.erd-node-add-attribute:hover .erd-node-add-attribute-hint{border-color:var(--color-accent-border)}.erd-node-attribute-domain{min-width:0;color:var(--color-text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.erd-node-attribute-type{color:var(--color-text-secondary);font-family:var(--font-mono);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;overflow:hidden}.erd-node-empty{color:var(--color-text-muted);margin:0;font-size:13px}.erd-node+.erd-node{margin-top:0}.canvas-tool-button{align-items:center;gap:var(--space-1);padding:6px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-md);display:inline-flex}.canvas-tool-button:hover{background:var(--color-surface-subtle)}.canvas-tool-button kbd{border:1px solid var(--color-border);background:var(--color-surface-subtle);font-size:9px;font-family:var(--font-mono);color:var(--color-text-faint);border-radius:3px;padding:0 4px}.canvas-tool-primary{color:var(--color-accent-strong);background:var(--color-accent-subtle);border-color:var(--color-accent-border)}.canvas-tool-primary:hover{background:var(--color-accent-subtle);filter:brightness(.98)}.canvas-tools{top:var(--space-3);left:var(--space-3);z-index:5;align-items:center;gap:var(--space-2);display:flex;position:absolute}.selection-toolbar{padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);align-items:center;gap:2px;display:flex}.selection-toolbar-button{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.selection-toolbar-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.canvas-empty-guide{justify-content:center;align-items:center;gap:var(--space-3);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.canvas-empty-guide p{color:var(--color-text-muted);font-size:var(--text-md);margin:0}.canvas-empty-guide button{pointer-events:auto}.sticky-note{box-sizing:border-box;width:100%;height:100%;padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-md);line-height:1.4;position:relative;overflow:hidden}.sticky-note-yellow{color:#713f12;background:#fde047}.sticky-note-pink{color:#831843;background:#f9a8d4}.sticky-note-blue{color:#1e3a8a;background:#93c5fd}.sticky-note-green{color:#14532d;background:#86efac}.sticky-note-gray{color:#1f2937;background:#cbd5e1}.sticky-note-text{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;width:100%;height:100%;overflow:hidden}.sticky-note-placeholder{opacity:.5}.sticky-note-input{width:100%;height:100%;color:inherit;font:inherit;line-height:inherit;resize:none;background:0 0;border:0;outline:none;margin:0;padding:0}.sticky-note-toolbar{z-index:1;border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:4px;padding:3px 4px;display:flex;position:absolute;top:4px;right:4px}.sticky-note-swatch{cursor:pointer;border:1px solid #0000001f;border-radius:999px;width:14px;height:14px;padding:0}.sticky-note-swatch:hover{box-shadow:0 0 0 2px #1f6feb40}.sticky-note-swatch-yellow{background:#fde047}.sticky-note-swatch-pink{background:#f9a8d4}.sticky-note-swatch-blue{background:#93c5fd}.sticky-note-swatch-green{background:#86efac}.sticky-note-swatch-gray{background:#cbd5e1}.sticky-note-delete{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sticky-note-delete:hover{background:var(--color-surface-muted);color:var(--color-text)}.react-flow__node-noteNode .react-flow__resize-control.handle{background:var(--color-accent,#3367d9);border-width:2px;border-color:#fff;border-radius:3px;width:12px;height:12px}.react-flow__node-noteNode .react-flow__resize-control.line{border-width:2px}.react-flow__node-noteNode .react-flow__resize-control.line.top,.react-flow__node-noteNode .react-flow__resize-control.line.bottom{height:10px}.react-flow__node-noteNode .react-flow__resize-control.line.left,.react-flow__node-noteNode .react-flow__resize-control.line.right{width:10px}.erd-node-attribute-row-editing{padding-right:28px;position:relative}.erd-node-row-delete{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.erd-node-row-delete:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.erd-node-row-delete:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.inspector-panel{border-right:0;grid-area:inspector;padding-left:16px;position:relative}.inspector-resize-handle{cursor:col-resize;touch-action:none;outline:none;width:12px;position:absolute;top:0;bottom:0;left:0}.inspector-resize-handle:before{content:"";background:var(--color-border);width:2px;position:absolute;top:0;bottom:0;left:5px}.inspector-resize-handle:after{content:"";background:var(--color-text-faint);opacity:0;border-radius:3px;width:6px;height:40px;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.inspector-resize-handle:hover:before,.inspector-resize-handle:focus-visible:before,.is-resizing-inspector .inspector-resize-handle:before{background:var(--color-accent)}.inspector-resize-handle:hover:after,.inspector-resize-handle:focus-visible:after,.is-resizing-inspector .inspector-resize-handle:after{opacity:1}.inspector{min-width:0;display:block}.panel.inspector{gap:var(--space-3);flex-direction:column;display:flex}.panel.inspector h2{font-size:var(--text-lg);color:var(--color-text);margin:0}.inspector-section{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.inspector-section>h3{font-size:var(--text-md);color:var(--color-text);word-break:break-word;margin:0;font-weight:700;line-height:1.35}.inspector-section>p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.info-card{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.info-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.info-label{font-size:var(--text-xs);letter-spacing:.3px;text-transform:uppercase;color:var(--color-text-faint);font-weight:600}.info-value{font-size:var(--text-md);color:var(--color-text);word-break:break-word}.info-value-mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary)}.info-field input,.info-field select,.info-field textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;padding:6px var(--space-2);font-size:var(--text-md);color:var(--color-text);background:var(--color-surface)}.info-field textarea{resize:vertical;min-height:72px;line-height:1.45}.info-field input:focus,.info-field select:focus,.info-field textarea:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.color-picker{gap:var(--space-1);flex-wrap:wrap;display:flex}.color-swatch{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;width:22px;height:22px;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);padding:0}.color-swatch:hover{border-color:var(--color-text-muted);transform:translateY(-1px)}.color-swatch:focus-visible{box-shadow:var(--shadow-focus);outline:none}.color-swatch-selected{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.color-swatch-none{background:linear-gradient(135deg, transparent 46%, var(--color-danger) 47%, var(--color-danger) 53%, transparent 54%), repeating-linear-gradient(45deg, var(--color-surface) 0, var(--color-surface) 4px, var(--color-surface-subtle) 4px, var(--color-surface-subtle) 8px)}.info-card-footer{border-top:1px solid var(--color-border);padding-top:var(--space-2);justify-content:flex-end;display:flex}.ghost-button{align-items:center;gap:var(--space-1);padding:5px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);display:inline-flex}.ghost-button:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong);color:var(--color-text)}.ghost-button-accent:hover{color:var(--color-accent-strong);border-color:var(--color-accent-border);background:var(--color-accent-subtle)}.ghost-button-danger:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-subtle)}.inspector-subsection-title-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.inspector-action-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.inspector-subsection-title-row h4{color:var(--color-text);font-size:var(--text-md);margin:0;font-weight:700}.inspector-shortcut-hint{border:1px solid var(--color-border);color:var(--color-text-muted);opacity:.75;white-space:nowrap;border-radius:3px;padding:0 3px;font-family:inherit;font-size:10px;line-height:1.4}.inspector-grid-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);max-width:100%;overflow-x:auto}.inspector-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;font-size:var(--text-sm)}.inspector-grid th,.inspector-grid td{padding:6px var(--space-2);text-align:left;vertical-align:middle;word-break:break-word}.inspector-grid thead th{background:var(--color-surface-subtle);color:var(--color-text-faint);font-weight:600;font-size:var(--text-xs);letter-spacing:.2px;text-transform:uppercase;border-bottom:1px solid var(--color-border);white-space:nowrap}.inspector-grid tbody tr{border-bottom:1px solid var(--color-border);transition:background var(--duration-fast)}.inspector-grid tbody tr:last-child{border-bottom:0}.inspector-grid tbody tr:hover{background:var(--color-surface-subtle)}.inspector-grid input,.inspector-grid select{border-radius:var(--radius-sm);width:100%;min-width:0;padding:4px var(--space-1);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--duration-fast), background var(--duration-fast);background:0 0;border:1px solid #0000}.inspector-grid .domain-type-input,.inspector-grid .physical-type-input{width:100%}.inspector-grid input:hover,.inspector-grid select:hover{border-color:var(--color-border);background:var(--color-surface)}.inspector-grid input:focus,.inspector-grid select:focus{border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--shadow-focus);outline:none}.attribute-grid{min-width:460px}.attribute-grid th:first-child,.attribute-grid td:first-child{text-align:center;width:28px;padding-left:2px;padding-right:2px}.attribute-grid th:nth-child(2),.attribute-grid td:nth-child(2){width:22%}.attribute-grid th:nth-child(3),.attribute-grid td:nth-child(3){width:17%}.attribute-grid th:nth-child(4),.attribute-grid td:nth-child(4){width:13%}.attribute-grid th:nth-child(5),.attribute-grid td:nth-child(5),.attribute-grid th:nth-child(6),.attribute-grid td:nth-child(6),.attribute-grid th:nth-child(7),.attribute-grid td:nth-child(7){text-align:center;width:34px;padding-left:2px;padding-right:2px}.attribute-grid th:nth-child(8),.attribute-grid td:nth-child(8){width:13%}.attribute-select-cell{text-align:center}.attribute-select-cell input[type=checkbox]{width:15px;min-width:0;height:15px;accent-color:var(--color-accent);cursor:pointer;margin:0}.attribute-row-selected>td{background:var(--color-accent-subtle)}.attribute-grid-toolbar{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.attribute-data-type{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.attribute-key-cell{flex-wrap:nowrap;justify-content:center;align-items:center;gap:3px;display:flex}.attribute-flag-cell{text-align:center}.attribute-flag-cell input[type=checkbox],.attribute-key-cell input[type=checkbox]{width:15px;min-width:0;height:15px;accent-color:var(--color-accent);cursor:pointer;margin:0}.attribute-flag-cell input[type=checkbox]:disabled,.attribute-key-cell input[type=checkbox]:disabled{cursor:not-allowed;opacity:.45}.row-icon-button{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-faint);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;place-items:center;display:inline-grid}.row-icon-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.row-icon-button:disabled{cursor:not-allowed;opacity:.35}.row-icon-button:disabled:hover{color:var(--color-text-faint);background:0 0}.row-icon-button-danger:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.physical-column-grid th:nth-child(2),.physical-column-grid td:nth-child(2){width:110px}.physical-column-grid th:nth-child(3),.physical-column-grid td:nth-child(3){text-align:center;width:56px}.physical-column-input-locked{cursor:not-allowed;color:var(--color-text-muted);background:var(--color-surface-subtle);border-color:#0000}.physical-index-grid{min-width:300px}.physical-index-grid th:nth-child(2),.physical-index-grid td:nth-child(2){width:32%}.physical-index-grid th:nth-child(3),.physical-index-grid td:nth-child(3),.physical-index-grid th:nth-child(4),.physical-index-grid td:nth-child(4){text-align:center;width:40px}.index-column-picker{width:100%}.index-column-trigger{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);text-align:left;cursor:pointer;display:flex}.index-column-trigger .index-column-summary{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.index-column-trigger .index-column-placeholder{color:var(--color-text-faint);flex:1}.index-column-popover{z-index:980;gap:var(--space-1);max-width:320px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed}.index-column-search{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.index-column-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.index-column-option{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;display:flex}.index-column-option:hover{background:var(--color-surface-muted)}.index-column-empty{padding:var(--space-2);color:var(--color-text-faint);font-size:var(--text-sm)}.inspector-info-grid th:first-child{background:var(--color-surface-subtle);width:92px;color:var(--color-text-muted);font-weight:600;font-size:var(--text-xs)}.inspector-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.inspector-header h2{margin:0}.inspector-edit-toggle{align-items:center;gap:var(--space-1);height:26px;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);font-weight:600;display:inline-flex}.inspector-edit-toggle:hover{background:var(--color-surface-subtle)}.inspector-edit-toggle-active{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent)}.inspector-edit-toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.inspector-edit-scope{border:0;min-inline-size:auto;margin:0;padding:0;display:contents}.inspector-empty{color:var(--color-text-muted);flex-direction:column;gap:8px;font-size:13px;display:flex}.inspector-empty p{margin:0}.dictionary-panel{background:var(--color-surface);gap:var(--space-4);flex-direction:column;min-height:0;display:flex;overflow:auto}.dictionary-section{gap:var(--space-3);flex-direction:column;min-height:0;display:flex}.dictionary-form{gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;display:grid}.dictionary-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.dictionary-field label{font-size:var(--text-sm);color:var(--color-text-muted);white-space:normal;font-weight:500;line-height:1.3}.dictionary-field input,.dictionary-field select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:0;font-size:var(--text-md);color:var(--color-text);background:var(--color-surface);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:7px 9px}.dictionary-field input:focus,.dictionary-field select:focus{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.dictionary-add-button,.dictionary-propose-add{justify-content:center;align-items:center;gap:var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:auto;color:var(--color-text-muted);white-space:nowrap;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast);align-self:start;padding:7px 12px;display:inline-flex}.dictionary-add-button:hover,.dictionary-propose-add:hover{border-color:var(--color-accent-border);background:var(--color-accent-subtle);color:var(--color-accent)}.dictionary-add-button:focus-visible,.dictionary-propose-add:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.dictionary-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex:1;min-height:0;overflow:auto}.dictionary-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--text-md)}.dictionary-table th,.dictionary-table td{text-align:left;vertical-align:top;word-break:break-word;border-bottom:1px solid var(--color-border);padding:9px 14px}.dictionary-table tbody tr:last-child td{border-bottom:0}.dictionary-table thead th{z-index:1;background:var(--color-surface-subtle);color:var(--color-text-muted);font-weight:600;font-size:var(--text-sm);letter-spacing:.01em;position:sticky;top:0}.dictionary-table tbody tr{transition:background var(--duration-fast)}.dictionary-table tbody tr:hover{background:var(--color-surface-subtle)}.dictionary-table td{color:var(--color-text-secondary)}.dictionary-table td.dictionary-cell-mono{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text)}.dictionary-search{align-items:center;display:flex;position:relative}.dictionary-search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:12px}.dictionary-search input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;padding:9px 12px 9px 34px}.dictionary-search input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #1f6feb24}.sortable-header{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:600;display:inline-flex}.sortable-header:hover{color:var(--color-text)}.sortable-header-neutral{opacity:.4}.sortable-header-active{color:var(--color-accent)}.domain-type-input{position:relative}.inline-edit-input-error{box-shadow:0 0 0 2px #d92d2029;border-color:var(--color-danger,#d92d20)!important}.domain-type-suggestions{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;max-height:220px;box-shadow:var(--shadow-md,0 8px 24px #0f172a29);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;overflow:auto}.domain-type-suggestion{border-radius:var(--radius-sm);width:100%;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-sm);text-align:left;cursor:pointer;padding:6px 10px;display:block}.domain-type-suggestion:hover,.domain-type-suggestion-active{background:var(--color-surface-subtle);color:var(--color-accent)}.domain-type-error{z-index:1000;font-size:var(--text-xs);color:var(--color-danger,#d92d20);background:var(--color-surface);border:1px solid var(--color-danger,#d92d20);border-radius:var(--radius-sm);white-space:normal;max-width:240px;margin:0;padding:4px 8px;position:absolute;top:calc(100% + 2px);left:0}.draft-duplicate-error{font-size:var(--text-xs);color:var(--color-danger,#d92d20);margin:2px 0 0;padding:0 2px}.dictionary-draft-row td{background:var(--color-surface-subtle)}.dictionary-draft-row .inline-edit-input::placeholder{color:var(--color-text-muted)}.dictionary-edit-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:4px 0 10px}.dictionary-table td .inline-edit-input{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;background:0 0;border:1px solid #0000;padding:4px 6px}.dictionary-table td.dictionary-cell-mono .inline-edit-input,.inline-edit-input-mono{font-family:var(--font-mono);font-size:var(--text-sm)}.dictionary-table td .inline-edit-input:hover{border-color:var(--color-border)}.dictionary-table td .inline-edit-input:focus{border-color:var(--color-accent);background:var(--color-surface);outline:none;box-shadow:0 0 0 3px #1f6feb24}.dictionary-action-col{width:132px}.dictionary-table td.dictionary-action-cell{text-align:center;vertical-align:middle;padding:6px 8px}.dictionary-action-cell-inner{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.row-propose-button{border-radius:var(--radius-sm);width:100%;height:auto;color:var(--color-text-faint);font-size:var(--text-xs);white-space:normal;word-break:keep-all;cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:3px 6px;line-height:1.3;display:inline-flex}.row-propose-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.row-propose-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.row-propose-button:disabled{cursor:not-allowed;opacity:.35}.row-propose-button-danger:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.dictionary-empty{color:var(--color-text-muted);text-align:center}.terms-empty-hint{color:var(--color-text-muted);font-size:var(--text-sm);padding:16px}.terms-occurrences{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.terms-occurrence-link{color:var(--color-accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.terms-occurrence-link:hover{text-decoration:underline}.terms-occurrence-controls{align-items:center;gap:2px;margin-right:2px;display:inline-flex}.terms-occurrence-toggle{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);white-space:nowrap;background:0 0;border-radius:8px;align-items:center;padding:0 4px;display:inline-flex}.terms-occurrence-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.terms-occurrence-count{color:var(--color-text-muted);font-size:var(--text-xs)}.terms-panel .dictionary-table td .inline-edit-input{width:calc(100% + 14px);margin:-5px -7px}.terms-conflict-badge{background:var(--color-warning-subtle);color:var(--color-warning-text);font-size:var(--text-xs);white-space:nowrap;border-radius:8px;margin-right:4px;padding:1px 6px;display:inline-block}.dialog{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:12px;width:min(720px,100vw - 24px);max-height:calc(100vh - 104px);padding:14px;display:flex;position:fixed;top:72px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 18px 40px #0f172a40}.dialog-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog pre,.dialog textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dialog pre{background:var(--color-text);max-height:340px;color:var(--color-accent-subtle);white-space:pre-wrap;word-break:break-word;padding:12px;overflow:auto}.dialog textarea{resize:vertical;background:var(--color-surface);width:100%;min-height:260px;color:var(--color-text);padding:8px}.dialog-actions{margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;display:flex}.dialog-field{align-items:center;gap:var(--space-3);display:flex}.dialog-field-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.dialog select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);padding:6px 10px}.dialog-error{color:var(--color-danger,#d92d20);font-size:var(--text-sm);margin:0}.dialog-hint{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.image-export-dialog{width:min(440px,100vw - 24px)}.dialog-warnings{border:1px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-warning-subtle);color:var(--color-warning-text);margin:0;padding:8px 12px}.dialog button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);padding:8px 12px}.dialog button:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.dialog button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dialog button.dialog-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface);font-weight:600}.dialog button.dialog-primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.dialog .dialog-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.dialog .dialog-close:hover{background:var(--color-surface-subtle);color:var(--color-text)}.shortcut-help-dialog{max-width:420px}.dialog-footer{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:flex-end;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:flex}.dialog-footer a{color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast);text-decoration:underline}.dialog-footer a:hover{color:var(--color-text-secondary)}.shortcut-help-footer{justify-content:center}.shortcut-table{border-collapse:collapse;width:100%}.shortcut-table th{text-align:left;color:var(--color-text-secondary);padding:var(--space-2) 0;font-weight:500;font-size:var(--text-sm)}.shortcut-table td{text-align:right;padding:var(--space-2) 0}.shortcut-table tr+tr th,.shortcut-table tr+tr td{border-top:1px solid var(--color-border)}.shortcut-table kbd{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-subtle);padding:2px var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text);white-space:nowrap;display:inline-block}.welcome-overlay{z-index:950;background:#10182873;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.welcome-card{width:min(520px,92vw);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.welcome-card h2{margin:0 0 var(--space-2);font-size:var(--text-xl);color:var(--color-text)}.welcome-subtitle{margin:0 0 var(--space-5);color:var(--color-text-muted);font-size:var(--text-md)}.welcome-actions{gap:var(--space-2);flex-direction:column;display:flex}.welcome-action{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-md);cursor:pointer;text-align:left;display:flex}.welcome-action:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.welcome-action-primary{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent-strong);font-weight:600}.welcome-action svg{flex-shrink:0}.welcome-footer{margin-top:var(--space-4);justify-content:center;display:flex}.welcome-cancel{padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--text-md);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none}.welcome-cancel:hover{background:var(--color-surface-subtle);color:var(--color-text-secondary)}.library-toolbar{align-items:center;gap:8px;display:flex}.library-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:0;color:var(--color-text);flex:1;padding:6px 10px}.library-action{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;align-items:center;gap:4px;padding:6px 10px;display:inline-flex}.library-list{flex-direction:column;gap:8px;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.library-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.library-item.is-active{border-color:var(--color-accent)}.library-item-main{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.workspace-delete-icon{border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:5px;display:inline-flex}.workspace-delete-icon:hover{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-subtle)}.workspace-delete-icon:focus-visible{box-shadow:var(--shadow-focus);outline:none}.library-item-name{color:var(--color-text);font-weight:600}.library-duplicate-badge{border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;padding:1px 6px;font-size:11px}.library-item-meta{color:var(--color-text-muted);font-size:12px}.library-item-actions{flex-shrink:0;gap:4px;display:flex}.library-item-actions button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.library-empty{color:var(--color-text-muted);text-align:center;padding:24px 0}.workspace-name-row{gap:var(--space-2);flex-direction:column;display:flex}.workspace-name-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.workspace-name-controls{gap:var(--space-2);display:flex}.workspace-name-controls input{flex:1;min-width:0}.workspace-name-controls input,.workspace-description-input,.workspace-delete-confirm input,.member-dialog .library-item-actions input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-md);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:8px 10px}.workspace-name-controls input:focus-visible,.workspace-description-input:focus-visible,.workspace-delete-confirm input:focus-visible,.member-dialog .library-item-actions input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.workspace-description-input{resize:vertical;min-height:60px;font-family:inherit}.workspace-color-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.workspace-color-option{cursor:pointer;display:inline-flex;position:relative}.workspace-color-option input[type=radio]{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.workspace-color-swatch{width:20px;height:20px;box-shadow:0 0 0 1px var(--color-border);transition:box-shadow var(--duration-fast);border:2px solid #0000;border-radius:50%}.workspace-color-option input[type=radio]:checked+.workspace-color-swatch{box-shadow:0 0 0 2px var(--color-accent)}.workspace-color-option input[type=radio]:focus-visible+.workspace-color-swatch{box-shadow:var(--shadow-focus);outline:none}.workspace-plan-badge{margin-left:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--text-xs);vertical-align:middle;white-space:nowrap;align-items:center;font-weight:600;display:inline-flex}.ws-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.library-item-name-row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.dialog-subheading{font-size:var(--text-md);color:var(--color-text);margin:0;font-weight:600}.member-dialog .library-list{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1);gap:var(--space-1)}.member-dialog .library-list .library-item{transition:background var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #0000}.member-dialog .library-list .library-item:hover{background:var(--color-surface-subtle);border-color:var(--color-border)}.workspace-danger-zone{gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-4);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-subtle);flex-direction:column;display:flex}.workspace-danger-title{color:var(--color-danger)}.workspace-delete-warning{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.workspace-delete-confirm{gap:var(--space-2);flex-direction:column;display:flex}.workspace-delete-confirm label{font-size:var(--text-sm);color:var(--color-text-secondary)}.dialog button.workspace-delete-button{border-color:var(--color-danger);background:var(--color-surface);color:var(--color-danger);align-self:flex-start;font-weight:600}.dialog button.workspace-delete-button:hover,.dialog button.workspace-delete-confirm-button{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.dialog button.workspace-delete-confirm-button:hover:not(:disabled){filter:brightness(.94)}.dialog button.workspace-delete-button:disabled{cursor:not-allowed;opacity:.5}.app-shell-loading{place-items:center;display:grid}.boot-loading{color:var(--color-text-muted);justify-items:center;gap:10px;font-size:18px;display:grid}.boot-loading-hint{font-size:13px}.boot-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);will-change:transform;border-radius:50%;width:28px;height:28px;animation:.9s linear infinite boot-loading-spin}@keyframes boot-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.boot-loading-spinner{animation-duration:2.4s}}.project-switch-overlay{z-index:950;background:color-mix(in srgb, var(--color-surface) 85%, transparent);color:var(--color-text-muted);align-content:center;justify-items:center;gap:10px;font-size:13px;display:grid;position:fixed;inset:0}.mcp-guide-dialog{max-width:560px}.mcp-guide-body{gap:var(--space-2);flex-direction:column;display:flex}.mcp-guide-body>*{flex-shrink:0;margin:0}.mcp-guide-body h3{margin-top:var(--space-3);font-size:var(--text-md)}.mcp-guide-body h4{margin-top:var(--space-2);font-size:var(--text-sm)}.dialog pre.mcp-guide-code{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--text-sm);margin:0;overflow-x:auto}.mcp-guide-copy{align-self:flex-start;align-items:center;gap:var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm);cursor:pointer;padding:2px 8px;display:inline-flex}.mcp-guide-copy:hover{border-color:var(--color-accent-border);color:var(--color-accent)}.mcp-guide-paths{padding-left:var(--space-4);font-size:var(--text-sm);margin:0}.mcp-guide-note{color:var(--color-text-muted);font-size:var(--text-sm)}.mcp-guide-note a{color:var(--color-accent)}.plan-limit-dialog{width:min(420px,100vw - 24px)}.plan-limit-message{margin:var(--space-3) 0 0;font-size:var(--text-md)}.plan-limit-hint{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.plan-limit-upgrade-link{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-accent);font-weight:600;display:inline-block}.plan-limit-upgrade-link:hover{color:var(--color-accent-strong)}.proposal-kind-chip{border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;align-items:center;padding:2px 8px;font-weight:600;line-height:1.6;display:inline-flex}.proposal-kind-word{background:var(--color-accent-subtle);color:var(--color-accent-strong);border-color:var(--color-accent-border)}.proposal-kind-domain{background:var(--color-fk-subtle);color:var(--color-fk);border-color:var(--color-fk-border)}.proposal-op-tag{border-radius:var(--radius-sm);background:var(--color-surface-subtle);font-size:var(--text-xs);white-space:nowrap;align-items:center;padding:2px 6px;font-weight:500;display:inline-flex}.proposal-op-add{color:var(--color-success)}.proposal-op-edit{color:var(--color-text-secondary)}.proposal-op-delete{color:var(--color-danger)}.propose-change-dialog{width:min(480px,100vw - 24px)}.propose-change-heading{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.propose-change-heading h2{margin:0}.propose-change-context{align-items:center;gap:var(--space-2);display:flex}.propose-change-fields{gap:var(--space-3);flex-direction:column;display:flex}.propose-change-fields label{gap:var(--space-1);flex-direction:column;display:flex}.propose-change-fields label>span{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.propose-change-fields input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-md);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);padding:8px 10px}.propose-change-fields input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.propose-change-delete{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-subtle);flex-direction:column;display:flex}.propose-change-delete-text{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.propose-change-target{color:var(--color-text);margin:0;font-weight:600}.propose-change-reason{gap:var(--space-1);flex-direction:column;display:flex}.propose-change-reason-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.propose-change-dialog textarea{border:1px solid var(--color-border-strong);min-height:72px;font-family:inherit;font-size:var(--text-md);color:var(--color-text);padding:8px 10px}.propose-change-dialog textarea:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.proposal-queue-dialog{width:min(560px,100vw - 24px)}.proposal-queue-empty{padding:var(--space-5) 0;color:var(--color-text-muted);text-align:center;margin:0}.proposal-queue-list{gap:var(--space-2);flex-direction:column;max-height:56vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.proposal-row{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.proposal-row-approved{border-color:var(--color-success)}.proposal-row-rejected{opacity:.72}.proposal-row-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.proposal-target-name{color:var(--color-text);font-weight:600}.proposal-status-badge{font-size:var(--text-xs);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px;font-weight:600}.proposal-status-pending{background:var(--color-warning-subtle);color:var(--color-warning-text)}.proposal-status-approved{background:var(--color-surface-subtle);color:var(--color-success)}.proposal-status-rejected{background:var(--color-danger-subtle);color:var(--color-danger)}.proposal-row-meta{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.proposal-proposer{color:var(--color-text-secondary);font-weight:500}.proposal-note{color:var(--color-text-muted);font-style:italic}.proposal-decision-note{font-size:var(--text-sm);color:var(--color-danger);margin:0}.proposal-row-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.proposal-reject-group{align-items:center;gap:var(--space-1);flex:1;min-width:180px;display:flex}.proposal-reject-group input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:0;color:var(--color-text);font-size:var(--text-sm);flex:1;padding:6px 10px}.proposal-reject-group input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.proposal-row-actions button{font-size:var(--text-sm);padding:6px 12px}.compliance-dialog{width:min(560px,100vw - 24px)}.compliance-scope-note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.compliance-list{gap:var(--space-2);flex-direction:column;max-height:56vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.compliance-row{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.compliance-row-detached{border-color:var(--color-danger);background:var(--color-danger-subtle)}.compliance-row-stale{border-color:var(--color-warning);background:var(--color-warning-subtle)}.compliance-row-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.compliance-name{color:var(--color-text);font-weight:600}.compliance-owner{font-size:var(--text-sm);color:var(--color-text-secondary)}.compliance-status-badge{font-size:var(--text-xs);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px;font-weight:600}.compliance-status-detached{background:var(--color-danger-subtle);color:var(--color-danger)}.compliance-status-stale{background:var(--color-warning-subtle);color:var(--color-warning-text)}.compliance-status-synced{background:var(--color-surface-subtle);color:var(--color-success)}.compliance-updated-at{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.compliance-hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.search-overlay{z-index:900;background:#10182859;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.search-palette{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(560px,92vw);box-shadow:var(--shadow-lg);overflow:hidden}.search-input-row{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-faint);display:flex}.search-input{font-size:var(--text-lg);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}.search-empty{padding:var(--space-4);text-align:center;color:var(--color-text-faint);font-size:var(--text-sm);margin:0}.search-results{padding:var(--space-1);max-height:50vh;margin:0;list-style:none;overflow-y:auto}.search-result{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;display:flex}.search-result svg{color:var(--color-text-faint);flex-shrink:0}.search-result-active{background:var(--color-accent-subtle);color:var(--color-accent-strong)}.search-result-active svg{color:var(--color-accent)}.search-result-title{font-weight:500}.search-result-subtitle{color:var(--color-text-faint);font-size:var(--text-xs)}.search-result-kind{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-faint);margin-left:auto;font-size:10px}.attribute-row-highlighted{background:var(--color-accent-subtle);animation:attribute-flash 1.2s var(--ease-out)}@keyframes attribute-flash{0%{background:var(--color-accent-border)}to{background:var(--color-accent-subtle)}}.toast-stack{right:var(--space-4);bottom:var(--space-4);gap:var(--space-2);z-index:1000;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);min-width:240px;max-width:420px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-md);color:var(--color-text);animation:toast-enter var(--duration-normal) var(--ease-out);display:flex}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-info{border-left:3px solid var(--color-accent)}.toast-message{flex:1}.toast-action{color:var(--color-accent);font-size:var(--text-sm);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;font-weight:600}.toast-action:hover,.toast-action:focus-visible{background:var(--color-accent-subtle)}.toast-close{color:var(--color-text-faint);font-size:var(--text-lg);cursor:pointer;padding:0 var(--space-1);background:0 0;border:none;line-height:1}.toast-close:hover,.toast-close:focus-visible{color:var(--color-text)}.dropdown{display:inline-flex;position:relative}.dropdown-trigger{align-items:center;gap:var(--space-1);padding:6px var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);display:inline-flex}.dropdown-trigger:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.dropdown-trigger:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dropdown-trigger-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface);font-weight:600}.dropdown-trigger-primary:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.dropdown-caret{opacity:.7;font-size:9px}.dropdown-menu{min-width:200px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0}.dropdown-menu-portal{z-index:980;position:fixed;top:auto}.dropdown-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}a.dropdown-item{text-decoration:none}.dropdown-item:hover,.dropdown-item:focus-visible{background:var(--color-surface-muted);color:var(--color-text);outline:none}.dropdown-item:disabled{opacity:.45;cursor:not-allowed}.dropdown-item:disabled:hover{color:var(--color-text-secondary);background:0 0}.dropdown-item svg{color:var(--color-text-faint);flex-shrink:0}.auth-login-button{align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);font-weight:500;display:inline-flex}.auth-login-button:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.auth-login-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-menu{display:inline-flex;position:relative}.auth-avatar-button{border:1px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer;width:32px;height:32px;transition:box-shadow var(--duration-fast);border-radius:50%;place-items:center;padding:0;display:inline-grid;overflow:hidden}.auth-avatar-button:hover{box-shadow:var(--shadow-sm)}.auth-avatar-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px;display:block}.auth-avatar-fallback{background:var(--color-accent);color:#fff;font-size:var(--text-sm);place-items:center;font-weight:600;display:grid}.auth-menu-popover{z-index:980;min-width:220px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);position:fixed}.auth-menu-identity{align-items:center;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1);display:flex}.auth-menu-identity-text{flex-direction:column;min-width:0;display:flex}.auth-menu-name{font-size:var(--text-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.auth-menu-email{font-size:var(--text-xs);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-menu-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.auth-menu-item:hover{background:var(--color-surface-subtle);color:var(--color-text)}.auth-menu-divider{height:1px;margin:var(--space-1) var(--space-2);background:var(--color-border)}.auth-menu-item-danger{font-size:var(--text-xs);color:var(--color-text-muted)}.auth-menu-item-danger:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.auth-overlay{z-index:960;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10182873;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card{width:min(380px,92vw);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative}.auth-card .dialog-close{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.auth-card .dialog-close:hover{background:var(--color-surface-subtle);color:var(--color-text)}.auth-card-head{text-align:center;margin-bottom:var(--space-4)}.auth-card-head h2{margin:0 0 var(--space-1);font-size:var(--text-xl);color:var(--color-text)}.auth-card-sub{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.auth-providers{gap:var(--space-2);flex-direction:column;display:flex}.auth-provider-button{justify-content:center;align-items:center;gap:var(--space-2);width:100%;height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--text-md);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast);font-weight:600;display:flex}.auth-provider-button:disabled{opacity:.6;cursor:default}.auth-provider-button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-provider-google{color:#1f1f1f;background:#fff;border:1px solid #dadce0}.auth-provider-google:hover:not(:disabled){box-shadow:var(--shadow-sm);background:#f7f8f8}.auth-provider-github{color:#fff;background:#1f2328;border:1px solid #1f2328}.auth-provider-github:hover:not(:disabled){background:#2c333a}.auth-provider-github svg{color:#fff}:root[data-theme=dark] .auth-provider-github{color:#1f2328;background:#fff;border-color:#fff}:root[data-theme=dark] .auth-provider-github:hover:not(:disabled){background:#f0f3f6}:root[data-theme=dark] .auth-provider-github svg{color:#1f2328}.auth-error{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-danger-subtle);color:var(--color-danger);font-size:var(--text-sm);text-align:center}.auth-email-form{gap:var(--space-2);flex-direction:column;display:flex}.auth-email-input{width:100%;height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm)}.auth-email-input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.auth-email-submit{border-radius:var(--radius-md);background:var(--color-accent);width:100%;height:44px;color:var(--color-accent-contrast,#fff);font-size:var(--text-sm);cursor:pointer;border:none;font-weight:600}.auth-email-submit:disabled{opacity:.6;cursor:default}.auth-email-submit:focus-visible{box-shadow:var(--shadow-focus);outline:none}.auth-mode-toggle{margin-top:var(--space-1);color:var(--color-accent);font-size:var(--text-sm);cursor:pointer;text-align:center;background:0 0;border:none}.auth-divider{align-items:center;gap:var(--space-2);margin:var(--space-3) 0;color:var(--color-text-muted);font-size:var(--text-xs);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-notice{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-accent-subtle,var(--color-surface-muted));color:var(--color-text);font-size:var(--text-sm);text-align:center}.auth-legal-notice{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;padding:0}.auth-legal-notice a{color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast);text-decoration:underline}.auth-legal-notice a:hover{color:var(--color-text-secondary)}.auth-legal-links{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;padding:0}.auth-legal-links a{color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast);text-decoration:underline}.auth-legal-links a:hover{color:var(--color-text-secondary)}.remote-newer-banner{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-warning-subtle,#fff8e6);color:var(--color-text);font-size:var(--text-sm);display:flex}.remote-newer-banner-label{flex:1;min-width:0}.remote-newer-banner-pull{height:30px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface,transparent);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;flex:none;font-weight:600}.remote-newer-banner-pull:disabled{opacity:.6;cursor:default}.remote-newer-banner-pull:focus-visible{box-shadow:var(--shadow-focus);outline:none}.invitation-banner{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-accent-subtle,#eef4ff);color:var(--color-text);font-size:var(--text-sm);display:flex}.invitation-banner-icon{color:var(--color-accent);flex:none}.invitation-banner-label{flex:1;min-width:0}.invitation-banner-actions{gap:var(--space-2);flex:none;display:flex}.invitation-banner-accept,.invitation-banner-later{height:30px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer}.invitation-banner-accept{background:var(--color-accent);color:var(--color-accent-contrast,#fff);border:none;font-weight:600}.invitation-banner-later{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.invitation-banner-accept:focus-visible,.invitation-banner-later:focus-visible{box-shadow:var(--shadow-focus);outline:none}.dialog-backdrop{z-index:19;background:#10182859;position:fixed;inset:0}.share-dialog{width:min(440px,92vw)}.share-field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.share-field-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.share-date-input{height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm)}.share-actions{gap:var(--space-2);display:flex}.share-button{border-radius:var(--radius-md);height:40px;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);flex:1;font-weight:600}.share-button:disabled{opacity:.6;cursor:default}.share-button-primary{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff}.share-button-primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.share-button-ghost{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-secondary)}.share-button-ghost:hover:not(:disabled){background:var(--color-surface-subtle)}.share-status{margin:0 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.share-active{margin-bottom:var(--space-4)}.share-active-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.share-active-label{font-size:var(--text-xs);color:var(--color-success);font-weight:600}.share-expired-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-danger-subtle);color:var(--color-danger);font-size:var(--text-xs);font-weight:600}.share-expiry-info{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.share-active .share-url-row{margin-top:0}.share-url-row{gap:var(--space-2);margin-top:var(--space-4);display:flex}.share-url-row input{min-width:0;height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs);flex:1}.share-copy-button{height:36px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;font-weight:500}.share-copy-button:hover{background:var(--color-surface-subtle)}.share-tabs{gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.share-tab{color:var(--color-text-muted);padding:var(--space-2) var(--space-3);font-size:var(--text-md);white-space:nowrap;cursor:pointer;transition:color var(--duration-fast);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500}.share-tab:hover{color:var(--color-text)}.share-tab[aria-selected=true],.share-tab-active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.share-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.share-invite-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);display:flex}.share-member-count{padding:1px var(--space-2);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;font-weight:600}.share-invite-row{gap:var(--space-2);display:flex}.share-invite-input{min-width:0;height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);flex:1}.share-invite-input:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-focus);outline:none}.share-invite-row .share-button{height:36px;padding:0 var(--space-4);flex:none}.share-invite-workspace{align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;display:flex}.share-invite-hint{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.5}.share-member-tab .share-status{margin:var(--space-4) 0 0}.share-member-section{margin-top:var(--space-4)}.share-member-section-title{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.share-member-list{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;padding:0;list-style:none;overflow:hidden}.share-member-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);display:flex}.share-member-item+.share-member-item{border-top:1px solid var(--color-border)}.share-member-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-sm);color:var(--color-text);flex:1;overflow:hidden}.share-member-item .share-button{height:28px;padding:0 var(--space-2);font-size:var(--text-xs);flex:none;font-weight:500}.shared-viewer{background:var(--color-bg);flex-direction:column;height:100vh;display:flex}.shared-banner{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:linear-gradient(90deg, var(--color-accent-strong), var(--color-accent));color:#fff;font-size:var(--text-sm);box-shadow:var(--shadow-sm);font-weight:600;display:flex}.shared-banner-label{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.shared-banner-controls{align-items:center;gap:var(--space-3);display:inline-flex}.shared-theme-toggle{border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:30px;height:30px;transition:background var(--duration-fast) var(--ease-out);background:#ffffff1f;border:1px solid #ffffff59;justify-content:center;align-items:center;padding:0;display:inline-flex}.shared-theme-toggle:hover{background:#ffffff3d}.shared-theme-toggle:focus-visible{outline-offset:2px;outline:2px solid #fff}.shared-banner .segment-button{color:#ffffffd9;background:#ffffff1f;border-color:#ffffff59}.shared-banner .segment-button:hover{background:#fff3}.shared-banner .segment-button[aria-selected=true]{color:#fff;background:#ffffff38}.shared-body{flex:1;min-height:0;display:flex}.shared-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;width:248px;min-width:208px;display:flex;overflow:hidden}.shared-sidebar.is-collapsed{width:40px;min-width:40px}.shared-sidebar-head{padding:var(--space-1);border-bottom:1px solid var(--color-border);justify-content:flex-end;display:flex}.shared-sidebar.is-collapsed .shared-sidebar-head{justify-content:center}.shared-sidebar-scroll{flex:1;min-height:0;overflow-y:auto}.shared-canvas{flex:1;min-width:0;min-height:0;display:flex}.shared-canvas>.erd-canvas{flex:1;min-width:0;min-height:0;margin-top:0;display:flex}.shared-canvas .erd-flow{flex:1;height:auto;min-height:0}.statusbar-dialect-readonly{font-size:var(--text-sm);color:var(--color-text-muted);padding:0 var(--space-2)}.shared-message{height:100vh;padding:var(--space-5);font-size:var(--text-lg);color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;display:flex}.embed-viewer{background:var(--color-bg);height:100vh;position:relative}.embed-canvas{height:100%}.embed-badge{right:var(--space-3);bottom:var(--space-3);z-index:10;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);border-radius:999px;padding:4px 10px;text-decoration:none;position:absolute;box-shadow:0 1px 4px #0000001f}.embed-badge:hover{color:var(--color-text)}.embed-badge strong{color:var(--color-text);font-weight:600}.presence-avatars{gap:4px;display:flex}.presence-avatar{background:var(--color-accent);color:#fff;width:28px;height:28px;font-size:var(--text-xs);border:2px solid var(--color-surface);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;font-weight:700;display:grid}.presence-avatar-self{background:var(--color-success)}.erd-node-editing-badge{background:var(--color-warning-subtle,#fff8e6);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.share-pin-status{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.share-pin-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-accent-subtle,var(--color-surface-subtle));color:var(--color-accent);font-size:var(--text-xs);font-weight:600}.share-pin-following{font-size:var(--text-xs);color:var(--color-text-muted)}.share-pin-status .share-button{height:28px;padding:0 var(--space-3);flex:none}.merge-conflict-dialog{width:min(480px,92vw)}.merge-conflict-list{gap:var(--space-3);max-height:52vh;margin-bottom:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.merge-conflict-row{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);flex-direction:column;display:flex}.merge-conflict-info{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.merge-conflict-kind{padding:1px var(--space-2);background:var(--color-accent-subtle);color:var(--color-accent);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;font-weight:600}.merge-conflict-label{min-width:0;font-size:var(--text-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.merge-deleted-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-danger-subtle);color:var(--color-danger);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.merge-conflict-values{gap:var(--space-1);flex-direction:column;flex-basis:100%;display:flex}.merge-conflict-mine,.merge-conflict-theirs{padding:var(--space-1) var(--space-2);border-left:3px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-surface);font-size:var(--text-xs);color:var(--color-text-secondary);text-overflow:ellipsis;display:block;overflow:hidden}.merge-conflict-theirs{border-left-color:var(--color-warning)}.merge-conflict-choices{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.merge-choice-option{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), color var(--duration-fast);display:flex}.merge-choice-option:hover{background:var(--color-surface-muted)}.merge-choice-option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent);font-weight:600}.merge-choice-option:focus-within{box-shadow:var(--shadow-focus)}.merge-choice-option input{accent-color:var(--color-accent);margin:0}.save-version-dialog{width:min(440px,92vw)}.version-text-input{height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm)}.version-textarea{min-height:72px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);resize:vertical;font-family:inherit}.version-text-input:focus,.version-textarea:focus{border-color:var(--color-accent);outline:none}.version-pin-fieldset{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;display:flex}.version-pin-fieldset legend{padding:0 var(--space-1)}.version-pin-status{margin:0 0 var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.version-next-preview{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-accent,var(--color-text));font-weight:600}.version-pin-option{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;display:flex}.version-history-dialog{width:min(560px,94vw)}.version-status{margin:0 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.version-list{margin:0 0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:320px;padding:0;list-style:none;overflow-y:auto}.version-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.version-row:last-child{border-bottom:none}.version-select{align-items:center;margin:0;display:flex}.version-label{min-width:0;font-size:var(--text-sm);color:var(--color-text);flex-direction:column;flex:1;gap:2px;font-weight:500;display:flex;overflow:hidden}.version-note{font-size:var(--text-xs);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.version-kind-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.version-date{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.version-timezone-note{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.version-row .share-button{height:28px;padding:0 var(--space-3);flex:none}.version-delete-button:not(:disabled):hover{color:var(--color-danger,#d9534f);border-color:var(--color-danger,#d9534f)}.version-actions{margin-bottom:var(--space-4);justify-content:flex-end;display:flex}.version-actions .share-button{padding:0 var(--space-4);flex:none}.version-auto-group{margin:0 0 var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.version-auto-toggle{height:28px;padding:0 var(--space-3)}.version-auto-list{margin-top:var(--space-3)}.diff-view{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.diff-summary{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.diff-empty{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;margin:0}.diff-entity{align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.diff-symbol{width:1ch;font-weight:700;font-family:var(--font-mono,monospace)}.diff-entity-name{color:var(--color-text)}.diff-added{background:var(--color-success-subtle,#22c55e1f)}.diff-added .diff-symbol{color:var(--color-success)}.diff-removed{background:var(--color-danger-subtle,#ef44441f)}.diff-removed .diff-symbol{color:var(--color-danger)}.diff-modified .diff-symbol,.diff-renamed .diff-symbol{color:var(--color-accent)}.diff-attrs{margin:var(--space-1) 0 0;padding-left:var(--space-4);font-size:var(--text-xs);color:var(--color-text-secondary);flex-basis:100%;list-style:none}.diff-physical-only,.diff-domains,.diff-relationships{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.diff-physical-only h4,.diff-domains h4,.diff-relationships h4{margin:0 0 var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.diff-physical-only ul,.diff-domains ul,.diff-relationships ul{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0;padding:0;list-style:none}.legal-page{max-width:720px;padding:var(--space-5) var(--space-4);color:var(--color-text);margin:0 auto}.legal-page h1{margin:var(--space-4) 0 var(--space-2)}.legal-effective{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 var(--space-5)}.legal-body section{margin-bottom:var(--space-5)}.legal-body h2{font-size:var(--text-lg);margin:0 0 var(--space-2)}.legal-body p{color:var(--color-text-secondary);margin:0;line-height:1.7}.comment-panel{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.comment-panel-title{font-size:var(--text-sm);color:var(--color-text);margin:0;font-weight:600}.comment-empty{font-size:var(--text-xs);color:var(--color-text-faint);text-align:center;padding:var(--space-3) 0;margin:0}.comment-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.comment-thread{gap:var(--space-2);flex-direction:column;display:flex}.comment-replies{padding-left:var(--space-4);border-left:2px solid var(--color-border);gap:var(--space-2);flex-direction:column;margin:0;list-style:none;display:flex}.comment-item{gap:var(--space-1);flex-direction:column;display:flex}.comment-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);display:flex}.comment-author{color:var(--color-text-secondary);font-weight:600}.comment-time{font-variant-numeric:tabular-nums}.comment-delete{color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;margin-left:auto;padding:2px;display:inline-flex}.comment-reply-toggle+.comment-delete{margin-left:0}.comment-delete:hover{color:var(--color-danger);background:var(--color-surface-subtle)}.comment-reply-toggle{color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;margin-left:auto;padding:2px;display:inline-flex}.comment-reply-toggle:hover,.comment-reply-toggle[aria-expanded=true]{color:var(--color-accent,#2563eb);background:var(--color-surface-subtle)}.comment-body{font-size:var(--text-sm);color:var(--color-text);white-space:pre-wrap;word-break:break-word;margin:0}.comment-composer{gap:var(--space-2);display:flex}.comment-composer-reply{padding-left:var(--space-4)}.comment-input{min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-surface,#fff);color:var(--color-text);flex:1}.comment-submit{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--text-sm);cursor:pointer;flex-shrink:0}.comment-submit:hover{background:var(--color-accent-subtle)}.comment-login-hint{font-size:var(--text-xs);color:var(--color-text-faint);text-align:center;padding:var(--space-2) 0;margin:0}.comment-button-badge{background:var(--color-accent,#2563eb);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px;position:absolute;top:-4px;right:-4px}.toolbar-icon-button:has(.comment-button-badge){position:relative}.comment-dialog-overlay{z-index:1000;padding:var(--space-4);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.comment-dialog{flex-direction:column;width:min(640px,100%);max-height:min(80vh,720px);display:flex}.comment-dialog-body{flex:1;min-height:0;overflow-y:auto}.dialog-header-actions{align-items:center;gap:var(--space-1);display:flex}.account-footer{border-top:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:6px;margin-top:auto;padding-top:8px;display:flex;position:relative}.account-footer.is-collapsed{justify-content:center}.account-trigger,.account-login-button,.account-settings-button{color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:inline-flex}.account-trigger{flex:1;min-width:0}.account-trigger:hover,.account-login-button:hover,.account-settings-button:hover{background:var(--color-surface-subtle)}.account-trigger-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.account-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:22px;height:22px}.account-avatar-fallback{background:var(--color-surface-subtle);color:var(--color-text-muted);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.account-menu-popover{z-index:60;border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;gap:2px;min-width:240px;max-width:320px;max-height:min(360px,100vh - 16px);padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0000002e}.account-menu-identity,.account-menu-workspace{align-items:center;gap:8px;padding:8px 8px 6px;display:flex}.account-menu-identity-text{flex-direction:column;flex:1;min-width:0;display:flex}.account-menu-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.account-menu-email,.account-menu-workspace-label{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-menu-workspace-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.account-menu-item,.account-menu-row{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;text-decoration:none;display:flex}.account-menu-item:hover{background:var(--color-surface-subtle)}.account-menu-item-danger{color:var(--color-danger)}.account-menu-value,.account-menu-row-label{color:var(--color-text-muted);margin-left:auto;font-size:12px}.account-menu-row-label{color:var(--color-text);margin-left:0;margin-right:auto;font-size:13px}.account-menu-divider{background:var(--color-border);height:1px;margin:4px 0}.plan-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:700}.plan-badge-free{background:var(--color-surface-subtle);color:var(--color-text-muted)}.plan-badge-pro{background:var(--color-accent);color:#fff}:root[data-theme=dark] .plan-badge-pro{color:var(--color-accent-subtle)}.plan-badge-team{background:var(--color-accent-subtle);color:var(--color-accent)}
