body {
    --link-color: #8080ff;
    --overlay-filter: transparent;
    --letter-border: #ccc;
    --letter-text: #fff;
    --background: #fff;
    --background2: #edf0f5;
    --background-page: #d5f0ff;
    --background-button: #cce9ff;
    --background-button2: #b8ffc9;
    --button-hover: #5277ae30;
    --button-hover2: #5277ae30;
    --text-button2: #626568;
    --text: #000;
    --letter-neutral: #e7ebf1;
    --letter-correct: #22c55e;
    --letter-elsewhere: #eab308;
    --letter-absent: #94a3b8
}

body.dark {
    --link-color: #36c2fd;
    --overlay-filter: #0404cd;
    --background-dark: #121212;
    --background: #0f172a;
    --background2: #142a40;
    --background-page: #334155;
    --background-button: #3072ce;
    --background-button2: #48b63f;
    --button-hover: #0e2d58;
    --button-hover2: #388b31;
    --text-button2: hsla(0,0%,100%,.9);
    --text: hsla(0,0%,100%,.9);
    --letter-neutral: #475569;
    --letter-correct: #33a75d;
    --letter-elsewhere: #c6a934;
    --letter-absent: #222d3b
}

body.color-blind {
    --letter-correct: #f17e2d;
    --letter-elsewhere: #3f94e9
}

* {
    box-sizing: border-box
}

a,a:visited {
    color: var(--link-color)
}

a:active {
    color: #c7f
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: Nunito,sans-serif;
    font-size: 16px;
    margin: 0 0 10px;
    text-align: center
}

button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

#root {
    position: relative
}

body.dark {
    background-color: var(--background-dark);
    color: var(--text)
}

.overlay {
    background-color: var(--overlay-filter);
    height: 100%;
    opacity: 8%;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 999
}

.hidden {
    display: none!important
}

.ad__container {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

@media screen and (max-width: 479px) {
    body {
        font-size:15px
    }
}

.App-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    max-width: 650px;
    position: relative
}

.App-button-bar {
    border: none;
    border-radius: 30px;
    display: flex;
    height: 35px;
    padding: 0 10px
}

body.dark .App-button-bar {
    background: #53bc9c
}

.App-button-bar-under {
    bottom: -35px;
    height: 27px;
    left: 50%;
    position: fixed;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1000
}

.App-button {
    align-items: center;
    background: var(--background-button);
    border: none;
    border-radius: 8px;
    color: var(--text-button2);
    cursor: pointer;
    display: flex;
    font-size: 14px;
    justify-content: center;
    line-height: 20px;
    margin: 3px;
    min-height: 35px;
    padding: 4px 14px
}

.App-button-icon {
    height: 24px;
    margin-right: 2px;
    width: 24px
}

.App-button-icon svg {
    stroke: var(--text-button2);
    fill: var(--text-button2);
    height: 100%;
    width: 100%
}

.App-button:hover {
    background: var(--button-hover)
}

.App-button:disabled {
    background-color: #3e485730;
    color: #8c8e91;
    cursor: auto
}

.App-button-marked {
    background-color: var(--background-button2);
    color: var(--text-button2);
    font-size: 24px;
    font-weight: 900;
    height: 60px;
    letter-spacing: .5px;
    line-height: 11px;
    padding: 4px 18px;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap
}

.App-button-marked:hover {
    background-color: var(--button-hover2)
}

.App-button img,.App-button span {
    vertical-align: middle
}

#select-show-button {
    background-color: #6eb66c;
    color: #fff;
    font-weight: 600
}

#select-show-button:disabled {
    background-color: #c3c3c3
}

.App-button-circle,.App-button-circle-fixed {
    background-color: #eaeef8;
    border: 1px solid;
    border-radius: 18%;
    color: #626568;
    cursor: pointer;
    height: 35px;
    margin: 0 5px;
    padding: 0;
    text-align: center;
    text-decoration: none;
    width: 35px
}

.App-button-circle {
    height: 27px;
    width: 27px
}

body.dark .App-button-circle,body.dark .App-button-circle-fixed {
    background-color: #9b9a9a;
    color: #000
}

.App-button-circle-fixed:hover,.App-button-circle:hover {
    background-color: #a4ffa2;
    border: 1px solid;
    color: #000;
    font-weight: 500
}

body.dark .App-button-circle-fixed:hover,body.dark .App-button-circle:hover {
    background-color: #6eb66c
}

.App-button-circle-fixed:disabled,.App-button-circle:disabled {
    background-color: #a4ffa2;
    border: 1px solid;
    color: #000;
    font-weight: 500
}

body.dark .App-button-circle-fixed:disabled,body.dark .App-button-circle:disabled {
    background-color: #6eb66c
}

.App-button-close {
    background: none;
    border: none;
    cursor: pointer;
    height: 32px;
    padding: 0;
    position: absolute;
    right: 8px;
    width: 32px
}

.App-button-close svg {
    stroke: var(--text);
    height: 100%;
    width: 100%
}

.Game {
    padding-bottom: 8px;
    padding-top: 10px
}

.Game-options {
    display: flex;
    justify-content: right;
    margin: 0 auto;
    max-width: 350px;
    min-height: 42px;
    padding: 4px
}

.Game-options .App-button {
    height: 27px;
    margin: 4px 3px 0;
    min-height: 0
}

.Game-challenge-bar {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 3px;
    min-height: 18px
}

.Game-challenge-bar button {
    width: 340px
}

.Game-hint-bar {
    margin: 5px
}

.Game-info,.Game-info-tour {
    -webkit-font-feature-settings: "tnum";
    font-feature-settings: "tnum";
    display: flex;
    flex-direction: column;
    font-variant-numeric: tabular-nums;
    justify-content: center;
    margin: 3px;
    opacity: .5
}

.Game-info-tour {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 350px
}

.Share-icon {
    height: 45px
}

.Share-icons-bar {
    margin: 5px
}

.App-switch-checkbox {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%2386b7fe'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    border: 1px solid #2f55d4;
    border-radius: 2em;
    cursor: pointer;
    height: 1.6em;
    transition: background-position .15s ease-in-out;
    width: 3.2em
}

.App-switch-checkbox:checked {
    background-color: #2f55d4;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E");
    background-position: 100%;
    border-color: #2f55d4
}

.App-header {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    height: 37px;
    margin: 0 auto 5px;
    max-width: 650px;
    padding: 8px 5px 6px 0
}

.App-icon-container {
    display: flex
}

.page-icon {
    border-radius: 50%;
    display: inline;
    margin-left: 4px
}

.page-icon,.page-icon svg {
    cursor: pointer;
    height: 34px;
    width: 34px
}

.page-icon svg {
    align-content: center;
    align-items: center;
    background-color: #ebedf3;
    border: 1px solid #ccc;
    border-radius: 7px;
    color: #69758e;
    display: flex;
    justify-content: center;
    padding: 6px;
    transition: .2s linear
}

.page-icon svg:hover {
    background-color: beige;
    color: #69758e
}

body.dark .page-icon svg {
    background-color: #42465c;
    border-color: #42465c;
    color: #feffff
}

body.dark .page-icon svg:hover {
    background-color: #2a402f;
    color: #7bd27b
}

.button-startover {
    background-color: #d9ffe8;
    border: 1px solid;
    border-radius: 7px;
    color: #69758e;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    height: 34px;
    margin-left: 10px;
    margin-right: 10px;
    padding: 0 14px;
    transition: .2s
}

.button-startover:hover {
    background-color: #9cf6bf
}

.button-giveup {
    background-color: #e4ffff;
    border: 1px solid;
    border-radius: 7px;
    color: #69758e;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    height: 34px;
    margin-left: 10px;
    margin-right: 10px;
    padding: 0 14px;
    transition: .2s
}

.button-giveup:hover {
    background-color: #b7dbf7
}

.dropdown {
    display: inline-block;
    position: relative
}

.dd_button {
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
    padding: 0 15px 0 0;
    -webkit-user-select: none;
    user-select: none;
    white-space: nowrap
}

.dd_button:after {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid var(--color-black);
    content: "";
    height: 0;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0
}

.dd_input {
    display: none
}

.dd_menu {
    background-color: var(--background);
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 0 6px 0 rgba(0,0,0,.1);
    list-style-type: none;
    margin: 2px 0 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 10
}

.dd_input+.dd_menu {
    display: none
}

.dd_input:checked+.dd_menu {
    display: block
}

.dd_menu li {
    cursor: pointer;
    padding: 10px 20px;
    -webkit-user-select: none;
    user-select: none;
    white-space: nowrap
}

.dd_menu li:hover {
    background-color: #f6f6f6
}

body.dark .dd_menu li:hover {
    background-color: #474747
}

.dd_menu li a {
    display: block;
    margin: -10px -20px;
    padding: 10px 20px
}

.dd_menu li.divider {
    border-bottom: 1px solid #ccc;
    padding: 0
}

.mode-button__container {
    align-items: center;
    display: flex
}

.mode-button {
    background-color: #fff;
    border: none;
    border-radius: 9px;
    color: #000;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    margin-left: 5px;
    padding: 5px
}

.mode-button.active {
    background-color: #000;
    color: #fff
}

body.dark .mode-button {
    background-color: initial;
    color: #fff
}

body.dark .mode-button.active {
    background-color: #fff;
    color: #000
}

.modal-reveal {
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-name: reveal;
    animation-name: reveal
}

@-webkit-keyframes reveal {
    0% {
        opacity: 0;
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes reveal {
    0% {
        opacity: 0;
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.Top-window-background {
    align-items: flex-start;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.Top-window-frame {
    background-color: #fff;
    border: 1px solid;
    border-radius: 5px;
    box-shadow: 0 0 0 0 rgba(26,26,26,.3),0 0 5px rgba(0,0,0,.3);
    display: flex;
    flex-direction: column;
    margin: 11px 5px 0;
    overflow: auto;
    -webkit-user-select: none;
    user-select: none;
    width: 380px;
    z-index: 10
}

body.dark .Top-window-frame {
    background: var(--background-dark);
    border: 1px solid hsla(0,0%,100%,.7)
}

.Top-window-title {
    align-items: center;
    background-color: #f1f3f9;
    border-radius: 5px 5px 0 0;
    display: flex;
    flex-grow: 1;
    font-size: 24px;
    font-weight: 800;
    height: 50px;
    justify-content: center;
    padding: 5px;
    position: relative
}

body.dark .Top-window-title {
    background: var(--background-page);
    color: var(--text)
}

.Top-window-content {
    height: 100%;
    padding: 5px 20px;
    width: 100%
}

.Generator-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.Generator-content>.App-button {
    margin: 5px 0;
    width: 100%
}

.Generator-content-text {
    font-size: 20px;
    margin: 10px
}

.Generator-content-text-small {
    font-size: 14px;
    margin: 10px
}

.Generator-random-bar {
    margin-bottom: 10px
}

.Generator-random-text {
    font-size: 15px;
    margin: 5px
}

.Generator-content-input,.Generator-content-input-good,.Generator-content-input-warn {
    border: 1px solid #a3a3a3;
    border-radius: 5px;
    font-family: inherit;
    font-size: 18px;
    margin: 5px 0;
    min-height: 44px;
    padding: 0 15px;
    width: 80%
}

.Generator-content-input-good {
    background-color: #90ee90;
    text-transform: uppercase
}

.Generator-content-input-warn {
    background-color: #ffbcbc;
    text-transform: uppercase
}

.Generator-random-checkbox {
    align-items: center;
    display: flex
}

.Generator-button-label,.Generator-button-random {
    height: auto;
    margin-left: 2px;
    margin-right: 2px;
    min-height: 27px;
    min-width: 27px;
    width: auto
}

.Generator-button-random {
    border-radius: 13px;
    padding-left: 7px;
    padding-right: 7px
}

.Generator-content-word {
    align-items: center;
    display: flex
}

.Generator-content-label {
    cursor: pointer;
    margin-left: 5px
}

.Top-window-content .App-button {
    width: 100%
}

.Result-window-content {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.Result-window-content>span {
    font-size: 24px;
    margin: 10px
}

.Result-window-ad-container {
    margin: 0
}

.Result-window-answer {
    background: #f1f3f9;
    border: 1px dashed #75819e;
    border-radius: 5px;
    display: inline-block;
    font-size: 18px;
    margin: 5px;
    padding: 10px 15px;
    text-transform: uppercase;
    vertical-align: top
}

body.dark .Result-window-answer {
    background: #e7e7e7;
    color: #363535
}

.Result-window-link {
    font-size: 14px;
    text-decoration: none
}

.dict-loader__text-container {
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 10px;
    text-align: center
}

.dict-loader__text {
    font-size: 18px;
    width: 200px
}

.dict-loader__container {
    height: 300px
}

.dict-loader__spinner {
    align-items: center;
    display: flex;
    height: 200px;
    justify-content: center
}

.lds-spinner {
    color: official;
    display: inline-block;
    height: 80px;
    position: relative;
    width: 80px
}

.lds-spinner div {
    -webkit-animation: lds-spinner 1.2s linear infinite;
    animation: lds-spinner 1.2s linear infinite;
    -webkit-transform-origin: 40px 40px;
    transform-origin: 40px 40px
}

.lds-spinner div:after {
    background: #cef;
    border-radius: 20%;
    content: " ";
    display: block;
    height: 18px;
    left: 37px;
    position: absolute;
    top: 3px;
    width: 6px
}

.lds-spinner div:first-child {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

.lds-spinner div:nth-child(2) {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg)
}

.lds-spinner div:nth-child(3) {
    -webkit-animation-delay: -.9s;
    animation-delay: -.9s;
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg)
}

.lds-spinner div:nth-child(4) {
    -webkit-animation-delay: -.8s;
    animation-delay: -.8s;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.lds-spinner div:nth-child(5) {
    -webkit-animation-delay: -.7s;
    animation-delay: -.7s;
    -webkit-transform: rotate(120deg);
    transform: rotate(120deg)
}

.lds-spinner div:nth-child(6) {
    -webkit-animation-delay: -.6s;
    animation-delay: -.6s;
    -webkit-transform: rotate(150deg);
    transform: rotate(150deg)
}

.lds-spinner div:nth-child(7) {
    -webkit-animation-delay: -.5s;
    animation-delay: -.5s;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.lds-spinner div:nth-child(8) {
    -webkit-animation-delay: -.4s;
    animation-delay: -.4s;
    -webkit-transform: rotate(210deg);
    transform: rotate(210deg)
}

.lds-spinner div:nth-child(9) {
    -webkit-animation-delay: -.3s;
    animation-delay: -.3s;
    -webkit-transform: rotate(240deg);
    transform: rotate(240deg)
}

.lds-spinner div:nth-child(10) {
    -webkit-animation-delay: -.2s;
    animation-delay: -.2s;
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg)
}

.lds-spinner div:nth-child(11) {
    -webkit-animation-delay: -.1s;
    animation-delay: -.1s;
    -webkit-transform: rotate(300deg);
    transform: rotate(300deg)
}

.lds-spinner div:nth-child(12) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-transform: rotate(330deg);
    transform: rotate(330deg)
}

@-webkit-keyframes lds-spinner {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes lds-spinner {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.App-page {
    margin: 5px
}

.App-title {
    align-items: center;
    background-color: var(--background-page);
    border: 1px solid var(--text);
    border-radius: 10px;
    color: var(--text);
    display: flex;
    height: 40px;
    justify-content: center;
    max-width: 650px;
    -webkit-user-select: none;
    user-select: none
}

body.dark .App-title {
    border: none
}

.App-title-content {
    font-size: 24px;
    padding-left: 38px
}

.App-title-close {
    align-items: center;
    cursor: pointer;
    display: flex;
    height: 32px;
    justify-content: center;
    margin-right: 6px;
    width: 32px
}

.App-title-close svg {
    stroke: var(--text);
    color: var(--text);
    height: 100%;
    width: 100%
}

.App-title-content {
    padding-left: 44px;
    width: 100%
}

@media screen and (max-width: 479px) {
    .App-title-content {
        font-size:16px
    }
}

.Settings {
    font-size: 18px;
    text-align: left;
    -webkit-user-select: none;
    user-select: none
}

.Settings-setting {
    margin: 0;
    position: relative
}

.Settings-setting input[type=range] {
    height: 18px;
    width: 50px
}

.Settings-setting input[type=radio] {
    margin-right: 8px
}

.Settings-setting label {
    -webkit-margin-start: 8px;
    margin-inline-start:8px}

.Settings-param-title {
    font-size: 18px;
    font-weight: 700;
    margin-left: 15px;
    margin-top: 18px;
    text-transform: capitalize
}

.Settings-param-desc {
    display: inline-block;
    font-size: 14px;
    margin-left: 15px;
    margin-right: 80px;
    text-align: left
}

.Settings-checkbox {
    margin-top: -35px;
    position: absolute;
    right: 15px
}

@media (max-width: 479px) {
    .Settings-param-title {
        font-size:16px
    }

    .Settings-param-desc {
        font-size: 12px
    }
}

.app-statistics {
    line-height: 1.4;
    padding-bottom: 10px;
    padding-top: 10px
}

.stats-container {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 5px 0 15px;
    padding: 0
}

.stats-content {
    margin: 0 auto;
    max-width: 580px;
    padding: 0 10px;
    width: 100%
}

.chart-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px
}

.stats-share-button {
    align-content: center;
    align-items: center;
    background: #f5f7fb;
    border: none;
    border-radius: 7px;
    color: #363e52;
    cursor: pointer;
    display: inline-flex;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    justify-content: center;
    padding: 8px 5px;
    text-decoration: none;
    width: 100%
}

.stat-item {
    background-color: #f5f7fb;
    border-radius: 8px;
    color: var(--text);
    margin-bottom: 5px;
    margin-left: 0;
    min-height: 88px;
    padding: 7px;
    text-align: center;
    width: calc(33% - 15px)
}

body.dark .stat-item {
    background-color: #24273b
}

.stat-value {
    font-size: 42px;
    font-weight: 700
}

.stat-description {
    font-size: 11px;
    line-height: 16px;
    text-transform: uppercase
}

.stats-chart {
    margin-top: 15px
}

.stats-chart table {
    border-collapse: collapse;
    height: 200px;
    width: 100%
}

.stats-chart table tr {
    margin: 10px
}

.stats-chart table .number {
    font-size: 16px;
    padding-right: 15px;
    vertical-align: middle
}

.stats-chart table .amount {
    font-size: 16px;
    font-weight: 700;
    padding-left: 11px;
    vertical-align: middle
}

.stats-chart table td:nth-child(2) {
    width: 100%
}

.stats-chart table .percentage {
    background: #e7ebf2;
    border-radius: 50px;
    color: #565d70;
    display: block;
    font-size: 12px;
    font-weight: 700;
    height: 22px;
    line-height: 22px;
    padding: 0 10px;
    position: relative;
    width: 100%
}

body.dark .stats-chart table .percentage {
    background-color: #40445c;
    color: #c0c3d6
}

.stats-chart table td .percentage span {
    background: #57ac57;
    border-radius: 50px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    height: 100%;
    left: 0;
    min-width: 30px;
    padding: 0 8px;
    position: absolute;
    text-align: right;
    top: 0;
    width: 0
}

@media screen and (max-width: 479px) {
    .stat-value {
        font-size:34px
    }

    .stat-description {
        font-size: 10px
    }

    .stat-item {
        min-height: 100px
    }
}

.App-about {
    line-height: 1.4;
    padding-bottom: 10px;
    padding-top: 10px
}

.data {
    margin: 0 auto;
    max-width: 580px;
    padding: 0 10px;
    width: 100%
}

.text-tiles {
    background: var(--background2);
    border-radius: 10px;
    color: var(--text);
    line-height: 32px;
    margin: 5px 60px 10px;
    padding: 10px 15px;
    text-align: left
}

.text-tiles b {
    border-radius: 3px;
    padding: 2px 6px
}

.text-tiles br {
    margin-top: 10px
}

.info {
    text-align: center
}

.text {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 10px
}

.Game-keyboard {
    display: flex;
    flex-direction: column
}

.Game-keyboard-row {
    display: flex;
    flex-direction: row;
    justify-content: stretch
}

.Game-keyboard-button {
    align-items: center;
    background-color: var(--letter-neutral);
    border: none;
    border-radius: 4px;
    color: inherit;
    color: var(--text);
    cursor: pointer;
    display: flex;
    flex: 1 1;
    font-size: 18px;
    font-weight: 600;
    justify-content: center;
    margin: 3px;
    min-height: 40px;
    padding: 2px;
    text-decoration: inherit
}

.Game-keyboard-button-wide {
    flex: 2 1
}

.Game-keyboard-button:focus {
    outline: none
}

@media screen and (max-width: 768px) {
    .Game-keyboard-button {
        border-radius:3px;
        margin: 2px;
        min-height: 50px
    }
}

.board {
    display: flex
}

.cell,.row {
    display: flex;
    justify-content: center
}

.cell {
    align-items: center;
    background-color: var(--letter-neutral);
    border: 1px solid #ccc;
    border-radius: 5px;
    color: var(--text);
    flex: 1 1;
    font-size: 28px;
    font-weight: 700;
    height: 54px;
    margin: 3px;
    max-width: 54px;
    text-transform: uppercase
}

body.dark .cell {
    border: none
}

.absent {
    background-color: var(--letter-absent)
}

.absent,.elsewhere {
    color: var(--letter-text)
}

.elsewhere {
    background-color: var(--letter-elsewhere)
}

.correct {
    background-color: var(--letter-correct);
    color: var(--letter-text)
}

@media screen and (max-width: 550px) {
    .cell {
        height:44px;
        max-width: 44px
    }
}

.cell-fill-animation {
    -webkit-animation: onTypeCell linear;
    animation: onTypeCell linear
}

.cell-fill-animation,.cell-reveal {
    -webkit-animation-duration: .35s;
    animation-duration: .35s
}

.cell-reveal {
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear
}

.cell-reveal.absent {
    -webkit-animation-name: revealAbsentCharCell;
    animation-name: revealAbsentCharCell
}

.cell-reveal.correct {
    -webkit-animation-name: revealCorrectCharCell;
    animation-name: revealCorrectCharCell
}

.cell-reveal.elsewhere {
    -webkit-animation-name: revealPresentCharCell;
    animation-name: revealPresentCharCell
}

.cell-reveal>.letter-container {
    -webkit-animation: offsetLetterFlip .35s linear;
    animation: offsetLetterFlip .35s linear;
    -webkit-animation-fill-mode: backwards;
    animation-fill-mode: backwards
}

.jiggle {
    -webkit-animation: jiggle linear;
    animation: jiggle linear;
    -webkit-animation-duration: var(--animation-speed-fast);
    animation-duration: var(--animation-speed-fast)
}

@-webkit-keyframes revealAbsentCharCell {
    0% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--text);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    50% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--letter-neutral)
    }

    50.1% {
        background-color: var(--letter-absent)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@keyframes revealAbsentCharCell {
    0% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--text);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    50% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--letter-neutral)
    }

    50.1% {
        background-color: var(--letter-absent)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@-webkit-keyframes revealCorrectCharCell {
    0% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--text);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    50% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--letter-neutral)
    }

    50.1% {
        background-color: var(--letter-correct)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@keyframes revealCorrectCharCell {
    0% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--text);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    50% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--letter-neutral)
    }

    50.1% {
        background-color: var(--letter-correct)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@-webkit-keyframes revealPresentCharCell {
    0% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--text);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    50% {
        background-color: var(--letter-neutral);
        color: var(--letter-neutral)
    }

    50.1% {
        background-color: var(--letter-elsewhere)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@keyframes revealPresentCharCell {
    0% {
        background-color: var(--letter-neutral);
        border-color: var(--letter-border);
        color: var(--text);
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    50% {
        background-color: var(--letter-neutral);
        color: var(--letter-neutral)
    }

    50.1% {
        background-color: var(--letter-elsewhere)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@-webkit-keyframes offsetLetterFlip {
    0% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@keyframes offsetLetterFlip {
    0% {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg)
    }

    to {
        -webkit-transform: rotateY(180deg);
        transform: rotateY(180deg)
    }
}

@-webkit-keyframes onTypeCell {
    0% {
        opacity: 0;
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }

    40% {
        opacity: 1;
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@keyframes onTypeCell {
    0% {
        opacity: 0;
        -webkit-transform: scale(.8);
        transform: scale(.8)
    }

    40% {
        opacity: 1;
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }
}

@-webkit-keyframes jiggle {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    25% {
        -webkit-transform: translate(-.5rem);
        transform: translate(-.5rem)
    }

    50% {
        -webkit-transform: translate(.5rem);
        transform: translate(.5rem)
    }

    75% {
        -webkit-transform: translate(-.5rem);
        transform: translate(-.5rem)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

@keyframes jiggle {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0)
    }

    25% {
        -webkit-transform: translate(-.5rem);
        transform: translate(-.5rem)
    }

    50% {
        -webkit-transform: translate(.5rem);
        transform: translate(.5rem)
    }

    75% {
        -webkit-transform: translate(-.5rem);
        transform: translate(-.5rem)
    }

    to {
        -webkit-transform: translate(0);
        transform: translate(0)
    }
}

.Hint-background {
    align-items: flex-start;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 16
}

.Hint-window {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 0 0 hsla(0,0%,100%,.5),0 0 40px rgba(0,0,0,.8);
    display: flex;
    flex-direction: column;
    margin: 150px 5px 0;
    overflow: auto
}

body.dark .Hint-window {
    background-color: #a9a8a8;
    color: #363535
}

.Hint-content {
    flex-direction: column;
    font-size: 16px;
    font-weight: 700;
    justify-content: center;
    padding: 20px;
    text-transform: uppercase
}

.Hint-content,.Timer-bar {
    align-items: center;
    display: flex
}

.Timer-time {
    color: #91adb8;
    font-weight: 600;
    margin-right: 5px;
    margin-top: 3px
}

.Timer-button {
    display: block;
    height: 34px;
    width: 34px
}
