body {
  background: black;
  overflow: hidden;
  margin: 0;
}

svg {
  width: 100vw;
  height: 100vh;
  opacity: 0;
}

defs path {
  stroke: white;
  stroke-width: 2px;
}

body {
  padding: 0;
}

.name-container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.full-name {
  display: flex;
  justify-content: center;
}
.full-name.line > div {
  min-width: 0;
}
.full-name.line > div i {
  width: 0;
  height: 0;
  border-width: 0;
}
.full-name.line > div i:before, .full-name.line > div i:after {
  width: 0;
  height: 0;
  border-width: 0;
}
.full-name > div {
  position: relative;
  box-sizing: border-box;
  height: 165px;
  min-width: 100px;
  padding-bottom: 20px;
  transition: all 2s ease-in;
}
.full-name > div i {
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
}

.b {
  border-left: 2px solid #5B3;
  height: 125px;
  top: 20px;
  width: 60px;
  transition: all 2s ease-in;
}
.b:before, .b:after {
  border-color: #5B3;
  border-width: 2px 2px 2px 0;
  border-style: solid;
  content: "";
  position: absolute;
  transition: all 2s ease-in;
}
.b:before {
  border-radius: 0 240% 180% 0/0 180% 180% 0;
  height: 52px;
  top: 0;
  width: 52px;
}
.b:after {
  border-radius: 0 180% 220% 0/0 180% 180% 0;
  bottom: 0;
  height: 67px;
  width: 66px;
}

.line .b {
  border-left: 2px solid #5B3;
  left: 29px;
}
.line .b:before {
  border-width: 0;
  height: 0;
  top: 15px;
  width: 0;
}
.line .b:after {
  border-width: 0;
  bottom: 30px;
  height: 0;
  width: 0;
}

.d {
  border-left: 2px solid #5B3;
  height: 125px;
  top: 20px;
  width: 80px;
  transition: all 2s ease-in;
}
.d:before {
  border-width: 2px 2px 2px 0;
  border-color: #5B3;
  border-style: solid;
  border-radius: 0 300% 300% 0/0 180% 180% 0;
  content: "";
  height: 121px;
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  transition: all 2s ease-in;
}

.line .d {
  border-left: 2px solid #5B3;
  height: 125px;
  top: 20px;
  left: 37px;
}
.line .d:before {
  border-width: 0;
  border-radius: 0;
  height: 121px;
  position: absolute;
  top: 49px;
  width: 0;
  height: 0;
}

.n {
  border-left: 2px solid #5B3;
  border-right: 2px solid #5B3;
  height: 125px;
  overflow: hidden;
  top: 20px;
  width: 78.5px;
  transition: all 2s ease-in;
}
.n:after {
  background: #5B3;
  content: "";
  height: 125px;
  position: absolute;
  top: 0;
  left: 39px;
  transform: skew(33deg);
  width: 2px;
  transition: all 2s ease-in;
}

.line .n {
  width: 0;
  border-width: 1px;
}
.line .n:after {
  transform: skew(0deg);
  width: 0;
}

.o {
  border: 2px solid #5B3;
  border-radius: 75%;
  height: 121px;
  top: 20px;
  width: 80px;
  transition: all 2s ease-in;
}

.line .o {
  width: 0;
  top: 35px;
  height: 80px;
  border-radius: 0;
  border-width: 1px;
  transform: rotate(90deg);
}

.s {
  height: 150px;
  top: 11px;
  transform: rotate(13deg);
  width: 80px;
  transition: all 2s ease-in;
}
.s:before {
  border-width: 2px 0 2px 2px;
  border-color: #5B3;
  border-style: solid;
  border-radius: 220% 0 0 150%/150% 0 0 100%;
  content: "";
  height: 54px;
  position: absolute;
  left: 10px;
  transform: rotate(21deg);
  width: 38px;
  transition: all 2s ease-in;
}
.s:after {
  border-width: 2px 0 2px 2px;
  border-color: #5B3;
  border-style: solid;
  border-radius: 240% 0 0 110%/140% 0 0 100%;
  content: "";
  height: 60px;
  position: absolute;
  top: 70px;
  left: 25px;
  transform: rotate(201deg);
  width: 60px;
  transition: all 2s ease-in;
}

.line .s {
  top: -67px;
  transform: rotate(180deg);
}
.line .s:before {
  top: 0;
  left: 0;
  border-radius: 0;
  border-width: 0 0 2px;
  transform: rotate(180deg);
}
.line .s:after {
  top: 0;
  left: 0;
  border-radius: 0;
  border-width: 0 0 2px;
  transform: rotate(180deg);
}

.v {
  height: 125px;
  top: 22px;
  width: 80px;
  transition: all 2s ease-in;
}
.v:before, .v:after {
  background: #5B3;
  content: "";
  height: 125px;
  position: absolute;
  top: 0;
  width: 2px;
  transition: all 2s ease-in;
}
.v:before {
  left: 17px;
  transform: skew(20deg);
}
.v:after {
  left: 62px;
  transform: skew(-20deg);
}

.line .v:before {
  left: 40px;
  transform: skew(0deg);
}
.line .v:after {
  left: 40px;
  transform: skew(0deg);
}

.y {
  top: 20px;
  width: 2px;
  transition: all 2s ease-in;
}
.y:before {
  background: #5B3;
  transform: skew(28deg);
  position: absolute;
  content: "";
  top: 0;
  left: -10px;
  width: 2px;
  height: 80px;
  transition: all 2s ease-in;
}
.y:after {
  background: #5B3;
  content: "";
  height: 125px;
  position: absolute;
  top: 0;
  right: -21px;
  transform: skew(-28deg);
  width: 2px;
  transition: all 2s ease-in;
}

.line .y {
  top: 20px;
  width: 2px;
}
.line .y:before {
  transform: rotate(90deg);
  top: 20px;
  left: 0;
  transition: all 2s ease-in;
}
.line .y:after {
  transform: rotate(90deg);
  top: -1px;
  right: 0;
  transition: all 2s ease-in;
}