/* Simple, accessible quiz styles */
.quiz { border: 1px solid var(--md-default-fg-color--lightest, #e5e7eb); border-radius: 8px; padding: 1rem; margin-top: 1.25rem; }
.quiz h3 { margin-top: 0; }
.quiz ul, .quiz ol { list-style-type: none; }
.quiz .q { margin: 0.75rem 0; }
.quiz .options { list-style: none; padding-left: 0; margin: 0.5rem 0; }
.quiz .options li { margin: 0.35rem 0; }
.quiz .feedback { margin-top: 0.25rem; font-size: 0.95em; }

/* Correct/wrong indicators with better contrast for dark mode */
.quiz .is-correct { color: #10b981; font-weight: 500; }
.quiz .is-wrong { color: #ef4444; font-weight: 500; }
[data-md-color-scheme="slate"] .quiz .is-correct { color: #34d399; }
[data-md-color-scheme="slate"] .quiz .is-wrong { color: #f87171; }

/* Add icons for non-color feedback */
.quiz .is-correct::before { content: "✓ "; font-weight: bold; }
.quiz .is-wrong::before { content: "✗ "; font-weight: bold; }

.quiz .quiz-actions { margin-top: 0.75rem; display: flex; gap: .5rem; align-items: center; }
.quiz .quiz-score { font-weight: 600; padding: 0.25rem 0.75rem; background: var(--md-default-fg-color--lightest); border-radius: 12px; font-variant-numeric: tabular-nums; }
.quiz .option-correct > label { outline: 2px solid rgba(16,185,129,.4); border-radius: 6px; padding: 2px 4px; background: rgba(16,185,129,.08); }
.quiz .option-wrong > label { outline: 2px solid rgba(239,68,68,.4); border-radius: 6px; padding: 2px 4px; background: rgba(239,68,68,.08); }
.quiz details.answer { margin-top: .5rem; }
.quiz details.answer summary { cursor: pointer; }
.quiz .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 1px, 1px); white-space: nowrap; border: 0; }

/* Markdown-based quiz support (admonition.quiz) */
.admonition.quiz { border-left: 4px solid var(--md-accent-fg-color); }
.admonition.quiz .admonition-title { display: flex; justify-content: space-between; align-items: center; }
.admonition.quiz .q-title {
	font-size: 1.05rem;
	font-weight: 600;
	margin-bottom: .5rem;
	color: var(--md-default-fg-color);
}
.admonition.quiz ul li { 
    margin: .45rem 0; 
    cursor: pointer;
    padding: .1rem;
	border-radius: 6px;
}

/* Enhanced option states */
.admonition.quiz ul > li { border: solid 0.1rem transparent; }
.admonition.quiz ul > li:hover { 
    background-color: var(--md-default-fg-color--lightest); 
    border: solid 0.1rem var(--md-default-fg-color--lighter);
}
.admonition.quiz ul > li:focus { outline: 2px solid var(--md-accent-fg-color); outline-offset: 2px; }
.admonition.quiz ul > li[role="radio"],
.admonition.quiz ul > li[role="checkbox"] { padding: 10px 14px; border-radius: 8px; min-height: 44px; }

/* Improved selected state visibility */
.admonition.quiz ul li.selected { 
    background: rgba(99,102,241,.15); 
    border: 2px solid rgba(99,102,241,.4);
    box-shadow: 0 0 0 3px rgba(99,102,241,.1);
}

/* Better feedback with icons and contrast */
.admonition.quiz .is-correct { color: #10b981; font-weight: 500; }
.admonition.quiz .is-wrong { color: #ef4444; font-weight: 500; }
[data-md-color-scheme="slate"] .admonition.quiz .is-correct { color: #34d399; }
[data-md-color-scheme="slate"] .admonition.quiz .is-wrong { color: #f87171; }

.admonition.quiz .is-correct::before { content: "✓ "; font-weight: bold; }
.admonition.quiz .is-wrong::before { content: "✗ "; font-weight: bold; }

/* Enhanced correct/wrong option highlighting */
.admonition.quiz .option-correct { 
    outline: 2px solid rgba(16,185,129,.4); 
    border-radius: 6px; 
    background: rgba(16,185,129,.08);
}
.admonition.quiz .option-wrong { 
    outline: 2px solid rgba(239,68,68,.4); 
    border-radius: 6px; 
    background: rgba(239,68,68,.08);
}

.admonition.quiz .quiz-actions { margin-top: 0.75rem; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.admonition.quiz .quiz-score { 
    font-weight: 600; 
    padding: 0.25rem 0.75rem; 
    background: var(--md-default-fg-color--lightest); 
    border-radius: 12px; 
    font-variant-numeric: tabular-nums;
}

/* Button improvements */
.quiz-actions button[data-quiz-action="grade"] {
    background: var(--md-primary-fg-color);
    color: var(--md-primary-bg-color);
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-weight: 500;
    border: none;
    cursor: pointer;
}

.quiz-actions button[data-quiz-action="reset"] {
    background: transparent;
    border: 1px solid var(--md-default-fg-color--lighter);
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    color: var(--md-default-fg-color);
}

.quiz-actions button:hover {
    opacity: 0.9;
}

/* Mobile touch targets */
@media (max-width: 768px) {
    .admonition.quiz ul > li[role="radio"],
    .admonition.quiz ul > li[role="checkbox"] {
        padding: 12px 16px;
        min-height: 44px;
    }
}

/* Question separators for better visual hierarchy */
.admonition.quiz ol > li[data-question] {
    padding: 1rem 0;
    border-bottom: 1px dashed var(--md-default-fg-color--lightest);
}

.admonition.quiz ol > li[data-question]:last-child {
    border-bottom: none;
}
