/* --- Main Container & Anti-Copy --- */
.rh-quiz-container-wrapper.rh-no-select {
    -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
}
.rh-quiz-container {
    max-width: 750px; margin: 2em auto; border: 1px solid #e0e0e0;
    border-radius: 8px; padding: 25px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); background: #fff;
}

/* --- Start Screen --- */
.rh-quiz-start-screen { text-align: center; padding: 20px 0; }
.rh-start-btn {
    padding: 15px 40px; font-size: 1.2em; font-weight: bold; color: #fff;
    background-color: #0073aa; border: none; border-radius: 5px; cursor: pointer;
    transition: background-color 0.2s; text-transform: uppercase;
}
.rh-start-btn:hover { background-color: #005a87; }

/* --- Info Box --- */
.rh-info-box { border: 1px solid #ddd; border-radius: 5px; overflow: hidden; }
.rh-info-title { padding: 20px; border-bottom: 1px solid #eee; font-size: 20px; font-weight: 600; }
.rh-info-list { padding: 20px; }
.rh-info-list .info { margin-bottom: 10px; font-size: 17px; line-height: 1.6; }
.rh-buttons { padding: 20px; text-align: right; border-top: 1px solid #eee; }
.rh-buttons button { margin-left: 10px; padding: 10px 20px; font-size: 16px; font-weight: 500; cursor: pointer; border-radius: 5px; text-transform: uppercase; }
.rh-buttons .rh-continue-btn { color: #fff; background: #0073aa; border: 1px solid #0073aa; }
.rh-buttons .rh-quit-btn { color: #0073aa; background: #fff; border: 1px solid #0073aa; }

/* --- Main Quiz Content --- */
.rh-quiz-header {
    background-color: #f7f7f7; padding: 20px; border-radius: 5px;
    margin-bottom: 25px; border: 1px solid #ededed; line-height: 1.7;
    font-size: 1.1em; white-space: pre-wrap;
}
.rh-progress-area { margin-bottom: 25px; }
.rh-progress-text { text-align: center; display: block; margin-bottom: 10px; font-size: 1em; color: #555; font-weight: 500; }
.rh-progress-bar { width: 100%; background-color: #e9e9e9; border-radius: 5px; height: 10px; overflow: hidden; }
.rh-progress-bar-inner { height: 100%; width: 0%; background-color: #0073aa; border-radius: 5px; transition: width 0.4s ease-in-out; }
.rh-question-title { margin-bottom: 20px; font-size: 1.25em; line-height: 1.5; color: #333; }
.rh-options-list { list-style: none; padding: 0; margin: 0; }
.rh-options-list li { position: relative; padding: 15px 15px 15px 45px; margin-bottom: 12px; border: 2px solid #ddd; border-radius: 5px; cursor: pointer; transition: all 0.2s; font-size: 1.05em; }
.rh-options-list li:hover { background-color: #f0f8ff; border-color: #4a90e2; }
.rh-options-list.rh-disabled li:not(.rh-correct):not(.rh-incorrect) { opacity: 0.7; }
.rh-options-list.rh-disabled li { pointer-events: none; }
.rh-options-list li::before { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); font-weight: bold; font-size: 1.2em; }
.rh-options-list li.rh-correct { background-color: #eaf6ec; border-color: #28a745; color: #155724; font-weight: 500; }
.rh-options-list li.rh-correct::before { content: '✔'; color: #28a745; }
.rh-options-list li.rh-incorrect { background-color: #fdeaea; border-color: #dc3545; color: #721c24; }
.rh-options-list li.rh-incorrect::before { content: '✖'; color: #dc3545; }
.rh-quiz-footer { margin-top: 25px; text-align: right; }
.rh-next-btn { display: inline-block; padding: 12px 30px; background-color: #0073aa; color: #fff; border: none; border-radius: 5px; font-size: 1.1em; font-weight: bold; cursor: pointer; transition: background-color 0.2s; text-transform: uppercase; }
.rh-next-btn:hover { background-color: #005a87; }

/* --- Results Screen --- */
.rh-quiz-results { text-align: center; padding: 40px 20px; }
.rh-quiz-results h2 { font-size: 1.8em; margin-bottom: 15px; }
.rh-final-score-text { font-size: 1.2em; color: #333; }