:root {
  --completed: 100;
}

html {
  box-sizing: border-box;
  font-size: 10px;
  background: black;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  margin: 0;
  text-align: center;
  font-family: sans-serif, monospace;
}

.timestamps {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 10vw;
  height: 100vh;
}

.timestamps .option {
  position: relative;
  margin: 0.5rem;
  padding: 1rem;
  font-size: 2rem;
  border-radius: 5px;
  color: white;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.2);
  text-align: right;
  cursor: pointer;
  transition: background 0.2s ease-in;
}

.timestamps .option:hover {
  background: rgba(255, 0, 85, 0.5);
}

.timestamps .option:active {
  background: rgba(255, 0, 85, 1);
}

.timestamps .option::before {
  content: " ";
  position: absolute;
  height: 100%;
  width: 4px;
  border-radius: 2px;
  top: 0;
  right: -10px;
  background: rgba(255, 0, 85);
}

.timestamps .option span:nth-child(2) {
  color: grey;
  font-size: 0.666em;
}

.progress {
  width: 100vw;
  height: 100vh;
  padding: 50px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.progress h1 {
  position: relative;
}

.progress .percent {
  padding: 50px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.progress .percent svg {
  height: 520px;
  width: 520px;
  border-radius: 50%;
}

.progress .percent .number {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}

.progress .percent .number .time {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 8rem;
}

.progress .percent .number .colons {
  color: white;
  font-weight: bold;
  font-size: 5rem;
  margin: 0 1rem 2rem;
}

.progress .percent .number .time span {
  color: white;
  font-weight: bold;
}

.progress .percent .number .time .measure {
  font-size: 0.2em;
  font-weight: lighter;
}

.progress .percent svg circle {
  height: 100%;
  width: 100%;
  fill: none;
  stroke: white;
  stroke-width: 1px;
  stroke-linecap: round;
  transform-origin: 250px 250px;
  transform: translate(10px, 10px) rotate(-90deg) scaleY(-1);
}

.progress .percent svg circle:nth-child(2) {
  stroke-width: 10px;
  stroke-dasharray: 1570;
  stroke-dashoffset: calc(1570 - (1570 * var(--completed)) / 100);
  stroke: rgba(255, 0, 85);
  transition: stroke-dashoffset 1s linear;
}

form {
  display: flex;
  justify-content: center;
  align-items: center;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input {
  margin: 1rem;
  padding: 5px;
  background: none;
  text-align: center;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 5px;
  font-size: 5rem;
  color: white;
}

input[type="submit"] {
  width: 150px;
  background: rgba(255, 0, 85);
}
