@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@700&display=swap");

:root {
  --hand-width: 0.5rem;
  --sec-hand: 6rem;
  --min-hand: calc(var(--sec-hand) * 0.85);
  --hour-hand: calc(var(--sec-hand) * 0.6);
  --clr-red: hsl(11, 79%, 49%);
  --clr-dark: hsl(0, 0%, 19%);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: 100vh;
  width: 100vw;
  display: grid;
  place-items: center;
  font-family: "Open Sans", sans-serif;
}

.clock-body {
  height: 15rem;
  width: 15rem;
  border-radius: 50%;
  position: relative;
  box-shadow: inset 0px 0px 30px #a6a9b4, 0 0 0 15px #333;
}

.disc {
  width: 0.5rem;
  height: 0.5rem;
  background: var(--clr-red);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%) translateY(-50%);
}

.disc-bottom {
  width: 0.9rem;
  height: 0.9rem;
  background: #333;
  z-index: 1;
}

.hand {
  background: var(--clr-dark);
  border-radius: 15px 15px 0 0;
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform-origin: bottom;
  transition: all 0.05s;
  transition-timing-function: cubic-bezier(0.1, 2.7, 0.58, 1);
}

.second {
  background: var(--clr-red);
  width: 0.1rem;
  height: var(--sec-hand);
  transform: translateX(-50%) rotate(0deg);
  z-index: 2;
}

.second::before {
  content: "";
  height: 1.5rem;
  width: 0.1rem;
  background: var(--clr-red);
  position: absolute;
  top: 100%;
}

.second::after {
  content: "";
  height: 1.5rem;
  width: 0.3rem;
  background: var(--clr-red);
  position: absolute;
  top: 120%;
  transform: translateX(-35%);
}

.minute {
  height: var(--min-hand);
  width: 0.3rem;
  transform: translateX(-50%) rotate(0deg);
  background: var(--clr-dark);
}

.minute::after {
  content: "";
  height: 1.2rem;
  width: 0.3rem;
  background: var(--clr-dark);
  position: absolute;
  top: 100%;
  border-radius: 0px 0px 10px 10px;
}

.hour {
  height: var(--hour-hand);
  width: 0.4rem;
  background: var(--clr-dark);
  transform: translateX(-50%) rotate(0deg);
  z-index: -1;
}

.hour::after {
  content: "";
  height: 1.2rem;
  width: 0.4rem;
  background: var(--clr-dark);
  position: absolute;
  top: 100%;
  border-radius: 0px 0px 10px 10px;
}

.hour-number {
  position: absolute;
  left: 50%;
  height: 7.5rem;
  transform-origin: bottom;
  padding: 1rem;
  color: var(--clr-dark);
  user-select: none;
  font-size: 1.4rem;
}

.minute-bar {
  position: absolute;
  left: 50%;
  width: 1rem;
  height: 7.5rem;
  transform-origin: bottom;
  transform: rotate(20deg) translateX(-50%);
}

.hour-number::before,
.minute-bar::before {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  top: 0px;
  border-radius: 0px 0px 15px 15px;
  transform: translateX(-50%);
  background: var(--clr-dark);
}

.hour-number::before {
  height: 10px;
  width: 4px;
}

.minute-bar::before {
  height: 6px;
  width: 2px;
}
