body {
    font-family: Arial, sans-serif;
    margin: 20px;
}

h1, h2 {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
}

.bordered-table th, .bordered-table td {
    border: 1px solid black;
    padding: 8px;
    text-align: center;
}

.calculation-table caption {
    caption-side: bottom;
    text-align: left;
    margin-top: 5px;
    font-size: 0.9em;
    color: red;
}

input[type="number"], input[type="text"] {
    width: 80px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px;
}

input[readonly] {
    background-color: #f2f2f2;
}

.data-input p, .calculation p {
    margin: 10px 0;
}

.multiple-choice, .single-choice {
    margin-bottom: 20px;
}

.multiple-choice label, .single-choice label {
    margin-right: 15px;
}

button {
    padding: 5px 15px;
    border: 1px solid #000;
    background-color: #f0f0f0;
    cursor: pointer;
}

hr {
    margin: 30px 0;
}

sub {
    font-size: smaller;
}

/* Styles for manually drawn formulas */
.formula-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.fraction {
    display: inline-flex;
    flex-direction: column;
    text-align: center;
    vertical-align: middle;
    margin: 0 5px;
}

.numerator {
    border-bottom: 1px solid black;
    padding: 0 5px;
}

.denominator {
    padding: 0 5px;
}
