:root {
    --customBlue: #0085FF;
    --customBlue-txt: #0085FF;
    --customBlue-bg: #E5F3FF;

    --customGreen: #00BA34;
    --customGreen-txt: #00BA34;
    --customGreen-bg: #E5F8EB;

    --customCoral: #FF7B7B;
    --customCoral-txt: #FF7B7B;
    --customCoral-bg: #FFEBEB;

    --customGrey: #878787;
    --customGrey-txt: #878787;
    --customGrey-bg: #e9e9e9;

    --customDarkGrey-bg: #252525;

    --customDarkGrey-2-bg: #1c1c1c;

    --customPurple: #9604DD;
    --customPurple-txt: #9604DD;
    --customPurple-bg: #F1D3FF;

    --customWhite-txt: #e1e1e1;
    --customWhite-hover: #3f3f3f;
}

.interaction-sample-ctnr {
    margin-bottom: var(--systemSpacing-200);
}

.interaction-sample-all-wrp {
    width: 100%;
    padding: var(--systemSpacing-0) var(--systemSpacing-128);
}

.interaction-sample-wrp {
    width: 100%;
    height: var(--systemSpacing-320);
    border-radius: var(--systemSpacing-32);
    background-color: var(--system-bg-secondary);
}

.circle-motion {
    width: var(--systemSpacing-60);
    height: var(--systemSpacing-60);
    border-radius: var(--systemSpacing-9999);
    background-color: var(--customBlue);
    position: absolute;
    top: 50%;
    left: 20%;
    transform: translate(-50%, -50%);
    animation: expressive-motion 2s infinite;
}

.svg-layer {
    width: inherit;
    height: inherit;
}

/* */
/* text */

.code-col-tl-wrp {
    padding: var(--systemSpacing-0) var(--systemSpacing-128);
    margin: var(--systemSpacing-16) var(--systemSpacing-0);
    overflow: hidden;
}

/* grid system */

/* system grid */

/* .systemGrid-4x1 {
    display: grid;
    grid-gap: var(--systemSpacing-16);
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(1, 1fr);
    grid-auto-flow: row;
    grid-template-columns: auto;
    grid-template-rows: auto;
} */

/* .pos-12-12 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
}

.pos-23-12 {
    grid-column: 3 / 5;
    grid-row: 1 / 2;
} */

.code-intro-ctnr {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: var(--systemSpacing-40);
    padding: var(--systemSpacing-0) var(--systemSpacing-128);
    margin: var(--systemSpacing-16) var(--systemSpacing-0) var(--systemSpacing-120) var(--systemSpacing-0);
}

.code-ex-ctnr {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: var(--systemSpacing-40);
    padding: var(--systemSpacing-0) var(--systemSpacing-128);
    margin: var(--systemSpacing-16) var(--systemSpacing-0) var(--systemSpacing-80) var(--systemSpacing-0);
}

.code-ex-all-wrp {
    display: flex;
    flex-direction: column;
    gap: var(--systemSpacing-20);
    width: 100%;
    overflow: hidden;
}

.dsc-code-wrp {
    display: flex;
    flex-direction: column;
    gap: var(--systemSpacing-8);
}

.dsc-excode-wrp {
    display: flex;
    flex-direction: column;
    gap: var(--systemSpacing-8);
}


/* */
/* code part */

.code-ctnr {
    display: flex;
    background-color: var(--customDarkGrey-bg);
    border-radius: var(--systemSpacing-8);
    margin: var(--systemSpacing-2) var(--systemSpacing-0);
}

.code-hl-incl-svg {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: var(--systemSpacing-8) var(--systemSpacing-8) var(--systemSpacing-8) var(--systemSpacing-12);
    overflow-x: scroll;
    white-space: nowrap;
}

.code-hl {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: var(--systemSpacing-12);
    overflow-x: scroll;
    white-space: nowrap;
}

.code-all-wrp {
    /* margin-right: var(--systemSpacing-8); */
    overflow-x: scroll;
    white-space: nowrap;
    align-items: center;
}

.scroll::-webkit-scrollbar {
    display: none;
}

.scroll {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* .code-wrp {
    font-family: "Roboto Mono", monospace;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
} */

.token {
    color: var(--customWhite-txt);
    font-size: var(--ch-fontSize);
    font-variation-settings: "wght" 400, "wdth" 100, "opsz" 8;
    /* font-family: "Roboto Mono", monospace;
    font-optical-sizing: auto;
    font-style: normal; */
}

.copy-svg-wrp {
    cursor: pointer;
    padding: var(--systemSpacing-4);
    transition: all 0.1s ease-in;
    border-radius: var(--systemSpacing-8);
}

.copy-svg-wrp:hover {
    background-color: var(--customWhite-hover);
}

.copy-svg {
    display: block;
    fill: var(--customWhite-txt);
}

.grid-num {
    font-size: var(--h6-fontSize);
    color: var(--systemPrimary);
}

.grid-num-tl {
    font-size: var(--h6-fontSize);
    color: var(--systemPrimary);
}

.grid-dsc {
    font-size: var(--ph-fontSize);  
    color: var(--systemPrimary); 
    line-height: 140%;
}

.gsap-img-wrp {
    width: fit-content;
    display: block;
    height: fit-content;
}

.gsap-img-wrp svg {
    fill: var(--systemPrimary);
}

/* .gsap-img-wrp svg {
    max-width: 100%;
    width: fit-content;
    display: block;
} */

/* typeit */

.clipboard-copied-ctnr {
    display: none;
    opacity: 0;
    position: fixed;
    width: fit-content;
    top: var(--systemSpacing-80);
    left: 50%;
    transform: translate(-50%, -100%);
    background-color: var(--systemWhite);
    border-radius: var(--systemSpacing-9999);
    z-index: 9998;
    box-shadow: var(--systemSpacing-0) var(--systemSpacing-4) var(--systemSpacing-16) var(--systemSpacing-0) var(--systemQuinary);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.clipboard-copied-ctnr.show {
    transform: translate(-50%, 0);
    opacity: 1;
}

.clipboard-copied-ctnr.hide {
    transform: translate(-50%, -100%);
    opacity: 0;
}

.clipboard-copied-txt {
    font-size: var(--p-fontSize);
    font-weight: 500;
    color: var(--systemPrimary);
    padding: var(--systemSpacing-20) var(--systemSpacing-32);
    text-align: center;
    white-space: nowrap;
}

.excode-ctnr {
    width: 100%;
    background-color: var(--customDarkGrey-bg);
    border-radius: var(--systemSpacing-8);
}

.excode-wrp {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: var(--systemSpacing-8) var(--systemSpacing-8) var(--systemSpacing-8) var(--systemSpacing-12);
}

.excode-txt-wrp {
    width: 100%;
}

.excode-txt {
    color: var(--customWhite-txt);
    font-size: var(--ch-fontSize);
    width: 100%;
}

.reset-btn {
    font-size: var(--ch-fontSize);
    border: none;
    background-color: var(--customDarkGrey-2-bg);
    color: var(--customWhite-txt);
    padding: var(--systemSpacing-8) var(--systemSpacing-16);
    border-radius: var(--systemSpacing-8);
    cursor: pointer;
}

.reset-btn:hover {
    background-color: var(--customDarkGrey-2-bg);
    color: var(--customWhite-txt);
    opacity: 80%;
}

/* scroll out */

[data-scroll] {
    opacity: 0;
    will-change: transform, scale, opacity;
    transform: translateY(6rem) scale(0.93);
    transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

[data-scroll='in'] {
    opacity: 1;
    transform: translateY(0) scale(1);
}

[data-scroll='out'] {
    opacity: 0;
}

/* matter */

.matter-sample-ctnr {
    margin-bottom: var(--systemSpacing-200);
}

.matter-sample-all-wrp {
    width: 100%;
    padding: var(--systemSpacing-0) var(--systemSpacing-128);
}

.matter-sample-wrp {
    width: 100%;
    height: var(--systemSpacing-480);
    border-radius: var(--systemSpacing-32);
    background-color: var(--system-bg-secondary);
}

/* */

@media screen and (max-width: 960px) {

    .interaction-sample-all-wrp {
        padding: var(--systemSpacing-0) var(--systemSpacing-32);
    }

    .matter-sample-all-wrp {
        padding: var(--systemSpacing-0) var(--systemSpacing-32);
    }

    .matter-sample-wrp {
        height: var(--systemSpacing-400);
    }

    .code-intro-ctnr {
        padding: var(--systemSpacing-0) var(--systemSpacing-32);
        margin: var(--systemSpacing-16) var(--systemSpacing-0) var(--systemSpacing-120) var(--systemSpacing-0);
    }

    .code-ex-ctnr {
        padding: var(--systemSpacing-0) var(--systemSpacing-32);
        margin: var(--systemSpacing-16) var(--systemSpacing-0) var(--systemSpacing-80) var(--systemSpacing-0);
    }

    /* */

    .code-col-tl-wrp {
        padding: var(--systemSpacing-0) var(--systemSpacing-32);
        margin: var(--systemSpacing-16) var(--systemSpacing-0);
    }

    /**/

    .grid-num {
        font-size: var(--h6-fontSize);
    }

    .grid-num-tl {
        font-size: var(--h6-fontSize);
    }

    .grid-dsc {
        font-size: var(--p-fontSize);  
    }
}

@media screen and (max-width: 600px) {

    .interaction-sample-all-wrp {
        padding: var(--systemSpacing-0) var(--systemSpacing-0);
    }

    .matter-sample-all-wrp {
        padding: var(--systemSpacing-0) var(--systemSpacing-0);
    }

    .matter-sample-wrp {
        height: var(--systemSpacing-320);
    }

    /* */

    .code-col-tl-wrp {
        padding: var(--systemSpacing-0);
    }

    .grid-num {
        font-size: var(--ph-fontSize);
    }

    .grid-num-tl {
        font-size: var(--ph-fontSize);
    }

    /* */

    .code-intro-ctnr {
        display: flex;
        flex-direction: column;
        gap: var(--systemSpacing-80);
        padding: var(--systemSpacing-0);
        margin: var(--systemSpacing-12) var(--systemSpacing-0) var(--systemSpacing-120) var(--systemSpacing-0);
    }

    .code-ex-ctnr {
        display: flex;
        flex-direction: column;
        gap: var(--systemSpacing-20);
        padding: var(--systemSpacing-0);
        margin: var(--systemSpacing-12) var(--systemSpacing-0) var(--systemSpacing-80) var(--systemSpacing-0);
    }
}