body {
  margin: 0;
  background-color: #0F0F0F;
}

.top {
  display: flex;
  justify-content: center; /* center horizontally */
  align-items: center;     /* center vertically */
  padding-top: 20px;
}
.timer-text {
  color: white;
  font-weight: 500;
  font-size: 23px;
  font-family: 'Roboto', sans-serif;
  margin-top: 0px;
  margin-bottom: 0px;
  padding-left: 5px;
}

.login-button {
    position: absolute;
    right: 22px;
    top: 20px;
    padding: 0;
    background: transparent;
    color: white;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 23px;
    border: none;
    cursor: pointer;
    transition: color 0.25s ease;
    white-space: nowrap;
    user-select: none;
}
.login-button:hover {
  color: #AEACAC;          
}

.user-section {
    position: absolute;
    right: 22px;
    top: 7px;

    cursor: pointer;
}
.avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
}

.text-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1000px;
    font-size: 40px;
    text-align: center;
    overflow: hidden;
}
/* viewport */
.scroll-area {
    position: relative;
    display: block;
    white-space: nowrap;
    width: 100%;
    height: 50px;
    overflow: hidden;
}
/* the input sits on top */
.text-input {
    height: 52px;
    position: absolute;
    inset: 0;
    min-width: max-content;

    font: 500 40px 'Roboto', sans-serif;
    line-height: 50px;          /* match highlighted-text */
    background: transparent;

    border: none;
    outline: none;
    color: transparent;
    caret-color: #696969;
    z-index: 1;
    white-space: nowrap;
    text-align: left;

    /* 🔑 reset browser defaults */
    padding: 0;
    margin: 0;
    box-sizing: content-box;    /* prevent input quirks */
}
.text-input::selection {
    background: cornflowerblue;
    color: transparent;       /* text color when selected */
}
.overlay-text {
    margin: 0;
    font: 500 40px 'Roboto', sans-serif;
    line-height: 50px;
    white-space: nowrap;
    z-index: 2;
}
/* optional states */
.overlay-text .default { color: #575757; }
.overlay-text .correct { color: #fff; }
.overlay-text .incorrect { color: red; }

.text-gradient-circle {
    position: absolute;
    width: 456px;
    height: 203px;
    left: 1037px;
    top: 370px;
    border-radius: 50%;

    background: linear-gradient(89.99deg, rgba(15, 15, 15, 0.1065) 16.61%, rgba(15, 15, 15, 0.71) 99.99%);

    pointer-events: none;
}
