.container {
    max-width: 1200px;
    margin: 0 auto;
}

.details-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
}
.details-item {
    margin-bottom: 10px;
}
.details-label {
    color: #aaa;
}
.details-heading {
    font-style: italic;
    padding-bottom: 15px;
    padding-top: 4px;
}

table {
    width: 100%;
}
th, td {
    text-align: left;
    padding: 20px;
}

.z {
    width: 0;
}

table.c * {
    text-align: center;
}



thead {
    background: linear-gradient(0deg,#151515 0%, #0000 75%);
    color: var(--color-text-title);
}

.card {
    background-color: #111111;
    border-radius: 8px;
    padding: 30px;
}

main:not(.white) tbody tr:nth-child(2n+1) td {
    background-color: #171717;
}

main:not(.white) tbody tr:nth-child(2n) td {
    background-color: #151515;
}

h1, h2{
    font-weight: normal;
    margin-top: 0;
    margin-bottom: 0.7em;
}

.np h1, .np h2 {
    padding: 30px 40px;
    margin: 0;
}

.np {
    padding: 0;
}

/*
.card, .sans, .card thead * {
    font-family: 'Arial', sans-serif;
}
*/

main {
    grid-gap: 3rem;
}

main.rankings, main.view-game {
    display: grid;
    grid-template-areas:
    "main players"
    "absent teams";
}

#main {
    grid-area: main;
}
#players {
    grid-area: players;
}
#teams {
    grid-area: teams;
}

.m {
    font-family: monospace;
    font-size: 1.28em;
}

table.bs {
    box-shadow: rgba(0, 0, 0, 0.64) 0px 3px 8px;
    width: unset;
}

table.d tr td{
    background-color: unset;
}

table.d tr:nth-child(4n+3) td, table.d tr:nth-child(4n) td {
    background-color: #171717;
}

.team-players {
    font-size: 0.85em;
    letter-spacing: 0.65px;
    padding-bottom: 0;
    max-width: 80%;
    line-height: 1.3;
}

.view-game .team-name {
    font-size: 1.6em;
    font-weight: bold;
}

.team-stats {
    padding-bottom: 1.3em;
}

table .trophy {
    height: 30px;
    color: gold;
    padding: 0 15px;
}
table .trophy .stroke, table .trophy .circle {
    fill: gold;
}

table .trophy .shine_circle, table .trophy .shine_stroke {
    display: none;
}

.flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.muted {
    color: #aaa;
}

.bold {
    font-weight: bold;
}

.defocus {
    color: #c9c9c9;
}

.change {
    font-size: 0.8em;
}

.winners {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0;
}

.main-icon {
    padding-right: 5px;
}

.no-break {
    white-space: nowrap;
}

.users-icon {
    height: 1em;
}

.laurel-icon {
    height: 1.5em !important;
    margin-right: 1em !important;
}

.vc-icon.inline {
    height: 2.5em;
    margin-right: 0;
}

.centered {
    display: flex;
    justify-content: center;
    align-items: center;
}

table.atable tbody tr:hover td, .table-entry:hover {
    background-color: var(--color-hover) !important;
    cursor: pointer;
}

td, .table-entry {
    transition: background-color 0.225s ease;
}

.has-icon-right {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.add-entry {
    display: inline-flex;
    flex-direction: column;
    width: fit-content;
    padding: 7px;
    border: 1.5px var(--color-text-title) solid;
    border-radius: 4px;
    margin-left: auto;
    height: fit-content;
    background-color: #fff0;
    transition: background-color 0.26s ease;
}

.add-entry .plus-icon {
    color: var(--color-text-title);
    height: 0.5em;
    stroke-width: 3px;
    transition: color 0.26s ease;
}

.add-entry:hover {
    background-color: var(--color-text-title);
    cursor: pointer;
}

.add-entry:hover .plus-icon {
    color: #0f0f0f;
}

.corner-bl{
    border-bottom-left-radius: 8px;
}

.corner-br {
    border-bottom-right-radius: 8px;
}

.view-more-games {
    will-change: scale;
    padding: 24px;
    text-align: center;
    font-size: 1.2em;
    transition: scale 0.225s ease-out;
    cursor: pointer;
}

.view-more-games:hover {
    scale: 1.14;
}

table.round thead :first-child :first-child {
    border-top-left-radius: 8px;
}

table.round thead :first-child :last-child {
    border-top-right-radius: 8px;
}

table.round tbody :last-child :first-child {
    border-bottom-left-radius: 8px;
}

table.round tbody :last-child :last-child {
    border-bottom-right-radius: 8px;
}

table.fancy td {
    border-radius: 2px;
}

.leader-icon {
    width: 64px;
}

.leader-entry {
    padding: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#title {
    grid-area: title;
}

#title h1, #title h2 {
    font-weight: bold;
    letter-spacing: 2px;
    font-size: 3rem;
}

#profile-sidebar {
    grid-area: stats;
}
#rating-history {
    grid-area: history;
}

@media (max-width: 1015px) {
    main.rankings, main.view-game {
        grid-template-areas:
        "main"
        "players"
        "teams"
        "absent";
    }
}

.card h1, .card h2 {
    margin-top: 0;
}

.first-place {
    color: #ffe970 !important;
    font-weight: bold !important;
    filter: drop-shadow(0 0 0.2rem #f4cb02);
}

#absent {
    grid-area: absent;
}

.c {
    text-align: center;
}

.first-place-board {
    font-weight: bold;
    color: var(--color-primary);
    text-shadow: 0px 0px 5px var(--color-primary);
    font-size: 1.1em;
    padding-top: 0;
    padding-bottom: 0;
}

main.rankings td , main.profile td, main.view-achievement td {
    padding-top: 12px;
    padding-bottom: 12px;
}

.rank {
    width: 30px;
    height: 30px;
    padding-left: 28px;
    padding-right: 28px;
}

@media (max-width: 1015px) {
    #players th {
        padding: 10px;
    }
    #players td {
        padding: 15px;
    }
    #players table {
        font-size: 0.95em;
    }
    #players .leader-icon {
        width: 3rem;
    }
    main:has(#teams.hide) {
        grid-template-areas:
      "main   " 
      "players" 
      "absent ";
      }
}

main.rankings .card {
    height: fit-content;
}