* {
    box-sizing: border-box;
}

body {
    background-color: #1f1f1f;
    margin: 0;
    display: flex;
    flex-direction: column;
    height: 100vh;

}

#top_bar {
    display: flex;
    align-items: center;
    /* background-color: rgb(52, 52, 52); */
    width: calc(100% - 40px);
    height: 70px;
    border-radius: 15px;
    color: rgb(26, 197, 120);
    font-family: "Outfit", Helvetica, sans-serif;
    margin: 20px;
    padding: 20px;
}

#logo {
    user-select: none;
    font-size: 35px;
    cursor: pointer;
}

#logo:hover {
    color: rgb(18, 157, 95);
}

#control_bar {
    display: flex;
    align-items: center;
    background-color: rgb(67, 67, 67);
    height: 40px;
    width: 700px;
    margin: 0;
    margin-left: /*600px*/ calc(50% - 350px);
    margin-right: calc(50% - 350px);
    border-radius: 10px;
    padding: 20px;
}

.words_amount_toggle {
    color: rgb(150, 150, 150);
    padding: 0 5px 0 5px;
    margin: 0 7px 0 7px;
    font-family: "Outfit";
    transition: all 0.2s;
    user-select: none;
    cursor: pointer;
}

.words_amount_toggle:hover {
    color: white;
    transition: all 0.2s;
}

.active_words_amount {
    color: white;
}

#letters_typed_temp {
    margin-left: 10px;
}

#test_ui {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#words_typed_temp {
    font-family: "Outfit";
    color: rgb(26, 197, 120);
    font-size: 40px;
    width: 50%;
}

#main_area {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

#main_words {
    position: relative;
    overflow: hidden;        /* clips everything outside 3 lines */
    height: 155px;           /* stays the same */
    width: 50%;
}

#words_inner {
    font-family: "Outfit";
    color: rgb(121, 121, 121);
    font-size: 40px;
    line-height: 1.4;
    font-variant-ligatures: none;
    position: relative;      /* so caret absolute positioning still works */
    transition: all 0.1s;
}

#temp_input {
    height: 30px;
}

.correct_letter {
    color: rgb(255, 255, 255);
}

.wrong_letter {
    color: white;
    background-color: rgba(255, 51, 51, 0.577);
    transition: all 0.1s;
}

#caret {
    position: absolute;
    top: 0;
    height: 1.22em;
    width: 3px;
    background-color: rgb(26, 197, 120);
    transition: left 0.1s;
    border-radius: 3px;
}

#reset_btn {
    font-size: large;
    color: white;
    padding: 7px;
    user-select: none;
    transition: all 0.1s;
}

#reset_btn:hover {
    transition: all 0.1s;
    color: rgb(179, 179, 179);
    cursor: pointer;
}
#results_ui {
    align-items: baseline;
    gap: 5px;
}
.label {
    font-family: 'Outfit';
    color: grey;
    font-size: 20px;
    display: flex;
    justify-content: end;
}

.result {
    font-family: 'Outfit';
    color: rgb(26, 197, 120);
    font-size: 50px;
}