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;
}
}
}
}