/* =========================================================
   CANVAS
   ========================================================= */

.core-canvas {
    position: fixed;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    pointer-events: none;

    z-index: 0;
}

/* =========================================================
   AVXRNUS // CORE
   BASE
   ========================================================= */


/* =========================================================
   RESET
   ========================================================= */

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;

    background: #07020b;
}

body {
    min-height: 100vh;

    margin: 0;

    background:
        radial-gradient(
            circle at 50% 15%,
            rgba(217, 70, 239, 0.055),
            transparent 38%
        ),
        #07020b;

    color: #f4e8ff;

    font-family:
        "JetBrains Mono",
        "Courier New",
        monospace;
}


/* =========================================================
   PAGE
   ========================================================= */

.core-page {
    position: relative;

    z-index: 1;

    width: 100%;
    min-height: 100vh;

    display: flex;
    flex-direction: column;

    padding:
        42px
        48px
        32px;
}


/* =========================================================
   HEADER
   ========================================================= */

.core-header {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: center;

    text-align: center;
}


/* ---------------------------------------------------------
   LABEL
   --------------------------------------------------------- */

.core-header-label {
    margin-bottom: 24px;

    color:
        rgba(232, 121, 249, 0.7);

    font-size: 11px;

    font-weight: 500;

    letter-spacing:
        0.3em;

    text-transform:
        uppercase;
}


/* ---------------------------------------------------------
   TITLE
   --------------------------------------------------------- */

.core-title {
    margin: 0;

    color: #f5d9ff;

    font-family:
        "JetBrains Mono",
        monospace;

    font-size:
        clamp(52px, 7vw, 104px);

    font-weight: 800;

    line-height: 0.9;

    letter-spacing:
        0.09em;

    text-transform: uppercase;

    text-shadow:
        0 0 20px
        rgba(217, 70, 239, 0.2),
        0 0 45px
        rgba(217, 70, 239, 0.12);
}


/* ---------------------------------------------------------
   DESCRIPTION
   --------------------------------------------------------- */

.core-description {
    margin:
        22px
        0
        0;

    color:
        rgba(232, 121, 249, 0.65);

    font-size: 11px;

    letter-spacing:
        0.28em;

    text-transform:
        uppercase;
}


/* ---------------------------------------------------------
   BUILD
   --------------------------------------------------------- */

.core-build {
    margin-top: 12px;

    color:
        rgba(255, 255, 255, 0.3);

    font-size: 10px;

    letter-spacing:
        0.18em;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.core-navigation {
    width: 100%;

    max-width: 1500px;

    margin:
        72px
        auto
        0;

    display: flex;

    flex-direction: column;

    gap: 10px;
}


/* =========================================================
   CARD
   ========================================================= */

.core-card {
    position: relative;

    width: 100%;

    min-height: 108px;

    display: flex;

    align-items: center;

    padding:
        0
        22px;

    border:
        1px solid
        rgba(217, 70, 239, 0.16);

    background:
        rgba(255, 255, 255, 0.012);

    color: inherit;

    text-decoration: none;

    overflow: hidden;

    transition:
        border-color 180ms ease,
        background 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.core-card.core-card-unaviable {
    border:
        1px solid
        rgba(152, 152, 152, 0.16);

    background:
        rgba(82, 79, 79, 0.008);
}

/* ---------------------------------------------------------
   CARD EDGE
   --------------------------------------------------------- */

.core-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background:
        rgba(217, 70, 239, 0.35);

    opacity: 0.4;

    transition:
        opacity 180ms ease,
        box-shadow 180ms ease;
}

.core-card.core-card-unaviable::before {
    background:
        rgba(57, 57, 57, 0.35);
}


/* ---------------------------------------------------------
   CARD HOVER
   --------------------------------------------------------- */

.core-card:hover {
    border-color:
        rgba(234, 139, 249, 0.701);

    background:
        rgba(217, 70, 239, 0.025);

    transform:
        translateX(4px);

    box-shadow:
        0 0 30px
        rgba(217, 70, 239, 0.04);
}

.core-card.core-card-unaviable:hover {
    border-color:
        rgba(133, 133, 133, 0.701);

    background:
        rgba(217, 70, 239, 0.025);

    transform:
        translateX(0);

    box-shadow:
        0 0 30px
        rgba(110, 110, 110, 0.04);
}

.core-card:hover::before {
    opacity: 1;

    box-shadow:
        0 0 3px
        rgba(217, 70, 239, 0.8),
        0 0 25px
        rgba(217, 70, 239, 0.3);
}

.core-card.core-card-unaviable:hover::before {
    opacity: 1;

    box-shadow:
        0 0 3px
        rgba(121, 120, 121, 0.8),
        0 0 25px
        rgba(45, 45, 45, 0.3);
}

/* =========================================================
   CARD INDEX
   ========================================================= */

.core-card-index {
    width: 60px;

    flex-shrink: 0;

    color:
        rgba(217, 70, 239, 0.8);

    font-size: 10px;

    letter-spacing:
        0.1em;
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.core-card-content {
    display: flex;

    flex-direction: column;

    gap: 8px;
}


/* ---------------------------------------------------------
   CARD LABEL
   --------------------------------------------------------- */

.core-card-label {
    color:
        rgba(245, 217, 255, 0.9);

    font-family:
        "JetBrains Mono",
        monospace;

    font-size: 18px;

    font-weight: 500;

    letter-spacing:
       0.05em;

    transition:
        color 180ms ease,
        text-shadow 180ms ease;
}


.core-card:hover
.core-card-label {
    color: #f5d9ff;

    text-shadow:
        0 0 14px
        rgba(217, 70, 239, 0.35);
}


/* ---------------------------------------------------------
   CARD DESCRIPTION
   --------------------------------------------------------- */

.core-card-description {
    color:
        rgba(255, 255, 255, 0.35);

    font-size: 15px;

    letter-spacing:
        0.05em;
}


/* =========================================================
   CARD ARROW
   ========================================================= */

.core-card-arrow {
    margin-left: auto;

    color:
        rgba(217, 70, 239, 0.7);

    font-size: 18px;

    transition:
        transform 180ms ease,
        color 180ms ease,
        text-shadow 180ms ease;
}


.core-card:hover
.core-card-arrow {
    color: #e879f9;

    transform:
        translate(
            3px,
            -3px
        );

    text-shadow:
        0 0 12px
        rgba(225, 49, 252, 0.7);
}


/* =========================================================
   FOOTER
   ========================================================= */

.core-footer {
    width: 100%;

    max-width: 1500px;

    margin:
        auto
        auto
        0;

    padding-top: 40px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    color:
        rgba(255, 255, 255, 0.3);

    font-size: 9px;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;
}


/* =========================================================
   STATUS
   ========================================================= */

.core-status {
    display: flex;
    font-size: 15px;
    align-items: center;

    gap: 8px;
}


.core-status-dot {
    width: 10px;
    height: 10px;
    translate: 0px -2px;
    border-radius: 50%;

    background: #e879f9;

    box-shadow:
        0 0 8px
        rgba(232, 121, 249, 0.9);
}


/* =========================================================
   FOOTER ID
   ========================================================= */

.core-footer-id {
    color:
        rgba(232, 121, 249, 0.35);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 700px) {

    .core-page {
        padding:
            28px
            20px
            24px;
    }


    .core-header-label {
        font-size: 9px;

        letter-spacing:
            0.2em;
    }


    .core-title {
        font-size:
            clamp(
                42px,
                15vw,
                72px
            );
    }


    .core-description {
        font-size: 9px;

        letter-spacing:
            0.18em;
    }


    .core-navigation {
        margin-top: 52px;
    }


    .core-card {
        min-height: 92px;

        padding:
            0
            16px;
    }


    .core-card-index {
        width: 42px;
    }


    .core-card-label {
        font-size: 16px;
    }


    .core-card-description {
        font-size: 9px;
    }


    .core-footer {
        padding-top: 28px;

        font-size: 8px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .core-card,
    .core-card::before,
    .core-card-label,
    .core-card-arrow {
        transition: none;
    }

}