@font-face {
  font-family: m6x11;
  src: url(../font/m6x11plus.ttf);
}

body{
  background-color: var(--main-bg);
  font-size: 36px;
  font-family: m6x11;
  color: var(--main-color);

  margin: 0;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  gap: 0;

  cursor:default;
  user-select: none;
}

:root {
  --main-bg: #749A66;
  --main-font: m6x11;
  --main-color: #051524;
}

p{
  font-size: 18px;
  font-family: m6x11;
  margin: 0;
}

h1{
  margin: 0;
  font-weight: 100;
  font-family: m6x11;
  font-size: 68px;
}

h2{
  margin: 0;
  font-weight: 100;
  font-family: m6x11;
  font-size: 54px;
}

h3{
  margin: 0;
  font-weight: 100;
  font-family: m6x11;
  font-size: 36px;
}

.comp{
  text-align: center;
  display: grid;
  grid-template-rows: 100%;
  grid-template-columns: 33% 33% 33%;
  height: 100%;
}

.innercomp{
  align-items: center;
  display: grid;
  grid-template-rows: 10% 90%;
  grid-template-columns: 100%;
}

.skill-tree {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 40px;
    padding: 40px;
    height: calc(100vh - 80px);
    position: relative;
}

.tree-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.category-title {
    background-color: var(--main-color);
    color: var(--main-bg);
    padding: 12px 20px;
    border: 3px solid var(--main-color);
    border-radius: 8px;
    font-size: 24px;
    margin-bottom: 30px;
    image-rendering: pixelated;
    box-shadow: 4px 4px 0px rgba(5, 21, 36, 0.3);
}

.skills {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    position: relative;
}

.skill-node {
    background-color: rgba(5, 21, 36, 0.1);
    border: 2px solid var(--main-color);
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 18px;
    position: relative;
    transition: all 0.2s ease;
    image-rendering: pixelated;
}

.skill-node:hover {
    background-color: rgba(5, 21, 36, 0.2);
    transform: scale(1.05);
}

.skills::before {
    content: '';
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    height: 20px;
    background-color: var(--main-color);
    image-rendering: pixelated;
}

.skill-node::before {
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    height: 8px;
    background-color: var(--main-color);
    image-rendering: pixelated;
}

.skill-node:first-child::before {
    display: none;
}

.skills .skill-node:not(:first-child)::after {
    content: '';
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 8px;
    background-color: var(--main-color);
    border-radius: 50%;
    image-rendering: pixelated;
}