* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Montserrat';
}

a, button {
    cursor: pointer;
}

body {
    overflow-x: hidden;
}

body.light {
    --bg: #e0e0f2;
    --white: #f7f7ff;
    --card: #f7f7ff;
    --card-hover: #D4D4EC;
    --text: #171d1c;
    --text-light: #4f5d5b;
    --separator: #171d1c;
    --border: #D3D8E4;
    --accent: #C03D1F;
    --accent-hover: #E03131;
    --good: green;
    --good-bg: lightgreen;
    --bad: #D64545;
    --bad-bg: #FCEBEB;
    --bad-text: #A33232;
}

body.dark {
    --bg: #0d110f;
    --white: #f7f7ff;
    --card: #171d1c;
    --card-hover: #1A211E;
    --text: #f7f7ff;
    --text-light: #f7f7ff;
    --separator: #f7f7ff;
    --border: #f7f7ff;
    --accent: #C03D1F;
    --accent-hover: #E03131;
    --good: green;
    --good-bg: lightgreen;
    --bad: #D64545;
    --bad-bg: #FCEBEB;
    --bad-text: #A33232;
}

h1 {
    font-size: 55px;
}

h2 {
    font-size: 32px;
}

h3 {
    font-size: 24px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 16px;
}

h6 {
    font-size: 14px;
}

#global-message {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    opacity: 0;
    
    z-index: 1000;

    max-width: 80%;
    width: fit-content;

    text-align: center;
    border-radius: 25px;
    padding: 10px 20px;
    color: white;

    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

#global-message.success {
    background-color: green;
}

#global-message.error {
    background-color: red;
}

#global-message.animate {
    animation: showMessage 4s ease forwards;
}

@keyframes showMessage {
    0% {
        transform: translateX(-50%) translateY(-100%);
        opacity: 0;
    }

    10% {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
    }

    90% {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateX(-50%) translateY(-100%);
        opacity: 0;
    }
}

::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #e0e0e0;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #888;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}