:root {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  line-height: 1;
  font-weight: 250;

  --primary-color: #e6a1f9;
  --secondary-color: #3f124e;
  --text-color: rgba(47, 47, 131, 0.9);
  --text-shadow: rgb(239, 116, 255);
  --gold: rgb(255, 246, 195);

  color-scheme: dark;
  color: var(--text-color);
  background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
  height: 100%;
  margin: 0;
  overflow: hidden;
}

body {
  display: flex;
  place-items: center;
}

#root {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem;
  text-align: center;
  perspective: 200px;
}

.title {
    font-family: "Nothing You Could Do", cursive;
    font-size: 5rem;
    font-optical-sizing: auto;
    font-weight: 400;
    cursor: pointer;
    display: inline-block;
    transform-style: preserve-3d;
    transition: all 1s;
    position: relative;
    z-index: 1;
    animation: fadeInRiseUp 0.5s ease-in-out;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.title-checkbox {
    display: none;
}

.title:hover {
  transform: translate(0, -4px);
  filter: drop-shadow(0 4px 3px var(--text-shadow));
}

.title-checkbox:checked + .title {
    transform: rotate3d(1, 1, 0, 30deg) translate(3.1rem, -0.7rem);
    color: var(--gold);
    filter: drop-shadow(0 0 5px white) blur(0.5px);
}

.title-checkbox:checked + .title:hover {
  transform: rotate3d(1, 0.6, 0, 30deg) translate(3.1rem, -0.7rem);
}

.bg-svg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    filter: blur(0.4px);
  }

.bg-svg path {
    stroke: var(--gold);
    stroke-width: 0.5;
    fill: rgba(0,0,0,0);
    stroke-dasharray: var(--stroke-length) var(--stroke-length);
    stroke-dashoffset: var(--stroke-length);
    transition: all 4s ease;
    will-change: stroke-dashoffset fill;
}

body.svg-active .bg-svg path {
    stroke-dashoffset: 0;
    fill: rgba(239, 116, 255, 0.05);
}

@keyframes fadeInRiseUp {
  from {
    opacity: 0;
    transform: scale(0.9)
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 768px) {
  .title {
    font-size: 4rem;
  }
}
