@charset "utf-8";
/*!
 * OMNIBUSCODE dark gray theme
 * ---------------------------------------------------------------------------
 * <html data-bs-theme="dark"> 일 때만 적용된다. light 일 때는 이 파일의
 * 어떤 규칙도 매칭되지 않으므로 기존 화이트 테마는 한 줄도 건드리지 않는다.
 *
 * 이 사이트는 Bootstrap 2.3 기반(layouts/the_bootstrap)이라 부트스트랩 자체에
 * CSS 변수가 없다. 그래서 팔레트만 변수로 두고 규칙은 직접 덮어쓴다.
 *
 * 우선순위: 모든 규칙이 [data-bs-theme="dark"] 를 앞에 달고 있어
 * 특이도가 원본보다 한 단계 높다. 로드 순서에 관계없이 이긴다.
 * (!important 는 원본이 !important 를 쓴 자리에서만 맞불로 쓴다)
 */

:root[data-bs-theme="dark"] {
  --omc-bg: #23262a;          /* 페이지 바탕 */
  --omc-surface: #2a2e33;     /* 본문 카드(article) */
  --omc-surface-2: #31363c;   /* well, thead, input, 드롭다운 */
  --omc-surface-3: #383e45;   /* hover */
  --omc-border: #3d434a;
  --omc-border-2: #4a5158;
  --omc-text: #d8dbdf;
  --omc-text-dim: #a2a8af;
  --omc-text-faint: #7f868d;
  --omc-link: #82b4f0;
  --omc-link-hover: #a9cdf8;
  --omc-accent: #3b7dd8;
  --omc-danger: #e57373;
  --omc-warn: #e0b25c;
  --omc-ok: #7fc08a;
  color-scheme: dark;         /* 스크롤바·기본 폼 컨트롤을 브라우저가 어둡게 그린다 */
}

/* ===========================================================================
   1. 바탕 / 기본 타이포
   =========================================================================== */
[data-bs-theme="dark"] body {
  /* style_cond 인라인이 노이즈 배경 이미지를 깔아둔다. 어두운 바탕에서는
     밝은 타일이 그대로 보여 지저분하므로 이미지를 걷어낸다. */
  background-image: none;
  background-color: var(--omc-bg);
  color: var(--omc-text);
}

[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6,
[data-bs-theme="dark"] legend {
  color: #e8ebee;
}

[data-bs-theme="dark"] a {
  color: var(--omc-link);
}
[data-bs-theme="dark"] a:hover,
[data-bs-theme="dark"] a:focus {
  color: var(--omc-link-hover);
}

[data-bs-theme="dark"] hr {
  border-top-color: var(--omc-border);
  border-bottom-color: transparent;
}

[data-bs-theme="dark"] small,
[data-bs-theme="dark"] .small,
[data-bs-theme="dark"] .help-block,
[data-bs-theme="dark"] .help-inline {
  color: var(--omc-text-dim);
}

/* style_cond 인라인의 .ac/.muted(#555) 를 덮는다 */
[data-bs-theme="dark"] .ac,
[data-bs-theme="dark"] .ac a,
[data-bs-theme="dark"] .muted,
[data-bs-theme="dark"] .muted a {
  color: var(--omc-text-dim);
}

[data-bs-theme="dark"] ::selection {
  background: #4a5a6d;
  color: #fff;
}
[data-bs-theme="dark"] ::-moz-selection {
  background: #4a5a6d;
  color: #fff;
}

/* ===========================================================================
   2. 본문 카드 / 사이드바
   =========================================================================== */
[data-bs-theme="dark"] .content > article,
[data-bs-theme="dark"] #content > article {
  background: var(--omc-surface);
  border-color: var(--omc-border);
  box-shadow: 0 0 1px rgba(0, 0, 0, .4);
}

[data-bs-theme="dark"] aside .well,
[data-bs-theme="dark"] .well {
  background-color: var(--omc-surface-2);
  border-color: var(--omc-border);
  box-shadow: 0 1px 1px rgba(0, 0, 0, .3);
  color: var(--omc-text);
}
[data-bs-theme="dark"] aside .well:hover {
  background-color: var(--omc-surface-3);
}

[data-bs-theme="dark"] .hero-unit,
[data-bs-theme="dark"] .thumbnail,
[data-bs-theme="dark"] .page-header {
  background-color: var(--omc-surface-2);
  border-color: var(--omc-border);
  color: var(--omc-text);
}

/* ===========================================================================
   3. 상단바 (원래도 어두운 navbar-inverse 지만 다크에서 더 가라앉힌다)
   =========================================================================== */
[data-bs-theme="dark"] .navbar-inverse .navbar-inner {
  background-color: #1c1f22;
  background-image: linear-gradient(to bottom, #24282c, #17191c);
  border-color: #101214;
}

[data-bs-theme="dark"] .navbar-inverse .nav > li > a {
  color: #c6cad0;
}
[data-bs-theme="dark"] .navbar-inverse .nav > li > a:hover,
[data-bs-theme="dark"] .navbar-inverse .nav > li > a:focus,
[data-bs-theme="dark"] .navbar-inverse .nav > .active > a,
[data-bs-theme="dark"] .navbar-inverse .nav > li.dropdown.open > a {
  color: #fff;
  background-color: #2c3136;
}

[data-bs-theme="dark"] .navbar-inverse .navbar-search .search-query {
  background-color: #2c3136;
  border-color: #14161a;
  color: var(--omc-text);
  box-shadow: none;
}
[data-bs-theme="dark"] .navbar-inverse .navbar-search .search-query:focus {
  background-color: #363c43;
  color: #fff;
}

[data-bs-theme="dark"] .navbar .divider-vertical {
  border-left-color: #16181b;
  border-right-color: #33383e;
}

[data-bs-theme="dark"] .navbar .btn-navbar {
  background-color: #2c3136;
  background-image: linear-gradient(to bottom, #34393f, #24282c);
  border-color: #14161a;
  color: #c6cad0;
}
[data-bs-theme="dark"] .navbar .btn-navbar:hover {
  background-color: #383e45;
  color: #fff;
}

/* ===========================================================================
   4. 드롭다운 / 팝오버 / 툴팁
   =========================================================================== */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: var(--omc-surface-2);
  border-color: rgba(0, 0, 0, .5);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .5);
}
[data-bs-theme="dark"] .dropdown-menu > li > a,
[data-bs-theme="dark"] .dropdown-menu > li > button {
  color: var(--omc-text);
}
[data-bs-theme="dark"] .dropdown-menu > li > a:hover,
[data-bs-theme="dark"] .dropdown-menu > li > a:focus,
[data-bs-theme="dark"] .dropdown-menu > li > button:hover,
[data-bs-theme="dark"] .dropdown-submenu:hover > a {
  background-color: var(--omc-accent);
  background-image: none;
  color: #fff;
}
[data-bs-theme="dark"] .dropdown-menu > .active > a,
[data-bs-theme="dark"] .dropdown-menu > .active > a:hover {
  background-color: var(--omc-accent);
  background-image: none;
  color: #fff;
}
[data-bs-theme="dark"] .dropdown-menu .divider {
  background-color: var(--omc-border);
  border-bottom-color: transparent;
}
[data-bs-theme="dark"] .dropdown-menu .nav-header {
  color: var(--omc-text-faint);
  text-shadow: none;
}

[data-bs-theme="dark"] #popup_menu_area {
  background-color: var(--omc-surface-2);
  border-color: rgba(0, 0, 0, .5);
}
[data-bs-theme="dark"] #popup_menu_area a {
  color: var(--omc-text);
}
[data-bs-theme="dark"] #popup_menu_area li > a:hover,
[data-bs-theme="dark"] #popup_menu_area .active > a {
  background-color: var(--omc-accent);
  color: #fff;
}

[data-bs-theme="dark"] .popover {
  background-color: var(--omc-surface-2);
  border-color: rgba(0, 0, 0, .5);
  color: var(--omc-text);
}
[data-bs-theme="dark"] .popover-title {
  background-color: var(--omc-surface-3);
  border-bottom-color: var(--omc-border);
  color: var(--omc-text);
}

/* ===========================================================================
   5. 폼 / 버튼
   =========================================================================== */
[data-bs-theme="dark"] input[type="text"],
[data-bs-theme="dark"] input[type="password"],
[data-bs-theme="dark"] input[type="email"],
[data-bs-theme="dark"] input[type="url"],
[data-bs-theme="dark"] input[type="search"],
[data-bs-theme="dark"] input[type="number"],
[data-bs-theme="dark"] input[type="tel"],
[data-bs-theme="dark"] input[type="date"],
[data-bs-theme="dark"] textarea,
[data-bs-theme="dark"] select,
[data-bs-theme="dark"] .uneditable-input {
  background-color: var(--omc-surface-2);
  border-color: var(--omc-border-2);
  color: var(--omc-text);
  box-shadow: none;
}
[data-bs-theme="dark"] input:focus,
[data-bs-theme="dark"] textarea:focus,
[data-bs-theme="dark"] select:focus {
  background-color: #363c43;
  border-color: var(--omc-accent);
  box-shadow: 0 0 4px rgba(59, 125, 216, .5);
  color: #fff;
}
[data-bs-theme="dark"] input::placeholder,
[data-bs-theme="dark"] textarea::placeholder {
  color: var(--omc-text-faint);
}
[data-bs-theme="dark"] input[disabled],
[data-bs-theme="dark"] input[readonly],
[data-bs-theme="dark"] textarea[disabled],
[data-bs-theme="dark"] select[disabled] {
  background-color: #23262a;
  color: var(--omc-text-faint);
}

[data-bs-theme="dark"] .btn {
  background-color: var(--omc-surface-2);
  background-image: linear-gradient(to bottom, #3a4048, #2d3238);
  border-color: #14161a;
  color: var(--omc-text);
  text-shadow: none;
  box-shadow: none;
}
[data-bs-theme="dark"] .btn:hover,
[data-bs-theme="dark"] .btn:focus,
[data-bs-theme="dark"] .btn.active,
[data-bs-theme="dark"] .btn:active {
  background-color: var(--omc-surface-3);
  background-image: none;
  color: #fff;
}
[data-bs-theme="dark"] .btn-primary {
  background-color: var(--omc-accent);
  background-image: linear-gradient(to bottom, #4a8ce4, #2f6cc0);
  border-color: #1d4a87;
  color: #fff;
}
[data-bs-theme="dark"] .btn-primary:hover {
  background-color: #4a8ce4;
  background-image: none;
}
[data-bs-theme="dark"] .btn-danger {
  background-image: linear-gradient(to bottom, #c9534f, #a83d3a);
  border-color: #7d2b29;
  color: #fff;
}
[data-bs-theme="dark"] .btn-success {
  background-image: linear-gradient(to bottom, #4f9d5b, #3d7d47);
  border-color: #2c5c33;
  color: #fff;
}
[data-bs-theme="dark"] .btn-link {
  background: none;
  border-color: transparent;
  color: var(--omc-link);
}

/* ===========================================================================
   6. 표
   =========================================================================== */
[data-bs-theme="dark"] .table,
[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td {
  color: var(--omc-text);
  border-color: var(--omc-border);
}
[data-bs-theme="dark"] .table thead th {
  background-color: var(--omc-surface-2);
  color: #e8ebee;
}
[data-bs-theme="dark"] .table-striped tbody > tr:nth-child(odd) > td,
[data-bs-theme="dark"] .table-striped tbody > tr:nth-child(odd) > th {
  background-color: rgba(255, 255, 255, .025);
}
[data-bs-theme="dark"] .table-hover tbody tr:hover > td,
[data-bs-theme="dark"] .table-hover tbody tr:hover > th,
[data-bs-theme="dark"] .table tbody tr:hover td,
[data-bs-theme="dark"] .table tbody tr:hover th {
  background-color: var(--omc-surface-3);
}
[data-bs-theme="dark"] .table-bordered {
  border-color: var(--omc-border);
}

/* ===========================================================================
   7. 알림 / 배지 / 코드
   =========================================================================== */
[data-bs-theme="dark"] .alert,
[data-bs-theme="dark"] .message {
  background-color: #3a3524;
  border-color: #55492a;
  color: var(--omc-warn);
  text-shadow: none;
}
[data-bs-theme="dark"] .message a,
[data-bs-theme="dark"] .alert a {
  color: #f0cd84;
}
[data-bs-theme="dark"] .alert-info {
  background-color: #1f3440;
  border-color: #2c4a5c;
  color: #8fc6e2;
}
[data-bs-theme="dark"] .alert-error,
[data-bs-theme="dark"] .alert-danger {
  background-color: #3d2626;
  border-color: #5c3535;
  color: var(--omc-danger);
}
[data-bs-theme="dark"] .alert-success {
  background-color: #24371f;
  border-color: #3a5232;
  color: var(--omc-ok);
}

[data-bs-theme="dark"] code,
[data-bs-theme="dark"] pre,
[data-bs-theme="dark"] .prettyprint {
  background-color: #1b1e21;
  border-color: var(--omc-border);
  color: #d0d4d8;
}
[data-bs-theme="dark"] code {
  color: #e5a3a3;
}
[data-bs-theme="dark"] pre code {
  color: inherit;
  background: none;
}
[data-bs-theme="dark"] blockquote {
  border-left-color: var(--omc-border-2);
  color: var(--omc-text-dim);
}
[data-bs-theme="dark"] blockquote small {
  color: var(--omc-text-faint);
}

[data-bs-theme="dark"] .label,
[data-bs-theme="dark"] .badge {
  background-color: var(--omc-surface-3);
  color: var(--omc-text);
  text-shadow: none;
}

/* ===========================================================================
   8. 브레드크럼 / 페이지네이션 / 탭
   =========================================================================== */
[data-bs-theme="dark"] .breadcrumb,
[data-bs-theme="dark"] .main_bc {
  background-color: var(--omc-surface-2);
  background-image: none;
  border-color: var(--omc-border);
  filter: none;
}
[data-bs-theme="dark"] .breadcrumb li,
[data-bs-theme="dark"] .breadcrumb a,
[data-bs-theme="dark"] .main_bc a {
  color: var(--omc-text-dim);
  text-shadow: none;
}
[data-bs-theme="dark"] .breadcrumb a:hover,
[data-bs-theme="dark"] .main_bc a:hover {
  color: var(--omc-link-hover);
}
[data-bs-theme="dark"] .breadcrumb .divider,
[data-bs-theme="dark"] .main_bc .icon-sitemap {
  color: var(--omc-text-faint);
}
[data-bs-theme="dark"] .main_bc .icon-sitemap:after {
  color: var(--omc-border-2);
}

[data-bs-theme="dark"] .pagination a,
[data-bs-theme="dark"] .pagination span,
[data-bs-theme="dark"] .pagination > a,
[data-bs-theme="dark"] .pagination > span {
  background-color: var(--omc-surface-2);
  border-color: var(--omc-border);
  color: var(--omc-text-dim);
}
[data-bs-theme="dark"] .pagination a:hover,
[data-bs-theme="dark"] .pagination .active a,
[data-bs-theme="dark"] .pagination .on a,
[data-bs-theme="dark"] .pagination strong {
  background-color: var(--omc-accent);
  border-color: var(--omc-accent);
  color: #fff;
}

[data-bs-theme="dark"] .nav-tabs,
[data-bs-theme="dark"] .nav-tabs > li > a {
  border-color: var(--omc-border);
  color: var(--omc-text-dim);
}
[data-bs-theme="dark"] .nav-tabs > li > a:hover {
  background-color: var(--omc-surface-2);
  border-color: var(--omc-border);
}
[data-bs-theme="dark"] .nav-tabs > .active > a,
[data-bs-theme="dark"] .nav-tabs > .active > a:hover {
  background-color: var(--omc-surface);
  border-color: var(--omc-border) var(--omc-border) transparent;
  color: #fff;
}
[data-bs-theme="dark"] .nav-list > li > a,
[data-bs-theme="dark"] .nav-list .nav-header {
  color: var(--omc-text);
  text-shadow: none;
}
[data-bs-theme="dark"] .nav-list > li > a:hover,
[data-bs-theme="dark"] aside ul.nav-list > li:hover > a {
  background-color: var(--omc-accent);
  color: #fff;
  text-shadow: none;
}

/* ===========================================================================
   9. 모달 (로그인 창 등)
   =========================================================================== */
[data-bs-theme="dark"] .modal {
  background-color: var(--omc-surface);
  border-color: rgba(0, 0, 0, .5);
  box-shadow: 0 3px 12px rgba(0, 0, 0, .6);
}
[data-bs-theme="dark"] .modal-header {
  border-bottom-color: var(--omc-border);
}
[data-bs-theme="dark"] .modal-header h3,
[data-bs-theme="dark"] .modal-header h4 {
  color: #e8ebee;
}
[data-bs-theme="dark"] .modal-footer {
  background-color: var(--omc-surface-2);
  border-top-color: var(--omc-border);
  box-shadow: none;
}
[data-bs-theme="dark"] .modal-body {
  color: var(--omc-text);
}
[data-bs-theme="dark"] .close {
  color: #fff;
  text-shadow: none;
  opacity: .5;
}
[data-bs-theme="dark"] .close:hover {
  opacity: .9;
}

/* ===========================================================================
   10. 푸터
   =========================================================================== */
[data-bs-theme="dark"] footer {
  background: #1c1f22;
  border-top-color: var(--omc-border);
  box-shadow: none;
}
[data-bs-theme="dark"] footer:hover,
[data-bs-theme="dark"] footer:active {
  background: #1c1f22;
  box-shadow: inset 0 -5px 3px -1px rgba(0, 0, 0, .3);
}
[data-bs-theme="dark"] footer a,
[data-bs-theme="dark"] footer ul.nav.nav-list a {
  color: var(--omc-text-dim);
  text-shadow: none;
}
[data-bs-theme="dark"] footer a:hover {
  color: #fff;
}
[data-bs-theme="dark"] footer ul.nav.nav-list > li.active > a {
  background-color: var(--omc-surface-2);
}
[data-bs-theme="dark"] footer.depth1 ul.nav.nav-list > li ul.nav-sub {
  background: var(--omc-surface-2);
  border-color: var(--omc-border);
}
[data-bs-theme="dark"] footer .copyright {
  color: var(--omc-text-faint);
}

[data-bs-theme="dark"] #toTop {
  background: #4a5158;
  color: #fff;
}

/* ===========================================================================
   11. 게시판 스킨 (modules/board/skins/xedition)
   =========================================================================== */
[data-bs-theme="dark"] .board,
[data-bs-theme="dark"] .board * {
  border-color: var(--omc-border);
}
[data-bs-theme="dark"] .board,
[data-bs-theme="dark"] .board .board_list,
[data-bs-theme="dark"] .board .board_list td,
[data-bs-theme="dark"] .board .board_list th {
  background-color: transparent;
  color: var(--omc-text);
}
[data-bs-theme="dark"] .board .board_list thead th,
[data-bs-theme="dark"] .board .cTab {
  background-color: var(--omc-surface-2);
  color: var(--omc-text);
}
[data-bs-theme="dark"] .board .board_list tbody tr:hover td {
  background-color: var(--omc-surface-3);
}
[data-bs-theme="dark"] .board .board_list .title a,
[data-bs-theme="dark"] .board a {
  color: var(--omc-text);
}
[data-bs-theme="dark"] .board .board_list .title a:hover,
[data-bs-theme="dark"] .board a:hover {
  color: var(--omc-link-hover);
}
[data-bs-theme="dark"] .board .no,
[data-bs-theme="dark"] .board .time,
[data-bs-theme="dark"] .board .readNum,
[data-bs-theme="dark"] .board .author {
  color: var(--omc-text-dim);
}
[data-bs-theme="dark"] .board .cTab .on,
[data-bs-theme="dark"] .board .cTab li.on a {
  background-color: var(--omc-surface);
  color: #fff;
}
[data-bs-theme="dark"] .board .board_search,
[data-bs-theme="dark"] .board .search_input,
[data-bs-theme="dark"] .board .iText {
  background-color: var(--omc-surface-2);
  border-color: var(--omc-border-2);
  color: var(--omc-text);
}
[data-bs-theme="dark"] .board .list_footer,
[data-bs-theme="dark"] .board .btnArea {
  border-color: var(--omc-border);
}
/* 읽기 화면 / 댓글 */
[data-bs-theme="dark"] .board .rd,
[data-bs-theme="dark"] .board .rd_hd,
[data-bs-theme="dark"] .board .rd_body,
[data-bs-theme="dark"] .board .rd_ft,
[data-bs-theme="dark"] .board .fdb_lst_wrp,
[data-bs-theme="dark"] .board .fdb_itm {
  background-color: transparent;
  color: var(--omc-text);
  border-color: var(--omc-border);
}
[data-bs-theme="dark"] .board .rd_hd {
  background-color: var(--omc-surface-2);
}

/* xedition 읽기 화면에서 흰 바탕으로 남던 것들.
   .exOut(본문 감싸개) 를 놓치면 그 안의 링크가 흰 바탕 위에 뜬다. */
[data-bs-theme="dark"] .board .exOut,
[data-bs-theme="dark"] .board .board_read,
[data-bs-theme="dark"] .board .fileSize {
  background-color: transparent;
  color: var(--omc-text);
}
[data-bs-theme="dark"] .board .facebook,
[data-bs-theme="dark"] .board .google,
[data-bs-theme="dark"] .board .twitter {
  background-color: var(--omc-surface-2);
  border-color: var(--omc-border);
  color: var(--omc-text-dim);
}
/* 스킨이 직접 박아둔 진회색 글자(#333 / #4b4b4b / #666) */
[data-bs-theme="dark"] .board th,
[data-bs-theme="dark"] .board strong,
[data-bs-theme="dark"] .board .toggleFile,
[data-bs-theme="dark"] .board .fileName {
  color: var(--omc-text);
}
[data-bs-theme="dark"] .board .read_count,
[data-bs-theme="dark"] .board .vote_count,
[data-bs-theme="dark"] .board .fileSize,
[data-bs-theme="dark"] .board .rd_hd .date,
[data-bs-theme="dark"] .board .rd_hd .author {
  color: var(--omc-text-dim);
}
/* 현재 페이지 번호는 <strong> 이라 바로 위 .board strong 규칙에 먹힌다.
   파랑 배경 위에 본문 회색이 얹혀 대비가 깨지므로 여기서 되돌린다. */
[data-bs-theme="dark"] .board .pagination strong,
[data-bs-theme="dark"] .board .pagination .active a,
[data-bs-theme="dark"] .board .pagination .on a {
  color: #fff;
}

/* ===========================================================================
   12. 위젯
   =========================================================================== */
[data-bs-theme="dark"] .xe-widget-wrapper,
[data-bs-theme="dark"] .widgetContainer,
[data-bs-theme="dark"] .widgetCounter {
  color: var(--omc-text);
}
[data-bs-theme="dark"] .widgetContainer table,
[data-bs-theme="dark"] .widgetCounter table {
  background-color: transparent;
  color: var(--omc-text);
}

/* ===========================================================================
   13. 본문(에디터 산출물) — 레거시 인라인 색상 보정
   ---------------------------------------------------------------------------
   2008년부터 쌓인 글들이 style="color:#000" / bgcolor="#ffffff" 같은
   하드코딩 색을 달고 있다. 다크에서 그대로 두면 '검은 글씨 위 검은 배경'이
   된다. 흔한 형태만 골라 중화한다. 의도적으로 준 빨강·파랑 같은 강조색은
   건드리지 않는다 (아래 목록은 어두운 회색/검정 계열과 흰 배경만 잡는다).
   목록에 없는 조합이 있으면 여기 한 줄 추가하면 된다.
   =========================================================================== */
[data-bs-theme="dark"] .xe_content,
[data-bs-theme="dark"] .xe_content p,
[data-bs-theme="dark"] .xe_content div,
[data-bs-theme="dark"] .xe_content span,
[data-bs-theme="dark"] .xe_content li,
[data-bs-theme="dark"] .xe_content td {
  color: var(--omc-text);
}

/* 검정~진회색 글자 */
[data-bs-theme="dark"] .xe_content [style*="color:#000"],
[data-bs-theme="dark"] .xe_content [style*="color: #000"],
[data-bs-theme="dark"] .xe_content [style*="color:#111"],
[data-bs-theme="dark"] .xe_content [style*="color: #111"],
[data-bs-theme="dark"] .xe_content [style*="color:#222"],
[data-bs-theme="dark"] .xe_content [style*="color: #222"],
[data-bs-theme="dark"] .xe_content [style*="color:#333"],
[data-bs-theme="dark"] .xe_content [style*="color: #333"],
[data-bs-theme="dark"] .xe_content [style*="color:#444"],
[data-bs-theme="dark"] .xe_content [style*="color: #444"],
[data-bs-theme="dark"] .xe_content [style*="color:black"],
[data-bs-theme="dark"] .xe_content [style*="color: black"],
[data-bs-theme="dark"] .xe_content [style*="color:rgb(0, 0, 0)"],
[data-bs-theme="dark"] .xe_content [style*="color:rgb(0,0,0)"],
[data-bs-theme="dark"] .xe_content font[color="#000000"],
[data-bs-theme="dark"] .xe_content font[color="#000"],
[data-bs-theme="dark"] .xe_content font[color="black"],
[data-bs-theme="dark"] .xe_content font[color="#333333"] {
  color: var(--omc-text) !important;
}

/* 흰색~밝은 회색 배경 */
[data-bs-theme="dark"] .xe_content [style*="background-color:#fff"],
[data-bs-theme="dark"] .xe_content [style*="background-color: #fff"],
[data-bs-theme="dark"] .xe_content [style*="background-color:white"],
[data-bs-theme="dark"] .xe_content [style*="background-color: white"],
[data-bs-theme="dark"] .xe_content [style*="background-color:#eee"],
[data-bs-theme="dark"] .xe_content [style*="background-color: #eee"],
[data-bs-theme="dark"] .xe_content [style*="background-color:#f"],
[data-bs-theme="dark"] .xe_content [style*="background-color: #f"],
[data-bs-theme="dark"] .xe_content [style*="background:#fff"],
[data-bs-theme="dark"] .xe_content [style*="background: #fff"],
[data-bs-theme="dark"] .xe_content [style*="background:white"],
[data-bs-theme="dark"] .xe_content [style*="background:#eee"],
[data-bs-theme="dark"] .xe_content [style*="background: #eee"],
[data-bs-theme="dark"] .xe_content [style*="background:#f"],
[data-bs-theme="dark"] .xe_content [style*="background: #f"],
[data-bs-theme="dark"] .xe_content [bgcolor="#ffffff"],
[data-bs-theme="dark"] .xe_content [bgcolor="#FFFFFF"],
[data-bs-theme="dark"] .xe_content [bgcolor="white"] {
  background-color: var(--omc-surface-2) !important;
}

/* ---------------------------------------------------------------------------
   위 목록은 '자주 나오는 형태'만 잡는 1차 방어다. 첫 페인트부터 걸리므로
   깜빡임이 없다는 게 장점이지만, 문자열 매칭이라 빠지는 조합이 반드시 있다.

   빠진 것들은 js/omc-color-modes.js 의 normalizeLegacyContent() 가
   '계산된 색'을 직접 재서 잡는다. 그쪽이 붙여주는 표식이 아래 세 규칙이다.
   (표식은 라이트로 돌아가도 남지만, 규칙이 dark 로 잠겨 있어 무해하다)
   --------------------------------------------------------------------------- */
[data-bs-theme="dark"] [data-omc-fix~="fg"] {
  color: var(--omc-text) !important;
}
/* 링크는 본문색이 아니라 링크색으로 살린다 */
[data-bs-theme="dark"] [data-omc-fix~="fga"] {
  color: var(--omc-link) !important;
}
[data-bs-theme="dark"] [data-omc-fix~="bg"] {
  background-color: var(--omc-surface-2) !important;
}
[data-bs-theme="dark"] [data-omc-fix~="bd"] {
  border-color: var(--omc-border) !important;
}

[data-bs-theme="dark"] .xe_content table,
[data-bs-theme="dark"] .xe_content th,
[data-bs-theme="dark"] .xe_content td {
  border-color: var(--omc-border);
}
[data-bs-theme="dark"] .xe_content hr {
  border-color: var(--omc-border);
}

/* ===========================================================================
   14. AI 챗 위젯 (/board/aichat/widget.js 가 <style> 을 늦게 주입한다.
       특이도가 한 단계 높아 순서와 무관하게 이긴다)
   =========================================================================== */
[data-bs-theme="dark"] #omc-panel {
  background: var(--omc-surface);
  border-color: var(--omc-border);
  color: var(--omc-text);
}
[data-bs-theme="dark"] #omc-head,
[data-bs-theme="dark"] #omc-foot {
  background: var(--omc-surface-2);
  border-color: var(--omc-border);
  color: var(--omc-text);
}
[data-bs-theme="dark"] #omc-body {
  background: var(--omc-surface);
  color: var(--omc-text);
}
[data-bs-theme="dark"] #omc-in {
  background: var(--omc-surface-2);
  border-color: var(--omc-border-2);
  color: var(--omc-text);
}
[data-bs-theme="dark"] .omc-msg.omc-b,
[data-bs-theme="dark"] .omc-b {
  background: var(--omc-surface-2);
  color: var(--omc-text);
}
[data-bs-theme="dark"] .omc-hint,
[data-bs-theme="dark"] .omc-src {
  color: var(--omc-text-dim);
}

/* ===========================================================================
   15. 테마 토글 UI
   =========================================================================== */
.omc-theme-toggle .caret {
  margin-left: 4px;
}
#omc-theme-menu .omc-check {
  float: right;
  opacity: 0;
}
#omc-theme-menu .active .omc-check {
  opacity: 1;
}
#omc-theme-menu > li > a {
  cursor: pointer;
}

/* 테마 전환 시 색이 툭 끊기지 않게. 레이아웃 속성은 건드리지 않는다. */
body,
#content > article,
.content > article,
.well,
footer,
.dropdown-menu,
.navbar-inner {
  transition: background-color .18s linear, color .18s linear, border-color .18s linear;
}
