@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400;500&display=swap");
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body {
  background-color: #f6f8fa;
  font-family: "Roboto Mono", monospace;
  font-weight: 300;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

* {
  font-family: inherit;
  box-sizing: border-box;
}

.timer {
  display: flex;
  align-items: center;
}
.timer label {
  cursor: text;
  border-radius: 12px;
}
.timer label:focus-within {
  background-color: rgba(9, 105, 218, 0.1);
  box-shadow: 0 0 0 2px #0969da;
}
.timer label:focus-within .caret {
  opacity: 1;
  -webkit-animation: 1000ms blink infinite step-end;
          animation: 1000ms blink infinite step-end;
}
.done > .timer label {
  -webkit-animation: 1000ms dualBlink infinite step-end;
          animation: 1000ms dualBlink infinite step-end;
}
.timer input {
  width: 0;
  height: 0;
  background-color: none;
  border: none;
  outline: 0;
}
.timer span {
  font-size: 24vh;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.timer span.unsure {
  opacity: 0.4;
}
.timer span.letter {
  margin-right: 24px;
}
.timer span.letter + * {
  margin-left: 24px;
}
.timer .caret {
  display: inline-block;
  position: relative;
  top: 1vh;
  height: 24vh;
  width: 4px;
  background-color: #000000;
  opacity: 0;
}
.timer .space {
  flex: 1;
}
.timer #m {
  text-align: right;
}

.buttons {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 125ms;
}
.running:not(.hover) .buttons {
  opacity: 0;
  transition-duration: 1500ms;
}
.buttons button {
  width: 200px;
  height: 44px;
  border: none;
  border-radius: 22px;
  transition: 85ms ease;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
}
.buttons button#start {
  background-color: #0969da;
  color: #ffffff;
}
.buttons button#start:hover {
  background-color: #0d77f5;
}
.buttons button#start:active {
  background-color: #2a88f6;
  transition: none;
}

@-webkit-keyframes blink {
  50% {
    opacity: 0;
  }
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}
@-webkit-keyframes dualBlink {
  10% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  70% {
    opacity: 1;
  }
}
@keyframes dualBlink {
  10% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  70% {
    opacity: 1;
  }
}