:root {
  --mug-color: #9378B1;
  --chamomile-color: #F4C17F;
  --background-color: #E8E3FF;
  --vapour-color: rgba(244, 193, 127, 0.5);
  --dark-detail-color: #60557C;
}

body{
  background: var(--background-color);
}

.box-canvas{
  position: relative;
  margin: auto;
  display: block;
  margin-top: 8%;
  margin-bottom: 8%;
  width: 600px;
  height:600px;
  background: var(--background-color);
}

.mug-body {
  position: absolute;
  left: 190px;
  top: 200px;
  width: 220px;
  height: 260px;
  background: var(--mug-color);
  border-radius: 0 0 40% 40%;
}

/* Tea at the top of the mug */
.mug-body::before {
  content: '';
  position: absolute;
  top: -45px;
  left: 0;
  width: 180px;
  height: 50px;
  border-radius: 50%;
  border: 20px solid var(--mug-color);
  background: var(--chamomile-color);
}

/* Tea bag string */
.mug-body::after {
  content: '';
  position: absolute;
  height: 100px;
  width: 20px;
  left: 150px;
  top: 10px;
  border: 1px solid var(--mug-color);
  border-right: 2px solid #60557C;
  border-top: 3px solid #60557C;
  border-radius: 50% 50% 0 0;
}

/* Handle */
.handle {
  position: absolute;
  right: 110px;
  top: 220px;
  height: 120px;
  width: 80px;
  border: 30px solid var(--mug-color);
  border-radius: 0 50% 50% 0;
}

/* Square tag */
.handle::before {
  content: '';
  position: absolute;
  z-index: 1;
  left: -35px;
  top: 37px;
  width: 40px;
  height: 40px;
  background: var(--background-color);
  transform: rotate(-5deg);
  border: 2px solid var(--dark-detail-color);
}

/* Shadow under mug */
.handle::after {
  content: '';
  position: absolute;
  top: 130px;
  left: -200px;
  background: rgba(147, 120, 177, 0.2 );
  width: 250px;
  height: 100px;
  border-radius: 50%;
}

/* Shared tea bag petal styles */
.petal {
  position: absolute;
  background: white;
  z-index: 1;
  border: 2px solid var(--dark-detail-color);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Top left petal */
.flower-petal-top {
  left: 350px;
  top: 300px;
}

/* Bottom left petal */
.flower-petal-top::before {
  content: '';
  background: white;
  position: absolute;
  top: 8px;
  left: 3px;
  border: 2px solid var(--dark-detail-color);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Top center petal */
.flower-petal-top::after {
  content: '';
  position: absolute;
  background: white;
  top: -9px;
  left: 6px;
  border: 2px solid var(--dark-detail-color);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Bottom right petal */
.flower-petal-bottom {
  left: 367px;
  top: 308px;
}

/* top right petal */
.flower-petal-bottom::before {
  content: '';
  background: white;
  position: absolute;
  top: -13px;
  left: -1px;
  border: 2px solid var(--dark-detail-color);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* Centre of flower */
.flower-petal-bottom::after {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  background: var(--chamomile-color);
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 2px solid var(--dark-detail-color);
}

/* Shared vapour styles */
.vapour {
  position: absolute;
  height: 100px;
  width: 50px;
  border-radius: 50%;
}

.left-vapour {
  left: 200px;
  top: -30px;
  border-right: 20px solid var(--vapour-color);
}

.vapour::after {
  content: '';
  position: absolute;
  height: 100px;
  width: 50px;
  border-radius: 50%;
}

.left-vapour::after {
  top: 85px;
  left: 27px;
  border-left: 20px solid var(--vapour-color);
}

.right-vapour {
  left: 253px;
  top: 20px;
  border-right: 20px solid var(--vapour-color);
}

.right-vapour::after {
  top: -65px;
  left: 80px;
  border-left: 20px solid var(--vapour-color);
}

.right-vapour::before {
  content: '';
  position: absolute;
  height: 100px;
  width: 50px;
  border-radius: 50%;
  top: 20px;
  left: 55px;
  border-right: 20px solid var(--vapour-color);
  animation-delay: 1s;
}