@charset "utf-8";

#loadings { /*커스텀*/
    position: fixed!important;
    inset: 0;                /* top, right, bottom, left 한 번에 */
    width: 100vw!important;            /* 뷰포트 기준 고정 */
    height: 100vh!important;           /* 뷰포트 기준 고정 */
    background-color: #fff;
    z-index: 999999;
    display: flex;
    justify-content: center!important;
    align-items: center!important;
    overflow: hidden !important;
}

#loadings_spin {
    position: static!important;
    width: 17px!important;
    height: 17px!important;
    border: 2px solid rgba(158, 158, 158, 0.2); /* 연한 회색 반투명 */
    border-radius: 50%;
    border-top-color: rgba(158, 158, 158, 0.6)!important; /* 연한 회색 */
    animation: spin 0.4s ease-in-out infinite;
    -webkit-animation: spin 0.4s ease-in-out infinite;
    /* margin, top, left, bottom, right 제거 */
}

@keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    to {
        -webkit-transform: rotate(360deg);
    }
}

/* 공통 { */
main {width: 100%; background-color: #fff; height:100%;}
label {word-break: keep-all !important;}
#header {background-color: rgba(255,255,255,0.5); border-bottom: 0px; padding-top: 20px; padding-bottom: 5px; position: fixed; top:0px; left: 0px; width: 100%; z-index: 98; box-shadow: 0px 0px 20px rgba(0,0,0,0.05);}
.main_sec1 {margin-bottom: 50px; box-sizing: border-box;}
.no_data {padding-top: 80px !important; padding-bottom: 110px !important; text-align: center; line-height: 140%; margin-top: 30px; border-bottom: 1px solid #eee; color:#999; border-top:0px !important;}

/* 카드 책갈피 버튼 - PC는 텍스트 길이에 맞춤, 폰은 100% (개념카드·구술카드 공통) */
#addBookmark {
    width: auto !important;
    min-width: 0;
}
@media (max-width: 768px) {
    #addBookmark {
        width: 100% !important;
        flex: 1 1 100% !important;
    }
}

/* 플로팅 퀵메뉴 전역 스타일 */
.floating-quick-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: space-around;
    padding: 10px 0 20px 0;
    z-index: 10000001;
    pointer-events: auto;
}

.quick-menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 12px;
    min-width: 60px;
    position: relative;
}


.quick-menu-item.active {
    background: #e8e8e8;
    color: white;
}

.quick-menu-item.active .quick-menu-icon {
    transform: scale(1.1);
}

.quick-menu-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-bottom: 4px;
    transition: all 0.3s ease;
}

.quick-menu-label {
    font-size: 0.75rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
    color: #666;
    transition: color 0.3s ease;
}

.quick-menu-item.active .quick-menu-label {
    font-weight: 600;
}

/* 아이콘 스타일 */
.icon-pencil::before {
    content: "✏️";
}

.icon-trophy::before {
    content: "🏆";
}

.icon-book::before {
    content: "📚";
}

.icon-question::before {
    content: "❓";
}

.icon-hamburger::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 24px;
    background-image: url('../rb.img/icon/menu.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-home::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 24px;
    background-image: url('../rb.img/icon/home.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-my::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 24px;
    background-image: url('../rb.img/icon/my.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-links::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 24px;
    background-image: url('../rb.img/icon/links.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.icon-donation::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 24px;
    background-image: url('../rb.img/icon/donation.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* 사용자 메뉴 드롭다운 */
.user-menu-dropdown {
    position: fixed;
    bottom: 80px;
    left: 20px;
    right: 20px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.15);
    z-index: 10000002;
    transform: translateY(100px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s ease;
    max-height: 70vh;
    overflow-y: auto;
}

.user-menu-dropdown.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.user-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
    background: #f0f0f0;
    color: rgb(40, 40, 40);
    border-radius: 16px 16px 0 0;
}

.user-menu-header-dark-mode {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* 글씨크기 조절 */
.font-size-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}
.dark-mode .font-size-icon {
    filter: invert(1) brightness(2);
}
.font-size-toggle-wrap {
    position: relative;
}
.font-size-slider-popup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: fixed;
    margin: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 14px 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    z-index: 10000003;
    pointer-events: auto;
    min-width: 52px;
    transform-origin: center center;
    touch-action: none;
    overscroll-behavior: contain;
}
.font-size-slider-label {
    font-size: 11px;
    color: #888;
    font-weight: 500;
    user-select: none;
}
.font-size-slider {
    writing-mode: vertical-lr;
    direction: rtl;
    -webkit-appearance: slider-vertical;
    appearance: slider-vertical;
    width: 36px;
    height: 120px;
    cursor: pointer;
    accent-color: #667eea;
}
.font-size-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #667eea;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.font-size-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #667eea;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.font-size-slider-value {
    font-size: 12px;
    font-weight: bold;
    color: #333;
}
.font-size-reset-btn {
    font-size: 11px;
    padding: 4px 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #f5f5f5;
    cursor: pointer;
    color: #555;
}
.font-size-reset-btn:hover {
    background: #e8e8e8;
}
/* 다크모드 */
.dark-mode .font-size-slider-popup {
    background: #2d2d2d;
    border-color: rgba(255,255,255,0.15);
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
}
.dark-mode .font-size-slider-label {
    color: #999;
}
.dark-mode .font-size-slider-value {
    color: #e0e0e0;
}
.dark-mode .font-size-reset-btn {
    background: #404040;
    border-color: rgba(255,255,255,0.2);
    color: #e0e0e0;
}
.dark-mode .font-size-reset-btn:hover {
    background: #505050;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.user-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    overflow: hidden;
}

.user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.user-details {
    flex: 1;
}

.user-name {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 4px;
}

.user-level {
    font-size: 0.9rem;
    opacity: 0.9;
}

.user-menu-items {
    padding: 10px 0;
}

.user-menu-item {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    border-bottom: 1px solid #f8f8f8;
}

.user-menu-item:hover {
    background: #f8f9ff;
    color: #667eea;
}

.user-menu-item.logout {
    color: #e74c3c;
}

.user-menu-item.logout:hover {
    background: #ffeaea;
    color: #c0392b;
}

.user-menu-item i {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    font-size: 1.1rem;
}

.user-menu-item span {
    font-size: 0.95rem;
    font-weight: 500;
}

/* 햄버거 메뉴 아이콘 */
.hamburger-menu .quick-menu-icon {
    transition: transform 0.3s ease;
}

/* .hamburger-menu.active .quick-menu-icon {
    transform: rotate(90deg);
} */

/* 사용자 메뉴 아이콘들 */
.icon-user::before {
    content: "👤";
}

.icon-dashboard::before {
    content: "🏠";
}

.icon-point::before {
    content: "💰";
}

.icon-edit::before {
    content: "✏️";
}

.icon-logout::before {
    content: "🚪";
}

.icon-login::before {
    content: "🔑";
}

.icon-register::before {
    content: "📝";
}

/* 모달 스타일 */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10002;
    backdrop-filter: blur(5px);
}

.modal-content {
    background: white;
    border-radius: 20px;
    max-width: 400px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    animation: modalSlideIn 0.3s ease;
}

@keyframes modalSlideIn {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
    background: white;
    color: #333;
    border-radius: 20px 20px 0 0;
}

.modal-header h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
}

.modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.3s ease;
}

.modal-close:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #333;
}

.modal-body {
    padding: 20px;
}

/* 링크 아이템 스타일 */
.link-items {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.link-item {
    display: flex;
    align-items: center;
    padding: 15px;
    background: #f8f9ff;
    border-radius: 12px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.link-item:hover {
    background: #e8f0ff;
    border-color: #667eea;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.2);
}

.link-icon {
    width: 50px;
    height: 50px;
    border-radius: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-right: 15px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
}

.link-icon-kakao {
    background-image: url('../rb.img/icon/sns/kakao_talk.svg');
    background-size: 100%;
}

.link-icon-youtube {
    background-image: url('../rb.img/icon/sns/youtube.svg');
    background-size: 100%;
}

.link-icon-instagram {
    background-image: url('../rb.img/icon/sns/instagram.svg');
    background-size: 100%;
}

.link-info {
    flex: 1;
}

.link-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 4px;
    color: #333;
}

.link-desc {
    font-size: 0.9rem;
    color: #666;
}

.link-arrow {
    font-size: 0.8rem;
    color: #666;
    transition: transform 0.3s ease;
    margin-left: 10px;
}

.link-item-expandable {
    margin-bottom: 15px;
}

.kakao-list,
.youtube-list,
.instagram-list {
    margin-top: 10px;
    padding-left: 65px;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.kakao-category-item,
.youtube-category-item,
.instagram-category-item {
    display: block;
    padding: 12px 15px;
    margin-bottom: 8px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

/* 후원 모달 스타일 */
.donation-content {
    text-align: center;
}

.donation-message {
    padding: 20px 0;
}

.donation-icon {
    font-size: 3rem;
    margin-bottom: 20px;
}

.donation-message h4 {
    font-size: 1.3rem;
    color: #333;
    margin-bottom: 15px;
    font-weight: 600;
}

.donation-message p {
    color: #666;
    line-height: 1.6;
    margin-bottom: 10px;
}

.donation-thanks {
    padding: 20px;
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: white;
    border-radius: 12px;
    margin-top: 20px;
}

.donation-thanks p {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

/* 모달 반응형 */
@media (max-width: 768px) {
    .modal-content {
        width: 95%;
        max-width: 350px;
    }
    
    .modal-header {
        padding: 15px;
    }
    
    .modal-header h3 {
        font-size: 1.1rem;
    }
    
    .modal-body {
        padding: 15px;
    }
    
    .link-item {
        padding: 12px;
    }
    
    .link-icon {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
        margin-right: 12px;
    }
    
    .link-title {
        font-size: 1rem;
    }
    
    .link-desc {
        font-size: 0.85rem;
    }
    
    .donation-message h4 {
        font-size: 1.2rem;
    }
    
    .donation-message p {
        font-size: 0.9rem;
    }
}

/* 플로팅 메뉴 반응형 */
@media (max-width: 768px) {
    .floating-quick-menu {
        padding: 8px 0 15px 0;
    }
    
    .quick-menu-item {
        padding: 6px 8px;
        min-width: 50px;
    }
    
    .quick-menu-icon {
        width: 20px;
        height: 20px;
        font-size: 1rem;
    }
    
    .quick-menu-label {
        font-size: 0.7rem;
    }
    
    .user-menu-dropdown {
        left: 15px;
        right: 15px;
        bottom: 70px;
    }
    
    .user-menu-header {
        padding: 15px;
    }
    
    .user-info {
        gap: 12px;
    }
    
    .user-avatar {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
    
    .user-name {
        font-size: 1rem;
    }
    
    .user-level {
        font-size: 0.8rem;
    }
    
    .user-menu-item {
        padding: 12px 15px;
    }
    
    .user-menu-item i {
        width: 20px;
        height: 20px;
        font-size: 1rem;
        margin-right: 10px;
    }
    
    .user-menu-item span {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .floating-quick-menu {
        padding: 6px 0 12px 0;
    }
    
    .quick-menu-item {
        padding: 4px 6px;
        min-width: 45px;
    }
    
    .quick-menu-icon {
        width: 18px;
        height: 18px;
        font-size: 0.9rem;
    }
    
    .quick-menu-label {
        font-size: 0.65rem;
    }
    
    .user-menu-dropdown {
        left: 10px;
        right: 10px;
        bottom: 65px;
    }
    
    .user-menu-header {
        padding: 12px;
    }
    
    .user-info {
        gap: 10px;
    }
    
    .user-avatar {
        width: 35px;
        height: 35px;
        font-size: 1rem;
    }
    
    .user-name {
        font-size: 0.9rem;
    }
    
    .user-level {
        font-size: 0.75rem;
    }
    
    .user-menu-item {
        padding: 10px 12px;
    }
    
    .user-menu-item i {
        width: 18px;
        height: 18px;
        font-size: 0.9rem;
        margin-right: 8px;
    }
    
    .user-menu-item span {
        font-size: 0.85rem;
    }
}

/* } */

/* { */
.inner {width: 1400px; margin: 0 auto;}
.index {width: 1400px; margin: 0 auto; padding-top: 50px; padding-bottom: 50px;}
.sub {margin: 0 auto; padding-top: 50px; padding-bottom: 70px; min-height: 768px;}
/* } */

/* 헤더 { */
.gnb_wrap ul {float:left; line-height: 40px;}
.gnb_wrap nav {float:left; line-height: 40px;}
.gnb_wrap nav a {font-size: 16px; line-height: 40px; display: block; float:left;}
.gnb_wrap .tog_wrap {margin-right: 30px;}
.gnb_wrap .logo_wrap {margin-right: 60px; position: relative;}
.beta_ico {position: absolute; top:12px; right:-40px; color:#fff; background-color:#AA20FF; font-size: 8px; line-height: 15px; padding-left: 5px; padding-right: 5px; border-radius: 15px;}
.gnb_wrap #logo_img .responsive-image {height:40px;}
.gnb_wrap nav a:hover {color:#AA20FF}
.gnb_wrap .snb_wrap {float:right;}
.gnb_wrap .snb_wrap li {float:left;}
.gnb_wrap .snb_wrap .member_info_wrap {font-size: 14px; color:#666; margin-left: 30px;}
.gnb_wrap .snb_wrap .member_info_wrap a {color:#666;}
.gnb_wrap .snb_wrap .member_info_wrap span {color:#25282B;}
.gnb_wrap .snb_wrap .member_info_wrap a span {color:#AA20FF} 
.gnb_wrap .snb_wrap .qm_wrap {position: relative;}
.gnb_wrap .snb_wrap .qm_wrap button {padding-left: 10px; padding-right: 10px; position: relative; float:left; margin-top: 10px;}
.gnb_wrap .snb_wrap .qm_wrap button span {background-color: #AA20FF; color:#fff; font-size: 10px; border-radius: 4px; position: absolute; top:-7px; left:20px; line-height: 18px; padding-left: 5px; padding-right: 5px;}
.gnb_wrap .snb_wrap .qm_wrap a {padding-left: 10px; padding-right: 10px; position: relative; float:left; line-height: 23px; width: 40px; box-sizing: border-box; margin-top: 12px; color:#000;}
.gnb_wrap .snb_wrap .qm_wrap a svg path {fill:#25282B;}
.gnb_wrap .snb_wrap .qm_wrap a span {background-color: #AA20FF; color:#fff; font-size: 10px; border-radius: 4px; position: absolute; top:-7px; left:20px; line-height: 18px; padding-left: 5px; padding-right: 5px;}

.gnb_wrap .snb_wrap .my_btn_wrap {margin-left: 40px;}
.gnb_wrap .inner {box-sizing: border-box;}
.gnb_wrap #ol_after_scrap {margin-top: 10px;}
/* } */

/* 검색창 { */
#search_box_wrap {display: none; position: absolute; top: 55px; left: 0px; border-radius: 10px; box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.05); width: 400px; box-sizing: border-box; background-color: #fff; padding-bottom: 20px;}
#search_box_wrap ul {position: relative; float:none; display: block; line-height: 100%;}
#search_box_wrap ul.pt20 {padding-top: 30px;}
#search_box_wrap ul li select {height:35px; border-radius: 6px; padding-left: 15px; padding-right: 15px;}
#search_box_wrap li {float:none; display: block; line-height: 100%;}
#search_box_wrap .ser_inner_btn {position: absolute; top:9px; right:20px;}
#search_box_wrap .ser_ul_pd {padding: 10px 30px 5px 30px;}
#search_box_wrap .ser_ul_pd .ser_label {float:none; background-color: #f1f1f1; padding-top: 8px; padding-bottom: 8px; font-size: 13px; border-radius: 4px; margin-top: 0px; display: inline-block; vertical-align: top; width: auto; line-height: 100%; margin-top: 5px;}
#search_box_wrap .ser_ul_pd .ser_label b {color:#AA20FF;}
#search_box_wrap ul input.w100 {padding-right: 60px; box-sizing: border-box; border:0px !important; border-bottom: 1px solid #eee !important; height:60px; border-radius: 10px 10px 0px 0px; background-color: #f9f9f9; color:#AA20FF; padding-left: 30px;}
#search_box_wrap ul input.w100::placeholder {color:#999;}
#search_box_wrap ul button svg path {fill:#000 !important;}
#search_top_btn.ser_open svg path {fill:#AA20FF;}
#search_top_btn:hover {opacity: 0.8}
/* } */


/* 메뉴 { */
.cbp-hrmenu {width: auto;}
.cbp-hrmenu > ul,.cbp-hrmenu .cbp-hrsub-inner {width: 100%;margin: 0 auto;padding: 0 1.875em;}
.cbp-hrmenu > ul > li {display: inline-block; padding-left: 20px; padding-right: 20px;}
.cbp-hrmenu > ul > li > a {color:#000;}
.cbp-hrmenu > ul > li > a:hover {}
.cbp-hrmenu > ul > li.cbp-hropen a {color:#AA20FF;}
.cbp-hrmenu > ul > li.cbp-hropen > a:hover {color:#AA20FF;} 

.cbp-hrmenu .cbp-hrsub {display: none;position: absolute;background: #fff !important; margin-left: -40px; top:75px;border:0px solid #000; border-radius: 10px; box-shadow: 10px 10px 20px rgba(0,0,0,0.05); max-width:680px;}
.cbp-hropen .cbp-hrsub {display: block;padding-bottom: 30px; padding-top: 30px; padding-left: 40px; padding-right: 40px;}
.cbp-hrmenu .cbp-hrsub-inner > div {min-width: 150px;float: left;padding: 0 0px 0px 0px;}
.cbp-hrmenu .cbp-hrsub-inner > div > ul {float:none;}
.cbp-hrmenu .cbp-hrsub-inner:before,
.cbp-hrmenu .cbp-hrsub-inner:after {content: " ";display: table;}
.cbp-hrmenu .cbp-hrsub-inner:after {clear: both;}
.cbp-hrmenu .cbp-hrsub-inner > div a {line-height: 130%;color:#999 !important;font-size: 14px; font-family:'font-B',sans-serif; padding-top: 7px; padding-bottom: 7px; word-break: keep-all; display: block; width: 100%;}
.cbp-hrmenu .cbp-hrsub-inner > div a:hover{color:#000 !important;}
.cbp-hrsub h4 {color: #000;padding: 0px 0 15px;margin: 0;font-size: 18px;line-height: 130%;}

.cbp-hrmenu-btm {position: fixed; top:0px; left: -100%; width: 100%; background-color: #fff; z-index: 103; height:100%; box-shadow: 10px 10px 20px rgba(0,0,0,0.05); overflow-y: scroll; transition: all 600ms cubic-bezier(0.86, 0, 0.07, 1);}
.cbp-hrmenu-btm > ul,.cbp-hrmenu .cbp-hrsub-inner {width: 100%;padding: 0;}
.cbp-hrmenu-btm > ul > li {display: block;border-bottom: 1px solid #eee; padding-left: 0px; padding-right: 0px; text-indent: 20px;}
.cbp-hrmenu-btm > ul > li > a { display: block;padding: 0; width: 100%; line-height: 60px; font-size: 18px;}
.cbp-hrmenu-btm .cbp-hrsub { position: relative;}
.cbp-hrmenu-btm .cbp-hrsub h4 {padding-top:20px; font-size: 16px;}

.cbp-hrmenu-btm .cbp-hrsub-inner > div {width: 100%;float: none;padding: 0;}

.cbp-hrmenu-btm .cbp-hropen .cbp-hrsub {padding-top: 0px; margin-left: 0px; border-radius: 0px; box-shadow: none; top: auto; max-width: inherit; padding-left: 0px; padding-right: 0px;}
.cbp-hrmenu-btm a {float:none; }
.cbp-hrmenu-btm ul {float:none;}
.cbp-hrmenu-btm .cbp-hrsub-inner {padding-left: 0px; padding-right: 0px;}
.cbp-hrmenu-btm .cbp-hrsub-inner > div  {padding-left: 0px; padding-right: 0px; padding-bottom: 20px;}
.cbp-hrmenu-btm .cbp-hrsub ul li a {padding-top: 5px; padding-bottom: 5px; display: block; font-size: 16px;}

.cbp-hrmenu-btm.active {left: 0%;}
#m_gnb_close_btn {position: fixed; top:0px; right:0px; z-index: 104; display: none; background-color: transparent; width:80px; height:80px;}
#m_gnb_close_btn img {width: 15px;}
#m_gnb_close_btn.active {display: block;}
/* } */



/* 버튼 { */
.btn_round {background-color: #25282B; border:1px solid #25282B; color:#fff; height:40px; border-radius: 40px; padding-left: 25px; padding-right: 25px;}
.arr_bg {background-color: #fff; color:#25282B; border:1px solid #25282B; background-image: url('../rb.img/icon/arr_right.svg'); background-repeat: no-repeat; background-position: center right 20px; padding-right: 40px;}
.tiny_tab_btn {height:24px; background-color: #fff; color:#999; border-radius: 30px; padding-left: 10px; padding-right: 10px; border:1px solid #ddd; font-size: 12px;}
.tiny_tab_btn:hover {border-color:#25282B; color:#25282B}
.tiny_tab_btn.active {border-color:#25282B; color:#25282B}
.btn_round.btn_round_bg {background-color: #AA20FF; border:1px solid #AA20FF; color:#fff; height:40px; border-radius: 40px; padding-left: 25px; padding-right: 25px;}
/* } */

/* 모듈설정OV { */
.content_box {position: relative;}
.content_box .admin_ov {display: none; opacity: 0; position: absolute; top:0px; left: 0px; width: 100%; height:100%; background-color: rgba(255,255,255,0.9); border-radius: 10px; z-index: 97; transition: all 350ms cubic-bezier(0.645, 0.045, 0.355, 1);cursor: -moz-progress; cursor: -webkit-progress; cursor:progress }
.content_box .admin_ov .mod_edit {position: relative; width: 100%; height:100%;}
.content_box .admin_ov .mod_edit h2 {font-size: 16px;}
.content_box .admin_ov .mod_edit h2 span {color:#AA20FF;}
.content_box .admin_ov .mod_edit button {margin-top: 5px;}
.content_box .admin_ov .mod_edit h6 {color:#666; font-size: 12px; font-weight: normal; margin-top: 5px; word-break: keep-all; margin-bottom: 15px;}
.content_box_set .admin_ov {display: block;}
.content_box_set:hover .admin_ov {opacity: 1;}
/* } */

/* 모듈박스 { */
.flex_box {display: flex; flex-direction:row; flex-wrap: wrap; list-style-type: none; gap:0px; margin-left: -20px; margin-right: -20px;}
.main_content_left {float:left; width: 70%;}
.main_content_right {floaT:right; width: 30%; padding-left: 50px;}
.content_box {box-sizing: border-box; width: 100%; padding: 20px;}
.add_module_wrap {width: 100%; padding-left: 20px; padding-right: 20px; box-sizing: border-box; padding-top: 20px; padding-bottom: 20px;}
.add_module_btns {background-color: #f1f1f1; color:#25282B; width: 100%; height:47px; border-radius: 10px; border:0px; margin-bottom: 50px; margin: 0 auto;}
.no_data_section {text-align: center; padding-top: 100px; padding-bottom: 100px; width: 100%; border-radius: 10px; padding-left: 20px; padding-right: 20px; box-sizing: border-box;}
.no_data_section_ul1 {padding-top: 20px; padding-bottom: 20px; font-size: 18px;}
.no_data_section_ul2 {color:#666;}
/* } */

/* 메인광고 { */
.top_ad {position: relative; box-sizing: border-box; cursor: pointer; width: 100% !important; height:auto !important; overflow: hidden;}
.top_ad img {width:100%; height:auto; box-sizing: border-box;}
.ico_ad {position: absolute; top:10px; left: 10px; line-height: 20px; font-size: 10px; color:#fff; background-color: rgba(0,0,0,0.3); border-radius: 4px; padding-left: 7px; padding-right: 7px;}
/* } */

/* 서브광고 { */
.point_ad {position: relative; box-sizing: border-box; cursor: pointer; width: 100%; height:100%; border-radius: 10px; overflow: hidden;}
.point_ad img {width:100%; height:100%; box-sizing: border-box;}
.ico_ad2 {position: absolute; top:10px; right: 10px; line-height: 20px; font-size: 10px; color:#fff; background-color: rgba(0,0,0,0.3); border-radius: 4px; padding-left: 7px; padding-right: 7px;}
/* } */

/* 배너 { */

/* 일반 { */
.default_bn img {box-sizing: border-box;}
.default_bn ul {margin:0px; padding: 0px;}
/* } */

/* 슬라이드 { */
.slide_bn {width: 100% !important; height: auto !important;}
.slide_bn img {box-sizing: border-box;}
.slide_bn .swiper-wrapper {height:auto !important;}


.mb-0 {margin-bottom: 0px !important;}
/* } */

/* 랜덤 { */
.random_bn img {box-sizing: border-box;}
.random_bn ul {margin:0px; padding: 0px;}
/* } */

/* 개별 { */
.each_bn img {box-sizing: border-box;}
/* } */

.bn_border {box-shadow: 0 0 0 1px #ddd, 0 1px 2px 0 rgba(0,0,0,.04);}
.bn_radius {border-radius: 10px;}
/* } */

/* 컨텐츠 { */
#container_title {color:#999; font-size: 16px; display: block; padding-bottom: 30px;}

.bbs_main_wrap_tit {margin-bottom: 30px;}
.bbs_main_wrap_tit_l {float:left;}
.bbs_main_wrap_tit_l a {font-size: 20px;}
.bbs_main_wrap_tit_r {float:right; position: relative;}
.arr_up_btn {width: 24px; height:24px; border:1px solid #ddd; border-radius: 4px; padding-bottom: 2px;}
.arr_up_btn:hover {border-color: #25282B;}
.arr_down_btn {width: 24px; height:24px; border:1px solid #ddd; border-radius: 4px; padding-bottom: 2px;}
.arr_down_btn:hover {border-color: #25282B;}
.more_btn {height:24px; border:1px solid #ddd; border-radius: 24px; color:#999; padding-left: 10px; padding-right: 10px; font-size: 12px; margin-left: 30px;}
.more_btn:hover {border-color: #25282B; color:#25282B;}
.bbs_main_wrap_con {box-sizing: border-box; position: relative;}
.bbs_main_wrap_con dd {margin-bottom: 10px; position: relative; min-height: 45px;}
.bbs_main_wrap_con dd:last-child {margin-bottom: 0px;}
.bbs_main_wrap_con .bbs_main_wrap_con_ul1 {width: auto; position: absolute; top:0px; left: 0px;}
.bbs_main_wrap_con .bbs_main_wrap_con_ul2 {width: 100%; padding-left: 72px;}
.bbs_main_wrap_con .bbs_main_wrap_con_info {font-size: 12px; color:#999;}
.bbs_main_wrap_con .bbs_main_wrap_con_cont {font-size: 14px; color:#666; word-break: keep-all; margin-top: 5px;}
.bbs_main_wrap_con .bbs_main_wrap_con_cont a {color:#000;}

.ovlay_wrap {}
.prof_image img {width: 52px; height:auto; border-radius: 10px;}
.ovlay {height: 100%; overflow: hidden; box-sizing: border-box;}
.ovlay.active {position: absolute; top:0px; left: 0px; width: 100%; height:auto; background-color: #fff; z-index: 97; padding: 20px; box-sizing: border-box; border:1px solid rgba(0,0,0,0.05); border-radius: 10px; box-shadow: 0px 10px 20px rgba(0,0,0,0.1);}



.arr_prev_btn {width: 24px !important; height:24px !important; border:1px solid #ddd; border-radius: 4px; top:0px !important; right:120px !important; left: auto !important; padding-bottom: 2px;}
.arr_prev_btn:hover {border-color: #25282B;}
.arr_next_btn {width: 24px !important; height:24px !important; border:1px solid #ddd; border-radius: 4px; top:0px !important; right:90px !important; left: auto !important; padding-bottom: 2px;}
.arr_next_btn:hover {border-color: #25282B;}

.arr_plus_btn {width: 24px !important; height:24px !important; border:1px solid #ddd; border-radius: 4px; top:0px !important; right:90px !important; left: auto !important; padding-bottom: 2px;}
.arr_plus_btn:hover {border-color: #25282B;}

.arr_prev_btn,
.arr_next_btn {
    margin-top: inherit !important;
    display: inherit !important;
    align-items:baseline !important;
    justify-content:flex-end !important;

}

.bbs_main_wrap_point_con {box-sizing: border-box; width: 100%; min-height: 148px;}
.bbs_main_wrap_point_con dd {position: relative;}
.bbs_main_wrap_point_bn {margin-top: 40px;}

.point_list_num {background-color: #aaa; color:#fff; font-size: 10px; line-height: 20px; border-radius: 4px; margin-right: 10px; float:left; text-align: center; width:25px;}
.point_list_name {line-height: 20px; float:left; width: 45%;}
.point_list_point {line-height: 20px; float:right; font-size: 12px;}
.point_list_ch {font-size: 11px; float:right; line-height: 20px; margin-right: 15px;}
.top1_bg {background-color: #AA20FF;}
.top2_bg {background-color: #25282B;}

.bbs_main_wrap_trade_con {box-sizing: border-box; width: 100%}
.bbs_main_wrap_trade_con dd {position: relative;}
.bbs_main_wrap_trade_con dd:last-child {margin-bottom: 0px;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_ul2 {width: 100%;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_subj {font-size: 16px;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_cont {font-size: 14px; color:#666; word-break: keep-all; margin-top: 15px;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_cont a {color:#666;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_info {font-size: 12px; color:#999; margin-top: 5px;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_writer {margin-top: 0px;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_writer span {display: inline-block;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_ico {margin-bottom: 10px;}
.bbs_main_wrap_trade_con .bbs_main_wrap_con_ico span {display: inline-block;}

.bbs_list_label2 {line-height: 23px; font-size: 12px; border-radius: 4px; padding-left: 7px; padding-right: 7px;}
.bbs_list_label2.label_w1 {background-color: #fff; color:#999; border:1px solid #ddd;;}
.bbs_list_label2.label_w2 {background-color: #fff; color:#25282B; border:1px solid #ddd;}
.bbs_list_label2.label_w3 {background-color: #fff; color:#AA20FF; border:1px solid #ddd;}
/* } */

/* 풋터 { */
footer {border-top:1px solid #ddd;}
footer .footer_gnb {padding-top: 20px; padding-bottom: 20px;}
footer .footer_gnb_ul1 {float:left; width: 50%; line-height: 35px;}
footer .footer_gnb_ul1 a {margin-right: 30px;}
footer .footer_gnb_ul1 .footer_gnb_li1 {float:left; width: 10%;}
footer .footer_gnb_ul1 .footer_gnb_li2 {float:left; width: 90%; box-sizing: border-box;}
footer .footer_gnb_ul2 {float:right; width: 50%; text-align: right; line-height: 35px;}
footer .footer_gnb_ul2 a {margin-left: 30px;}
footer .footer_sns_ico img {width: 35px; height:auto; border-radius: 10px;}
footer .footer_gnb_ul2 a.footer_sns_ico {margin-left:2px;}

footer .footer_copy {background-color: #25282B; padding-top: 50px; padding-bottom: 50px;}
footer .footer_copy_ul1 {float:left;}
footer .footer_copy_ul2 {float:right; text-align: right;}
footer .footer_copy_ul1_li1 a {color:#fff; margin-right: 30px; line-height: 40px;}
footer .footer_copy_ul1_li1 a img {margin-top: -1px; height:40px;}
footer .footer_copy_ul1_li2 {font-size: 14px; color:#888; margin-top: 20px; line-height: 140%;}
footer .footer_copy_ul1_li3 {font-size: 12px; color:#666; margin-top: 20px;}
footer .footer_btn {border:1px solid #555; color:#999; padding-left: 30px; padding-right: 30px; border-radius: 53px; height:53px;}
footer .footer_btn i {float:left; margin-right: 15px;}
footer .footer_btn span {float:right; font-size: 16px;}
footer .footer_btn:hover {border-color:#fff; color:#fff;}
/* } */


/* 캡챠 { */
#captcha_info {display: none !important;}
#captcha #captcha_mp3 {background: url(../../../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat; border:1px solid #ddd;}
#captcha #captcha_reload {background: url(../../../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat 0 -40px; border:1px solid #ddd}
#captcha button:hover {border-color: #000 !important;}
#captcha #captcha_img {border:0px; height:28px; margin-top: 7px; width:auto;}
#captcha #captcha_key {border:1px solid #ddd; font-size: 16px; width:90px; font-family:'font-B',sans-serif;}
#captcha #captcha_key:focus {border:1px solid #000 !important; box-shadow:none;}
#captcha {border:1px solid #ddd; width: auto; padding: 10px; box-sizing: border-box; border-radius: 10px;}
    
#captcha_info {display: none !important;}
#captcha #captcha_mp3 {background: url(../../../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat; border:1px solid #ddd}
#captcha #captcha_reload {background: url(../../../theme/rb.basic/rb.img/icon/cp_btn_img.png) no-repeat 0 -40px; border:1px solid #ddd}
#captcha.m_captcha button:hover {border-color: #000 !important;}
#captcha.m_captcha #captcha_img {border:0px; height:28px; margin-top: 7px; width:auto; display:inline;}
#captcha.m_captcha #captcha_key {border:1px solid #ddd; font-size: 16px; background:#fff; height:40px; width:90px; font-family:'font-B',sans-serif;}
#captcha.m_captcha #captcha_key:focus {border:1px solid #000 !important; box-shadow:none;}
#captcha.m_captcha {border:1px solid #ddd; width: 100%; padding: 10px; box-sizing: border-box; border-radius: 6px; text-align:center}

/* } */


/* 기존 스타일 수정 { */

.sv_member .profile_img img {border-radius: 50%; margin-right: 3px; margin-top: -2px;}
.sv_member {font-family:'font-B',sans-serif; font-size: 12px; color:#999;}
.sv_member:hover {color:#000;}
.sch_word {color:#AA20FF; background: none; padding: 0px; line-height: inherit; margin: 0px;}
.btn_submit {border:0;background:#AA20FF;color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:#AA20FF}
.sv_wrap .sv a {color:#fff !important; font-size: 12px !important; border-bottom: 1px solid rgba(255,255,255,0.1); font-family:'font-R',sans-serif; font-weight: normal;}
.sv_wrap .sv a:first-child {border-top-left-radius: 6px; border-top-right-radius: 6px;}
.sv_wrap .sv a:last-child {border-bottom-left-radius: 6px; border-bottom-right-radius: 6px;}
.sv_wrap .sv {margin: 4px 0px; border-radius: 6px; box-shadow: 10px 10px 20px rgba(0,0,0,0.1); z-index: 97;}
.sv_wrap .sv:before {left: 50%; transform: translateX(-50%);}

.new_win #win_title {box-shadow: none; border-bottom: 1px solid #ddd;}
#scrap_do .scrap_tit {font-size: 14px !important; border-radius: 10px; padding: 20px !important; box-sizing: border-box;}
.new_win .win_desc {border-radius: 10px;}
.new_win .win_desc::after {display: none;}
.new_win .btn_submit {font-weight: normal; border-radius: 10px; font-family:'font-B',sans-serif;}
.btn_close {border-radius: 10px; font-family:'font-B',sans-serif;}
.reply_btn {border-radius: 10px !important; font-weight: normal; font-family:'font-B',sans-serif; line-height: 45px !important;}
.frm_info {display: block; margin-top: 10px; font-size: 12px; color:#999; word-break: keep-all;}

.new_win .win_ul {
    margin: 10px 0px 15px 0px;
    padding: 0 20px;
}
.new_win .win_ul li {border:1px solid #ddd;}
.new_win .win_ul li a {color:#999;}
.new_win .win_ul .selected a {font-weight: normal;}
.new_win .win_ul .selected {background: #AA20FF; border-color: #AA20FF;}
.reply_btn {background: #AA20FF !important;}
.memo_list .memo_preview_text {font-size: 14px !important;}
#memo_list .memo_datetime {display:inline-flex !important;align-items:center !important;flex-wrap:wrap !important}
#memo_list .memo_datetime__time {display:inline-block !important}
#memo_list .memo_read_badge {display:inline-block !important;margin-left:10px !important;font-weight:500 !important;vertical-align:middle !important}
#memo_list .memo_read_badge--unread {color:#3a8afd !important}
#memo_list .memo_read_badge--read {color:#888d92 !important}
.memo_list li {padding: 20px 20px !important;}
#memo_list .memo_del {top:50% !important; transform: translateY(-50%);}
.memo_list .profile_big_img img {border-radius: 10px !important;}
.memo_list .no_read {box-shadow: none !important; background-color: #AA20FF !important; border:0px !important; width: 14px !important; height:14px !important; bottom:-2px !important; right:-2px !important;}
.memo_list .memo_preview_text {padding-top: 5px !important;}
.memo_list .memo_li.memo_name {padding-top: 7px !important;}
.new_win .win_desc i {display: none;}
.new_win .win_total {color:#000; font-weight: normal; font-size: 12px;}
#memo_view p {padding: 20px !important;}
#memo_view_contents,
#memo_view_contents .memo_view_body {
    -webkit-user-select: text !important;
    user-select: text !important;
}
#memo_view_contents .memo_view_body a,
#memo_view_contents .memo_view_body a.memo_autolink {
    color: #3a8afd !important;
    text-decoration: underline !important;
    word-break: break-all;
    pointer-events: auto !important;
    cursor: pointer !important;
    -webkit-user-select: text !important;
    user-select: text !important;
    touch-action: manipulation !important;
}
#memo_view_contents .memo_view_body a:hover {
    color: #2563c7 !important;
}
.memo_from li.memo_view_date {font-size: 12px;}
.memo_from li.memo_view_nick {margin-top: 3px;}
.memo_list li.read {background-color: #f9f9f9 !important;}

.pg_wrap {float:none; width: 100%; text-align: center; margin-top: 30px;}
.pg_page {color:#000; min-width: 40px; height:40px; line-height: 40px; border-radius: 40%; background-color: transparent;}
.pg_current {background-color: #AA20FF; border:0px; height:40px; line-height: 40px; min-width: 40px; border-radius: 40%;}

.list_help_wrap {margin-bottom: -30px; margin-top: 20px; background-color: #f9f9f9; padding: 20px; box-sizing: border-box; font-size: 14px; color:#000; border-top-left-radius: 0px; border-top-right-radius: 0px;}

#point .point_status {background-color: #f9f9f9 !important; color:#000 !important;}
#point .point_all .full_li {border: 0px !important;}
#point .point_all {background-color: #AA20FF !important; border:0px !important; color:#fff !important; border-radius: 10px !important;}
#point .point_all .full_li span {color:#fff !important; font-weight: normal !important; font-family:'font-B',sans-serif !important;}
.point_list .txt_expired {font-size: 12px;}
.point_list .point_tit {font-weight: normal !important;}
.point_list .point_date1 {font-size: 12px; color:#999;}
.point_list .point_num {font-weight: normal !important; right:20px !important; font-size: 14px !important; font-family:'font-B',sans-serif !important; color:#000 !important;}
.point_list li {padding: 20px !important;}
.point_list .point_num.reds {color:red !important;}
.point_list .point_use {background-color: #f9f9f9 !important;}

#scrap .scrap_datetime {font-size: 12px; color:#999;}
#scrap .scrap_cate {background-color: #f1f1f1 !important; color:#000 !important; margin-top: -2px; padding-left: 6px !important; padding-right: 6px !important;}
#scrap .scrap_tit {font-weight: normal !important;}
#scrap .scrap_del {top:45% !important; transform: translateY(-50%); right:20px !important;}

#ctt {margin: 0px !important; padding: 0px !important;}
#ctt_con {word-break: keep-all;}
#ctt_con p {word-break: keep-all;}
.ctt_admin {display: none !important;}

#hd_pop {position: fixed;margin: 0px; width: 100%; z-index: 99999;}
.hd_pops {background-color: #000 !important; border:0px !important; box-shadow: 30px 30px 60px rgba(0,0,0,0.1); margin: 0 auto;}
.hd_pops_close {padding-left: 20px !important; padding-right: 20px !important;}
.hd_pops_close .fa.fa-times {display: none !important;}
.hd_pops_footer button {font-size: 12px;}
.sv_wrap .sv a {text-align: left;}

.swiper-slide-category {width:auto !important;}
#bo_cate #bo_cate_ul:before {display:none !important;}
#bo_cate{border-bottom: 1px solid rgba(0,0,0,0.1);}
.copymove_current {background-color: #212121; padding-left: 10px; padding-right: 10px; font-size: 12px;  line-height: 100%; margin-right: 15px;}
#copymove .tbl_head01 thead th {padding-top: 15px; padding-bottom: 15px;}
.btn_cancel {background-color: #fff !important; color:#000 !important; border:1px solid #ddd !important;}
#copymove .tbl_wrap {margin: 0px; margin-top: -1px; margin-bottom: 20px;}
/* } */


/* 좌측히든 { */
.user_prof_bg {background-color: #f9f9f9; padding-top:70px !important; padding-bottom: 70px !important; width: 100% !important; margin: 0 !important;}
.user_prof {text-align: center; margin-top: -50px !important;}
.user_prof img {border-radius: 20px;}
.user_prof_bg_info {border-bottom: 0px !important; text-align: center; font-size: 30px; text-indent: 0px !important;}
.user_prof_bg_info span {font-size: 12px;color: #000;background-color: #f1f1f1;padding: 3px 10px 3px 10px;border-radius: 6px;display: inline-block;vertical-align: middle; text-indent: 0px !important;}
.user_prof_bg_info a {color:#000 !important;}
.user_prof_btns {text-align: center; margin-top: 30px; margin-bottom: 30px;}
/* } */

/* 20240604 추가 { */
#logo_img {height:40px; width:auto;}
/* } */

/* ========== 다크모드 ========== */
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 .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 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_textarea {
    background: transparent !important;
    color: #e0e0e0 !important;
}
.dark-mode .compose_textarea::placeholder {
    color: #888 !important;
}
/* 피드 글쓰기 텍스트창 포커스 시에도 비포커스와 같은 테두리 유지 (파란색으로 바뀌지 않게) */
.compose_textarea:focus {
    outline: none !important;
    border: 1px solid #ddd !important;
    box-shadow: none !important;
}
.dark-mode .compose_textarea:focus {
    border-color: #e0e0e0 !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);
}
/* 검정/어두운 이모티콘 - 다크모드에서 밝게 */
.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;
}
/* 플로팅 퀵메뉴 - 다크모드 */
.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.1) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
.dark-mode .card-front:hover,
.dark-mode .card-back:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !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.1) !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;
}

/* OX 게임(ox_game.php - 징검다리) 다크모드 */
.dark-mode #gameContainer {
    background: #252525 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
.dark-mode .game-container {
    color: #e0e0e0;
}
.dark-mode .timer-label {
    color: #b0b0b0 !important;
}
.dark-mode .timer-bar-wrapper {
    background: #404040 !important;
    border-radius: 12px;
}
.dark-mode .timer-bar {
    background: #667eea !important;
}
.dark-mode .game-score-header {
    background: rgba(45, 45, 45, 0.95) !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.dark-mode .game-question {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .game-area {
    box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.4);
}
.dark-mode .game-btn-o {
    background: #2e7d32 !important;
    color: #fff !important;
}
.dark-mode .game-btn-o:active:not(:disabled) {
    background: #1b5e20 !important;
}
.dark-mode .game-btn-x {
    background: #e65100 !important;
    color: #fff !important;
}
.dark-mode .game-btn-x:active:not(:disabled) {
    background: #bf360c !important;
}
.dark-mode .game-over {
    background: rgba(0, 0, 0, 0.9) !important;
}
.dark-mode .game-over-content {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}
.dark-mode .game-over-title-row h2 {
    color: #e0e0e0 !important;
}
.dark-mode .game-over p {
    color: #b0b0b0 !important;
}
.dark-mode .game-over button {
    background: #2e7d32 !important;
    color: #fff !important;
}
.dark-mode .game-over button:hover {
    background: #1b5e20 !important;
}
.dark-mode .game-over button.btn-cancel {
    background: #555 !important;
}
.dark-mode .game-over button.btn-cancel:hover {
    background: #444 !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 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;
}
/* filter_item select만 색+SVG를 한 번에 (background 단축 분리 시 repeat 타일링 방지) */
.dark-mode .write_form .filter_item select {
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
    background: #252525 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") no-repeat right 12px center / 12px 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;
}

/* ----- 다크모드: 카드 검색 모달 (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;
}

/* 출석체크 페이지(rb/attend.php) 다크모드 */
.dark-mode .rb-att-head a {
    border-color: rgba(255, 255, 255, 0.25);
    color: #e0e0e0;
}
.dark-mode .rb-att-head a:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.35);
}
.dark-mode .rb-att-title {
    color: #e0e0e0;
}
.dark-mode .rb-att-cal th,
.dark-mode .rb-att-cal td {
    border-color: rgba(255, 255, 255, 0.12);
}
.dark-mode .rb-att-cal th {
    background: #252525;
    color: #e0e0e0;
}
.dark-mode .rb-att-cal td:hover {
    background-color: rgba(255, 255, 255, 0.06);
}
.dark-mode .rb-att-today {
    background-color: rgba(102, 126, 234, 0.2);
}
.dark-mode .rb-att-selected {
    box-shadow: inset 0 0 0 1px #667eea;
}
.dark-mode .rb-att-day {
    color: #e0e0e0;
}
.dark-mode .rb-att-form {
    background: #252525;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.dark-mode .rb-att-form textarea {
    background: #2d2d2d !important;
    color: #e0e0e0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.dark-mode .rb-att-count {
    color: #e0e0e0;
}
.dark-mode .rb-att-btn button {
    border-color: #667eea;
    background: #667eea;
    color: #fff;
}
.dark-mode .rb-att-btn button:hover:not(:disabled) {
    background: #5a6fd6;
    border-color: #5a6fd6;
}
.dark-mode .rb-att-btn button.is-completed {
    background: #404040;
    border-color: rgba(255, 255, 255, 0.2);
    color: #b0b0b0;
}
.dark-mode .rb-att-msg {
    color: #999;
}
.dark-mode .rb-att-list-head {
    border-bottom-color: rgba(255, 255, 255, 0.12);
    color: #e0e0e0;
}
.dark-mode .rb-att-item {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}
.dark-mode .rb-att-badge {
    background: #404040;
    color: #e0e0e0;
}
.dark-mode .rb-att-badge.r1 { background: #667eea; color: #fff; }
.dark-mode .rb-att-badge.r2 { background: #555; color: #fff; }
.dark-mode .rb-att-badge.r3 { background: #666; color: #fff; }
.dark-mode .rb-att-badge.r4 { background: #777; color: #fff; }
.dark-mode .rb-att-badge.r5 { background: #888; color: #fff; }
.dark-mode .rb-att-meta {
    color: #999;
}
.dark-mode .rb-att-text {
    color: #e0e0e0;
}
.dark-mode .rb-att-empty {
    color: #888;
}
.dark-mode .rb-att-top-no {
    border-color: rgba(255, 255, 255, 0.15);
    background: #252525;
    color: #e0e0e0;
}
.dark-mode .rb-att-earned {
    background: rgba(102, 126, 234, 0.25);
    color: #c0c8ff;
}

/* 통계 모달 - 다크모드 (총 회원수 / 실시간 이용자 목록) */
.dark-mode #statsContent .stats-summary-card {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.dark-mode #statsContent .stats-summary-card .stats-row {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #statsContent .stats-summary-card .stats-row > div:first-child {
    color: #e0e0e0 !important;
}
.dark-mode #statsContent .stats-summary-card .stats-row > div:last-child {
    color: #c0c0c0 !important;
}
.dark-mode #statsContent .stats-user-list-card {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.dark-mode #statsContent .stats-user-list-card h3 {
    color: #e0e0e0 !important;
}
.dark-mode #statsContent .stats-user-list-body .stats-user-row {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #statsContent .stats-user-list-body .stats-user-row span[style*="color: #007bff"] {
    color: #7b9cff !important;
}
.dark-mode #statsContent .stats-user-list-body .stats-user-row span[style*="color: #333"] {
    color: #b0b0b0 !important;
}
.dark-mode #statsContent .stats-user-list-body .stats-user-row > div:last-child {
    color: #999 !important;
}
.dark-mode #statsContent .stats-user-list-body .stats-user-row span[style*="color: #999"] {
    color: #777 !important;
}
.dark-mode #statsContent .stats-user-list-card > div[style*="color: #999"] {
    color: #888 !important;
}

/* 메모 모달(ZAVIST 알림) 다크모드 - overlay에 dark-mode 클래스 부여 시 적용 */
#memo-modal-overlay.dark-mode {
    background: rgba(0, 0, 0, 0.8) !important;
}
#memo-modal-overlay.dark-mode #memo-modal {
    background: #2d2d2d !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}
#memo-modal-overlay.dark-mode #memo-modal > div:first-child {
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
#memo-modal-overlay.dark-mode #memo-modal h3 {
    color: #e0e0e0 !important;
}
#memo-modal-overlay.dark-mode #memo-modal-close {
    background: #404040 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
#memo-modal-overlay.dark-mode #memo-modal-close:hover {
    background: #505050 !important;
    color: #fff !important;
}

/* 포인트 모달 다크모드 (알림 모달과 동일) */
#point-modal-overlay.dark-mode {
    background: rgba(0, 0, 0, 0.8) !important;
}
#point-modal-overlay.dark-mode #point-modal {
    background: #2d2d2d !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}
#point-modal-overlay.dark-mode #point-modal > div:first-child {
    background: #1a1a1a !important;
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
#point-modal-overlay.dark-mode #point-modal h3 {
    color: #e0e0e0 !important;
}
#point-modal-overlay.dark-mode #point-modal-close {
    background: #404040 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #e0e0e0 !important;
}
#point-modal-overlay.dark-mode #point-modal-close:hover {
    background: #505050 !important;
    color: #fff !important;
}

/* memo.php(iframe 내부) 다크모드 - ZAVIST 알림 목록 */
.dark-mode #memo_list.new_win,
.dark-mode #memo_list .new_win_con2 {
    background: #1a1a1a !important;
    color: #e0e0e0;
}
.dark-mode #memo_list [style*="border-bottom:1px solid #ececec"] {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #memo_list [style*="background:#f5f5f5"] {
    background: #404040 !important;
}
.dark-mode #memo_list [style*="color:#333"] {
    color: #e0e0e0 !important;
}
.dark-mode #memo_list [style*="color: #333"] {
    color: #e0e0e0 !important;
}
.dark-mode #memo_list [style*="color:#666"],
.dark-mode #memo_list .win_total {
    color: #b0b0b0 !important;
}
.dark-mode #memo_list .win_ul {
    border-color: rgba(255, 255, 255, 0.1);
}
.dark-mode #memo_list .win_ul li a {
    color: #e0e0e0;
}
.dark-mode #memo_list .win_ul li.selected a {
    color: #7b9cff;
    font-weight: bold;
}
.dark-mode #memo_list .memo_list {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #memo_list .memo_list li {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    background: #252525 !important;
}
.dark-mode #memo_list .memo_list li.read {
    background: #2d2d2d !important;
}
.dark-mode #memo_list .memo_list li.empty_table {
    color: #888 !important;
}
.dark-mode #memo_list .memo_read_badge--unread {
    color: #6eb3ff !important;
}
.dark-mode #memo_list .memo_read_badge--read {
    color: #9aa0a6 !important;
}
.dark-mode #memo_list .memo_datetime {
    color: #999 !important;
}
.dark-mode #memo_list .memo_preview_text {
    color: #e0e0e0 !important;
}
.dark-mode #memo_list .memo_item_link:hover .memo_preview_text {
    color: #7b9cff !important;
}
.dark-mode #memo_list .memo_del {
    color: #666 !important;
}
.dark-mode #memo_list .memo_del:hover {
    color: #7b9cff !important;
}
.dark-mode #memo_list .pg_wrap a,
.dark-mode #memo_list .pg_wrap .pg_current {
    color: #e0e0e0 !important;
}
.dark-mode #memo_list img[src*="icon_del.svg"] {
    filter: brightness(0) invert(0.7);
}

/* memo_form.php(알림 보내기) 다크모드 */
.dark-mode #memo_write.new_win,
.dark-mode #memo_write .new_win_con2 {
    background: #1a1a1a !important;
    color: #e0e0e0;
}
.dark-mode #memo_write #win_title {
    color: #e0e0e0 !important;
}
.dark-mode #memo_write .win_ul li a {
    color: #e0e0e0;
}
.dark-mode #memo_write .win_ul li.selected a {
    color: #7b9cff;
    font-weight: bold;
}
.dark-mode #memo_write .form_01 {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #memo_write .form_01 ul,
.dark-mode #memo_write .form_01 li {
    color: #e0e0e0;
}
.dark-mode #memo_write .frm_input,
.dark-mode #memo_write input[type="text"],
.dark-mode #memo_write textarea {
    background: #252525 !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0 !important;
}
.dark-mode #memo_write .frm_input::placeholder,
.dark-mode #memo_write textarea::placeholder {
    color: #888 !important;
}
.dark-mode #memo_write .frm_info {
    color: #999 !important;
}
.dark-mode #memo_write .reply_btn {
    background: #667eea !important;
    color: #fff !important;
    border: none !important;
}
.dark-mode #memo_write .reply_btn:hover {
    background: #5a6fd6 !important;
}

/* memo_view.php(알림 보기) 다크모드 */
.dark-mode #memo_view.new_win,
.dark-mode #memo_view .new_win_con2 {
    background: #1a1a1a !important;
    color: #e0e0e0;
}
.dark-mode #memo_view #win_title {
    color: #e0e0e0 !important;
}
.dark-mode #memo_view .win_ul li a {
    color: #e0e0e0;
}
.dark-mode #memo_view .win_ul li.selected a {
    color: #7b9cff;
    font-weight: bold;
}
.dark-mode #memo_view #memo_view_contents {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #memo_view #memo_view_ul {
    background: #252525 !important;
}
.dark-mode #memo_view .memo_from {
    background: #252525 !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.dark-mode #memo_view .memo_from li.memo_view_nick a {
    color: #e0e0e0 !important;
}
.dark-mode #memo_view .memo_from li.memo_view_date {
    color: #b0b0b0 !important;
}
.dark-mode #memo_view #memo_view_contents p {
    background: #252525 !important;
    color: #e0e0e0 !important;
    border-color: rgba(255, 255, 255, 0.1);
}
.dark-mode #memo_view_contents .memo_view_body a,
.dark-mode #memo_view_contents .memo_view_body a.memo_autolink {
    color: #7b9cff !important;
}
.dark-mode #memo_view_contents .memo_view_body a:hover {
    color: #9eb6ff !important;
}
.dark-mode #memo_view .memo_btn a {
    color: #b0b0b0 !important;
}
.dark-mode #memo_view .memo_btn a:hover {
    color: #7b9cff !important;
}
.dark-mode #memo_view .memo_del,
.dark-mode #memo_view .btn_b01.btn {
    color: #e0e0e0 !important;
}
.dark-mode #memo_view .memo_del:hover,
.dark-mode #memo_view .btn_b01.btn:hover {
    color: #7b9cff !important;
}
.dark-mode #memo_view img[src*="icon_back.svg"],
.dark-mode #memo_view img[src*="icon_del.svg"] {
    filter: brightness(0) invert(1);
}

/* 포인트 목록 다크모드 */
.dark-mode .point_list li {
    background: #252525 !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
.dark-mode .point_list li:first-child {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}
.dark-mode .point_list .point_tit {
    color: #e0e0e0 !important;
}
.dark-mode .point_list .point_num {
    color: #8ab4f8 !important;
}
.dark-mode .point_list .point_num.reds {
    color: #ff6b6b !important;
}
.dark-mode .point_list .point_date1,
.dark-mode .point_list .point_date {
    color: #888 !important;
}
.dark-mode .point_list .point_use {
    background: #1e1e1e !important;
}
.dark-mode .point_list .txt_expired {
    color: #ff6b6b !important;
}
.dark-mode #point .point_status {
    background-color: #333 !important;
    color: #e0e0e0 !important;
}
.dark-mode #point .point_all {
    background-color: #7b3aed !important;
}
.dark-mode .point_list_num {
    background-color: #555 !important;
}
.dark-mode .point_list_name {
    color: #e0e0e0;
}
.dark-mode .point_list_point {
    color: #b0b0b0;
}
.dark-mode .point_info_btns {
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #e0e0e0;
}
.dark-mode .point_info_btns:hover,
.dark-mode .point_info_btns.act {
    border-color: rgba(255, 255, 255, 0.3) !important;
}
.dark-mode .point_info_btns_wrap ul {
    background-color: #2d2d2d !important;
}
.dark-mode .point_info_opens {
    background-color: #2d2d2d !important;
    color: #e0e0e0;
}

