@charset "utf-8";
/* 아티보드 테마: 머리글 / GNB / 메인 / 푸터. 값은 시안 사이트(skin/main/default: layout.css · main.css)와 같게 맞춘다. */
:root {
	--mn-green:#2db24a; --mn-green-d:#239a3d; --mn-green-l:#e9f7ec;
	--mn-text:#1f2328; --mn-sub:#6b7280; --mn-mute:#9ca3af;
	--mn-line:#e5e7eb; --mn-bg:#ffffff; --mn-soft:#f6f7f8;
	--mn-radius:10px;
	--mn-font:'Pretendard', 'Malgun Gothic', '맑은 고딕', sans-serif;
	--kc-primary:#2db24a; --kc-primary-dark:#239a3d; --bs-primary:#2db24a; --bs-primary-rgb:45, 178, 74; --bs-link-hover-color:#239a3d;
}

/* 기본 (부트스트랩 · front.css 의 body 값을 덮는다) */
html body.kc-front.ab-front { background:var(--mn-bg); color:var(--mn-text); font-family:var(--mn-font); font-size:14px; line-height:1.5; word-break:keep-all; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.ab-front a, .ab-front input, .ab-front select, .ab-front textarea, .ab-front button { font-family:inherit; }

/* 시안의 초기화(default.css)를 머리글 · 메인 · 푸터 안에만 적용한다 */
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(div, span, h1, h2, h3, h4, h5, h6, p, a, em, img, strong, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, button, select, textarea, time, address, picture) { margin:0; padding:0; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(fieldset, img) { border:0; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(dl, ul, ol, li) { list-style:none; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(header, footer, nav, section, aside) { display:block; margin:0; padding:0; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(a, input, select, textarea, button, img) { vertical-align:middle; font-family:inherit; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) input { margin:0; padding:0; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(address, em) { font-style:normal; font-weight:normal; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(input, button) { border-radius:0; outline:none; cursor:pointer; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(button, input[type="button"], input[type="submit"]) { -webkit-appearance:none; appearance:none; outline:none; cursor:pointer; border:none; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(h1, h2, h3, h4, h5, h6) { font-size:inherit; line-height:inherit; color:inherit; }
/* 부트스트랩은 입력칸·단추의 글자 크기·줄 높이를 물려받게 하지만 시안은 브라우저 기본값(13.33px · normal)이다 */
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(button, input) { font-size:13.3333px; line-height:normal; }
:where(.mn_header, .mn_body, .mn_aside, .mn_footer) :is(b, strong) { font-weight:bolder; }
.mn_header, .mn_body, .mn_aside, .mn_footer { font-size:14px; line-height:1.5; }

/* ---- 레이아웃 공통 (layout.css) ---- */
.mn_inner { max-width:1200px; margin:0 auto; padding:0 20px; box-sizing:border-box; }
.mn_inner *, .mn_inner ::before, .mn_inner ::after { box-sizing:border-box; }
.mn_sr { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0; }
.mn_skip { position:absolute; left:-9999px; top:0; z-index:100; padding:10px 16px; background:var(--mn-green); color:#fff !important; }
.mn_skip:focus { left:10px; }
#mn_content { padding-top:20px; }
.mn_header a, .mn_footer a { color:inherit; text-decoration:none; }
.mn_header a:focus-visible, .mn_header button:focus-visible, .mn_footer a:focus-visible { outline:2px solid var(--mn-green); outline-offset:2px; }

.mn_top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:22px; padding-bottom:14px; }
.mn_logo { margin:0; font-size:32px; font-weight:800; letter-spacing:-1px; line-height:1; }
.mn_logo a { color:var(--mn-text); }
.mn_logo img { max-height:40px; width:auto; }
.mn_util { display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12px; color:var(--mn-sub); }
.mn_util a:hover { color:var(--mn-green); }
.mn_util strong { color:var(--mn-text); }
.mn_util em { display:inline-block; min-width:15px; margin-left:2px; padding:0 4px; border-radius:8px; background:#ef4444; color:#fff; font-size:10px; font-weight:700; line-height:15px; text-align:center; }

.mn_gnb_wrap { position:relative; z-index:20; }
.mn_gnb { display:flex; align-items:center; background:var(--mn-green); border-radius:8px; padding:0 8px 0 16px; min-height:46px; }
.mn_gnb_list { flex:1; display:flex; flex-wrap:wrap; gap:0 2px; min-width:0; }
.mn_gnb_list a { display:block; padding:13px 12px; font-size:14px; font-weight:600; border-radius:6px; line-height:20px; color:#fff !important; }
.mn_gnb_list a:hover, .mn_gnb_list a.on { background:rgba(0, 0, 0, .12); }
.mn_gnb_list > li { position:relative; }
.mn_gnb_list .has_sub > a i { margin-left:3px; font-size:12px; opacity:.85; vertical-align:-1px; }
.mn_gnb_sub { display:none; position:absolute; left:0; top:100%; z-index:30; min-width:140px; padding:6px; margin-top:4px; background:#fff; border:1px solid var(--mn-line); border-radius:8px; box-shadow:0 10px 24px rgba(0, 0, 0, .1); }
.mn_gnb_sub::before { content:""; position:absolute; left:0; right:0; top:-6px; height:6px; }
.mn_gnb_list .has_sub:hover > .mn_gnb_sub, .mn_gnb_list .has_sub:focus-within > .mn_gnb_sub { display:block; }
.mn_gnb_list .mn_gnb_sub a { padding:8px 12px; font-size:13px; font-weight:500; white-space:nowrap; border-radius:5px; color:var(--mn-text) !important; }
.mn_gnb_list .mn_gnb_sub a:hover, .mn_gnb_list .mn_gnb_sub a:focus-visible { background:var(--mn-green-l); color:var(--mn-green-d) !important; }
.mn_gnb_list .mn_gnb_sub .kc-menu-d3 a { padding-left:22px; font-size:12px; color:var(--mn-sub) !important; }
.mn_gnb_btns { display:flex; gap:2px; flex:0 0 auto; }
.mn_icon_btn { width:40px; height:40px; background:transparent; color:#fff; font-size:20px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; }
.mn_icon_btn:hover, .mn_icon_btn[aria-expanded="true"] { background:rgba(0, 0, 0, .14); }

.mn_layer { position:absolute; left:20px; right:20px; top:calc(100% + 6px); background:#fff; border:1px solid var(--mn-line); border-radius:var(--mn-radius); box-shadow:0 12px 30px rgba(0, 0, 0, .08); padding:16px; }
.mn_layer[hidden] { display:none; }
.mn_search_layer form { display:flex; gap:8px; max-width:560px; margin:0 auto; }
.mn_search_layer input { flex:1; min-width:0; height:44px; border:2px solid var(--mn-green); border-radius:8px; padding:0 14px; font-size:15px; }
.mn_search_layer button { height:44px; padding:0 20px; background:var(--mn-green); color:#fff; border-radius:8px; font-weight:700; }
.mn_all_menu ul { display:grid; grid-template-columns:repeat(6, 1fr); gap:6px; }
.mn_all_menu a { display:block; padding:10px 12px; border-radius:6px; background:var(--mn-soft); font-weight:600; }
.mn_all_menu a:hover { background:var(--mn-green-l); color:var(--mn-green-d); }
.mn_all_menu .mn_all_sub { display:block; margin-top:4px; padding-left:6px; }
.mn_all_menu .mn_all_sub a { padding:4px 8px; background:transparent; font-size:12.5px; font-weight:500; color:var(--mn-sub); }
.mn_all_menu .mn_all_sub a::before { content:"- "; }
.mn_all_user { display:flex; flex-wrap:wrap; gap:6px 14px; margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid var(--mn-line); font-size:13px; color:var(--mn-sub); }
.mn_all_user a:hover { color:var(--mn-green); }

.mn_footer { margin-top:48px; border-top:1px solid var(--mn-line); color:var(--mn-sub); font-size:13px; }
.mn_sitemap ul { display:grid; grid-template-columns:repeat(6, 1fr); gap:14px 20px; padding:28px 0; }
.mn_sitemap a { font-weight:700; color:var(--mn-text); }
.mn_sitemap a:hover { color:var(--mn-green); }
.mn_foot_bottom { background:var(--mn-soft); padding:22px 0 28px; }
.mn_foot_links { display:flex; flex-wrap:wrap; gap:6px 18px; margin-bottom:14px; color:var(--mn-text); }
.mn_foot_links a:hover { text-decoration:underline; }
.mn_foot_info { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.mn_foot_info address { font-style:normal; display:flex; flex-direction:column; gap:2px; font-size:12px; line-height:1.7; }
.mn_sns { display:flex; gap:8px; flex:0 0 auto; }
.mn_sns a { width:34px; height:34px; border:1px solid var(--mn-line); background:#fff; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:16px; color:var(--mn-sub); }
.mn_sns a:hover { color:var(--mn-green); border-color:var(--mn-green); }
.mn_copy { margin-top:14px; font-size:11px; color:var(--mn-mute); letter-spacing:.3px; }

/* ---- 메인 (main.css) ---- */
/* 시안은 layout.css 를 main.css 뒤에 한 번 더 읽어 .mn_inner 의 margin(0 auto)이 이긴다: 위 여백은 #mn_content 의 20px 뿐 */
.mn_body { display:grid; grid-template-columns:minmax(0, 1fr) 300px; gap:24px; margin:0 auto; align-items:start; }
.mn_main, .mn_side, .mn_aside { display:flex; flex-direction:column; gap:24px; min-width:0; }
:is(.mn_body, .mn_aside) a { color:inherit; text-decoration:none; }
.mn_body a:hover .mn_thumb_title, :is(.mn_body, .mn_aside) .mn_list a:hover { color:var(--mn-green-d); text-decoration:underline; }
:is(.mn_body, .mn_aside) :is(a, button, input):focus-visible { outline:2px solid var(--mn-green); outline-offset:2px; }
.mn_row2 { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; }
.mn_card { border:1px solid var(--mn-line); border-radius:var(--mn-radius); background:#fff; padding:18px 20px 20px; min-width:0; }
.mn_card_head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.mn_card_title { margin:0; font-size:17px; font-weight:800; letter-spacing:-.3px; }
.mn_more { font-size:12px; white-space:nowrap; color:var(--mn-mute) !important; }
.mn_more:hover { color:var(--mn-green) !important; }
.mn_empty { padding:28px 0; text-align:center; color:var(--mn-mute); font-size:13px; background:var(--mn-soft); border-radius:8px; }

.mn_tab_list { display:flex; gap:4px; border-bottom:1px solid var(--mn-line); margin-bottom:10px; overflow-x:auto; scrollbar-width:none; }
.mn_tab_list::-webkit-scrollbar { display:none; }
.mn_tab_list button { flex:1 0 auto; min-width:64px; padding:9px 10px; background:transparent; color:var(--mn-sub); font-size:13px; font-weight:600; border-bottom:2px solid transparent; margin-bottom:-1px; }
.mn_tab_list button[aria-selected="true"] { color:var(--mn-green-d); border-bottom-color:var(--mn-green); }
.mn_tab_list button:hover { color:var(--mn-text); }
.mn_tab_panel[hidden] { display:none; }

.mn_list li { display:flex; align-items:center; gap:8px; padding:6px 0; font-size:13.5px; min-width:0; }
.mn_list li > a { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mn_list time { flex:0 0 auto; font-size:12px; color:var(--mn-mute); font-variant-numeric:tabular-nums; }
.mn_list_bullet li > a::before { content:""; display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--mn-green); vertical-align:middle; margin:-2px 8px 0 0; }
.mn_sv_period { margin:2px 0 0; font-size:12px; color:var(--mn-mute); font-variant-numeric:tabular-nums; }
.mn_sv_title { display:flex; align-items:center; gap:8px; margin:0; font-size:14px; font-weight:600; min-width:0; }
.mn_sv_title a { flex:1; min-width:0; }
.mn_sv_form { margin-top:12px; }
.mn_sv_form fieldset { margin:0 0 10px; padding:0; border:0; min-width:0; }
.mn_sv_form legend { float:left; width:100%; margin:0 0 6px; padding:0; font-size:13px; font-weight:600; }
.mn_sv_form legend + * { clear:left; }
.mn_sv_opt { display:flex; align-items:center; gap:8px; margin:0 0 6px; padding:8px 12px; border:1px solid var(--mn-line); border-radius:8px; font-size:13.5px; cursor:pointer; }
.mn_sv_opt:hover, .mn_sv_opt:has(input:checked) { border-color:var(--mn-green); }
.mn_sv_opt:has(input:checked) { background:var(--mn-green-l); }
.mn_sv_opt input { flex:none; margin:0; accent-color:var(--mn-green); }
.mn_sv_form select { width:100%; height:38px; padding:0 10px; border:1px solid var(--mn-line); border-radius:8px; font:inherit; font-size:13.5px; }
.mn_sv_btns { display:flex; align-items:center; gap:12px; margin-top:12px; font-size:12.5px; color:var(--mn-sub); }
.mn_sv_btns .mn_btn_login { display:inline-flex; align-items:center; justify-content:center; height:36px; padding:0 18px; width:auto; }
.mn_sv_done { font-size:13px; color:var(--mn-green-d); font-weight:600; }
.mn_list_none { color:var(--mn-mute); font-size:12px; }
.mn_rank { flex:0 0 auto; width:20px; height:20px; border-radius:5px; background:#eef0f2; color:var(--mn-sub); font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums; }
.mn_rank_top { background:var(--mn-green); color:#fff; }
.mn_cmt { font-style:normal; color:var(--mn-green-d); font-size:12px; font-weight:700; }
.mn_new { display:inline-block; margin-left:4px; color:#e5484d; font-size:11px; line-height:1; vertical-align:1px; } /* 새 글: 게시판 목록과 같은 fa-certificate 아이콘 */
.mn_tag { flex:0 0 auto; padding:1px 6px; border-radius:4px; background:var(--mn-green-l); color:var(--mn-green-d); font-size:11px; font-weight:700; }

.mn_thumb_grid { display:grid; gap:16px 14px; }
.mn_cols4 { grid-template-columns:repeat(4, minmax(0, 1fr)); }
.mn_cols2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.mn_thumb { display:block; position:relative; aspect-ratio:4 / 3; border-radius:8px; overflow:hidden; background:var(--mn-soft); }
.mn_thumb img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.mn_body a:hover .mn_thumb img { transform:scale(1.04); }
.mn_thumb_none { display:flex; align-items:center; justify-content:center; color:#c8ccd1; font-size:30px; }
.mn_thumb_title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:8px; font-size:13.5px; font-weight:600; line-height:1.45; }
.mn_thumb_meta { display:flex; justify-content:space-between; gap:6px; margin-top:4px; font-size:11.5px; color:var(--mn-mute); }
.mn_feature .mn_big { grid-column:1 / -1; }
.mn_feature .mn_big .mn_thumb { aspect-ratio:16 / 9; }
.mn_feature .mn_big .mn_thumb_title { font-size:15px; }
.mn_tab_thumb { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:20px; align-items:start; }

.mn_hero { position:relative; border-radius:var(--mn-radius); overflow:hidden; background:#fdf3d7; }
.mn_hero_track { position:relative; height:325px; }
.mn_hero_slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .5s, visibility .5s; }
.mn_hero_slide.is_on { opacity:1; visibility:visible; }
.mn_hero_slide img, .mn_hero_slide picture { display:block; width:100%; height:100%; object-fit:cover; }
.mn_hero_link { display:block; height:100%; }
.mn_hero_ctrl { position:absolute; right:16px; bottom:16px; display:flex; background:rgba(17, 24, 39, .75); border-radius:6px; overflow:hidden; }
.mn_hero_ctrl button { width:34px; height:30px; background:transparent; color:#fff; font-size:16px; }
.mn_hero_ctrl button:hover { background:rgba(255, 255, 255, .15); }
.mn_hero_default { box-sizing:border-box; height:325px; padding:53px 40px; background:linear-gradient(120deg, #fdf3d7, #e9f7ec); }
.mn_hero_badge { display:inline-block; padding:4px 12px; border:1px solid var(--mn-green); border-radius:999px; color:var(--mn-green-d); font-size:13px; font-weight:700; }
.mn_hero_title { margin-top:14px; font-size:40px; font-weight:800; letter-spacing:-1px; color:var(--mn-green-d); }
.mn_hero_desc { margin-top:10px; color:var(--mn-sub); }

.mn_login { padding:16px; }
.mn_login_row { display:flex; gap:8px; }
.mn_login_inputs { flex:1; display:flex; flex-direction:column; gap:6px; min-width:0; }
.mn_login input[type="text"], .mn_login input[type="password"] { width:100%; height:36px; border:1px solid var(--mn-line); border-radius:6px; padding:0 10px; font-size:13px; background:#fff; cursor:text; }
.mn_login input:focus { border-color:var(--mn-green); outline:none; }
.mn_btn_login { width:78px; flex:0 0 auto; background:var(--mn-green); color:#fff; border-radius:6px; font-weight:700; font-size:14px; }
.mn_btn_login:hover { background:var(--mn-green-d); }
.mn_btn_login:disabled { opacity:.6; cursor:wait; }
.mn_login_msg { min-height:0; color:#dc2626; font-size:12px; margin-top:6px; }
.mn_login_msg:empty { display:none; }
.mn_login_foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; margin-top:10px; font-size:11.5px; color:var(--mn-sub); }
.mn_login_foot input { vertical-align:-2px; margin-right:2px; accent-color:var(--mn-green); }
.mn_login_foot a:hover { color:var(--mn-green); }
.mn_hello { font-size:14px; }
.mn_mypoint { margin-top:6px; padding:10px 12px; background:var(--mn-green-l); border-radius:6px; font-size:13px; color:var(--mn-green-d); }
.mn_mypoint b { font-size:18px; font-variant-numeric:tabular-nums; }
.mn_login_links { display:grid; grid-template-columns:repeat(4, 1fr); gap:4px; margin-top:10px; }
.mn_login_links a { display:block; padding:7px 0; text-align:center; background:var(--mn-soft); border-radius:6px; font-size:12px; }
.mn_login_links a:hover { background:var(--mn-green-l); color:var(--mn-green-d); }

.mn_side_banner a, .mn_side_banner div, .mn_side_banner picture, .mn_side_banner img { display:block; width:100%; border-radius:var(--mn-radius); }
.mn_side_banner img { height:auto; }
.mn_side_banner .kc-banner + .kc-banner { margin-top:24px; }
.mn_rank_list li { display:flex; align-items:center; gap:8px; padding:5px 0; font-size:13px; }
.mn_rank_name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mn_rank_list b, .mn_rank_cnt { flex:0 0 auto; font-size:12px; color:var(--mn-sub); font-variant-numeric:tabular-nums; }
.mn_rank_list b { color:var(--mn-green-d); }
.mn_list_notice li > a { font-weight:500; }

.mn_market { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px 24px; }
.mn_market a { display:flex; gap:14px; align-items:flex-start; }
.mn_market .mn_thumb { flex:0 0 auto; width:110px; aspect-ratio:1 / 1; }
.mn_market_body { flex:1; min-width:0; }
.mn_market .mn_thumb_title { margin-top:2px; }
.mn_price { display:block; margin-top:4px; font-size:15px; font-weight:800; color:var(--mn-text); font-variant-numeric:tabular-nums; }
.mn_summary { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:4px; font-size:12px; color:var(--mn-mute); line-height:1.5; }

/* ---- 하위 화면 (게시판 등): 머리글 아래 본문 ---- */
.ab-sub { padding-bottom:0; }
.ab-sub .cm-grid { grid-template-columns:minmax(0, 1fr) 300px; gap:24px; }
@media (max-width: 1024px) { .ab-sub .cm-grid { grid-template-columns:minmax(0, 1fr) 260px; gap:20px; } }
@media (max-width: 991.98px) { .ab-sub .cm-grid { grid-template-columns:minmax(0, 1fr); } }
.ab-sub .alert { margin-bottom:16px; }

@media (prefers-reduced-motion: reduce) {
	.mn_hero_slide, .mn_thumb img { transition:none; }
}
@media (max-width: 1024px) {
	.mn_all_menu ul, .mn_sitemap ul { grid-template-columns:repeat(4, 1fr); }
	.mn_body { grid-template-columns:minmax(0, 1fr) 260px; gap:20px; }
	.mn_main, .mn_side { gap:20px; }
	.mn_row2 { gap:20px; }
	.mn_cols4 { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	.mn_body { display:flex; flex-direction:column; align-items:stretch; gap:20px; }
	.mn_main, .mn_side { display:contents; }
	.mn_hero { order:1; }
	.mn_login { order:2; }
	.mn_main > :not(.mn_hero) { order:3; }
	.mn_side > :not(.mn_login) { order:4; }
	.mn_row2 { grid-template-columns:minmax(0, 1fr); }
	.mn_cols4 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.mn_inner { padding:0 16px; }
	.mn_top { padding-top:16px; padding-bottom:10px; align-items:center; }
	.mn_logo { font-size:26px; }
	.mn_gnb { padding:0 4px 0 6px; }
	.mn_gnb_list { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
	.mn_gnb_list::-webkit-scrollbar { display:none; }
	.mn_gnb_list a { padding:13px 10px; white-space:nowrap; }
	.mn_gnb_list .has_sub:hover > .mn_gnb_sub, .mn_gnb_list .has_sub:focus-within > .mn_gnb_sub, .mn_gnb_list .has_sub > a i { display:none; }
	.mn_layer { left:16px; right:16px; }
	.mn_all_menu ul, .mn_sitemap ul { grid-template-columns:repeat(3, 1fr); }
	.mn_foot_info { flex-direction:column; }
}
@media (max-width: 640px) {
	.mn_card { padding:16px; }
	.mn_tab_thumb { grid-template-columns:minmax(0, 1fr); }
	.mn_market { grid-template-columns:minmax(0, 1fr); }
	.mn_market .mn_thumb { width:92px; }
	.mn_hero_track { height:auto; aspect-ratio:1200 / 440; }
	.mn_hero_default { height:auto; padding:37px 22px; }
	.mn_hero_title { font-size:28px; }
}
@media (max-width: 420px) {
	.mn_all_menu ul, .mn_sitemap ul { grid-template-columns:repeat(2, 1fr); }
	.mn_util { gap:4px 10px; }
}

/* ---- 하위 화면 공통 (쪽지 · 마이페이지 artiboard 스킨): 제목 띠 · 카드 · 알약 탭 · 표 · 단추 · 쪽 번호 · 입력 ---- */
.ab_page { --g: var(--mn-green, #2db24a); --gd: var(--mn-green-d, #239a3d); --gl: var(--mn-green-l, #e9f7ec); --tx: var(--mn-text, #1f2328); --sub: var(--mn-sub, #6b7280); --mute: var(--mn-mute, #9ca3af); --line: var(--mn-line, #e5e7eb); --soft: var(--mn-soft, #f6f7f8);
    color: var(--tx); font-size: 14px; line-height: 1.5; word-break: keep-all; }
.ab_page a { color: inherit; text-decoration: none; }
.ab_page *, .ab_page ::before, .ab_page ::after { box-sizing: border-box; }
.ab_ph { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 74px; padding: 20px 26px; margin-bottom: 20px; border-radius: 10px; background: linear-gradient(90deg, #e9f7ec, #fdf6e7); }
.ab_ph h1 { margin: 0; font-size: 24px; font-weight: 800; letter-spacing: -.5px; line-height: 1.2; }
.ab_crumb { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 12px; color: var(--sub); }
.ab_crumb li + li::before { content: "›"; margin-right: 6px; color: var(--mute); }
.ab_crumb a:hover { color: var(--gd); }
.ab_box { padding: 24px 26px 28px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.ab_bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.ab_tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.ab_tabs a { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 13px; font-weight: 600; color: var(--sub); }
.ab_tabs a:hover { border-color: var(--g); color: var(--gd); }
.ab_tabs a[aria-current="page"] { border-color: var(--g); background: var(--g); color: #fff; }
.ab_tabs em { margin-left: 4px; font-style: normal; font-size: 12px; opacity: .85; }
.ab_btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; padding: 0 20px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--tx); font-size: 13.5px; font-weight: 700; line-height: 1; cursor: pointer; white-space: nowrap; }
.ab_btn:hover { border-color: #c9ced4; }
.ab_btn_green { border-color: var(--g); background: var(--g); color: #fff !important; }
.ab_btn_green:hover { border-color: var(--gd); background: var(--gd); }
.ab_btn_red { border-color: #f1a7a7; color: #e5484d !important; }
.ab_btn_red:hover { border-color: #e5484d; background: #fff5f5; }
.ab_btn_sm { height: 32px; padding: 0 14px; font-size: 12.5px; }
.ab_table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--tx); table-layout: fixed; }
.ab_table th { height: 44px; padding: 0 8px; background: #f9fafb; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--sub); text-align: center; }
.ab_table td { height: 48px; padding: 0 8px; border-bottom: 1px solid #eef0f2; font-size: 14px; text-align: center; }
.ab_table .t_chk { width: 44px; }
.ab_table .t_who { width: 140px; }
.ab_table .t_date { width: 130px; color: var(--sub); font-size: 13px; font-variant-numeric: tabular-nums; }
.ab_table .t_read { width: 96px; color: var(--mute); font-size: 12.5px; }
.ab_table td.t_title { text-align: left; }
.ab_table td.t_title a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ab_table td.t_title a:hover { color: var(--gd); text-decoration: underline; }
.ab_table td.t_who { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.ab_table tr.is_new td.t_title a { font-weight: 700; }
.ab_table tr.is_new .t_read { color: var(--gd); font-weight: 700; }
.ab_table tbody tr:hover td { background: #fbfcfb; }
.ab_table input[type="checkbox"] { width: 15px; height: 15px; margin: 0; vertical-align: middle; accent-color: var(--g); cursor: pointer; }
.ab_dot { display: inline-block; width: 6px; height: 6px; margin: -2px 6px 0 0; border-radius: 50%; background: var(--g); vertical-align: middle; }
.ab_foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 24px; }
.ab_empty { padding: 56px 0; border-top: 2px solid var(--tx); border-bottom: 1px solid var(--line); text-align: center; color: var(--mute); font-size: 14px; }
.ab_empty i { display: block; margin-bottom: 10px; font-size: 32px; color: #d1d5db; }
/* 쪽 번호 (Front::pager 모양을 초록 네모로) */
.ab_page .kc-pager { display: flex; justify-content: center; margin-top: 28px; }
.ab_page .kc-pager .board-nav, .ab_page .kc-pager .board-nav-area { display: flex; align-items: center; gap: 4px; }
.ab_page .kc-pager a { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font-size: 13px; font-weight: 600; color: var(--sub); }
.ab_page .kc-pager a:hover { border-color: var(--g); color: var(--gd); }
.ab_page .kc-pager a.active { border-color: var(--g); background: var(--g); color: #fff; }
.ab_page .kc-pager .board-nav-prev:not(.ten)::before { content: "‹"; font-size: 16px; }
.ab_page .kc-pager .board-nav-next:not(.ten)::after { content: "›"; font-size: 16px; }
.ab_page .kc-pager .board-nav-first::before, .ab_page .kc-pager .board-nav-prev.ten::before, .ab_page .kc-pager .board-nav-next.ten::after { content: none; }
/* 읽기 */
.ab_view_head { padding: 4px 0 18px; border-bottom: 1px solid var(--line); }
.ab_view_head h2 { margin: 0 0 10px; font-size: 20px; font-weight: 800; letter-spacing: -.3px; line-height: 1.4; }
.ab_meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--sub); }
.ab_meta b { margin-right: 4px; font-weight: 600; color: var(--mute); }
.ab_body { min-height: 180px; padding: 28px 2px; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.ab_body img { max-width: 100%; height: auto; }
.ab_actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 20px; }
.ab_actions form { margin: 0; }
.ab_actions > div { display: flex; gap: 8px; }
/* 쓰기 */
.ab_form { border-top: 2px solid var(--tx); }
.ab_row { display: grid; grid-template-columns: 130px minmax(0, 1fr); align-items: center; border-bottom: 1px solid #eef0f2; }
.ab_row > label { align-self: stretch; display: flex; align-items: center; padding: 14px 18px; background: #f9fafb; font-size: 13.5px; font-weight: 600; color: var(--sub); }
.ab_row > div { padding: 12px 16px; min-width: 0; }
.ab_row input[type="text"], .ab_row textarea { width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font-size: 14px; font-family: inherit; color: var(--tx); }
.ab_row textarea { height: auto; min-height: 220px; padding: 10px 12px; line-height: 1.6; resize: vertical; }
.ab_row input:focus, .ab_row textarea:focus { outline: none; border-color: var(--g); box-shadow: 0 0 0 3px rgba(45, 178, 74, .12); }
.ab_row .w_id { max-width: 260px; }
.ab_msg { margin-bottom: 16px; padding: 12px 16px; border-radius: 8px; font-size: 13.5px; }
.ab_msg.is_bad { background: #fff1f1; color: #c53030; }
.ab_msg.is_info { background: var(--gl); color: var(--gd); }
.ab_form_btns { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.ab_form_btns .ab_btn { min-width: 110px; height: 42px; }
@media (max-width: 768px) {
    .ab_ph { min-height: 0; padding: 16px 18px; }
    .ab_ph h1 { font-size: 20px; }
    .ab_box { padding: 16px; }
    .ab_table .t_date, .ab_table .t_read { display: none; }
    .ab_table .t_who { width: 96px; }
    .ab_row { grid-template-columns: 1fr; }
    .ab_row > label { padding: 10px 12px 0; background: none; }
    .ab_row > div { padding: 8px 12px 12px; }
}
/* 탭이 많을 때(마이페이지) 조금 작게 */
.ab_tabs_sm a { height:32px; padding:0 13px; font-size:12.5px; }
.ab_table .t_num { width:80px; color:var(--sub); font-size:13px; font-variant-numeric:tabular-nums; }
.ab_table .t_board { width:120px; color:var(--sub); font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ab_table .t_wide { width:240px; color:var(--sub); font-size:13px; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ab_table .t_cmt { width:40%; }
.ab_table td.t_src { color:var(--sub); font-size:13px; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ab_table .t_plus { color:var(--gd); font-weight:700; }
.ab_table .t_minus { color:#e5484d; font-weight:700; }
.ab_cmt { margin-left:4px; font-style:normal; font-size:12px; font-weight:700; color:var(--gd); }
.ab_total { margin:0 0 10px; font-size:13px; color:var(--sub); }
.ab_total b { color:var(--tx); }
/* 마이페이지 요약 */
.ab_profile { display:flex; align-items:center; gap:16px; padding:6px 0 22px; }
.ab_avatar { flex:0 0 auto; width:64px; height:64px; border-radius:50%; object-fit:cover; background:var(--gl); color:var(--gd); display:inline-flex; align-items:center; justify-content:center; font-size:26px; font-weight:800; }
.ab_profile_name { margin:0; font-size:19px; font-weight:800; letter-spacing:-.3px; }
.ab_profile_name small { margin-left:4px; font-size:13px; font-weight:500; color:var(--mute); }
.ab_profile_meta { display:flex; flex-wrap:wrap; gap:2px 14px; margin:4px 0 0; padding:0; list-style:none; font-size:12.5px; color:var(--sub); }
.ab_profile_meta b { margin-right:4px; font-weight:600; color:var(--mute); }
.ab_lv { display:inline-block; margin-left:6px; padding:1px 8px; border-radius:999px; background:var(--gl); color:var(--gd); font-size:11px; font-weight:800; vertical-align:3px; }
.ab_stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:10px; margin-bottom:28px; }
.ab_stat { display:block; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.ab_stat:hover { border-color:var(--g); }
.ab_stat span { display:block; font-size:12.5px; color:var(--sub); }
.ab_stat b { display:block; margin-top:4px; font-size:22px; font-weight:800; letter-spacing:-.5px; font-variant-numeric:tabular-nums; }
.ab_stat.is_main { border-color:var(--gl); background:var(--gl); }
.ab_stat.is_main span, .ab_stat.is_main b { color:var(--gd); }
.ab_sec_head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.ab_sec_title { margin:0; font-size:17px; font-weight:800; letter-spacing:-.3px; }
.ab_more { font-size:12px; color:var(--mute) !important; }
.ab_more:hover { color:var(--g) !important; }
.ab_lines { margin:0; padding:0; list-style:none; border-top:2px solid var(--tx); }
.ab_lines li { display:flex; align-items:center; gap:10px; min-height:46px; padding:6px 4px; border-bottom:1px solid #eef0f2; font-size:14px; }
.ab_lines li > a { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ab_lines li > a:hover { color:var(--gd); text-decoration:underline; }
.ab_lines time { flex:0 0 auto; font-size:12.5px; color:var(--mute); font-variant-numeric:tabular-nums; }
.ab_tag { flex:0 0 auto; padding:1px 7px; border-radius:4px; background:var(--gl); color:var(--gd); font-size:11.5px; font-weight:700; }
/* 좁은 입력 상자 (비밀번호 확인 · 이메일 변경 · 탈퇴) */
.ab_narrow { max-width:440px; margin:12px auto 8px; }
.ab_narrow > p { margin:0 0 16px; font-size:14px; color:var(--sub); }
.ab_narrow h2 { margin:0 0 12px; font-size:18px; font-weight:800; }
.ab_field { margin-bottom:14px; }
.ab_field label { display:block; margin-bottom:6px; font-size:13.5px; font-weight:600; }
.ab_field input[type="password"], .ab_field input[type="email"], .ab_field input[type="text"] { width:100%; height:44px; padding:0 14px; border:1px solid var(--line); border-radius:8px; font-size:14px; }
.ab_field input:focus { outline:none; border-color:var(--g); box-shadow:0 0 0 3px rgba(45, 178, 74, .12); }
.ab_check { display:flex; align-items:center; gap:8px; margin:4px 0 16px; font-size:13.5px; }
.ab_check input { width:16px; height:16px; margin:0; accent-color:var(--g); }
.ab_btn_block { width:100%; height:46px; font-size:15px; }
.ab_btn_danger { border-color:#e5484d; background:#e5484d; color:#fff !important; }
.ab_btn_danger:hover { border-color:#c53030; background:#c53030; }
.ab_warn { margin-bottom:18px; padding:16px 18px; border-radius:10px; background:#fff7ed; color:#9a3412; font-size:13.5px; }
.ab_warn ul { margin:8px 0 0; padding-left:18px; }
.ab_warn li { margin-top:2px; }
.ab_msg.is_ok { background:var(--gl); color:var(--gd); }
/* 회원정보 수정: 공용 회원 입력칸(kc-form-row · 부트스트랩)을 표 모양으로 */
.ab_page .ab_member_form { border-top:2px solid var(--tx); }
.ab_page .ab_member_form .kc-form-row { grid-template-columns:150px minmax(0, 1fr); gap:0; padding:0; border-bottom:1px solid #eef0f2; align-items:stretch; }
.ab_page .ab_member_form .kc-form-row > label, .ab_page .ab_member_form .kc-form-row > .kc-label { padding:16px 18px; background:#f9fafb; font-size:13.5px; font-weight:600; color:var(--sub); }
.ab_page .ab_member_form .kc-form-row > div { padding:10px 16px; min-width:0; }
.ab_page .ab_member_form .kc-form-row > div.pt-2, .ab_page .ab_member_form .kc-form-row > div.pt-1 { padding-top:14px !important; }
.ab_page .form-control, .ab_page .form-select { min-height:40px; border-color:var(--line); border-radius:6px; font-size:14px; }
.ab_page .form-control-sm { min-height:32px; font-size:13px; }
.ab_page .form-control:focus, .ab_page .form-select:focus { border-color:var(--g); box-shadow:0 0 0 3px rgba(45, 178, 74, .12); }
.ab_page .form-check-input:checked { background-color:var(--g); border-color:var(--g); }
.ab_page .form-check-input:focus { border-color:var(--g); box-shadow:0 0 0 3px rgba(45, 178, 74, .12); }
.ab_page .form-text { font-size:12.5px; color:var(--mute); }
.ab_page .btn-primary { --bs-btn-bg:var(--g); --bs-btn-border-color:var(--g); --bs-btn-hover-bg:var(--gd); --bs-btn-hover-border-color:var(--gd); --bs-btn-active-bg:var(--gd); --bs-btn-active-border-color:var(--gd); }
.ab_page .btn-outline-primary { --bs-btn-color:var(--gd); --bs-btn-border-color:var(--g); --bs-btn-hover-bg:var(--g); --bs-btn-hover-border-color:var(--g); --bs-btn-active-bg:var(--gd); }
/* 팔로우 · 소셜 목록 */
.ab_people { margin:0; padding:0; list-style:none; border-top:2px solid var(--tx); }
.ab_people li { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:8px 6px; border-bottom:1px solid #eef0f2; font-size:14px; }
.ab_people li time, .ab_people .is_sub { font-size:12.5px; color:var(--mute); }
.ab_people form { margin:0; }
.ab_badge { margin-left:6px; padding:2px 8px; border-radius:999px; background:var(--gl); color:var(--gd); font-size:11.5px; font-weight:700; }
@media (max-width: 768px) {
    .ab_profile { align-items:flex-start; }
    .ab_avatar { width:52px; height:52px; font-size:20px; }
    .ab_table .t_board, .ab_table .t_num, .ab_table .t_wide, .ab_table .t_src { display:none; }
    .ab_table .t_cmt { width:auto; }
    .ab_page .ab_member_form .kc-form-row { grid-template-columns:1fr; }
    .ab_page .ab_member_form .kc-form-row > label, .ab_page .ab_member_form .kc-form-row > .kc-label { padding:12px 12px 0; background:none; }
    .ab_page .ab_member_form .kc-form-row > div { padding:8px 12px 12px; }
}

/* 게시판 목록 HOT 표시: 주황 불꽃 아이콘(fa-fire)만 */
.ab-front .kc-badge-hot { display:inline-block; padding:0; margin-left:4px; background:none; color:#ff6b1a; font-size:12px; line-height:1; vertical-align:1px; }
/* 게시판 목록 새 글 표시: 빨간 인증 배지 아이콘(fa-certificate)만 */
.ab-front .kc-badge-new { display:inline-block; padding:0; margin-left:4px; background:none; color:#e5484d; font-size:12px; line-height:1; vertical-align:1px; }
/* 마이페이지 좁은 입력 화면(비밀번호 확인 · 이메일 변경): 카드 최소 높이 · 입력 상자 위 여백 */
.ab_box.ab_box_form { min-height:600px; }
.ab_box_form .ab_narrow { margin-top:120px; }
/* 게시판 목록 글쓰기 · 전체목록 · 분류 단추(bd-filter): 높이 34px */
.sol-board .bd-filter { height:34px; padding-top:0; padding-bottom:0; box-sizing:border-box; }
/* 게시판 목록 쪽 번호: 높이 34px (글쓰기 단추와 같게, 이전/다음 화살표도 함께) */
.ab-front .sol-board .sb-pager .board-nav a { box-sizing:border-box; height:34px; min-height:34px; min-width:34px; }
/* 글 보기 단추(목록 · 답변 · 수정 · 삭제 · 스크랩 · 공유 · 인쇄 · 신고 · 댓글 등록 · 댓글 쓰기): 높이 34px. 추천/비추천(숫자 두 줄)은 그대로 */
.ab-front .sol-view .sv-btn, .ab-front .sol-view .btn-sm[data-bs-toggle="collapse"] { box-sizing:border-box; height:34px; min-height:34px; padding-top:0; padding-bottom:0; display:inline-flex; align-items:center; justify-content:center; }
/* 글 보기 추천/비추천(vote-btn): 원래(basic 스킨) 크기의 77% (70% 에서 10% 키움) */
.ab-front .sol-view .vote-btn { min-width:4.235rem; gap:.096rem; padding:.5775rem .9625rem; border-radius:8px; font-size:.75rem; line-height:1.2; } /* 추천 · 비추천 글씨 12px */
.ab-front .sol-view .vote-btn .n { font-size:.866rem; line-height:1.2; }
@media (max-width: 767.98px) { .ab-front .sol-view .vote-btn { min-width:3.465rem; padding:.481rem .77rem; } }
/* 게시판 목록 제목 띠(ab_ph): 제목 링크 · 관리자 설정 톱니 */
.ab_ph h1 a { color:inherit; text-decoration:none; }
.ab_ph .ab_ph_set { margin-left:6px; font-size:14px; color:var(--mute); vertical-align:3px; }
.ab_ph .ab_ph_set:hover { color:var(--gd); }

/* 부트스트랩 .btn 높이 38px (아티보드 테마 사용자 화면). 작은 단추(.btn-sm)는 그대로 둔다 */
.ab-front .btn:not(.btn-sm) { box-sizing:border-box; height:38px; min-height:38px; padding-top:0; padding-bottom:0; display:inline-flex; align-items:center; justify-content:center; font-size:14px; line-height:1.2; }
