.container { position: relative; width: 100%; height: 100%; min-height: 300px; overflow: hidden; background: var(--bg-surface, #FFFFFF); border: 1px solid var(--border, #E4DFD8); border-radius: var(--radius-md, 8px); } .svg { width: 100%; height: 100%; display: block; outline: none; } .loading { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 300px; color: var(--text-muted, #9C9184); font-size: 14px; } .error { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 300px; color: var(--error, #C0392B); font-size: 14px; } .zoomControls { position: absolute; bottom: 12px; right: 12px; display: flex; align-items: center; gap: 4px; background: var(--bg-surface, #FFFFFF); border: 1px solid var(--border, #E4DFD8); border-radius: var(--radius-sm, 5px); padding: 4px; box-shadow: var(--shadow-md, 0 2px 8px rgba(44, 37, 32, 0.08)); } .zoomBtn { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: none; background: transparent; color: var(--text-primary, #1A1612); font-size: 16px; cursor: pointer; border-radius: var(--radius-sm, 5px); } .zoomBtn:hover { background: var(--bg-hover, #F5F0EA); } .zoomLevel { font-size: 11px; color: var(--text-muted, #9C9184); min-width: 36px; text-align: center; font-variant-numeric: tabular-nums; } .breadcrumbs { position: absolute; top: 8px; left: 8px; display: flex; align-items: center; padding: 4px 10px; background: var(--bg-surface, #FFFFFF); border: 1px solid var(--border, #E4DFD8); border-radius: var(--radius-sm, 5px); box-shadow: var(--shadow-sm, 0 1px 2px rgba(44, 37, 32, 0.06)); z-index: 10; font-size: 12px; } .breadcrumbItem { display: flex; align-items: center; } .breadcrumbSep { margin: 0 6px; color: var(--text-muted, #9C9184); } .breadcrumbLink { background: none; border: none; color: var(--running, #1A7F8E); cursor: pointer; padding: 0; font-size: 12px; font-family: inherit; } .breadcrumbLink:hover { text-decoration: underline; } .breadcrumbCurrent { color: var(--text-primary, #1A1612); font-weight: 600; } .nodeToolbar { position: absolute; display: flex; align-items: center; gap: 2px; padding: 3px 4px; background: var(--bg-surface, #FFFFFF); border: 1px solid var(--border, #E4DFD8); border-radius: var(--radius-sm, 5px); box-shadow: var(--shadow-lg, 0 4px 16px rgba(44, 37, 32, 0.10)); transform: translate(-50%, -100%); margin-top: -6px; z-index: 10; pointer-events: auto; } .nodeToolbarBtn { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: none; background: transparent; color: var(--text-secondary, #5C5347); font-size: 12px; cursor: pointer; border-radius: var(--radius-sm, 5px); padding: 0; } .nodeToolbarBtn:hover { background: var(--bg-hover, #F5F0EA); color: var(--text-primary, #1A1612); }