body,
html {
  margin: 0;
  padding: 0;
  background: #EAF6FF;
  font-family: 'Mukta Malar', sans-serif;
  font-weight: 700;
  overflow: hidden;
}

h1 {
  margin: 0;
  color: white;
  text-transform: uppercase;
  font-size: 8vw;
  text-shadow: 0px 4px #d6e5e3;
}

button {
  display: inline-block;
  padding: 10px;
  margin: 2px;
  font-size: 10px;
  font-weight: 700;
  font-family: 'Mukta Malar', sans-serif;
  text-transform: uppercase;
  color: black;
  background: transparent;
  border-radius: 255px 15px 225px 15px/15px 235px 5px 275px;
  border: 5px solid white;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media (min-width: 650px) {
  button {
    padding: 20px;
    margin: 10px;
    font-size: 14px;
  }
}
button:focus,
button:hover {
  border-color: #1b4353;
  outline: 0;
}

.app {
  display: -webkit-box;
  display: flex;
  height: 100vh;
  max-width: 100vh;
  margin: 0 auto;
  -webkit-box-align: center;
          align-items: center;
  justify-content: space-around;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  background: radial-gradient(ellipse at center, #fff 30%, #EAF6FF 47%);
}

.wrapper {
  position: relative;
  height: 400px;
  width: 300px;
}

.controls {
  position: absolute;
  bottom: 5%;
  left: 0;
  right: 0;
  padding: 0 20px;
  text-align: center;
}

@media (min-width: 650px) {
  .controls {
    padding: 0;
  }
}
.sliders {
  position: fixed;
  right: 0;
  top: 20%;
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
}

@media (min-width: 650px) {
  .sliders {
    top: 34%;
  }
}
input[type=range] {
  background: #9bb6cf;
  border-radius: 20px;
  margin: 10px;
  -webkit-appearance: none;
}
input[type=range]:focus {
  outline: none;
}

input[type=range]::-webkit-slider-thumb {
  height: 20px;
  width: 20px;
  border-radius: 50%;
  background: #a0d9cb;
  cursor: pointer;
  -webkit-appearance: none;
}

.character {
  position: relative;
}
.character__eye {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: translate(10px, 0px);
          transform: translate(10px, 0px);
}
.character__body {
  fill: #a0d8cb;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.character__eye.-eye-l-extra {
  -webkit-transform: translate(34px, -10px);
          transform: translate(34px, -10px);
}
.character.-sleeping .-eye-l-extra {
  visibility: hidden;
  -webkit-transform: translate(18px, 12px);
          transform: translate(18px, 12px);
}
.character.-sleeping .-eye-l {
  -webkit-transform: translate(10px, 15px);
          transform: translate(10px, 15px);
}
.character.-sleeping .-eye-r {
  -webkit-transform: translate(18px, 12px);
          transform: translate(18px, 12px);
}
.character.-passive .-part-1 {
  -webkit-transform: translate(30px, -10px);
          transform: translate(30px, -10px);
}
.character.-passive .-part-2 {
  -webkit-transform: translate(23px, 3px);
          transform: translate(23px, 3px);
}
.character.-passive .-part-3 {
  -webkit-transform: translate(10px, 3px);
          transform: translate(10px, 3px);
}
.character.-passive .-eye-l {
  -webkit-transform: translate(40px, -10px);
          transform: translate(40px, -10px);
}
.character.-passive .-eye-r {
  -webkit-transform: translate(34px, -10px);
          transform: translate(34px, -10px);
}
.character.-waiting .-part-1 {
  -webkit-transform: translate(12px, 0px);
          transform: translate(12px, 0px);
}
.character.-waiting .-part-2 {
  -webkit-transform: translate(10px, 1px);
          transform: translate(10px, 1px);
}
.character.-waiting .-part-3 {
  -webkit-transform: translate(5px, 2px);
          transform: translate(5px, 2px);
}
.character.-waiting .-eye-l {
  -webkit-transform: translate(52px, -8px);
          transform: translate(52px, -8px);
}
.character.-waiting .-eye-r {
  visibility: hidden;
  -webkit-transform: translate(42px, -7px);
          transform: translate(42px, -7px);
}
.character.-waiting .-eye-l-extra {
  visibility: visible;
  -webkit-transform: translate(42px, -7px);
          transform: translate(42px, -7px);
}
.character.-thinking .-part-1 {
  -webkit-transform: translate(-9px, 5px);
          transform: translate(-9px, 5px);
}
.character.-thinking .-part-2 {
  -webkit-transform: translate(-5px, 2.5px);
          transform: translate(-5px, 2.5px);
}
.character.-thinking .-eye-l {
  -webkit-transform: translate(1px, 10px);
          transform: translate(1px, 10px);
}
.character.-thinking .-eye-l-extra {
  -webkit-transform: translate(-1.5px, 10px);
          transform: translate(-1.5px, 10px);
}
.character.-thinking .-eye-r {
  -webkit-transform: translate(-1.5px, 10px);
          transform: translate(-1.5px, 10px);
}
.character.-typing .-part-1 {
  -webkit-transform: translate(-18px, 10px);
          transform: translate(-18px, 10px);
}
.character.-typing .-part-2 {
  -webkit-transform: translate(-10px, 5px);
          transform: translate(-10px, 5px);
}
.character.-typing .-part-3 {
  -webkit-transform: translate(-4px, 2px);
          transform: translate(-4px, 2px);
}
.character.-typing .-eye-l {
  -webkit-transform: translate(2px, 21px);
          transform: translate(2px, 21px);
}
.character.-typing .-eye-l-extra {
  visibility: hidden;
  -webkit-transform: translate(-3px, 20px);
          transform: translate(-3px, 20px);
}
.character.-typing .-eye-r {
  -webkit-transform: translate(-3px, 20px);
          transform: translate(-3px, 20px);
}
.character.-stressed .-part-1 {
  -webkit-transform: translate(-17px, 20px);
          transform: translate(-17px, 20px);
}
.character.-stressed .-part-2 {
  -webkit-transform: translate(-8px, 10px);
          transform: translate(-8px, 10px);
}
.character.-stressed .-part-3 {
  -webkit-transform: translate(-2px, 4px);
          transform: translate(-2px, 4px);
}
.character.-stressed .-eye-l {
  -webkit-transform: translate(2px, 41px);
          transform: translate(2px, 41px);
}
.character.-stressed .-eye-l-extra {
  visibility: hidden;
  -webkit-transform: translate(-3px, 40px);
          transform: translate(-3px, 40px);
}
.character.-stressed .-eye-r {
  -webkit-transform: translate(-3px, 40px);
          transform: translate(-3px, 40px);
}

.computer {
  position: absolute;
  width: 30%;
  top: 49%;
  left: 12%;
}
.computer__screen {
  fill: #D6E5E3;
}
.computer__keyboard {
  fill: #CACFD6;
}
.computer.-typing {
  -webkit-animation: vibrate 0.6s linear infinite both;
          animation: vibrate 0.6s linear infinite both;
}
.computer.-stressed {
  -webkit-animation: vibrate-crazy 0.5s linear infinite both;
          animation: vibrate-crazy 0.5s linear infinite both;
}

.table {
  position: absolute;
  top: 58%;
  left: -60%;
  fill: #EAF6FF;
  width: 200%;
}

.arm {
  position: absolute;
  top: 0;
  left: 0;
}
.arm path {
  fill: none;
  stroke: #eaf6ff;
  stroke-width: 12;
  stroke-linecap: round;
  stroke-miterlimit: 10;
}

.arm-typing-right {
  -webkit-transform-origin: 200px 168px;
          transform-origin: 200px 168px;
  -webkit-transform: rotate(140deg);
          transform: rotate(140deg);
}

.arm-typing-left {
  -webkit-transform-origin: 190px 160px;
          transform-origin: 190px 160px;
  -webkit-transform: rotate(143deg);
          transform: rotate(143deg);
}

.arm-thinking-right {
  -webkit-transform-origin: 200px 168px;
          transform-origin: 200px 168px;
  -webkit-animation: scratch-chin 10s ease 0s infinite normal;
          animation: scratch-chin 10s ease 0s infinite normal;
}

@-webkit-keyframes scratch-chin {
  0% {
    -webkit-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
  5% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  40% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  60% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  80% {
    -webkit-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
  100% {
    -webkit-transform: rotate(-40deg);
            transform: rotate(-40deg);
  }
}
@-webkit-keyframes vibrate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes vibrate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@-webkit-keyframes vibrate-crazy {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  10% {
    -webkit-transform: translate(-2px, -2px);
            transform: translate(-2px, -2px);
  }
  20% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  30% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  40% {
    -webkit-transform: translate(2px, 2px);
            transform: translate(2px, 2px);
  }
  50% {
    -webkit-transform: translate(-2px, -2px);
            transform: translate(-2px, -2px);
  }
  60% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  70% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  80% {
    -webkit-transform: translate(-2px, -2px);
            transform: translate(-2px, -2px);
  }
  90% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes vibrate-crazy {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  10% {
    -webkit-transform: translate(-2px, -2px);
            transform: translate(-2px, -2px);
  }
  20% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  30% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  40% {
    -webkit-transform: translate(2px, 2px);
            transform: translate(2px, 2px);
  }
  50% {
    -webkit-transform: translate(-2px, -2px);
            transform: translate(-2px, -2px);
  }
  60% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  70% {
    -webkit-transform: translate(-2px, 2px);
            transform: translate(-2px, 2px);
  }
  80% {
    -webkit-transform: translate(-2px, -2px);
            transform: translate(-2px, -2px);
  }
  90% {
    -webkit-transform: translate(2px, -2px);
            transform: translate(2px, -2px);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}

