:root {
    --font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji";
    --color-bg: #0f172a;
    --color-text: #ffffff;
    --color-light: #f9fafb;

    --c1: #6366f1;
    --c2: #8b5cf6;
    --c3: #ec4899;
    --c4: #f59e0b;

    --c1-shadow: #6365f163;
    --c2-shadow: #8a5cf658;
    --c3-shadow: #ec489a57;
    --c4-shadow: #f59f0b56;
}

html {
    font-size: 100%;
    font-family: "Mona Sans", "Inter", sans-serif;
}

/* layout settings */
body {
    line-height: 1.5;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    background-color: rgb(6, 8, 63);
    /* Fallback color */
}

main {
    flex-grow: 1;
    display: flex;
    align-items: center;
    min-height: 0;
    position: relative;
}

.inner-container {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
}

.flex-container {
    display: flex;
}

/* Font size utility classes */
.fs-xxl {
    font-size: 4rem;
}

.fs-xl {
    font-size: 2.986rem;
}

.fs-lg {
    font-size: 2.488rem;
}

.fs-medlg {
    font-size: 2.074rem;
}

.fs-med {
    font-size: 1.728rem;
}

.fs-medsm {
    font-size: 1.44rem;
}

.fs-sm {
    font-size: 1.2rem;
}

.fs-xsm {
    font-size: 0.833rem;
}

/********** Font Weight Utility Classes **********/
.fw-bold {
    font-weight: 600;
}

/* Colour utility classes */
.white {
    color: white;
}

.gray {
    color: rgb(211, 201, 201);
    /* color: #808080; */
    color: rgb(178, 168, 168);
}

.purple {
    color: #9889E0;
}

.purple-header {
    color: #735ce3;
}

.bg-black {
    background-color: black;
}

.light-black {
    color: #4C3939;
}

/* alignment utility classes */
.text-center {
    text-align: center;
}

.justify-right {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.align-center {
    align-items: center;
}

.align-left {
    text-align: left;
}

.align-baseline {
    align-items: baseline;
}

.margin-auto {
    margin: 0 auto;
}

.flex-wrap {
    flex-wrap: wrap;
}

.wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    filter: blur(150px);
}

.gradient {
    position: absolute;
    border-radius: 100%;
    opacity: 0.6;
    mix-blend-mode: screen;
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(0.1, 0, 0.9, 1);
}

