* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

@font-face {
    font-family: 'Microsoft Sans Serif';
    src: url('../Font/Microsoft-Sans-Serif.ttf') format('truetype');
}

html {
    margin: 0;
    height: 100%;
}

body {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Microsoft Sans Serif';
    background-color: black; /* A background for contrast */
    transition: background-color 2s ease;
    color: #F2F2F2;
    background-image: url('../Images/reddd.gif');
    background-size: auto 120vw;
    background-position-y: bottom;
}

/* width */
::-webkit-scrollbar {
    width: 6px;

}

/* Track */
::-webkit-scrollbar-track {
    background: transparent;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: transparent;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: white;
    border-radius: 5px;
}

/* Phones (up to ~600px width) */
@media (max-width: 600px) {

    .voluptas-logo {
        position: absolute;
        top: 10px;
        left: 10px;
        font-size: 1rem;
        color: #F2F2F2;
        z-index: 10;
    }

    .homepage_container {
        display: flex;
        flex-direction: column; /* stack elements vertically */
        align-items: flex-start;
        justify-content: center;
        height: 100vh;
        text-align: center;
        color: #F2F2F2;
        gap: 10px;

    }

    .bubble {
        width: 90vw;
        border: 1px solid #F2F2F2;
        border-radius: 80px;
        background-color: black;
        background-repeat: no-repeat;
        color: #F2F2F2;
        text-transform: uppercase;
        font-family: inherit;
        padding: 10px 30px;
        box-sizing: border-box;
        text-align: left ;
        font-size: 1.5rem;
    }


    /* Title */
    .startButton {
        font-weight: bold;
        background-image: url('../Images/reddd.gif');
        background-size: auto 65vw;
        background-position: center center;
        margin-bottom: 10px;
    }


    .startButton:hover {
        background-color: white;
        background-blend-mode: lighten;
        transition: background-color 0.3s ease, color 1s;
        color: black;
    }

    /* Info button */
    .infoButton {
        font-weight: bold;
        cursor: pointer;
        background-image: url('../Images/reddd.gif');
        background-size: auto 85vw;
        background-position: center center;
    }
    .infoButton:hover {
        background-color: white;
        background-blend-mode: lighten;
        transition: background-color 0.3s ease,  color 1s;
        color: black;
    }

    /* Play button */
    .creditsButton {
        font-weight: bold;
        cursor: pointer;
        background-image: url('../Images/reddd.gif');
        background-size: auto 70vw;
        background-position: bottom left;
    }
    .creditsButton:hover {
        background-color: white;
        background-blend-mode: lighten;
        transition: background-color 0.3s ease,  color 1s;
        color: black;
    }

    /* Expandable info text */
    .infoText {
        max-height: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        transition: max-height 0.6s ease, padding 0.6s ease;
        font-size: 1.2rem;
        text-align: left;
        width: 90vw;
        box-sizing: border-box;
        font-family: inherit;
    }

    .infoText.show {
        max-height: 500px;
        border: #F2F2F2 solid 1px;
        border-radius: 50px;
        padding: 20px 30px;
        margin-bottom: 10px;
        margin-top: 10px;
    }

    /* Expandable info text */
    .creditsText {
        max-height: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        transition: max-height 0.6s ease, padding 0.6s ease;
        font-size: 1.2rem;
        text-align: left;
        width: 90vw;                 /* matches the bubbles */
        box-sizing: border-box;
        font-family: inherit;
    }
    .creditsText.show {
        max-height: 500px;
        border: #F2F2F2 solid 1px;
        border-radius: 50px;
        padding: 20px 30px;
        margin-bottom: 10px;
        margin-top: 10px;
    }


    .terms-of-use-container {
        visibility: hidden;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: fixed;
        left: 50%;
        transform: translateX(-50%);
        min-height: 230px; /* baseline size */
        width: 90vw;
        color: #F2F2F2;
        border: #F2F2F2 solid 1px;
        border-radius: 50px;
        padding: 20px 30px;
        box-sizing: border-box;
        max-height: 90vh; /* safety: don’t go off screen */
        overflow-y: auto;
    }



    .terms-of-use {
        font-size: 1.2rem;
        margin-bottom: 10px;
    }

    .button-group {
        display: flex;
        gap: 10px; /* Adds space between the buttons */
        margin-top: 20px; /* Optional spacing from the text above */
    }

    .agree-button {
        align-self: flex-end; /* or center, depending on your design */
        padding: 10px 20px;
        border-radius: 10px;
        font-size: 1.2rem;
        cursor: pointer;
        background-color: transparent;
        border: #F2F2F2 solid 1px;
        color: #F2F2F2;
        transition: border 2s ease;
    }

    .agree-button:hover {
        background-color: white;
        color: black;
        transition: background-color 0.6s ease, color 1s;
    }

    .chat-container {
        display: flex;
        visibility: hidden;
        flex-direction: column;
        background-color: transparent;
        border-radius: 10px;
        overflow: hidden;
        position: absolute;
        border: #F2F2F2 solid 1px;
        transition: border 2s ease;
        width: 90vw; /* Take most of the screen width */
        height: 80vh; /* Taller on mobile */
        max-width: 100%; /* Prevents awkward cutoff */
        border-radius: 10px; /* Flat edges fit better on mobile */
        top: 80px; /* Stick to bottom like a chat app */
        left: 50%;
        transform: translateX(-50%);
    }

    .chat-box {
        flex: 1;
        padding: 20px;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .input-area {
        display: flex;
        padding: 10px;
        background-color: transparent;
    }

    #user-input {
        flex: 1;
        padding: 10px;
        font-size: 16px;
        border-bottom: #F2F2F2 solid 1px;
        border-top: transparent;
        border-left: transparent;
        border-right: transparent;
        background-color: transparent;
        color: #F2F2F2;
        transition: border 2s ease;
    }

    #send-btn {
        padding: 10px 20px;
        margin-left: 10px;
        border-radius: 10px;
        font-size: 16px;
        cursor: pointer;
        background-color: transparent;
        border: #F2F2F2 solid 1px;
        color: #F2F2F2;
        transition: border 2s ease;
    }

    #send-btn:hover {
        background-color: white;
        color: black;
        transition: background-color 0.6s ease, color 1s;
    }

    .cedric {
        background-color: transparent;
        align-self: flex-start;
        padding: 10px;
        border-radius: 10px;
        max-width: 450px;
    }

    .link {
        color: skyblue;
    }

    .concordia {
        background-color: transparent;
        align-self: center;
        padding-left: 10px;
        border-radius: 10px;
        max-width: 800px;
        font-size: 1.8rem;
        color: black;
        animation: fadein 3s both;
    }

    @keyframes fadein {
        from {
            color: transparent;
        }
        to {
            color: black;
        }
    }

    .user {
        background-color: transparent;
        align-self: flex-start;
        padding: 10px;
        border-radius: 10px;
        max-width: 450px;
        overflow-wrap: break-word;
    }

    .message-wrapper {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        max-width: 100%;
    }

    .message-wrapper.right {
        flex-direction: row-reverse;
        align-self: flex-end;
        /* So user avatar is on the right */
    }

    .message-wrapper.left {
        align-self: flex-start;
        /* So user avatar is on the right */
    }

    .avatar {
        width: 10px;
        height: 10px;
        margin-top: 15px;
        border-radius: 50%;
        object-fit: cover;
    }

    .download-button {
        visibility: hidden;
        padding: 10px 20px;
        position: fixed;
        bottom: 20px;
        margin-left: 10px;
        border-radius: 10px;
        font-size: 16px;
        cursor: pointer;
        background-color: transparent;
        border: black solid 1px;
        color: black;
        transition: border 2s ease;
    }

    .download-button:hover {
        background-color: black;
        color: white;
        transition: background-color 0.6s ease, color 1s;
    }

    .replay-button {
        visibility: hidden;
        padding: 10px 20px;
        position: fixed;
        bottom: 20px;
        margin-left: 10px;
        border-radius: 10px;
        font-size: 16px;
        cursor: pointer;
        background-color: transparent;
        border: black solid 1px;
        color: black;
        transition: border 2s ease;
    }

    .replay-button:hover {
        background-color: black;
        color: white;
        transition: background-color 0.6s ease, color 1s;
    }

    .hiddenForm {
        display: none;
        visibility: hidden;
    }
}

@media (min-width: 600px) {
    .voluptas-logo {
        position: absolute;
        top: 10px;
        left: 10px;
        font-size: 1rem;
        color: #F2F2F2;
        z-index: 10;
    }

    .homepage_container {
        display: flex;
        flex-direction: column; /* stack elements vertically */
        align-items: flex-start;
        justify-content: center;
        height: 100vh;
        text-align: center;
        color: #F2F2F2;
        gap: 10px;

    }

    .bubble {
        width: 70vw;
        border: 1px solid #F2F2F2;
        border-radius: 200px;
        background-color: black;
        background-repeat: no-repeat;
        color: #F2F2F2;
        text-transform: uppercase;
        font-family: inherit;
        padding: 10px 30px;
        box-sizing: border-box;
        text-align: left ;
        font-size: 4rem;
    }


    /* Title */
    .startButton {
        font-weight: bold;
        background-image: url('../Images/reddd.gif');
        background-size: auto 50vw;
        background-position: center center;
        margin-bottom: 10px;
    }


    .startButton:hover {
        background-color: white;
        background-blend-mode: lighten;
        transition: background-color 0.3s ease, color 1s;
        color: black;
    }

    /* Info button */
    .infoButton {
        font-weight: bold;
        cursor: pointer;
        background-image: url('../Images/reddd.gif');
        background-size: auto 80vw;
        background-position: center center;
    }
    .infoButton:hover {
        background-color: white;
        background-blend-mode: lighten;
        transition: background-color 0.3s ease,  color 1s;
        color: black;
    }

    /* Play button */
    .creditsButton {
        font-weight: bold;
        cursor: pointer;
        background-image: url('../Images/reddd.gif');
        background-size: auto 70vw;
        background-position: bottom left;
    }
    .creditsButton:hover {
        background-color: white;
        background-blend-mode: lighten;
        transition: background-color 0.3s ease,  color 1s;
        color: black;
    }

    /* Expandable info text */
    .infoText {
        max-height: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        transition: max-height 0.6s ease, padding 0.6s ease;
        font-size: 1.2rem;
        text-align: left;
        width: 70vw;
        box-sizing: border-box;
        font-family: inherit;
    }



    .infoText.show {
        max-height: 500px;
        border: #F2F2F2 solid 1px;
        border-radius: 50px;
        padding: 20px 30px;
        margin-bottom: 10px;
        margin-top: 10px;
    }

    /* Expandable info text */
    .creditsText {
        max-height: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        transition: max-height 0.6s ease, padding 0.6s ease;
        font-size: 1.2rem;
        text-align: left;
        width: 70vw;                 /* matches the bubbles */
        box-sizing: border-box;
        font-family: inherit;
    }
    .creditsText.show {
        max-height: 500px;
        border: #F2F2F2 solid 1px;
        border-radius: 50px;
        padding: 20px 30px;
        margin-bottom: 10px;
        margin-top: 10px;
    }


    .terms-of-use-container {
        visibility: hidden;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: fixed;
        left: 50%;
        transform: translateX(-50%);
        min-height: 230px; /* baseline size */
        width: 50vw;
        color: #F2F2F2;
        border: #F2F2F2 solid 1px;
        border-radius: 50px;
        padding: 20px 30px;
        box-sizing: border-box;
        max-height: 90vh; /* safety: don’t go off screen */
        overflow-y: auto;
    }



    .terms-of-use {
        font-size: 1.2rem;
        margin-bottom: 10px;
    }

    .button-group {
        display: flex;
        gap: 10px; /* Adds space between the buttons */
        margin-top: 20px; /* Optional spacing from the text above */
    }

    .agree-button {
        align-self: flex-end; /* or center, depending on your design */
        padding: 10px 20px;
        border-radius: 10px;
        font-size: 1.2rem;
        cursor: pointer;
        background-color: transparent;
        border: #F2F2F2 solid 1px;
        color: #F2F2F2;
        transition: border 2s ease;
    }

    .agree-button:hover {
        background-color: white;
        color: black;
        transition: background-color 0.6s ease, color 1s;
    }

    .chat-container {
        width: 65vw;
        height: 55vh;
        max-width: 900px;
        display: flex;
        visibility: hidden;
        flex-direction: column;
        background-color: transparent;
        border-radius: 10px;
        overflow: hidden;
        position: absolute;
        border: #F2F2F2 solid 1px;
        transition: border 2s ease;
    }

        .chat-box {
            flex: 1;
            padding: 20px;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .input-area {
            display: flex;
            padding: 10px;
            background-color: transparent;
        }

        #user-input {
            flex: 1;
            padding: 10px;
            font-size: 16px;
            border-bottom: #F2F2F2 solid 1px;
            border-top: transparent;
            border-left: transparent;
            border-right: transparent;
            background-color: transparent;
            color: #F2F2F2;
            transition: border 2s ease;
        }

        #send-btn {
            padding: 10px 20px;
            margin-left: 10px;
            border-radius: 10px;
            font-size: 16px;
            cursor: pointer;
            background-color: transparent;
            border: #F2F2F2 solid 1px;
            color: #F2F2F2;
            transition: border 2s ease;
        }

        #send-btn:hover {
            background-color: white;
            color: black;
            transition: background-color 0.6s ease, color 1s;
        }

        .cedric {
            background-color: transparent;
            align-self: flex-start;
            padding: 10px;
            border-radius: 10px;
            max-width: 450px;
        }

        .link {
            color: skyblue;
        }

        .concordia {
            background-color: transparent;
            align-self: center;
            padding-left: 40px;
            border-radius: 10px;
            max-width: 800px;
            font-size: 1.8rem;
            color: black;
            animation: fadein 3s both;
        }

        @keyframes fadein {
            from {
                color: transparent;
            }
            to {
                color: black;
            }
        }

        .user {
            background-color: transparent;
            align-self: flex-start;
            padding: 10px;
            border-radius: 10px;
            max-width: 450px;
            overflow-wrap: break-word;
        }

        .message-wrapper {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            max-width: 100%;
        }

        .message-wrapper.right {
            flex-direction: row-reverse;
            align-self: flex-end;
            /* So user avatar is on the right */
        }

        .message-wrapper.left {
            align-self: flex-start;
            /* So user avatar is on the right */
        }

        .avatar {
            width: 10px;
            height: 10px;
            margin-top: 15px;
            border-radius: 50%;
            object-fit: cover;
        }

        .download-button {
            visibility: hidden;
            padding: 10px 20px;
            position: fixed;
            bottom: 20px;
            margin-left: 10px;
            border-radius: 10px;
            font-size: 16px;
            cursor: pointer;
            background-color: transparent;
            border: black solid 1px;
            color: black;
            transition: border 2s ease;
        }

        .download-button:hover {
            background-color: black;
            color: white;
            transition: background-color 0.6s ease, color 1s;
        }

        .replay-button {
            visibility: hidden;
            padding: 10px 20px;
            position: fixed;
            bottom: 20px;
            margin-left: 10px;
            border-radius: 10px;
            font-size: 16px;
            cursor: pointer;
            background-color: transparent;
            border: black solid 1px;
            color: black;
            transition: border 2s ease;
        }

        .replay-button:hover {
            background-color: black;
            color: white;
            transition: background-color 0.6s ease, color 1s;
        }

        .hiddenForm {
            display: none;
            visibility: hidden;
        }
}



