:root {
    --color-highlight: #C00;
    --color-highlight-up: #FDC1D3;
    --color-white: #FFF;
    --color--black: #000;
    --color--gray: #888;
    /*--color--gray: #ccc;*/
    --color-background: #FFF;
}

@media (prefers-contrast: more) {
    :root {
        --color-highlight: #620000;
        --color--gray: #333;
    }
}


@media (prefers-color-scheme: dark) {
    :root {
        --color-highlight: #FDC1D3;
        --color-highlight-up: #C44545;
        --color-white: #0D0D0D;
        --color--black: #F0F0F0;
        --color--gray: rgba(255, 255, 255, .4);
        --color-background: #1C1C1C;
    }
}


* {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

body {
    overflow: hidden;
    font-family: sans-serif;
    color: var(--color--black);
}

h1 {
    font-size: 2em;
    margin: 1em 10px;
}

h2 {
    font-size: 1.5em;
    margin: 0.8em 10px 0.5em;
}

p {
    font-size: 1em;
    line-height: 140%;
    margin: 1em 10px;
}


#content {
    background-color: var(--color-background);
}

#onlineGame {
    width: 100%;
    max-width: 730px;
    margin: 0 auto;
}

#galgen {
    width: 100%;
    height: auto;
}

#loesungswort, #letters, #info {
    margin: 2em auto 0 auto;
    width: 100%;
    text-align: center;
}

#letters, #info {
    font-size: 1.4em;
}

#loesungswort span {
    display: inline-block;
    padding: 3px;
    min-width: 19px;
    font-size: 1.6em;
    font-weight: bold;
}

#lettersWrapper.alignLeft {
    padding-left: 5px;
}

#lettersWrapper.alignLeft #letters {
    justify-content: flex-start;
    position: relative;
    margin: 2em auto;

}

#letters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    max-width: 500px;

}


#letters button {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid var(--color--gray);
    border-radius: 5px;
    background-color: var(--color-white);
    color: var(--color--black);
    padding: 2px;
    cursor: pointer;
    width: 48px;
    aspect-ratio: 1;
    font-size: 1.2em;
}

#letters button:hover {
    background-color: var(--color--gray);
    color: #FFF;
}

#letters button:focus-visible,
#letters button:focus-within,
#letters button:focus,
#letters button:active {
    outline: 1px solid var(--color-highlight);
    border-color: var(--color-highlight) !important;
}


#letters button.disabled {
    cursor: auto;
    color: #FFF;
}

#letters button.disabledRight, #letters button.disabledRight:hover {
    background-color: #C8FFC8;
    color: #015901;
    border-color: #C8FFC8;
}

#letters button.disabledWrong, #letters button.disabledWrong:hover {
    background-color: var(--color-highlight-up);
    color: var(--color-highlight);
    border-color: var(--color-highlight-up);
}

@media (prefers-color-scheme: dark) {
    #letters button.disabledWrong, #letters button.disabledWrong:hover {
        color: #FFF;
    }
}

#gameButton {
    background-color: var(--color-highlight);
    border: 2px solid var(--color-highlight);
    cursor: pointer;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    font-size: 1em;
    font-weight: bold;
    color: var(--color-white);
    padding: .4em 10px;
    margin: 1em auto;
    width: 50%;
    min-width: 100px;
}

#gameButton:hover {
    color: var(--color--black);
    background-color: var(--color-highlight-up);
    border-color: var(--color-highlight-up);
}

@media (prefers-contrast: more) {
    #gameButton:hover {
        color: var(--color--black);
        border-color: var(--color-highlight);
    }

    #letters button.disabledRight, #letters button.disabledRight:hover {
        background-color: #015901;
        color: #FFF;
        border-color: #015901;
    }

    #letters button.disabledWrong, #letters button.disabledWrong:hover {
        background-color: var(--color-highlight);
        color: #FFF;
        border-color: var(--color-highlight);
    }

    @media (prefers-contrast: more) {
        #letters button.disabledWrong, #letters button.disabledWrong:hover {
            background-color: #F53B3B;
            border-color: #F53B3B;
        }
    }
}


.red {
    color: var(--color-highlight);
}

@media (prefers-color-scheme: dark) {
    .red {
        color: #F53B3B;
    }
}


.gray {
    color: var(--color--gray);
}


/*a11y screen reader text */
#infoTextHidden {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}


/*
@media (prefers-color-scheme: dark) {
  #content {
    background-color: var(--color-background_dark);
    color: var(--color-white-dark);
    border: 1px solid rgba(255, 255, 255, .3);
  }

  #letters span.disabled {
    color: var(--color--gray_dark);
  }

}*/
