body {
  margin: 0;
}

div.single {
  margin: 2em;
  font-family: sans-serif;
  display: flex;
}

img, iframe, video {
  max-width: 100%;
}

nav {
  flex: 1;
}

nav h1 a {
  color: black;
  text-decoration: none;
}

nav h1 a:hover {
  text-decoration: underline;
}

article, main {
  flex: 3;
}

pre:has(code) {
  padding: 1rem 1.6rem;
  margin: 1.6rem 0;
  overflow-y: hidden;
}

ul {
  list-style-type: none;
}

ul > li {
  text-indent: -5px;
}

ul > li:before {
  content: "—";
  text-indent: -5px;
}

div.home {
  font-family: monospace;
  text-align: center;
  display: flex;
  height: 100vh;
  width: 100%;
  justify-content: center;
  align-items: center;
}

.glitch-text {
  font-weight: bold;
  position: relative;
  display: inline-block;
}

.glitch-text.active::before,
.glitch-text.active::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.glitch-text.active::before {
  color: #ff0000;
  animation: glitch-effect 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
}

.glitch-text.active::after {
  color: #00ffff;
  animation: glitch-effect 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both infinite;
}

@keyframes glitch-effect {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-3px, 3px);
  }
  40% {
    transform: translate(-3px, -3px);
  }
  60% {
    transform: translate(3px, 3px);
  }
  80% {
    transform: translate(3px, -3px);
  }
  100% {
    transform: translate(0);
  }
}

