* { margin:0; padding:0; box-sizing:border-box; }

html, body {
  width:100%;
  height:100%;
  background:black;
  color:white;
  overflow:hidden;
  font-family:Arial, Helvetica, sans-serif;
}

canvas {
  position:fixed;
  inset:0;
}

#visualizer { opacity:0.55; }

.center {
  position:relative;
  z-index:5;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:transform 0.05s linear;
}

#logo {
  font-size:clamp(3rem,10vw,8rem);
  text-shadow:0 0 30px #5ff;
  transition:transform 0.05s, filter 0.05s;
}

#typing {
  margin-top:10px;
  min-height:1.5em;
  color:#8ff;
}

.buttons {
  margin-top:25px;
  display:flex;
  gap:30px;
  flex-wrap:wrap;
}

.buttons a {
  padding:14px 28px;
  border-radius:14px;
  border:2px solid #5ff;
  color:white;
  text-decoration:none;
  box-shadow:0 0 20px #5ff;
  transition:0.3s;
}

.buttons a:hover {
  box-shadow:0 0 40px #9ff;
  transform:scale(1.05);
}

.audio-ui {
  margin-top:20px;
  display:flex;
  gap:12px;
  align-items:center;
}

#volume {
  appearance:none;
  width:160px;
  height:8px;
  border-radius:8px;
  background:white;
  box-shadow:0 0 12px #5ff;
}

#mute {
  width:44px;
  height:44px;
  border-radius:50%;
  background:none;
  border:2px solid white;
  color:white;
  box-shadow:0 0 12px #5ff;
  cursor:pointer;
}

.crt {
  pointer-events:none;
  position:fixed;
  inset:0;
  background:repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.04),
    rgba(255,255,255,0.04) 1px,
    transparent 2px,
    transparent 4px
  );
  mix-blend-mode:overlay;
}

#startOverlay {
  position:fixed;
  inset:0;
  background:black;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  letter-spacing:0.2em;
  color:#5ff;
  z-index:999;
  cursor:pointer;
}
