/* ============================================
   테마 변수 시스템 (확장 가능)
   새 테마 추가: [data-pc-theme="테마명"] 블록 추가
   사용: var(--app-bg-card), var(--app-text) 등
   ============================================ */

/* 라이트 모드 기본값 */
:root {
    --app-bg:             #f8f9fa;
    --app-bg-card:        #fff;
    --app-bg-hover:       #f8f9fa;
    --app-bg-subtle:      #e9ecef;
    --app-bg-input:       #f8f9fa;
    --app-bg-code:        #f4f4f4;
    --app-text:           #333;
    --app-text-secondary: #666;
    --app-text-muted:     #999;
    --app-text-heading:   #212529;
    --app-border:         #e9ecef;
    --app-border-light:   #f0f0f0;
    --app-warning-bg:     #fff3cd;
    --app-warning-text:   #856404;
    --app-danger-bg:      #fff5f5;
    --app-danger-text:    #dc3545;
    --app-shadow:         0 1px 3px rgba(0, 0, 0, 0.08);
    --app-sidebar-brand-color: #555;
}

/* ============================================
   다크 모드
   ============================================ */
[data-pc-theme="dark"] {
    /* 앱 시맨틱 변수 */
    --app-bg:             #1a1d21;
    --app-bg-card:        #22262a;
    --app-bg-hover:       #2a2e33;
    --app-bg-subtle:      #2a2e33;
    --app-bg-input:       #1a1d21;
    --app-bg-code:        #2a2e33;
    --app-text:           #d2d4d7;
    --app-text-secondary: #adb0b4;
    --app-text-muted:     #8b8f94;
    --app-text-heading:   #e2e4e7;
    --app-border:         #383c42;
    --app-border-light:   #2a2e33;
    --app-warning-bg:     #3d3520;
    --app-warning-text:   #ffc107;
    --app-danger-bg:      #3d2020;
    --app-danger-text:    #ff6b6b;
    --app-shadow:         0 1px 3px rgba(0, 0, 0, 0.4);

    /* 템플릿 변수 오버라이드 */
    --bs-body-bg: #1a1d21;
    --bs-body-bg-rgb: 26, 29, 33;
    --bs-body-color: #d2d4d7;
    --bs-body-color-rgb: 210, 212, 215;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(210, 212, 215, 0.75);
    --bs-tertiary-color: rgba(210, 212, 215, 0.5);
    --bs-secondary-bg: #22262a;
    --bs-secondary-bg-rgb: 34, 38, 42;
    --bs-tertiary-bg: #2a2e33;
    --bs-tertiary-bg-rgb: 42, 46, 51;

    --pc-heading-color: #e2e4e7;
    --pc-active-background: #2a2e33;
    --pc-sidebar-background: #1e2125;
    --pc-sidebar-color: #d2d4d7;
    --pc-sidebar-color-rgb: 210, 212, 215;
    --pc-sidebar-caption-color: #8b8f94;
    --pc-sidebar-shadow: 1px 0 0 0px rgba(255, 255, 255, 0.06);
    --pc-header-background: #1e2125;
    --pc-header-color: #d2d4d7;
    --pc-header-shadow: 0 1px 0 0px rgba(255, 255, 255, 0.06);
    --pc-card-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    --pc-header-submenu-background: #22262a;
    --pc-header-submenu-color: #adb0b4;
    --app-sidebar-brand-color: #adb0b4;

    --bs-border-color: #383c42;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.1);
    --bs-link-color: #6ea8fe;
    --bs-link-hover-color: #8bb9fe;
    --bs-link-color-rgb: 110, 168, 254;
    --bs-link-hover-color-rgb: 139, 185, 254;

    color-scheme: dark;
}

/* 카드 */
[data-pc-theme="dark"] .card {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}

/* 드롭다운 */
[data-pc-theme="dark"] .dropdown-menu {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .dropdown-item {
    color: var(--app-text);
}
[data-pc-theme="dark"] .dropdown-item:hover,
[data-pc-theme="dark"] .dropdown-item:focus {
    background-color: var(--app-bg-hover);
    color: #fff;
}
[data-pc-theme="dark"] .dropdown-header {
    color: var(--app-text-secondary);
}
[data-pc-theme="dark"] .dropdown-divider {
    border-color: var(--app-border);
}

/* 테이블 */
[data-pc-theme="dark"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-border);
    --bs-table-striped-bg: #252930;
    --bs-table-hover-bg: var(--app-bg-hover);
}
[data-pc-theme="dark"] .table thead th {
    background-color: var(--app-bg-hover) !important;
    color: var(--app-text-secondary);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .table tbody td {
    border-color: var(--app-border);
}

/* 게시글 본문 테이블 */
[data-pc-theme="dark"] .post-content table {
    color: var(--app-text);
}
[data-pc-theme="dark"] .post-content table th,
[data-pc-theme="dark"] .post-content table td {
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .post-content table th {
    background: var(--app-bg-hover);
}

/* 모달 */
[data-pc-theme="dark"] .modal-content {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .modal-header {
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .modal-footer {
    border-color: var(--app-border);
}

/* 폼 요소 */
[data-pc-theme="dark"] .form-control,
[data-pc-theme="dark"] .form-select {
    background-color: var(--app-bg-input);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .form-control:focus,
[data-pc-theme="dark"] .form-select:focus {
    background-color: var(--app-bg-input);
    border-color: var(--bs-primary);
    color: var(--app-text);
}
[data-pc-theme="dark"] .form-control::placeholder {
    color: var(--app-text-muted);
}
[data-pc-theme="dark"] .input-group-text {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
    color: var(--app-text-secondary);
}

/* 리스트 그룹 */
[data-pc-theme="dark"] .list-group-item {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}

/* 네비게이션 탭 */
[data-pc-theme="dark"] .nav-tabs {
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .nav-tabs .nav-link {
    color: var(--app-text-secondary);
}
[data-pc-theme="dark"] .nav-tabs .nav-link.active {
    background-color: var(--app-bg-card);
    border-color: var(--app-border) var(--app-border) var(--app-bg-card);
    color: #fff;
}

/* 사이드바 */
[data-pc-theme="dark"] .pc-sidebar .pc-navbar > li > a:hover {
    color: #fff;
}

/* 텍스트 색상 보정 */
[data-pc-theme="dark"] .text-muted {
    color: var(--app-text-muted) !important;
}
[data-pc-theme="dark"] .text-dark {
    color: var(--app-text) !important;
}

/* 배지 */
[data-pc-theme="dark"] .badge.bg-light {
    background-color: var(--app-bg-subtle) !important;
    color: var(--app-text) !important;
}

/* 스크롤바 */
[data-pc-theme="dark"] ::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
[data-pc-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--app-bg);
}
[data-pc-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--app-border);
    border-radius: 3px;
}
[data-pc-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #4a4f55;
}

/* Toast */
[data-pc-theme="dark"] .toast {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}

/* 프리로더 */
[data-pc-theme="dark"] .loader-bg {
    background: var(--app-bg);
}

/* hr */
[data-pc-theme="dark"] hr {
    border-color: var(--app-border);
}

/* 페이지 타이틀 */
[data-pc-theme="dark"] .pc-content .page-header h5 {
    color: var(--app-text-heading);
}

/* alert */
[data-pc-theme="dark"] .alert-light {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
    color: var(--app-text);
}

/* breadcrumb */
[data-pc-theme="dark"] .breadcrumb-item a {
    color: var(--app-text-secondary);
}
[data-pc-theme="dark"] .breadcrumb-item.active {
    color: var(--app-text-muted);
}

/* btn-close (닫기 버튼 반전) */
[data-pc-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* 페이지네이션 */
[data-pc-theme="dark"] .page-link {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .page-link:hover {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
    color: #fff;
}

/* 아코디언 */
[data-pc-theme="dark"] .accordion-item {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .accordion-button {
    background-color: var(--app-bg-card);
    color: var(--app-text);
}
[data-pc-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: var(--app-bg-hover);
    color: var(--app-text-heading);
}

/* offcanvas */
[data-pc-theme="dark"] .offcanvas {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}

/* ============================================
   Bootstrap 유틸리티 글로벌 오버라이드
   ============================================ */

/* 카드 헤더/푸터 */
[data-pc-theme="dark"] .card-header {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .card-footer {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
}

/* Bootstrap .border 유틸리티 */
[data-pc-theme="dark"] .border {
    border-color: var(--app-border) !important;
}
[data-pc-theme="dark"] .border-top {
    border-top-color: var(--app-border) !important;
}
[data-pc-theme="dark"] .border-bottom {
    border-bottom-color: var(--app-border) !important;
}
[data-pc-theme="dark"] .border-start {
    border-inline-start-color: var(--app-border) !important;
}
[data-pc-theme="dark"] .border-end {
    border-inline-end-color: var(--app-border) !important;
}

/* Bootstrap 배경 유틸리티 */
[data-pc-theme="dark"] .bg-white {
    background-color: var(--app-bg-card) !important;
}
[data-pc-theme="dark"] .bg-light {
    background-color: var(--app-bg-hover) !important;
}
[data-pc-theme="dark"] .bg-body {
    background-color: var(--app-bg) !important;
}

/* FullCalendar 다크모드 */
[data-pc-theme="dark"] .fc {
    --fc-border-color: var(--app-border);
    --fc-page-bg-color: var(--app-bg-card);
    --fc-neutral-bg-color: var(--app-bg-hover);
    --fc-list-event-hover-bg-color: var(--app-bg-hover);
    --fc-today-bg-color: rgba(var(--bs-primary-rgb), 0.08);
    --fc-now-indicator-color: var(--bs-primary);
}
[data-pc-theme="dark"] .fc-theme-standard td,
[data-pc-theme="dark"] .fc-theme-standard th,
[data-pc-theme="dark"] .fc-theme-standard .fc-scrollgrid {
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .fc .fc-col-header-cell {
    background-color: var(--app-bg-hover);
}
[data-pc-theme="dark"] .fc .fc-col-header-cell-cushion {
    color: var(--app-text);
}
[data-pc-theme="dark"] .fc .fc-daygrid-day-number {
    color: var(--app-text);
}
[data-pc-theme="dark"] .fc .fc-button-primary {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .fc .fc-button-primary:hover {
    background-color: var(--app-border);
    color: #fff;
}
[data-pc-theme="dark"] .fc .fc-button-primary:not(:disabled).fc-button-active,
[data-pc-theme="dark"] .fc .fc-button-primary:not(:disabled):active {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}
[data-pc-theme="dark"] .fc .fc-toolbar-title {
    color: var(--app-text-heading);
}
[data-pc-theme="dark"] .fc .fc-daygrid-more-link {
    color: var(--bs-primary);
}
[data-pc-theme="dark"] .fc-popover {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .fc-popover-header {
    background-color: var(--app-bg-hover);
    color: var(--app-text);
}

/* 날씨 위젯 (JS에서 .border.rounded 사용) */
[data-pc-theme="dark"] .weather-hour-item {
    border-color: var(--app-border) !important;
    background-color: var(--app-bg-card);
}

/* img 테두리 (프로필 등) */
[data-pc-theme="dark"] .rounded-circle {
    border-color: var(--app-border);
}

/* 구분선 */
[data-pc-theme="dark"] .border-secondary {
    border-color: var(--app-border) !important;
}

/* Bootstrap text 유틸리티 */
[data-pc-theme="dark"] .text-body {
    color: var(--app-text) !important;
}
[data-pc-theme="dark"] .text-body-secondary {
    color: var(--app-text-secondary) !important;
}

/* 인풋 그룹/셀렉트 */
[data-pc-theme="dark"] .form-check-input {
    background-color: var(--app-bg-input);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* 프로그레스바 */
[data-pc-theme="dark"] .progress {
    background-color: var(--app-bg-subtle);
}

/* 팝오버/툴팁 */
[data-pc-theme="dark"] .popover {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .popover-header {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .popover-body {
    color: var(--app-text);
}

/* btn-light 다크모드 */
[data-pc-theme="dark"] .btn-light {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .btn-light:hover {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
    color: #fff;
}

/* btn-secondary 다크모드 */
[data-pc-theme="dark"] .btn-secondary {
    background-color: #3a3f44;
    border-color: #4a4f55;
    color: var(--app-text);
}
[data-pc-theme="dark"] .btn-secondary:hover {
    background-color: #4a4f55;
    color: #fff;
}

/* btn-outline-secondary 다크모드 */
[data-pc-theme="dark"] .btn-outline-secondary {
    border-color: var(--app-border);
    color: var(--app-text-secondary);
}
[data-pc-theme="dark"] .btn-outline-secondary:hover {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
    color: #fff;
}

/* TOAST UI Editor 다크모드 */
[data-pc-theme="dark"] .toastui-editor-defaultUI {
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .toastui-editor-defaultUI .toastui-editor-toolbar {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .toastui-editor-toolbar-icons {
    border-color: var(--app-border);
    background-position-y: -49px;
    filter: invert(0.85);
}
[data-pc-theme="dark"] .toastui-editor-defaultUI .toastui-editor-toolbar-divider {
    background-color: var(--app-border);
}
[data-pc-theme="dark"] .toastui-editor-ww-container,
[data-pc-theme="dark"] .toastui-editor-md-container {
    background-color: var(--app-bg-card);
}
[data-pc-theme="dark"] .toastui-editor-ww-container .toastui-editor-contents,
[data-pc-theme="dark"] .toastui-editor-md-container .toastui-editor {
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-contents {
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-contents p,
[data-pc-theme="dark"] .toastui-editor-contents li {
    color: var(--app-text);
}
[data-pc-theme="dark"] .ProseMirror {
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-md-splitter {
    background-color: var(--app-border);
}
[data-pc-theme="dark"] .toastui-editor-md-preview {
    background-color: var(--app-bg-card);
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-defaultUI .toastui-editor-mode-switch {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .toastui-editor-mode-switch .tab-item {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text-secondary);
}
[data-pc-theme="dark"] .toastui-editor-mode-switch .tab-item.active {
    background-color: var(--app-bg-hover);
    color: #fff;
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .toastui-editor-popup {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-popup-body label {
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-popup-body input {
    background-color: var(--app-bg-input);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-contents blockquote {
    border-left-color: var(--app-border);
}
[data-pc-theme="dark"] .toastui-editor-contents pre {
    background-color: var(--app-bg-subtle);
}
[data-pc-theme="dark"] .toastui-editor-contents code {
    background-color: var(--app-bg-subtle);
    color: #ff7b72;
}
[data-pc-theme="dark"] .toastui-editor-contents table {
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-contents table th,
[data-pc-theme="dark"] .toastui-editor-contents table td {
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-contents table th {
    background-color: var(--app-bg-hover);
    color: var(--app-text-secondary);
}
[data-pc-theme="dark"] .toastui-editor-contents hr {
    border-color: var(--app-border);
}
/* TOAST UI Editor - CodeMirror 다크모드 */
[data-pc-theme="dark"] .toastui-editor-md-container .CodeMirror {
    background-color: var(--app-bg-card);
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-md-container .CodeMirror-cursor {
    border-left-color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-md-container .CodeMirror-selected {
    background-color: rgba(110, 168, 254, 0.2);
}
[data-pc-theme="dark"] .toastui-editor-md-container .CodeMirror-gutters {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
}
/* TOAST UI Editor - 마크다운 모드 텍스트 다크모드 */
[data-pc-theme="dark"] .toastui-editor-md-heading1,
[data-pc-theme="dark"] .toastui-editor-md-heading2,
[data-pc-theme="dark"] .toastui-editor-md-heading3,
[data-pc-theme="dark"] .toastui-editor-md-heading4,
[data-pc-theme="dark"] .toastui-editor-md-heading5,
[data-pc-theme="dark"] .toastui-editor-md-heading6 {
    color: #e6edf3;
}
[data-pc-theme="dark"] .toastui-editor-md-table .toastui-editor-md-table-cell {
    color: var(--app-text);
}
[data-pc-theme="dark"] .toastui-editor-md-block-quote .toastui-editor-md-marked-text,
[data-pc-theme="dark"] .toastui-editor-md-list-item .toastui-editor-md-meta {
    color: #8b949e;
}
[data-pc-theme="dark"] .toastui-editor-md-link.toastui-editor-md-link-desc.toastui-editor-md-marked-text {
    color: #58a6ff;
}
[data-pc-theme="dark"] .toastui-editor-md-html,
[data-pc-theme="dark"] .toastui-editor-md-link.toastui-editor-md-link-url.toastui-editor-md-marked-text,
[data-pc-theme="dark"] .toastui-editor-md-meta {
    color: #8b949e;
}
[data-pc-theme="dark"] .toastui-editor-md-code {
    color: #f0883e;
    background-color: rgba(110, 118, 129, 0.2);
}
[data-pc-theme="dark"] .toastui-editor-md-code.toastui-editor-md-delimiter {
    color: #8b949e;
}
[data-pc-theme="dark"] .toastui-editor-md-code-block-line-background,
[data-pc-theme="dark"] .toastui-editor-md-custom-block-line-background {
    background-color: rgba(110, 118, 129, 0.15);
}
[data-pc-theme="dark"] .toastui-editor-md-delimiter {
    color: #8b949e;
}
[data-pc-theme="dark"] .toastui-editor-md-thematic-break {
    color: #8b949e;
}

/* EasyMDE 다크모드 */
[data-pc-theme="dark"] .EasyMDEContainer .editor-toolbar {
    background-color: var(--app-bg-hover);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .EasyMDEContainer .editor-toolbar button {
    color: var(--app-text) !important;
}
[data-pc-theme="dark"] .EasyMDEContainer .editor-toolbar button:hover {
    background-color: var(--app-bg-subtle);
}
[data-pc-theme="dark"] .EasyMDEContainer .editor-toolbar button.active {
    background-color: var(--bs-primary);
    color: #fff !important;
}
[data-pc-theme="dark"] .EasyMDEContainer .editor-toolbar i.separator {
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .EasyMDEContainer .CodeMirror {
    background-color: var(--app-bg-card);
    color: var(--app-text);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .EasyMDEContainer .CodeMirror-cursor {
    border-left-color: var(--app-text);
}
[data-pc-theme="dark"] .EasyMDEContainer .editor-preview {
    background-color: var(--app-bg-card);
    color: var(--app-text);
}
[data-pc-theme="dark"] .EasyMDEContainer .editor-preview-side {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}

/* 게시글 작성 페이지 다크모드 */
[data-pc-theme="dark"] .category-tag-btn {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .category-tag-btn:hover {
    background-color: var(--app-bg-hover);
    border-color: var(--app-text-muted);
}
[data-pc-theme="dark"] .category-radio:checked + .category-tag-btn {
    background-color: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
}
[data-pc-theme="dark"] .tag-item {
    background-color: var(--app-bg-subtle);
    color: var(--app-text);
}
[data-pc-theme="dark"] .tag-suggestions {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .tag-suggestion-item {
    border-color: var(--app-border-light);
}
[data-pc-theme="dark"] .tag-suggestion-item:hover,
[data-pc-theme="dark"] .tag-suggestion-item.active {
    background-color: var(--app-bg-hover);
}
[data-pc-theme="dark"] .file-upload-area {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .file-upload-area:hover,
[data-pc-theme="dark"] .file-upload-area.dragover {
    border-color: var(--bs-primary);
    background-color: rgba(13, 110, 253, 0.1);
}
[data-pc-theme="dark"] .uploaded-file-item {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .file-name {
    color: var(--app-text);
}
[data-pc-theme="dark"] .existing-files-container {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .existing-file-item {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
}
[data-pc-theme="dark"] .preview-area {
    background-color: var(--app-bg-card);
    border-color: var(--app-border);
    color: var(--app-text);
}
[data-pc-theme="dark"] .preview-content blockquote {
    background-color: var(--app-bg-subtle);
    border-left-color: var(--bs-primary);
}
[data-pc-theme="dark"] .preview-content code {
    background-color: var(--app-bg-subtle);
}
[data-pc-theme="dark"] .preview-content pre {
    background-color: var(--app-bg-subtle);
}
[data-pc-theme="dark"] .upload-progress-modal {
    background-color: var(--app-bg-card);
    color: var(--app-text);
}
[data-pc-theme="dark"] .upload-progress-text {
    color: var(--app-text);
}
[data-pc-theme="dark"] .non-image-file {
    background-color: var(--app-bg-subtle);
    border-color: var(--app-border);
    color: var(--app-text-secondary);
}
[data-pc-theme="dark"] .form-actions {
    border-top-color: var(--app-border);
}

/* jsMind 다크모드 */
[data-pc-theme="dark"] jmnodes jmnode {
    color: #e2e4e7;
}
[data-pc-theme="dark"] jmnodes jmnode.root {
    color: #fff;
}
[data-pc-theme="dark"] jmnodes jmexpander {
    border-color: var(--app-border);
    color: var(--app-text);
    background-color: var(--app-bg-subtle);
}
