
:root {
    --body-bg-color: rgb(123, 145, 153);
    --primary-card-color: rgb(175, 180, 187);
    --primary-border-color: lightgray;
    --group-card-color: rgb(141, 151, 163);
    --group-border-color: rgb(162, 170, 184);
    --hover-card-color: rgb(160, 168, 170);
    --hover-border-color: rgb(176, 183, 189);
    --active-card-color: rgb(122, 134, 136);
    --selected-card-color: rgb(216, 214, 180);
    --selected-border-color: rgb(133, 132, 117);
    --success-color: rgb(135, 192, 135);
    --fail-color: rgba(163, 38, 38, 0.74);
    --group-text-color: rgba(32, 39, 53, 0.5);
    --input-disabled-color: rgb(175, 180, 187);
    --title-color: rgba(0, 0, 0, 0.75);
}

#title-logo {
    font-family:'Libre Baskerville', Times, serif;
    text-align: left;
    font-size: 2.5em;
    margin-left: 18px;
    color: var(--title-color);
}

h1 > i {
    font-size: 38px;
    margin-right: 8px;
}

.title-bar {
    display: flex;
    flex-direction: row;
}

.score-counters {
    margin-left: 120px;
    align-self: end;
    margin-bottom: 36px;
    font-size: 16px;
}

.score-counters input, input:disabled {
    width: 64px;
    background-color: var(--input-disabled-color);
    color: black;
    border: 1px inset lightgray;
    text-align: left;
}

.score-counters input:not(#total-counter), .score-counters:not(#total-counter) {
    opacity: 75%;
}

.score-counters input#total-counter {
    font-weight: bold;
}

.card-contents-box {
    align-self: end;
    margin-left: 120px;
    margin-bottom: 36px;
    font-size: 16px;
}

.card-contents-title {
    opacity: 100%;
}

button.card-contents-list {
    border: 1px outset var(--primary-border-color);
    height: 100%;
    width: 148px;
    background-color: var(--primary-card-color);
}

button.card-contents-list:hover {
    cursor: pointer;
    border: 1px inset var(--hover-border-color);
    text-decoration: dashed;
    background-color: var(--hover-card-color);
}

button.card-contents-list:active {
    background-color: var(--active-card-color);
}

body {
    width: max-content;
    height: max-content;
    padding: 12px;
    align-items: center;
    background: var(--body-bg-color);
    font-family: 'Andale Mono', 'Lucida Console', monospace;
}

.wrapper {
    margin: 20px;
    width: min-content;
}

.container {
    display: grid;
    grid-template-columns: repeat(20, 1fr);
    grid-template-rows: 1fr;
    grid-auto-rows: auto;
    grid-auto-flow: row;
    margin-right: 12px;
}

.container > .card {
    font-family:'Andale Mono', 'Lucida Console', monospace;
    font-size: 16px;
    line-height: 25px;
    width: 250px;
    height: 75px;
    background-color:var(--primary-card-color);
    border: 1px outset var(--primary-border-color);
    box-sizing: border-box;
    text-align: center;
    padding: 12px;
}

.container > .card:hover, .container > .card.group:hover {
    cursor: pointer;
    border: 1px inset var(--hover-border-color);
    text-decoration: dashed;
    background-color: var(--hover-card-color);
    
}

.container > .card:active {
    background-color: var(--active-card-color);
}

.container > .card.selected, .container > .card.group.selected {
    background-color: var(--selected-card-color);
    border: 1px inset var(--selected-border-color);
}

.container > .card.group {
    background-color: var(--group-card-color);
    border: 1px outset var(--group-border-color);
    font-style: italic;
    font-weight: bold;
    line-height: 45px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Ensure text-overflow ellipsis for group-header */
.container > .card.group > .group-header {
    font-weight: bold;
    color: var(--group-text-color);
    font-style: normal;
    line-height: 0px;
    text-align: left;
    float: left;
}


.container > .card.success, .container > .card.group.success {
    background-color: var(--success-color);
}

/* body.success {
    border-color: var(--success-color);
} */

.container>.card.fail,
.container>.card.group.fail {
    background-color: var(--fail-color);
}

/* body.fail {
    border-color: var(--fail-color);
} */

dialog#modal-window {
    background-color: var(--primary-card-color);
    color: black;
    box-shadow: 0px 0px 100px rgba(0, 0, 0, 0.50);
    border: 2px solid black;
    height: 25%;
    width: 25%;
    text-align: center;
    overflow-wrap: normal;
}

.card.group.completed {
    background-color: #efc9eb;
    overflow-wrap:break-word;
    text-align: center;
    width: 500px;
}