.game-shell-body {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    background: #000;
}

.game-shell-body::before {
    display: none;
}

.game-shell {
    --game-toolbar-height: 2.75rem;
    --game-ad-rail-width: 20rem;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    display: grid;
    grid-template-rows: var(--game-toolbar-height) minmax(0, 1fr);
    overflow: hidden;
    background: #000;
}

.game-shell-toolbar {
    position: relative;
    z-index: 1030;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    min-width: 0;
    color: var(--bone);
    background: var(--ink-950);
    border-bottom: 1px solid #302f26;
}

.game-shell-title {
    align-self: center;
    max-width: min(36vw, 30rem);
    overflow: hidden;
    color: var(--bone);
    font: 700 1.15rem/1 var(--display-font);
    letter-spacing: .055em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.game-shell-actions {
    min-width: 0;
    display: flex;
    justify-self: end;
    align-items: stretch;
}

.game-shell-action {
    min-width: var(--game-toolbar-height);
    height: var(--game-toolbar-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: 0 .8rem;
    color: var(--paper);
    background: transparent;
    border: 0;
    border-left: 1px solid rgba(200, 185, 155, .17);
    border-radius: 0;
    font: 700 .92rem/1 var(--display-font);
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.game-shell-action:hover,
.game-shell-action:focus-visible {
    color: var(--bone);
    background: rgba(198, 90, 22, .18);
}

.game-shell-home {
    justify-self: start;
    border-right: 1px solid rgba(200, 185, 155, .17);
    border-left: 0;
}

.game-shell-language {
    color: #a3a460;
}

.game-shell-main {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
    background: #000;
}

.game-shell-main-with-advertising {
    grid-template-columns: minmax(0, 1fr) var(--game-ad-rail-width);
}

.game-player {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #000;
}

.game-player-frame {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #000;
}

.game-mobile-message {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    padding: 2rem;
    color: var(--paper);
    text-align: center;
    background:
        radial-gradient(circle at center, rgba(116, 116, 71, .2), transparent 48%),
        rgba(9, 10, 8, .96);
}

.game-mobile-message[hidden] {
    display: none;
}

.game-mobile-message i {
    color: var(--rust);
    font-size: 3.5rem;
}

.game-mobile-message strong {
    font: 700 clamp(2rem, 9vw, 3.5rem)/1 var(--display-font);
    text-transform: uppercase;
}

.game-mobile-message span {
    max-width: 34rem;
    font-size: 1.05rem;
}

.game-orientation-message i {
    transform: rotate(90deg);
}

.game-player:fullscreen {
    width: 100%;
    height: 100%;
    background: #000;
}

.game-player-unavailable {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    padding: 2rem;
    color: var(--paper);
    text-align: center;
    background:
        radial-gradient(circle at center, rgba(116, 116, 71, .18), transparent 45%),
        repeating-linear-gradient(135deg, #090a08 0 32px, #0d0e0b 32px 33px);
}

.game-player-unavailable i {
    color: var(--rust);
    font-size: 3.5rem;
}

.game-player-unavailable strong {
    font: 700 clamp(2rem, 4vw, 3.5rem)/1 var(--display-font);
    text-transform: uppercase;
}

.game-player-unavailable span {
    max-width: 34rem;
}

.game-ad-rail {
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    color: rgba(228, 217, 196, .58);
    background: #171811;
    border-left: .5rem solid #000;
}

.game-ad-placeholder {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    padding: 2rem 1.25rem;
    text-align: center;
    background: repeating-linear-gradient(135deg, #161711 0 28px, #1b1c15 28px 29px);
    border: 1px solid var(--line);
}

.game-ad-placeholder > span {
    font: 700 .9rem/1 var(--display-font);
    letter-spacing: .16em;
    text-transform: uppercase;
}

.game-ad-placeholder > strong {
    color: var(--olive);
    font: 700 3rem/1 var(--display-font);
}

.game-ad-placeholder > small {
    max-width: 15rem;
}

.game-information-modal {
    --bs-modal-color: var(--bone);
    --bs-modal-bg: var(--surface);
    --bs-modal-border-color: var(--olive);
    --bs-modal-border-width: 1px;
    --bs-modal-border-radius: 0;
    --bs-modal-inner-border-radius: 0;
    --bs-modal-header-border-color: var(--line);
    color: var(--bone);
}

.game-information-modal .modal-content {
    background: linear-gradient(145deg, #29271d, var(--surface));
    box-shadow: 0 30px 100px #000;
}

.game-information-modal .modal-header {
    align-items: flex-start;
    padding: 1.5rem 1.75rem 1.1rem;
}

.game-information-modal .modal-title {
    margin: .4rem 0 0;
    font-size: clamp(2.4rem, 5vw, 3.8rem);
}

.game-information-modal .btn-close {
    --bs-btn-close-opacity: .78;
    --bs-btn-close-hover-opacity: 1;
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-focus-shadow: 0 0 0 .2rem rgba(198, 90, 22, .28);
}

.game-information-modal .modal-body {
    padding: 0;
}

.game-information-tabs {
    padding: 0 1.75rem;
    border-bottom-color: var(--line);
}

.game-information-tabs .nav-link {
    min-height: 3rem;
    color: var(--paper);
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    font-weight: 700;
}

.game-information-tabs .nav-link:hover,
.game-information-tabs .nav-link:focus-visible {
    color: var(--bone);
    border-bottom-color: var(--rust);
}

.game-information-tabs .nav-link.active {
    color: var(--bone);
    background: rgba(9, 10, 8, .38);
    border-bottom-color: var(--rust);
}

.game-information-content {
    min-height: 22rem;
    padding: clamp(1.35rem, 3vw, 2.25rem) 1.75rem 2rem;
    color: var(--paper);
}

.game-information-content h2 {
    margin: 0 0 1rem;
    color: #a3a460;
    font-size: clamp(2rem, 4vw, 3rem);
}

.game-information-content h3 {
    margin: 1.5rem 0 .75rem;
    color: var(--bone);
    font-size: 1.6rem;
}

.game-information-content a {
    color: var(--rust-light);
}

.game-information-platforms {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
}

.game-information-platforms .platform-page {
    max-width: none;
}

@media (max-width: 1199.98px) {
    .game-shell-main-with-advertising {
        grid-template-columns: minmax(0, 1fr);
    }

    .game-ad-rail {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .game-shell-action {
        padding-inline: .7rem;
    }

    .game-shell-action span {
        display: none;
    }

    .game-shell-title {
        max-width: 32vw;
        font-size: 1rem;
    }

    .game-information-tabs {
        padding-inline: .75rem;
    }

    .game-information-tabs .nav-link {
        min-height: 2.75rem;
        padding: .65rem .75rem;
    }

    .game-information-content {
        padding-inline: 1rem;
    }
}

@media (max-width: 479.98px) {
    .game-shell-news {
        display: none;
    }

    .game-shell-title {
        max-width: 38vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .game-information-modal.fade,
    .game-information-modal .fade {
        transition: none;
    }
}
