.badge-reprovado { background: rgba(239,68,68,0.15); color: var(--red); }
.badge-erro { background: rgba(249,115,22,0.15); color: #f97316; }
.badge-timeout { background: rgba(148,163,184,0.15); color: var(--muted); }

.challenge-statement { white-space: pre-wrap; line-height: 1.5; margin: 10px 0 18px; }
.challenge-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }

.editor-wrap { border: 1px solid var(--card-border); border-radius: 10px; overflow: hidden; margin: 14px 0; }
.editor-wrap .CodeMirror { height: 320px; font-size: 0.92rem; }

.test-results { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 8px; }
.test-result { border: 1px solid var(--card-border); border-radius: 8px; padding: 10px 12px; font-size: 0.88rem; }
.test-result.passed { border-color: var(--green); }
.test-result.failed { border-color: var(--red); }
.test-result-head { display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
.test-result-io { margin-top: 6px; white-space: pre-wrap; font-family: ui-monospace, monospace; font-size: 0.82rem; color: var(--muted); }

.topic-heading { text-transform: capitalize; }
