.container {
    display: flex;
    width: 100%;
    height: 100%;
}

.sidebar {
    width: 300px;
  min-width: 300px;
    padding: 0;
    border: none;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
  border-right: 1px solid var(--slate-200);
  overflow-y: auto;
  overflow-x: hidden;
    display: flex;
    flex-direction: column;
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.03);
}

.sidebar-toggle {
  text-align: right;
  margin-bottom: 15px;
}

.sidebar-toggle button {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 5px;
  border-radius: 4px;
}

.sidebar-toggle button:hover {
  background: var(--slate-100);
}

.sidebar.collapsed {
  width: 50px;
  padding: 15px 10px;
}

.sidebar.collapsed .controls h3,
.sidebar.collapsed .info-panel h3,
.sidebar.collapsed .controls button,
.sidebar.collapsed #nodeInfo,
.sidebar.collapsed .info-panel {
  display: none;
}

.sidebar.collapsed .sidebar-toggle button svg {
  transform: rotate(180deg);
}

#graph {
    flex-grow: 1;
    position: relative;
  overflow: hidden;
  background-color: #f8fafc;
    background-image:
    radial-gradient(circle, rgba(100, 116, 139, 0.25) 1px, transparent 1px);
    background-size: 20px 20px;
}

.sidebar .controls {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 14px;
  padding: 6px;
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.08),
    0 1px 2px rgba(0, 0, 0, 0.04),
    inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(148, 163, 184, 0.2);
  z-index: 100;
  width: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sidebar .controls button {
  pointer-events: auto;
}

.sidebar .controls #relayout {
  display: none;
}
