/* ========== 다크모드 ========== */
html.dark-mode,
html.dark-mode body {
    color-scheme: dark;
    background-color: #1a1a1a !important;
}
.dark-mode main {
    background-color: #1a1a1a !important;
}
.dark-mode #header {
    background-color: rgba(30, 30, 30, 0.95);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
}
.dark-mode a {
    color: #8cb4ff !important;
}
/* 자비스트 로고 - 다크모드에서 밝게 표시 */
.dark-mode .main-logo,
.dark-mode #logo_img img,
.dark-mode #logo_img .responsive-image {
    filter: brightness(0) invert(1);
}
/* 뒤로가기 아이콘 (chevron-left.svg) - 다크모드에서 밝게 */
.dark-mode img[src*="chevron-left.svg"] {
    filter: brightness(0) invert(1);
}
/* 검정/어두운 이모티콘 - 다크모드에서 밝게 */
.dark-mode .icon-pencil::before,
.dark-mode .icon-trophy::before,
.dark-mode .icon-book::before,
.dark-mode .icon-question::before,
.dark-mode .icon-user::before,
.dark-mode .icon-dashboard::before,
.dark-mode .icon-point::before,
.dark-mode .icon-edit::before,
.dark-mode .icon-logout::before,
.dark-mode .icon-login::before,
.dark-mode .icon-register::before {
    filter: invert(1);
}
/* 필기/실기 메뉴 이모지 아이콘 - 다크모드에서 밝게 */
.dark-mode .icon-flashcard::before,
.dark-mode .icon-past-exam::before,
.dark-mode .icon-mock-exam::before,
.dark-mode .icon-ox-quiz::before {
    filter: invert(1);
}
/* 퀵메뉴 SVG 아이콘(메뉴/홈/마이/링크/격언) - 다크모드에서 밝게 */
.dark-mode .icon-hamburger::before,
.dark-mode .icon-home::before,
.dark-mode .icon-my::before,
.dark-mode .icon-links::before,
.dark-mode .icon-donation::before {
    filter: brightness(0) invert(1);
}
.dark-mode .no_data {
    border-bottom-color: #333;
    color: #999;
}
#loadings.dark-mode,
.dark-mode #loadings {
    background-color: #1a1a1a;
}
/* 외부 링크 이동 확인 커스텀 모달 - 다크모드 (모든 상황: 인라인 스타일·위치 무관 적용) */
html.dark-mode #externalLinkConfirmModal {
    background: rgba(0, 0, 0, 0.75) !important;
}
html.dark-mode .external-link-confirm-box {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
html.dark-mode .external-link-confirm-msg {
    color: #e0e0e0 !important;
}
html.dark-mode .external-link-confirm-cancel {
    background: #252525 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
html.dark-mode .external-link-confirm-cancel:hover {
    background: #333 !important;
    color: #fff !important;
}
html.dark-mode .external-link-confirm-ok {
    background: #444 !important;
    color: #fff !important;
    border: none !important;
}
html.dark-mode .external-link-confirm-ok:hover {
    background: #555 !important;
}
/* 플로팅 퀵메뉴 - 다크모드 */
.dark-mode .floating-quick-menu {
    background: rgba(30, 30, 30, 0.95);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .quick-menu-item.active {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}
.dark-mode .quick-menu-label {
    color: #b0b0b0;
}
.dark-mode .quick-menu-item.active .quick-menu-label {
    color: #fff;
}
/* 사용자 메뉴 드롭다운 - 다크모드 */
.dark-mode .user-menu-dropdown {
    background: #2d2d2d;
    box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.4);
}
.dark-mode .user-menu-header {
    background: #252525;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}
.dark-mode .user-menu-item {
    color: #e0e0e0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.dark-mode .user-menu-item:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #a0b4ff;
}
.dark-mode .user-menu-item.logout:hover {
    background: rgba(231, 76, 60, 0.2);
    color: #ff6b6b;
}
.dark-mode .user-name,
.dark-mode .user-level {
    color: #e0e0e0;
}
/* 모달 - 다크모드 */
.dark-mode .modal-overlay {
    background: rgba(0, 0, 0, 0.75);
}
.dark-mode .modal-content {
    background: #2d2d2d;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}
.dark-mode .modal-header {
    background: #252525;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}
.dark-mode .modal-header h3 {
    color: #e0e0e0;
}
.dark-mode .modal-close {
    color: #b0b0b0;
}
.dark-mode .modal-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}
/* 경고/알림/확인 팝업(alert, rb_confirm) - 다크모드 */
.dark-mode .rb-custom-alert-popup-bg {
    background: rgba(0, 0, 0, 0.7) !important;
}
.dark-mode .rb-custom-alert-popup {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
}
.dark-mode .rb-custom-alert-popup .rb-msg {
    color: #e0e0e0 !important;
}
.dark-mode .rb-custom-alert-popup svg {
    opacity: 0.5 !important;
    filter: brightness(0) invert(1);
}
.dark-mode .rb-custom-alert-popup .rb-alert-btn {
    background: #404040 !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb-custom-alert-popup .rb-alert-btn.rb-btn-ok {
    background: #667eea !important;
    color: #fff !important;
}
.dark-mode .rb-custom-alert-popup .rb-alert-btn:hover {
    background: #505050 !important;
    color: #fff !important;
}
.dark-mode .rb-custom-alert-popup .rb-alert-btn.rb-btn-ok:hover {
    background: #5a6fd6 !important;
    color: #fff !important;
}
/* 링크 아이템 - 다크모드 */
.dark-mode .link-item {
    background: #252525;
    color: #e0e0e0;
    border: 2px solid transparent;
}
.dark-mode .link-item:hover {
    background: #333;
    border-color: #667eea;
}
.dark-mode .link-title {
    color: #e0e0e0;
}
.dark-mode .link-desc {
    color: #b0b0b0;
}
.dark-mode .link-arrow {
    color: #b0b0b0;
}
.dark-mode .proverb-text {
    color: #e0e0e0 !important;
}
/* ----- 다크모드: 미니홈 (rb/home.php, .my_page) ----- */
.dark-mode .my_page {
    background: #1a1a1a !important;
}
.dark-mode .my_page .rb_prof .rb_prof_info_txt,
.dark-mode .my_page .rb_prof .rb_prof_info_nick span {
    color: #b0b0b0 !important;
}
.dark-mode .my_page .rb_prof .rb_prof_info_nick {
    color: #e0e0e0 !important;
}
.dark-mode .my_page #bo_v_share .copy_urls {
    background: transparent !important;
}
.dark-mode .my_page .rb_prof .rb_prof_btn .fl_btns {
    background: #404040 !important;
    color: #fff !important;
}
.dark-mode .my_page .rb_prof .rb_prof_btn .fl_btns.fl_btns_txt,
.dark-mode .my_page #bo_v_share .copy_urls a.fl_btns.fl_btns_txt {
    background: #404040 !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .my_page #bo_v_share .copy_urls a.fl_btns.fl_btns_txt:hover {
    background: #505050 !important;
    color: #fff !important;
}
.dark-mode .my_page .rb_prof_tab #bo_cate a {
    color: #b0b0b0 !important;
}
.dark-mode .my_page .rb_prof_tab #bo_cate #bo_cate_on {
    color: #667eea !important;
}
.dark-mode .my_page .rb_prof_tab #bo_cate #bo_cate_ul:before {
    background-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .my_page .rb_prof_tab .cont_info_wrap {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .my_page .rb_prof_tab .cont_info_wrap_l dd:nth-child(1),
.dark-mode .my_page .rb_prof_tab .cont_info_wrap_r dd:nth-child(1) {
    color: #b0b0b0 !important;
}
.dark-mode .my_page .rb_prof_tab .cont_info_wrap_l dd:nth-child(2),
.dark-mode .my_page .rb_prof_tab .cont_info_wrap_r dd:nth-child(2) {
    color: #e0e0e0 !important;
}
.dark-mode .my_page .rb_prof_tab .cont_info_wrap_l a,
.dark-mode .my_page .rb_prof_tab .cont_info_wrap_r a {
    color: #8ab4f8 !important;
}
.dark-mode .my_page .bbs_main_wrap_thumb_con dd {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.dark-mode .my_page .bbs_main_wrap_thumb_con .bbs_main_wrap_con_subj a,
.dark-mode .my_page .bbs_main_wrap_thumb_con .bbs_main_wrap_con_subj,
.dark-mode .my_page .bbs_main_wrap_thumb_con .bbs_main_wrap_con_subj span {
    color: #e0e0e0 !important;
}
.dark-mode .my_page .bbs_main_wrap_thumb_con .bbs_main_wrap_con_cont,
.dark-mode .my_page .bbs_main_wrap_thumb_con .bbs_main_wrap_con_cont a {
    color: #b0b0b0 !important;
}
.dark-mode .my_page .bbs_main_wrap_thumb_con .bbs_main_wrap_con_info,
.dark-mode .my_page .bbs_main_wrap_thumb_con .prof_tiny_name {
    color: #b0b0b0 !important;
}
.dark-mode .my_page .bbs_main_wrap_thumb_con dd.no_data {
    color: #b0b0b0 !important;
}
.dark-mode .my_page .rb_prof_tab .cont_info_wrap_mmt h2 {
    color: #e0e0e0 !important;
}
.dark-mode .my_page .rb_prof_r_box {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .my_page .btn_delete_comment {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .my_page .rb_prof #prof_ch_btn svg path {
    fill: #b0b0b0;
}
.dark-mode .my_page .rb_prof .fl_btns img {
    filter: brightness(0) invert(1);
}
.dark-mode .kakao-category-item,
.dark-mode .youtube-category-item,
.dark-mode .instagram-category-item {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}
.dark-mode .donation-message h4 {
    color: #e0e0e0;
}
.dark-mode .donation-message p {
    color: #b0b0b0;
}
.dark-mode .contents_wrap {
    background: #1a1a1a;
}

/* ----- 다크모드: 필기/실기 카드 페이지 (OX, 개념, 구술, 기출, 단답 등) ----- */
.dark-mode .written-header {
    background: #1a1a1a !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.dark-mode .written-main-container {
    background: #1a1a1a !important;
}
.dark-mode .written-menu-item {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
.dark-mode .written-menu-item:active {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}
.dark-mode .written-menu-title {
    color: #e0e0e0 !important;
}
.dark-mode .written-menu-desc {
    color: #b0b0b0 !important;
}
.dark-mode .written-menu-icon .card-count {
    background-color: #444 !important;
    color: #fff !important;
}
.dark-mode .btn-card-view,
.dark-mode .btn-bookmark {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .btn-card-view:active,
.dark-mode .btn-bookmark:active {
    background-color: #333 !important;
}
/* 카드 앞/뒤 (구술, 개념, OX, 기출, 단답 공통) - 경계선 뚜렷하게 */
.dark-mode .card-front,
.dark-mode .card-back {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
.dark-mode #oralCardsList .card-front,
.dark-mode #oralCardsList .card-back {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
}
.dark-mode .card-front:hover,
.dark-mode .card-back:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}
.dark-mode .card-content {
    color: #e0e0e0;
}
.dark-mode .card-content #cardContent,
.dark-mode .card-content .rb_editor_data {
    color: #e0e0e0 !important;
}
.dark-mode .card-content #cardContent b,
.dark-mode .card-content .rb_editor_data b,
.dark-mode .card-content #cardContent strong,
.dark-mode .card-content .rb_editor_data strong {
    color: #e0e0e0 !important;
}
.dark-mode .card-content #cardContent div,
.dark-mode .card-content .rb_editor_data div {
    color: inherit;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.dark-mode .card-content::-webkit-scrollbar-track {
    background: #252525 !important;
    border-radius: 3px;
}
.dark-mode .card-content::-webkit-scrollbar-thumb {
    background: #555 !important;
    border-radius: 3px;
}
.dark-mode .card-content::-webkit-scrollbar-thumb:hover {
    background: #666 !important;
}
.dark-mode .card-header {
    color: #e0e0e0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .card-header-part,
.dark-mode .card-header-info,
.dark-mode .card-counter,
.dark-mode .card-answer-stats {
    color: #b0b0b0 !important;
}
.dark-mode .card-controls button {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .card-controls button:hover,
.dark-mode .card-controls button:active {
    background: #333 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}
/* 기출 카드 내 문단/정답 영역 (필기개념·구술 공통) */
.dark-mode .card-front #cardQuestion,
.dark-mode #cardAnswerSection {
    color: #d0d0d0 !important;
}
/* 구술/실기 카드 질문·정답 영역 (.question-content, .answer-content - 필기개념카드와 동일) */
.dark-mode .question-content,
.dark-mode .answer-content {
    color: #e0e0e0 !important;
}
.dark-mode .question-content .rb_editor_data,
.dark-mode .answer-content .rb_editor_data {
    color: #e0e0e0 !important;
}
.dark-mode .empty-state {
    color: #b0b0b0 !important;
}
.dark-mode .empty-state h3 {
    color: #e0e0e0 !important;
}
.dark-mode .card-progress {
    color: #b0b0b0 !important;
}
/* 개념카드( word_exam ) 모달 */
.dark-mode .modal {
    background-color: rgba(0, 0, 0, 0.8) !important;
}
.dark-mode .modal .modal-content {
    background-color: #2d2d2d !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
.dark-mode .modal .modal-header {
    background-color: #252525 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .modal .modal-header h2 {
    color: #e0e0e0 !important;
}
.dark-mode .modal .modal-body {
    background: #252525 !important;
}
.dark-mode .part-navigation-btn {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.dark-mode .part-navigation-btn:hover {
    background: #333 !important;
    color: #fff !important;
}
.dark-mode .modal .close {
    color: #b0b0b0 !important;
}
.dark-mode .modal .close:hover {
    color: #fff !important;
}
/* 기출 연도 선택 (past_exam) */
.dark-mode #yearSelect {
    color: #e0e0e0 !important;
    background-color: #2d2d2d !important;
}
.dark-mode #yearSelect option {
    color: #e0e0e0 !important;
    background-color: #2d2d2d !important;
}
.dark-mode #yearSelect:focus {
    border-color: rgba(255, 255, 255, 0.3) !important;
}
/* OX 버튼 등 카드 내 액션 버튼 */
.dark-mode .card-controls-row button,
.dark-mode .ox-btn,
.dark-mode .control-btn {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .card-controls-row button:hover,
.dark-mode .ox-btn:hover {
    background: #333 !important;
    color: #fff !important;
}
/* OX퀴즈 O/X 버튼, 책갈피 버튼 */
.dark-mode #selectO,
.dark-mode #selectX {
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #b0b0b0 !important;
    background: #2d2d2d !important;
}
.dark-mode #selectO.selected,
.dark-mode #selectX.selected {
    color: #e0e0e0 !important;
    border-color: #667eea !important;
}
.dark-mode #addBookmark,
.dark-mode #removeBookmark {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode #addBookmark:hover,
.dark-mode #addBookmark:active,
.dark-mode #removeBookmark:hover,
.dark-mode #removeBookmark:active {
    background: #333 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}
/* 카드 뷰어 컨테이너 (필기개념·구술·실기 공통 - word_exam / past_oral_cards) */
.dark-mode .card-viewer-container {
    background: #1a1a1a;
}
.dark-mode .card-viewer-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.dark-mode .card-viewer-header h2,
.dark-mode #cardViewerTitle {
    color: #e0e0e0 !important;
}
.dark-mode .card-viewer-header a img[alt="뒤로가기"] {
    filter: brightness(0) invert(1);
}
/* 자격명 등 인라인 color:#333 제목 (2급 생활스포츠지도사 등) */
.dark-mode div[style*="font-weight: 600"][style*="color: #333"],
.dark-mode h2[style*="font-weight: 600"][style*="color: #333"] {
    color: #e0e0e0 !important;
}
/* 퀴즈 문제 영역 (OX퀴즈, 단답형 등) */
.dark-mode #quizQuestion {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #quizQuestion .rb_editor_data {
    color: #e0e0e0 !important;
}
/* 퀴즈 정답/해설 영역 (OX퀴즈, 단답형 등) */
.dark-mode #quizAnswer {
    color: #b0b0b0 !important;
}
.dark-mode #quizAnswer div[style*="font-weight: bold"][style*="color: #333"] {
    color: #e0e0e0 !important;
}
.dark-mode #quizAnswer .rb_editor_data {
    color: #b0b0b0 !important;
}
/* 필기개념카드 (#cardContainer - word_exam) */
.dark-mode #cardContainer {
    background: #252525 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    border-radius: 10px !important;
}
.dark-mode #cardContainer > div > div:first-child {
    color: #e0e0e0 !important;
}
.dark-mode #cardContainer .card-header-left {
    color: #b0b0b0 !important;
}
.dark-mode #cardContainer .card-front {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
}
.dark-mode #cardContainer .card-controls button,
.dark-mode #cardContainer #addBookmark {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode #cardContainer .card-controls button:hover,
.dark-mode #cardContainer #addBookmark:hover {
    background: #333 !important;
    color: #fff !important;
}
/* written 타이틀/서브타이틀 (카드 페이지 상단) */
.dark-mode .written-title,
.dark-mode .written-subtitle {
    color: #e0e0e0 !important;
}
.dark-mode .written-subtitle {
    color: #b0b0b0 !important;
}
/* 기출 통계 모달 */
.dark-mode .stats-modal {
    background: rgba(0, 0, 0, 0.8) !important;
}
.dark-mode .stats-modal-content {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .stats-modal-header {
    background: #252525 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e0 !important;
}
.dark-mode .stats-modal-body {
    background: #252525 !important;
    color: #e0e0e0;
}
.dark-mode .stats-modal-close {
    color: #b0b0b0 !important;
}
.dark-mode .stats-modal-close:hover {
    color: #fff !important;
}
.dark-mode .stats-row .label,
.dark-mode .stats-chart .chart-label {
    color: #b0b0b0 !important;
}
.dark-mode .stats-row .value,
.dark-mode .stats-chart .score {
    color: #e0e0e0 !important;
}
/* 기출 선택지 원 (1~4번) */
.dark-mode .choice-circle {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .choice-circle:hover {
    background: #333 !important;
    border-color: #667eea !important;
    color: #fff !important;
}
/* 회원이 고른 선택지: 동그라미 흰색, 글자 검정 */
.dark-mode .choice-circle.selected {
    background: #fff !important;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    color: #333 !important;
}
/* 정답 동그라미: 빨강, 흰 글자 */
.dark-mode .choice-circle.correct,
.dark-mode .choice-circle.selected.correct,
.dark-mode .choice-circle.incorrect {
    background: #dc3545 !important;
    border-color: #dc3545 !important;
    color: #fff !important;
}
/* 타이머 */
.dark-mode .exam-timer {
    color: #e0e0e0 !important;
}
.dark-mode .exam-timer .timer-display {
    color: #e0e0e0 !important;
}
.dark-mode .exam-timer #gradeResult {
    color: #e0e0e0 !important;
}
.dark-mode .timer-btn {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .timer-btn:hover {
    background: #333 !important;
    color: #fff !important;
}
/* 랜덤섞기 버튼 (OX퀴즈, 단답형, 실기 카드 등) */
.dark-mode #shuffleBtn {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode #shuffleBtn:hover {
    background: #333 !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #fff !important;
}
/* 구술/실기 카드 리스트 (#oralCardsList) - 필기개념카드 #cardContainer와 동일 스타일 */
.dark-mode #oralCardsList {
    background: #252525 !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
.dark-mode #oralCardsList > div > div:first-child {
    color: #e0e0e0 !important;
}
.dark-mode #oralCardsList .card-front {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
}
.dark-mode #oralCardsList .card-controls button,
.dark-mode #oralCardsList #addBookmark {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode #oralCardsList .card-controls button:hover,
.dark-mode #oralCardsList #addBookmark:hover {
    background: #333 !important;
    color: #fff !important;
}
.dark-mode .part-nav-btn {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .part-nav-btn:hover {
    background: #333 !important;
    color: #fff !important;
}
.dark-mode #cardAnswer,
.dark-mode .answer-content .rb_editor_data {
    color: #e0e0e0 !important;
}
.dark-mode #cardAnswer font[color],
.dark-mode .card-content font[color="#25282b"],
.dark-mode .rb_editor_data font[color="#25282b"] {
    color: #e0e0e0 !important;
}
/* 카드 페이지 빈 상태/안내 박스 */
.dark-mode .written-main-container [style*="background: #fff3cd"],
.dark-mode .written-main-container [style*="background:#fff3cd"] {
    background: #3d3520 !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .written-main-container [style*="color: #856404"],
.dark-mode .written-main-container [style*="color:#856404"] {
    color: #e8d48a !important;
}
.dark-mode .written-main-container .stats-view-link,
.dark-mode .written-main-container .subject-score {
    color: #e0e0e0 !important;
}

/* 점수 래퍼 안 텍스트는 배경색(플럼 등) 때문에 기존처럼 검정 유지 */
.dark-mode .written-menu-icon-score-wrap .subject-score,
.dark-mode .written-menu-icon-score-wrap .stats-view-link {
    color: #333 !important;
}

/* ----- 다크모드: 후기 작성 (구매후기/사용후기 쓰기) ----- */
.dark-mode .new_win,
.dark-mode #sit_use_write {
    background: #1a1a1a !important;
}
.dark-mode .new_win #win_title {
    background: #252525 !important;
    color: #e0e0e0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .new_win_con,
.dark-mode .new_win .form_01 {
    background: transparent !important;
}
.dark-mode .new_win .frm_input,
.dark-mode .new_win .form_01 textarea,
.dark-mode .new_win .form_01 input[type="text"] {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .new_win .frm_input::placeholder,
.dark-mode .new_win .form_01 textarea::placeholder {
    color: #888 !important;
}
.dark-mode .new_win #sit_use_write_star label {
    color: #e0e0e0 !important;
}
.dark-mode .new_win .win_btn .btn_submit {
    background: #333 !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.dark-mode .new_win .win_btn .btn_close {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .new_win .win_ul li {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .new_win .win_ul li a {
    color: #b0b0b0 !important;
}
.dark-mode .new_win .win_ul .selected {
    background: #667eea !important;
    border-color: #667eea !important;
}
.dark-mode .new_win .win_ul .selected a {
    color: #fff !important;
}

/* ----- 다크모드: 시험후기 작성 (exam_review_write) ----- */
.dark-mode .exam_review_write_sticky_header {
    background: #1a1a1a !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .exam_review_write_sticky_header h2 {
    color: #e0e0e0 !important;
}
.dark-mode .exam_review_write_wrap {
    background: #1a1a1a;
}
.dark-mode .write_form {
    background: #2d2d2d !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
.dark-mode .write_form .form_group label,
.dark-mode .write_form .filter_item label,
.dark-mode .write_form .qual_sport_label {
    color: #e0e0e0 !important;
}
.dark-mode .write_form .filter_item select,
.dark-mode .write_form .filter_item input,
.dark-mode .write_form .form_group select,
.dark-mode .write_form .form_group input[type="text"],
.dark-mode .write_form .form_group input[type="date"],
.dark-mode .write_form .form_group textarea {
    background-color: #252525 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .write_form .filter_item select {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 12 12%22%3E%3Cpath fill=%22%23e0e0e0%22 d=%22M6 9L1 4h10z%22/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
}
.dark-mode .write_form .filter_item select option {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
}
.dark-mode .write_form .group_checkbox_label {
    background: #252525 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .write_form .group_checkbox_label:hover {
    background: #333 !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}
.dark-mode .write_form .group_checkbox_label.checked {
    background: #555 !important;
    border-color: #555 !important;
    color: #fff !important;
}
.dark-mode .write_form .filter_item label.required::after,
.dark-mode .write_form .form_group label.required::after {
    color: #b0b0b0 !important;
}
.dark-mode .write_form .filter_item label:not(.required)::after,
.dark-mode .write_form .form_group label:not(.required)::after {
    color: #888 !important;
}
.dark-mode .write_form .filter_qual_sport_row {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .write_form .question_item input {
    background: #252525 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .write_form .btn_add_question {
    background: #444 !important;
    color: #fff !important;
}
.dark-mode .write_form .btn_add_question:hover {
    background: #555 !important;
}
.dark-mode .write_form .btn_submit {
    background: #444 !important;
    color: #fff !important;
}
.dark-mode .write_form .btn_cancel {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .write_form .help_text {
    color: #888 !important;
}

/* ----- 다크모드: 후기 목록/상세 (구매후기 목록, 후기 상세 팝업) ----- */
.dark-mode .review_detail_cnt,
.dark-mode .review_detail_in {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .review_detail_in h3,
.dark-mode .review_cnt,
.dark-mode .review_tp_cnt,
.dark-mode .review_summ,
.dark-mode .review_bt_cnt {
    color: #e0e0e0 !important;
}
.dark-mode .review_detail_cnt .rd_cls {
    color: #b0b0b0 !important;
    background: transparent !important;
}
.dark-mode .review_detail_cnt .rd_cls:hover {
    color: #fff !important;
}
.dark-mode .sit_use_top {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .sit_use_top h4 {
    color: #e0e0e0 !important;
}
.dark-mode .sit_use_li,
.dark-mode .sit_use_dl .sit_use_tit,
.dark-mode .sit_use_dl dd {
    color: #e0e0e0 !important;
}
.dark-mode .sit_use_reply {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #sit_use_wbtn a {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .sit_empty {
    color: #b0b0b0 !important;
}

/* ========== 다크모드 (Index / 카드 / 메뉴) ========== */
.dark-mode .sports-main-container {
    background: #1a1a1a;
    color: #e0e0e0;
}
.dark-mode .main-header {
    color: #e0e0e0;
}
.dark-mode .main-title,
.dark-mode .menu-title {
    color: #e0e0e0;
}
.dark-mode .main-subtitle,
.dark-mode .menu-desc {
    color: #b0b0b0;
}
.dark-mode .menu-item {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .menu-item:hover {
    background: #333;
}
.dark-mode .menu-icon {
    background: #252525;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}
.dark-mode .exam-selector {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .exam-selector-title {
    color: #e0e0e0;
}
.dark-mode .exam-selector-row label {
    color: #b0b0b0;
}
.dark-mode .exam-selector-row select {
    background: #252525;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e0e0e0;
}
.dark-mode .btn-exam-schedule,
.dark-mode .btn-attend-popup {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .btn-exam-schedule:hover,
.dark-mode .btn-attend-popup:hover {
    background: #333 !important;
}
.dark-mode .btn-exam-schedule img,
.dark-mode .btn-attend-popup img {
    filter: brightness(0) invert(1);
}
.dark-mode img[src*="calendar.svg"],
.dark-mode img[src*="attend.svg"] {
    filter: brightness(0) invert(1);
}
/* ----- 다크모드: 연수/실습 게시판 (rb.feed_bbs) ----- */
.dark-mode .rb_feed_wrap {
    background: #1a1a1a !important;
}
.dark-mode .rb_feed_sticky_header {
    background: #252525 !important;
}
.dark-mode .rb_feed_wrap #container_title {
    color: #e0e0e0 !important;
}
.dark-mode #change_institution_btn {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_feed_wrap .rating_stats_section,
.dark-mode .rb_feed_wrap .hashtag_search_section {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .rb_feed_wrap .rating_stats_section [style*="color: #333"],
.dark-mode .rb_feed_wrap .rating_stats_section [style*="color:#333"] {
    color: #e0e0e0 !important;
}
.dark-mode .rb_feed_wrap .rating_stats_section [style*="color: #666"],
.dark-mode .rb_feed_wrap .rating_stats_section [style*="color:#666"] {
    color: #b0b0b0 !important;
}
.dark-mode .rating_detail_btn {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    color: #b0b0b0 !important;
}
.dark-mode .rating_participate_btn {
    background: #404040 !important;
    color: #fff !important;
}
.dark-mode #hashtag_search_input {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode #hashtag_search_input::placeholder {
    color: #888 !important;
}
.dark-mode #hashtag_search_btn {
    background: #404040 !important;
    color: #fff !important;
}
.dark-mode .feed_compose {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .compose_write_btn {
    background: #404040 !important;
    color: #fff !important;
}
.dark-mode .feed_header {
    background: rgba(37, 37, 37, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .feed_title {
    color: #e0e0e0 !important;
}
.dark-mode .feed_stats {
    color: #b0b0b0 !important;
}
.dark-mode .feed_item {
    border-color: rgba(255, 255, 255, 0.08) !important;
}
.dark-mode .author_name {
    color: #e0e0e0 !important;
}
.dark-mode .feed_time {
    color: #b0b0b0 !important;
}
.dark-mode .feed_text {
    color: #e0e0e0 !important;
}
.dark-mode .feed_text_wrapper a {
    color: #8ab4f8 !important;
}
.dark-mode .action_btn,
.dark-mode .like_btn_static {
    color: #b0b0b0 !important;
}
.dark-mode .like_btn.liked {
    color: #f91880 !important;
}
.dark-mode .action_count {
    color: #b0b0b0 !important;
}
.dark-mode .feed_empty,
.dark-mode .feed_loading {
    color: #b0b0b0 !important;
}
.dark-mode .feed_empty h3 {
    color: #e0e0e0 !important;
}
.dark-mode .feed_dropdown_menu {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .feed_dropdown_menu li a {
    color: #e0e0e0 !important;
}
.dark-mode .feed_menu_btn {
    color: #b0b0b0 !important;
}
.dark-mode .feed_menu_btn svg {
    fill: #b0b0b0;
}
.dark-mode .comment_modal_content {
    background: #2d2d2d !important;
}
.dark-mode .comment_modal_header {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .comment_modal_header h3 {
    color: #e0e0e0 !important;
}
.dark-mode .comment_modal_close {
    color: #b0b0b0 !important;
}
.dark-mode .comment_modal_body {
    background: #252525 !important;
    color: #e0e0e0 !important;
}
.dark-mode .training-modal-content {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .training-modal-title {
    color: #e0e0e0 !important;
}
.dark-mode .training-modal-subtitle {
    color: #b0b0b0 !important;
}
.dark-mode #loading {
    color: #b0b0b0 !important;
}
/* 별점 상세 모달 (연수/실습 feed_bbs) */
.dark-mode .rating-detail-modal-content {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .rating-detail-modal-title {
    color: #e0e0e0 !important;
}
.dark-mode .rating-detail-modal-close {
    color: #b0b0b0 !important;
}
.dark-mode .rating-detail-modal-close:hover {
    color: #fff !important;
}
.dark-mode .rating-detail-item {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.dark-mode .rating-detail-item [style*="color: #333"],
.dark-mode .rating-detail-item [style*="color:#333"] {
    color: #e0e0e0 !important;
}
/* 비선택 별(#ddd)만 어둡게, 채워진 별(#ffc107)은 골드 유지 */
.dark-mode .rating-detail-item .star-rating-display span[style*="#ddd"] {
    color: #555 !important;
}
.dark-mode .rating-detail-item .star-rating-display span[style*="#ffc107"],
.dark-mode .rating-detail-item .star-rating-display span[style*="255, 193, 7"],
.dark-mode .rating-detail-item .star-rating-display span[style*="255,193,7"],
.dark-mode .rating-detail-item .star-rating-display span.filled {
    color: #ffc107 !important;
}
/* 연수기관 별점 참여 모달 (rating-modal) */
.dark-mode .rating-modal-content {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .rating-modal-title {
    color: #e0e0e0 !important;
}
.dark-mode .rating-modal-close {
    color: #b0b0b0 !important;
}
.dark-mode .rating-modal-close:hover {
    color: #fff !important;
}
.dark-mode .rating-criterion-item {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.dark-mode .rating-criterion-item [style*="color: #333"],
.dark-mode .rating-criterion-item [style*="color:#333"] {
    color: #e0e0e0 !important;
}
/* 비선택 별(#ddd)만 어둡게, 선택된 별(rgb(255,193,7))은 골드 유지 */
.dark-mode .rating-criterion-item .star-rating .star[style*="#ddd"] {
    color: #555 !important;
}
.dark-mode .rating-criterion-item .star-rating .star[style*="255, 193, 7"],
.dark-mode .rating-criterion-item .star-rating .star[style*="255,193,7"],
.dark-mode .rating-criterion-item .star-rating .star.active,
.dark-mode .rating-criterion-item .star-rating .star.hover {
    color: #ffc107 !important;
}
.dark-mode .rating-description {
    color: #b0b0b0 !important;
}
.dark-mode .rating-submit-btn {
    background: #404040 !important;
    color: #fff !important;
}
.dark-mode .rating-submit-btn:hover {
    background: #505050 !important;
}
/* ----- 다크모드: rb.notice_bbs / rb.data_bbs / rb.event_bbs / rb.basic_bbs (rb_bbs_wrap) ----- */
.dark-mode .rb_bbs_sticky_header {
    background: #252525 !important;
}
.dark-mode .rb_bbs_sticky_header #container_title {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap {
    background: #1a1a1a !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_top li.cnts {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap #bo_cate a {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap #bo_cate #bo_cate_on {
    color: #667eea !important;
}
.dark-mode .rb_bbs_wrap #bo_cate #bo_cate_ul:before {
    background-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .rb_bbs_wrap .rb-board-table th {
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .rb-board-table td {
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .rb-board-table td.rb-board-title a {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .rb-board-table .bbs_basic_infos_wrap,
.dark-mode .rb_bbs_wrap .rb-board-table .cats {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap .btns_gr_wrap .btns_gr .fl_btns,
.dark-mode .rb_bbs_wrap .btm_btns .fl_btns {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .btns_gr_wrap .btns_gr .fl_btns:hover,
.dark-mode .rb_bbs_wrap .btm_btns .fl_btns:hover {
    border-color: #667eea !important;
    color: #667eea !important;
}
.dark-mode .rb_bbs_wrap .btns_gr_wrap .btns_gr .fl_btns.main_color_bg,
.dark-mode .rb_bbs_wrap .btm_btns .fl_btns.main_color_bg {
    background: #667eea !important;
    border-color: #667eea !important;
    color: #fff !important;
}
.dark-mode .rb_bbs_wrap .btns_gr_wrap .btns_gr .fl_btns img {
    filter: brightness(0) invert(1);
}
.dark-mode .rb_bbs_wrap .point_info_opens {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .rb_bbs_wrap .point_info_opens h6 {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .point_info_opens dd {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap .no_data {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_for {
    border-color: rgba(255, 255, 255, 0.08) !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_for_cont_subj a {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_for_cont_txt,
.dark-mode .rb_bbs_wrap .rb_bbs_for_info2 li,
.dark-mode .rb_bbs_wrap .view_info_span {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap #bo_v,
.dark-mode .rb_bbs_wrap #bo_v_con {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap #bo_v_con a {
    color: #8ab4f8 !important;
}
.dark-mode .rb_bbs_wrap #bo_v_act {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .rb_bbs_wrap #bo_v_act .bo_v_good,
.dark-mode .rb_bbs_wrap #bo_v_act .bo_v_nogood {
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .cmt_btn {
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .cmt_btn b {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap #bo_vc .cmt_contents,
.dark-mode .rb_bbs_wrap #bo_vc article {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .bo_vc_w textarea {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap .bo_vc_w_wr {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.dark-mode .rb_bbs_wrap #bo_gall .gall_img {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .rb_bbs_wrap #bo_gall .bo_tit {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap #bo_gall .gall_info,
.dark-mode .rb_bbs_wrap #bo_gall .gall_info .gall_date {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_file_for {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_file_for a {
    color: #8ab4f8 !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_file_for a:hover {
    color: #a8c7fa !important;
}
.dark-mode .rb_bbs_wrap .rb_bbs_file_for img {
    filter: invert(1) brightness(0.9);
}
/* ----- 다크모드: QA 글쓰기 (qawrite.php, rb_bbs_write_wrap) ----- */
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .help_text,
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .help_text_gap {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .input,
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .full_input,
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap input[type="text"],
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .input_tiny {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .input::placeholder,
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .full_input::placeholder,
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .input_tiny::placeholder {
    color: #888 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap select.select,
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap select.ca_name {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .wr_content textarea {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .guest_inp_wrap {
    background: #252525 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .write_div label,
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .bo_v_option label {
    color: #e0e0e0 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .rb_inp_wrap_confirm .btn_cancel {
    background: #404040 !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .rb_inp_wrap_confirm .btn_cancel:hover {
    background: #505050 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .rb_inp_wrap_confirm .btn_submit {
    background: #667eea !important;
    color: #fff !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .rb_inp_wrap_confirm .btn_submit:hover {
    opacity: 0.9;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .file_inp {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_wrap.rb_bbs_write_wrap .rb_inp_wrap_link label {
    color: #b0b0b0 !important;
}
.dark-mode .rb_bbs_sticky_header img[alt="뒤로가기"] {
    filter: brightness(0) invert(1);
}
/* ----- 다크모드: 카드 검색 모달 (part-modal, word_exam 등) ----- */
.dark-mode .part-modal-content {
    background: #2d2d2d !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
.dark-mode .part-modal-header {
    background: #252525 !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .part-modal-header h3 {
    color: #e0e0e0 !important;
}
.dark-mode .part-modal-close {
    color: #b0b0b0 !important;
}
.dark-mode .part-modal-close:hover {
    color: #fff !important;
}
.dark-mode .part-modal-body {
    color: #e0e0e0;
}
.dark-mode .part-modal-content #searchInput,
.dark-mode .part-modal-body input[type="text"] {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
.dark-mode .part-modal-content #searchInput::placeholder,
.dark-mode .part-modal-body input[type="text"]::placeholder {
    color: #888 !important;
}
.dark-mode .part-modal-body > div button:first-of-type {
    background: #667eea !important;
    color: #fff !important;
    border: none !important;
}
.dark-mode .part-modal-body > div button:last-of-type {
    background: #404040 !important;
    color: #e0e0e0 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
.dark-mode .part-modal-body button:hover {
    opacity: 0.9;
}
.dark-mode .part-modal-body .part-list-item {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .part-modal-body .part-list-item:hover {
    background: #333 !important;
    border-color: #667eea !important;
    color: #e0e0e0 !important;
}
/* 에디터/카드 내 pill 스타일 span (인라인 background rgb(240,243,249) 등) */
.dark-mode span[style*="240, 243, 249"] {
    background-color: #404040 !important;
    color: #e0e0e0 !important;
}
.dark-mode .card-content span[style*="border-radius: 30px"],
.dark-mode .rb_editor_data span[style*="border-radius: 30px"] {
    background-color: #404040 !important;
    color: #e0e0e0 !important;
}
/* 다크모드 토글 버튼 (메뉴 내 user-menu-header 오른쪽) */
.dark-mode-toggle-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: #f5f5f5;
    cursor: pointer;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
}
.dark-mode-toggle-btn:hover {
    background: #eee;
}
.dark-mode .dark-mode-toggle-btn {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.dark-mode .dark-mode-toggle-btn:hover {
    background: #333;
}
/* 메뉴 내부 버튼 크기 */
.dark-mode-toggle-btn-in-menu {
    width: 38px;
    height: 38px;
    font-size: 1.2rem;
}
/* 필기/실기 메뉴 카드 - 다크모드 */
.dark-mode .written-main-container {
    background: #1a1a1a;
}
.dark-mode .written-header,
.dark-mode .written-title {
    color: #e0e0e0;
}
.dark-mode .written-subtitle {
    color: #b0b0b0;
}
.dark-mode .written-menu-item {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .written-menu-title {
    color: #e0e0e0;
}
.dark-mode .written-menu-desc {
    color: #b0b0b0;
}
.dark-mode .written-menu-icon {
    background: #252525;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}
/* 암기카드 페이지 - 다크모드 */
.dark-mode .flashcard-main-container {
    background: #1a1a1a;
}
.dark-mode .flashcard-title {
    color: #e0e0e0;
}
.dark-mode .flashcard-subtitle {
    color: #b0b0b0;
}
.dark-mode .card {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .card-front h4,
.dark-mode .card-back h4,
.dark-mode .card-front p,
.dark-mode .card-back p {
    color: #e0e0e0;
}
.dark-mode .card-progress {
    color: #b0b0b0;
}
.dark-mode .control-btn,
.dark-mode .action-btn {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e0e0e0;
}
.dark-mode .subject-item {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .subject-title {
    color: #e0e0e0;
}
.dark-mode .subject-desc {
    color: #b0b0b0;
}
/* 모달/옵션 - 다크모드 */
.dark-mode .modal-content .modal-title,
.dark-mode .modal-subtitle {
    color: #e0e0e0;
}
.dark-mode .modal-subtitle {
    color: #b0b0b0;
}
.dark-mode .option-group {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .option-group-title {
    color: #e0e0e0;
}
.dark-mode .option-btn {
    background: #252525 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0 !important;
}
.dark-mode .btn-modal {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e0e0e0;
}
.dark-mode .bookmark-item {
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .bookmark-info h4 {
    color: #e0e0e0;
}
.dark-mode .bookmark-info p {
    color: #b0b0b0;
}
.dark-mode .card-modal .modal-content,
.dark-mode .bookmark-modal .modal-content {
    background: #2d2d2d;
}
.dark-mode .no-bookmarks {
    color: #b0b0b0;
}

/* ========== Index 전용 박스/모달 다크모드 (인라인 스타일 덮어쓰기) ========== */
.dark-mode .modal {
    background-color: rgba(0, 0, 0, 0.75) !important;
}
.dark-mode .modal-content {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0;
}
.dark-mode .modal-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.dark-mode .modal-title {
    color: #e0e0e0 !important;
}
.dark-mode .modal-body {
    background: transparent !important;
    color: #e0e0e0;
}
.dark-mode .modal-actions {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.dark-mode .btn-modal.btn-cancel {
    background: #252525 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .btn-modal.btn-cancel:hover {
    background: #333 !important;
}
.dark-mode .modal .close {
    color: #b0b0b0 !important;
}
.dark-mode .modal .close:hover {
    color: #fff !important;
}
/* 필기시험 모달 내 메뉴 박스 */
.dark-mode .written-menu-item-modal {
    background: #2d2d2d !important;
    border: 2px solid rgba(255, 255, 255, 0.12) !important;
}
.dark-mode .written-menu-item-modal:hover {
    background: #333 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
.dark-mode .written-menu-title-modal {
    color: #e0e0e0 !important;
}
.dark-mode .written-menu-desc-modal {
    color: #b0b0b0 !important;
}
/* 시험일정/연수기관 모달 본문 */
.dark-mode #examScheduleContent,
.dark-mode #examScheduleContent div {
    color: #e0e0e0 !important;
}
.dark-mode .training-options {
    color: #e0e0e0;
}
.dark-mode .option-item {
    background: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .option-item:hover {
    background: #333 !important;
}
/* 응시 예정 시험 - 로딩 문구, select option */
.dark-mode #sportLoading {
    color: #b0b0b0 !important;
}
.dark-mode .exam-selector-row select option {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
}
.dark-mode .exam-selector-row select:focus {
    border-color: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1) !important;
}
/* 이벤트 New 뱃지 (다크모드에서도 강조 유지) */
.dark-mode .menu-new-badge {
    background-color: #d3315c !important;
    color: white !important;
}

/* ========== 로그인 / 회원가입 / 비밀번호 등 회원 페이지 다크모드 ========== */
.dark-mode .rb_member .rb_login {
    background-color: #1a1a1a !important;
}
.dark-mode .rb_member .rb_login .rb_login_box {
    background-color: #252525 !important;
    color: #e0e0e0;
}
.dark-mode .rb_member .rb_login .rb_login_box li span {
    color: #b0b0b0 !important;
}
.dark-mode .rb_member .rb_login .rb_login_box .rb_login_logo img,
.dark-mode .rb_member .rb_login .rb_login_box .rb_login_logo #logo_img {
    filter: brightness(0) invert(1);
}
.dark-mode .rb_member .rb_login .rb_login_box .input,
.dark-mode .rb_member .rb_login .rb_login_box input[type="text"],
.dark-mode .rb_member .rb_login .rb_login_box input[type="password"],
.dark-mode .rb_member .rb_login .rb_login_box input[type="email"],
.dark-mode .rb_member .rb_login .rb_login_box .full_input {
    background-color: #2d2d2d !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_member .rb_login .rb_login_box .input::placeholder,
.dark-mode .rb_member .rb_login .rb_login_box input::placeholder {
    color: #888 !important;
}
.dark-mode .rb_member .rb_login .rb_login_box .input:focus,
.dark-mode .rb_member .rb_login .rb_login_box input[type="text"]:focus,
.dark-mode .rb_member .rb_login .rb_login_box input[type="password"]:focus,
.dark-mode .rb_member .rb_login .rb_login_box input[type="email"]:focus,
.dark-mode .rb_member .rb_login .rb_login_box .full_input:focus {
    border-color: rgba(255, 255, 255, 0.3) !important;
    outline: none !important;
}
.dark-mode .rb_member .rb_login .rb_login_box .btn_submit {
    background-color: #404040 !important;
    color: #fff !important;
    border: none !important;
}
.dark-mode .rb_member .rb_login .rb_login_box .btn_submit:hover {
    background-color: #505050 !important;
}
.dark-mode .rb_member .rb_login .rb_login_box li.join_links {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
    color: #b0b0b0;
}
.dark-mode .rb_member .rb_login .rb_login_box li.join_links a {
    color: #8ab4f8 !important;
    border-bottom-color: #8ab4f8 !important;
}
.dark-mode .rb_member #login_info {
    color: #b0b0b0;
}
.dark-mode .rb_member #login_info label {
    color: #b0b0b0 !important;
}
.dark-mode .rb_member #login_info .login_if_lpl a {
    color: #8ab4f8 !important;
}
.dark-mode .rb_member .rb_login .rb_login_box .sns_titles {
    color: #b0b0b0 !important;
}
.dark-mode .rb_member .sns_reg_wrap {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}
/* 회원가입 약관 */
.dark-mode .rb_member .rb_reg .rb_reg_sub_title {
    color: #b0b0b0 !important;
}
.dark-mode .rb_member .rb_reg .rb_reg_ok_text {
    color: #e0e0e0 !important;
}
.dark-mode .rb_member .rb_reg .textarea,
.dark-mode .rb_member .rb_reg textarea {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_member .rb_reg .textarea:focus,
.dark-mode .rb_member .rb_reg textarea:focus {
    border-color: rgba(255, 255, 255, 0.3) !important;
}
.dark-mode .rb_member .rb_reg #fregister_chkall {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0;
}
.dark-mode .rb_member .rb_reg label,
.dark-mode .rb_member .rb_reg .chk_all label {
    color: #b0b0b0 !important;
}
/* 비밀번호 찾기 / 재설정 */
.dark-mode .rb_member .rb_reg .btn_frmline,
.dark-mode .rb_member .rb_join .btn_frmline,
.dark-mode .rb_member a.btn_frmline,
.dark-mode .rb_member button.btn_frmline {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
.dark-mode .rb_member .rb_reg .btn_frmline:hover,
.dark-mode .rb_member .rb_join .btn_frmline:hover,
.dark-mode .rb_member a.btn_frmline:hover,
.dark-mode .rb_member button.btn_frmline:hover {
    background-color: #404040 !important;
}
/* 회원가입 폼 */
.dark-mode .rb_member .rb_join .rb_login_box {
    background-color: #252525 !important;
}
.dark-mode .rb_member .rb_join .help_text {
    color: #b0b0b0 !important;
}
.dark-mode .rb_member .rb_join .help_t_text {
    background-color: #2d2d2d !important;
    color: #999 !important;
}
.dark-mode .rb_member .rb_join .frm_label {
    color: #b0b0b0 !important;
}
.dark-mode .rb_member .rb_join select,
.dark-mode .rb_member .rb_join .select {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
/* 비회원 구매 / 주문조회 */
.dark-mode .rb_member #mb_login_notmb,
.dark-mode .rb_member #mb_login_od_wr {
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0;
}
.dark-mode .rb_member #mb_login_notmb h2,
.dark-mode .rb_member #mb_login_od_wr h2 {
    color: #e0e0e0;
}
.dark-mode .rb_member .textarea_divs {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #b0b0b0 !important;
}
.dark-mode .rb_member #mb_login_od_wr p {
    background-color: #2d2d2d !important;
    color: #b0b0b0;
}
/* 회원가입 결과 */
.dark-mode .rb_member #reg_result {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0;
}
.dark-mode .rb_member #reg_result h2 {
    color: #e0e0e0;
}
.dark-mode .rb_member #reg_result p {
    color: #b0b0b0;
}
.dark-mode .rb_member #reg_result #result_email {
    background-color: #252525 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0;
}
/* 회원가입 폼 내부 섹션 */
.dark-mode .rb_member #register_form {
    background-color: #252525 !important;
}
.dark-mode .rb_member .register_form_inner {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .rb_member .register_form_inner label {
    color: #b0b0b0;
}
.dark-mode .rb_member #fregisterform .frm_input,
.dark-mode .rb_member #fregisterform input[type="text"],
.dark-mode .rb_member #fregisterform input[type="password"],
.dark-mode .rb_member #fregisterform input[type="email"],
.dark-mode .rb_member #fregisterform input[type="tel"],
.dark-mode .rb_member #fregisterform select {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode .rb_member #fregisterform .frm_input::placeholder,
.dark-mode .rb_member #fregisterform input::placeholder {
    color: #888 !important;
}
/* 로그인/회원가입 페이지에서 인라인 배경색 오버라이드 */
.dark-mode .rb_member .rb_login .rb_login_box .help_st1,
.dark-mode .rb_member .rb_login .rb_login_box .help_st2 {
    color: #b0b0b0 !important;
}
/* 캡차 */
.dark-mode .rb_member #captcha img {
    border-radius: 6px;
}
/* 회원 확인/비밀번호 확인 공통 */
.dark-mode #mb_confirm fieldset,
.dark-mode #pw_confirm fieldset {
    color: #e0e0e0;
}
.dark-mode #mb_confirm p,
.dark-mode #pw_confirm p {
    color: #b0b0b0 !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
/* 회원 스킨 style.css 내 배경색 오버라이드 */
.dark-mode .mbskin .mbskin_box {
    background-color: #252525 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #fregister section {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #fregister h2 {
    color: #e0e0e0;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #fregister textarea {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}
.dark-mode #fregister_chkall {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0;
}
.dark-mode #fregister_private div,
.dark-mode .fregister_terms div {
    background-color: #2d2d2d !important;
}
.dark-mode #fregister_private table th,
.dark-mode .fregister_terms table th {
    background-color: #333 !important;
    color: #e0e0e0 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #fregister_private table td,
.dark-mode .fregister_terms table td {
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #b0b0b0;
}
/* 본인인증 갱신 */
.dark-mode #member_cert_refresh section {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #member_cert_refresh h2 {
    color: #e0e0e0;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #member_cert_refresh textarea {
    background-color: #2d2d2d !important;
    color: #e0e0e0 !important;
}
.dark-mode #member_cert_refresh_chkall {
    background-color: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e0e0e0;
}
.dark-mode #member_cert_refresh_private div {
    background-color: #2d2d2d !important;
}
.dark-mode #member_cert_refresh_private table th {
    background-color: #333 !important;
    color: #e0e0e0 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #member_cert_refresh_private table td {
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #b0b0b0;
}
/* 회원 프로필 다크 보완 */
.dark-mode .rb_prof .rb_prof_info_nick span {
    background-color: #e0e0e0 !important;
    color: #1a1a1a !important;
}
.dark-mode .rb_prof .copy_urls {
    background-color: #2d2d2d !important;
}
.dark-mode .rb_prof_r_box {
    background-color: #2d2d2d !important;
}
/* 소셜 로그인/회원가입 버튼 */
.dark-mode .rb_member #sns_login {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode .rb_member #sns_register {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
