ui/treeskillpanel/treeskillpanel.razor.scss
TreeSkillPanel {
  position: relative;
  width: 100%;
  height: 100%;
}

.viewport {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(10, 10, 14, 0.6);
  font-family: "Space Grotesk";
  pointer-events: all;

  .canvas {
    position: absolute;
    width: 4000px;
    height: 4000px;
    transform-origin: 0% 0%;
    pointer-events: all;
  }

  .connection {
    position: absolute;
    height: 8px;
    background-color: rgba(255, 255, 255, 0.15);
    transform-origin: 0% 50%;
    z-index: 1;

    &.active {
      background-color: rgba(255, 210, 63, 0.8);
    }
  }

  .skill-node {
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: rgba(20, 20, 25, 0.9);
    border: 2px solid rgba(255, 255, 255, 0.2);
    pointer-events: all;
    z-index: 2;
    cursor: pointer;
    transition: transform 0.1s ease-out;

    &:hover {
      transform: scale(1.06);
    }

    .icon {
      font-size: 48px;
    }

    .name {
      font-size: 16px;
      text-align: center;
      color: white;
      margin-top: 4px;
    }

    .cost {
      font-size: 15px;
      color: #ffd23f;
      margin-top: 2px;
    }

    .icon,
    .cost,
    .name {
      pointer-events: none;
    }

    &.locked {
      border-color: rgba(255, 255, 255, 0.1);
      cursor: not-allowed;
    }

    &.available {
      border-color: #ffd23f;
    }

    &.unlocked {
      border-color: #4caf50;
      background-color: rgba(40, 70, 40, 0.9);
    }

    &.pointer {
      cursor: pointer;
    }

    .text-green {
      color: #4caf50;
    }
  }

  .reset-button {
    position: absolute;
    bottom: 200px;
    right: 100px;
    padding: 10px 16px;
    background-color: rgba(20, 20, 25, 0.9);
    border: 2px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    color: white;
    font-size: 25px;
    pointer-events: all;
    cursor: pointer;
    z-index: 10;

    &:hover {
      border-color: #ffd23f;
    }
  }

  .popup {
    position: relative;
    pointer-events: none;

    .popup-container {
      position: absolute;
      top: -200px;
      left: 50%;
      transform: translateX(-50%);
      padding: 10px;
      border-radius: 16px;
      background-color: #09f;

      z-index: 9999;

      p {
        font-family: "Space Grotesk";
        color: white;
      }
    }
  }
}