.--dw {
    overflow: visible;
    width: 100%;
    height: auto;
    position: relative;
    aspect-ratio: 16 / 9;
    margin: 10px 0;
    transition: 200ms;
    transform-origin: center;
}

.--dw:active {
    transform: scale(.98);
}

#--dic {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    transition: 700ms;
    background: linear-gradient(45deg, #1a1a1a, #262626);
    border: 2px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.--dic-content {
    position: relative;
    width: 100%;
    height: 100%;
}

.glowing-elements {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.glow-1,
.glow-2,
.glow-3 {
    position: absolute;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: radial-gradient(circle at center,
            rgba(0, 255, 170, 0.3) 0%,
            rgba(0, 255, 170, 0) 70%);
    filter: blur(15px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.glow-1 {
    top: -20px;
    left: -20px;
}

.glow-2 {
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
}

.glow-3 {
    bottom: -20px;
    left: 30%;
}

.--dic-particles span {
    position: absolute;
    width: 3px;
    height: 3px;
    background: #00ffaa;
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.3s ease;
}

@keyframes particleFloat {
    0% {
        transform: translate(0, 0);
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translate(calc(var(--x, 0) * 30px), calc(var(--y, 0) * 30px));
        opacity: 0;
    }
}

.--dic-particles span:nth-child(1) {
    --x: 1;
    --y: -1;
    top: 40%;
    left: 20%;
}

.--dic-particles span:nth-child(2) {
    --x: -1;
    --y: -1;
    top: 60%;
    right: 20%;
}

.--dic-particles span:nth-child(3) {
    --x: 0.5;
    --y: 1;
    top: 20%;
    left: 40%;
}

.--dic-particles span:nth-child(4) {
    --x: -0.5;
    --y: 1;
    top: 80%;
    right: 40%;
}

.--dic-particles span:nth-child(5) {
    --x: 1;
    --y: 0.5;
    top: 30%;
    left: 60%;
}

.--dic-particles span:nth-child(6) {
    --x: -1;
    --y: 0.5;
    top: 70%;
    right: 60%;
}

#--dic::before {
    content: "";
    background: radial-gradient(circle at center,
            rgba(0, 255, 170, 0.1) 0%,
            rgba(0, 162, 255, 0.05) 50%,
            transparent 100%);
    filter: blur(20px);
    opacity: 0;
    width: 150%;
    height: 150%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
}

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

.--dcv {
    z-index: 0;
    perspective: 800px;
    inset: 0;
    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";
}

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

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.--dic-glare {
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.05) 45%,
            rgba(255, 255, 255, 0.1) 50%,
            rgba(255, 255, 255, 0.05) 55%,
            rgba(255, 255, 255, 0) 100%);
    opacity: 0;
    transition: opacity 300ms;
}

.cyber-lines span {
    position: absolute;
    background: linear-gradient(90deg,
            transparent,
            rgba(92, 103, 255, 0.2),
            transparent);
}

.cyber-lines span:nth-child(1) {
    top: 20%;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left;
    animation: lineGrow 3s linear infinite;
}

.cyber-lines span:nth-child(2) {
    top: 40%;
    right: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: right;
    animation: lineGrow 3s linear infinite 1s;
}

.cyber-lines span:nth-child(3) {
    top: 60%;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left;
    animation: lineGrow 3s linear infinite 2s;
}

.cyber-lines span:nth-child(4) {
    top: 80%;
    right: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: right;
    animation: lineGrow 3s linear infinite 1.5s;
}

.--ce span {
    position: absolute;
    width: 15px;
    height: 15px;
    border: 2px solid rgba(92, 103, 255, 0.3);
}

.--ce span:nth-child(1) {
    top: 10px;
    left: 10px;
    border-right: 0;
    border-bottom: 0;
}

.--ce span:nth-child(2) {
    top: 10px;
    right: 10px;
    border-left: 0;
    border-bottom: 0;
}

.--ce span:nth-child(3) {
    bottom: 10px;
    left: 10px;
    border-right: 0;
    border-top: 0;
}

.--ce span:nth-child(4) {
    bottom: 10px;
    right: 10px;
    border-left: 0;
    border-top: 0;
}

.scan-line {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            transparent,
            rgba(92, 103, 255, 0.1),
            transparent);
    transform: translateY(-100%);
    animation: scanMove 2s linear infinite;
}

@keyframes lineGrow {
    0% {
        transform: scaleX(0);
        opacity: 0;
    }

    50% {
        transform: scaleX(1);
        opacity: 1;
    }

    100% {
        transform: scaleX(0);
        opacity: 0;
    }
}

@keyframes scanMove {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(100%);
    }
}

.--ce span {
    transition: all 0.3s ease;
}

.--dwrapper {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.--dwrapper h2 {
    font-size: x-large;
    color: #fff;
}
.--reco {
    width: 100%;
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--length), 1fr);
    gap: 8px;
    transform: translateY(50px);
    margin-bottom: -50px;
    transition: all .6s ease;
}

.--reco > div {
    width: 100%;
    height: auto;
    position: relative;
    border-radius: 10px;
    aspect-ratio: 16 / 9;
    transition: all .6s ease;
}
.--reco > div:not(.--reco-item){
    opacity: .4;
}
@keyframes nasd {
    to{
        filter:blur(0);
        opacity: 1;
    }
}
.--reco-item{
    overflow: hidden;
}
.--reco-item a{
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 10px;
    filter:blur(6px);
    opacity: 0;
    animation: nasd .6s cubic-bezier(0.6, -0.28, 0.735, 0.045) forwards;
}
.--reco-item img{
    max-width: 100%;
    width: 100%;
    margin: 0!important;
    height: auto;
}
.--reco-item h3{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: end;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .5px;
    background: linear-gradient(to top, rgb(24 24 24 / 70%) 30%, transparent);
    padding: 10px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
}
@media (max-width:990px){
    .--reco {
        margin-bottom: -0px;
        transform: translateY(20px);
    }
    .--dwrapper h2{
        font-size: large;
    }
    .--reco-item h3{
        font-size: 12px;
        padding:5px;
    }
}
@media(max-width:1200px){
    .--reco {
        transform: translateY(20px);
        margin-bottom: -20px;
    }
}