/* General styles for the body */
body {
    font-family: Arial, sans-serif; /* Default sans-serif font */
    margin: 20px;
    line-height: 1.6;
    background-color: #f9f9f9; /* Light background for better contrast */
    color: #333; /* Darker text for readability */
    text-align: left; /* Ensure all text is left-justified */
}

/* Header styles */
h1 {
    font-weight: bold;
    font-size: 2em;
    margin-bottom: 10px;
    text-align: left; /* Left-justify the title */
}

/* Paragraph styles */
p {
    font-size: 1.1em;
    margin-bottom: 15px;
    text-align: left; /* Left-justify paragraphs */
}

/* Input and label styles */
label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
    text-align: left; /* Left-justify labels */
}

/* Practice word styles */
h2#text {
    font-family: "Times New Roman", Times, serif; /* Times font for practice words */
    font-size: 2em;
    margin: 20px 0;
    color: #444; /* Slightly darker text for contrast */
    text-align: left; /* Left-justify practice words */
}

/* Word list styles */
ol#wordList {
    font-family: Arial, sans-serif; /* Sans-serif for the word list */
    font-size: 1em;
    margin-top: 20px;
    padding-left: 20px;
    text-align: left; /* Left-justify the word list */
}

/* Style the numbers (markers) of the ordered list */
ol#wordList li::marker {
    color: lightgray; /* Set the color of the list numbers to light gray */
}

/* Style the content of the list items */
ol#wordList li {
    font-weight: bold; /* Make the word/number itself bold */
}

/* Status message styles */
p#status {
    font-weight: bold;
    margin-top: 20px;
    font-size: 1.2em;
    color: lightgrey; /* Set the text color to gray */
    text-align: left; /* Ensure the text is left-aligned */
}

/* Align input fields and labels on the same line */
div {
    display: flex;
    align-items: center;
    margin-bottom: 4px; /* Reduce spacing between rows (default was likely larger) */
}

label {
    margin-left: 10px; /* Add spacing between the input/select and the label */
}

#wordCountInput{
    width: 38px; /* Set the same width for both fields */
}

#delayInput {
    width: 45px; /* Set the same width for both fields */
}

/* Button container styles */
div.button-container {
    display: flex; /* Use flexbox for alignment */
    justify-content: space-between; /* Space buttons evenly */
    align-items: center; /* Align buttons vertically */
    gap: 10px; /* Add spacing between buttons */
    width: 100%; /* Ensure the container spans the full width */
    max-width: 400px; /* Limit the maximum width of the button container */
    margin: 20px 0 0;
    box-sizing: border-box; /* Include padding in width calculation */
}

button {
    flex: 1; /* Make buttons take up equal space */
    padding: 12px 20px; /* Adjust padding for better size */
    font-size: 1em; /* Set a consistent font size */
    border-radius: 5px; /* Keep rounded corners */
    background-color: #007bff; /* Default blue background */
    color: white; /* White text */
    border: none; /* Remove border */
    cursor: pointer; /* Pointer cursor on hover */
    transition: background-color 0.3s ease, opacity 0.3s ease; /* Smooth hover effect */
    box-sizing: border-box; /* Include padding in width calculation */
}

button:hover:not(:disabled) {
    opacity: 0.85; /* Slightly dim on hover */
}

button:disabled {
    background-color: #cccccc; /* Gray background when disabled */
    cursor: not-allowed; /* Show not-allowed cursor */
    opacity: 0.6; /* Reduce opacity */
}

/* Button container for alignment */
button + button {
    margin-left: 4%; /* Add spacing between buttons */
}

@media (max-width: 768px) {
    div.button-container {
        display: flex;
        justify-content: space-between; /* Ensure buttons are evenly spaced */
        flex-wrap: nowrap; /* Prevent buttons from wrapping to the next line */
    }
}