body {
      font-family: sans-serif;
      margin: 50px;
      }
      .puzzle_row {
      display: flex;
      }
      .holder {
      display: flex;
      }
      .puzzle2 {
      padding-right: 100px;
      padding-bottom: 70px;
      background-color: white;
      }
      .cell {
      display: inline-block;
      width: 40px;
      height: 40px;
      line-height: 40px;
      text-align: center;
      font-size: 22px;
      position: relative;
      overflow: hidden;
      padding: 3px;
      }
      .hn {
      padding-top: 0px;
      border-top-width: 3px;
      border-top-color: black;
      border-top-style: solid;
      }
      .hw {
      padding-left: 0px;
      border-left-width: 3px;
      border-left-color: black;
      border-left-style: solid;
      }
      .he {
      padding-right: 0px;
      border-right-width: 3px;
      border-right-color: black;
      border-right-style: solid;
      }
      .hs {
      padding-bottom: 0px;
      border-bottom-width: 3px;
      border-bottom-color: black;
      border-bottom-style: solid;
      }
      .ln {
      padding-top: 1px;
      border-top-width: 2px;
      border-top-color: grey;
      border-top-style: solid;
      }
      .lw {
      padding-left: 1px;
      border-left-width: 2px;
      border-left-color: grey;
      border-left-style: solid;
      }
      .le {
      padding-right: 1px;
      border-right-width: 2px;
      border-right-color: grey;
      border-right-style: solid;
      }
      .ls {
      padding-bottom: 1px;
      border-bottom-width: 2px;
      border-bottom-color: grey;
      border-bottom-style: solid;
      }
      .unused {
      box-shadow: inset 0 0 0 1000px #cccccc;
      }
      .arc {
      width: 44px;
      height: 44px;
      border-radius: 20%;
      border-style: solid;
      border-width: 2px;
      border-color: #00cc00;
      position: absolute;
      }

      .arc_horiz_top {
      position: absolute;
      width: 60px;
      height: 20px;
      border-top: 2px solid #00cc00;
      top: 20px;
      left: 0px;
      }
      .arc_horiz_bot {
      position: absolute;
      width: 60px;
      height: 20px;
      border-top: 2px solid #00cc00;
      top: 17px;
      left: 0px;
      }

      .arc_se {
    top: 20px;
    left: 17px;
}
.arc_sw {
    top: 20px;
    right: 19px;
}
.arc_ne {
    bottom: 16px;
    left: 17px;
}
.arc_nw {
    bottom: 16px;
    right: 19px;
}