
 .maj_control-panel { background-color: #f8f9fa; border: 1px solid #ddd; padding: 10px 15px; border-radius: 8px; position: sticky; top: 0; z-index: 1000; margin-bottom: 10px; }
 .maj_control-panel button { margin-top: 5px; margin-bottom: 5px;}
 #maj_focusWindow { position: sticky; top: 60px; /* Adjust based on control panel height */ z-index: 999; background-color: #e9ecef; border: 1px solid #ced4da; border-radius: 8px; padding: 15px; margin-bottom: 20px; min-height: 50px; font-size: 1.1em; line-height: 1.6; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
 #maj_focusWindow:empty::before { content: "Spoken text appears here..."; color: #6c757d; font-style: italic; }
 #maj_textContent { background-color: #fdfdfd; border: 1px solid #eee; border-radius: 8px; padding: 25px; direction: rtl; margin-top: 20px; }
 span[lang="ar-SA"] { direction: rtl; text-align: right; font-family: 'Tahoma', sans-serif; display: inline-block; }
 .maj_explain { text-decoration: underline dotted #0056b3; font-weight: 600; color: #0056b3; background-color: #e6f0ff; }
 .maj_quiz-trigger, .maj_multi-quiz-trigger { display: inline-block; width: 0; height: 0; }
 .maj_voice-selection { display: flex; gap: 20px; background: #e9ecef; padding: 15px; border-radius: 8px; margin-bottom: 20px; flex-wrap: wrap; }
 .maj_voice-group { flex: 1; min-width: 250px; }
 .maj_voice-group label { font-weight: 600; display: block; margin-bottom: 5px; font-size: 0.9em; }
 .maj_voice-group select { width: 100%; padding: 8px; border-radius: 4px; border: 1px solid #ccc; font-size: 0.9em; }
 button { font-size: 1em; padding: 10px 15px; border: none; border-radius: 5px; color: white; cursor: pointer; margin-top: 10px; margin-right: 5px; }
 .maj_speakButton-js { background-color: #007bff; }
 .maj_stopButton-js { background-color: #dc3545; }
 .maj_backwardButton-js { background-color: #17a2b8; }
 .maj_forwardButton-js { background-color: #17a2b8; }
 #maj_notePopup { display: none; opacity: 0; position: fixed; bottom: 80px; left: 50%; background-color: #0056b3; color: white; padding: 10px 15px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); z-index: 2001; width: auto; max-width: 80%; text-align: center; font-size: 1.1em; transition: opacity 0.3s, transform 0.2s ease-out; padding-right: 35px; padding-left: 15px; }
 #maj_notePopupText { display: inline-block; max-width: 100%; }
 #maj_continuePopup { display: none; position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: 2002; box-shadow: 0 4px 12px rgba(0,0,0,0.25); border-radius: 8px; }
 #maj_continuePopupButton { background-color: #28a745; color: white; padding: 12px 25px; font-size: 1.1em; border: none; border-radius: 8px; cursor: pointer; margin: 0; }
 .maj_close-btn { position: absolute; font-family: Arial, sans-serif; font-weight: bold; cursor: pointer; z-index: 1; }
 #maj_notePopup .maj_close-btn { top: 50%; right: 8px; left: auto; transform: translateY(-50%); width: 20px; height: 20px; line-height: 20px; text-align: center; background: rgba(0,0,0,0.3); color: #fff; border-radius: 50%; font-size: 1.1em; }
 .maj_modal-content .maj_close-btn { top: 10px; right: 15px; left: auto; font-size: 2em; color: #aaa; }
 .maj_modal-content .maj_close-btn:hover { color: #000; }
 #maj_textContent[style*="direction: rtl"] #maj_notePopup { padding-left: 35px; padding-right: 15px; }
 #maj_textContent[style*="direction: rtl"] #maj_notePopup .maj_close-btn { right: auto; left: 8px; }
 #maj_textContent[style*="direction: rtl"] #maj_quizModal .maj_modal-content .maj_close-btn { right: auto; left: 15px; }
 .maj_modal-overlay { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.5); align-items: center; justify-content: center; }
 .maj_modal-content { background-color: #fefefe; margin: auto; padding: 20px; border: 1px solid #888; width: 90%; max-width: 600px; border-radius: 8px; position: relative; }
 #maj_quizQuestion { font-size: 1.2em; font-weight: 600; margin-bottom: 15px; }
 #maj_quizChoices { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
 .maj_quiz-choice-label { display: block; padding: 10px; background: #f8f9fa; border: 1px solid #ddd; border-radius: 5px; cursor: pointer; }
 .maj_quiz-choice-label:hover { background: #e9ecef; }
 .maj_quiz-choice-label input[type="radio"] { margin-right: 10px; }
 .maj_feedback-box { margin-top: 15px; font-weight: 600; padding: 10px; border-radius: 5px; }
 .maj_feedback-box h2 { margin-top: 0; font-size: 1.3em; }
 .maj_feedback-box p { margin-bottom: 0; font-size: 1.1em; font-weight: normal; }
 .maj_feedback-box.maj_correct { background-color: #eafaf1; color: #28a745; }
 .maj_feedback-box.maj_incorrect { background-color: #fbebee; color: #dc3545; }
 #maj_quizSubmitButton { background-color: #007bff; }
 #maj_quizSkipButton { background-color: #fd7e14; }
 #maj_finalScoreCloseButton { background-color: #007bff; }
 .maj_skip-toggles { margin-top: 15px; padding-top: 15px; border-top: 1px solid #ddd; display: flex; flex-wrap: wrap; gap: 10px; /* Reduced gap */ font-size: 0.9em; }
 .maj_skip-toggles div { display: flex; align-items: center; gap: 5px; } /* Align checkbox and label */
 .maj_skip-toggles label { font-weight: 500; cursor: pointer; margin: 0; }
 /* Subtle highlight in main editor */
 #maj_textContent .maj_speaking { background-color: #fff9e6; border-radius: 4px; transition: background-color 0.1s; }