/* 캠프 테마 — 겨울캠프 포스터(THE SENT!) 분위기: 짙은 남색 한 가지 바탕, 노란 포인트. (10/23 그라데이션·보랏빛 뺌)
   테마가 적용되면 body 에 site-theme 클래스가 붙고 이 파일이 실림. 모든 선택자는 body.site-theme 로 시작. */
html:has(body.site-theme) { background: #14151d; }
body.site-theme {
    --tc-ink: #eef2f8; --tc-muted: #a3aec2; --tc-line: rgba(255,255,255,.12);
    --tc-gold: #f6c945; --tc-card: rgba(255,255,255,.06); --tc-dark: #15161e;
    background-color: #14151d;
    color: var(--tc-ink);
    min-height: 100vh;
}

/* 머리글·메뉴 */
body.site-theme .top-bar { border-bottom-color: var(--tc-line); }
body.site-theme .top-bar a { color: var(--tc-muted); }
body.site-theme .site-brand { color: #fff !important; }
body.site-theme .top-bar .site-brand:hover { color: var(--tc-gold) !important; }
body.site-theme header h1 { color: #fff; font-weight: 900; }
body.site-theme header p { color: var(--tc-gold); }
body.site-theme nav { border-color: var(--tc-line); }
body.site-theme nav a { color: var(--tc-ink); }
body.site-theme nav a:hover { color: var(--tc-gold); }
body.site-theme .hamburger span { background: #fff; }
body.site-theme .mobile-menu { background: #1b1d2b; box-shadow: -2px 0 16px rgba(0,0,0,.4); }
body.site-theme .mobile-menu .welcome { color: var(--tc-muted); }
body.site-theme .mobile-menu .menu-item { color: var(--tc-ink); border-bottom-color: var(--tc-line); }
body.site-theme .mobile-menu .auth-buttons a:first-child { background: var(--tc-gold); color: var(--tc-dark); }
body.site-theme .mobile-menu .auth-buttons a:last-child { background: var(--tc-card); color: var(--tc-ink); }
body.site-theme .mobile-menu .auth-buttons a.popup-reset-link { background: transparent; color: var(--tc-ink); border-color: var(--tc-line); }

/* 공지 */
body.site-theme .notice-list li { border-bottom-color: var(--tc-line); }
body.site-theme .notice-list .pinned { color: var(--tc-gold); }
body.site-theme .notice-list .date { color: var(--tc-muted); }
body.site-theme .notice-list a.item-left:hover { color: var(--tc-gold); }
body.site-theme .notice-more-btn { color: var(--tc-muted); }
body.site-theme .notice-more-btn:hover { color: var(--tc-gold); }
body.site-theme .delete-btn { border-color: var(--tc-line); color: var(--tc-muted); background: transparent; }

/* 바로가기 메뉴 */
body.site-theme .quick-menu { --qm-line: var(--tc-line); --qm-accent: var(--tc-gold); }
body.site-theme .quick-menu a { color: var(--tc-ink); }
body.site-theme .quick-menu a:hover { color: var(--tc-gold); background: var(--tc-card); }

/* 슬로건 띠 */
body.site-theme .slogan-band { background: #0e0f15; border-top: 1px solid var(--tc-line); border-bottom: 1px solid var(--tc-line); }
body.site-theme .slogan-band h2 { color: var(--tc-gold); }
body.site-theme .slogan-band p { color: #d6dce8; }
body.site-theme .slogan-band .sl-ref { color: var(--tc-muted); }

/* 바닥글 */
body.site-theme footer { color: var(--tc-muted); }
body.site-theme footer .footer-links a, body.site-theme .footer-social a { color: #c9d1de; }
body.site-theme footer .footer-links a:hover, body.site-theme .footer-social a:hover { color: var(--tc-gold); }

/* 하위 페이지 공통 (게시판·자주묻는질문·오시는 길) */
body.site-theme .board-empty, body.site-theme .faq-empty { color: var(--tc-muted); }
body.site-theme .review-card .thumb { background: var(--tc-card); }
body.site-theme .review-card:hover h3 { color: var(--tc-gold); }
body.site-theme .review-card p, body.site-theme .review-card .meta { color: var(--tc-muted); }
body.site-theme .view-meta { color: var(--tc-muted); border-bottom-color: var(--tc-line); }
body.site-theme .view-bottom a { color: var(--tc-muted); }
body.site-theme .faq-item { border-bottom-color: var(--tc-line); }
body.site-theme .faq-item summary:hover { color: var(--tc-gold); }
body.site-theme .faq-q { color: var(--tc-gold); }
body.site-theme .faq-a, body.site-theme .faq-chev { color: var(--tc-muted); }
body.site-theme .faq-body { color: #dfe5ee; }
body.site-theme .faq-more { background: var(--tc-card); color: var(--tc-ink); }
body.site-theme .faq-more a { color: var(--tc-gold); }
body.site-theme .faq-admin a, body.site-theme .faq-admin button { color: var(--tc-muted); border-color: var(--tc-line); }
body.site-theme .webzine-list, body.site-theme .sched { --bl-accent: var(--tc-gold); --bl-line: var(--tc-line); }
body.site-theme .loc-addr { color: var(--tc-ink); }
body.site-theme .loc-copy { background: transparent; color: var(--tc-ink); border-color: var(--tc-line); }
body.site-theme .loc-guide { background: var(--tc-card); color: var(--tc-ink); }
body.site-theme .loc-btn { border-color: var(--tc-line); color: var(--tc-ink); }
body.site-theme .loc-btn:hover { border-color: var(--tc-gold); color: var(--tc-gold); }
body.site-theme .policy-wrap .version, body.site-theme .back-link { color: var(--tc-muted); }
body.site-theme .policy-wrap p, body.site-theme .policy-wrap li { color: #d6dce8; }
body.site-theme .policy-wrap th, body.site-theme .policy-wrap td { border-color: var(--tc-line); }
body.site-theme .policy-wrap th { background: var(--tc-card); }

/* 관리자 도구는 흰 바탕 그대로 (읽기 쉽게) */
body.site-theme .about-admin-panel { background: #fff; color: #1a1a1a; }
body.site-theme .admin-toolbar-btn { box-shadow: 0 0 0 1px var(--tc-line); }