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

.card {
    overflow: hidden;
    font-size: small;
    position: absolute;
    z-index: 2;
    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;
    z-index: 4;
    width: 80vw;
    aspect-ratio: 3 / 4;
    max-width: 20rem;
    justify-content: center;
    font-weight: 500;
}

.desktop-card-controls {
    display: none;
}

.desktop-swipe-toggle-panel {
    display: none;
}

#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;
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
    /* 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;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .desktop-swipe-toggle-panel {
                position: absolute;
        bottom: -7rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        margin-top: 1rem;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s ease;
    }

    .desktop-swipe-toggle-label {
        color: rgba(255, 255, 255, 0.8);
        font-size: 0.88rem;
        font-weight: 600;
        letter-spacing: 0.01em;
    }

    .desktop-swipe-toggle-switch {
        transform: scale(0.96);
    }

    .desktop-card-controls {
        position: absolute;
        inset: 0;
        display: block;
        pointer-events: auto;
        z-index: 1;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.24s ease, visibility 0.24s ease;
    }

    .desktop-swipe-btn {
        --btn-base-transform: translate(0, 0);
        position: absolute;
        width: 3.2rem;
        height: 3.2rem;
        border-radius: 999px;
        border: 0.1rem solid rgba(255, 255, 255, 0.72);
        background: rgba(18, 18, 20, 0.95);
        color: #f4f4f5;
        font-weight: 700;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        pointer-events: auto;
        box-shadow:
            0 12px 30px rgba(0, 0, 0, 0.45),
            inset 0 1px 0 rgba(255, 255, 255, 0.14);
        transform: var(--btn-base-transform);
        opacity: 1;
        visibility: visible;
        transition: transform 0.2s ease, background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, opacity 0.22s ease, visibility 0.22s ease;
    }

    .desktop-swipe-icon {
        width: 1.45rem;
        height: 1.45rem;
    }

    .desktop-swipe-icon path {
        fill: none;
        stroke: currentColor;
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .desktop-swipe-btn:hover {
        transform: var(--btn-base-transform) translateY(-1px) scale(1.03);
        border-color: rgba(255, 255, 255, 0.9);
        background: rgba(26, 26, 26, 0.96);
        box-shadow:
            0 16px 32px rgba(0, 0, 0, 0.55),
            inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }

    .desktop-swipe-btn-skip {
        left: -4.2rem;
        top: 50%;
        --btn-base-transform: translateY(-50%);
    }

    .desktop-swipe-btn-like {
        right: -4.2rem;
        top: 50%;
        --btn-base-transform: translateY(-50%);
    }

    .desktop-swipe-btn-open {
        left: 50%;
        top: -4rem;
        --btn-base-transform: translateX(-50%);
    }

    .desktop-swipe-controls-hidden .desktop-card-controls {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .desktop-swipe-controls-hidden .desktop-swipe-toggle-panel {
        opacity: 0.72;
        transform: translateY(-0.08rem);
    }

    .desktop-swipe-controls-hidden .desktop-swipe-btn-skip {
        transform: translate(-0.55rem, -50%) scale(0.92);
        opacity: 0;
        visibility: hidden;
    }

    .desktop-swipe-controls-hidden .desktop-swipe-btn-like {
        transform: translate(0.55rem, -50%) scale(0.92);
        opacity: 0;
        visibility: hidden;
    }

    .desktop-swipe-controls-hidden .desktop-swipe-btn-open {
        transform: translate(-50%, -0.55rem) scale(0.92);
        opacity: 0;
        visibility: hidden;
    }
}

#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: var(--avatar-cutout-color, #17181a);
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 8;
    isolation: isolate;
}

.profile-avatar-container::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: var(--avatar-cutout-color, #17181a);
    z-index: -1;
    pointer-events: none;
}

.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));
}

.guest-auth-popup {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.guest-auth-popup-content {
    background: rgba(20,20,20,0.95);
    border: 0.1rem solid var(--border-color);
    border-radius: 1rem;
    padding: 1rem 1.2rem;
    max-width: 18rem;
    text-align: center;
    color: #fff;
    transform: translateY(10px) scale(0.98);
    opacity: 0;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.guest-auth-popup.visible {
    opacity: 1;
}

.guest-auth-popup.visible .guest-auth-popup-content {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.guest-auth-popup-title {
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.guest-auth-popup-text {
    font-size: 0.85rem;
    color: var(--text-secondary-color);
    margin-bottom: 0.8rem;
}

.guest-auth-popup-actions {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
}

.guest-auth-popup-btn {
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    background: #fff;
    color: #000;
    font-weight: 600;
    text-decoration: none;
}

.guest-auth-popup-btn.secondary {
    background: rgba(255,255,255,0.12);
    color: #fff;
}
