@charset "utf-8";
/* =====================================================================
   ipno_dark.css — ipno_xedition 게시판 다크 테마 (B-SIDE 레이아웃 매칭)
   - board.default.css(흰 바탕용) 위에 덮어쓰는 파일입니다.
   - 🎹 트래커(.ipt) 내부는 건드리지 않습니다 (ipno_tracker.css 담당).
   - 색은 B-SIDE 레이아웃 토큰(--bs-*)을 따라가고, 없으면 아래 기본값 사용.
   ===================================================================== */

.board {
	--bd-bg: var(--bs-bg, #111122);
	--bd-card: var(--bs-surface, #17172c);
	--bd-raised: var(--bs-raised, #1f1f3a);
	--bd-line: var(--bs-line, rgba(255, 255, 255, .08));
	--bd-line-2: var(--bs-line-2, rgba(255, 255, 255, .14));
	--bd-tx: var(--bs-tx, #ececf7);
	--bd-tx-2: var(--bs-tx-2, #a6a6c4);
	--bd-tx-3: var(--bs-tx-3, #6d6d8f);
	--bd-acc: var(--bs-acc, #818cf8);
	--bd-acc-2: var(--bs-acc-2, #38bdf8);
	--bd-rec: var(--bs-rec, #f43f5e);
	--bd-grad: var(--bs-grad, linear-gradient(90deg, #818cf8 0%, #38bdf8 100%));
	--bd-f: var(--bs-f-ko, "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif);
	--bd-f-en: var(--bs-f-en, "Space Grotesk", "Pretendard Variable", Pretendard, sans-serif);
	--bd-f-mono: var(--bs-f-mono, "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace);
	color: var(--bd-tx);
}
.board,
.board label,
.board table,
.board input,
.board button,
.board textarea,
.board select {
	font-family: var(--bd-f);
	font-size: 13px;
}
.board a { color: inherit; }

/* ---------- 공통 입력창 (트래커 밖) ---------- */
.board .iText,
.board .write_header select,
.board .list_footer select,
.board .exForm input[type=text],
.board .exForm input[type=email],
.board .exForm input[type=tel],
.board .exForm input[type=url],
.board .exForm input[type=password],
.board .exForm select,
.board .exForm textarea,
.board .write_comment textarea,
.board .secretForm .iText {
	box-sizing: border-box;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--bd-line-2);
	border-radius: 12px;
	background: var(--bd-card);
	color: var(--bd-tx);
	line-height: normal;
	color-scheme: dark;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.board .exForm textarea,
.board .write_comment textarea {
	height: auto;
	min-height: 80px;
	padding: 10px 14px;
}
.board .iText::placeholder,
.board textarea::placeholder { color: var(--bd-tx-3); }
.board .iText:focus,
.board select:focus,
.board .exForm input:focus,
.board .exForm textarea:focus,
.board .write_comment textarea:focus {
	outline: 0;
	border-color: var(--bd-acc);
	box-shadow: 0 0 0 4px rgba(129, 140, 248, .18);
}
.board .iCheck,
.board input[type=radio] {
	width: 16px;
	height: 16px;
	accent-color: var(--bd-acc);
}
.board .iLabel { color: var(--bd-tx-3); }

/* ---------- 공통 버튼 ---------- */
.board .btn {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	height: 40px !important;
	padding: 0 18px !important;
	border: 1px solid var(--bd-line-2);
	border-radius: 999px;
	background: var(--bd-card);
	color: var(--bd-tx-2);
	font-size: 13px;
	font-weight: 600;
	line-height: 1 !important;
	box-sizing: border-box;
}
.board .btn:hover,
.board .btn:focus,
.board .btn:active,
.board .btn[disabled] {
	border-color: var(--bd-acc);
	background: rgba(129, 140, 248, .14);
	color: #fff;
}
.board .btn i {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	background: none;
	border-radius: 0;
	font-size: 15px;
	line-height: 1;
}
.board .btn_insert {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: auto;
	min-width: 140px;
	height: 46px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: var(--bd-grad);
	color: #111122;
	font-size: 15px;
	font-weight: 700;
	box-shadow: 0 10px 26px rgba(129, 140, 248, .3);
	transition: transform .15s, box-shadow .2s;
}
.board .btn_insert:hover,
.board .btn_insert:focus {
	background: var(--bd-grad);
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(56, 189, 248, .28);
}

/* =====================================================================
   카테고리 탭 → 알약 칩
   ===================================================================== */
.board .cTab {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
}
.board .cTab:after { display: none; }
.board .cTab li {
	float: none;
	margin: 0;
	border: 0;
}
.board .cTab li a {
	float: none;
	display: inline-block;
	height: 36px;
	padding: 0 16px;
	border: 1px solid var(--bd-line-2);
	border-radius: 999px;
	background: transparent;
	font-family: var(--bd-f);
	font-size: 13px;
	font-weight: 600;
	line-height: 34px;
	color: var(--bd-tx-2);
}
.board .cTab li:hover a { border-color: var(--bd-acc); color: #fff; }
.board .cTab li.on > a {
	border-color: transparent;
	background: var(--bd-grad);
	color: #111122;
}
.board .cTab ul { top: 44px; }
.board .cTab li.on ul li { border-right: 1px solid var(--bd-line-2); }
.board .cTab li.on ul li a {
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	line-height: 1.6;
	color: var(--bd-tx-2);
}
.board .cTab li.on ul li.on_ a { color: var(--bd-acc-2); }

/* =====================================================================
   목록 (list.html) — 한 줄 = 한 장의 트랙 카드
   ===================================================================== */
.board .board_list table {
	border: 0;
	border-collapse: separate;
	border-spacing: 0 8px;
	color: var(--bd-tx);
	table-layout: auto;
}
.board .board_list a { color: inherit; }
.board .board_list a:hover,
.board .board_list a:focus { text-decoration: none; }

/* 머리줄: 작은 모노 라벨 */
.board .board_list th {
	padding: 4px 0 2px;
	height: auto;
	border: 0;
	background: transparent;
	font-family: var(--bd-f-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bd-tx-3);
}
.board .board_list th span {
	height: auto;
	padding: 0 16px;
	font-weight: 600;
}
.board .board_list th.title { text-align: left; }
.board .board_list th a:hover { color: var(--bd-acc-2); }

/* 카드 행 */
.board .board_list td {
	padding: 0 16px;
	height: 56px;
	border: 1px solid var(--bd-line);
	border-width: 1px 0;
	background: var(--bd-card);
	vertical-align: middle;
	transition: background-color .15s, border-color .15s;
}
.board .board_list tr:last-child td { border: 1px solid var(--bd-line); border-width: 1px 0; }
.board .board_list td:first-child {
	border-left-width: 1px;
	border-radius: 14px 0 0 14px;
}
.board .board_list td:last-child {
	border-right-width: 1px;
	border-radius: 0 14px 14px 0;
}
.board .board_list tbody tr:hover td {
	background: var(--bd-raised);
	border-color: rgba(129, 140, 248, .35);
}
.board .board_list tbody tr:hover td:first-child {
	box-shadow: inset 3px 0 0 var(--bd-acc);
}

/* 칸별 */
.board .board_list td.no {
	text-align: center;
	font-family: var(--bd-f-mono);
	font-size: 11px;
	color: var(--bd-tx-3);
}
.board .board_list td.title {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.4;
}
.board .board_list td.title > a:first-child { color: var(--bd-tx); }
.board .board_list tbody tr:hover td.title > a:first-child { color: #fff; }
.board .board_list td.title img { vertical-align: middle; margin-left: 4px; opacity: .85; }
.board .board_list .replyNum,
.board .board_list .trackbackNum {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(56, 189, 248, .12);
	font-family: var(--bd-f-mono);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bd-acc-2) !important;
	vertical-align: 2px;
}
.board .board_list .replyNum:before { margin-right: 4px; content: '💬'; font-size: 10px; }

/* 🏷 제목 옆 칩 (list.html 의 printExtraImages 대체) */
.board .ipno-chip {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 7px;
	border: 1px solid var(--bd-line-2);
	border-radius: 6px;
	font-family: var(--bd-f-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .06em;
	line-height: 1.4;
	color: var(--bd-tx-2);
	vertical-align: 2px;
}
.board .ipno-chip-file {
	border-color: rgba(56, 189, 248, .45);
	background: rgba(56, 189, 248, .1);
	color: var(--bd-acc-2);
}
.board .ipno-chip-file:before { margin-right: 3px; content: '♪'; }
.board .ipno-chip-new {
	border-color: transparent;
	background: var(--bd-rec);
	color: #fff;
}
.board .ipno-chip-update {
	border-color: rgba(129, 140, 248, .45);
	background: rgba(129, 140, 248, .12);
	color: var(--bd-acc);
}
.board .ipno-chip-secret { border-color: transparent; padding: 0 2px; }

.board .board_list td.author,
.board .board_list td.module_title {
	font-size: 13px;
	color: var(--bd-tx-2);
	white-space: nowrap;
}
.board .board_list td.author a:hover { color: #fff; }
.board .board_list td.time,
.board .board_list td.readNum,
.board .board_list td.voteNum,
.board .board_list td.lastReply,
.board .board_list td.lastReply a {
	text-align: center;
	font-family: var(--bd-f-mono);
	font-size: 12px;
	color: var(--bd-tx-3);
}
.board .board_list td.lastReply sub { font: inherit; font-size: 10px; }
.board .board_list td.check { text-align: center; }

/* 공지 행: 바이올렛 틴트 + 공지 칩 */
.board .board_list tr.notice { background: transparent; }
.board .board_list tr.notice td {
	background: #1b1c42;
	border-color: rgba(129, 140, 248, .3);
}
.board .board_list tr.notice td.notice {
	text-align: center;
	font-size: 0;
}
.board .board_list tr.notice td.notice:before {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--bd-acc);
	font-family: var(--bd-f-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
	color: #fff;
	content: 'NOTICE';
}
.board .board_list tr.notice td.title a { font-weight: 700; }

/* 빈 목록 */
.board .board_list tr.no_article { height: auto; }
.board .board_list tr.no_article td {
	height: 200px;
	border: 1px dashed var(--bd-line-2);
	border-radius: 18px;
	background: transparent;
	color: var(--bd-tx-2);
	font-size: 15px;
}
.board .board_list tr.no_article td p:before {
	display: block;
	margin-bottom: 10px;
	font-size: 34px;
	content: '🎹';
}

/* ---------- 목록 아래: 검색 · 버튼 · 페이지 ---------- */
.board .list_footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 18px 0 30px;
}
.board .list_footer:after { display: none; }
.board .list_footer .board_search {
	order: 1;
	float: none;
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 4px;
	border: 1px solid var(--bd-line-2);
	border-radius: 999px;
	background: var(--bd-card);
}
.board .list_footer .board_search * { vertical-align: middle; }
.board .list_footer .board_search select {
	height: 36px;
	min-width: 0;
	padding: 0 10px 0 14px;
	border: 0;
	border-radius: 999px;
	background: var(--bd-raised);
	font-size: 12px;
	font-weight: 600;
	color: var(--bd-tx-2);
}
.board .list_footer .board_search .search_input { position: relative; }
.board .list_footer .board_search .xi-magnifier {
	top: 50%;
	left: 10px;
	margin-top: -8px;
	font-size: 16px;
	color: var(--bd-tx-3);
}
.board .list_footer .board_search .iText {
	width: 180px;
	height: 36px;
	padding: 0 12px 0 32px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
}
.board .list_footer .board_search .iText:focus,
.board .list_footer .board_search .iText.active { width: 220px; box-shadow: none; }
.board .list_footer .board_search .btn {
	position: static;
	height: 36px !important;
	border: 0;
	border-radius: 999px;
	background: var(--bd-raised);
	color: var(--bd-tx);
}
.board .list_footer .board_search .btn:hover { background: var(--bd-acc); color: #fff; }
.board .list_footer .board_search:focus-within { border-color: var(--bd-acc); }

.board .list_footer .btnArea {
	order: 2;
	float: none;
	display: flex;
	gap: 8px;
	margin: 0 0 0 auto;
}
/* ✏️ 쓰기 = 메인 CTA */
.board .list_footer .btnArea .btn:first-child {
	border-color: transparent;
	background: var(--bd-grad);
	color: #111122;
	font-weight: 700;
	box-shadow: 0 8px 22px rgba(129, 140, 248, .3);
}
.board .list_footer .btnArea .btn:first-child:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(56, 189, 248, .28);
}
.board .list_footer .pagination { order: 3; width: 100%; }

/* ---------- 페이지 번호 ---------- */
.board .pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px;
	padding: 10px 0;
}
.board .pagination a,
.board .pagination strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	box-sizing: border-box;
	border: 1px solid var(--bd-line);
	border-radius: 12px;
	background: var(--bd-card);
	font-family: var(--bd-f-mono);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	color: var(--bd-tx-2);
}
.board .pagination a:hover,
.board .pagination a:focus {
	border-color: var(--bd-acc);
	background: var(--bd-raised);
	color: #fff;
}
.board .pagination strong {
	border-color: transparent;
	background: var(--bd-grad);
	color: #111122;
	font-size: 13px;
}
.board .pagination .direction {
	gap: 4px;
	border-color: transparent;
	background: transparent;
	font-family: var(--bd-f);
	font-weight: 500;
	color: var(--bd-tx-3);
}
.board .pagination .direction:hover,
.board .pagination .direction:focus {
	border-color: transparent;
	background: transparent;
	color: #fff;
}
.board .pagination .direction span { display: none; }

/* =====================================================================
   글 읽기 (_read.html)
   ===================================================================== */
.board .read_header { margin-bottom: 4px; }
.board .read_header h1 {
	width: 100%;
	font-family: var(--bd-f);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.35;
	white-space: normal;
	color: #fff;
}
.board .read_header h1 a { color: #fff; }
.board .read_header h1 .category {
	display: inline-block;
	margin: 0 10px 0 0;
	padding: 4px 12px;
	border: 1px solid rgba(129, 140, 248, .4);
	border-radius: 999px;
	background: rgba(129, 140, 248, .12);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bd-acc);
	vertical-align: 5px;
}
.board .read_header .meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	padding: 6px 0 12px;
	border-bottom: 1px solid var(--bd-line);
	font-size: 13px;
	color: var(--bd-tx-3);
}
.board .read_header .meta > span { margin: 0; }
.board .read_header .meta i { color: var(--bd-tx-3); }
.board .read_header .meta .author,
.board .read_header .meta .author a { color: var(--bd-tx-2); font-weight: 600; }
.board .read_header .meta .time { font-family: var(--bd-f-mono); font-size: 12px; }

.board .read_body { padding: 10px 2px; }
.board .read_body .xe_content,
.board .read_body .rhymix_content {
	font-size: 15px;
	line-height: 1.75;
	color: var(--bd-tx);
}
.board .read_body .xe_content a { color: var(--bd-acc-2); }

.board .exOut,
.board .exForm {
	margin: 10px 0;
	padding: 6px 18px;
	border: 1px solid var(--bd-line);
	border-radius: 16px;
	background: var(--bd-card);
}
.board .exOut th, .board .exOut td,
.board .exForm th, .board .exForm td {
	border-color: var(--bd-line);
	background: transparent;
}
.board .exOut tr:last-child th, .board .exOut tr:last-child td { border-bottom: 0; }
.board .exForm tr:first-child th, .board .exForm tr:first-child td { border-top: 0; }
.board .exOut th, .board .exForm th { color: var(--bd-tx-2); font-weight: 600; }
.board .exOut td, .board .exForm td { color: var(--bd-tx); }
.board .exForm caption { color: var(--bd-tx-3); }
.board .exForm em { color: var(--bd-rec); }

/* 추천 · SNS */
.board .read_footer .sns { margin-top: 36px; }
.board .read_footer .sns a,
.board .read_footer .vote a {
	border: 1px solid var(--bd-line-2);
	border-radius: 50%;
	background: var(--bd-card);
}
.board .read_footer .sns a { width: 40px; height: 40px; }
.board .read_footer .sns i { font-size: 18px; line-height: 40px; color: var(--bd-tx-2); }
.board .read_footer .vote { margin-top: 24px; }
.board .read_footer .vote a {
	width: 76px;
	height: 76px;
	margin: 0 4px;
	box-sizing: border-box;
	padding-top: 12px;
	border-radius: 22px;
	font-size: 12px;
	font-weight: 600;
	color: var(--bd-tx-2);
}
.board .read_footer .vote i { line-height: 30px; color: var(--bd-tx-2); }
.board .read_footer .sns a:hover,
.board .read_footer .vote a:hover {
	border-color: var(--bd-acc);
	background: rgba(129, 140, 248, .16);
	color: #fff;
}
.board .read_footer .sns a:hover i,
.board .read_footer .vote a:hover i { color: #fff; }

/* 첨부 · 태그 */
.board .read_footer .toggleFile,
.board .feedback .toggleFile {
	padding: 8px 14px;
	border: 1px solid var(--bd-line-2);
	border-radius: 999px;
	background: var(--bd-card);
	font-size: 12px;
	font-weight: 600;
	color: var(--bd-tx-2);
}
.board .read_footer .toggleFile strong,
.board .feedback .toggleFile strong { color: var(--bd-acc-2); }
.board .read_footer .files li,
.board .feedback .files li {
	margin-bottom: 6px;
	padding: 0;
	background: none;
}
.board .read_footer .files a,
.board .feedback .files a { color: var(--bd-tx-2); }
.board .read_footer .files a:before,
.board .feedback .files a:before { margin-right: 6px; content: '📎'; }
.board .read_footer .files a:hover,
.board .feedback .files a:hover { color: #fff; }
.board .read_footer .files a .fileSize,
.board .feedback .files a .fileSize {
	margin-left: 8px;
	padding: 3px 8px;
	border: 1px solid var(--bd-line-2);
	border-radius: 8px;
	background: var(--bd-raised);
	font-family: var(--bd-f-mono);
	font-size: 10px;
	color: var(--bd-tx-2);
}
.board .read_footer .tags { padding-left: 0; color: var(--bd-tx-3); }
.board .read_footer .tags a.tag {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(56, 189, 248, .1);
	color: var(--bd-acc-2);
}
.board .read_footer .tags a.tag + span { display: none; }
.board .read_footer .action { color: var(--bd-tx-3); }
.board .read_footer .action:hover { color: #fff; }

.board .read_footer .sign {
	margin-top: 10px;
	border: 1px solid var(--bd-line);
	border-radius: 16px;
	background: var(--bd-card);
}
.board .read_footer .sign .pf { border-radius: 50%; }
.board .read_footer .sign .tx { border-left-color: var(--bd-line-2); color: var(--bd-tx-2); }
.board .read_footer .btnArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	padding: 12px 0;
	border-top: 1px solid var(--bd-line);
	margin-top: 8px;
}
.board .read_footer .btnArea .btn_more { color: var(--bd-tx-3); }
.board .read_footer .vote:not(:has(li)) { display: none; }
.board .read_footer .btnArea .etc { margin-left: 8px; }

/* =====================================================================
   댓글 (_comment.html · comment_form.html)
   ===================================================================== */
.board .feedback { color: var(--bd-tx); }
.board .feedback .fbHeader {
	height: auto;
	padding: 22px 2px 10px;
	border-top: 1px solid var(--bd-line);
	line-height: 1.4;
}
.board .feedback .fbHeader h2 {
	font-size: 17px;
	font-weight: 700;
	color: #fff;
}
.board .feedback .fbHeader h2 i { color: var(--bd-acc); }
.board .feedback .fbHeader h2 em {
	display: inline-block;
	margin-left: 4px;
	padding: 1px 9px;
	border-radius: 999px;
	background: rgba(56, 189, 248, .12);
	font-family: var(--bd-f-mono);
	font-size: 12px;
	color: var(--bd-acc-2);
	vertical-align: 2px;
}
.board .feedback .fbList { display: flex; flex-direction: column; gap: 10px; }
.board .feedback .fbItem,
.board .feedback .fbItem:last-child {
	margin: 0;
	padding: 18px 18px 14px;
	border: 1px solid var(--bd-line);
	border-radius: 16px;
	background: var(--bd-card);
}
.board .feedback .indent {
	position: relative;
	background-image: none;
	background-color: rgba(23, 23, 44, .6);
}
.board .feedback .indent:before {
	position: absolute;
	top: 22px;
	left: 0;
	margin-left: -14px;
	font-family: var(--bd-f-mono);
	color: var(--bd-tx-3);
	content: '↳';
}
.board .feedback .indent1 { margin-left: 22px; padding-left: 18px; }
.board .feedback .indent2 { margin-left: 44px; padding-left: 18px; }
.board .feedback .indent3 { margin-left: 66px; padding-left: 18px; }
.board .feedback .indent4,
.board .feedback .indent5,
.board .feedback .indent6,
.board .feedback .indent7,
.board .feedback .indent8,
.board .feedback .indent9,
.board .feedback .indent10,
.board .feedback .indent11,
.board .feedback .indent12 { margin-left: 88px; padding-left: 18px; }
.board .feedback .fbMeta { width: 180px; padding: 0; }
.board .feedback .fbMeta .profile {
	width: 36px;
	height: 36px;
	border: 2px solid transparent;
	background: var(--bd-grad) border-box;
	box-sizing: border-box;
	object-fit: cover;
}
.board .feedback .fbMeta span.profile {
	background: url(profile.gif) center / cover no-repeat, var(--bd-raised);
	border-color: var(--bd-line-2);
}
.board .feedback .author a,
.board .feedback .author strong {
	font-size: 13px;
	font-weight: 600;
	color: var(--bd-tx);
}
.board .feedback .time {
	margin-top: 2px;
	font-family: var(--bd-f-mono);
	font-size: 11px;
	color: var(--bd-tx-3);
}
.board .feedback .xe_content,
.board .feedback .rhymix_content {
	margin-left: 196px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--bd-tx);
}
.board .feedback .xe_content.is_deleted,
.board .feedback .xe_content.is_secret,
.board .feedback .xe_content.deleted { color: var(--bd-tx-3); font-style: italic; }
.board .feedback .fileList { margin-left: 196px; }
.board .feedback .action { padding-top: 10px; }
.board .feedback .action a,
.board .feedback .action .vote {
	margin-left: 4px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
	color: var(--bd-tx-3);
	transition: all .15s;
}
.board .feedback .action a:hover {
	background: var(--bd-raised);
	color: #fff;
}
.board .feedback .action a.this { text-decoration: none; }
.board #trackback .xe_content { color: var(--bd-tx-2); }

/* 댓글 쓰기 */
.board .write_comment {
	margin: 18px 0 60px;
	padding: 16px;
	border: 1px solid var(--bd-line);
	border-radius: 18px;
	background: var(--bd-card);
}
.board .write_comment textarea { width: 100%; }
.board .write_author { color: var(--bd-tx-2); }
.board .write_author label { color: var(--bd-tx-2); }
.board .write_comment .write_author { padding: 10px 0 0; }
.board .write_comment .iText.userName,
.board .write_comment .iText.userPw { width: 120px; }
.board .write_comment .iText.homePage { width: 180px; }

/* =====================================================================
   글쓰기 (write_form.html) — 트래커 주변만
   ===================================================================== */
.board .write_header { padding: 0 0 10px; gap: 8px; }
.board .write_header .iText { height: 46px; font-size: 16px; font-weight: 600; background: var(--bd-card); }
.board .write_header select { height: 46px; width: auto; min-width: 120px; }
.board .write_option { color: var(--bd-tx-2); }
.board .write_option label { color: var(--bd-tx-2); margin-left: 4px; }

/* =====================================================================
   확인 · 삭제 · 비밀글 · 태그 화면
   ===================================================================== */
.board .context_data {
	padding: 18px 20px;
	border: 1px solid var(--bd-line);
	border-top: 3px solid var(--bd-acc);
	border-radius: 16px;
	background: var(--bd-card);
	color: var(--bd-tx-2);
}
.board .context_data h3.author,
.board .context_data h3.title { color: #fff; }
.board .context_data .xe_content { color: var(--bd-tx); }
.board .context_message {
	padding: 30px 20px;
	border: 1px solid var(--bd-line);
	border-top: 3px solid var(--bd-acc);
	border-radius: 18px;
	background: var(--bd-card);
}
.board .context_message h1 { font-size: 18px; color: #fff; }
.board .context_message .btnArea { display: flex; justify-content: center; gap: 8px; }
.board .secretForm label { color: var(--bd-tx-2); }
.board .secretForm p { display: flex; align-items: center; gap: 6px; }
.board .secretForm .btn { border-radius: 999px; }

.board .tagList {
	padding: 28px;
	border: 1px solid var(--bd-line);
	border-radius: 18px;
	background: var(--bd-card);
	line-height: 2.4;
	text-align: left;
}
.board .tagList a {
	display: inline-block;
	margin: 0 4px 6px 0;
	padding: 2px 14px;
	border-radius: 999px;
	line-height: 1.8;
	color: var(--bd-tx);
}
.board .tagList a.rank1 { background: var(--bd-grad); color: #111122; font-weight: 700; }
.board .tagList a.rank2 { background: rgba(129, 140, 248, .3); }
.board .tagList a.rank3 { background: rgba(129, 140, 248, .18); }
.board .tagList a.rank4 { background: var(--bd-raised); color: var(--bd-tx-2); }
.board .tagList a.rank5 { background: transparent; border: 1px solid var(--bd-line-2); color: var(--bd-tx-3); text-decoration: none; }
.board .tagList a:hover { filter: brightness(1.15); }

.board .update-log { border-bottom-color: var(--bd-line); }

.vote-list {
	background: #17172c;
	color: #ececf7;
	border-radius: 16px;
}
.votelog { background: var(--bs-acc, #818cf8); }

/* 접근성: 움직임 줄이기 */
@media (prefers-reduced-motion: reduce) {
	.board .btn_insert, .board .list_footer .btnArea .btn:first-child { transition: none; }
}

/* ---------- 🔎 목록 위 도구 줄 (검색 · 쓰기 · 설정 · 게시물 관리) ---------- */
.board .list_toolbar { margin: 6px 0 14px; }
.board .list_bottom { margin-top: 14px; }
.board .list_bottom .pagination { margin: 0; }
@media (max-width: 640px) {
	.board .list_toolbar .btnArea { order: 1; width: 100%; margin: 0; }
	.board .list_toolbar .btnArea .btn:first-child { flex: 1; justify-content: center; }
	.board .list_toolbar .board_search { order: 2; width: 100%; }
	.board .list_toolbar .board_search .search_input { flex: 1; }
	.board .list_toolbar .board_search .iText, .board .list_toolbar .board_search .iText:focus { width: 100%; }
}
