body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

.navbar-brand {
    font-size: 1.3rem;
}

.step-content {
    font-size: 1.05rem;
    line-height: 1.7;
}

.quiz-option {
    cursor: pointer;
    transition: background-color 0.15s;
}

.quiz-option:hover {
    background-color: #f0f4ff;
}

.quiz-option input:checked + label {
    font-weight: 600;
}

#timer-badge {
    font-size: 0.95rem;
}

@media (max-width: 576px) {
    .navbar-brand {
        font-size: 1.1rem;
    }

    .display-3 {
        font-size: 2.5rem;
    }

    .card-body {
        padding: 1rem;
    }

    .table-responsive {
        font-size: 0.85rem;
    }
}
