/* From Uiverse.io by kennyotsu */
/*works janky on mobile :<*/
:root {
    --bhyte-bg-card: #14111c;
    --bhyte-bg-card-soft: #1a1625;
    --bhyte-border: rgba(147, 51, 234, 0.25);
    --bhyte-border-strong: rgba(147, 51, 234, 0.55);
    --bhyte-glow: rgba(147, 51, 234, 0.45);

    --bhyte-text-main: #ffffff;
    --bhyte-text-muted: #b8b5c9;

    --bhyte-accent-yellow: #f5c46b;
    --bhyte-accent-yellow-soft: rgba(245, 196, 107, 0.25);

}

.container-3d {
    position: relative;
    width: 228px;
    height: 305px;
    transition: 200ms;
}

.container-3d:active {
    width: 216px;
    height: 294px;
}

#card-3d {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 12%;

    border-radius: 18px;
    background:
        linear-gradient(135deg,
            rgba(245, 196, 107, 0.12) 0%,
            transparent 40%),
        linear-gradient(160deg,
            var(--bhyte-bg-card-soft),
            var(--bhyte-bg-card));


    border: 1px solid var(--bhyte-border);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.65),
        inset 0 0 0 1px rgba(255, 255, 255, 0.02);

    transition: 600ms ease;
}

#card-3d.is-revealed {
    border-color: var(--bhyte-border-strong);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.8),
        0 0 0 1px var(--bhyte-border-strong);
}

#card-3d.is-revealed::before {
    opacity: 80%;
}

#card-3d::after {
    content: '';
    position: absolute;
    top: 12%;
    left: 0;
    width: 3px;
    height: 40%;

    background: linear-gradient(to bottom,
            var(--bhyte-accent-yellow),
            transparent);

    border-radius: 2px;
    opacity: 0.85;
}

.subtitle-3d {
    transform: translateY(160px);
    color: rgb(134, 110, 221);
    text-align: center;
    width: 100%;
}

.title-3d {
    opacity: 0;
    position: absolute;
    height: 40%;

    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--bhyte-text-main);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);

    transition: 300ms ease;
}


.description-3d {
    opacity: 0;
    margin-top: 50%;

    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(184, 181, 201, 0.92);
}


.tracker-3d:hover~#card-3d .title-3d {
    opacity: 1;
}

.tracker-3d:hover~#card-3d .description-3d {
    opacity: 1;
}

/* Quando o card for revelado */
#card-3d.is-revealed .title-3d {
    opacity: 1;
}

#card-3d.is-revealed .description-3d {
    opacity: 1;
}

#card-3d.is-revealed #prompt-3d {
    opacity: 0;
}

#prompt-3d {
    bottom: 8px;
    left: 12px;
    z-index: 20;
    transition: 300ms ease-in-out-out;
    position: absolute;
    max-width: 110px;
    color: var(--bhyte-text-main);
    font-size: 1.05rem;
    font-weight: 600;
}

.tracker-3d {
    position: absolute;
    z-index: 200;
    width: 100%;
    height: 100%;
}

.tracker-3d:hover {
    cursor: pointer;
}

.tracker-3d:hover~#card-3d #prompt-3d {
    opacity: 0;
}

.tracker-3d:hover~#card-3d {
    transition: 300ms;
    filter: brightness(1.1);
}

.container-3d:hover #card-3d::before {
    transition: 200ms;
    content: '';
    opacity: 80%;
}

.canvas-3d {
    perspective: 800px;
    inset: 0;
    z-index: 200;
    position: absolute;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
    gap: 0px 0px;
    grid-template-areas: "tr-1 tr-2 tr-3 tr-4 tr-5"
        "tr-6 tr-7 tr-8 tr-9 tr-10"
        "tr-11 tr-12 tr-13 tr-14 tr-15"
        "tr-16 tr-17 tr-18 tr-19 tr-20"
        "tr-21 tr-22 tr-23 tr-24 tr-25";
    padding: 10%;
}

#card-3d::before {
    content: '';
    background:
        radial-gradient(circle at top left,
            var(--bhyte-accent-yellow-soft),
            transparent 55%),
        radial-gradient(circle at top,
            var(--bhyte-glow),
            transparent 70%);
    filter: blur(2.2rem);
    opacity: 0.35;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    transition: 200ms;
}


.tr-1 {
    grid-area: tr-1;
}

.tr-2 {
    grid-area: tr-2;
}

.tr-3 {
    grid-area: tr-3;
}

.tr-4 {
    grid-area: tr-4;
}

.tr-5 {
    grid-area: tr-5;
}

.tr-6 {
    grid-area: tr-6;
}

.tr-7 {
    grid-area: tr-7;
}

.tr-8 {
    grid-area: tr-8;
}

.tr-9 {
    grid-area: tr-9;
}

.tr-10 {
    grid-area: tr-10;
}

.tr-11 {
    grid-area: tr-11;
}

.tr-12 {
    grid-area: tr-12;
}

.tr-13 {
    grid-area: tr-13;
}

.tr-14 {
    grid-area: tr-14;
}

.tr-15 {
    grid-area: tr-15;
}

.tr-16 {
    grid-area: tr-16;
}

.tr-17 {
    grid-area: tr-17;
}

.tr-18 {
    grid-area: tr-18;
}

.tr-19 {
    grid-area: tr-19;
}

.tr-20 {
    grid-area: tr-20;
}

.tr-21 {
    grid-area: tr-21;
}

.tr-22 {
    grid-area: tr-22;
}

.tr-23 {
    grid-area: tr-23;
}

.tr-24 {
    grid-area: tr-24;
}

.tr-25 {
    grid-area: tr-25;
}

.tr-1:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(20deg) rotateY(-10deg) rotateZ(0deg);
}

.tr-2:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(20deg) rotateY(-5deg) rotateZ(0deg);
}

.tr-3:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(20deg) rotateY(0deg) rotateZ(0deg);
}

.tr-4:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(20deg) rotateY(5deg) rotateZ(0deg);
}

.tr-5:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(20deg) rotateY(10deg) rotateZ(0deg);
}

.tr-6:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(10deg) rotateY(-10deg) rotateZ(0deg);
}

.tr-7:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(10deg) rotateY(-5deg) rotateZ(0deg);
}

.tr-8:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(10deg) rotateY(0deg) rotateZ(0deg);
}

.tr-9:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(10deg) rotateY(5deg) rotateZ(0deg);
}

.tr-10:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(10deg) rotateY(10deg) rotateZ(0deg);
}

.tr-11:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(0deg) rotateY(-10deg) rotateZ(0deg);
}

.tr-12:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(0deg) rotateY(-5deg) rotateZ(0deg);
}

.tr-13:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}

.tr-14:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(0deg) rotateY(5deg) rotateZ(0deg);
}

.tr-15:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(0deg) rotateY(10deg) rotateZ(0deg);
}

.tr-16:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-10deg) rotateY(-10deg) rotateZ(0deg);
}

.tr-17:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-10deg) rotateY(-5deg) rotateZ(0deg);
}

.tr-18:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-10deg) rotateY(0deg) rotateZ(0deg);
}

.tr-19:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-10deg) rotateY(5deg) rotateZ(0deg);
}

.tr-20:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-10deg) rotateY(10deg) rotateZ(0deg);
}

.tr-21:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-20deg) rotateY(-10deg) rotateZ(0deg);
}

.tr-22:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-20deg) rotateY(-5deg) rotateZ(0deg);
}

.tr-23:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-20deg) rotateY(0deg) rotateZ(0deg);
}

.tr-24:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-20deg) rotateY(5deg) rotateZ(0deg);
}

.tr-25:hover~#card-3d {
    transition: 125ms ease-in-out;
    transform: rotateX(-20deg) rotateY(10deg) rotateZ(0deg);
}

.noselect-3d {
    -webkit-touch-callout: none;
    /* iOS Safari */
    -webkit-user-select: none;
    /* Safari */
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Old versions of Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */
    user-select: none;
    /* Non-prefixed version, currently
									supported by Chrome, Edge, Opera and Firefox */
}