* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: sans-serif;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #2f363e;
}

#time {
  position: relative;
  width: 250px;
  height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#time .circle {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
}

#time .circle svg {
  position: relative;
  transform: rotate(270deg);
}

#time .circle:nth-child(1) svg {
  width: 250px;
  height: 250px;
}

#time .circle:nth-child(2) svg {
  width: 210px;
  height: 210px;
}

#time .circle:nth-child(3) svg {
  width: 170px;
  height: 170px;
}

#time .circle svg circle {
  width: 100%;
  height: 100%;
  fill: transparent;
  stroke: var(--color);
  stroke-width: 5;
  transform: translate(5px, 5px);
  opacity: 0.25;
}

#time .circle:nth-child(1) svg circle {
  stroke-dasharray: 760;
  stroke-dashoffset: 760;
}

#time .circle:nth-child(2) svg circle {
  stroke-dasharray: 630;
  stroke-dashoffset: 630;
}

#time .circle:nth-child(3) svg circle {
  stroke-dasharray: 510;
  stroke-dashoffset: 510;
}

.dots {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  z-index: 10;
}

.dots::before {
  content: "";
  position: absolute;
  top: -3px;
  width: 15px;
  height: 15px;
  background: var(--color);
  border-radius: 50%;
  box-shadow: 0 0 20px var(--color), 0 0 40px var(--color),
    0 0 60px var(--color), 0 0 80px var(--color);
}

.time-box {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  color: #fff;
  font-size: 1.5em;
  gap: 15px;
  font-weight: bold;
}

.time-box .hours::after,
.time-box .minutes::after {
  content: ":";
  position: absolute;
}

.time-box div {
  color: var(--color);
  text-shadow: 0 0 10px var(--color), 0 0 20px var(--color);
}

.zone {
  position: absolute;
  transform: translateY(-15px);
  right: 56px;
  font-size: 0.5em;
}
