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

body {
    font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "Google Sans Flex", Roboto, "Inter Variable", "Inter", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    /* font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; */
    background: #ffffff;
    color: #050505;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: 1rem; */
}

#app-container {
    background: #ffffff;
    padding: 10px;
    display: flex;
    flex-direction: column;
    flex: 1; /* Occupies remaining vertical space */
    width: 100%;
    height: 100vh;
    max-width: 600px;
    align-items: center; /* Centers content-container vertically */
    justify-content: center; /* Centers content-container horizontally */
    box-sizing: border-box;
}

#start {
    width: 50%;
    display: flex;
    gap: 20px;
    flex-direction: column;
    text-align: center; /* Centers content-container horizontally */
}

#fatal-error {
    width: 70%;
    display: flex;
    gap: 20px;
    flex-direction: column;
    text-align: center; 
}

#repetition-area {
    /* repetition area */
    flex: 1; /* Occupies remaining vertical space */
    padding: 10px;
    display: flex;
    flex-direction: column;
    width: 100%;
    /* border: 1px solid #ccc; */
    align-items: center; /* Centers content-container vertically */
    /* align-content: center; */
    justify-content: center; 
    /* Centers content-container horizontally */
    margin-bottom: 10px;
    overflow-y: auto;
    gap: 20px;
}

/* #repetition-area > * {
  border-bottom: 1px solid #dcdcdc;
  padding-bottom: 2rem;
} */

 /* Remove line from last item */
/* #repetition-area > *:last-child {
  border-bottom: none;
} */

.repetition {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center; /* Centers content-container vertically */
    justify-content: center; /* Centers content-container horizontally */
}

.received-wrapper, .result-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 20px;
}

.message {
     /* received message */
    /* display: flex; */
    /* width: 100%; */
    width: fit-content;
    color: #000000;
    /* text-align: left; */

    /* padding: 12px 0px; */
    /* justify-content: flex-start; */
}

.message-wrapper {
    /* sent message */
    display: flex;
    /* justify-content: flex-end;  aligns all child elements to the right. */
    flex-direction: row-reverse;  /* appends children from right to left */
    justify-content: flex-start;  /* optional: aligns to the left after reversal */
    align-items: center;
    /* gap: 10px; */
    width: 100%;
}

.received-message-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    gap: 8px;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sent-message {
    max-width: 70%;
    width: fit-content;
    padding: 12px 16px;
    background-color: #b7d7fa;
    color: rgb(0, 0, 0);
    border-radius: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    animation: slideUp 0.1s ease-out;
}

.sent-message.rating {
    text-transform: uppercase;
    font-weight: bold;
    color: black;
}
.sent-message.rating.hard { 
    /* this is duplicated from rating.css */
    background-color: #ff6b6bc3;
}

.sent-message.rating.okay { 
    /* this is duplicated from rating.css */
    background-color: #d1ea6ea5;
}

.sent-message.rating.easy {
    background-color: #5cb7fc;
}


.custom-button {
    width: 44px;
    height: 44px;
    background-color: transparent;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6b6b6b;
}

.ellipsis-button {
    width: 44px;
    height: 44px;
    background-color: transparent;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6b6b6b;
}


.action-bar {
    /* display: box; */
    /* gap: 10px; */
    /* position: relative; */
    display: flex;
    padding: 10px;
    width: 100%;
    /* justify-content: space-between; */
    align-items: center;   
    /* margin-bottom: 10px;      */
    /* display: flex; */ 
    /* height: 50%; */
}
