/* .card */
#ticket-online-circle {
    display: none;
}

.card {
    overflow: hidden;
    font-size: small;
    position: absolute;
    outline-offset: -0.1rem;
    width: 80vw;
    height: 100%;
    aspect-ratio: 3 / 4;
    box-shadow:
        0 12px 13px rgba(0, 0, 0, 0.45),
        inset 0 1.5px 1px rgba(255, 255, 255, 0.15),
        0 -3px 1.5px -2px rgba(255, 255, 255, 0.15) inset,
        0 0 0 1px rgba(255, 255, 255, 0.05);
    max-width: 20rem;
    border-radius: 2.1rem;
    /* box-shadow: 0 0 0.3rem 0rem #727272; */
    /* max-width: 19.6875rem; */
    /* max-height: 32rem; */
    /* border: 0.0325rem solid var(--border-color); */
    backdrop-filter: blur(0.8rem);
    -webkit-backdrop-filter: blur(0.8rem);
    background-color: var(--ticket-background);
    background: var(--ticket-background);
    /* box-shadow: inset 11px 8px 1rem -0.4rem #6b6b6b12, inset -11px -8px 1rem -0.4rem #0000000f; */
    border: 0rem solid #ffffff00;
    transition: all 0.4s ease-out;
}

/* .card-start � ����������� ���� ������ */
.card-start {
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-clip: border-box;
    /* border: 0.0rem solid var(--border-color); */
    justify-content: center;
    align-items: center;
    font-size: small;
    position: absolute;
    width: 80vw;
    height: 57dvh;
    border-radius: 2.525rem;
    box-shadow:
        0.25rem 0.25rem 0.3125rem #0000001c,
        -0.25rem -0.1875rem 0.125rem 0px #6b6b6b00;
    /* background-color: var(--block-color); */
    transition:
        transform 0.3s ease,
        opacity 0.3s ease,
        box-shadow 0.3s ease;
    max-width: 19.6875rem;
    max-height: 32rem;
}

#selectedGames-name {
    display: block;
    width: 4rem;
    max-height: 3rem;
    /* width: 90%; */
    /* height: 20%; */
    margin: 5%;
    z-index: 3;
}

/* .card-container */
.card-container {
    box-shadow: 0px 6px 40px 24px #0b0b0b;
    transition: all 0.2s ease-out;
    display: inline-flex;
    margin-top: 0;
    position: relative;
    width: 80vw;
    aspect-ratio: 3 / 4;
    max-width: 20rem;
    justify-content: center;
    font-weight: 500;
}

#banner-card {
    position: relative;
    padding: 0.1rem;
    overflow: hidden;
    margin-bottom: 1rem;
    opacity: 1;
    margin: 0;
    margin-bottom: 1rem;
    border-radius: 1.9rem;
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem 16px;
    width: 100%;
    aspect-ratio: 2.95;
    flex-shrink: 0;
    overflow: visible;
}

/* #banner-img */
#banner-img {
    opacity: 0.8;
    object-position: center;
    aspect-ratio: 2.95;
    width: 100%;
    height: auto;
    /* padding: 0.5rem; */
    border-radius: inherit;
}

/* .about-text � ��� �������������� */

.about-text {
    word-wrap: anywhere;
    max-height: 4rem;
    font-weight: 400;
    margin-bottom: 1rem;
    font-size: 1rem;
    /* margin: 0; */
    color: white;
    /* max-height: 11dvh; */
    /* height: 30%; */
    width: 90%;
    margin-left: 5%;
    /* max-width: 17rem; */
    /* margin: 1.25rem; */
    overflow-y: scroll;
    flex-shrink: 0;
    mask-image: linear-gradient(to bottom, transparent, white 10%, white 80%, transparent);
    /* -webkit-mask-image: none; */
    /* По умолчанию без маски */
    transition: -webkit-mask-image 0.3s ease;
}

.about-text.scrollable {
    -webkit-mask-image: linear-gradient(to bottom,
            transparent,
            white 5%,
            white 89%,
            transparent);
}

.ticket-about {
    color: var(--primary-color);
    margin-left: 5%;
    font-size: 1rem;
    font-weight: 600;
}

.about-text::after {
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0) 60%, #fff);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 60%, #fff);
}

.about-text::-webkit-scrollbar-thumb {
    border-radius: 50%;
    background-color: #0000001c;
}

/* .div-games � ����������� ���� ������ */
.div-games {
    width: 100%;
    overflow-x: scroll;
    display: flex;
    /* mask-image: linear-gradient(to right, transparent, white 10%, white 80%, transparent); */
    -webkit-mask-image: linear-gradient(to right,
            transparent,
            white 0.01%,
            white 80%,
            transparent);
}

/* #button-filters */
#button-filters {
    /* opacity: 0; */
    color: var(--primary-color);
    min-width: 5.8125rem;
    max-width: 6.1875rem;
    /* position: absolute; */
    bottom: 0;
    border-radius: 0.625rem;
    box-shadow: 0 0 4px 5px var(--background-color);
    /* margin-bottom: calc(var(--tg-stable-bottom-safe-area) + 6rem); */
    margin-bottom: 1rem;
    width: 27vw;
    height: 1.6875rem;
    background-color: var(--block-color);
    z-index: 3;
    outline: 0.12rem solid var(--muted-color);
}

/* #filter-text */
#filter-text {
    font-weight: 600;

    /* font-family: "Lorenzo-Regular"; */
    text-align: center;
    font-size: 0.9375rem;
    margin-top: 0.1875rem;
    margin-left: auto;
    margin-right: auto;
}

/* ������� ��� nth-child �������� */
.card:nth-child(1) {
    z-index: 3;
    animation: 0.3s show ease;
    opacity: 1;
}

.card:nth-child(2) {
    z-index: 2;
    animation: 1s show ease;
    transform: scale(0.95) translateY(1.875rem);
}

.card:nth-child(3) {
    z-index: 1;
    animation: 1s show ease;
    transform: scale(0.9) translateY(3.75rem);
}

/* �������� show */
@keyframes show {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.like-card-appear {
    animation: show 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    /* Можно добавить другие стили для появления */
    z-index: 10;
}

/* .bottom-line-tickets */
.bottom-line-tickets {
    width: 90%;
    margin-left: 5%;
    height: 0.01rem;
    border-bottom: 1px solid #43434391;
}

/* .ticket-user-text-div */
.ticket-user-text-div {
    width: 90%;
    margin-left: 5%;
    border-radius: 1rem;
    border: 0.0325rem solid var(--border-color);
    background-color: #0000001c;
}

/* #ticket-likes-div-text */
#ticket-likes-div-text {
    color: var(--text-secondary-color);
    margin-right: 0.25rem;
}

#ticket-age-div-text {
    color: var(--text-secondary-color);
    margin-right: 0.25rem;
}

/*#likes-card-container {
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    position: relative;
    background-color: var(--background-color);
}*/
/* #ticket-likes-div */
#ticket-likes-div {
    width: fit-content;
    height: 1.226rem;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    background-color: #252525e3;
    border-radius: 0.35rem;
    padding: 0.4rem;
    /* box-shadow: inset 0.25rem 0.25rem 0.3125rem #0e0e0e42, inset -0.125rem -0.1875rem 0.1875rem #42424217; */
}

/* #ticket-user-info */
#ticket-user-info {
    margin-top: -0.5rem;
    font-size: 1rem;
    width: 100%;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    align-content: center;
    flex-wrap: wrap;
    margin-left: 33%;
    margin-bottom: 1rem;
    gap: 0.2rem;
}

/* #ticket-nick */
#ticket-nick {
    font-size: inherit;
    color: var(--text-color);
    margin-right: 0.4rem;
    font-weight: 500;
    /* max-width: 4.8rem; */
    overflow: hidden;
}

/* #ticket-stat-image */
#ticket-stat-image {
    margin-top: 0.07rem;
    width: 0.75rem;
    height: auto;
    opacity: 0.4;
}

/* .ticket-text */
.ticket-text {
    padding: 0.7rem;
    width: 100%;
    border-radius: 0.5rem;
}

/* #ticket-online-circle */
#ticket-online-circle {
    margin-top: 0.2rem;
    height: 0.55rem;
    width: 0.55rem;
    border-radius: 50%;
    background-color: #a4ff8d;
    margin-right: 0.3rem;
}

/* #button-filters-div */
#button-filters-div {
    display: flex;
    width: 100%;
    justify-content: center;
}

/* .selectedGames */
.selectedGames {
    /* border: solid 0.1rem #ffffff80; */
    color: #ffffff;
    background-color: #94949421;
    /* height: auto; */
    height: fit-content;
    aspect-ratio: 0.85;
    width: 96%;
    /* aspect-ratio: 0.85; */
    border-radius: 10px;
    /* padding: 0.4rem; */
    font-weight: 600;
    font-size: 0.8rem;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    text-align: start;
    /* height: 60px; */
    box-sizing: border-box;
    overflow: hidden;
    transition: opacity 0.3s ease;
    position: relative;
    opacity: 0.99;
}

/* .games-container */
.games-container {
    position: relative;
    display: flex;
    margin-left: 5%;
    width: 90%;
    gap: 10px;
    display: grid;
    height: fit-content;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    justify-content: center;
    /*    mask-image: linear-gradient(to bottom, transparent, black -6%, black 78%, transparent);*/
}

/* .card-background */
.card-background {
    position: absolute;
    width: 20%;
    height: 56dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 0;
}

/* .bg-icon */
.bg-icon {
    width: 2.6rem;
}

/* .card-icon � ��� ������������ */
.card-icon {
    border-radius: 70%;
    position: absolute;
    width: 1.9rem;
    height: 1.9rem;
    transition: opacity 0.3s ease;
}

.card-icon.left {
    left: calc(50% - 11.7rem);
    top: 59%;
    transform: translateY(-50%);
}

.card-icon.right {
    right: calc(50% - 11.2rem);
    top: 59%;
    transform: translateY(-50%);
}

.card-icon.top {
    border-radius: 0;
    border-top-left-radius: 82%;
    border-top-right-radius: 82%;
    width: 1.9rem;
    height: 1.9rem;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
}

/* Hover: ���������� �������������� ������ */
.card-container:hover .card-icon {
    opacity: 0.3;
}

#card-start-text-main-likes {
    font-weight: 500;
    width: 80%;
    color: var(--text-color);
    font-size: 1.25rem;
    text-align: center;
    position: absolute;
    align-self: center;
}

/* #card-start-text-main */
#card-start-text-main {
    font-weight: 500;
    margin-top: 30%;
    width: 80%;
    color: var(--text-color);
    font-size: 1.25rem;
    text-align: center;
    position: absolute;
    align-self: center;
}

/* #card-start-text-second */
#card-start-text-second {
    width: fit-content;
    color: var(--text-secondary-color);
    font-size: 1rem;
    text-align: left;
    position: absolute;
    align-self: center;
    margin-top: 59%;
    font-weight: 500;
    background-color: var(--background-color);
    padding: 1rem;
    border-radius: 0.8rem;
    box-shadow:
        inset 0.25rem 0.25rem 0.3125rem #0e0e0e42,
        inset -0.125rem -0.1875rem 0.1875rem #42424217;
}

#image-onb-div {
    display: flex;
    height: 100%;
    position: relative;
    justify-content: center;
    align-items: center;
}

#image-onb-img {
    width: 90%;
    height: auto;
}

.cursor {
    border-right: 2px solid #000;
    animation: blink 1s infinite;
    font-family: monospace;
    /*    white-space: nowrap;*/
    overflow: hidden;
}

#slide-name {
    border-right: 2px solid #000;
    animation: blink 1s infinite;
    font-family: monospace;
    /*    white-space: nowrap;*/
    overflow: hidden;
}

.cursor-box {
    background: #fff;
    animation: blink 0.7s infinite;
    /* Добавьте мигание */
}

@keyframes blink {
    50% {
        opacity: 0;
    }
}

/*@keyframes blink {
    0%, 100% {
        border-color: transparent;
    }

    50% {
        border-color: #000;
    }
}*/
#ticket-onb-text {
    font-weight: 500;
    width: 80%;
    color: var(--text-color);
    font-size: 1.25rem;
    background-color: #00000000;
    text-align: center;
    /* position: absolute; */
    /* align-self: center; */
}

#onb-card {
    background-color: #00000000;
    border-right: solid 0.2rem #00ff60;
    border-left: solid 0.2rem #ff003b;
    border-top: solid 0.2rem #fffd00;
    border-bottom: solid 0.2rem var(--primary-color);
    z-index: 3;
    transform: scale(1) translateY(0px);
}

.gender-images {
    height: 150%;
    width: auto;
}

#warning-tikcet {
    position: absolute;
    color: #d5d5d5;
    width: 60%;
    text-align: center;
    bottom: 1rem;
    font-weight: 500;
    line-height: 1.2;
}

#warning-tikcet .warning-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
}

#warning-tikcet .stat-img-img {
    display: inline-block !important;
    vertical-align: middle;
    margin: 0 !important;
}

.card-empty {
    width: 70%;
    color: var(--primary-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* общий «чистый» класс без тени и контура */
/* Цветная рамка по направлению */
.shadow-none {
    outline: none !important;
}

.shadow-right {
    outline: 2px solid rgba(0, 255, 0, 0.7) !important;
    /* зелёный */
}

.shadow-left {
    outline: 2px solid rgba(255, 0, 0, 0.7) !important;
    /* красный */
}

.shadow-up {
    outline: 2px solid rgba(255, 255, 0, 0.7) !important;
    /* жёлтый */
}

.card {
    transition:
        transform 0.3s ease,
        background-color 0.25s ease,
        outline 0.3s ease,
        opacity 0.9s ease;
    will-change: transform, scale, rotation;
}

.like-card {
    transition:
        transform 0.3s ease,
        background-color 0.25s ease,
        outline 0.3s ease,
        opacity 0.9s ease;
    /*    opacity: 0;*/
    /*    animation: fadeIn 0.8s ease forwards;*/
    will-change: transform, scale, rotation;
}

.like-card:nth-child(3) {
    z-index: 1;
    animation: 1s show ease;
    transform: scale(0.9) translateY(3.75rem);
}

@media (max-height: 670px) {
    .card-container {
        height: 65dvh;
    }

    .card {
        width: 100%;
    }
}

.profile-banner-actions {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 20;
    display: flex;
    gap: 8px;
    pointer-events: auto;
}

.plus-badge {
    width: 14px;
    height: 14px;
    margin-left: 0.35rem;
    display: inline-flex;
    align-self: center;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.35));
}

.ticket-nick-text {
    display: inline-block;
}

#ticket-nick,
.ticket-nick {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.profile-avatar-container {
    position: absolute;
    left: 18px;
    bottom: -26px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #0b0b0b;
    padding: 4px;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 8;
}

.profile-avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.user-info {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    justify-content: flex-end;
    width: 100%;
    flex-wrap: nowrap;
}

.goal-badge {
    margin-left: 0.35rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.65rem;
    text-transform: lowercase;
    letter-spacing: 0.04em;
    background: color-mix(in srgb, var(--goal-color) 22%, rgba(20,20,20,0.8));
    color: #fff;
    border: 0.08rem solid color-mix(in srgb, var(--goal-color) 45%, rgba(255,255,255,0.15));
}
