
    #wrapper {
      height: 100vh;
      overflow: hidden;
    }

    #treeContainer {
      top: 50px;
      bottom: 0;
      left: 0;
      right: 0;
      overflow: auto;
      border: 4px solid var(--color1);
      border-radius: 8px;
      background: var(--color21);
    }

    #contentWrapper {
      position: relative;
      transform-origin: top left;
    }

    .node {
      position: absolute;
      width: 140px;
      min-height: 50px;
      background: linear-gradient(135deg, #f8f9ff 0%, #e8f2ff 100%);
      border: none;
      border-left: 4px solid var(--color47);
      border-radius: 8px;
      cursor: move;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      display: flex;
      flex-direction: column;
      padding: 12px;
      justify-content: flex-start;
      align-items: flex-start;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
    }

    .node:hover {
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
      transform: translateY(-2px);
    }

    .node.selected {
      border-left-color: #dc3545;
    }

    .node-title {
      font-weight: bold;
      font-size: 14px;
      color: var(--color12);
      margin-bottom: 4px;
      text-align: left;
      line-height: 1.2;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
    }

    .node-description {
      font-size: 11px;
      color: var(--color2);
      margin-bottom: 4px;
      text-align: left;
      line-height: 1.2;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
    }

    .node-metadata {
      font-size: 10px;
      color: #28a745;
      text-align: left;
      line-height: 1.2;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
    }

    .level-0 { border-left-color: #2196f3; }
    .level-1 { border-left-color: #9c27b0; }
    .level-2 { border-left-color: #00bfa5; }
    .level-3 { border-left-color: #f57c00; }
    .level-4 { border-left-color: #43a047; }
    .level-5 { border-left-color: #5e35b1; }
    .level-6 { border-left-color: #c2185b; }
    .level-7 { border-left-color: #00838f; }

    svg {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      pointer-events: none;
    }

    .toggle_viewedit {
      position: absolute;
      top: 4px;
      right: 4px;
      background: #007bff;
      color: white;
      font-size: 10px;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      cursor: pointer;
      z-index: 10;
      display: flex;
      align-items: center;
      justify-content: center;
      border: none;
      font-weight: bold;
    }

    .toggle_viewedit:hover {
      background: #0056b3;
    }

  

    .zoom-controls {
      position: absolute;
      top: 10px;
      left: 20px;
      display: flex;
      gap: 5px;
      z-index: 10;
    }

    

    .zoom-info {
      position: absolute;
      top: 10px;
      left: 50%;
      transform: translateX(-50%);
      background: rgba(0,0,0,0.7);
      color: white;
      padding: 5px 10px;
      border-radius: 4px;
      font-size: 12px;
      z-index: 10;
    }






    .toggle_viewedit_wrap {
      position: relative;
      width: 78px;
      height: 32px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .toggle_viewedit_checkbox {
      position: absolute;
      inset: 0;
      opacity: 0;
      cursor: pointer;
      width: 100%;
      height: 100%;
      margin: 0;
      z-index: 2;
    }

    .toggle_viewedit_button {
      position: relative;
      width: 78px;
      height: 32px;
      border-radius: 999px;
      cursor: pointer;
      display: block;
      overflow: hidden;
      z-index: 1;
    }

    .toggle_viewedit_layer {
      position: absolute;
      inset: 0;
      border-radius: 999px;
      transition: background-color 0.3s ease;
    }

    .toggle_viewedit_button:before {
      position: absolute;
      top: 3px;
      left: 5px;
      width: 34px;
      height: 26px;
      border-radius: 999px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.3px;
      background-color: #607D8B;
      color: #ffffff;
      transition: left 0.3s ease, background-color 0.3s ease, color 0.3s ease;
      content: 'View';
    }

    .toggle_viewedit_wrap .toggle_viewedit_checkbox:checked + .toggle_viewedit_button:before {
				left: 39px !important;
				background-color: #6b6b6b !important;
				color: #ffffff !important;
			}

			.toggle_viewedit_wrap .toggle_viewedit_checkbox:checked ~ .toggle_viewedit_layer {
				background-color: #1f2937 !important;
			}

			.toggle_viewedit_wrap .toggle_viewedit_layer {
				background-color: #e9f5ff !important;
				border: 1px solid #c1e3ff !important;
			}

			.toggle_viewedit_wrap .toggle_viewedit_checkbox:checked + .toggle_viewedit_button:before {
				content: 'Edit'!important;
			}


			