/* =========================
   Babdori Map Dark Mode - 1st
   시스템 다크모드 자동 대응
   ========================= */

@media (prefers-color-scheme: dark) {
	body:has(.babdori-map-page) {
		--bd-map-bg: #101013;
		--bd-map-surface: rgba(18, 18, 21, 0.94);
		--bd-map-surface-solid: #17171C;
		--bd-map-surface-soft: #18181b;
		--bd-map-surface-muted: #232329;

		--bd-map-border: rgba(255, 255, 255, 0.10);
		--bd-map-border-soft: rgba(255, 255, 255, 0.07);

		--bd-map-text: #f4f4f5;
		--bd-map-text-soft: #d4d4d8;
		--bd-map-text-muted: #a1a1aa;

		--bd-map-primary: #71717a;
		--bd-map-primary-strong: #3f3f46;
		--bd-map-primary-soft: rgba(113, 113, 122, 0.20);

		--bd-map-shadow: 0 18px 44px rgba(0, 0, 0, 0.52);
		--bd-map-backdrop: rgba(0, 0, 0, 0.62);

		background: var(--bd-map-bg);
		color: var(--bd-map-text);
		color-scheme: dark;
	}

	body:has(.babdori-map-page) .babdori-map-shell {
		background: var(--bd-map-bg);
	}

	/* 지도 위 히어로 */
	body:has(.babdori-map-page) .babdori-map-hero {
		border-color: var(--bd-map-border);
		background: #151518;
		box-shadow: var(--bd-map-shadow);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
	}

	body:has(.babdori-map-page) .babdori-map-hero strong {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-map-hero p,
	body:has(.babdori-map-page) .babdori-map-hero span {
		color: var(--bd-map-text-soft);
	}

	/* 지도 버튼 공통 */
	body:has(.babdori-map-page) .babdori-map-tool,
	body:has(.babdori-map-page) .babdori-map-toolbar-top .babdori-map-tool,
	body:has(.babdori-map-page) .babdori-map-toolbar-side .babdori-map-side-tool {
		border-color: var(--bd-map-border);
		background: #151518;
		color: var(--bd-map-text);
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.36);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
	}

	body:has(.babdori-map-page) .babdori-map-tool:hover,
	body:has(.babdori-map-page) .babdori-map-tool.is-active,
	body:has(.babdori-map-page) .babdori-map-toolbar-top .babdori-map-tool:hover,
	body:has(.babdori-map-page) .babdori-map-toolbar-top .babdori-map-tool.is-active,
	body:has(.babdori-map-page) .babdori-map-toolbar-side .babdori-map-side-tool:hover,
	body:has(.babdori-map-page) .babdori-map-toolbar-side .babdori-map-side-tool.is-active {
	border-color: rgba(255, 255, 255, 0.18);
	background: #27272a;
	color: #ffffff;
}

	/* 검색/저장/카테고리 패널 */
	body:has(.babdori-map-page) .babdori-map-search-panel,
	body:has(.babdori-map-page) .babdori-map-favorite-panel,
	body:has(.babdori-map-page) .babdori-map-category-panel {
		border-color: var(--bd-map-border);
		background: #151518;
		box-shadow: var(--bd-map-shadow);
	}

	body:has(.babdori-map-page) .babdori-map-search-input,
	body:has(.babdori-map-page) .babdori-favorite-keyword,
	body:has(.babdori-map-page) .babdori-favorite-label {
		border-color: var(--bd-map-border);
		background: #151518;
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-map-search-input::placeholder,
	body:has(.babdori-map-page) .babdori-favorite-keyword::placeholder {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-map-search-input:focus,
	body:has(.babdori-map-page) .babdori-favorite-keyword:focus {
		border-color: var(--bd-map-primary);
		box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.16);
	}

	body:has(.babdori-map-page) .babdori-map-search-recommend,
	body:has(.babdori-map-page) .babdori-favorite-list,
	body:has(.babdori-map-page) .babdori-favorite-simple-item,
	body:has(.babdori-map-page) .babdori-favorite-simple-icon {
		border-color: var(--bd-map-border-soft);
		background: var(--bd-map-surface-soft);
	}

	body:has(.babdori-map-page) .babdori-map-search-recommend strong,
	body:has(.babdori-map-page) .babdori-favorite-head strong,
	body:has(.babdori-map-page) .babdori-favorite-simple-item strong {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-favorite-simple-item em,
	body:has(.babdori-map-page) .babdori-favorite-empty,
	body:has(.babdori-map-page) .babdori-favorite-help {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-favorite-simple-item:hover {
		background: var(--bd-map-surface-muted);
	}

	body:has(.babdori-map-page) .babdori-favorite-close,
	body:has(.babdori-map-page) .babdori-weather-close,
	body:has(.babdori-map-page) .babdori-map-filter-close,
	body:has(.babdori-map-page) .babdori-place-close {
		background: var(--bd-map-surface-muted);
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-map-search-chips button,
	body:has(.babdori-map-page) .babdori-map-category-panel button {
	border-color: var(--bd-map-border);
		background: #18181b;
		color: #d4d4d8;
	}

	body:has(.babdori-map-page) .babdori-map-search-chips button:hover,
	body:has(.babdori-map-page) .babdori-map-category-panel button:hover,
	body:has(.babdori-map-page) .babdori-map-category-panel button.is-active {
		border-color: rgba(255, 255, 255, 0.18);
		background: #27272a;
		color: #ffffff;
	}

	/* 필터 패널 */
	body:has(.babdori-map-page) .babdori-map-filter-panel {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface);
		box-shadow: var(--bd-map-shadow);
	}

	body:has(.babdori-map-page) .babdori-map-filter-head {
		border-bottom-color: var(--bd-map-border-soft);
	}

	body:has(.babdori-map-page) .babdori-map-filter-head h2,
	body:has(.babdori-map-page) .babdori-filter-group strong,
	body:has(.babdori-map-page) .babdori-price-filter-top b {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-price-filter-top,
	body:has(.babdori-map-page) .babdori-keyword-more {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-keyword-more::before,
	body:has(.babdori-map-page) .babdori-keyword-more::after {
		background: var(--bd-map-border-soft);
	}

	body:has(.babdori-map-page) .babdori-filter-options button {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-filter-options button.is-active,
	body:has(.babdori-map-page) .babdori-filter-options button:hover {
		border-color: rgba(255, 255, 255, 0.18);
		background: #27272a;
		color: #ffffff;
	}

	/* 날씨 카드 / 오버레이 */
	body:has(.babdori-map-page) .babdori-weather-card {
		border-color: var(--bd-map-border);
		background: #151518;
		color: var(--bd-map-text);
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.36);
	}

	body:has(.babdori-map-page) .babdori-weather-card:hover,
	body:has(.babdori-map-page) .babdori-weather-card.is-active {
		border-color: var(--bd-map-primary);
		background: rgba(37, 99, 235, 0.24);
	}

	body:has(.babdori-map-page) .babdori-weather-temp,
	body:has(.babdori-map-page) .babdori-weather-summary-temp,
	body:has(.babdori-map-page) .babdori-weather-head strong,
	body:has(.babdori-map-page) .babdori-weather-day-date,
	body:has(.babdori-map-page) .babdori-weather-day-temp {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-weather-dust,
	body:has(.babdori-map-page) .babdori-weather-head p,
	body:has(.babdori-map-page) .babdori-weather-summary-dust,
	body:has(.babdori-map-page) .babdori-weather-day-text {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-weather-backdrop,
	body:has(.babdori-map-page) .babdori-map-modal-backdrop,
	body:has(.babdori-map-page) .babdori-place-backdrop {
		background: var(--bd-map-backdrop);
	}

	body:has(.babdori-map-page) .babdori-weather-panel {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface);
		box-shadow: var(--bd-map-shadow);
	}

	body:has(.babdori-map-page) .babdori-weather-head {
		border-bottom-color: var(--bd-map-border-soft);
	}

	body:has(.babdori-map-page) .babdori-weather-summary,
	body:has(.babdori-map-page) .babdori-weather-summary-icon,
	body:has(.babdori-map-page) .babdori-weather-day,
	body:has(.babdori-map-page) .babdori-weather-loading,
	body:has(.babdori-map-page) .babdori-weather-error {
		border-color: var(--bd-map-border-soft);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-muted);
	}

	/* 장소 오버레이 / 바텀시트 */
	body:has(.babdori-map-page) .babdori-place-overlay {
	background: var(--bd-map-surface);
		border: 1px solid rgba(148, 163, 184, 0.22);
		box-shadow: var(--bd-map-shadow);
	}

	body:has(.babdori-map-page) .babdori-place-more,
	body:has(.babdori-map-page) .babdori-place-action-menu {
		background: var(--bd-map-surface-solid);
		box-shadow: var(--bd-map-shadow);
	}

	body:has(.babdori-map-page) .babdori-place-more span {
		background: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-place-action-menu button {
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-soft);
	}

/* 장소 오버레이 - 경로안내 / 지도안내 */
body:has(.babdori-map-page) .babdori-map-inline-actions {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

body:has(.babdori-map-page) .babdori-route-link,
body:has(.babdori-map-page) .babdori-map-guide-toggle,
body:has(.babdori-map-page) .babdori-map-guide-panel a,
body:has(.babdori-map-page) .babdori-map-guide-panel a:first-child,
body:has(.babdori-map-page) .babdori-map-guide-panel a:last-child {
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: #18181b !important;
	color: #e4e4e7 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

body:has(.babdori-map-page) .babdori-route-link:hover,
body:has(.babdori-map-page) .babdori-map-guide-toggle:hover,
body:has(.babdori-map-page) .babdori-map-guide-panel a:hover,
body:has(.babdori-map-page) .babdori-map-guide-panel a:first-child:hover,
body:has(.babdori-map-page) .babdori-map-guide-panel a:last-child:hover {
	border-color: rgba(255, 255, 255, 0.22) !important;
	background: #27272a !important;
	color: #ffffff !important;
}

body:has(.babdori-map-page) .babdori-route-link svg,
body:has(.babdori-map-page) .babdori-map-guide-toggle svg,
body:has(.babdori-map-page) .babdori-map-guide-panel a svg {
	color: currentColor !important;
	stroke: currentColor !important;
}

/* 지도안내 펼침 버튼 - 카카오/네이버 은은한 브랜드톤 */
body:has(.babdori-map-page) .babdori-map-guide-panel a:first-child {
	border-color: rgba(254, 229, 0, 0.22) !important;
	background: rgba(254, 229, 0, 0.07) !important;
	color: #fef08a !important;
}

body:has(.babdori-map-page) .babdori-map-guide-panel a:first-child:hover {
	border-color: rgba(254, 229, 0, 0.34) !important;
	background: rgba(254, 229, 0, 0.16) !important;
	color: #fef9c3 !important;
}

body:has(.babdori-map-page) .babdori-map-guide-panel a:last-child {
	border-color: rgba(3, 199, 90, 0.24) !important;
	background: rgba(3, 199, 90, 0.07) !important;
	color: #86efac !important;
}

body:has(.babdori-map-page) .babdori-map-guide-panel a:last-child:hover {
	border-color: rgba(3, 199, 90, 0.36) !important;
	background: rgba(3, 199, 90, 0.17) !important;
	color: #bbf7d0 !important;
}

body:has(.babdori-map-page) .babdori-open-status.is-open {
	color: #16BB76 !important;
}

body:has(.babdori-map-page) .babdori-open-status.is-closed {
	color: #FA616D !important;
}

	body:has(.babdori-map-page) .babdori-place-title,
	body:has(.babdori-map-page) .babdori-place-like em,
	body:has(.babdori-map-page) .babdori-info-main,
	body:has(.babdori-map-page) .babdori-copy-address,
	body:has(.babdori-map-page) .babdori-menu-single,
	body:has(.babdori-map-page) .babdori-phone-link,
	body:has(.babdori-map-page) .babdori-one-review strong,
	body:has(.babdori-map-page) .babdori-review-item p {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-place-info-row,
	body:has(.babdori-map-page) .babdori-place-info-row:first-child,
	body:has(.babdori-map-page) .babdori-menu-list p,
	body:has(.babdori-map-page) .babdori-review-item {
		border-color: var(--bd-map-border-soft);
	}

	body:has(.babdori-map-page) .babdori-hours-detail p,
	body:has(.babdori-map-page) .babdori-review-empty,
	body:has(.babdori-map-page) .babdori-review-more,
	body:has(.babdori-map-page) .babdori-phone-reveal,
	body:has(.babdori-map-page) .babdori-price-image-link,
	body:has(.babdori-map-page) .babdori-info-request-toggle {
		border-color: var(--bd-map-border-soft);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-menu-list p,
	body:has(.babdori-map-page) .babdori-place-intro,
	body:has(.babdori-map-page) .babdori-review-item span,
	body:has(.babdori-map-page) .babdori-review-text-action,
	body:has(.babdori-map-page) .babdori-hours-detail summary::after,
	body:has(.babdori-map-page) .babdori-menu-detail summary::after {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-place-badge {
		background: rgba(99, 102, 241, 0.18);
		color: #c7d2fe;
	}

	body:has(.babdori-map-page) .babdori-place-badge.dark {
		background: #e2e8f0;
		color: #0f172a;
	}

	body:has(.babdori-map-page) .babdori-place-badge.keyword {
		background: rgba(249, 115, 22, 0.16);
		color: #fed7aa;
	}

	body:has(.babdori-map-page) .babdori-place-badge.distance,
	body:has(.babdori-map-page) .babdori-place-distance-card {
		background: rgba(14, 165, 233, 0.16);
		color: #bae6fd;
	}

	body:has(.babdori-map-page) .babdori-place-badge.reporter {
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-place-like,
	body:has(.babdori-map-page) .babdori-review-sort button,
	body:has(.babdori-map-page) .babdori-review-like,
	body:has(.babdori-map-page) .babdori-review-report {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-place-like.is-liked,
	body:has(.babdori-map-page) .babdori-review-like.is-liked {
		border-color: rgba(251, 113, 133, 0.45);
		background: rgba(225, 29, 72, 0.16);
		color: #fb7185;
	}

	body:has(.babdori-map-page) .babdori-review-sort button.is-active {
		border-color: rgba(255, 255, 255, 0.18);
		background: #27272a;
		color: #ffffff;
	}

	body:has(.babdori-map-page) .babdori-review-notice {
		background: rgba(255, 255, 255, 0.07);
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-review-text {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text);
		box-shadow: none;
	}

	body:has(.babdori-map-page) .babdori-review-text::placeholder {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-review-cancel {
		background: var(--bd-map-surface-muted);
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-review-submit {
		background: #f8fafc;
		color: #0f172a;
	}

	body:has(.babdori-map-page) .babdori-place-link {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text);
	}

	/* 갤러리 / 이미지 비어있음 */
	body:has(.babdori-map-page) .babdori-gallery-item {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface-soft);
	}

	body:has(.babdori-map-page) .babdori-gallery-item.is-empty {
		color: var(--bd-map-text-muted);
	}

	/* 제보 오버레이 */
	body:has(.babdori-map-page) .babdori-report-panel {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface);
		box-shadow: var(--bd-map-shadow);
	}

	body:has(.babdori-map-page) .babdori-report-head {
		border-bottom-color: var(--bd-map-border-soft);
	}

	body:has(.babdori-map-page) .babdori-report-head strong {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-report-close {
		background: var(--bd-map-surface-muted);
		color: var(--bd-map-text-soft);
	}

	/* 지도 라이트박스 */
	body:has(.babdori-map-page) .babdori-map-lightbox {
		background: rgba(2, 6, 23, 0.92);
	}

	body:has(.babdori-map-page) .babdori-map-lightbox-close {
		background: rgba(15, 23, 42, 0.92);
		color: #ffffff;
	}

	/* 하단 네비 */
	body:has(.babdori-map-page) .babdori-bottom-nav {
		border-color: var(--bd-map-border) !important;
		background: #151518 !important;
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
	}

	body:has(.babdori-map-page) .babdori-bottom-nav-item {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-bottom-nav-item:hover,
	body:has(.babdori-map-page) .babdori-bottom-nav-item:active,
	body:has(.babdori-map-page) .babdori-bottom-nav-item.is-active {
		background: rgba(255, 255, 255, 0.08);
		color: #ffffff;
	}
}

/* =========================
   Dark Mode - Map List Sheet
   지도 리스트 바텀시트
   ========================= */

@media (prefers-color-scheme: dark) {
	body:has(.babdori-map-page) .babdori-map-list-backdrop {
		background: rgba(0, 0, 0, 0.42);
	}

	body:has(.babdori-map-page) .babdori-map-list-sheet {
		border-color: var(--bd-map-border);
		background: rgba(18, 18, 21, 0.96);
		box-shadow: 0 -18px 44px rgba(0, 0, 0, 0.52);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
	}

	body:has(.babdori-map-page) .babdori-map-list-sheet-handle::before {
		background: #3f3f46;
	}

	body:has(.babdori-map-page) .babdori-map-list-sheet-head {
		border-bottom-color: var(--bd-map-border-soft);
	}

	body:has(.babdori-map-page) .babdori-map-list-sheet-head strong {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-map-list-sheet-head p {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-map-list-close {
		background: var(--bd-map-surface-muted);
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-map-list-close:hover,
	body:has(.babdori-map-page) .babdori-map-list-close:active {
		background: #27272a;
		color: #ffffff;
	}

	body:has(.babdori-map-page) .babdori-map-list-tags button {
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-map-list-tags button:hover {
		background: var(--bd-map-surface-muted);
		color: #ffffff;
	}

	body:has(.babdori-map-page) .babdori-map-list-tags button.is-active {
		background: #27272a;
		color: #ffffff;
	}

	body:has(.babdori-map-page) .babdori-map-list-sort button {
		border-color: var(--bd-map-border);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-map-list-sort button:hover {
		border-color: rgba(255, 255, 255, 0.18);
		background: var(--bd-map-surface-muted);
		color: #ffffff;
	}

	body:has(.babdori-map-page) .babdori-map-list-sort button.is-active {
		border-color: rgba(96, 165, 250, 0.34);
		background: rgba(37, 99, 235, 0.18);
		color: #93c5fd;
	}

	body:has(.babdori-map-page) .babdori-map-list-item {
		border-color: var(--bd-map-border-soft);
		background: #17171C;
		color: var(--bd-map-text);
		box-shadow: none;
	}

	body:has(.babdori-map-page) .babdori-map-list-item:hover,
	body:has(.babdori-map-page) .babdori-map-list-item:active {
		border-color: var(--bd-map-border);
		background: #1f1f24;
	}

	body:has(.babdori-map-page) .babdori-map-list-thumb {
		background: #232329;
	}

	body:has(.babdori-map-page) .babdori-map-list-thumb em {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-map-list-info strong {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-map-list-menu {
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-map-list-meta {
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-map-list-meta b {
		color: #93c5fd;
	}

	body:has(.babdori-map-page) .babdori-map-list-like {
		border-color: rgba(251, 113, 133, 0.34);
		background: rgba(225, 29, 72, 0.10);
		color: #fb7185;
	}

	body:has(.babdori-map-page) .babdori-map-list-like em {
		color: var(--bd-map-text);
	}

	body:has(.babdori-map-page) .babdori-map-list-empty {
		border: 1px solid var(--bd-map-border-soft);
		background: var(--bd-map-surface-soft);
		color: var(--bd-map-text-muted);
	}

	body:has(.babdori-map-page) .babdori-map-list-menu em.is-low {
		background: rgba(34, 197, 94, 0.14);
		color: #86efac;
	}

	body:has(.babdori-map-page) .babdori-map-list-menu em.is-mid {
		background: rgba(245, 158, 11, 0.14);
		color: #fcd34d;
	}

	body:has(.babdori-map-page) .babdori-map-list-menu em.is-high {
		background: rgba(249, 115, 22, 0.15);
		color: #fdba74;
	}

	body:has(.babdori-map-page) .babdori-map-list-thumb b {
		background: linear-gradient(135deg, #f97316, #ea580c);
		color: #ffffff;
		box-shadow: 0 4px 12px rgba(249, 115, 22, 0.22);
	}
}

/* =========================
   Dark Mode - Map List Toggle Button
   ========================= */

@media (prefers-color-scheme: dark) {
	body:has(.babdori-map-page) .babdori-map-list-toggle {
		border-color: var(--bd-map-border);
		background: #151518;
		color: var(--bd-map-text);
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.36);
	}

	body:has(.babdori-map-page) .babdori-map-list-toggle .babdori-tool-icon {
		color: var(--bd-map-text-soft);
	}

	body:has(.babdori-map-page) .babdori-map-list-toggle:hover,
	body:has(.babdori-map-page) .babdori-map-list-toggle.is-active {
		border-color: rgba(255, 255, 255, 0.18);
		background: #27272a;
		color: #ffffff;
	}

	body:has(.babdori-map-page) .babdori-map-list-toggle:hover .babdori-tool-icon,
	body:has(.babdori-map-page) .babdori-map-list-toggle.is-active .babdori-tool-icon {
		color: #ffffff;
	}
}

/* =========================
   Babdori Submit Overlay Dark Mode
   제보하기 iframe 내부 통합 정리본
   ========================= */

@media (prefers-color-scheme: dark) {
	body.babdori-submit-overlay-body {
		--bd-submit-bg: #101013;
		--bd-submit-surface: #17171C;
		--bd-submit-surface-soft: #18181b;
		--bd-submit-surface-muted: #232329;
		--bd-submit-border: rgba(255, 255, 255, 0.10);
		--bd-submit-border-strong: rgba(255, 255, 255, 0.18);
		--bd-submit-text: #f4f4f5;
		--bd-submit-text-soft: #d4d4d8;
		--bd-submit-text-muted: #a1a1aa;

		margin: 0 !important;
		padding-bottom: 0 !important;
		background: var(--bd-submit-bg) !important;
		color: var(--bd-submit-text) !important;
		color-scheme: dark;
		overflow-x: hidden;
	}

	html:has(body.babdori-submit-overlay-body) {
		background: var(--bd-submit-bg) !important;
	}

	body.babdori-submit-overlay-body .content-area,
	body.babdori-submit-overlay-body .babdori-submit-page,
	body.babdori-submit-overlay-body .babdori-submit-card {
		width: 100% !important;
		max-width: 100% !important;
		min-height: auto !important;
		margin: 0 !important;
		background: var(--bd-submit-bg) !important;
		color: var(--bd-submit-text) !important;
	}

	body.babdori-submit-overlay-body .babdori-submit-card {
		border-color: var(--bd-submit-border) !important;
		box-shadow: none !important;
	}

	body.babdori-submit-overlay-body main,
	body.babdori-submit-overlay-body form,
	body.babdori-submit-overlay-body section,
	body.babdori-submit-overlay-body article {
		background: transparent !important;
		color: var(--bd-submit-text) !important;
	}

	body.babdori-submit-overlay-body h1,
	body.babdori-submit-overlay-body h2,
	body.babdori-submit-overlay-body h3,
	body.babdori-submit-overlay-body label,
	body.babdori-submit-overlay-body strong {
		color: var(--bd-submit-text) !important;
	}

	body.babdori-submit-overlay-body p,
	body.babdori-submit-overlay-body small,
	body.babdori-submit-overlay-body .description,
	body.babdori-submit-overlay-body [class*="help"],
	body.babdori-submit-overlay-body [class*="desc"],
	body.babdori-submit-overlay-body [class*="notice"],
	body.babdori-submit-overlay-body [class*="empty"] {
		color: var(--bd-submit-text-muted) !important;
	}

	body.babdori-submit-overlay-body input,
	body.babdori-submit-overlay-body textarea,
	body.babdori-submit-overlay-body select {
		border-color: var(--bd-submit-border) !important;
		background: var(--bd-submit-surface) !important;
		color: var(--bd-submit-text) !important;
		box-shadow: none !important;
	}

	body.babdori-submit-overlay-body input::placeholder,
	body.babdori-submit-overlay-body textarea::placeholder {
		color: #8b8b94 !important;
	}

	body.babdori-submit-overlay-body input:focus,
	body.babdori-submit-overlay-body textarea:focus,
	body.babdori-submit-overlay-body select:focus {
		border-color: rgba(255, 255, 255, 0.24) !important;
		box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06) !important;
		outline: none !important;
	}

	/* 태그 / 음식종류 pill */
	body.babdori-submit-overlay-body label:has(input[type="radio"]),
	body.babdori-submit-overlay-body label:has(input[type="checkbox"]),
	body.babdori-submit-overlay-body button[class*="tag"],
	body.babdori-submit-overlay-body button[class*="keyword"],
	body.babdori-submit-overlay-body button[class*="category"],
	body.babdori-submit-overlay-body [class*="tag"] button,
	body.babdori-submit-overlay-body [class*="keyword"] button,
	body.babdori-submit-overlay-body [class*="category"] button {
		border-color: var(--bd-submit-border) !important;
		background: var(--bd-submit-surface-soft) !important;
		color: var(--bd-submit-text-soft) !important;
		box-shadow: none !important;
	}

	body.babdori-submit-overlay-body label:has(input[type="radio"]) span,
	body.babdori-submit-overlay-body label:has(input[type="checkbox"]) span {
		color: var(--bd-submit-text-soft) !important;
	}

	body.babdori-submit-overlay-body label:has(input[type="radio"]:checked),
	body.babdori-submit-overlay-body label:has(input[type="checkbox"]:checked),
	body.babdori-submit-overlay-body button.is-active,
	body.babdori-submit-overlay-body [class*="tag"] button.is-active,
	body.babdori-submit-overlay-body [class*="keyword"] button.is-active,
	body.babdori-submit-overlay-body [class*="category"] button.is-active {
		border-color: var(--bd-submit-border-strong) !important;
		background: var(--bd-submit-surface-muted) !important;
		color: #ffffff !important;
	}

	body.babdori-submit-overlay-body label:has(input[type="radio"]:checked) span,
	body.babdori-submit-overlay-body label:has(input[type="checkbox"]:checked) span {
		color: #ffffff !important;
	}

	/* 더보기 라인 */
	body.babdori-submit-overlay-body .babdori-keyword-more,
	body.babdori-submit-overlay-body button[class*="more"] {
		background: transparent !important;
		color: var(--bd-submit-text-muted) !important;
	}

	body.babdori-submit-overlay-body .babdori-keyword-more::before,
	body.babdori-submit-overlay-body .babdori-keyword-more::after,
	body.babdori-submit-overlay-body button[class*="more"]::before,
	body.babdori-submit-overlay-body button[class*="more"]::after {
		background: var(--bd-submit-border) !important;
	}

	/* 일반 버튼 */
	body.babdori-submit-overlay-body button,
	body.babdori-submit-overlay-body .button,
	body.babdori-submit-overlay-body a[class*="button"],
	body.babdori-submit-overlay-body [class*="btn"] {
		border-color: var(--bd-submit-border) !important;
		box-shadow: none !important;
	}

	body.babdori-submit-overlay-body button:not([type="submit"]),
	body.babdori-submit-overlay-body .button,
	body.babdori-submit-overlay-body a[class*="button"],
	body.babdori-submit-overlay-body [class*="add"],
	body.babdori-submit-overlay-body [class*="map"],
	body.babdori-submit-overlay-body [class*="route"] {
		background: var(--bd-submit-surface-soft) !important;
		color: #e4e4e7 !important;
	}

	body.babdori-submit-overlay-body button:not([type="submit"]):hover,
	body.babdori-submit-overlay-body .button:hover,
	body.babdori-submit-overlay-body a[class*="button"]:hover {
		background: var(--bd-submit-surface-muted) !important;
		color: #ffffff !important;
	}

	/* 제출 / 검색 버튼 */
	body.babdori-submit-overlay-body button[type="submit"],
	body.babdori-submit-overlay-body .babdori-submit-search-btn,
	body.babdori-submit-overlay-body .babdori-submit-primary,
	body.babdori-submit-overlay-body .babdori-submit-button {
		border-color: rgba(255, 255, 255, 0.16) !important;
		background: var(--bd-submit-surface-muted) !important;
		color: #ffffff !important;
	}

	body.babdori-submit-overlay-body button[type="submit"]:hover,
	body.babdori-submit-overlay-body .babdori-submit-search-btn:hover,
	body.babdori-submit-overlay-body .babdori-submit-primary:hover,
	body.babdori-submit-overlay-body .babdori-submit-button:hover {
		background: #3f3f46 !important;
		color: #ffffff !important;
	}

	/* 이미지 추가 버튼만 */
	body.babdori-submit-overlay-body button[class*="image"],
	body.babdori-submit-overlay-body button[class*="photo"],
	body.babdori-submit-overlay-body button[class*="upload"],
	body.babdori-submit-overlay-body .babdori-submit-image-wrap button,
	body.babdori-submit-overlay-body .babdori-submit-photo-wrap button,
	body.babdori-submit-overlay-body .babdori-submit-upload-wrap button,
	body.babdori-submit-overlay-body div:has(input[type="file"]) button {
		border: 1px solid var(--bd-submit-border-strong) !important;
		background: var(--bd-submit-surface-soft) !important;
		color: var(--bd-submit-text) !important;
		box-shadow: none !important;
	}

	body.babdori-submit-overlay-body button[class*="image"]:hover,
	body.babdori-submit-overlay-body button[class*="photo"]:hover,
	body.babdori-submit-overlay-body button[class*="upload"]:hover,
	body.babdori-submit-overlay-body .babdori-submit-image-wrap button:hover,
	body.babdori-submit-overlay-body .babdori-submit-photo-wrap button:hover,
	body.babdori-submit-overlay-body .babdori-submit-upload-wrap button:hover,
	body.babdori-submit-overlay-body div:has(input[type="file"]) button:hover {
		border-color: rgba(255, 255, 255, 0.28) !important;
		background: var(--bd-submit-surface-muted) !important;
		color: #ffffff !important;
	}

	/* 이미지 추가 제목은 버튼처럼 보이지 않게 */
	body.babdori-submit-overlay-body h1[class*="image"],
	body.babdori-submit-overlay-body h2[class*="image"],
	body.babdori-submit-overlay-body h3[class*="image"],
	body.babdori-submit-overlay-body strong[class*="image"],
	body.babdori-submit-overlay-body label[for*="image"],
	body.babdori-submit-overlay-body label[for*="photo"],
	body.babdori-submit-overlay-body label[for*="file"] {
		border: 0 !important;
		background: transparent !important;
		padding: 0 !important;
		box-shadow: none !important;
	}

	/* 구분선 / 결과박스 */
	body.babdori-submit-overlay-body hr,
	body.babdori-submit-overlay-body .babdori-submit-section,
	body.babdori-submit-overlay-body [class*="section"],
	body.babdori-submit-overlay-body [class*="field"] {
		border-color: rgba(255, 255, 255, 0.08) !important;
	}

	body.babdori-submit-overlay-body [class*="result"],
	body.babdori-submit-overlay-body [class*="list"],
	body.babdori-submit-overlay-body [class*="message"] {
		border-color: var(--bd-submit-border) !important;
		background: var(--bd-submit-surface) !important;
		color: var(--bd-submit-text-soft) !important;
	}

	body.babdori-submit-overlay-body button svg,
	body.babdori-submit-overlay-body label svg {
		color: currentColor !important;
		stroke: currentColor !important;
	}
}

/* =========================
   Babdori Page Dark Mode
   교환 / 소셜 / 마이 / 내활동 / 저장 / 포인트 / 약관 통합 최종
   ========================= */

@media (prefers-color-scheme: dark) {
	/* =========================
	   Page Variables / Base
	   ========================= */

	body:has(.babdori-exchange-page),
	body:has(.exchange-page),
	body:has(.point-exchange-page),
	body:has(#kboard-default-list),
	body:has(#kboard-default-document),
	body:has(#kboard-default-editor),
	body:has(.account-page),
	body:has(.my-page),
	body:has(.activity-page),
	body:has(.point-history-page),
	body:has(.policy-page) {
		--bd-page-bg: #101013;
		--bd-page-surface: #17171C;
		--bd-page-surface-soft: #18181b;
		--bd-page-surface-muted: #232329;

		--bd-page-border: rgba(255, 255, 255, 0.10);
		--bd-page-border-soft: rgba(255, 255, 255, 0.07);

		--bd-page-text: #f4f4f5;
		--bd-page-text-soft: #d4d4d8;
		--bd-page-text-muted: #a1a1aa;

		--bd-page-blue: #93c5fd;
		--bd-page-blue-soft: rgba(96, 165, 250, 0.12);
		--bd-page-green: #86efac;
		--bd-page-green-soft: rgba(34, 197, 94, 0.13);
		--bd-page-orange: #fcd34d;
		--bd-page-orange-soft: rgba(245, 158, 11, 0.13);
		--bd-page-red: #fb7185;
		--bd-page-red-soft: rgba(244, 63, 94, 0.13);

		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
		color-scheme: dark;
	}

	body:has(.babdori-exchange-page) .content-area,
	body:has(.exchange-page) .content-area,
	body:has(.point-exchange-page) .content-area,
	body:has(#kboard-default-list) .content-area,
	body:has(#kboard-default-document) .content-area,
	body:has(#kboard-default-editor) .content-area,
	body:has(.account-page) .content-area,
	body:has(.my-page) .content-area,
	body:has(.activity-page) .content-area,
	body:has(.point-history-page) .content-area,
	body:has(.policy-page) .content-area,
	body:has(.babdori-exchange-page) main,
	body:has(.exchange-page) main,
	body:has(.point-exchange-page) main,
	body:has(#kboard-default-list) main,
	body:has(#kboard-default-document) main,
	body:has(#kboard-default-editor) main,
	body:has(.account-page) main,
	body:has(.my-page) main,
	body:has(.activity-page) main,
	body:has(.point-history-page) main,
	body:has(.policy-page) main,
	body:has(#kboard-default-list) .page-content,
	body:has(#kboard-default-document) .page-content,
	body:has(#kboard-default-editor) .page-content {
		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
	}

	/* =========================
	   Bottom Navigation
	   ========================= */

	body:has(.babdori-exchange-page) .babdori-bottom-nav,
	body:has(.exchange-page) .babdori-bottom-nav,
	body:has(.point-exchange-page) .babdori-bottom-nav,
	body:has(#kboard-default-list) .babdori-bottom-nav,
	body:has(#kboard-default-document) .babdori-bottom-nav,
	body:has(#kboard-default-editor) .babdori-bottom-nav,
	body:has(.account-page) .babdori-bottom-nav,
	body:has(.my-page) .babdori-bottom-nav,
	body:has(.activity-page) .babdori-bottom-nav,
	body:has(.point-history-page) .babdori-bottom-nav,
	body:has(.policy-page) .babdori-bottom-nav {
		border-color: var(--bd-page-border) !important;
		background: rgba(18, 18, 21, 0.94) !important;
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
	}

	body:has(.babdori-exchange-page) .babdori-bottom-nav-item,
	body:has(.exchange-page) .babdori-bottom-nav-item,
	body:has(.point-exchange-page) .babdori-bottom-nav-item,
	body:has(#kboard-default-list) .babdori-bottom-nav-item,
	body:has(#kboard-default-document) .babdori-bottom-nav-item,
	body:has(#kboard-default-editor) .babdori-bottom-nav-item,
	body:has(.account-page) .babdori-bottom-nav-item,
	body:has(.my-page) .babdori-bottom-nav-item,
	body:has(.activity-page) .babdori-bottom-nav-item,
	body:has(.point-history-page) .babdori-bottom-nav-item,
	body:has(.policy-page) .babdori-bottom-nav-item {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.babdori-exchange-page) .babdori-bottom-nav-item:hover,
	body:has(.exchange-page) .babdori-bottom-nav-item:hover,
	body:has(.point-exchange-page) .babdori-bottom-nav-item:hover,
	body:has(#kboard-default-list) .babdori-bottom-nav-item:hover,
	body:has(#kboard-default-document) .babdori-bottom-nav-item:hover,
	body:has(#kboard-default-editor) .babdori-bottom-nav-item:hover,
	body:has(.account-page) .babdori-bottom-nav-item:hover,
	body:has(.my-page) .babdori-bottom-nav-item:hover,
	body:has(.activity-page) .babdori-bottom-nav-item:hover,
	body:has(.point-history-page) .babdori-bottom-nav-item:hover,
	body:has(.policy-page) .babdori-bottom-nav-item:hover,
	body:has(.babdori-exchange-page) .babdori-bottom-nav-item.is-active,
	body:has(.exchange-page) .babdori-bottom-nav-item.is-active,
	body:has(.point-exchange-page) .babdori-bottom-nav-item.is-active,
	body:has(#kboard-default-list) .babdori-bottom-nav-item.is-active,
	body:has(#kboard-default-document) .babdori-bottom-nav-item.is-active,
	body:has(#kboard-default-editor) .babdori-bottom-nav-item.is-active,
	body:has(.account-page) .babdori-bottom-nav-item.is-active,
	body:has(.my-page) .babdori-bottom-nav-item.is-active,
	body:has(.activity-page) .babdori-bottom-nav-item.is-active,
	body:has(.point-history-page) .babdori-bottom-nav-item.is-active,
	body:has(.policy-page) .babdori-bottom-nav-item.is-active {
		background: rgba(255, 255, 255, 0.08) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) .babdori-bottom-nav-icon svg,
	body:has(.my-page) .babdori-bottom-nav-icon svg,
	body:has(.activity-page) .babdori-bottom-nav-icon svg,
	body:has(.point-history-page) .babdori-bottom-nav-icon svg,
	body:has(.policy-page) .babdori-bottom-nav-icon svg {
		stroke: currentColor !important;
	}

	/* =========================
	   Exchange
	   ========================= */

	body:has(.babdori-exchange-page) .babdori-exchange-page,
	body:has(.exchange-page) .exchange-page,
	body:has(.point-exchange-page) .point-exchange-page {
		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.babdori-exchange-page) .exchange-info-card,
	body:has(.babdori-exchange-page) .exchange-card,
	body:has(.babdori-exchange-page) .exchange-empty,
	body:has(.babdori-exchange-page) .exchange-category-bar,
	body:has(.babdori-exchange-page) .point-exchange-list,
	body:has(.babdori-exchange-page) .point-exchange-item,
	body:has(.exchange-page) .exchange-info-card,
	body:has(.exchange-page) .exchange-card,
	body:has(.exchange-page) .exchange-empty,
	body:has(.point-exchange-page) .point-exchange-list,
	body:has(.point-exchange-page) .point-exchange-item {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-thumb {
		background: #26262D !important;
	}

	body:has(.babdori-exchange-page) .exchange-thumb::before {
		background: #3A3A44 !important;
	}

	body:has(.babdori-exchange-page) .exchange-thumb span {
		color: #f4f4f5 !important;
	}

	body:has(.babdori-exchange-page) .exchange-info-icon,
	body:has(.babdori-exchange-page) .exchange-category-icon,
	body:has(.babdori-exchange-page) .exchange-category-tab span:first-child {
		background: var(--bd-page-blue-soft) !important;
		color: var(--bd-page-blue) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-category-tabs {
		border-color: var(--bd-page-border) !important;
	}

	body:has(.babdori-exchange-page) .exchange-category-tab,
	body:has(.babdori-exchange-page) .exchange-sort-btn {
		border-color: var(--bd-page-border-soft) !important;
		background: transparent !important;
		color: var(--bd-page-text-muted) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-category-tab.is-active,
	body:has(.babdori-exchange-page) .exchange-category-tab:hover,
	body:has(.babdori-exchange-page) .exchange-sort-btn.is-active,
	body:has(.babdori-exchange-page) .exchange-sort-btn:hover {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: #ffffff !important;
	}

	body:has(.babdori-exchange-page) .exchange-category-tab span:last-child {
		color: inherit !important;
	}

	body:has(.babdori-exchange-page) .exchange-section-head h1,
	body:has(.babdori-exchange-page) .exchange-card h2,
	body:has(.babdori-exchange-page) .exchange-info-title,
	body:has(.babdori-exchange-page) .exchange-info-card strong,
	body:has(.babdori-exchange-page) .exchange-info-card b,
	body:has(.babdori-exchange-page) .point-exchange-item strong {
		color: var(--bd-page-text) !important;
	}

	body:has(.babdori-exchange-page) .exchange-card h2 span,
	body:has(.babdori-exchange-page) .exchange-info-card span,
	body:has(.babdori-exchange-page) .exchange-info-card p,
	body:has(.babdori-exchange-page) .exchange-meta-row span,
	body:has(.babdori-exchange-page) .point-exchange-item span {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.babdori-exchange-page) .exchange-meta-row strong,
	body:has(.babdori-exchange-page) .exchange-info-point,
	body:has(.babdori-exchange-page) .point-exchange-meta span {
		color: var(--bd-page-blue) !important;
	}

	body:has(.babdori-exchange-page) .exchange-btn {
		border-color: rgba(255, 255, 255, 0.16) !important;
		background: #27272a !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-btn:hover {
		background: #3f3f46 !important;
	}

	body:has(.babdori-exchange-page) .exchange-btn.is-disabled,
	body:has(.babdori-exchange-page) .exchange-btn:disabled,
	body:has(.babdori-exchange-page) button.exchange-btn.is-disabled,
	body:has(.babdori-exchange-page) button.exchange-btn:disabled {
		border: 1px solid var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-muted) !important;
		box-shadow: none !important;
		opacity: 1 !important;
		cursor: not-allowed !important;
	}

	body:has(.babdori-exchange-page) .exchange-btn.is-disabled:hover,
	body:has(.babdori-exchange-page) .exchange-btn:disabled:hover,
	body:has(.babdori-exchange-page) button.exchange-btn.is-disabled:hover,
	body:has(.babdori-exchange-page) button.exchange-btn:disabled:hover {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-muted) !important;
		transform: none !important;
		filter: none !important;
	}

	/* 교환 완료 모달 */
	body:has(.babdori-exchange-page) .exchange-success-backdrop {
		background: rgba(0, 0, 0, 0.62) !important;
		backdrop-filter: blur(6px);
		-webkit-backdrop-filter: blur(6px);
	}

	body:has(.babdori-exchange-page) .exchange-success-box {
		border: 1px solid var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42) !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-icon {
		background: var(--bd-page-green-soft) !important;
		color: var(--bd-page-green) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-exchange-page) #exchange-success-title,
	body:has(.babdori-exchange-page) .exchange-success-title,
	body:has(.babdori-exchange-page) .exchange-success-box #exchange-success-title,
	body:has(.babdori-exchange-page) .exchange-success-box h2,
	body:has(.babdori-exchange-page) .exchange-success-box strong {
		color: var(--bd-page-text) !important;
		opacity: 1 !important;
		text-shadow: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-desc,
	body:has(.babdori-exchange-page) .exchange-success-box p {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-kakao,
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="kakao"],
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="pf.kakao"] {
		border: 1px solid rgba(254, 229, 0, 0.26) !important;
		background: rgba(254, 229, 0, 0.12) !important;
		color: #fef08a !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-kakao:hover,
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="kakao"]:hover,
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="pf.kakao"]:hover {
		border-color: rgba(254, 229, 0, 0.38) !important;
		background: rgba(254, 229, 0, 0.18) !important;
		color: #fef9c3 !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-close,
	body:has(.babdori-exchange-page) .exchange-success-box button,
	body:has(.babdori-exchange-page) .exchange-success-box a:not([href*="kakao"]):not([href*="pf.kakao"]) {
		border: 1px solid var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-close:hover,
	body:has(.babdori-exchange-page) .exchange-success-box button:hover,
	body:has(.babdori-exchange-page) .exchange-success-box a:not([href*="kakao"]):not([href*="pf.kakao"]):hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	/* =========================
	   Social / KBoard List
	   ========================= */

	body:has(#kboard-default-list),
	body:has(#kboard-default-document),
	body:has(#kboard-default-editor) {
		background: var(--bd-page-bg) !important;
	}

	body:has(#kboard-default-list) .babdori-community-page,
	body:has(#kboard-default-list) .page-content {
		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
	}

	body:has(#kboard-default-list) .babdori-community-title,
	body:has(#kboard-default-list) .babdori-popular-head h2,
	body:has(#kboard-default-list) .kboard-list-title {
		color: var(--bd-page-text) !important;
	}

	body:has(#kboard-default-list) .babdori-notice-icon {
		background: var(--bd-page-blue-soft) !important;
		color: var(--bd-page-blue) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-list) .babdori-community-notice,
	body:has(#kboard-default-list) .babdori-board-card,
	body:has(#kboard-default-list) .babdori-popular-slide .babdori-board-card,
	body:has(#kboard-default-list) #kboard-default-list,
	body:has(#kboard-default-list) .kboard-list-item,
	body:has(#kboard-default-list) #kboard-default-list .kboard-list table,
	body:has(#kboard-default-list) #kboard-default-list .kboard-list tbody,
	body:has(#kboard-default-list) #kboard-default-list .kboard-list tr,
	body:has(#kboard-default-list) #kboard-default-list .kboard-list td {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-list) .babdori-board-list {
		background: transparent !important;
		border: 0 !important;
	}

	body:has(#kboard-default-list) .babdori-community-notice summary,
	body:has(#kboard-default-list) .babdori-title,
	body:has(#kboard-default-list) .babdori-title strong,
	body:has(#kboard-default-list) .babdori-title a,
	body:has(#kboard-default-list) .babdori-board-card {
		color: var(--bd-page-text) !important;
	}

	body:has(#kboard-default-list) .babdori-community-notice-content p,
	body:has(#kboard-default-list) .babdori-meta,
	body:has(#kboard-default-list) .babdori-meta span {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(#kboard-default-list) .babdori-board-badge,
	body:has(#kboard-default-list) .babdori-board-category,
	body:has(#kboard-default-list) .babdori-board-tag {
		border-color: var(--bd-page-border-soft) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-list) #kboard-default-list .kboard-category.category-pc a {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-list) #kboard-default-list .kboard-category.category-pc a:hover,
	body:has(#kboard-default-list) #kboard-default-list .kboard-category.category-pc a.selected {
		border-color: rgba(255, 255, 255, 0.18) !important;
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	body:has(#kboard-default-list) .kboard-pagination,
	body:has(#kboard-default-list) .kboard-pagination-pages {
		background: transparent !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-list) .kboard-pagination a,
	body:has(#kboard-default-list) .kboard-pagination-pages li a,
	body:has(#kboard-default-list) .kboard-pagination-pages li span {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(#kboard-default-list) .kboard-pagination .active,
	body:has(#kboard-default-list) .kboard-pagination-pages li.active a,
	body:has(#kboard-default-list) .kboard-pagination-pages li.active span {
		border-color: rgba(96, 165, 250, 0.32) !important;
		background: rgba(37, 99, 235, 0.22) !important;
		color: var(--bd-page-blue) !important;
		box-shadow: none !important;
	}

	/* =========================
	   Social / KBoard Document
	   ========================= */

	body:has(#kboard-default-document) #kboard-default-document,
	body:has(#kboard-default-document) .kboard-document-wrap,
	body:has(#kboard-default-document) .kboard-content,
	body:has(#kboard-default-document) .kboard-document-content,
	body:has(#kboard-default-document) .kboard-document-body,
	body:has(#kboard-default-document) .kboard-control,
	body:has(#kboard-default-document) .kboard-document-action,
	body:has(#kboard-default-document) .kboard-comments,
	body:has(#kboard-default-document) .comments-area,
	body:has(#kboard-default-document) .kboard-comment,
	body:has(#kboard-default-document) .kboard-comments-list,
	body:has(#kboard-default-document) .kboard-comments-form {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-document) .kboard-title,
	body:has(#kboard-default-document) .kboard-title h1,
	body:has(#kboard-default-document) .kboard-document-title,
	body:has(#kboard-default-document) .kboard-content p,
	body:has(#kboard-default-document) .kboard-document-content p,
	body:has(#kboard-default-document) .kboard-document-body p {
		color: var(--bd-page-text) !important;
	}

	body:has(#kboard-default-document) .babdori-document-content,
	body:has(#kboard-default-document) .babdori-document-title,
	body:has(#kboard-default-document) .babdori-document-author-name,
	body:has(#kboard-default-document) .content-view {
		color: #E4E4E5 !important;
	}

	body:has(#kboard-default-document) .content-view {
		color: #C3C3C6 !important;
	}

	body:has(#kboard-default-document) .kboard-detail,
	body:has(#kboard-default-document) .kboard-date,
	body:has(#kboard-default-document) .kboard-view,
	body:has(#kboard-default-document) .kboard-user,
	body:has(#kboard-default-document) .kboard-document-meta {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(#kboard-default-document) .kboard-button-action,
	body:has(#kboard-default-document) .kboard-control a,
	body:has(#kboard-default-document) .kboard-vote,
	body:has(#kboard-default-document) .kboard-like,
	body:has(#kboard-default-document) .kboard-comments-count,
	body:has(#kboard-default-document) .kboard-comments-count a,
	body:has(#kboard-default-document) .kboard-comments-button,
	body:has(#kboard-default-document) .babdori-document-comment-count,
	body:has(#kboard-default-document) .kboard-default-button-small,
	body:has(#kboard-default-document) .kboard-default-button-large {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-document) .kboard-button-action:hover,
	body:has(#kboard-default-document) .kboard-control a:hover,
	body:has(#kboard-default-document) .kboard-default-button-small:hover,
	body:has(#kboard-default-document) .kboard-default-button-large:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	/* =========================
	   KBoard Editor / Forms
	   ========================= */

	body:has(#kboard-default-editor) #kboard-default-editor,
	body:has(#kboard-default-editor) .kboard-attr-row,
	body:has(#kboard-default-editor) .kboard-editor-form,
	body:has(#kboard-default-editor) .kboard-content {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-editor) label,
	body:has(#kboard-default-editor) .attr-name,
	body:has(#kboard-default-editor) .kboard-attr-row label {
		color: var(--bd-page-text) !important;
	}

	body:has(#kboard-default-editor) input,
	body:has(#kboard-default-editor) textarea,
	body:has(#kboard-default-editor) select,
	body:has(#kboard-default-document) textarea,
	body:has(#kboard-default-document) input {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(#kboard-default-editor) input::placeholder,
	body:has(#kboard-default-editor) textarea::placeholder,
	body:has(#kboard-default-document) textarea::placeholder,
	body:has(#kboard-default-document) input::placeholder {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(#kboard-default-editor) button,
	body:has(#kboard-default-editor) input[type="submit"],
	body:has(#kboard-default-editor) .kboard-default-button-small,
	body:has(#kboard-default-editor) .kboard-default-button-large {
		border-color: rgba(255, 255, 255, 0.16) !important;
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	/* =========================
	   Account / My / Activity / Saved / Point
	   ========================= */

	body:has(.account-page) .account-page,
	body:has(.my-page) .my-page,
	body:has(.activity-page) .activity-page,
	body:has(.point-history-page) .point-history-page,
	body:has(.point-history-page) .point-history-wrap,
	body:has(.point-history-page) .point-history-section {
		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-page-header,
	body:has(.activity-page) .saved-page-header,
	body:has(.point-history-page) .saved-page-header {
		background: transparent !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-page-back,
	body:has(.activity-page) .saved-page-back,
	body:has(.point-history-page) .saved-page-back {
		background: transparent !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.account-page) .account-title,
	body:has(.activity-page) .account-title,
	body:has(.point-history-page) .account-title,
	body:has(.account-page) .account-group-title,
	body:has(.activity-page) .account-group-title,
	body:has(.point-history-page) .point-history-section h2 {
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .account-page-desc,
	body:has(.activity-page) .account-page-desc,
	body:has(.point-history-page) .account-page-desc {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.account-page) .account-card,
	body:has(.account-page) .account-section,
	body:has(.account-page) .account-profile,
	body:has(.account-page) .account-summary,
	body:has(.account-page) .account-point,
	body:has(.account-page) .account-menu,
	body:has(.account-page) .account-profile-card,
	body:has(.account-page) .account-menu-card,
	body:has(.account-page) .account-menu-list,
	body:has(.account-page) .account-nickname-panel,
	body:has(.account-page) .account-password-panel,
	body:has(.account-page) .account-delete-panel,
	body:has(.account-page) .saved-place-card,
	body:has(.account-page) .saved-place-list,
	body:has(.account-page) .saved-eats-list-wrap,
	body:has(.account-page) .activity-login-card,
	body:has(.my-page) .account-card,
	body:has(.my-page) .account-section,
	body:has(.my-page) .account-profile,
	body:has(.my-page) .account-summary,
	body:has(.my-page) .account-point,
	body:has(.my-page) .account-menu,
	body:has(.my-page) .account-profile-card,
	body:has(.my-page) .account-menu-card,
	body:has(.my-page) .account-menu-list,
	body:has(.my-page) .account-nickname-panel,
	body:has(.my-page) .account-password-panel,
	body:has(.my-page) .account-delete-panel,
	body:has(.my-page) .my-section,
	body:has(.my-page) .my-card,
	body:has(.my-page) .my-menu,
	body:has(.my-page) .my-menu-list,
	body:has(.my-page) .my-list,
	body:has(.activity-page) .activity-card,
	body:has(.activity-page) .activity-list,
	body:has(.activity-page) .activity-summary,
	body:has(.activity-page) .activity-summary-card,
	body:has(.activity-page) .activity-list-card,
	body:has(.activity-page) .activity-section,
	body:has(.point-history-page) .point-summary-card,
	body:has(.point-history-page) .point-log-list,
	body:has(.point-history-page) .point-exchange-list,
	body:has(.point-history-page) .point-empty {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) .account-menu a,
	body:has(.account-page) .account-link,
	body:has(.account-page) .account-menu-item,
	body:has(.account-page) button.account-menu-item,
	body:has(.account-page) .saved-place-edit-item,
	body:has(.account-page) .saved-place-default-item,
	body:has(.account-page) .saved-eats-item,
	body:has(.my-page) .account-menu a,
	body:has(.my-page) .account-link,
	body:has(.my-page) .account-menu-item,
	body:has(.my-page) button.account-menu-item,
	body:has(.my-page) .my-menu a,
	body:has(.my-page) .my-menu-list a,
	body:has(.my-page) .my-list a,
	body:has(.activity-page) .activity-item,
	body:has(.activity-page) .activity-list-item,
	body:has(.activity-page) li,
	body:has(.point-history-page) .point-log-item,
	body:has(.point-history-page) .point-exchange-item {
		border-color: var(--bd-page-border-soft) !important;
		background: transparent !important;
		color: var(--bd-page-text-soft) !important;
		text-decoration: none !important;
	}

	body:has(.account-page) .account-menu a:hover,
	body:has(.account-page) .account-link:hover,
	body:has(.account-page) .account-menu-item:hover,
	body:has(.account-page) button.account-menu-item:hover,
	body:has(.account-page) .saved-place-edit-item:hover,
	body:has(.account-page) .saved-eats-item:hover,
	body:has(.my-page) .account-menu a:hover,
	body:has(.my-page) .account-link:hover,
	body:has(.my-page) .account-menu-item:hover,
	body:has(.my-page) button.account-menu-item:hover,
	body:has(.my-page) .my-menu a:hover,
	body:has(.my-page) .my-menu-list a:hover,
	body:has(.my-page) .my-list a:hover,
	body:has(.activity-page) .activity-item:hover,
	body:has(.activity-page) .activity-list-item:hover {
		background: var(--bd-page-surface-soft) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) h1,
	body:has(.account-page) h2,
	body:has(.account-page) h3,
	body:has(.account-page) strong,
	body:has(.account-page) .saved-place-line-text strong,
	body:has(.account-page) .saved-eats-item strong,
	body:has(.account-page) .activity-login-card strong,
	body:has(.my-page) h1,
	body:has(.my-page) h2,
	body:has(.my-page) h3,
	body:has(.my-page) strong,
	body:has(.activity-page) h1,
	body:has(.activity-page) h2,
	body:has(.activity-page) h3,
	body:has(.activity-page) strong,
	body:has(.activity-page) .activity-summary-card strong,
	body:has(.activity-page) .activity-list-item strong,
	body:has(.point-history-page) h1,
	body:has(.point-history-page) h2,
	body:has(.point-history-page) h3,
	body:has(.point-history-page) strong,
	body:has(.point-history-page) .point-summary-card strong,
	body:has(.point-history-page) .point-log-main strong,
	body:has(.point-history-page) .point-exchange-item strong {
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) p,
	body:has(.account-page) small,
	body:has(.account-page) em,
	body:has(.account-page) .saved-place-line-text p,
	body:has(.account-page) .saved-eats-item p,
	body:has(.account-page) .saved-eats-item i,
	body:has(.account-page) .activity-empty,
	body:has(.account-page) .activity-empty p,
	body:has(.account-page) .activity-login-card p,
	body:has(.my-page) p,
	body:has(.my-page) small,
	body:has(.my-page) em,
	body:has(.activity-page) p,
	body:has(.activity-page) small,
	body:has(.activity-page) em,
	body:has(.activity-page) .activity-summary-card span,
	body:has(.activity-page) .activity-list-item p,
	body:has(.activity-page) .activity-list-item i,
	body:has(.point-history-page) p,
	body:has(.point-history-page) small,
	body:has(.point-history-page) em,
	body:has(.point-history-page) .point-summary-card span,
	body:has(.point-history-page) .point-log-main span,
	body:has(.point-history-page) .point-exchange-item span,
	body:has(.point-history-page) .point-empty {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.account-page) input,
	body:has(.account-page) textarea,
	body:has(.account-page) select,
	body:has(.account-page) .account-nickname-input,
	body:has(.account-page) .account-password-form input,
	body:has(.account-page) .account-delete-form input,
	body:has(.account-page) .saved-place-search-row input,
	body:has(.account-page) .saved-place-edit-form input,
	body:has(.account-page) .saved-place-edit-form select,
	body:has(.my-page) input,
	body:has(.my-page) textarea,
	body:has(.my-page) select,
	body:has(.my-page) .account-nickname-input,
	body:has(.my-page) .account-password-form input,
	body:has(.my-page) .account-delete-form input {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) input::placeholder,
	body:has(.my-page) input::placeholder {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.account-page) button[type="submit"],
	body:has(.account-page) .account-save,
	body:has(.account-page) .account-nickname-form button,
	body:has(.account-page) .account-password-form button,
	body:has(.account-page) .account-delete-form button,
	body:has(.my-page) button[type="submit"],
	body:has(.my-page) .account-save,
	body:has(.my-page) .account-nickname-form button,
	body:has(.my-page) .account-password-form button,
	body:has(.my-page) .account-delete-form button {
		border-color: rgba(255, 255, 255, 0.16) !important;
		background: #2563eb !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	body:has(.my-page) .account-danger,
	body:has(.my-page) .account-delete,
	body:has(.my-page) .account-withdraw,
	body:has(.account-page) .account-danger,
	body:has(.account-page) .account-delete,
	body:has(.account-page) .account-withdraw {
		color: var(--bd-page-red) !important;
	}

	/* Saved */
	body:has(.account-page) .saved-place-icon {
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
	}

	body:has(.account-page) .saved-place-map-link,
	body:has(.account-page) .saved-place-edit-toggle,
	body:has(.account-page) .saved-place-search-btn,
	body:has(.account-page) .saved-place-submit-btn,
	body:has(.account-page) .saved-place-add-toggle {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.account-page) .saved-place-map-link:hover,
	body:has(.account-page) .saved-place-edit-toggle:hover,
	body:has(.account-page) .saved-place-search-btn:hover,
	body:has(.account-page) .saved-place-submit-btn:hover,
	body:has(.account-page) .saved-place-add-toggle:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) .saved-place-edit-form,
	body:has(.account-page) .saved-place-add-form {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-place-result-item {
		border-color: var(--bd-page-border-soft) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text-soft) !important;
	}

	body:has(.account-page) .saved-place-result-item:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) .saved-place-delete {
		background: rgba(225, 29, 72, 0.12) !important;
		color: var(--bd-page-red) !important;
	}

	body:has(.account-page) .saved-eats-list {
		background: transparent !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-eats-more-toggle,
	body:has(.activity-page) .activity-more-toggle,
	body:has(.activity-page) .activity-more,
	body:has(.activity-page) .account-more,
	body:has(.activity-page) .more-link,
	body:has(.activity-page) .load-more,
	body:has(.activity-page) a[class*="more"],
	body:has(.activity-page) button[class*="more"],
	body:has(.point-history-page) .point-log-more-toggle,
	body:has(.point-history-page) .point-exchange-more-toggle {
		border-top: 1px solid var(--bd-page-border-soft) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) .saved-eats-more-toggle:hover,
	body:has(.activity-page) .activity-more-toggle:hover,
	body:has(.activity-page) .activity-more:hover,
	body:has(.activity-page) .account-more:hover,
	body:has(.activity-page) .more-link:hover,
	body:has(.activity-page) .load-more:hover,
	body:has(.activity-page) a[class*="more"]:hover,
	body:has(.activity-page) button[class*="more"]:hover,
	body:has(.point-history-page) .point-log-more-toggle:hover,
	body:has(.point-history-page) .point-exchange-more-toggle:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	/* Activity / Point Status */
	body:has(.activity-page) .activity-status.approved,
	body:has(.account-page) .activity-status.approved,
	body:has(.point-history-page) .point-exchange-meta em.is-completed {
		background: var(--bd-page-green-soft) !important;
		color: var(--bd-page-green) !important;
	}

	body:has(.activity-page) .activity-status.pending,
	body:has(.account-page) .activity-status.pending,
	body:has(.point-history-page) .point-exchange-meta em.is-pending {
		background: var(--bd-page-orange-soft) !important;
		color: var(--bd-page-orange) !important;
	}

	body:has(.activity-page) .activity-status.draft,
	body:has(.account-page) .activity-status.draft {
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.point-history-page) .point-exchange-meta em.is-cancelled {
		background: var(--bd-page-red-soft) !important;
		color: var(--bd-page-red) !important;
	}

	body:has(.point-history-page) .point-log-points.is-plus {
		color: var(--bd-page-blue) !important;
	}

	body:has(.point-history-page) .point-log-points.is-minus,
	body:has(.point-history-page) .point-exchange-meta span {
		color: var(--bd-page-red) !important;
	}

	/* =========================
	   Policy / Terms
	   ========================= */

	body:has(.policy-page) .policy-page {
		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.policy-page) .policy-menu-card,
	body:has(.policy-page) .policy-card,
	body:has(.policy-page) .policy-detail-card,
	body:has(.policy-page) .policy-list,
	body:has(.policy-page) .terms-list,
	body:has(.policy-page) .terms-card {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.policy-page) .policy-menu-item,
	body:has(.policy-page) .policy-item,
	body:has(.policy-page) .terms-item {
		border-color: var(--bd-page-border-soft) !important;
		background: transparent !important;
		color: var(--bd-page-text-soft) !important;
	}

	body:has(.policy-page) .policy-menu-item:hover,
	body:has(.policy-page) .policy-item:hover,
	body:has(.policy-page) .terms-item:hover {
		background: var(--bd-page-surface-soft) !important;
		color: #ffffff !important;
	}

	body:has(.policy-page) .policy-menu-item strong,
	body:has(.policy-page) h1,
	body:has(.policy-page) h2,
	body:has(.policy-page) h3,
	body:has(.policy-page) strong {
		color: var(--bd-page-text) !important;
	}

	body:has(.policy-page) .policy-menu-item em,
	body:has(.policy-page) .policy-page-desc,
	body:has(.policy-page) p,
	body:has(.policy-page) small,
	body:has(.policy-page) li {
		color: var(--bd-page-text-muted) !important;
	}
}

/* =========================
   Submit Page Dark Mode
   미션에서 이동하는 제보하기 일반 페이지
   ========================= */

@media (prefers-color-scheme: dark) {
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) {
		--bd-submit-page-bg: #101013;
		--bd-submit-page-surface: #17171C;
		--bd-submit-page-surface-soft: #18181b;
		--bd-submit-page-surface-muted: #232329;
		--bd-submit-page-border: rgba(255, 255, 255, 0.10);
		--bd-submit-page-border-soft: rgba(255, 255, 255, 0.07);
		--bd-submit-page-text: #f4f4f5;
		--bd-submit-page-text-soft: #d4d4d8;
		--bd-submit-page-text-muted: #a1a1aa;

		background: var(--bd-submit-page-bg) !important;
		color: var(--bd-submit-page-text) !important;
		color-scheme: dark;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .content-area,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-page,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-wrap {
		background: var(--bd-submit-page-bg) !important;
		color: var(--bd-submit-page-text) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-card {
		border-color: var(--bd-submit-page-border) !important;
		background: var(--bd-submit-page-surface) !important;
		color: var(--bd-submit-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-head {
		border-color: var(--bd-submit-page-border-soft) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-head h1,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-field label,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-field strong {
		color: var(--bd-submit-page-text) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-head p,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-help,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-optional,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-price-warning,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-inline-message,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-duplicate-message {
		color: var(--bd-submit-page-text-muted) !important;
	}

body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-image-count {
		color: #4391FF !important;
}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) input,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) textarea,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) select {
		border-color: var(--bd-submit-page-border) !important;
		background: var(--bd-submit-page-surface-soft) !important;
		color: var(--bd-submit-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) input::placeholder,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) textarea::placeholder {
		color: var(--bd-submit-page-text-muted) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) input:focus,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) textarea:focus,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) select:focus {
		border-color: rgba(255, 255, 255, 0.24) !important;
		box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06) !important;
		outline: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-search-box {
		background: transparent !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-place-search-btn {
		border-color: rgba(37, 99, 235, 0.35) !important;
		background: #2563eb !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-place-search-btn svg {
		stroke: currentColor !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-options label,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-closed-days label {
		border-color: var(--bd-submit-page-border) !important;
		background: var(--bd-submit-page-surface-soft) !important;
		color: var(--bd-submit-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-options label:has(input:checked),
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-closed-days label:has(input:checked) {
		border-color: rgba(37, 99, 235, 0.42) !important;
		background: rgba(37, 99, 235, 0.18) !important;
		color: #bfdbfe !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-keyword-more {
		background: transparent !important;
		color: var(--bd-submit-page-text-muted) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-keyword-more::before,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-keyword-more::after {
		background: var(--bd-submit-page-border) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-add-menu-btn,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-image-add-button {
		border-color: var(--bd-submit-page-border) !important;
		background: var(--bd-submit-page-surface-soft) !important;
		color: var(--bd-submit-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-add-menu-btn:hover,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-image-add-button:hover {
		background: var(--bd-submit-page-surface-muted) !important;
		color: #ffffff !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-menu-row {
		border-color: var(--bd-submit-page-border-soft) !important;
		background: transparent !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-hours-row span,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-closed-days span {
		color: var(--bd-submit-page-text-muted) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-place-search-results,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-place-result-item,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-message {
		border-color: var(--bd-submit-page-border) !important;
		background: var(--bd-submit-page-surface-soft) !important;
		color: var(--bd-submit-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-message.success {
		border-color: rgba(34, 197, 94, 0.24) !important;
		background: rgba(34, 197, 94, 0.12) !important;
		color: #86efac !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-message.error {
		border-color: rgba(251, 113, 133, 0.24) !important;
		background: rgba(225, 29, 72, 0.12) !important;
		color: #fb7185 !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-button {
		border-color: rgba(37, 99, 235, 0.35) !important;
		background: #2563eb !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-submit-button:hover {
		background: #1d4ed8 !important;
		color: #ffffff !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-bottom-nav {
		border-color: var(--bd-submit-page-border) !important;
		background: #151518 !important;
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-bottom-nav-item {
		color: var(--bd-submit-page-text-muted) !important;
	}

	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-bottom-nav-item:hover,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-bottom-nav-item:active,
	body:has(.babdori-submit-page):not(.babdori-submit-overlay-body) .babdori-bottom-nav-item.is-active {
		background: rgba(255, 255, 255, 0.08) !important;
		color: #ffffff !important;
	}
}

/* =========================================================
   Auth Pages Dark Mode
   로그인 / 비밀번호 찾기 / 회원가입
========================================================= */

@media (prefers-color-scheme: dark) {
	body:has(.cosmosfarm-members-form),
	body:has(form#wpmem_register_form),
	body:has(form#wpmem_getusername_form) {
		--bd-page-bg: #101013;
		--bd-page-surface: #121215;
		--bd-page-surface-soft: #18181b;
		--bd-page-surface-muted: #232329;
		--bd-page-border: rgba(255, 255, 255, 0.10);
		--bd-page-border-soft: rgba(255, 255, 255, 0.07);
		--bd-page-text: #f4f4f5;
		--bd-page-text-soft: #d4d4d8;
		--bd-page-text-muted: #a1a1aa;

		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
		color-scheme: dark;
	}

	body:has(.cosmosfarm-members-form) .content-area,
	body:has(form#wpmem_register_form) .content-area,
	body:has(form#wpmem_getusername_form) .content-area,
	body:has(.cosmosfarm-members-form) main,
	body:has(form#wpmem_register_form) main,
	body:has(form#wpmem_getusername_form) main,
	body:has(.cosmosfarm-members-form) .page-content,
	body:has(form#wpmem_register_form) .page-content,
	body:has(form#wpmem_getusername_form) .page-content,
	body:has(.cosmosfarm-members-form) .page-single,
	body:has(form#wpmem_register_form) .page-single,
	body:has(form#wpmem_getusername_form) .page-single {
		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
	}

	/* 페이지 제목 */
	body:has(.cosmosfarm-members-form) .page-title,
	body:has(form#wpmem_register_form) .page-title,
	body:has(form#wpmem_getusername_form) .page-title,
	body:has(.cosmosfarm-members-form) h1,
	body:has(form#wpmem_register_form) h1,
	body:has(form#wpmem_getusername_form) h1 {
		color: var(--bd-page-text) !important;
	}

	/* 폼 전체 */
	body:has(.cosmosfarm-members-form) .cosmosfarm-members-form,
	body:has(form#wpmem_register_form) form#wpmem_register_form,
	body:has(form#wpmem_getusername_form) form#wpmem_getusername_form {
		background: transparent !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	/* 라벨 / 안내문 */
	.cosmosfarm-members-form label,
	.cosmosfarm-members-form .label,
	.cosmosfarm-members-form .form-label,
	form#wpmem_register_form label,
	form#wpmem_getusername_form label,
	form#wpmem_register_form legend,
	form#wpmem_getusername_form legend {
		color: var(--bd-page-text) !important;
	}

	.cosmosfarm-members-form p,
	.cosmosfarm-members-form span,
	.cosmosfarm-members-form small,
	.cosmosfarm-members-form .description,
	.cosmosfarm-members-form .help,
	form#wpmem_register_form p,
	form#wpmem_register_form span,
	form#wpmem_register_form small,
	form#wpmem_getusername_form p,
	form#wpmem_getusername_form span,
	form#wpmem_getusername_form small {
		color: var(--bd-page-text-muted) !important;
	}

	/* 입력창 */
	.cosmosfarm-members-form input[type="text"],
	.cosmosfarm-members-form input[type="password"],
	.cosmosfarm-members-form input[type="email"],
	.cosmosfarm-members-form input[type="tel"],
	.cosmosfarm-members-form input[type="number"],
	.cosmosfarm-members-form select,
	.cosmosfarm-members-form textarea,
	form#wpmem_register_form input[type="text"],
	form#wpmem_register_form input[type="password"],
	form#wpmem_register_form input[type="email"],
	form#wpmem_register_form input[type="tel"],
	form#wpmem_register_form input[type="number"],
	form#wpmem_register_form select,
	form#wpmem_register_form textarea,
	form#wpmem_getusername_form input[type="text"],
	form#wpmem_getusername_form input[type="password"],
	form#wpmem_getusername_form input[type="email"],
	form#wpmem_getusername_form input[type="tel"],
	form#wpmem_getusername_form input[type="number"],
	form#wpmem_getusername_form select,
	form#wpmem_getusername_form textarea {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	.cosmosfarm-members-form input::placeholder,
	.cosmosfarm-members-form textarea::placeholder,
	form#wpmem_register_form input::placeholder,
	form#wpmem_register_form textarea::placeholder,
	form#wpmem_getusername_form input::placeholder,
	form#wpmem_getusername_form textarea::placeholder {
		color: #8b8b94 !important;
	}

	.cosmosfarm-members-form input:focus,
	.cosmosfarm-members-form select:focus,
	.cosmosfarm-members-form textarea:focus,
	form#wpmem_register_form input:focus,
	form#wpmem_register_form select:focus,
	form#wpmem_register_form textarea:focus,
	form#wpmem_getusername_form input:focus,
	form#wpmem_getusername_form select:focus,
	form#wpmem_getusername_form textarea:focus {
		border-color: rgba(96, 165, 250, 0.45) !important;
		box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16) !important;
		outline: none !important;
	}

	/* 자동로그인 체크박스 */
	.cosmosfarm-members-form input[type="checkbox"],
	form#wpmem_register_form input[type="checkbox"],
	form#wpmem_getusername_form input[type="checkbox"] {
		border-color: var(--bd-page-border) !important;
		background-color: var(--bd-page-surface-soft) !important;
		accent-color: #2563eb;
	}

	/* 버튼 */
	.cosmosfarm-members-form input[type="submit"],
	.cosmosfarm-members-form button,
	.cosmosfarm-members-form .button,
	.cosmosfarm-members-form .button_div input[type="submit"],
	form#wpmem_register_form input[type="submit"],
	form#wpmem_register_form button,
	form#wpmem_getusername_form input[type="submit"],
	form#wpmem_getusername_form button {
		border: 1px solid rgba(37, 99, 235, 0.42) !important;
		background: #2563eb !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	.cosmosfarm-members-form input[type="submit"]:hover,
	.cosmosfarm-members-form button:hover,
	.cosmosfarm-members-form .button:hover,
	.cosmosfarm-members-form .button_div input[type="submit"]:hover,
	form#wpmem_register_form input[type="submit"]:hover,
	form#wpmem_register_form button:hover,
	form#wpmem_getusername_form input[type="submit"]:hover,
	form#wpmem_getusername_form button:hover {
		background: #1d4ed8 !important;
		color: #ffffff !important;
	}

	/* 회원가입 닉네임 중복확인 같은 보조 버튼 */
	.cosmosfarm-members-form input[type="button"],
	.cosmosfarm-members-form button[type="button"],
	form#wpmem_register_form input[type="button"],
	form#wpmem_register_form button[type="button"],
	form#wpmem_getusername_form input[type="button"],
	form#wpmem_getusername_form button[type="button"] {
		border: 1px solid rgba(96, 165, 250, 0.30) !important;
		background: #2563eb !important;
		color: #ffffff !important;
		box-shadow: none !important;
	}

	/* 링크 */
	.cosmosfarm-members-form .link-text,
	.cosmosfarm-members-form .pwdreset,
	.cosmosfarm-members-form .register,
	.babdori-login-policy-links {
		color: var(--bd-page-text-muted) !important;
	}

	.cosmosfarm-members-form .link-text a,
	.cosmosfarm-members-form .pwdreset a,
	.cosmosfarm-members-form .register a,
	.cosmosfarm-members-form a,
	form#wpmem_register_form a,
	form#wpmem_getusername_form a,
	.babdori-login-policy-links a {
		color: var(--bd-page-text-soft) !important;
		text-decoration: none !important;
	}

	.cosmosfarm-members-form .link-text a:hover,
	.cosmosfarm-members-form .pwdreset a:hover,
	.cosmosfarm-members-form .register a:hover,
	.cosmosfarm-members-form a:hover,
	form#wpmem_register_form a:hover,
	form#wpmem_getusername_form a:hover,
	.babdori-login-policy-links a:hover {
		color: #93c5fd !important;
		text-decoration: none !important;
	}

	/* 필수 표시 / 안내 */
	.cosmosfarm-members-form .req,
	form#wpmem_register_form .req,
	form#wpmem_getusername_form .req {
		color: #fb7185 !important;
	}

	.cosmosfarm-members-form .req-text,
	form#wpmem_register_form .req-text,
	form#wpmem_getusername_form .req-text {
		color: var(--bd-page-text-muted) !important;
	}

	/* 에러 / 성공 메시지 */
	.cosmosfarm-members-form .message,
	.cosmosfarm-members-form .error,
	.cosmosfarm-members-form .success,
	.cosmosfarm-members-form .updated,
	form#wpmem_register_form .message,
	form#wpmem_register_form .error,
	form#wpmem_register_form .success,
	form#wpmem_getusername_form .message,
	form#wpmem_getusername_form .error,
	form#wpmem_getusername_form .success {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	/* 하단 네비 */
	body:has(.cosmosfarm-members-form) .babdori-bottom-nav,
	body:has(form#wpmem_register_form) .babdori-bottom-nav,
	body:has(form#wpmem_getusername_form) .babdori-bottom-nav {
		border-color: var(--bd-page-border) !important;
		background: rgba(18, 18, 21, 0.94) !important;
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
	}

	body:has(.cosmosfarm-members-form) .babdori-bottom-nav-item,
	body:has(form#wpmem_register_form) .babdori-bottom-nav-item,
	body:has(form#wpmem_getusername_form) .babdori-bottom-nav-item {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.cosmosfarm-members-form) .babdori-bottom-nav-item:hover,
	body:has(form#wpmem_register_form) .babdori-bottom-nav-item:hover,
	body:has(form#wpmem_getusername_form) .babdori-bottom-nav-item:hover,
	body:has(.cosmosfarm-members-form) .babdori-bottom-nav-item.is-active,
	body:has(form#wpmem_register_form) .babdori-bottom-nav-item.is-active,
	body:has(form#wpmem_getusername_form) .babdori-bottom-nav-item.is-active {
		background: rgba(255, 255, 255, 0.08) !important;
		color: #ffffff !important;
	}
}

/* =========================
   Babdori Account Detail Final Fix
   내 활동 / 저장 관리 / 포인트 내역 정확 클래스 보강
   ========================= */

@media (prefers-color-scheme: dark) {
	/* =========================
	   공통 변수 보강
	========================= */

	body:has(.account-page),
	body:has(.activity-page),
	body:has(.point-history-page) {
		--bd-page-bg: #101013;
		--bd-page-surface: #17171C;
		--bd-page-surface-soft: #18181b;
		--bd-page-surface-muted: #232329;

		--bd-page-border: rgba(255, 255, 255, 0.10);
		--bd-page-border-soft: rgba(255, 255, 255, 0.07);

		--bd-page-text: #f4f4f5;
		--bd-page-text-soft: #d4d4d8;
		--bd-page-text-muted: #a1a1aa;

		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
		color-scheme: dark;
	}

	body:has(.account-page) .content-area,
	body:has(.activity-page) .content-area,
	body:has(.point-history-page) .content-area,
	body:has(.account-page) main,
	body:has(.activity-page) main,
	body:has(.point-history-page) main,
	body:has(.account-page) .account-page,
	body:has(.activity-page) .activity-page,
	body:has(.point-history-page) .point-history-page {
		background: var(--bd-page-bg) !important;
		color: var(--bd-page-text) !important;
	}

	/* =========================
	   헤더 / 제목
	========================= */

	body:has(.account-page) .saved-page-header,
	body:has(.activity-page) .saved-page-header,
	body:has(.point-history-page) .saved-page-header {
		background: transparent !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-page-back,
	body:has(.activity-page) .saved-page-back,
	body:has(.point-history-page) .saved-page-back {
		background: transparent !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.account-page) .account-title,
	body:has(.activity-page) .account-title,
	body:has(.point-history-page) .account-title,
	body:has(.account-page) .account-group-title,
	body:has(.activity-page) .account-group-title,
	body:has(.point-history-page) .point-history-section h2 {
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .account-page-desc,
	body:has(.activity-page) .account-page-desc,
	body:has(.point-history-page) .account-page-desc {
		color: var(--bd-page-text-muted) !important;
	}

	/* =========================
	   내 활동
	========================= */

	body:has(.account-page) .activity-summary-card,
	body:has(.activity-page) .activity-summary-card,
	body:has(.account-page) .activity-list-card,
	body:has(.activity-page) .activity-list-card,
	body:has(.account-page) .activity-card,
	body:has(.activity-page) .activity-card,
	body:has(.account-page) .activity-list,
	body:has(.activity-page) .activity-list {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) .activity-summary-card span,
	body:has(.activity-page) .activity-summary-card span {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.account-page) .activity-summary-card strong,
	body:has(.activity-page) .activity-summary-card strong {
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .activity-list-item,
	body:has(.activity-page) .activity-list-item {
		border-color: var(--bd-page-border-soft) !important;
		background: transparent !important;
		color: var(--bd-page-text-soft) !important;
	}

	body:has(.account-page) .activity-list-item:hover,
	body:has(.activity-page) .activity-list-item:hover {
		background: var(--bd-page-surface-soft) !important;
	}

	body:has(.account-page) .activity-list-item strong,
	body:has(.activity-page) .activity-list-item strong {
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .activity-list-item p,
	body:has(.activity-page) .activity-list-item p,
	body:has(.account-page) .activity-list-item i,
	body:has(.activity-page) .activity-list-item i {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.account-page) .activity-more-toggle,
	body:has(.activity-page) .activity-more-toggle {
		border-top: 1px solid var(--bd-page-border-soft) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) .activity-more-toggle:hover,
	body:has(.activity-page) .activity-more-toggle:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) .activity-status.approved,
	body:has(.activity-page) .activity-status.approved {
		background: rgba(34, 197, 94, 0.13) !important;
		color: #86efac !important;
	}

	body:has(.account-page) .activity-status.pending,
	body:has(.activity-page) .activity-status.pending {
		background: rgba(245, 158, 11, 0.13) !important;
		color: #fcd34d !important;
	}

	body:has(.account-page) .activity-status.draft,
	body:has(.activity-page) .activity-status.draft {
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-muted) !important;
	}

	/* =========================
	   저장 관리
	========================= */

	body:has(.account-page) .saved-place-card,
	body:has(.account-page) .saved-place-list,
	body:has(.account-page) .saved-eats-list-wrap,
	body:has(.account-page) .activity-login-card {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) .saved-place-edit-item,
	body:has(.account-page) .saved-place-default-item,
	body:has(.account-page) .saved-eats-item {
		border-color: var(--bd-page-border-soft) !important;
		background: transparent !important;
		color: var(--bd-page-text-soft) !important;
	}

	body:has(.account-page) .saved-place-edit-item:hover,
	body:has(.account-page) .saved-eats-item:hover {
		background: var(--bd-page-surface-soft) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) .saved-place-line-text strong,
	body:has(.account-page) .saved-eats-item strong,
	body:has(.account-page) .activity-login-card strong {
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-place-line-text p,
	body:has(.account-page) .saved-eats-item p,
	body:has(.account-page) .saved-eats-item i,
	body:has(.account-page) .activity-empty,
	body:has(.account-page) .activity-empty p,
	body:has(.account-page) .activity-login-card p {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.account-page) .saved-place-icon {
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
	}

	body:has(.account-page) .saved-place-map-link,
	body:has(.account-page) .saved-place-edit-toggle,
	body:has(.account-page) .saved-place-search-btn,
	body:has(.account-page) .saved-place-submit-btn,
	body:has(.account-page) .saved-place-add-toggle {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.account-page) .saved-place-map-link:hover,
	body:has(.account-page) .saved-place-edit-toggle:hover,
	body:has(.account-page) .saved-place-search-btn:hover,
	body:has(.account-page) .saved-place-submit-btn:hover,
	body:has(.account-page) .saved-place-add-toggle:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) .saved-place-edit-form,
	body:has(.account-page) .saved-place-add-form {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-place-search-row input,
	body:has(.account-page) .saved-place-edit-form input,
	body:has(.account-page) .saved-place-edit-form select {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) .saved-place-result-item {
		border-color: var(--bd-page-border-soft) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text-soft) !important;
	}

	body:has(.account-page) .saved-place-result-item:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	body:has(.account-page) .saved-place-delete {
		background: rgba(225, 29, 72, 0.12) !important;
		color: #fb7185 !important;
	}

	body:has(.account-page) .saved-eats-list {
		background: transparent !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.account-page) .saved-eats-more-toggle {
		border-top: 1px solid var(--bd-page-border-soft) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(.account-page) .saved-eats-more-toggle:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}

	/* =========================
	   포인트 내역
	========================= */

	body:has(.point-history-page) .point-history-wrap,
	body:has(.point-history-page) .point-history-section {
		background: transparent !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.point-history-page) .point-summary-card,
	body:has(.point-history-page) .point-log-list,
	body:has(.point-history-page) .point-exchange-list,
	body:has(.point-history-page) .point-empty {
		border-color: var(--bd-page-border) !important;
		background: var(--bd-page-surface) !important;
		color: var(--bd-page-text) !important;
		box-shadow: none !important;
	}

	body:has(.point-history-page) .point-log-item,
	body:has(.point-history-page) .point-exchange-item {
		border-color: var(--bd-page-border-soft) !important;
		background: transparent !important;
		color: var(--bd-page-text) !important;
	}

	body:has(.point-history-page) .point-summary-card span,
	body:has(.point-history-page) .point-log-main span,
	body:has(.point-history-page) .point-exchange-item span,
	body:has(.point-history-page) .point-empty {
		color: var(--bd-page-text-muted) !important;
	}

	body:has(.point-history-page) .point-summary-card strong,
	body:has(.point-history-page) .point-log-main strong,
	body:has(.point-history-page) .point-exchange-item strong {
		color: var(--bd-page-text) !important;
	}

	body:has(.point-history-page) .point-log-points.is-plus {
		color: #93c5fd !important;
	}

	body:has(.point-history-page) .point-log-points.is-minus,
	body:has(.point-history-page) .point-exchange-meta span {
		color: #fb7185 !important;
	}

	body:has(.point-history-page) .point-exchange-meta em.is-pending {
		background: rgba(245, 158, 11, 0.13) !important;
		color: #fcd34d !important;
	}

	body:has(.point-history-page) .point-exchange-meta em.is-completed {
		background: rgba(34, 197, 94, 0.13) !important;
		color: #86efac !important;
	}

	body:has(.point-history-page) .point-exchange-meta em.is-cancelled {
		background: rgba(225, 29, 72, 0.12) !important;
		color: #fb7185 !important;
	}

	body:has(.point-history-page) .point-log-more-toggle,
	body:has(.point-history-page) .point-exchange-more-toggle {
		border-top: 1px solid var(--bd-page-border-soft) !important;
		background: var(--bd-page-surface-soft) !important;
		color: var(--bd-page-text-soft) !important;
		box-shadow: none !important;
	}

	body:has(.point-history-page) .point-log-more-toggle:hover,
	body:has(.point-history-page) .point-exchange-more-toggle:hover {
		background: var(--bd-page-surface-muted) !important;
		color: #ffffff !important;
	}
}

/* =========================
   Exchange Success Modal Dark Fix
   교환 완료 모달 다크모드
   ========================= */

@media (prefers-color-scheme: dark) {
	body:has(.babdori-exchange-page) .exchange-success-backdrop {
		background: rgba(0, 0, 0, 0.62) !important;
		backdrop-filter: blur(6px);
		-webkit-backdrop-filter: blur(6px);
	}

	body:has(.babdori-exchange-page) .exchange-success-box {
		border: 1px solid rgba(255, 255, 255, 0.10) !important;
		background: #17171c !important;
		color: #f4f4f5 !important;
		box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42) !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-icon {
		background: rgba(34, 197, 94, 0.13) !important;
		color: #86efac !important;
		box-shadow: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-title,
	body:has(.babdori-exchange-page) .exchange-success-box strong {
		color: #f4f4f5 !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-desc,
	body:has(.babdori-exchange-page) .exchange-success-box p {
		color: #a1a1aa !important;
	}

	/* 카카오톡 채널 버튼 - 노란색 은은하게 */
	body:has(.babdori-exchange-page) .exchange-success-kakao,
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="kakao"],
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="pf.kakao"] {
		border: 1px solid rgba(254, 229, 0, 0.26) !important;
		background: rgba(254, 229, 0, 0.12) !important;
		color: #fef08a !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-kakao:hover,
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="kakao"]:hover,
	body:has(.babdori-exchange-page) .exchange-success-box a[href*="pf.kakao"]:hover {
		border-color: rgba(254, 229, 0, 0.38) !important;
		background: rgba(254, 229, 0, 0.18) !important;
		color: #fef9c3 !important;
	}

	/* 닫기 버튼 */
	body:has(.babdori-exchange-page) .exchange-success-close,
	body:has(.babdori-exchange-page) .exchange-success-box button,
	body:has(.babdori-exchange-page) .exchange-success-box a:not([href*="kakao"]):not([href*="pf.kakao"]) {
		border: 1px solid rgba(255, 255, 255, 0.10) !important;
		background: #18181b !important;
		color: #d4d4d8 !important;
		box-shadow: none !important;
		text-decoration: none !important;
	}

	body:has(.babdori-exchange-page) .exchange-success-close:hover,
	body:has(.babdori-exchange-page) .exchange-success-box button:hover,
	body:has(.babdori-exchange-page) .exchange-success-box a:not([href*="kakao"]):not([href*="pf.kakao"]):hover {
		background: #232329 !important;
		color: #ffffff !important;
	}
}

/* 교환 완료 모달 제목 강제 보정 */
@media (prefers-color-scheme: dark) {
	body:has(.babdori-exchange-page) #exchange-success-title,
	body:has(.babdori-exchange-page) .exchange-success-box #exchange-success-title,
	body:has(.babdori-exchange-page) .exchange-success-box h2 {
		color: #f4f4f5 !important;
		opacity: 1 !important;
		text-shadow: none !important;
	}
}

/* 교환 버튼 - 포인트 부족 상태 */
@media (prefers-color-scheme: dark) {
	body:has(.babdori-exchange-page) .exchange-btn.is-disabled,
	body:has(.babdori-exchange-page) .exchange-btn:disabled,
	body:has(.babdori-exchange-page) button.exchange-btn.is-disabled,
	body:has(.babdori-exchange-page) button.exchange-btn:disabled {
		border: 1px solid rgba(255, 255, 255, 0.10) !important;
		background: #18181b !important;
		color: #8b8b94 !important;
		box-shadow: none !important;
		opacity: 1 !important;
		cursor: not-allowed !important;
	}

	body:has(.babdori-exchange-page) .exchange-btn.is-disabled:hover,
	body:has(.babdori-exchange-page) .exchange-btn:disabled:hover,
	body:has(.babdori-exchange-page) button.exchange-btn.is-disabled:hover,
	body:has(.babdori-exchange-page) button.exchange-btn:disabled:hover {
		border-color: rgba(255, 255, 255, 0.10) !important;
		background: #18181b !important;
		color: #8b8b94 !important;
		transform: none !important;
		filter: none !important;
	}
}

/* 지도 클러스터 */
@media (prefers-color-scheme: dark) {
	body:has(.babdori-map-page) .babdori-map-cluster {
		border: 2px solid rgba(226, 232, 240, 0.92) !important;
		background: linear-gradient(135deg, #0f766e, #2563eb) !important;
		color: #ffffff !important;
		box-shadow:
			0 6px 16px rgba(0, 0, 0, 0.42),
			inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
	}

	body:has(.babdori-map-page) .babdori-map-cluster span {
		color: #ffffff !important;
		text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
	}
}